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.