Go to the documentation of this file.00001
00026 #ifndef INDUSTRIAL_MOVEIT_STOMP_MOVEIT_INCLUDE_STOMP_NOISY_FILTER_H_
00027 #define INDUSTRIAL_MOVEIT_STOMP_MOVEIT_INCLUDE_STOMP_NOISY_FILTER_H_
00028
00029 #include <Eigen/Core>
00030 #include <XmlRpc.h>
00031 #include <stomp_core/utils.h>
00032 #include <moveit/robot_model/robot_model.h>
00033 #include <moveit/robot_trajectory/robot_trajectory.h>
00034 #include <moveit/planning_scene/planning_scene.h>
00035 #include <moveit_msgs/MotionPlanRequest.h>
00036
00037 namespace stomp_moveit
00038 {
00039
00040 namespace noisy_filters
00041 {
00042
00043 class StompNoisyFilter;
00044 typedef boost::shared_ptr<StompNoisyFilter> StompNoisyFilterPtr;
00045
00046
00054 class StompNoisyFilter
00055 {
00056 public:
00057 StompNoisyFilter(){}
00058 virtual ~StompNoisyFilter(){}
00059
00067 virtual bool initialize(moveit::core::RobotModelConstPtr robot_model_ptr,
00068 const std::string& group_name,const XmlRpc::XmlRpcValue& config) = 0;
00069
00075 virtual bool configure(const XmlRpc::XmlRpcValue& config) = 0;
00076
00085 virtual bool setMotionPlanRequest(const planning_scene::PlanningSceneConstPtr& planning_scene,
00086 const moveit_msgs::MotionPlanRequest &req,
00087 const stomp_core::StompConfiguration &config,
00088 moveit_msgs::MoveItErrorCodes& error_code) = 0;
00089
00101 virtual bool filter(std::size_t start_timestep,
00102 std::size_t num_timesteps,
00103 int iteration_number,
00104 int rollout_number,
00105 Eigen::MatrixXd& parameters,
00106 bool& filtered) = 0 ;
00107
00116 virtual void postIteration(std::size_t start_timestep,
00117 std::size_t num_timesteps,int iteration_number,double cost,const Eigen::MatrixXd& parameters){}
00118
00127 virtual void done(bool success,int total_iterations,double final_cost,const Eigen::MatrixXd& parameters){}
00128
00129
00130 virtual std::string getName() const
00131 {
00132 return "Not implemented";
00133 }
00134
00135
00136 virtual std::string getGroupName() const
00137 {
00138 return "Not implemented";
00139 }
00140
00141
00142 };
00143
00144 }
00145
00146 }
00147
00148 #endif