4 Sep 2003 (updated 4 Sep 2003 at 22:13 UTC)
»
Open Automaton
Project Update
With my self-imposed deadline rapidly approaching for
getting the prototype robot ready in time for the Seattle Robothon,
I feel like I'm running out of time. I've had the flu the
past few days, and in a couple of months (right after the
Robothon, in fact) I'll be moving myself, my family and all
my worldly belongings half-way across the globe to a
different continent, so I'm having to deal with selling the
family cars and all non-240V-compatible electrical goods,
packing boxes, etc.
And here I am building a PC-based mobile
robot. I must be mad!
Well, come hell or high water, I
will be bringing my creation to the Robothon, and it
will be up and running!
Recently, I remember reading how Marvin Minsky was lamenting at the
state of "stupid little robots", and that graduate
students were "wasting 3 years of their lives soldering and
repairing robots, instead of making them smart". Based on
my recent experiences, I have some sympathy for those
graduate students: Before embarking on the Open Automaton
Project, I had visions of getting the prototype robot
platform working quickly, and then spending lots of time
experimenting with A.I. code for stereo vision, facial
recognition, mapping, localization, etc. However, the
reality of having to do lots of drilling, sawing, soldering
and building circuits on veroboard and then debugging them
has made me realize that I'm really not going to get to that
"high-level" software stage until much later than I had
originally hoped. It's surprising how much of this "grunt
work" has to be done, even when using as many off-the-shelf
components as possible.
I've decided that sometime in the next few
months, I'm going to design printed circuit board layouts
for the hardware modules, and then have a small run of them
made so that I can offer them for sale as kits. This way,
people interested in
building their own Open Automaton Project-based robot will
not have to suffer, as I did, building and debugging
veroboard circuits.
Another decision I've made is to split my project plan
into two major phases, based around my
intercontinental move. I've assigned each individual
project task as either pre-move or post-move.
Without going into too much detail here, basically at
the end of the pre-move phase, the prototype robot
will have all of the hardware (with firmware) modules
designed, built, debugged and tested, and some basic
intelligence working via the Pyro
framework. All this, of course, will be done while packing
boxes, and
generally getting ready to move.
The post-move tasks are to integrate the vision
code (at this point, I'm leaning towards reusing
motters' GPL'd stereo vision
code), fully
developing a framework for "plug in" behaviours and task
programs, and developing some initial behaviour and task
program software modules. After that, I intend to
commercialize some of this work by creating kits for the
circuit modules (I'm not expecting to make a living from
this). All this, of course, will be done while finding a new
job in the
UK (if you're a hiring manager in the South Wales area, my resume
is on-line; I'll be available from November), buying a house
and cars for the family, etc. and generally starting to
build a new life in the UK.
Phew!