Quadruped

"Quadruped" doesn't have a name yet. It's in development and will probably be completely re-built very soon.

It has four 3-DOF legs giving a total of 12 servos. They're all cheap micro servos and are really rather disppointing. They're unbranded and are very poor quality. They're small and light but they're under 1kg.cm torque; the body isn't screwed together and comes apart unless you put tape round it; the gear-train doesn't feel smooth and occasionally the gears jump. I'd recommend sticking to the branded E_Sky 0500 servos that are used in the BrainiBiped and Arm.

Each leg uses "upright stance" (rather than "sprawled stance"). Upright stance requires less torque from the servos. The axis of the first joint runs fore-aft and so swings the leg from side to side. The 4 hip servos are sanwiched between the upper and lower decks. The lower deck is made from pcb; the upper deck carries the battery pack.

The total weight is 350g and each leg segment is 3.5cm. You can work out the torques for yourself.

I'm pretty pleased with the overall layout of servos and body but I'm not happy with the construction materials. The legs are partly made of 3mm acrylic and partly of aliminium sheet. Both of those a decent enough. The problem is the hips.I tried a varety of ways of making the hip joint and eventaully gave up and just glued the servo horns onto blocks of plastic using superglue. Ugh.

The processor is a PIC16F873. As you can see, there are very few components on the pcb. The other chip as a LM324 which helps the PIC read the servo currents to measure the forces on the leg joints.

The programming system is similar to the Brainibiped and Arm but the language is completely different.

You can download a copy of the programming system.

A simple BASIC like language is compiled into interpreted instructions. The BASIC has 26 8-bit variables: 'a'..'z' and can perform simple arithmetic and comparisons using 'Zero' and 'Carry' flags.

Servo[n]=exp,v assigns a new target position, exp, to servo n. 'v' is the velocity that the servo should move at to the target position. If 'v' is zero then the servo moves there instantly (or as fast as the motor can turn). Note that the BrainiBiped and Arm always moved their servos at constant speed (less than their maximum speed) but a quadruped walker needs to maintain balance by coordinating all its feet.


Home

Questions or comments ? E-mail me at peterbalch@btinternet.com

No part of this web page may be reproduced in any form or by any means, including photocopying and recording, for any purpose without the express written permission of Analogue Information Systems Ltd.

This web page is copyright © 2008 Analogue Information Systems Ltd., 1 Warrender Park Crescent, Edinburgh EH9 1DX, Scotland, UK, Tel: +44 (0) 131 228 6008. All Rights Reserved