Replay mode, where the list of instructions recorded in the other modes are replayed to control the arm.

Implemented the following controls for both manual modes:

UP/DOWN: Moves the gripper up/down vertically with minimal change in the horizontal positioning of the tip of the gripper.

IN/OUT: Moves the gripper in/out horizontally with minimal change in the vertical positioning of the tip of the gripper.

LFT/RGT: Moves the base left/right.

GRB/REL: Grabs/releases an object.

WUP/WDN: Moves the wrist up/down.

WLT/WRT: Rotates the wrist left/right.

Here's a demo of a task that consists of stacking three plastic cups. In all of the videos below the same task is performed. All videos are played at 1X speed. Note the improvement in speed in each iteration.

In the initial iteration the task is performed manually, using the Android app. This is the slowest iteration. The steps are saved in a file to be replayed later.

The second iteration performs the task automatically in replay mode using the generated file in the earlier step. Replay mode eliminates the random pauses in the manual mode. Note the shorter time needed for completing the task.

In the third iteration, I manually edited the replay file to eliminate unnecessary steps. For example if rotating the wrist involved multiple steps, I removed all but the last instruction in the sequence. I also increased the magnitude of the grip where the cup would not stay in place due to sudden moves. These optimizations were rather basic and performed manually. With more work further optimizations should be possible. Note the additional speed improvement over the previous iteration.

With these out of the way, I will go ahead and wrap up this project for now. It is time to move on to other projects and I would like to revisit drones ...