Problem settings are provided to any algorithm via a .yaml
file in the /problem
directory. This file is read by the Problem
class and creates a BatchTrajOptimizer or ISAM2TrajOptimizer and sets up the optimization settings for the algorithm being used.
For any problem, following is a list of parameters that can be provided. For some of the parameters please see the GPMP2 documentation to gain more insight:
start_conf
: (optional) start configuration of the arm, read fromarm_state_topic
if not passedstart_pose
: (optional) start pose of the base, read frombase_state_topic
if not passedgoal_conf
: goal configuration of the armgoal_pose
: goal pose of the basesdf_file
: SDF file in the/sdf
directory, used for collision avoidance, see how to create SDF filestotal_time
: total time length of the trajectory in secondstotal_step
: total number of time steps (support states) on the trajectory (includes start and goal)obs_check_inter
: number of states to be interpolated between any two support states, for collision cost calculation during optimizationcontrol_inter
: number of states to be interpolated between any two support states, to generate executable trajectory for a robotcost_sigma
: covariance for obstacle factorsepsilon
: safety distance from obstacles in metersfix_pose_sigma
: small covariance to fix the position part of the state (mainly used for start and goal)fix_vel_sigma
: small covariance to fix the velocity part of the state (mainly used for start and goal)Qc
: covariance for GP factorsopt_type
: optimization method to be used,LM
works fine in most cases