27 #ifndef STOMP_PLUGINS_INCLUDE_STOMP_PLUGINS_NOISE_GENERATORS_GOAL_GUIDED_MULTIVARIATE_GAUSSIAN_H_ 28 #define STOMP_PLUGINS_INCLUDE_STOMP_PLUGINS_NOISE_GENERATORS_GOAL_GUIDED_MULTIVARIATE_GAUSSIAN_H_ 31 #include <stomp_moveit/utils/multivariate_gaussian.h> 37 namespace noise_generators
41 typedef boost::variate_generator< RGNType, boost::uniform_real<> >
RandomGenerator;
64 virtual bool initialize(moveit::core::RobotModelConstPtr robot_model_ptr,
83 const moveit_msgs::MotionPlanRequest &req,
85 moveit_msgs::MoveItErrorCodes& error_code)
override;
99 std::size_t start_timestep,
100 std::size_t num_timesteps,
101 int iteration_number,
103 Eigen::MatrixXd& parameters_noise,
104 Eigen::MatrixXd& noise)
override;
114 virtual void done(
bool success,
int total_iterations,
double final_cost,
const Eigen::MatrixXd& parameters){}
131 const moveit_msgs::MotionPlanRequest &req,
133 moveit_msgs::MoveItErrorCodes& error_code);
136 const moveit_msgs::MotionPlanRequest &req,
138 moveit_msgs::MoveItErrorCodes& error_code);
146 virtual bool generateRandomGoal(
const Eigen::VectorXd& reference_joint_pose,Eigen::VectorXd& goal_joint_pose);
moveit::core::RobotStatePtr state_
stomp_moveit::utils::kinematics::IKSolverPtr ik_solver_
virtual bool configure(const XmlRpc::XmlRpcValue &config) override
Sets internal members of the plugin from the configuration data.
virtual bool generateRandomGoal(const Eigen::VectorXd &reference_joint_pose, Eigen::VectorXd &goal_joint_pose)
Genereates a random tool pose by apply noise on the redundant axis to a reference tool pose;...
virtual bool setupNoiseGeneration(const planning_scene::PlanningSceneConstPtr &planning_scene, const moveit_msgs::MotionPlanRequest &req, const stomp_core::StompConfiguration &config, moveit_msgs::MoveItErrorCodes &error_code)
virtual bool setMotionPlanRequest(const planning_scene::PlanningSceneConstPtr &planning_scene, const moveit_msgs::MotionPlanRequest &req, const stomp_core::StompConfiguration &config, moveit_msgs::MoveItErrorCodes &error_code) override
Stores the planning details.
virtual bool initialize(moveit::core::RobotModelConstPtr robot_model_ptr, const std::string &group_name, const XmlRpc::XmlRpcValue &config) override
Initializes and configures.
virtual std::string getGroupName() const
boost::shared_ptr< RandomGenerator > goal_rand_generator_
Random generator for the tool goal pose.
virtual bool generateNoise(const Eigen::MatrixXd ¶meters, std::size_t start_timestep, std::size_t num_timesteps, int iteration_number, int rollout_number, Eigen::MatrixXd ¶meters_noise, Eigen::MatrixXd &noise) override
Generates a noisy trajectory from the parameters.
boost::variate_generator< RGNType, boost::uniform_real<> > RandomGenerator
This class generates noisy trajectories to an under-constrained cartesian goal pose.
moveit::core::RobotModelConstPtr robot_model_
std::vector< double > stddev_
The standard deviations applied to each joint, [num_dimensions x 1.
std::vector< utils::MultivariateGaussianPtr > traj_noise_generators_
Randomized numerical distribution generators, [6 x 1].
Eigen::VectorXd tool_goal_tolerance_
virtual std::string getName() const
virtual ~GoalGuidedMultivariateGaussian()
GoalGuidedMultivariateGaussian()
virtual void done(bool success, int total_iterations, double final_cost, const Eigen::MatrixXd ¶meters)
Called by the Stomp at the end of the optimization process.
Eigen::VectorXd raw_noise_
The noise vector.
virtual bool setupGoalConstraints(const planning_scene::PlanningSceneConstPtr &planning_scene, const moveit_msgs::MotionPlanRequest &req, const stomp_core::StompConfiguration &config, moveit_msgs::MoveItErrorCodes &error_code)