23 Mar 2008 RoboDo
Ok, so maybe building a 32 DOF biped humanoid Kung-Fu bot
isn't the best "first project". Though confident I can
mostly handle the mechanical end, the computer end is way
beyond me... for now.
I can't afford to spend thousands of dollars on parts all at
once, and even if I could, the complexity of getting it all
working together would be quite overwhelming.
So I bought a Mindstorms NXT.
I'm a "hands on" kinda guy, so this will give me the chance
to get some experience with the sensors and programming...
real world interaction.
I built and unbuilt RoboDo Zigote and RoboDo Fetus, learning
as I went. I'm pretty happy with the newest incarnation,
RoboDo Baby, which has 2 driven front wheels and one
unpowered rear wheel. The ultrasonic sensor is mounted on
the 3rd servo, and the sound, light, and touch sensors are
mounted up front too.
So far, Baby crawls forward until it detects something
within 10 inches. It then looks left and right, recording
the sensor readings. Baby then turns in the direction
offering the most room and starts crawling forward
The next evolution will be to use data from the other
sensors to build a more sophisticated control scheme. For
example, I would like Baby to tend to turn towards the light
when blocked forward but right and left are both clear. I
want to mess around with weighting sensor reading to
influence control decisions, which will all be probabilistic
Another thing I am going to start developing is a mapping
routine. I'll start with a limited 6" grid, perhaps as small
as 10X10. I'll preload areas outside the map as "0" or
unreachable, start Baby in a known location and orientation,
and let Baby fill in the rest of the map as either "1"
(reachable) or "0" (unreachable). This will, no doubt, give
me all kinds of problems to overcome or work around.
The NXT-G language is interesting, but can seem like trying
to build a bridge with dominoes sometimes. I am looking into
options here, and am leaning towards switching to NXC
I have not given up on RoboDo. The RoboDo Baby work will lay
the foundations for what is to come later. I would expect to
use a succession of platforms in this project, and this is
but the first.
That's all for now...
Latest blog entries Older blog entries