motion_planning_frame.h
Go to the documentation of this file.
1 /*********************************************************************
2  * Software License Agreement (BSD License)
3  *
4  * Copyright (c) 2012, Willow Garage, Inc.
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  *
11  * * Redistributions of source code must retain the above copyright
12  * notice, this list of conditions and the following disclaimer.
13  * * Redistributions in binary form must reproduce the above
14  * copyright notice, this list of conditions and the following
15  * disclaimer in the documentation and/or other materials provided
16  * with the distribution.
17  * * Neither the name of Willow Garage nor the names of its
18  * contributors may be used to endorse or promote products derived
19  * from this software without specific prior written permission.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32  * POSSIBILITY OF SUCH DAMAGE.
33  *********************************************************************/
34 
35 /* Author: Ioan Sucan */
36 
37 #pragma once
38 
39 #include <QWidget>
40 #include <QTreeWidgetItem>
41 #include <QListWidgetItem>
42 
43 #ifndef Q_MOC_RUN
52 #include <moveit_msgs/MotionPlanRequest.h>
54 #include <object_recognition_msgs/ObjectRecognitionAction.h>
55 
56 #include <std_msgs/Bool.h>
57 #include <std_msgs/Empty.h>
58 #endif
59 
60 #include <map>
61 #include <string>
62 #include <memory>
63 
64 namespace rviz
65 {
66 class DisplayContext;
67 }
68 
69 namespace Ui
70 {
71 class MotionPlanningUI;
72 }
73 
74 namespace moveit_warehouse
75 {
76 MOVEIT_CLASS_FORWARD(PlanningSceneStorage); // Defines PlanningSceneStoragePtr, ConstPtr, WeakPtr... etc
77 MOVEIT_CLASS_FORWARD(ConstraintsStorage); // Defines ConstraintsStoragePtr, ConstPtr, WeakPtr... etc
78 MOVEIT_CLASS_FORWARD(RobotStateStorage); // Defines RobotStateStoragePtr, ConstPtr, WeakPtr... etc
79 } // namespace moveit_warehouse
80 
81 namespace moveit_rviz_plugin
82 {
83 class MotionPlanningDisplay;
84 class MotionPlanningFrameJointsWidget;
85 
86 const std::string OBJECT_RECOGNITION_ACTION = "/recognize_objects";
87 
88 static const std::string TAB_CONTEXT = "Context";
89 static const std::string TAB_PLANNING = "Planning";
90 static const std::string TAB_MANIPULATION = "Manipulation";
91 static const std::string TAB_OBJECTS = "Scene Objects";
92 static const std::string TAB_SCENES = "Stored Scenes";
93 static const std::string TAB_STATES = "Stored States";
94 static const std::string TAB_STATUS = "Status";
95 
96 static const double LARGE_MESH_THRESHOLD = 10.0;
97 
98 class MotionPlanningFrame : public QWidget
99 {
100  friend class MotionPlanningDisplay;
101  Q_OBJECT
102 
103 public:
104  MotionPlanningFrame(const MotionPlanningFrame&) = delete;
105  MotionPlanningFrame(MotionPlanningDisplay* pdisplay, rviz::DisplayContext* context, QWidget* parent = nullptr);
106  ~MotionPlanningFrame() override;
107 
108  void clearRobotModel();
109  void changePlanningGroup();
110  void enable();
111  void disable();
113 
114 protected:
115  static const int ITEM_TYPE_SCENE = 1;
116  static const int ITEM_TYPE_QUERY = 2;
117 
118  void initFromMoveGroupNS();
119  void constructPlanningRequest(moveit_msgs::MotionPlanRequest& mreq);
120 
121  void updateSceneMarkers(float wall_dt, float ros_dt);
122 
124 
127  Ui::MotionPlanningUI* ui_;
129 
130  moveit::planning_interface::MoveGroupInterfacePtr move_group_;
131  moveit::semantic_world::SemanticWorldPtr semantic_world_;
132 
133  moveit::planning_interface::MoveGroupInterface::PlanPtr current_plan_;
134  moveit_warehouse::PlanningSceneStoragePtr planning_scene_storage_;
135  moveit_warehouse::ConstraintsStoragePtr constraints_storage_;
136  moveit_warehouse::RobotStateStoragePtr robot_state_storage_;
137 
138  std::shared_ptr<rviz::InteractiveMarker> scene_marker_;
139 
140  typedef std::map<std::string, moveit_msgs::RobotState> RobotStateMap;
141  typedef std::pair<std::string, moveit_msgs::RobotState> RobotStatePair;
144  std::vector<moveit_msgs::PlannerInterfaceDescription> planner_descriptions_;
145 
146 Q_SIGNALS:
147  void planningFinished();
148  void configChanged();
149 
150 private Q_SLOTS:
151 
152  // Context tab
154  void planningPipelineIndexChanged(int index);
155  void planningAlgorithmIndexChanged(int index);
156  void resetDbButtonClicked();
157  void approximateIKChanged(int state);
158 
159  // Planning tab
160  bool computeCartesianPlan();
161  bool computeJointSpacePlan();
162  void planButtonClicked();
163  void executeButtonClicked();
165  void stopButtonClicked();
166  void allowReplanningToggled(bool checked);
167  void allowLookingToggled(bool checked);
169  void pathConstraintsIndexChanged(int index);
171  void startStateTextChanged(const QString& start_state);
172  void goalStateTextChanged(const QString& goal_state);
173  void planningGroupTextChanged(const QString& planning_group);
174  void onClearOctomapClicked();
175 
176  // Scene Objects tab
177  void clearScene();
178  void publishScene();
179  void publishSceneIfNeeded();
180  void setLocalSceneEdited(bool dirty = true);
181  bool isLocalSceneDirty() const;
182  void sceneScaleChanged(int value);
183  void sceneScaleStartChange();
184  void sceneScaleEndChange();
185  void shapesComboBoxChanged(const QString& text);
186  void addSceneObject();
187  void removeSceneObjects();
189  void objectPoseValueChanged(double value);
190  void collisionObjectChanged(QListWidgetItem* item);
191  void imProcessFeedback(visualization_msgs::InteractiveMarkerFeedback& feedback);
195 
196  // Stored scenes tab
197  void saveSceneButtonClicked();
199  void saveQueryButtonClicked();
202  void loadSceneButtonClicked();
203  void loadQueryButtonClicked();
204  void warehouseItemNameChanged(QTreeWidgetItem* item, int column);
205 
206  // States tab
207  void loadStateButtonClicked();
214 
215  // Pick and place
220  void detectedObjectChanged(QListWidgetItem* item);
222 
223  // General
224  void tabChanged(int index);
225 
226 private:
227  // Context tab
230  void computeResetDbButtonClicked(const std::string& db);
231  void populatePlannersList(const std::vector<moveit_msgs::PlannerInterfaceDescription>& desc);
232  void populatePlannerDescription(const moveit_msgs::PlannerInterfaceDescription& desc);
233 
234  // Planning tab
240  void onFinishedExecution(bool success);
242  void populateConstraintsList(const std::vector<std::string>& constr);
243  void configureForPlanning();
244  void configureWorkspace();
245  void updateQueryStateHelper(moveit::core::RobotState& state, const std::string& v);
248  void startStateTextChangedExec(const std::string& start_state);
249  void goalStateTextChangedExec(const std::string& goal_state);
250 
251  // Scene objects tab
252  void updateCollisionObjectPose(bool update_marker_position);
254  void renameCollisionObject(QListWidgetItem* item);
255  void attachDetachCollisionObject(QListWidgetItem* item);
256  QListWidgetItem* addCollisionObjectToList(const std::string& name, int row, bool attached);
258  void computeImportGeometryFromText(const std::string& path);
259  void computeExportGeometryAsText(const std::string& path);
260  visualization_msgs::InteractiveMarker
262 
263  // Stored scenes tab
265  void computeSaveQueryButtonClicked(const std::string& scene, const std::string& query_name);
271  void computeDeleteQueryButtonClickedHelper(QTreeWidgetItem* s);
273 
274  // States tab
277 
278  // Pick and place
279  void processDetectedObjects();
280  void updateDetectedObjectsList(const std::vector<std::string>& object_ids);
281  void publishTables();
284  std::map<std::string, std::string> pick_object_name_;
285  std::string place_object_name_;
286  std::vector<geometry_msgs::PoseStamped> place_poses_;
287  void pickObject();
288  void placeObject();
289  void triggerObjectDetection();
290  void updateTables();
292  // For coloring
295 
296  std::unique_ptr<actionlib::SimpleActionClient<object_recognition_msgs::ObjectRecognitionAction> >
298  template <typename T>
299  void waitForAction(const T& action, const ros::Duration& wait_for_server, const std::string& name);
300  void listenDetectedObjects(const object_recognition_msgs::RecognizedObjectArrayPtr& msg);
302 
310  // General
312  shapes::ShapePtr loadMeshResource(const std::string& url);
313  void loadStoredStates(const std::string& pattern);
314 
315  void remotePlanCallback(const std_msgs::EmptyConstPtr& msg);
316  void remoteExecuteCallback(const std_msgs::EmptyConstPtr& msg);
317  void remoteStopCallback(const std_msgs::EmptyConstPtr& msg);
318  void remoteUpdateStartStateCallback(const std_msgs::EmptyConstPtr& msg);
319  void remoteUpdateGoalStateCallback(const std_msgs::EmptyConstPtr& msg);
320  void remoteUpdateCustomStartStateCallback(const moveit_msgs::RobotStateConstPtr& msg);
321  void remoteUpdateCustomGoalStateCallback(const moveit_msgs::RobotStateConstPtr& msg);
322 
323  ros::NodeHandle nh_; // node handle with the namespace of the connected move_group node
326 
330 
331  std::vector<std::pair<std::string, bool> > known_collision_objects_;
335 };
336 
337 // \todo THIS IS REALLY BAD. NEED TO MOVE THIS AND RELATED FUNCTIONALITY OUT OF HERE
338 template <typename T>
339 void MotionPlanningFrame::waitForAction(const T& action, const ros::Duration& wait_for_server, const std::string& name)
340 {
341  ROS_DEBUG("Waiting for MoveGroup action server (%s)...", name.c_str());
342 
343  // in case ROS time is published, wait for the time data to arrive
344  ros::Time start_time = ros::Time::now();
345  while (start_time == ros::Time::now())
346  {
347  ros::WallDuration(0.01).sleep();
348  ros::spinOnce();
349  }
350 
351  // wait for the server (and spin as needed)
352  if (wait_for_server == ros::Duration(0, 0))
353  {
354  // wait forever until action server connects
355  while (ros::ok() && !action->isServerConnected())
356  {
357  ros::WallDuration(0.02).sleep();
358  ros::spinOnce();
359  }
360  }
361  else
362  {
363  // wait for a limited amount of non-simulated time
364  ros::WallTime final_time = ros::WallTime::now() + ros::WallDuration(wait_for_server.toSec());
365  while (ros::ok() && !action->isServerConnected() && final_time > ros::WallTime::now())
366  {
367  ros::WallDuration(0.02).sleep();
368  ros::spinOnce();
369  }
370  }
371 
372  if (!action->isServerConnected())
373  throw std::runtime_error("Unable to connect to move_group action server within allotted time");
374  else
375  ROS_DEBUG("Connected to '%s'", name.c_str());
376 };
377 } // namespace moveit_rviz_plugin
semantic_world.h
moveit_rviz_plugin::MotionPlanningFrame::deleteQueryButtonClicked
void deleteQueryButtonClicked()
Definition: motion_planning_frame_scenes.cpp:221
moveit_rviz_plugin::MotionPlanningFrame::sceneScaleChanged
void sceneScaleChanged(int value)
Definition: motion_planning_frame_objects.cpp:151
moveit_rviz_plugin::TAB_STATES
static const std::string TAB_STATES
Definition: motion_planning_frame.h:93
ros::WallDuration::sleep
bool sleep() const
moveit_rviz_plugin::MotionPlanningFrame::planningGroupTextChanged
void planningGroupTextChanged(const QString &planning_group)
Definition: motion_planning_frame_planning.cpp:331
moveit_rviz_plugin::MotionPlanningFrame::pick_object_name_
std::map< std::string, std::string > pick_object_name_
Definition: motion_planning_frame.h:284
moveit_rviz_plugin::MotionPlanningFrame::selectedDetectedObjectChanged
void selectedDetectedObjectChanged()
Definition: motion_planning_frame_manipulation.cpp:140
moveit_rviz_plugin::MotionPlanningFrame::remoteUpdateCustomGoalStateCallback
void remoteUpdateCustomGoalStateCallback(const moveit_msgs::RobotStateConstPtr &msg)
Definition: motion_planning_frame_planning.cpp:635
moveit_rviz_plugin::MotionPlanningFrame::populatePlannersList
void populatePlannersList(const std::vector< moveit_msgs::PlannerInterfaceDescription > &desc)
Definition: motion_planning_frame_planning.cpp:413
moveit_rviz_plugin::MotionPlanningFrame::computeSaveQueryButtonClicked
void computeSaveQueryButtonClicked(const std::string &scene, const std::string &query_name)
Definition: motion_planning_frame_objects.cpp:492
moveit_rviz_plugin::MotionPlanningFrame::remotePlanCallback
void remotePlanCallback(const std_msgs::EmptyConstPtr &msg)
Definition: motion_planning_frame_planning.cpp:574
moveit_rviz_plugin::MotionPlanningFrame::pickObjectButtonClicked
void pickObjectButtonClicked()
Definition: motion_planning_frame_manipulation.cpp:296
moveit_rviz_plugin::MotionPlanningFrame::loadStoredStates
void loadStoredStates(const std::string &pattern)
Definition: motion_planning_frame_states.cpp:110
moveit_rviz_plugin::MotionPlanningFrame::fillPlanningGroupOptions
void fillPlanningGroupOptions()
Definition: motion_planning_frame.cpp:306
moveit_rviz_plugin::MotionPlanningFrame::databaseConnectButtonClicked
void databaseConnectButtonClicked()
Definition: motion_planning_frame_context.cpp:86
moveit_rviz_plugin::MotionPlanningFrame::sceneScaleEndChange
void sceneScaleEndChange()
Definition: motion_planning_frame_objects.cpp:208
EigenSTL::vector_Isometry3d
std::vector< Eigen::Isometry3d, Eigen::aligned_allocator< Eigen::Isometry3d > > vector_Isometry3d
moveit_rviz_plugin::MotionPlanningFrame::saveStartStateButtonClicked
void saveStartStateButtonClicked()
Definition: motion_planning_frame_states.cpp:205
moveit_rviz_plugin::MotionPlanningFrame::populateRobotStatesList
void populateRobotStatesList()
Definition: motion_planning_frame_states.cpp:81
moveit_rviz_plugin::MotionPlanningFrame::computeLoadSceneButtonClicked
void computeLoadSceneButtonClicked()
Definition: motion_planning_frame_objects.cpp:620
ros::Publisher
moveit_rviz_plugin::MotionPlanningFrame::attachDetachCollisionObject
void attachDetachCollisionObject(QListWidgetItem *item)
Definition: motion_planning_frame_objects.cpp:836
moveit_rviz_plugin::MotionPlanningFrame::computeExecuteButtonClicked
void computeExecuteButtonClicked()
Definition: motion_planning_frame_planning.cpp:229
moveit_rviz_plugin::MotionPlanningFrame::remoteUpdateCustomStartStateCallback
void remoteUpdateCustomStartStateCallback(const moveit_msgs::RobotStateConstPtr &msg)
Definition: motion_planning_frame_planning.cpp:617
moveit_rviz_plugin::MotionPlanningFrame::isLocalSceneDirty
bool isLocalSceneDirty() const
Definition: motion_planning_frame_objects.cpp:111
moveit_rviz_plugin::MotionPlanningFrame::robot_state_storage_
moveit_warehouse::RobotStateStoragePtr robot_state_storage_
Definition: motion_planning_frame.h:136
moveit_rviz_plugin::MotionPlanningFrame::createObjectMarkerMsg
visualization_msgs::InteractiveMarker createObjectMarkerMsg(const collision_detection::CollisionEnv::ObjectConstPtr &obj)
Definition: motion_planning_frame_objects.cpp:726
moveit_rviz_plugin::MotionPlanningFrame::nh_
ros::NodeHandle nh_
Definition: motion_planning_frame.h:323
moveit_rviz_plugin::MotionPlanningFrame::changePlanningGroupHelper
void changePlanningGroupHelper()
Definition: motion_planning_frame.cpp:362
moveit_rviz_plugin::MotionPlanningFrame::RobotStatePair
std::pair< std::string, moveit_msgs::RobotState > RobotStatePair
Definition: motion_planning_frame.h:141
moveit_rviz_plugin::MotionPlanningFrame::disable
void disable()
Definition: motion_planning_frame.cpp:635
moveit_rviz_plugin::TAB_STATUS
static const std::string TAB_STATUS
Definition: motion_planning_frame.h:94
moveit_rviz_plugin::MotionPlanningFrame::MotionPlanningFrame
MotionPlanningFrame(const MotionPlanningFrame &)=delete
moveit_rviz_plugin::MotionPlanningFrame::updateTables
void updateTables()
Definition: motion_planning_frame_manipulation.cpp:228
moveit_rviz_plugin::MotionPlanningFrame::scaled_object_subframes_
moveit::core::FixedTransformsMap scaled_object_subframes_
Definition: motion_planning_frame.h:328
moveit_rviz_plugin::MotionPlanningFrame::current_plan_
moveit::planning_interface::MoveGroupInterface::PlanPtr current_plan_
Definition: motion_planning_frame.h:133
moveit_rviz_plugin::MotionPlanningFrame::clear_octomap_service_client_
ros::ServiceClient clear_octomap_service_client_
Definition: motion_planning_frame.h:334
moveit_rviz_plugin::MotionPlanningFrame::planningSceneItemClicked
void planningSceneItemClicked()
Definition: motion_planning_frame_scenes.cpp:147
moveit_rviz_plugin::MotionPlanningFrame::changePlanningGroup
void changePlanningGroup()
Definition: motion_planning_frame.cpp:440
moveit_rviz_plugin::MotionPlanningFrame::shapesComboBoxChanged
void shapesComboBoxChanged(const QString &text)
Definition: motion_planning_frame_objects.cpp:76
moveit_rviz_plugin::MotionPlanningFrame::setAsStartStateButtonClicked
void setAsStartStateButtonClicked()
Definition: motion_planning_frame_states.cpp:215
moveit_rviz_plugin::MotionPlanningFrame::remoteUpdateGoalStateCallback
void remoteUpdateGoalStateCallback(const std_msgs::EmptyConstPtr &msg)
Definition: motion_planning_frame_planning.cpp:603
moveit_rviz_plugin::MotionPlanningFrame::updateSceneMarkers
void updateSceneMarkers(float wall_dt, float ros_dt)
Definition: motion_planning_frame.cpp:651
moveit_rviz_plugin::MotionPlanningFrame::exportGeometryAsTextButtonClicked
void exportGeometryAsTextButtonClicked()
Definition: motion_planning_frame_objects.cpp:959
moveit_rviz_plugin::MotionPlanningFrame::support_surface_name_
std::string support_surface_name_
Definition: motion_planning_frame.h:291
ros::spinOnce
ROSCPP_DECL void spinOnce()
ROS_DEBUG
#define ROS_DEBUG(...)
moveit_rviz_plugin::MotionPlanningFrame::removeStateButtonClicked
void removeStateButtonClicked()
Definition: motion_planning_frame_states.cpp:239
moveit_rviz_plugin::MotionPlanningFrame::planningAlgorithmIndexChanged
void planningAlgorithmIndexChanged(int index)
Definition: motion_planning_frame_context.cpp:104
moveit_rviz_plugin::MotionPlanningFrame::collisionObjectChanged
void collisionObjectChanged(QListWidgetItem *item)
Definition: motion_planning_frame_objects.cpp:388
moveit_rviz_plugin::MotionPlanningFrame::constraints_storage_
moveit_warehouse::ConstraintsStoragePtr constraints_storage_
Definition: motion_planning_frame.h:135
moveit_rviz_plugin::MotionPlanningFrame::executeButtonClicked
void executeButtonClicked()
Definition: motion_planning_frame_planning.cpp:91
moveit_rviz_plugin::MotionPlanningFrame::configureWorkspace
void configureWorkspace()
Definition: motion_planning_frame_planning.cpp:524
moveit_rviz_plugin::TAB_CONTEXT
static const std::string TAB_CONTEXT
Definition: motion_planning_frame.h:88
moveit_rviz_plugin::MotionPlanningFrame::startStateTextChangedExec
void startStateTextChangedExec(const std::string &start_state)
Definition: motion_planning_frame_planning.cpp:310
moveit_rviz_plugin::MotionPlanningFrame::addSceneObject
void addSceneObject()
Definition: motion_planning_frame.cpp:454
moveit_warehouse
moveit_rviz_plugin::MotionPlanningFrame::enable
void enable()
Definition: motion_planning_frame.cpp:580
moveit_rviz_plugin::MotionPlanningFrame::updateCollisionObjectPose
void updateCollisionObjectPose(bool update_marker_position)
Definition: motion_planning_frame_objects.cpp:352
moveit::core::RobotState
moveit_rviz_plugin::MotionPlanningFrame::computePlanAndExecuteButtonClickedDisplayHelper
void computePlanAndExecuteButtonClickedDisplayHelper()
moveit_rviz_plugin::MotionPlanningFrame::planAndExecuteButtonClicked
void planAndExecuteButtonClicked()
Definition: motion_planning_frame_planning.cpp:98
moveit_rviz_plugin::MotionPlanningFrame::object_recognition_client_
std::unique_ptr< actionlib::SimpleActionClient< object_recognition_msgs::ObjectRecognitionAction > > object_recognition_client_
Definition: motion_planning_frame.h:297
moveit_rviz_plugin::MotionPlanningFrame::loadQueryButtonClicked
void loadQueryButtonClicked()
Definition: motion_planning_frame_scenes.cpp:231
moveit_rviz_plugin::MotionPlanningFrame::computeDatabaseConnectButtonClicked
void computeDatabaseConnectButtonClicked()
Definition: motion_planning_frame_context.cpp:145
moveit_rviz_plugin::MotionPlanningFrame::updateExternalCommunication
void updateExternalCommunication()
Definition: motion_planning_frame.cpp:657
moveit_rviz_plugin::MotionPlanningFrame::onNewPlanningSceneState
void onNewPlanningSceneState()
Definition: motion_planning_frame_planning.cpp:291
moveit_rviz_plugin::MotionPlanningFrame::populateCollisionObjectsList
void populateCollisionObjectsList(planning_scene_monitor::LockedPlanningSceneRO *pps=nullptr)
Definition: motion_planning_frame_objects.cpp:904
moveit_rviz_plugin::MotionPlanningFrame::allowExternalProgramCommunication
void allowExternalProgramCommunication(bool enable)
Definition: motion_planning_frame.cpp:270
ros::ok
ROSCPP_DECL bool ok()
moveit_rviz_plugin::MotionPlanningFrame::pickObject
void pickObject()
Definition: motion_planning_frame_manipulation.cpp:379
moveit_rviz_plugin::MotionPlanningDisplay
Definition: motion_planning_display.h:82
moveit_rviz_plugin::MotionPlanningFrame::processDetectedObjects
void processDetectedObjects()
Definition: motion_planning_frame_manipulation.cpp:100
moveit_rviz_plugin::MotionPlanningFrame::importGeometryFromTextButtonClicked
void importGeometryFromTextButtonClicked()
Definition: motion_planning_frame_objects.cpp:1009
moveit_rviz_plugin::MotionPlanningFrame::~MotionPlanningFrame
~MotionPlanningFrame() override
Definition: motion_planning_frame.cpp:260
moveit_rviz_plugin::MotionPlanningFrame::publishTables
void publishTables()
Definition: motion_planning_frame_manipulation.cpp:234
moveit_rviz_plugin::MotionPlanningFrame::saveRobotStateButtonClicked
void saveRobotStateButtonClicked(const moveit::core::RobotState &state)
Definition: motion_planning_frame_states.cpp:154
planning_scene_monitor::PlanningSceneMonitor::SceneUpdateType
SceneUpdateType
moveit_rviz_plugin::MotionPlanningFrame::planButtonClicked
void planButtonClicked()
Definition: motion_planning_frame_planning.cpp:85
moveit_rviz_plugin::MotionPlanningFrame::computeCartesianPlan
bool computeCartesianPlan()
Definition: motion_planning_frame_planning.cpp:147
moveit_rviz_plugin::TAB_MANIPULATION
static const std::string TAB_MANIPULATION
Definition: motion_planning_frame.h:90
moveit_rviz_plugin::OBJECT_RECOGNITION_ACTION
const std::string OBJECT_RECOGNITION_ACTION
Definition: motion_planning_frame.h:86
moveit_rviz_plugin::MotionPlanningFrame::deleteSceneButtonClicked
void deleteSceneButtonClicked()
Definition: motion_planning_frame_scenes.cpp:216
moveit_rviz_plugin::MotionPlanningFrame::addCollisionObjectToList
QListWidgetItem * addCollisionObjectToList(const std::string &name, int row, bool attached)
Definition: motion_planning_frame_objects.cpp:894
moveit_rviz_plugin::MotionPlanningFrame::warehouseItemNameChanged
void warehouseItemNameChanged(QTreeWidgetItem *item, int column)
Definition: motion_planning_frame_scenes.cpp:236
moveit_rviz_plugin::TAB_PLANNING
static const std::string TAB_PLANNING
Definition: motion_planning_frame.h:89
moveit_rviz_plugin::MotionPlanningFrame::update_goal_state_subscriber_
ros::Subscriber update_goal_state_subscriber_
Definition: motion_planning_frame.h:307
shapes::ShapePtr
std::shared_ptr< Shape > ShapePtr
moveit_rviz_plugin::MotionPlanningFrameJointsWidget
Definition: motion_planning_frame_joints_widget.h:123
moveit_rviz_plugin::MotionPlanningFrame::planning_scene_world_publisher_
ros::Publisher planning_scene_world_publisher_
Definition: motion_planning_frame.h:325
moveit_rviz_plugin::MotionPlanningFrame::scene_marker_
std::shared_ptr< rviz::InteractiveMarker > scene_marker_
Definition: motion_planning_frame.h:138
moveit_rviz_plugin::MotionPlanningFrame::ui_
Ui::MotionPlanningUI * ui_
Definition: motion_planning_frame.h:127
moveit_rviz_plugin::MotionPlanningFrame::planningFinished
void planningFinished()
moveit_rviz_plugin::MotionPlanningFrame::saveSceneButtonClicked
void saveSceneButtonClicked()
Definition: motion_planning_frame_scenes.cpp:95
simple_action_client.h
moveit_rviz_plugin::MotionPlanningFrame::sceneUpdate
void sceneUpdate(planning_scene_monitor::PlanningSceneMonitor::SceneUpdateType update_type)
Definition: motion_planning_frame.cpp:448
moveit_rviz_plugin::MotionPlanningFrame::sceneScaleStartChange
void sceneScaleStartChange()
Definition: motion_planning_frame_objects.cpp:191
moveit_rviz_plugin::MotionPlanningFrame::copySelectedCollisionObjects
void copySelectedCollisionObjects()
Definition: motion_planning_frame_objects.cpp:438
Ui
Definition: motion_planning_frame.h:69
moveit_rviz_plugin::MotionPlanningFrame::selected_object_name_
std::string selected_object_name_
Definition: motion_planning_frame.h:293
moveit_rviz_plugin::MotionPlanningFrame::createSceneInteractiveMarker
void createSceneInteractiveMarker()
Definition: motion_planning_frame_objects.cpp:745
rviz
interactive_marker.h
moveit_rviz_plugin::MotionPlanningFrame::onClearOctomapClicked
void onClearOctomapClicked()
Definition: motion_planning_frame_planning.cpp:140
planning_scene_monitor.h
moveit_rviz_plugin::MotionPlanningFrame::computeDeleteSceneButtonClicked
void computeDeleteSceneButtonClicked()
Definition: motion_planning_frame_objects.cpp:513
moveit_rviz_plugin::MotionPlanningFrame::stopButtonClicked
void stopButtonClicked()
Definition: motion_planning_frame_planning.cpp:107
ros::WallTime::now
static WallTime now()
moveit_rviz_plugin::MotionPlanningFrame::computePlanAndExecuteButtonClicked
void computePlanAndExecuteButtonClicked()
Definition: motion_planning_frame_planning.cpp:241
moveit_rviz_plugin::MotionPlanningFrame::computePlanButtonClicked
void computePlanButtonClicked()
Definition: motion_planning_frame_planning.cpp:198
moveit_rviz_plugin::MotionPlanningFrame::planning_scene_storage_
moveit_warehouse::PlanningSceneStoragePtr planning_scene_storage_
Definition: motion_planning_frame.h:134
moveit_rviz_plugin::MotionPlanningFrame::place_poses_
std::vector< geometry_msgs::PoseStamped > place_poses_
Definition: motion_planning_frame.h:286
moveit_rviz_plugin::MotionPlanningFrame::loadSceneButtonClicked
void loadSceneButtonClicked()
Definition: motion_planning_frame_scenes.cpp:226
moveit_rviz_plugin::MotionPlanningFrame::known_collision_objects_
std::vector< std::pair< std::string, bool > > known_collision_objects_
Definition: motion_planning_frame.h:331
ros::ServiceClient
moveit_rviz_plugin::MotionPlanningFrame::computeJointSpacePlan
bool computeJointSpacePlan()
Definition: motion_planning_frame_planning.cpp:192
collision_detection::CollisionEnv::ObjectConstPtr
World::ObjectConstPtr ObjectConstPtr
moveit_rviz_plugin::MotionPlanningFrame::known_collision_objects_version_
long unsigned int known_collision_objects_version_
Definition: motion_planning_frame.h:332
moveit_rviz_plugin::MotionPlanningFrame::detectedObjectChanged
void detectedObjectChanged(QListWidgetItem *item)
Definition: motion_planning_frame_manipulation.cpp:164
moveit_rviz_plugin::MotionPlanningFrame::semantic_world_
moveit::semantic_world::SemanticWorldPtr semantic_world_
Definition: motion_planning_frame.h:131
moveit_rviz_plugin::MotionPlanningFrame::joints_tab_
MotionPlanningFrameJointsWidget * joints_tab_
Definition: motion_planning_frame.h:128
moveit_rviz_plugin::MotionPlanningFrame::clearStatesButtonClicked
void clearStatesButtonClicked()
Definition: motion_planning_frame_states.cpp:276
moveit::core::FixedTransformsMap
std::map< std::string, Eigen::Isometry3d, std::less< std::string >, Eigen::aligned_allocator< std::pair< const std::string, Eigen::Isometry3d > > > FixedTransformsMap
moveit_warehouse::MOVEIT_CLASS_FORWARD
MOVEIT_CLASS_FORWARD(ConstraintsStorage)
moveit_rviz_plugin::MotionPlanningFrame::allowLookingToggled
void allowLookingToggled(bool checked)
Definition: motion_planning_frame_planning.cpp:119
moveit_rviz_plugin::MotionPlanningFrame::planning_scene_publisher_
ros::Publisher planning_scene_publisher_
Definition: motion_planning_frame.h:324
moveit_rviz_plugin::MotionPlanningFrame::computeLoadQueryButtonClicked
void computeLoadQueryButtonClicked()
Definition: motion_planning_frame_objects.cpp:674
moveit_rviz_plugin::MotionPlanningFrame::tabChanged
void tabChanged(int index)
Definition: motion_planning_frame.cpp:643
moveit_rviz_plugin::MotionPlanningFrame::planningPipelineIndexChanged
void planningPipelineIndexChanged(int index)
Definition: motion_planning_frame_context.cpp:91
rviz::DisplayContext
name
name
ros::WallTime
moveit_rviz_plugin::MotionPlanningFrame::clearScene
void clearScene()
Definition: motion_planning_frame_objects.cpp:138
moveit_rviz_plugin::MotionPlanningFrame::goalStateTextChangedExec
void goalStateTextChangedExec(const std::string &goal_state)
Definition: motion_planning_frame_planning.cpp:324
moveit_rviz_plugin::MotionPlanningFrame::remoteStopCallback
void remoteStopCallback(const std_msgs::EmptyConstPtr &msg)
Definition: motion_planning_frame_planning.cpp:584
moveit_rviz_plugin::MotionPlanningFrame::scaled_object_
collision_detection::CollisionEnv::ObjectConstPtr scaled_object_
Definition: motion_planning_frame.h:327
moveit_rviz_plugin::MotionPlanningFrame::ITEM_TYPE_SCENE
static const int ITEM_TYPE_SCENE
Definition: motion_planning_frame.h:115
moveit_rviz_plugin::MotionPlanningFrame::imProcessFeedback
void imProcessFeedback(visualization_msgs::InteractiveMarkerFeedback &feedback)
Definition: motion_planning_frame_objects.cpp:405
moveit_rviz_plugin::MotionPlanningFrame::populatePlannerDescription
void populatePlannerDescription(const moveit_msgs::PlannerInterfaceDescription &desc)
Definition: motion_planning_frame_planning.cpp:440
moveit_rviz_plugin::MotionPlanningFrame::object_recognition_trigger_publisher_
ros::Publisher object_recognition_trigger_publisher_
Definition: motion_planning_frame.h:283
moveit_rviz_plugin::MotionPlanningFrame::ITEM_TYPE_QUERY
static const int ITEM_TYPE_QUERY
Definition: motion_planning_frame.h:116
move_group_interface.h
moveit_rviz_plugin::MotionPlanningFrame::computeDeleteQueryButtonClickedHelper
void computeDeleteQueryButtonClickedHelper(QTreeWidgetItem *s)
Definition: motion_planning_frame_objects.cpp:577
moveit_rviz_plugin::MotionPlanningFrame::planner_descriptions_
std::vector< moveit_msgs::PlannerInterfaceDescription > planner_descriptions_
Definition: motion_planning_frame.h:144
moveit_rviz_plugin::MotionPlanningFrame::RobotStateMap
std::map< std::string, moveit_msgs::RobotState > RobotStateMap
Definition: motion_planning_frame.h:140
moveit_rviz_plugin::MotionPlanningFrame::allowReplanningToggled
void allowReplanningToggled(bool checked)
Definition: motion_planning_frame_planning.cpp:113
moveit_rviz_plugin
Definition: motion_planning_display.h:80
moveit_rviz_plugin::MotionPlanningFrame
Definition: motion_planning_frame.h:98
moveit_rviz_plugin::MotionPlanningFrame::update_start_state_subscriber_
ros::Subscriber update_start_state_subscriber_
Definition: motion_planning_frame.h:306
moveit_rviz_plugin::MotionPlanningFrame::currentCollisionObjectChanged
void currentCollisionObjectChanged()
Definition: motion_planning_frame_objects.cpp:280
moveit_rviz_plugin::MotionPlanningFrame::saveQueryButtonClicked
void saveQueryButtonClicked()
Definition: motion_planning_frame_scenes.cpp:152
moveit_rviz_plugin::MotionPlanningFrame::saveGoalStateButtonClicked
void saveGoalStateButtonClicked()
Definition: motion_planning_frame_states.cpp:210
moveit_rviz_plugin::MotionPlanningFrame::updateSupportSurfacesList
void updateSupportSurfacesList()
Definition: motion_planning_frame_manipulation.cpp:264
moveit_rviz_plugin::TAB_OBJECTS
static const std::string TAB_OBJECTS
Definition: motion_planning_frame.h:91
moveit_rviz_plugin::MotionPlanningFrame::object_recognition_subscriber_
ros::Subscriber object_recognition_subscriber_
Definition: motion_planning_frame.h:301
moveit_rviz_plugin::MotionPlanningFrame::stop_subscriber_
ros::Subscriber stop_subscriber_
Definition: motion_planning_frame.h:305
moveit_rviz_plugin::MotionPlanningFrame::waitForAction
void waitForAction(const T &action, const ros::Duration &wait_for_server, const std::string &name)
Definition: motion_planning_frame.h:339
moveit_rviz_plugin::MotionPlanningFrame::fillStateSelectionOptions
void fillStateSelectionOptions()
Definition: motion_planning_frame.cpp:316
interactive_marker_server.h
ros::Time
moveit_rviz_plugin::MotionPlanningFrame::loadMeshResource
shapes::ShapePtr loadMeshResource(const std::string &url)
Definition: motion_planning_frame.cpp:534
moveit_rviz_plugin::MotionPlanningFrame::computeResetDbButtonClicked
void computeResetDbButtonClicked(const std::string &db)
Definition: motion_planning_frame_context.cpp:238
moveit_rviz_plugin::MotionPlanningFrame::approximateIKChanged
void approximateIKChanged(int state)
Definition: motion_planning_frame.cpp:265
moveit_rviz_plugin::MotionPlanningFrame::scaled_object_shape_poses_
EigenSTL::vector_Isometry3d scaled_object_shape_poses_
Definition: motion_planning_frame.h:329
moveit_rviz_plugin::MotionPlanningFrame::listenDetectedObjects
void listenDetectedObjects(const object_recognition_msgs::RecognizedObjectArrayPtr &msg)
Definition: motion_planning_frame_manipulation.cpp:198
moveit_rviz_plugin::MotionPlanningFrame::placeObjectButtonClicked
void placeObjectButtonClicked()
Definition: motion_planning_frame_manipulation.cpp:333
class_forward.h
planning_scene_monitor::LockedPlanningSceneRO
moveit_rviz_plugin::MotionPlanningFrame::updateQueryStateHelper
void updateQueryStateHelper(moveit::core::RobotState &state, const std::string &v)
Definition: motion_planning_frame_planning.cpp:336
moveit_rviz_plugin::MotionPlanningFrame::setAsGoalStateButtonClicked
void setAsGoalStateButtonClicked()
Definition: motion_planning_frame_states.cpp:227
moveit_rviz_plugin::MotionPlanningFrame::computeSaveSceneButtonClicked
void computeSaveSceneButtonClicked()
Definition: motion_planning_frame_objects.cpp:472
moveit_rviz_plugin::MotionPlanningFrame::computeImportGeometryFromText
void computeImportGeometryFromText(const std::string &path)
Definition: motion_planning_frame_objects.cpp:986
moveit_rviz_plugin::MotionPlanningFrame::clearRobotModel
void clearRobotModel()
Definition: motion_planning_frame.cpp:433
moveit_rviz_plugin::MotionPlanningFrame::remoteUpdateStartStateCallback
void remoteUpdateStartStateCallback(const std_msgs::EmptyConstPtr &msg)
Definition: motion_planning_frame_planning.cpp:589
moveit_rviz_plugin::MotionPlanningFrame::constructPlanningRequest
void constructPlanningRequest(moveit_msgs::MotionPlanRequest &mreq)
Definition: motion_planning_frame_planning.cpp:501
moveit_rviz_plugin::MotionPlanningFrame::updateDetectedObjectsList
void updateDetectedObjectsList(const std::vector< std::string > &object_ids)
Definition: motion_planning_frame_manipulation.cpp:204
moveit_rviz_plugin::MotionPlanningFrame::populateConstraintsList
void populateConstraintsList()
Definition: motion_planning_frame_planning.cpp:487
moveit_rviz_plugin::MotionPlanningFrame::populatePlanningSceneTreeView
void populatePlanningSceneTreeView()
Definition: motion_planning_frame_scenes.cpp:285
moveit_rviz_plugin::MotionPlanningFrame::update_custom_start_state_subscriber_
ros::Subscriber update_custom_start_state_subscriber_
Definition: motion_planning_frame.h:308
moveit_rviz_plugin::MotionPlanningFrame::update_custom_goal_state_subscriber_
ros::Subscriber update_custom_goal_state_subscriber_
Definition: motion_planning_frame.h:309
moveit_rviz_plugin::MotionPlanningFrame::configureForPlanning
void configureForPlanning()
Definition: motion_planning_frame_planning.cpp:561
moveit_rviz_plugin::MotionPlanningFrame::triggerObjectDetection
void triggerObjectDetection()
Definition: motion_planning_frame_manipulation.cpp:168
moveit_rviz_plugin::MotionPlanningFrame::initFromMoveGroupNS
void initFromMoveGroupNS()
Definition: motion_planning_frame.cpp:601
moveit_rviz_plugin::MotionPlanningFrame::default_planning_pipeline_
std::string default_planning_pipeline_
Definition: motion_planning_frame.h:143
moveit_rviz_plugin::MotionPlanningFrame::publishScene
void publishScene()
Definition: motion_planning_frame_objects.cpp:116
moveit_rviz_plugin::MotionPlanningFrame::context_
rviz::DisplayContext * context_
Definition: motion_planning_frame.h:126
moveit_rviz_plugin::MotionPlanningFrame::publishSceneIfNeeded
void publishSceneIfNeeded()
Definition: motion_planning_frame_objects.cpp:128
moveit_rviz_plugin::MotionPlanningFrame::onFinishedExecution
void onFinishedExecution(bool success)
Definition: motion_planning_frame_planning.cpp:272
moveit_rviz_plugin::MotionPlanningFrame::planning_display_
MotionPlanningDisplay * planning_display_
Definition: motion_planning_frame.h:125
moveit_rviz_plugin::MotionPlanningFrame::resetDbButtonClicked
void resetDbButtonClicked()
Definition: motion_planning_frame_context.cpp:116
moveit_rviz_plugin::MotionPlanningFrame::placeObject
void placeObject()
Definition: motion_planning_frame_manipulation.cpp:398
moveit_rviz_plugin::TAB_SCENES
static const std::string TAB_SCENES
Definition: motion_planning_frame.h:92
DurationBase< Duration >::toSec
double toSec() const
moveit_rviz_plugin::MotionPlanningFrame::remoteExecuteCallback
void remoteExecuteCallback(const std_msgs::EmptyConstPtr &msg)
Definition: motion_planning_frame_planning.cpp:579
moveit_rviz_plugin::MotionPlanningFrame::checkPlanningSceneTreeEnabledButtons
void checkPlanningSceneTreeEnabledButtons()
Definition: motion_planning_frame_objects.cpp:584
ros::WallDuration
robot_interaction.h
moveit_rviz_plugin::MotionPlanningFrame::selected_support_surface_name_
std::string selected_support_surface_name_
Definition: motion_planning_frame.h:294
moveit_rviz_plugin::MotionPlanningFrame::configChanged
void configChanged()
moveit_rviz_plugin::MotionPlanningFrame::computeDatabaseConnectButtonClickedHelper
void computeDatabaseConnectButtonClickedHelper(int mode)
Definition: motion_planning_frame_context.cpp:183
moveit_rviz_plugin::MotionPlanningFrame::selectedSupportSurfaceChanged
void selectedSupportSurfaceChanged()
Definition: motion_planning_frame_manipulation.cpp:240
moveit_rviz_plugin::MotionPlanningFrame::loadStateButtonClicked
void loadStateButtonClicked()
Definition: motion_planning_frame_states.cpp:91
moveit_rviz_plugin::MotionPlanningFrame::execute_subscriber_
ros::Subscriber execute_subscriber_
Definition: motion_planning_frame.h:304
moveit_rviz_plugin::MotionPlanningFrame::setLocalSceneEdited
void setLocalSceneEdited(bool dirty=true)
Definition: motion_planning_frame_objects.cpp:106
moveit_rviz_plugin::MotionPlanningFrame::computeDeleteQueryButtonClicked
void computeDeleteQueryButtonClicked()
Definition: motion_planning_frame_objects.cpp:551
moveit_rviz_plugin::MotionPlanningFrame::removeSceneObjects
void removeSceneObjects()
Definition: motion_planning_frame_objects.cpp:214
moveit_rviz_plugin::MotionPlanningFrame::first_time_
bool first_time_
Definition: motion_planning_frame.h:333
ros::Duration
moveit_rviz_plugin::MotionPlanningFrame::startStateTextChanged
void startStateTextChanged(const QString &start_state)
Definition: motion_planning_frame_planning.cpp:303
moveit_rviz_plugin::MotionPlanningFrame::objectPoseValueChanged
void objectPoseValueChanged(double value)
Definition: motion_planning_frame_objects.cpp:347
moveit_rviz_plugin::MotionPlanningFrame::place_object_name_
std::string place_object_name_
Definition: motion_planning_frame.h:285
moveit_rviz_plugin::MotionPlanningFrame::computeExportGeometryAsText
void computeExportGeometryAsText(const std::string &path)
Definition: motion_planning_frame_objects.cpp:968
moveit_rviz_plugin::MotionPlanningFrame::robot_states_
RobotStateMap robot_states_
Definition: motion_planning_frame.h:142
moveit_rviz_plugin::MotionPlanningFrame::move_group_
moveit::planning_interface::MoveGroupInterfacePtr move_group_
Definition: motion_planning_frame.h:130
moveit_rviz_plugin::MotionPlanningFrame::goalStateTextChanged
void goalStateTextChanged(const QString &goal_state)
Definition: motion_planning_frame_planning.cpp:317
moveit_rviz_plugin::MotionPlanningFrame::renameCollisionObject
void renameCollisionObject(QListWidgetItem *item)
Definition: motion_planning_frame_objects.cpp:771
interaction_handler.h
ros::NodeHandle
ros::Subscriber
moveit_rviz_plugin::MotionPlanningFrame::pathConstraintsIndexChanged
void pathConstraintsIndexChanged(int index)
Definition: motion_planning_frame_planning.cpp:125
moveit_rviz_plugin::MotionPlanningFrame::plan_subscriber_
ros::Subscriber plan_subscriber_
Definition: motion_planning_frame.h:303
moveit_rviz_plugin::MotionPlanningFrame::computeStopButtonClicked
void computeStopButtonClicked()
Definition: motion_planning_frame_planning.cpp:266
ros::Time::now
static Time now()
moveit_rviz_plugin::LARGE_MESH_THRESHOLD
static const double LARGE_MESH_THRESHOLD
Definition: motion_planning_frame.h:96
moveit_rviz_plugin::MotionPlanningFrame::detectObjectsButtonClicked
void detectObjectsButtonClicked()
Definition: motion_planning_frame_manipulation.cpp:83


visualization
Author(s): Ioan Sucan , Dave Coleman , Sachin Chitta
autogenerated on Sat Mar 15 2025 02:27:25