Control optimization module

Config

class ConfigRewardFunction

class rostok.trajectory_optimizer.control_optimizer.ConfigRewardFunction(bound: tuple[float, float] = (-1, 1), iters: int = 10, sim_config: dict[str, str] = <factory>, time_step: float = 0.001, time_sim: float = 2, flags: list = <factory>, criterion_callback: ~typing.Callable[[dict[int, rostok.virtual_experiment.simulation_step.SimulationDataBlock], ~rostok.virtual_experiment.robot.Robot], float] | None = None, get_rgab_object_callback: ~typing.Callable[[], ~pychrono.core.ChBody] | None = None, params_to_timesiries_callback: ~typing.Callable[[~rostok.graph_grammar.node.GraphGrammar, list[float]], list] | None = None)
bound

tuple (lower bound, upper bound) extend to joints number

Type:

tuple[float, float]

iters

number of iteration optimization algorithm

Type:

int

sim_config

config passed to Chrono engine

Type:

dict[str, str]

time_step

simulation step

Type:

float

time_sim

simulation duration

Type:

float

flags

List of stop flags, breaks sim

Type:

list

criterion_callback

calls after simulation (SimOut, Robot) -> float

Type:

Callable[[dict[int, rostok.virtual_experiment.simulation_step.SimulationDataBlock], rostok.virtual_experiment.robot.Robot], float]

get_rgab_object

calls before simulation () -> ObjectToGrasp

params_to_timesiries_array

calls before simulation to calculate trajectory (GraphGrammar, list[float]) -> list[list] in dfs form, See class SimulationStepOptimization

Control optimizer

class ControlOptimizer

class rostok.trajectory_optimizer.control_optimizer.ControlOptimizer(cfg: ConfigRewardFunction)
create_reward_function(generated_graph: GraphGrammar, visualize=False) Callable[[list[float]], float]

Create reward function

Parameters:

generated_graph (GraphGrammar) –

Returns:

Function of virtual experemnt that returns reward based on criterion_callback

Return type:

Callable[[list[float]], float]