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_ros/chomp_interface_ros.h>
00038
00039 namespace chomp_interface_ros
00040 {
00041
00042 CHOMPInterfaceROS::CHOMPInterfaceROS(const planning_models::RobotModelConstPtr& kmodel) :
00043 ChompPlanner(kmodel), nh_("~")
00044 {
00045 loadParams();
00046 }
00047
00048 void CHOMPInterfaceROS::loadParams() {
00049 nh_.param("planning_time_limit", params_.planning_time_limit_, 6.0);
00050 nh_.param("max_iterations", params_.max_iterations_, 50);
00051 nh_.param("max_iterations_after_collision_free", params_.max_iterations_after_collision_free_, 5);
00052 nh_.param("smoothness_cost_weight", params_.smoothness_cost_weight_, 0.1);
00053 nh_.param("obstacle_cost_weight", params_.obstacle_cost_weight_, 1.0);
00054 nh_.param("learning_rate", params_.learning_rate_, 0.01);
00055 nh_.param("animate_path", params_.animate_path_, true);
00056 nh_.param("add_randomness", params_.add_randomness_, false);
00057 nh_.param("smoothness_cost_velocity", params_.smoothness_cost_velocity_, 0.0);
00058 nh_.param("smoothness_cost_acceleration", params_.smoothness_cost_acceleration_, 1.0);
00059 nh_.param("smoothness_cost_jerk", params_.smoothness_cost_jerk_, 0.0);
00060 nh_.param("hmc_discretization", params_.hmc_discretization_, 0.01);
00061 nh_.param("hmc_stochasticity", params_.hmc_stochasticity_, 0.01);
00062 nh_.param("hmc_annealing_factor", params_.hmc_annealing_factor_, 0.99);
00063 nh_.param("use_hamiltonian_monte_carlo", params_.use_hamiltonian_monte_carlo_, false);
00064 nh_.param("ridge_factor", params_.ridge_factor_, 0.0);
00065 nh_.param("use_pseudo_inverse", params_.use_pseudo_inverse_, false);
00066 nh_.param("pseudo_inverse_ridge_factor", params_.pseudo_inverse_ridge_factor_, 1e-4);
00067 nh_.param("animate_endeffector", params_.animate_endeffector_, false);
00068 nh_.param("animate_endeffector_segment", params_.animate_endeffector_segment_, std::string("r_gripper_tool_frame"));
00069 nh_.param("joint_update_limit", params_.joint_update_limit_, 0.1);
00070 nh_.param("collision_clearence", params_.min_clearence_, 0.2);
00071 nh_.param("collision_threshold", params_.collision_threshold_, 0.07);
00072 nh_.param("random_jump_amount", params_.random_jump_amount_, 1.0);
00073 nh_.param("use_stochastic_descent", params_.use_stochastic_descent_, true);
00074
00075 }
00076
00077
00078 }