Saturday, January 23, 2010

GRASP 3 hardware setup

I will be using a mekatronix robotic arm. For the original GRASP I made my own frame and attached the servos to it. That was because I had a lot of time but now I have less time and more money so I bought the assembly from mekatronix (actually I bought it a few years ago and never got to use it).

The servos are standard hobby servos made by hitec (specs of the ones I'm using here).

So first thing's first: mount all the hardware.
See picture of the assembly above. It's simply a mekatronix mindstamp base and a robotic arm on top with 3 degrees-of-freedom, gripper, wrist and elbow. I screwed the arduino board in the back and a small breadboard to use as interface between the arduino and the servos. I thought I was going to oonly do that since I still have to go into the arduino language but I noticed that a) it's very similar to C which I have some experience with and it has a lot of libraries prewritten to take the complexity out of programming it. So I went to the examples just playing around and I noticed the servo sweep example. A miracle! It turns out that the arduino environment has very good libraries there begging to be used that deal with servo position control. So I opened it, qickly edited it to go from 1 servo in the example to 3 servos and you can see the video:

Next step is dwell into the processing language and get the servos moving through position commands sent from the PC. Wish me luck.

Project 1 - Internet controlled Robot Arm GRASP 3

a few years ago, I did a robotic arm that could be controlled over the internet using a PIC16F84 processor. the setup was simply an arrangement of servos built using disposed items (aka garbage) such as a CD case rotating base and ice cream sticks as the frame. At the time, I installed a camera pointed at the robot and users could login to my linux computer and control the arm while receiving position feedback through the camera.

That was a long time ago (4 years maybe). I remember a few details like the software which I miraculously managed to save (I think I still have the servo controller program that goes into the pic16f84 processor), apache and php on linux and camserv as the camera server. It worked pretty well and I had a lot of questions and people interested to know how I did it.

I called the robotic arm GRASP 2 and posted a short descrition that still lives on the net here in the famous robomenu (is it still famous?).

I dug out the hardware from a box I used to keep all my junk and here are some pics of how it looks now:

Sorry, you have to tilt your head to the left.

I did a lot of other projects involving the internet and robot (or remote motor control is more accurate) control. I obviously had a lot of free time on my hands. Those were times of a lot of tinkering and autopsies to dead electronics equipment (I did an autopsy to the first version of the robosapiens robot just hours after it came out, it was quite a hit in the robotics community - BTW I was surprised to see how well Wowwee - the makers of the robosapiens robots have been doing with a lot of new robot oys in the market - good for them). I remember that I even bought dead devices such as printers to scavenge the internals for parts, a bit like a vulture, except that vultures don't pay for food.

Then I stopped because my interests changed a bit but the bug of robotics/ electronics has stayed with me. And also one gets older, has a family and the rooms are just not big enough anymore.

But as it turns out, I recently landed a rather technical job that woke up all my dorment electronic neurons and I slowly started to get back to it. Currently I'm rebuilding my lab and I'm getting up to date with what the robotics and control world is doing at the moment (I used to program a lot the now 30-year-old motorola 68HC11 which still seems quite powerful to be honest, but one needs to update...)

I decided to check what all the fuss is about with the arduino controller board based on the Atmega328, so I went out and got one. Easy first step. It looks cool. Because of the arduino I just discovered the processing language and I'm very interested to learn it. I come from a C background and the processing language (I really never had heard about it before...) seems to be similar.

So, lets see: controller, check. PC programming language, check. USB camera, check. Old GRASP assembly, check, new mekatronix robotic arm begging for people to play with it over the internet, check. you see where this is going, right?

GRASP 3, version 2010 is on it's way and I hope I will be disciplined enough to document my steps as I go from nothing to a internet controlled robotic arm with position feedback through a camera.

I may also add some other projects I work on (because my head never stops and is always thinking about what I will do next. It is my style to also talk about sites that are interesting to me so expect that as well). You are more then welcome to share your views with me at any time, and that is why I will switch the user comments off (you can still email me).

May the force be with me.