00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #include <chomp_interface/chomp_interface.h>
00038
00039 namespace chomp_interface
00040 {
00041 CHOMPInterface::CHOMPInterface(const ros::NodeHandle& nh) : ChompPlanner(), nh_(nh)
00042 {
00043 loadParams();
00044 }
00045
00046 void CHOMPInterface::loadParams()
00047 {
00048 nh_.param("planning_time_limit", params_.planning_time_limit_, 10.0);
00049 nh_.param("max_iterations", params_.max_iterations_, 200);
00050 nh_.param("max_iterations_after_collision_free", params_.max_iterations_after_collision_free_, 5);
00051 nh_.param("smoothness_cost_weight", params_.smoothness_cost_weight_, 0.1);
00052 nh_.param("obstacle_cost_weight", params_.obstacle_cost_weight_, 1.0);
00053 nh_.param("learning_rate", params_.learning_rate_, 0.01);
00054 nh_.param("animate_path", params_.animate_path_, true);
00055 nh_.param("add_randomness", params_.add_randomness_, false);
00056 nh_.param("smoothness_cost_velocity", params_.smoothness_cost_velocity_, 0.0);
00057 nh_.param("smoothness_cost_acceleration", params_.smoothness_cost_acceleration_, 1.0);
00058 nh_.param("smoothness_cost_jerk", params_.smoothness_cost_jerk_, 0.0);
00059 nh_.param("hmc_discretization", params_.hmc_discretization_, 0.01);
00060 nh_.param("hmc_stochasticity", params_.hmc_stochasticity_, 0.01);
00061 nh_.param("hmc_annealing_factor", params_.hmc_annealing_factor_, 0.99);
00062 nh_.param("use_hamiltonian_monte_carlo", params_.use_hamiltonian_monte_carlo_, false);
00063 nh_.param("ridge_factor", params_.ridge_factor_, 0.0);
00064 nh_.param("use_pseudo_inverse", params_.use_pseudo_inverse_, false);
00065 nh_.param("pseudo_inverse_ridge_factor", params_.pseudo_inverse_ridge_factor_, 1e-4);
00066 nh_.param("animate_endeffector", params_.animate_endeffector_, false);
00067 nh_.param("animate_endeffector_segment", params_.animate_endeffector_segment_, std::string("r_gripper_tool_frame"));
00068 nh_.param("joint_update_limit", params_.joint_update_limit_, 0.1);
00069 nh_.param("collision_clearence", params_.min_clearence_, 0.2);
00070 nh_.param("collision_threshold", params_.collision_threshold_, 0.07);
00071 nh_.param("random_jump_amount", params_.random_jump_amount_, 1.0);
00072 nh_.param("use_stochastic_descent", params_.use_stochastic_descent_, true);
00073
00074 }
00075 }