Oricom Technologies

Return to:
Projects page.
"Nico" - Nico Quadros Principe
--- a Hackable 4-Legged Biomorphic Robot ---

|> Background
|> Design
|> Gaits
|> Timeline
|> Movies
|> Retrospective

Nico (circa May 2002)
[Nico with short legs]
Yes, Nico's first set of legs are #2 pencils
Nico is a quadruped robot which is based upon principles of 4-legged locomotion illustrated in nature. The background for Nico's basic body plan and leg design can be found on our page about locomotion in 4-legged creatures. The present implementation is a greatly simplified form of nature's own plan, but one which can still perform movements in a similar manner. Nico's purpose is the study of various gait possibilities.

Nico is named after Nicole d'Oresme, who was one of the first to make the logical connection between geometry, numbers, and algebra - essentially the idea of graphs - about 200 years before "Mr. Cartesian Coordinates" Rene Descartes was born.

Nico has been designed to be easily extended and eminently hackable. The following describes the basic design plan and goals for this project.

Capabilities Goals

  • 4-legged action similar to dogs and horses and other quadrupeds.
  • basic motions: sit-down, stand-up, creep, crawl, walk forward, turn.
  • complex motions [ultimately]: traverse obstacles, climb stairs, write graffiti on walls.

    <| Basic Design

  • Nico is autonomous, and carries its own battery power, locomotive devices, and local controller.
  • body design - basic rectangle with legs mounted at the 4 corners.
  • leg design - 2 DOF, shoulder/elbow [front] and hip/knee [rear] joints.
  • leg movement - mirror-image bending based upon natural animal movements.
  • drive - 8 R/C servos for locomotion, plus [future] one for body angulation.
  • power - 4-5 on-board AA NiMH batteries (4.8-6 vdc, 1300 mAH).
  • low-level control - on-board controller board with 28-pin PIC multi-servo controller chip.
  • high-level control - bootstrappable using subsumption techniques.

    The next page contains more Details on Design & Construction of Nico.

    Sensor Array [future add-ons]

  • graded touch sensor on each foot.
  • tilt sensing using a 2-D inclinometer, plus an optical bubble level for determination of absolute orientation.
  • multi-modal sensing - simple visual, ultrasonic ranging.

    <| Nico's Gaits

    Our primary goal has been concentrated towards making Nico highly "mobile", as opposed to performing tricks in-place, etc, as commonly seen with iCybie and Aibo. We have been experimenting with different gaits and leg geometries in our attempts to get Nico to move around successfully.

    The next page contains background info on this: Leg Geometry Variations in Nico.

    So far the following actions have been implemented:

  • Creep - one-leg-at-a-time walk.
  • Basic Walk - alternating diagonal walk.
  • Backwards Creep - as it turns out, due to its design, Nico can creep backwards as easily as forwards, simply by reversing the directions of the 4 out-board [lower leg] servos and fiddling with relative phasing a bit.
  • Creep Turn - despite the limited degrees-of-freedom designed into Nico's legs, by using a variation of the creep gait described above, it turns out that Nico can do a nifty turn within its own radius. Basically, all that is necesary is to run the 2 lower leg segment servos on one side in the opposite direction to those on the other side [plus fiddle with the phases a bit], and the unit comes about handily.
  • Stand Up - stands up with all leg segments pointing straight down - (zero-energy mode).
  • Kneel Down - kneels on all fours with legs tucked under - (zero-energy mode).
  • Sit Down - sits on back end - (zero-energy mode).
  • Bow - kneel down on front legs only - (zero-energy mode).

    Zero-energy modes are positions which can be maintained indefinitely with "zero" energy expenditure, meaning pulse output to the servos can be shut off and the servos will not change position, as a result of external forces being in equilibrium. Actually, the servo controllers will draw a minimal amount of current, but the motors are shut down.

    <| Timeline

  • 23 May 2002 - Nico learns how to stand-up, sit-down, kneel, and bow - he's a fast learner.
  • 20 May 2002 - Nico learns how to creep forwards and backwards, and turn in its own radius.
  • 15 May 2002 - frame built, Nico takes first steps.
  • Feb 2002 - started development of servo controller chip.
  • Oct 2001 - started background research on animal locomotion.

    <| Movies

    Even though Nico had some nice steps, unfortunately, we never made any movies of Nico walking. Instead, we took Nico apart at the end of 2002, and used the servos and ideas for leg design in the octopod walker - Gimlee-U8. Gimlee took us some time to get to walk.

    <| Retrospective

    Nico was a good learning experience, even if we didn't take him very far. In retrospect, some of the things learned were:

  • Stability is a definite problem with a quadruped, as much of the time there are only the 2 diagonal feet on the ground, and the frame must relie on dynamic stabilization. This does not work well at low speeds.
  • ---- Also, the Creep gait, which does keep 3 feet on the ground at all times, can have its own stability problems. It is not always easy to keep the COG of the frame within the "stability triangle" formed by the 3 down legs at all points in the gait, especially with longer leg travel.
  • ---- Stability of this design could be improved by using either active stabilization methods (eg, accelerometers to adjust leg movements), which are costly and complicated, or by using an "active mass", eg, a movable [servo-driven] head or tail mass, similar to what real vertebrates use. The latter method will be much easier. The movement of the masses can be timed with that of the legs to shift body weight front-to-back appropriately.
  • ---- Another means to improve stability is to go to more legs, plus a self-stabilizing body design, such as employed by arthropods like beetles and spiders. More legs does mean higher costs and possibly higher complexity, but this is what we chose to do in development of the octopod Gimlee-U8.

  • Ground clearance is minimal with the leg arrangement used. Real vertebrates have another joint (ie, the ankle) which allows them to pull in the feet and achieve much better clearances in rough terrain situations. The extra joint also helps absorb shock during ground impacts. For now, we are staying with the simpler 2-joint design, and concentrating on ways to adjust the servos to improve ground clearance.

  • The Central Pattern Generator (CPG) concept devised for this project worked out quite well. This involved using trapezoidal type waveforms to drive the leg servos, with each trapezoid characterized by 8 or 9 parameters, controlling amplitudes, phases, positions, and ramping movements. This worked so well, in fact, that we were able to simply clone existing waveforms, with minor parameter modification, to both create new gaits and also to extend the system from 4 legs in Nico to 8 legs in Gimlee-U8.
  • ---- The next step in the use of CPG generation would be to sense leg positions, forces, or collisions with the ground and objects, and feed this back to actively adjust the waveform parameters. As mentioned above, stability is going to be of prime concern here. With the Nico quadruped and its inherent 2-down-leg stability problems, keeping it stable in the context of active parameter adjustment over rough terrain will significantly compound the compexity of control. On the other hand, with the inherent stability of the Gimlee octopod, feedback and CPG parameter adjustment should be less critical and more robust. Gimlee will have from 4 to 7 legs on the ground at all times, as compared to only 2 to 3 for Nico.

    <| TOP

    © Oricom Technologies, April 2002, revised May 2003