CURRENT ISSUE
Contests
FEATURE ARTICLE
|
|
Issue #224 March 2009
Vision-Guided Robotics
A Next-Generation Balancing Robot
by Hanno Sander
Start | Parallax Propeller | ViewPort | The DanceBot | Frame Grabber | Real-Time Tracking | Line Following With A Camera | Track A Pattern | Find A Beer Bottle | Wrap Up | Sources & PDF
WRAP UP
I’ve had a lot of fun building the vision-guided DanceBot with the Parallax Propeller and ViewPort. The Propeller’s unique architecture of eight identical cogs made it easy to split my goal of guiding a balancing robot with vision into manageable pieces (see Photo 1b).
Depending on the performance required, I could write the code in the high-level, object-oriented Spin language or dive down to assembly to write completely deterministic code. The logic to configure and control the robot ended up being programmed in Spin, while the frame grabber and vision filters are programmed in assembly. Even though resources are limited, it’s possible to carry out advanced vision processing with it. In today’s age of multilevel architectures relying on outside libraries, drivers, and operating systems, it was a breath of fresh air to program the entire chain, from decoding the NTSC waveform to controlling the robot. Visually debugging the DanceBot with ViewPort greatly simplified its development by showing me exactly what was going on with my robot. It acted like a black box when the robot fell down, and showed me what the camera and filters were processing when I was teaching it to dance. It should be straightforward to adapt the code and filters presented in this article to other robots. Good luck!
Previous | Next *| Subscription Deals |*
|