|
Upon arriving in Japan to work for GK Tech (a technology branch of a Japanese industrial
design company GK Design) in the summer 2003, my very first project was to be
a kind of 'technology test' of subsumption architecture for a hexapod robot. My boss and
President of GK Tech, Ryuichi Iwamasa, had purchased a laser-cut robot kit from Lynxmotion
and wanted to get it running and doing something clever, if only as a loose connection to
another on-going robotics project at the company. ;)
After doing some research, I came upon an interesting microcontroller module called "IsoPod"
designed for robotics applications by New Micros, Inc. IsoPod is based around
a Motorola DSP processor running at 80Mhz, and has enough timer/PWM channels to run up to 22 servos.
What's more interesting, IsoPod is bundled with a "virtually parallel" software architecture
called IsoMax, modeled on Forth programming language. IsoMax has a special syntax for programming
state machine modules, which can be uploaded to the controller and enabled/disabled at any time
via a serial connection. This seemed like a great system to design and test a modular subsumption
architecture control system. Having taken a robotics class with Rodney Brooks at MIT a couple of
years prior, I had a chance to learn about all the cool subsumption-based robots built by his
team in the 80's. I was curious to see how our new speedy processor with a large memory would do
for a subsumption development platform.
After some weeks of learning, programming, debugging, and upgrading to progressively beefier versions
of IsoPod, the robot was walking about with a hallmark variable gait :) In the process, we developed
a unique subsumption layout that was a modification of simplified Brooks' architecture combined with
some features of a layout proposed in a relatively recent research paper from Spain. (I dubbed this
robot "Variant" due to its derivative nature and a semblance to a creature that makes up
a part of its name) Our robot was
not without its own problems, of course. For one, even though the IsoPod module as the sole driver
board was very light, the hexapod had trouble
keeping its back in the air.. the servo torque was simply not strong enough for the hind legs.
Second, our simple method of resistor-based measurement of current in the servos proved not to be a
reliable method of detecting contact with ground. (We opted out for digital contact sensors at the
feet instead). Finally, as the software architecture grew more complex the IsoPod's non-volatile
flash memory became (just a bit) insufficient. As a result the robot required a somewhat lengthy
software upload upon startup, so I couldn't just pull Variant out of its suitcase and have it ready
to go by flipping a switch ;)
To finish off the project, I summarized our work in a short document.
Soon after, we successfully submitted it as a
paper entitled "One-Chip Solution to Intelligent Robot Control: Implementing Hexapod Subsumption
Architecture Using a Contemporary Microprocessor" for the International Journal of Advanced
Robotics Systems, published in Austria.
|
|
GK Tech
New Micros, Inc.
Dallas, TX, maker of IsoPod DSP56F805 controller board
Lynxmotion, Inc.
maker of Hexapod III kit
Ars Journal
International Journal of Advanced Robotics Systems
One-Chip Solution to Intelligent Robot Control
our 6-page paper for Ars Journal, published in 2004
|