11 #include <choreo_msgs/SequencedElement.h> 26 choreo_msgs::ProcessPlanning::Request& req,
27 choreo_msgs::ProcessPlanning::Response& res)
32 assert(req.as_pnp.sequenced_elements.size() > 0);
34 const static double LINEAR_VEL = 0.5;
35 const static double LINEAR_DISC = 0.003;
41 assert(req.index > 0 && req.index < req.as_pnp.sequenced_elements.size());
42 choreo_msgs::AssemblySequencePickNPlace as_pnp = req.as_pnp;
43 as_pnp.sequenced_elements = std::vector<choreo_msgs::SequencedElement>(
44 as_pnp.sequenced_elements.begin(), as_pnp.sequenced_elements.begin() + req.index + 1);
53 req.clt_rrt_unit_process_timeout,
bool clearAllCollisionObjects(ros::ServiceClient &planning_scene)
descartes_core::RobotModelPtr hotend_model_
static const std::string JOINT_TOPIC_NAME
moveit::core::RobotModelConstPtr moveit_model_
std::vector< double > getCurrentJointState(const std::string &topic)
std::string hotend_group_name_
bool generateMotionPlan(const std::string world_frame, const bool use_saved_graph, const std::string &saved_graph_file_name, const double clt_rrt_unit_process_timeout, const double clt_rrt_timeout, const std::string &move_group_name, const std::vector< double > &start_state, const std::vector< choreo_msgs::ElementCandidatePoses > &task_seq, const std::vector< choreo_msgs::WireFrameCollisionObject > &wf_collision_objs, std::vector< descartes_planner::ConstrainedSegment > &segs, descartes_core::RobotModelPtr model, moveit::core::RobotModelConstPtr moveit_model, ros::ServiceClient &planning_scene_diff_client, std::vector< choreo_msgs::UnitProcessPlan > &plans)
ros::ServiceClient planning_scene_diff_client_
bool handlePickNPlacePlanning(choreo_msgs::ProcessPlanning::Request &req, choreo_msgs::ProcessPlanning::Response &res)