29 Oct 2004
(updated 29 Oct 2004 at 18:58 UTC) »
I've been inspired by a
recent interview I read with Linus Torvalds to get back
to spending more time on the Open
Automaton Project (OAP).
In the interview, Linus was asked what advice he had for
people undertaking large open source projects (he should
certainly know). I won't quote
his entire response (read the interview
if you want to see it), but basically his advice can be
summed up thus: Don't bite off more than you can chew. Here
are a couple of the best quotes from his answer:
- start small, and think about the details
- if it doesn't solve some fairly immediate need, it's
almost certainly over-designed
I realize that I've reached a point with the Open
Automaton Project where it would be very easy for me to
think "too big", and spend the next two years on some
fanciful grand design for the software architecture. But I
know that if I were to go in that direction, the project
might never be finished.
Instead I'm going to tackle a few specific tasks that
will make OAP immediately useful.
The first, most pressing task, is to write a simple Player
driver for the robot that fits in with Player's existing
interfaces. Any OAP functionality that can't be made to fit
the Player interfaces will simply be left out of the driver
initially. For a while I've been thinking about complicated
strategies for trying to shoehorn OAP's capabilities into
the Player interfaces, but I now believe that approach was
wrong. Player provides a pretty
comprehensive set of interfaces for general purpose mobile
robotics, but some of OAP's capabilities currently just
don't fit the Player model. For example, one of the
ultrasonic distance sensors is mounted on the pan & tilt
head, and three of them are pointed at an angle towards the
floor in front of the robot, and these things cannot be
easily modelled in Player. Also, the pan & tilt
head-mounted passive infrared human body-heat sensor cannot
be easily modelled in Player either.
By getting a Player driver up and running (even without
all of OAP's sensors integrated), this will allow the robot
to be immediately useful by leveraging some of the
Player-compatible applications and algorithms that have
already been developed.
Printed circuit boards
I'd like to take this opportunity to publicly thank
Scott Crawford for the contributions he has made to
the Open Automaton Project in the past year. He has
contributed two-sided printed circuit board layouts for the
which I am currently integrating into the official project
code in readiness for the next official OAP release.
His work will certainly lower the bar for folks interested
in building their own OAP-based robot.
A home at last!
I've been settled in my new home for nearly three months
now. It was exactly a year ago when I stepped back on
British soil after living in California for nearly five
years prior to that. It has taken three attempts to
buy a house here (the sellers unilaterally withdrew from the
sale on the first two attempts). After all the chaos of
house hunting, abortive house purchases, and finally moving
in, which involved organising the transport of our belongings
from LA (where they had been in storage since we moved from
the States), only now, one year later, do I finally feel
that life is back to
Now that there is a semblance of normality in my life, I
will be getting
back to doing the things I enjoy, which includes robotics
of course, so expect to see more from Mr.