Trajectory optimizer
Control optimizer
- class rostok.trajectory_optimizer.control_optimizer.BasePrepareOptiVar(each_control_params: Any, control_class: Type[RobotControllerChrono], rewarder: SimulationReward | None, params_start_pos=None)
Base class for link optimise parametrs / control_class / reward
- bound_parameters(graph: GraphGrammar, bound_1d: tuple[float, float])
A method for determining the relationship between boundaries and mechanism. Default implementation. Uses for calculate dimension. Args:
graph (GraphGrammar):
- Returns:
list[tuple[float, float]]: list consists of bound_1d
- build_starting_positions(graph: GraphGrammar)
Deafault method for generate start position
- Args:
graph (GraphGrammar):
- Returns:
_type_: _description_
- is_vis_decision(graph: GraphGrammar)
If self.is_vis = True, can visualise experemnt. It’s default method. You can redefine this in child class. For example you can show only 1% of all graphs. Args:
graph (GraphGrammar): _description_
- Returns:
_type_: _description_
- reward_one_sim_scenario(x: list, graph: GraphGrammar, sim: ParametrizedSimulation)
Calculate one reward. Main function for GraphRewardCalculator clases.
- Args:
x (list): optimise vector graph (GraphGrammar): _description_ sim (ParametrizedSimulation): _description_
- Returns:
_type_: reward, vector, simulator
- set_reward_fun(rewarder: SimulationReward)
Set reward function.
- Args:
rewarder (SimulationReward): _description_
- abstract x_to_control_params(graph: GraphGrammar, x: list)
Convert vector values to control params
- Args:
graph (GraphGrammar): x (list): vector
- class rostok.trajectory_optimizer.control_optimizer.BruteForceOptimisation1D(variants: list, simulation_scenario: list[ParametrizedSimulation], prepare_reward: BasePrepareOptiVar, weights: None | list[float] = None, num_cpu_workers=1, chunksize=1, timeout_parallel=300)
Find best reward by brute force all combinations of control
- calculate_reward(graph: GraphGrammar)
Calc reward by sum from best reword from each simulation scenario. For each simulation scenario try all combination from self.variants. Combination calculates by generate_all_combine method.
- Args:
graph (GraphGrammar): _description_
- Returns:
_type_: _description_
- generate_all_combine(graph: GraphGrammar)
- prepare_weight_dict()
- class rostok.trajectory_optimizer.control_optimizer.ConstTorqueOptiVar(rewarder: SimulationReward, params_start_pos=None)
- bound_parameters(graph: GraphGrammar, bounds: tuple[float, float])
A method for determining the relationship between boundaries and mechanism. Default implementation. Uses for calculate dimension. Args:
graph (GraphGrammar):
- Returns:
list[tuple[float, float]]: list consists of bound_1d
- build_starting_positions(graph: GraphGrammar)
Deafault method for generate start position
- Args:
graph (GraphGrammar):
- Returns:
_type_: _description_
- x_to_control_params(graph: GraphGrammar, x: list)
Convert vector values to control params
- Args:
graph (GraphGrammar): x (list): vector
- class rostok.trajectory_optimizer.control_optimizer.FromGraphOptimizer(params_dict: dict, simulation_scenario: list[ParametrizedSimulation], prepare_reward: BasePrepareOptiVar)
- calculate_reward(graph: GraphGrammar)
- create_vector_from_graph(graph: GraphGrammar)
- class rostok.trajectory_optimizer.control_optimizer.GlobalOptimisationEachSim(simulation_scenario: list[~rostok.simulation_chrono.simulation_scenario.ParametrizedSimulation], prepare_reward: ~rostok.trajectory_optimizer.control_optimizer.BasePrepareOptiVar, bound: tuple[float, float], args_for_optimiser=None, optimisation_tool=<function direct>)
Class helps use global optimisation for find best control. Use BasePrepareOptiVar.
- Args:
GraphRewardCalculator (_type_): _description_
- calculate_reward(graph: GraphGrammar)
- class rostok.trajectory_optimizer.control_optimizer.GraphRewardCalculator
Base class for calculate reward from graph
- abstract calculate_reward(graph: GraphGrammar)
- print_log()
- class rostok.trajectory_optimizer.control_optimizer.TendonForceOptiVar(each_control_params: TendonControllerParameters, rewarder: SimulationReward | None = None, params_start_pos=None)
- bound_parameters(graph: GraphGrammar, bounds: tuple[float, float])
Bounded by number of finger
- Args:
graph (GraphGrammar): _description_ bounds (tuple[float, float]): _description_
- Returns:
_type_: _description_
- build_starting_positions(graph: GraphGrammar)
Deafault method for generate start position
- Args:
graph (GraphGrammar):
- Returns:
_type_: _description_
- x_to_control_params(graph: GraphGrammar, x: list)
Convert vector values to control params
- Args:
graph (GraphGrammar): x (list): vector