40 #ifndef MOVEIT_VISUAL_TOOLS_MOVEIT_VISUAL_TOOLS_H 41 #define MOVEIT_VISUAL_TOOLS_MOVEIT_VISUAL_TOOLS_H 52 #include <moveit_msgs/Grasp.h> 53 #include <moveit_msgs/DisplayRobotState.h> 54 #include <moveit_msgs/WorkspaceParameters.h> 55 #include <moveit_msgs/DisplayTrajectory.h> 58 #include <trajectory_msgs/JointTrajectory.h> 70 "/move_group/display_planned_path";
72 "display_robot_state";
86 planning_scene_monitor::PlanningSceneMonitorPtr psm);
96 robot_model::RobotModelConstPtr robot_model = robot_model::RobotModelConstPtr());
188 bool loadEEMarker(
const robot_model::JointModelGroup* ee_jmg,
const std::vector<double>& ee_joint_pos = {});
193 void loadTrajectoryPub(
const std::string& display_planned_path_topic = DISPLAY_PLANNED_PATH_TOPIC,
194 bool blocking =
true);
195 void loadRobotStatePub(
const std::string& robot_state_topic =
"",
bool blocking =
true);
223 bool publishEEMarkers(
const Eigen::Isometry3d& pose,
const robot_model::JointModelGroup* ee_jmg,
224 const std::vector<double>& ee_joint_pos,
226 const std::string& ns =
"end_effector")
230 bool publishEEMarkers(
const Eigen::Isometry3d& pose,
const robot_model::JointModelGroup* ee_jmg,
232 const std::string& ns =
"end_effector")
236 bool publishEEMarkers(
const geometry_msgs::Pose& pose,
const robot_model::JointModelGroup* ee_jmg,
238 const std::string& ns =
"end_effector")
242 bool publishEEMarkers(
const geometry_msgs::Pose& pose,
const robot_model::JointModelGroup* ee_jmg,
243 const std::vector<double>& ee_joint_pos,
245 const std::string& ns =
"end_effector");
253 bool publishGrasps(
const std::vector<moveit_msgs::Grasp>& possible_grasps,
const robot_model::JointModelGroup* ee_jmg,
254 double animate_speed = 0.1);
263 const robot_model::JointModelGroup* ee_jmg,
double animate_speed = 0.01);
272 bool publishAnimatedGrasp(
const moveit_msgs::Grasp& grasp,
const robot_model::JointModelGroup* ee_jmg,
273 double animate_speed);
282 bool publishIKSolutions(
const std::vector<trajectory_msgs::JointTrajectoryPoint>& ik_solutions,
283 const robot_model::JointModelGroup* arm_jmg,
double display_time = 0.4);
313 bool attachCO(
const std::string& name,
const std::string& ee_parent_link);
333 bool publishCollisionBlock(
const geometry_msgs::Pose& block_pose,
const std::string& block_name =
"block",
334 double block_size = 0.1,
345 bool publishCollisionCuboid(
const Eigen::Vector3d& point1,
const Eigen::Vector3d& point2,
const std::string& name,
348 const std::string& name,
377 const std::string& object_name,
double radius,
393 bool publishCollisionCylinder(
const geometry_msgs::Pose& object_pose,
const std::string& object_name,
double radius,
404 bool publishCollisionMesh(
const geometry_msgs::Pose& object_pose,
const std::string& object_name,
405 const std::string& mesh_path,
408 const std::string& mesh_path,
411 const shape_msgs::Mesh& mesh_msg,
413 bool publishCollisionMesh(
const geometry_msgs::Pose& object_pose,
const std::string& object_name,
414 const shape_msgs::Mesh& mesh_msg,
424 bool publishCollisionGraph(
const graph_msgs::GeometryGraph& graph,
const std::string& object_name,
double radius,
431 const std::string& name, moveit_msgs::CollisionObject& collision_obj);
444 bool publishCollisionWall(
double x,
double y,
double angle = 0.0,
double width = 2.0,
double height = 1.5,
445 const std::string& name =
"wall",
447 bool publishCollisionWall(
double x,
double y,
double z,
double angle = 0.0,
double width = 2.0,
double height = 1.5,
448 const std::string& name =
"wall",
470 bool publishCollisionTable(
double x,
double y,
double z,
double angle,
double width,
double height,
double depth,
471 const std::string& name,
539 const std::string& planning_group,
double display_time = 0.1);
551 bool publishTrajectoryPath(
const robot_trajectory::RobotTrajectoryPtr& trajectory,
bool blocking =
false);
554 const moveit::core::RobotStateConstPtr& robot_state,
bool blocking =
false);
558 const moveit_msgs::RobotState& robot_state,
bool blocking =
false);
588 const robot_model::JointModelGroup* arm_jmg,
591 const robot_model::JointModelGroup* arm_jmg,
594 const robot_model::JointModelGroup* arm_jmg,
620 bool publishRobotState(
const trajectory_msgs::JointTrajectoryPoint& trajectory_pt,
621 const robot_model::JointModelGroup* jmg,
631 bool publishRobotState(
const std::vector<double>& joint_positions,
const robot_model::JointModelGroup* jmg,
644 const std::vector<std::string>& highlight_links = {});
647 const std::vector<std::string>& highlight_links = {});
648 void publishRobotState(
const moveit_msgs::DisplayRobotState& display_robot_state_msg);
680 planning_scene_monitor::PlanningSceneMonitorPtr
psm_;
696 std::map<const robot_model::JointModelGroup*, visualization_msgs::MarkerArray>
ee_markers_map_;
697 std::map<const robot_model::JointModelGroup*, EigenSTL::vector_Isometry3d>
ee_poses_map_;
731 #endif // MOVEIT_VISUAL_TOOLS_MOVEIT_VISUAL_TOOLS_H
#define RVIZ_VISUAL_TOOLS_DEPRECATED
TFSIMD_FORCE_INLINE tfScalar angle(const Quaternion &q1, const Quaternion &q2)
std::map< std::pair< std::string, std::string >, std::vector< Contact > > ContactMap