12 #include <moveit_msgs/ApplyPlanningScene.h> 17 const std::string& world_frame,
const std::string& hotend_group,
const std::string& hotend_tcp,
const std::string& hotend_base,
18 const std::string& robot_model_plugin)
19 : plugin_loader_(
"descartes_core",
"descartes_core::RobotModel"),
20 hotend_group_name_(hotend_group)
28 throw std::runtime_error(std::string(
"[FF_process_planning] Could not load: ") + robot_model_plugin);
31 if (!
hotend_model_->initialize(
"robot_description", hotend_group, hotend_base, hotend_tcp))
33 throw std::runtime_error(
"[FF_process_planning]: Unable to initialize descartes robot model");
42 throw std::runtime_error(
"[FF_process_planning] Could not load moveit robot model");
50 choreo_msgs::ProcessPlanning::Request& req,
51 choreo_msgs::ProcessPlanning::Response& res)
63 ROS_ERROR(
"process planning: unknown / unsupported assembly type.");
bool handleProcessPlanning(choreo_msgs::ProcessPlanning::Request &req, choreo_msgs::ProcessPlanning::Response &res)
ServiceClient serviceClient(const std::string &service_name, bool persistent=false, const M_string &header_values=M_string())
descartes_core::RobotModelPtr hotend_model_
moveit::core::RobotModelConstPtr moveit_model_
pluginlib::ClassLoader< descartes_core::RobotModel > plugin_loader_
static const std::string ASSEMBLY_TYPE_PICKNPLACE
ProcessPlanningManager(const std::string &world_frame, const std::string &hotend_group, const std::string &hotend_tcp, const std::string &hotend_base, const std::string &robot_model_plugin)
static const std::string ASSEMBLY_TYPE_SPATIAL_EXTRUSION
bool handlePrintPlanning(choreo_msgs::ProcessPlanning::Request &req, choreo_msgs::ProcessPlanning::Response &res)
static const std::string APPLY_PLANNING_SCENE_SERVICE
const robot_model::RobotModelPtr & getModel() const
ros::ServiceClient planning_scene_diff_client_
bool handlePickNPlacePlanning(choreo_msgs::ProcessPlanning::Request &req, choreo_msgs::ProcessPlanning::Response &res)