ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Hi Oars,

There is no way to check for the status of group.go(wait=False) using the standard moveit_commande API calls. However, under the hood, the moveit_commander makes a call to the moveit_msgs/MoveGroup Action. The difference between async and non-async is that when you tell moveit_commander to wait, it monitors the output of the MoveGroup Action state and only returns control to the caller when the action has either succeeded or failed.

To see how that works: the code that does so can be found here.

To get the relevant information from the action server you can subscribe to the /move_group/status/ topic, which publishes a actionlib_msgs/GoalStatusArray that "stores the statuses for goals that are currently being tracked". An alternative would be the /move_group/feedback/ topic, which also contains information on what the action server is doing.

I'd advise you to rostopic echo both topics to see what messages are being published so you can decide which is easier to use.