39 #include <rviz_common/display.hpp> 
   40 #include <rviz_common/panel_dock_widget.hpp> 
   53 #include <rclcpp/rclcpp.hpp> 
   55 #include <std_msgs/msg/string.hpp> 
   56 #include <moveit_msgs/msg/display_trajectory.hpp> 
   80 class RosTopicProperty;
 
   81 class EditableEnumProperty;
 
  106   void load(
const rviz_common::Config& config) 
override;
 
  107   void save(rviz_common::Config config) 
const override;
 
  109   void update(
float wall_dt, 
float ros_dt) 
override;
 
  110   void reset() 
override;
 
  184   void changedQueryStartState();
 
  185   void changedQueryGoalState();
 
  186   void changedQueryMarkerScale();
 
  187   void changedQueryStartColor();
 
  188   void changedQueryGoalColor();
 
  189   void changedQueryStartAlpha();
 
  190   void changedQueryGoalAlpha();
 
  191   void changedQueryCollidingLinkColor();
 
  192   void changedQueryJointViolationColor();
 
  193   void changedAttachedBodyColor() 
override;
 
  194   void changedPlanningGroup();
 
  195   void changedShowWeightLimit();
 
  196   void changedShowManipulabilityIndex();
 
  197   void changedShowManipulability();
 
  198   void changedShowJointTorques();
 
  199   void changedMetricsSetPayload();
 
  200   void changedMetricsTextHeight();
 
  201   void changedWorkspace();
 
  202   void resetInteractiveMarkers();
 
  203   void motionPanelVisibilityChange(
bool enable);
 
  221   void displayTable(
const std::map<std::string, double>& values, 
const Ogre::ColourValue& color,
 
  222                     const Ogre::Vector3& pos, 
const Ogre::Quaternion& orient);
 
  236                                  const double* ik_solution) 
const;
 
Representation of a robot's state. This includes position, velocity, acceleration and effort.
 
void populateMenuHandler(std::shared_ptr< interactive_markers::MenuHandler > &mh)
 
RobotStateVisualizationPtr query_robot_start_
Handles drawing the robot at the start configuration.
 
void scheduleDrawQueryGoalState(robot_interaction::InteractionHandler *handler, bool error_state_changed)
 
kinematics_metrics::KinematicsMetricsPtr kinematics_metrics_
 
void changePlanningGroup(const std::string &group)
 
const robot_interaction::InteractionHandlerPtr & getQueryStartStateHandler() const
 
rviz_common::properties::FloatProperty * metrics_text_height_property_
 
void updateInternal(float wall_dt, float ros_dt) override
 
std::string getCurrentPlanningGroup() const
 
void onNewPlanningSceneState() override
This is called upon successful retrieval of the (initial) planning scene state.
 
void queryGoalStateChanged()
 
void save(rviz_common::Config config) const override
 
moveit::core::RobotStatePtr previous_state_
remember previous start state (updated before starting execution)
 
void backgroundJobUpdate(moveit::tools::BackgroundProcessing::JobEvent event, const std::string &jobname)
 
rviz_common::properties::BoolProperty * show_joint_torques_property_
 
rviz_common::PanelDockWidget * frame_dock_
 
void displayTable(const std::map< std::string, double > &values, const Ogre::ColourValue &color, const Ogre::Vector3 &pos, const Ogre::Quaternion &orient)
 
rviz_common::properties::FloatProperty * query_marker_scale_property_
 
void updateStateExceptModified(moveit::core::RobotState &dest, const moveit::core::RobotState &src)
 
void recomputeQueryStartStateMetrics()
 
bool text_display_for_start_
indicates whether the text display is for the start state or not
 
robot_interaction::RobotInteractionPtr robot_interaction_
 
void updateQueryGoalState()
 
rviz_common::properties::BoolProperty * show_manipulability_property_
 
void executeMainLoopJobs()
 
void setQueryGoalState(const moveit::core::RobotState &goal)
 
robot_interaction::InteractionHandlerPtr query_start_state_
 
void drawQueryStartState()
 
void setStatusTextColor(const QColor &color)
 
std::map< std::string, LinkDisplayStatus > status_links_goal_
 
void clearRobotModel() override
 
void setQueryStartState(const moveit::core::RobotState &start)
 
void drawQueryGoalState()
 
rviz_common::properties::ColorProperty * query_outside_joint_limits_link_color_property_
 
void updateQueryStartState()
 
rviz_common::properties::FloatProperty * query_goal_alpha_property_
 
rviz_common::properties::ColorProperty * query_start_color_property_
 
void updateBackgroundJobProgressBar()
 
void computeMetricsInternal(std::map< std::string, double > &metrics, const robot_interaction::EndEffectorInteraction &eef, const moveit::core::RobotState &state, double payload)
 
void onInitialize() override
 
void computeMetrics(bool start, const std::string &group, double payload)
 
void dropVisualizedTrajectory()
 
TrajectoryVisualizationPtr trajectory_visual_
 
rviz_rendering::MovableText * text_to_display_
 
rviz_common::properties::Property * path_category_
 
void queryStartStateChanged()
 
rviz_common::properties::FloatProperty * metrics_set_payload_property_
 
void setQueryStateHelper(bool use_start_state, const std::string &v)
 
std::map< std::string, bool > position_only_ik_
Some groups use position only ik, calls to the metrics have to be modified appropriately.
 
rviz_common::properties::ColorProperty * query_goal_color_property_
 
rviz_common::properties::BoolProperty * compute_weight_limit_property_
 
std::unique_ptr< rviz_rendering::Shape > workspace_box_
 
void fixedFrameChanged() override
 
void renderWorkspaceBox()
 
std::map< std::pair< bool, std::string >, std::map< std::string, double > > computed_metrics_
 
std::map< std::string, LinkDisplayStatus > status_links_start_
 
Ogre::SceneNode * text_display_scene_node_
displays texts
 
rviz_common::Display * int_marker_display_
 
void useApproximateIK(bool flag)
 
void updateQueryStates(const moveit::core::RobotState ¤t_state)
 
rviz_common::properties::EditableEnumProperty * planning_group_property_
 
rviz_common::properties::BoolProperty * show_manipulability_index_property_
 
void resetStatusTextColor()
 
rviz_common::properties::Property * metrics_category_
 
std::shared_ptr< interactive_markers::MenuHandler > menu_handler_start_
 
void scheduleDrawQueryStartState(robot_interaction::InteractionHandler *handler, bool error_state_changed)
 
std::set< std::string > modified_groups_
 
std::map< std::string, dynamics_solver::DynamicsSolverPtr > dynamics_solver_
 
std::mutex update_metrics_lock_
 
moveit::core::RobotStateConstPtr getQueryStartState() const
 
void toggleSelectPlanningGroupSubscription(bool enable)
 
rviz_common::properties::BoolProperty * show_workspace_property_
 
rviz_common::properties::BoolProperty * query_goal_state_property_
 
void load(const rviz_common::Config &config) override
 
bool isIKSolutionCollisionFree(moveit::core::RobotState *state, const moveit::core::JointModelGroup *group, const double *ik_solution) const
 
rviz_common::properties::FloatProperty * query_start_alpha_property_
 
void onDisable() override
 
const robot_interaction::InteractionHandlerPtr & getQueryGoalStateHandler() const
 
std::vector< std::shared_ptr< rviz_rendering::Shape > > place_locations_display_
 
RobotStateVisualizationPtr query_robot_goal_
Handles drawing the robot at the goal configuration.
 
void rememberPreviousStartState()
 
void addStatusText(const std::string &text)
 
MotionPlanningFrame * frame_
 
void onSceneMonitorReceivedUpdate(planning_scene_monitor::PlanningSceneMonitor::SceneUpdateType update_type) override
 
void update(float wall_dt, float ros_dt) override
 
rviz_common::properties::BoolProperty * query_start_state_property_
 
rviz_common::properties::Property * plan_category_
 
std::shared_ptr< interactive_markers::MenuHandler > menu_handler_goal_
 
rclcpp::Subscription< std_msgs::msg::String >::SharedPtr planning_group_sub_
 
const robot_interaction::RobotInteractionPtr & getRobotInteraction() const
 
const moveit::core::RobotState & getPreviousState() const
 
void recomputeQueryGoalStateMetrics()
 
void selectPlanningGroupCallback(const std_msgs::msg::String::ConstSharedPtr &msg)
 
void publishInteractiveMarkers(bool pose_update)
 
void onRobotModelLoaded() override
This is an event called by loadRobotModel() in the MainLoop; do not call directly.
 
rviz_common::properties::ColorProperty * query_colliding_link_color_property_
 
void visualizePlaceLocations(const std::vector< geometry_msgs::msg::PoseStamped > &place_poses)
 
void clearPlaceLocationsDisplay()
 
~MotionPlanningDisplay() override
 
moveit::core::RobotStateConstPtr getQueryGoalState() const
 
void displayMetrics(bool start)
 
robot_interaction::InteractionHandlerPtr query_goal_state_