Sunday, July 02, 2006

Modular design

Ive opted for a completely modular design for this robot. To this end nearly every single component (mechanica,l software or electronic) is modular, generic and can also be used somewhere else in the robot.

Ive decided that electrically, every single limb on the robot should be completely self contained so that its only requirements are power and data. Mechanically most of the limbs will be the same because they are all made of the same basic components (when I get to the hands and head this may well change).
A block diagram for the system roughly follows that shown below:

The software to control the robot is already modular. Ive used C++ and written a class header with generic functions for robot limbs. OO languages are excellent for this sort of thing.

Robot Calibration

I have just put the first servo onto my robot. I am literally starting fromthe bottom up so the first motors I wired up and the ankle Y and Z roll motors. I have designed and breadboarded my own 8-channel Serial servo Controller unit so up to 8 servos can be controlled at any one time. This will eventually be on the same board as the 16 channel multiplexer unit.

I built a hand calibration unit that can output a signal to a single servo motor. The point of this is that you can set a demand angle for the servo and read back (using a protactor) the angle that the servo shaft actually went to. This allows you to adjust feedback potentiometer alignments or gearboxes etc if need be.

I used this to correctly wire up the Y and Z roll joints on my robot ankle. Moving the hand calibration unit will now move the robot ankle.