Sam Spaulding

How to Make (almost) Anything


Week 14: Final Project (Update





Robotic Arm Design

I've been putting in a lot of background work and revamping the concept for what I want to do with this final project. I came into this class wanting to learn the hardware skills necessary for serious robotics work: mechanical design, work with motors, and enough of a basis to be able to at least hack my way through any small problems that come my way. What better way to test whether I've accomplished that than by building my own robot?

I decided an arm would be a good place to begin - it's a classic starter robotics project after all. I began by examining the resources around me - Luke Plummer, a student who had worked with our group before had designed a small robot arm that seemed manageable for me to base my design off of and add some additional functionality to.


After studying Luke's arm, I began to model my own arm after it in Solidworks. After some real stuggles and some helpful tutorials from Jeff and the internet, though, I felt like I had a much more solid (heh) grasp (heh heh) of how to design the arm. I designed the base, a rotating platform, and two linkages - one for a large, high-torque servo at the platform and another that could be chained together with small servos so that I can go to (hopefully) 3 total linkages.







Following others' advice to make my own modifications to the design, I also incorporated a rotating bearing into the base platform so that the weight of the arm didn't fall on the rotating servo. Finally, I used the Makerbot to 3D-print two copies of the short linkage in order to test the fit and make a new round of modifications. The servo fits nicely, and while there are some small modifications to be made, it overall seems to be coming along well.


Electronics
Lest you think I've only been working on the mechanical aspects of the project, fear not. The software architecture is all spec'd out and the electronics control is nearing concept completion. I'm planning on controlling the arm via Fabduino connected to computer, and powering the servos separately with an external power supply (I'll probably need 2-3 amps to move everything at once). The Fabduino is already made, so I just need to design the power board for the servos and things should be ready to rock!

Software
There are many cool applications for a robot arm, but one Software angle that I thought would be particularly cool would be to get my arm talking to ROS - the open-source Robot Operating System. It has many, many great packages for robots that solve some of the trickiest problems in AI and robotics, and an system for Inverse Kinematic control seems like a great way to begin to leverage this resource.