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, ...