Experiment Config
In the example you have learned how easy it is to run different experiment setups in combination with different planners.
LocalPlannerBench is especially powerful because of the versatility of the supported experiment options and environments.
To create your own custom experiment setup, simply write an exp.yaml
file with your desired configurations.
We will list the available options here:
- T :int
Maximum simulated time to let the experiment run for.
- dt :float
Timestep of the simulator.
- dynamic :bool
Does the experiment contain dynamic obstacles or goals.
- env :str
Name of the simulation environment. LocalPlannerBench currently supports 2 different simulators with a large number of environments and robots of varying fidelity from point mass robots to full fledged mobile manipulators. More information about the two simulators can be found here:
- goal :Dict
Dictionary containing a collection of subgoals for the current experiment. The keys of the subgoals should follow this structure:
subgoal0, subgoal1, ..., subgoali
. A subgoal specification is again very versatile, you can specify the indices of the joints, desired position, weight of the goal and even minimum and maximum goal values for random generation of goals. See motion_planning_scenes for more information.- initState :Dict
Should contain a dictionary with the initial state of the joints. The key
q0
containing the initial positions andq0dot
the initial velocities.- limits :Dict
Should contain a dictionary with the lower and upper limits of the states of the joints. The key
low
containing the lower bound positions andhigh
the upper bound positions.- n :int
Number of joints
- obstacles :Dict
Dictionary containing a collection of obstacles for the current experiment. The keys of the obstacles should follow this structure:
obst0, obst1, ..., obsti
. A subgoal specification is again very versatile, you can specify the dimension, desired position, and even minimum and maximum values for random generation of obstacles. See motion_planning_scenes for more information.- r_body :float
Radius of the links of the robot, to be used by planners for collision avoidance. Note: only a single radius for all links is currently supported.
- randomObstacles :Dict
Dictionary containing information about the random generation of obstacles for this experiment. The Dictionary should contain the key
number
to specify the number of randomobstacles.- robot_type :str
The name of the type of robot used in the environment.
- selfCollision :Dict
Dictionary containing information about configuration for self collision avoidance. The Dictionary should contain the key
pairs
to specify pairs of links that should avoid eachother.