Androids

Android or Humanoid Robots are the kind of robots that most people associate with the term "robot". They are biped walking robots, which resemble more or less a human body structure. Unlike 6-legged robots, biped robots have to maintain balance during walking, which can be a major task depending on their weight distribution and foot size relative to the rest of the body. For details see the book "Embedded Robotics".

The mechanics and sensor electronics has been individually constructed around the EyeBot controller. All robots are about 50cm tall and use different sensors for attitude control and balance.


Andy Droid Andy Droid 2

The Andy Droid robots have been designed by Joker Robotics, however, we have modified Andy1's feet with three toes containing strain gauges as the robot's main orientation sensors. With these, Andy can always determine the center of pressure in each foot and therefore knows its "zero moment point" (ZMP), which allows it to counteract any rotational forces for balancing. Andy2 has an almost identical leg design. Andy2 uses a new digital servo development instead of Andy1's conventional analog servos. These digital servos give feedback via a serial interface and can therefore double as actuators and sensors.


Rock Steady

With Rock Steady we tried a completely different approach to our first robots Johnny and Jack (see below). This robot should use a minimal number of motors: one motor per leg, plus one motor for sideways balancing of a counterweight. A sophisticated mechanical structure translates the rotaty motion of each leg motor into an articulated leg motion. Instead of servos, we used precision DC motors with encoders for this robot. Inclinometers in two axes are used as orientation sensors for the robot, each motor has an incremental encoder plus an external zero position optical switch.


Johnny Walker Jack Daniels

Johnny and Jack were the first two android robots we designed using relatively inexpensive servos as actuators and testing a variety of different sensors. A major problem with these robots are the total weight of the mechanics, electronics, motors and batteries, and the rather limited torque being supplied by the motors. Any biped robot that has difficulties balancing on one leg, will have difficulties to perform a proper walk.

Another major problem is repeatability of a motion. The robots' metal frame structure is quite flexible and tends to swing. Also, the inexpensive servos used have a considerable play and are not capable of an accurate motion repeat. Furthermore, servo performance significantly decreases with ageing of the servos.


Android Specific Settings

(view from back)
                 O       (camera as head)
                 |
left arm   ----+---+---- right arm (Gen. II only)
               |   |
torso bend      \_/
left hip turn  +---+     right hip turn
left hip bend  |   |     right hip bend
left knee      +   +     right knee
               |   |
left ankle     +   +     right ankle (servos in Gen. I only, springs in GII)
               *   *     (feet)

Johnny Walker
TPU  0  right hip turn
TPU  1  right hip bend
TPU  2  right knee
TPU  3  right ankle

TPU  4  torso

TPU 11  left ankle
TPU 12  left knee
TPU 13  left hip bend
TPU 14  left hip turn

TPU 15  audio out
other channels not used
-----------------------

Jack Daniels
TPU  0  right hip turn
TPU  1  right hip bend
TPU  2  right knee

TPU  4  torso
TPU  8  right arm
TPU 10  left  arm

TPU 12  left knee
TPU 13  left hip bend
TPU  9  left hip turn

TPU 15  audio out
other channels not used
For positioning servos from RoBIOS, a single byte value (0..255) is used. The conventions are:
valueoperation
128servo is in middle position
robot is standing upright
[arms pointing down]
0..127move leg limbs behind the body
move torso to the left
turn hip joints counter-clockwise
129..255move leg limbs in front of body
move torso to the right
turn hip joints clockwise

Thomas Bräunl