Contents
Introduction
The Mechanics
The Computer
The Software
Results
Future
History
References
Acknowledgements
Introduction:
Why a Biped?
In theory a
humanoid robot could go everywhere people go and do everything people do. I claim
that to thrive in a human environment a robot should have approximately human
form. The majority of present robots are non-mobile industrial robots and manipulators.
Mobile robots in
service are limited to tracks and wheels. Although fine for flat floors they fail
in rougher terrain, like a flight of stairs. These robots are also incapable
of using the wide variety of existing human tools because most human tools are
used by the hands. There are plenty of people currently researching intelligent
manipulators, so I choose to do the other part. I want to make a robot with
the same articulation of a human leg and I want it to walk like a human.
The
Mechanics
The
requirements for the mechanical robot were that it be strong
enough and light enough to be fast enough and agile enough to walk. I used Mathematica
to calculate and graph various possible combinations of leg length,
mass, and acceleration. I had a preconceived guess for what size to make the robot
of a little under half a meter total height. I used the graph at left to
get an idea of what reasonable combinations existed for the size of the robot.
If the legs were too long it couldn't
be built light enough and if the legs were too small it would be awkward
to build. I settled on the 20 cm leg length and corresponding 1 kg mass target.
1 kg actually gives a margin for inefficiencies like friction. I then used
a drawing program to arrange the parts and lay out full size plans.
One
predetermined variable was the motors. I chose standard model aircraft servos
because they are relatively cheap ($11 each), easy to interface, and reliable.
The key number involved in these
was the torque. That directly determined the size range of robot I would
build.
The skeleton of the robot is aluminum with steel joints and a plastic
torso. The feet are scraps of old sandals to provide traction and some shock
absorption. I'm not sure but the sandal material may have to be removed later
when sensors are added.
I tried to fasten things together with nuts
and bolts as much as possible. In previous years my robot had problems relying
heavily on Duct Tape and glue.
I tried to stay away from those as much as possible but there were a few places
that could only be epoxied. While building this robot I discovered a new fastener
which I am so far quite fond of, cable ties. They are easy, quick and intuitive.
I have not yet had any catastrophic failures to tarnish their image.
The
servo linkages were made with a combination of soldering and gluing.
I began by following the directions and soldering the brass parts to a rod.
In the ankle there was a very
short link to be made so I glued the rod directly into the plastic parts. Gluing
was much easier and if it holds up through demonstration and testing I may finish
the robot with all glued links.
The overall structure planned for
and built is this: the ankles pitch and roll, the knees bend, the hips pitch,
roll and twist. The ankles are just two pivots. Due to the linkages a pure roll
is made by moving the roll servo but a pure pitch needs both ankle servos to
move. It's knee, like ours, is
only supposed to move in one direction. The hip is a universal joint put into
a bearing in the pelvic box. I have left the hip twist axis fixed until basic
walking is reliable and turning is a logical progression.
The
Computer
The computer is based on a MC68HC11A1FN (HC11) Motorola
Microcontroller. The HC11 runs at 2 Megahertz and has a grand total of
33,024 bytes of RAM, 256 on the HC11 and 32K external. The HC11's built-in asynchronous
serial is running at
9600 baud and is connected to 26LM31 and 26LM32 line level converters for connection
to a Macintosh serial port. The asynchronous serial also communicates to
the ñMini SSCî PIC based Serial Servo Controllers. The HC11's synchronous serial
can be connected to 74HC64 parallel to serial shift registers to collect pushbutton
switch data. The 8 Analog to Digital Converter (ADC) lines will be connected
to pressure sensors on the feet.
The computer is on a board 2.75
by 3.75 inches. All the parts
and wiring make for a thickness of about half an inch. The Mini SSC's are about
1.5 inches square. All of these are mounted internally on the back plate of
the pelvis box.
The Software
The software
is based on a terminal debugger by Fred Martin. I have customized it by writing
additional code to support the unique features of my robot. The original has
routines built in to handle things common to all HC11 computers such as peek,
poke and communication to a terminal
on a host machine. I added routines to control the Mini SSC's and to display
values of sensor input. All the programming is in 6811 assembly, this makes
for a small efficient program of less than 1k.
My strategy for controlling
the robot is based on Brooks' Subsumption Architecture as a framework.
The architecture is that in a set of behaviors more advanced behaviors can override
or subsume the more basic behaviors. The basic behaviors provide quick reflexes
in a pinch. When processing
time allows the advanced behaviors provide smarter options. It is a good
plan to develop with because a foundation of initial work is built on and never
lost as newer more advanced behaviors are added to the old.
Results
The
robot is mechanically
complete. Presently the robot can move any of it's servos under command from
a host computer. The foot sensors need to be attached and software needs to
be written to utilize them for
walking. Everything has been internalized except for two power tethers and a serial
line which will be detached later. It can't walk but it can go through the
motions. It should be only a mmater of time until it works.
Future
After
the shortcomings mentioned
in the conclusions are addressed, it should be walking in roughly a straight
line. I would proceed to improve it's accuracy, efficiency and speed. Turning
would be the next step.
At
this point it would be fully operational. I would have to decide if
I wanted to add more to it or build a new robot with some added functionality designed
in. It might turn out that the present robot could not carry any extra
weight (sensors, for example).
History
This
is the third legged robot that I have built. Each robot has been a large
step over the previous. The construction materials have gone from plywood with
glue to aluminum with screws.
The actuators have gone from homemade lead-screws to commercial model aircraft
servos. The computer controller has gone from an old Commodore 64 programmed
in BASIC to my third custom built MC68HC11A1-based onboard computer programmed
in assembly.
References
1.Freedman,
David H. Invasion of The Insect Robots, Discover, Mar. 1991,
pp. 42-50
2.HC11: M68HC11 Reference Manual, 1991, Rev 3
3.Brooks,
Rodney A. and Lynn
Andrea Stein, Building Brains For Bodies, Aug, 1993
4.Yeaple,
Judith Anne. Robot Insects, Popular Science, Mar. 1991, pp. 52-55, p
86
5.Brooks, Rodney A. Intelligence Without Reason, April 1991
6.Flynn,
Anita and Joseph Jones. Mobile Robots: Inspiration to Implementation,
A K Peters, Wellesley Mass. 1993
7.Dilworth, Peter. Walker
Robot, The Robotics Practitioner, Vol 1, #1, Winter 1995, pp.15-22
8.Brooks,
Rodney A. A
Robust Layered Control System For A Mobile Robot, MIT AI Memo 864, Sept.
1985
9.Brooks, Rodney A. Achieving Artificial Intelligence
Through Building Robots, MIT AI Memo 899, May 1986
10.Brooks, Rodney
A. A Robot That Walks; Emergent Behaviors from a Carefully Evolved Network,
MIT AI Memo 1091, February 1989
11.that SCi Amer article, Dec.
1991, cover story
Acknowledgements
Thanks
to my parents for
checking the report and making sure it made sense. Also thanks for my allowance
which is the major source of funds for this project.