These past two weeks, we have been working on getting the robot to pick up a box every time. We integrated the vision/control algos with the robot kinematic algorithms and were able to reliably pick up multiple boxes in a row. Physically, we updated the arm to have both arm and electronic controllers on the same 3d printed structure/piece, and revised the arm pieces to make wires internal. We also revised the Arduino control software and finetuned the vision module’s height and speed calculations to more accurately handle edge cases. We were able to sync the main PC program’s axes/commands almost perfectly with the arm’s angle quirks to maximize accuracy. We were able to test the system on example boxes running on the treadmill and achieve 80% pickup success (8/10 runs).
Our current biggest issue is that our servo that controls the gripper is somewhat slow and jittery. We have ordered a new servo and will install it next week. We are concerned that this new installation could take a while, as we will have to reconfigure the Arduino and PC command code to account for the minute changes that the change in servo will surely cause. To minimize this risk, we have already started experimenting with different pickup move paths / command sequencing, as well as experimenting with different refresh rates and power ramping for the servo.
Next week we are going to work on dialing in arm movement and test our system with real dropoff bins.