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)