ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
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.