One marathon hacking session later, and the robot arm is complete and functional. Thanks to a whole uninterrupted stretch of time, I was able to complete the assembly of the arm- including the most problematic part, the gripper. It is so problematic that Ril3y and I are quickly fabbing up a replacement that will be much more flexible, robust, and easier to assemble. For now, though, the robot structural framework is complete, and matches the photos that have been posted by the Oomlaut Labs guys. Of course, my arm is in the cool, racy red color, which is very nice.
Complementing the hardware, I took a few bits and pieces of software discovered on the net, and mashed it together into a manual control program for the Arduino board and the Pololu motor control board. The code is really messy, and all in Wiring, so not very elegant or compact. But it is pretty clear and easy to understand- nothing hidden, and should work on every Arduino variant. By using a readily-available Playstation PS1 controller, the interface is both familiar and cheap!
Basically, I mapped each pair of buttons to the motor axes, and hard-wired in reasonable limits, to make it harder to completely crash the machine. I also set up the “select” button to change the speed. It works great, and as you can see from the video, you can pick up and drop things with ease.
Next steps are:
1) Get the documentation completed so others can build them too, easily, if desired. Post the programs, such as they are for the same reason.
2) Add a “learning mode” using the “Start” button and L1/L2 to allow the user to program a series of way-points and then play them back. I may add a little EEPROM memory, too, for non-volatile storage of the programs. I have room on the breadboard and pins to spare.
4) Work with Ril3y to design and integrate a better gripper. As mentioned above, the one currently implemented is suboptimal.
5) Develop the framework for the kinematics programming. This will (at least at first) probably be hosted in Processing, to simplify development. There are a number of existing Open Source kinematics packages for 5DOF arms, so I am hoping to leverage (read steal) an existing one and work from that.
6) Redesign the arm to use high-torque and fine-grained stepper motors instead of the servos. This will require some position feedback. Both of these goals will nicely match what Ril3y and Alden are doing in the motion control space. Hopefully, the arm will evolve into a simple test-bed for those concepts.
Lots of fun- and a great, great weekend!