The place action

Right after the object has been picked up, the manipulator will proceed with the place action. MoveIt! provides the /place action server, so the first step consists of creating an action client to send a place goal in the desired location, in order to place the object picked up:

# Create move group 'place' action client: 
self._place_ac = SimpleActionClient('/place', PlaceAction) 
if not self._place_ac.wait_for_server(rospy.Duration(5.0)): 
    rospy.logerr('Place action client not available!') 
    rospy.signal_shutdown('Place action client not available!') 
    return 

Then, we will try to place the object until we finally manage to do it:

# Place Coke can object on another place on the support surface  (table):while not self._place(self._arm_group, ...

Get ROS Programming: Building Powerful Robots now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.