Robowflex  v0.1
Making MoveIt Easy
robowflex::opt::CHOMPSettings Class Reference

Settings descriptor for settings provided by the default MoveIt! CHOMP planning pipeline. More...

#include <planning.h>

Public Member Functions

 CHOMPSettings ()
 Constructor. Initialized here so an empty class can be used as default arguments in a function. More...
 
void setParam (IO::Handler &handler) const
 Sets member variables on the parameter server using handler. More...
 

Public Attributes

double planning_time_limit
 Maximum time the optimizer can take to find a solution. More...
 
int max_iterations
 Maximum number of iterations the planner can take while optimization. More...
 
int max_iterations_after_collision_free
 
double smoothness_cost_weight
 Weight given to the smoothnes cost in optimization problem. More...
 
double obstacle_cost_weight
 Weight given to the obstacle cost in optimization problem. More...
 
double learning_rate
 Learning rate for gradient descent. More...
 
bool animate_path
 Whether to create an animated path. More...
 
bool add_randomness
 Whether to add randomness. More...
 
double smoothness_cost_velocity
 Variable associated with the cost in velocity. More...
 
double smoothness_cost_acceleration
 Variable associtated with the cost in acceleration. More...
 
double smoothness_cost_jerk
 Variable associated with the cost in jerk. More...
 
double hmc_discretization
 Discretization level for the Hamiltonian MonteCarlo. More...
 
double hmc_stochasticity
 Stochasticity level of Hamitonian MonteCarlo. More...
 
double hmc_annealing_factor
 Annealing factor in Hamiltonian MonteCarlo. More...
 
bool use_hamiltonian_monte_carlo
 Whether to use hamiltonian monte carlo or not. More...
 
double ridge_factor
 
bool use_pseudo_inverse
 Whether to use pseudo-inverse computations or not. More...
 
double pseudo_inverse_ridge_factor
 ridge factor when pseudo-inverse is on. More...
 
bool animate_endeffector
 Whether to animate the end effector or not. More...
 
std::string animate_endeffector_segment
 Name of end effector segment to animate. More...
 
double joint_update_limit
 Update limit for the robot joints. More...
 
double collision_clearence
 
double collision_threshold
 Cost threshold for collision detection. More...
 
double random_jump_amount
 Amount of random jump. More...
 
bool use_stochastic_descent
 Whether to use SGD or not. More...
 
bool enable_failure_recovery
 
int max_recovery_attempts
 Maximum number of times that CHOMP tweaks parameters. More...
 
std::string trajectory_initialization_method
 
double start_state_max_bounds_error
 Maximum bound errors for the initial state. More...
 

Detailed Description

Settings descriptor for settings provided by the default MoveIt! CHOMP planning pipeline.

Definition at line 383 of file robowflex_library/include/robowflex_library/planning.h.

Constructor & Destructor Documentation

◆ CHOMPSettings()

opt::CHOMPSettings::CHOMPSettings ( )

Constructor. Initialized here so an empty class can be used as default arguments in a function.

opt::CHOMPSettings

Definition at line 407 of file robowflex_library/src/planning.cpp.

408  : planning_time_limit(10.0)
409  , max_iterations(200)
412  , obstacle_cost_weight(0.0)
413  , learning_rate(0.01)
414  , animate_path(true)
415  , add_randomness(false)
418  , smoothness_cost_jerk(0.0)
419  , hmc_discretization(0.01)
420  , hmc_stochasticity(0.01)
421  , hmc_annealing_factor(0.99)
423  , ridge_factor(0.001)
424  , use_pseudo_inverse(false)
426  , animate_endeffector(false)
428  , joint_update_limit(0.1)
429  , collision_clearence(0.2)
430  , collision_threshold(0.07)
431  , random_jump_amount(1.0)
432  , use_stochastic_descent(true)
435  , trajectory_initialization_method("quintic-spline")
437 {
438 }
double hmc_discretization
Discretization level for the Hamiltonian MonteCarlo.
double pseudo_inverse_ridge_factor
ridge factor when pseudo-inverse is on.
double obstacle_cost_weight
Weight given to the obstacle cost in optimization problem.
double planning_time_limit
Maximum time the optimizer can take to find a solution.
bool use_pseudo_inverse
Whether to use pseudo-inverse computations or not.
double smoothness_cost_jerk
Variable associated with the cost in jerk.
double smoothness_cost_acceleration
Variable associtated with the cost in acceleration.
int max_iterations
Maximum number of iterations the planner can take while optimization.
int max_recovery_attempts
Maximum number of times that CHOMP tweaks parameters.
double smoothness_cost_weight
Weight given to the smoothnes cost in optimization problem.
double hmc_annealing_factor
Annealing factor in Hamiltonian MonteCarlo.
double smoothness_cost_velocity
Variable associated with the cost in velocity.
double hmc_stochasticity
Stochasticity level of Hamitonian MonteCarlo.
double start_state_max_bounds_error
Maximum bound errors for the initial state.
std::string animate_endeffector_segment
Name of end effector segment to animate.
bool animate_endeffector
Whether to animate the end effector or not.
double collision_threshold
Cost threshold for collision detection.
bool use_hamiltonian_monte_carlo
Whether to use hamiltonian monte carlo or not.

Member Function Documentation

◆ setParam()

void opt::CHOMPSettings::setParam ( IO::Handler handler) const

Sets member variables on the parameter server using handler.

Definition at line 440 of file robowflex_library/src/planning.cpp.

441 {
442  const std::string prefix;
443  handler.setParam(prefix + "planning_time_limit", planning_time_limit);
444  handler.setParam(prefix + "max_iterations", max_iterations);
445  handler.setParam(prefix + "max_iterations_after_collision_free", max_iterations_after_collision_free);
446  handler.setParam(prefix + "smoothness_cost_weight", smoothness_cost_weight);
447  handler.setParam(prefix + "obstacle_cost_weight", obstacle_cost_weight);
448  handler.setParam(prefix + "learning_rate", learning_rate);
449  handler.setParam(prefix + "animate_path", animate_path);
450  handler.setParam(prefix + "add_randomness", add_randomness);
451  handler.setParam(prefix + "smoothness_cost_velocity", smoothness_cost_velocity);
452  handler.setParam(prefix + "smoothness_cost_acceleration", smoothness_cost_acceleration);
453  handler.setParam(prefix + "smoothness_cost_jerk", smoothness_cost_jerk);
454  handler.setParam(prefix + "hmc_discretization", hmc_discretization);
455  handler.setParam(prefix + "hmc_stochasticity", hmc_stochasticity);
456  handler.setParam(prefix + "hmc_annealing_factor", hmc_annealing_factor);
457  handler.setParam(prefix + "use_hamiltonian_monte_carlo", use_hamiltonian_monte_carlo);
458  handler.setParam(prefix + "ridge_factor", ridge_factor);
459  handler.setParam(prefix + "use_pseudo_inverse", use_pseudo_inverse);
460  handler.setParam(prefix + "pseudo_inverse_ridge_factor", pseudo_inverse_ridge_factor);
461  handler.setParam(prefix + "animate_endeffector", animate_endeffector);
462  handler.setParam(prefix + "animate_endeffector_segment", animate_endeffector_segment);
463  handler.setParam(prefix + "joint_update_limit", joint_update_limit);
464  handler.setParam(prefix + "collision_clearence", collision_clearence);
465  handler.setParam(prefix + "collision_threshold", collision_threshold);
466  handler.setParam(prefix + "random_jump_amount", random_jump_amount);
467  handler.setParam(prefix + "use_stochastic_descent", use_stochastic_descent);
468  handler.setParam(prefix + "enable_failure_recovery", enable_failure_recovery);
469  handler.setParam(prefix + "max_recovery_attempts", max_recovery_attempts);
470  handler.setParam(prefix + "trajectory_initialization_method", trajectory_initialization_method);
471  handler.setParam(prefix + "start_state_max_bounds_error", start_state_max_bounds_error);
472 }
void setParam(const std::string &key, const T &value)
Sets a parameter on the parameter server.
Definition: handler.h:53

Member Data Documentation

◆ add_randomness

bool robowflex::opt::CHOMPSettings::add_randomness

Whether to add randomness.

Definition at line 399 of file robowflex_library/include/robowflex_library/planning.h.

◆ animate_endeffector

bool robowflex::opt::CHOMPSettings::animate_endeffector

Whether to animate the end effector or not.

Definition at line 411 of file robowflex_library/include/robowflex_library/planning.h.

◆ animate_endeffector_segment

std::string robowflex::opt::CHOMPSettings::animate_endeffector_segment

Name of end effector segment to animate.

Definition at line 412 of file robowflex_library/include/robowflex_library/planning.h.

◆ animate_path

bool robowflex::opt::CHOMPSettings::animate_path

Whether to create an animated path.

Definition at line 398 of file robowflex_library/include/robowflex_library/planning.h.

◆ collision_clearence

double robowflex::opt::CHOMPSettings::collision_clearence

Minimum distance to the obstacles that the robot needs to stay away from.

Definition at line 414 of file robowflex_library/include/robowflex_library/planning.h.

◆ collision_threshold

double robowflex::opt::CHOMPSettings::collision_threshold

Cost threshold for collision detection.

Definition at line 416 of file robowflex_library/include/robowflex_library/planning.h.

◆ enable_failure_recovery

bool robowflex::opt::CHOMPSettings::enable_failure_recovery

If enabled, CHOMP can tweak the parameters hoping to find a solution if one is not found using the default parameters.

Definition at line 419 of file robowflex_library/include/robowflex_library/planning.h.

◆ hmc_annealing_factor

double robowflex::opt::CHOMPSettings::hmc_annealing_factor

Annealing factor in Hamiltonian MonteCarlo.

Definition at line 405 of file robowflex_library/include/robowflex_library/planning.h.

◆ hmc_discretization

double robowflex::opt::CHOMPSettings::hmc_discretization

Discretization level for the Hamiltonian MonteCarlo.

Definition at line 403 of file robowflex_library/include/robowflex_library/planning.h.

◆ hmc_stochasticity

double robowflex::opt::CHOMPSettings::hmc_stochasticity

Stochasticity level of Hamitonian MonteCarlo.

Definition at line 404 of file robowflex_library/include/robowflex_library/planning.h.

◆ joint_update_limit

double robowflex::opt::CHOMPSettings::joint_update_limit

Update limit for the robot joints.

Definition at line 413 of file robowflex_library/include/robowflex_library/planning.h.

◆ learning_rate

double robowflex::opt::CHOMPSettings::learning_rate

Learning rate for gradient descent.

Definition at line 397 of file robowflex_library/include/robowflex_library/planning.h.

◆ max_iterations

int robowflex::opt::CHOMPSettings::max_iterations

Maximum number of iterations the planner can take while optimization.

Definition at line 392 of file robowflex_library/include/robowflex_library/planning.h.

◆ max_iterations_after_collision_free

int robowflex::opt::CHOMPSettings::max_iterations_after_collision_free

Maximum number of iterations the planner will take after having found a collision-free path.

Definition at line 393 of file robowflex_library/include/robowflex_library/planning.h.

◆ max_recovery_attempts

int robowflex::opt::CHOMPSettings::max_recovery_attempts

Maximum number of times that CHOMP tweaks parameters.

Definition at line 421 of file robowflex_library/include/robowflex_library/planning.h.

◆ obstacle_cost_weight

double robowflex::opt::CHOMPSettings::obstacle_cost_weight

Weight given to the obstacle cost in optimization problem.

Definition at line 396 of file robowflex_library/include/robowflex_library/planning.h.

◆ planning_time_limit

double robowflex::opt::CHOMPSettings::planning_time_limit

Maximum time the optimizer can take to find a solution.

Definition at line 391 of file robowflex_library/include/robowflex_library/planning.h.

◆ pseudo_inverse_ridge_factor

double robowflex::opt::CHOMPSettings::pseudo_inverse_ridge_factor

ridge factor when pseudo-inverse is on.

Definition at line 410 of file robowflex_library/include/robowflex_library/planning.h.

◆ random_jump_amount

double robowflex::opt::CHOMPSettings::random_jump_amount

Amount of random jump.

Definition at line 417 of file robowflex_library/include/robowflex_library/planning.h.

◆ ridge_factor

double robowflex::opt::CHOMPSettings::ridge_factor

Amount of noise added to the diagonal of the quadratic cost matrix. Needs to be grater than zero to allow CHOMP to avoid obstacles.

Definition at line 407 of file robowflex_library/include/robowflex_library/planning.h.

◆ smoothness_cost_acceleration

double robowflex::opt::CHOMPSettings::smoothness_cost_acceleration

Variable associtated with the cost in acceleration.

Definition at line 401 of file robowflex_library/include/robowflex_library/planning.h.

◆ smoothness_cost_jerk

double robowflex::opt::CHOMPSettings::smoothness_cost_jerk

Variable associated with the cost in jerk.

Definition at line 402 of file robowflex_library/include/robowflex_library/planning.h.

◆ smoothness_cost_velocity

double robowflex::opt::CHOMPSettings::smoothness_cost_velocity

Variable associated with the cost in velocity.

Definition at line 400 of file robowflex_library/include/robowflex_library/planning.h.

◆ smoothness_cost_weight

double robowflex::opt::CHOMPSettings::smoothness_cost_weight

Weight given to the smoothnes cost in optimization problem.

Definition at line 395 of file robowflex_library/include/robowflex_library/planning.h.

◆ start_state_max_bounds_error

double robowflex::opt::CHOMPSettings::start_state_max_bounds_error

Maximum bound errors for the initial state.

Definition at line 425 of file robowflex_library/include/robowflex_library/planning.h.

◆ trajectory_initialization_method

std::string robowflex::opt::CHOMPSettings::trajectory_initialization_method

Type of initial trajectory for CHOMP. Possible values are quintic-spline, linear, cubic or fillTrajectory.

Definition at line 422 of file robowflex_library/include/robowflex_library/planning.h.

◆ use_hamiltonian_monte_carlo

bool robowflex::opt::CHOMPSettings::use_hamiltonian_monte_carlo

Whether to use hamiltonian monte carlo or not.

Definition at line 406 of file robowflex_library/include/robowflex_library/planning.h.

◆ use_pseudo_inverse

bool robowflex::opt::CHOMPSettings::use_pseudo_inverse

Whether to use pseudo-inverse computations or not.

Definition at line 409 of file robowflex_library/include/robowflex_library/planning.h.

◆ use_stochastic_descent

bool robowflex::opt::CHOMPSettings::use_stochastic_descent

Whether to use SGD or not.

Definition at line 418 of file robowflex_library/include/robowflex_library/planning.h.


The documentation for this class was generated from the following files: