Thursday, September 13, 2012

Dogbot: A Threshold

If you've ever read anything by Joseph Campbell you'll be introduced to the motif of the threshold, e.g. Adam biting the apple or King Arthur pulling the sword from the stone. This motif, or theme, is quite prevalent. You have passed over the threshold, the line in the sand, and you will never be the same person again.

That is how I feel right now. I feel that I am passing over a threshold as I hold in my hand a parcel who's contents change... everything. I haven't opened it yet because I'm basking in the moment.

Before I open this box I am a computer programmer, and an Arduino / micro-controller programmer. After I open this box I am also inevitably an embedded linux programmer. You may ask yourself "What's the difference?" I will try to explain.

Embedded linux brings to robotics a level of computing power 10 to 100 times that of hobby micro-controllers. It also brings a suite of tools that is growing so quickly that it's almost impossible to stay on top of! Embedded linux will change hobby robotics drastically in the next few years! I would have made this move to embedded linux a year ago if I had a reason, but the added power seemed overkill. Now it's exactly what I need.

Box opened... Insert BeagleBone!

It's true that an Arduino can pull in 44 sensor values and use them to calculate 16 servo angle values in real time, but how complex of a calculation will it be capable of making? An Arduino Leonardo operates at 16MHz, vs. 720MHz for a BeagleBone. An Arduino Leonardo has 2.5KB of RAM, vs. 256MB of RAM on a BeagleBone. Finally, an Arduino Leonardo has 32KB of storage, vs. 4GB for a BeagleBone. These are really powerful stats! In other words the amount of intelligence that the BeagleBone is capable of putting into its calculations is close to or much greater than 50 times that of an Arduino. This is the difference between the very mechanical technology of a Model T and the modern computer controlled vehicles with Electronic Stability Control.

Don't get me wrong. I'm still using an Arduino in the Dogbot, right next to the BeagleBone. Arduino is a powerful platform. It has an important place in hobby robotics. That's why I'm using both!

On a final note... isn't the Dogbot and the BeagleBone just a match made in heaven?

Friday, September 7, 2012

Dogbot: Progress

In the last few months I spent two weeks in Hawaii, I moved 6 hours outside of Philadelphia, my wife started a new job, and we got an actual dog. In other words, life happened. But I'm still passionate about robotics when life isn't happening, like right now.

My 3d printer is still in a box and may still be in that box for the weeks to come, but my computers are set up. I started using Solidworks again and am thoroughly enjoying the experience! The tool is truly inspiring, letting me work out ideas and inspire new ideas in real time. Here's a render of my current Dogbot leg design.

Other than designing parts I've also put a lot of thought into the electronics. Since I don't have the time to work on my Mill right now, or to design my own boards, I am going to use the Mux Shield on an Arduino Leonardo.

I need the Mux Shield because I am using 16 servos in the design and at least 36 sensors, including pressure sensors, accelerometers, servo hacking, and depth sensors. Yes, I always bite off more than I can chew. I have to say, it's good to be back!

Update: Here's a video render of the new leg design.