My First NXT Project
Tags: My-Robots
In the past, my team at Robonetics and I designed a toy robot called Gupi, a robot guiney pig. The client asked us to design the robot as with behaviors that were as lifelike as possible, yet use as few components as possible. Today, the robot is no longer in production, so I’ll use it as an introduction to advanced Lego Mindstorms NXT development.
But first, let’s see Gupi in action. Here is a movie of Gupi being tested in our lab. There is nothing special about its environment. The maze, for instance, could have been created using books or anything other material. The girl in the movie is my niece, Sarah Verhaeghe (the movie plays on Windows, but can also be viewed on Mac or Linux).
Here's a comparison between the internals of Gupi, and the parts that come with Lego Mindstorms NXT:
Gupi | Lego Mindstorms NXT | |
Number of motors | 3 | 3 |
Ultrasonic sensor | 1 | 1 |
Sound sensor | 2 | 1 |
IR sensor | 8 | 0 |
Touch sensor | 5 | 1 |
Light sensor | 2 | 1 |
Tilt sensors | 2 one-directional sensors | 0 |
Rotation sensors | 2 motor-stops on head motion, one on each extreme (allows to turn head left to end, right to end) | 1° accurate sensing on all motors |
CPU | FPGA (custom designed chip) | 32-bit processor |
RAM | None (sounds stored in ROM) | ? |
Wireless Connection | None | Bluetooth |
Debugging | 8 LEDs (255 error codes) - only visible when opened up | Matrix screen; Bluetooth |
Off course, the features are not a 1-on-1 match. But it is close enough. Gupi had more sensors, but the accuracy of these sensors was lower and its CPU power was lower (or at least harder to exploit). By making some mechanical adjustments, and exploiting the more powerful NXT brick, it must be possible to create a smart pet using Lego bricks.
The behavior of Gupi was amazingly complex, and the video does it only partially justice (the experimental lab robot broke easily when handled by children). The real trick with building robot brains isn't making it do one thing, or even two or three things. The trick is to have a lot small behaviors, and to orchestrate those into coherent overall behavior and character that makes the robot a real being. The shifting attention of the robot depending on threats or new perceptions, the rapid changes in emotion that make it run away scared from the sound, or walk toward the sound to explore. On top of that, we had limited live debugging tools to see why the robot behaved as it did.
It is this kind of development that I hope to explain and explore using Lego Mindstorms NXT. We had a great start with Gupi, but I believe we can replicate the behavior of Gupi. Probably even make it even more intelligent.
It would be great to team up with others, but I'm not yet sure how that would work. I also hope to explain my own work on NXT in such a way, that even kids can start changing the behavior of Gupi in ways they like better. Or maybe build a completely different robot with the behaviors. At Robonetics, we once demonstrated a car driving around (and squicking, like a guiney pig!) simply by hooking the brains and sensors to a different platform. How much more can be achieved with Lego, where mechanics, sounds and behavioral wiring can be changed very easily, and where kids great and small can really let their imagination take over.
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home