42#include <rclcpp/rclcpp.hpp>
48#include <tf2_ros/buffer.h>
69 void load(
const rclcpp::Node::SharedPtr& node)
71 const std::string ns =
"planning_scene_monitor_options";
72 node->get_parameter_or(ns +
".name",
name, std::string(
"planning_scene_monitor"));
73 node->get_parameter_or(ns +
".robot_description",
robot_description, std::string(
"robot_description"));
88 void load(
const rclcpp::Node::SharedPtr& node)
90 const std::string ns =
"planning_pipelines.";
112 MoveItCpp(
const rclcpp::Node::SharedPtr& node);
133 const rclcpp::Node::SharedPtr&
getNode()
const;
137 bool getCurrentState(moveit::core::RobotStatePtr& current_state,
double wait_seconds);
141 moveit::core::RobotStatePtr
getCurrentState(
double wait_seconds = 0.0);
144 const std::unordered_map<std::string, planning_pipeline::PlanningPipelinePtr>&
getPlanningPipelines()
const;
150 std::shared_ptr<const tf2_ros::Buffer>
getTFBuffer()
const;
166 const std::vector<std::string>& controllers = std::vector<std::string>());
170 const std::vector<std::string>& controllers = std::vector<std::string>());
177 rclcpp::Node::SharedPtr node_;
178 planning_scene_monitor::PlanningSceneMonitorPtr planning_scene_monitor_;
181 std::unordered_map<std::string, planning_pipeline::PlanningPipelinePtr> planning_pipelines_;
182 std::unordered_map<std::string, std::set<std::string>> groups_algorithms_map_;
185 trajectory_execution_manager::TrajectoryExecutionManagerPtr trajectory_execution_manager_;
187 rclcpp::Logger logger_;
#define MOVEIT_CLASS_FORWARD(C)
MoveItCpp(MoveItCpp &&other)=default
std::shared_ptr< const tf2_ros::Buffer > getTFBuffer() const
MoveItCpp & operator=(const MoveItCpp &)=delete
moveit_controller_manager::ExecutionStatus execute(const robot_trajectory::RobotTrajectoryPtr &robot_trajectory, bool blocking, const std::vector< std::string > &controllers=std::vector< std::string >())
Execute a trajectory on the planning group specified by the robot's trajectory using the trajectory e...
moveit::core::RobotModelConstPtr getRobotModel() const
Get the RobotModel object.
const std::unordered_map< std::string, planning_pipeline::PlanningPipelinePtr > & getPlanningPipelines() const
Get all loaded planning pipeline instances mapped to their reference names.
planning_scene_monitor::PlanningSceneMonitorConstPtr getPlanningSceneMonitor() const
Get the stored instance of the planning scene monitor.
bool getCurrentState(moveit::core::RobotStatePtr ¤t_state, double wait_seconds)
Get the current state queried from the current state monitor.
planning_scene_monitor::PlanningSceneMonitorPtr getPlanningSceneMonitorNonConst()
const rclcpp::Node::SharedPtr & getNode() const
Get the ROS node this instance operates on.
bool terminatePlanningPipeline(const std::string &pipeline_name)
Utility to terminate the given planning pipeline.
trajectory_execution_manager::TrajectoryExecutionManagerConstPtr getTrajectoryExecutionManager() const
Get the stored instance of the trajectory execution manager.
MoveItCpp(const MoveItCpp &)=delete
This class owns unique resources (e.g. action clients, threads) and its not very meaningful to copy....
MoveItCpp & operator=(MoveItCpp &&other)=default
trajectory_execution_manager::TrajectoryExecutionManagerPtr getTrajectoryExecutionManagerNonConst()
The reported execution status.
Parameter container for initializing MoveItCpp.
PlanningPipelineOptions planning_pipeline_options
Options(const rclcpp::Node::SharedPtr &node)
PlanningSceneMonitorOptions planning_scene_monitor_options
struct contains the the variables used for loading the planning pipeline
void load(const rclcpp::Node::SharedPtr &node)
std::vector< std::string > pipeline_names
std::string parent_namespace
Specification of options to use when constructing the MoveItCpp class.
void load(const rclcpp::Node::SharedPtr &node)
std::string robot_description
PlanningSceneMonitorOptions()
const std::string attached_collision_object_topic
const std::string monitored_planning_scene_topic
const std::string joint_state_topic
double wait_for_initial_state_timeout
const std::string publish_planning_scene_topic