Introduction – Pick & Drop Application

This readymade flow demonstrates how to use MOV.AI Flow for a complex real-life working scenario. In this pick and drop scenario a warehouse is divided up into various areas – a pickup zone, drop off zone and charging zone. An Ignition Gazebo map and an RViz map are provided in which you can see the robot leaving the charging station, traveling to the pickup station, picking up the cart, traveling to the drop off station, leaving the cart there and then going back to its charging station.

In this demo the robot will –

  1. Start off in the Charging zone.
  2. Autonomously navigate to the pickup zone (according to a node named go to pickup zone), in the same way as described in A Robot Navigating Autonomously.
  3. Detect the April tag on the cart in the pickup zone.
  4. Align itself to the cart by backing up into it using its camera and using the odometer feedback from the okf odom node. By aligning to the April tag, the robot’s gripper will be aligned with the bar on the bottom of the cart that it can grab.
  5. The robot’s gripper’s sensor automatically detects metal when it gets close and instructs the robot to stop.
  6. The robot then instructs its gripper to close so that it grasps the cart.
  7. The robot then travels one meter forward while pulling the cart with it.
  8. A go to node instructs the robot to travel to the center of the warehouse.
  9. Another go to node (named exit pick up zone) instructs the robot then to turn and then travel to the drop off zone. This two-stage movement is necessary because the robot is pulling a cart behind it, so that it can’t make a sharp turn. These two go to stages enables the cart to straighten out along the trajectory so that the robot is traveling safely while pulling the cart directly behind it.
  10. The robot travels to the drop off zone and releases its gripper, thus disconnecting from the cart.
  11. The robot then travels back to its charging zone.

The flow described in this lesson performs this sequence of events only once.

The World Provided for the Pick & Drop Application

For this demo, we provide a dedicated world in Ignition Gazebo that has been created by MOV.AI, as shown below –


One Charging Zone

The robot starts off in an area marked on the floor, which is its charging zone. The charging zone is where the robot starts off and the destination to which it returns after it completes a pickup and drop-off task.


One Pickup Zone

Another area is marked on the floor as a pickup zone, as shown below. The pickup zone is the area to where the robot travels in order to pick up (find, grab (grip) and pull) a cart that has been left in that area.


Taking a closer look at this pickup zone, we can see that it contains a cart that is waiting to be picked up. It’s front contains an April tag, which will enable the robot to detect it and align its gripper to the precise place where it can grab the cart, which will be described later in this chapter.


For the purpose of this lesson, we will only be dealing with this cart.

One Drop off Zone

This world has a single drop off zone to which the robot will pull the cart, release it, leave and travel back to the charging zone (described above).


All other objects and markings in this world are not relevant for this lesson.