Home :  Quad_I :  code  instructions FAQ  
Quad_I, front
Quad_I is a hybrid pneumatic-and-motor-driven quadruped. It can walk forwards, backwards, and turn in its own footprint (it can also stop, of course). The step rate is about one step every 7 seconds. All power and pumping -- a full load of six AAs and everything you need to generate and control the compressed air -- is carried onboard the quad.

There are four pneumatic pistons, one for each leg. The four pneumatic pistons are arranged in two pairs -- one pair for the left legs and one pair for the right legs. Pistons in a pair are either both open or both shut, so each pair requires only one control valve (total of two control valves).

For reference purposes we can number the legs 1 through 4. Looking from the top, the legs are arranged like this...

1 ----- FRONT ----- 2

3 ----- BA CK ----- 4

The weight of Quad_I is supported either on legs 1 and 4, or on legs 2 and 3. The weight is shifted from one set of legs to the other by a motor (originally I used pneumatics to shift the weight, but this was slooooow). A single motor is coupled to two identical shifting mechanisms: one for the front pair of legs and one for rear pair.
Quad_I, top
The transmission from the weight-shift motor is arranged so that, when it is driven one way, the rear weight-shifter is fully to the *left*, the one at the front is fully to the *right*. When the weight-shift motor is run the other way, the shifters move in opposite directions until the rear shifter is all the way to the *right* and the front shifter is all the way to *left*. In this way, when the shifters are at their limit of travel, the weight is either on legs 1+4 or on legs 2+3.

Since Quad_I uses one motor to shift the weight, the other two motors are used to work the pneumatic elements. Each motor drives a Technic differential -- 8t gear on the motor engages the 24t gear of the differential. There is one differential for each of the two motors. Each differental drives a pump *and* controls a pneumatic valve. The differentials are oriented vertically in the thickness of the quad with the motors at the bottom of the quad to try and keep the center of gravity low.

Quad_I, leg link detail
As you know, differentials have two axles sticking out of them and, since the differentials are oriented vertically, we can distinguish between the top and bottom axles. -- the top axle of each differential provides power to turn a large pneumatic pump; the bottom axle drives a lever which switches the pneumatic valve. The path of the lever has stops at either end -- when the lever cannot travel any further all the power is transferred via the differential to the pumps. When we reverse direction, the pumps work until they are near stalling and this provides enough resistance to make the lever (on the lower end of the differential) push the switch on the pneumatic valve to the required position. This system works well, but it is tough on batteries!

Quad_I, bottom view
Control is effected by 7 touch sensors. There is one touch sensor for each of the legs (total of 4), two touch sensors which detect the state of the weight-shifting mechanism, and a final touch sensor to check the air pressure reserve in the pneumatic air tank.

Quad_I, top with RCX removed
Each leg sensor detects when the leg is fully forwards. Leg sensors for each side are wired in parallel to give an OR result (if the front OR the back leg OR both legs on that side are forward, the result is TRUE). The sensors for the two sides are then wired to the input port using an AND arrangement (the combined input is only TRUE if at least one leg on the right side is all the way forwards AND at least one leg on left side is all the way forwards).

The second input port is used to detect when the weight is fully shifted from one side to another. The front shifting mechanism has a touch sensor at the left and right extremes of its limit of travel. These two sensors are wired back to a single input port so that the robot knows when the weight is fully on one set of legs or the other. (Quad_I knows *which* side it has shifting to, because it knows which way the weight-shifting motor is running.)

The final input is used to determine whether there is enough air pressure. The air from the two large pumps is fed into a single, blue, air tank on the right side of Quad_I. At the output from the tank there is a branch tube to a small pneumatic cylinder which is kept in a closed position by two blue rubber bands. When there is enough air pressure in the tank, the pressure is sufficient to extend the small piston against the pull of the rubber bands and press a touch sensor.

  Home :  Quad_I :  code  instructions FAQ  
LEGO® and RCX are trademarks of the LEGO Group of companies which does not sponsor, authorize or endorse this site. Read the full heavy latin from LEGO for more details.

Text, graphics and downloads from http://jpbrown.i8.com copyright © JP Brown, 2001-2006. All rights reserved.