Oricom Technologies
+|| Nico ||

Return to:
Nico main page.
Leg Geometry Variations in Nico
|> Postures
|> Parameter Variations
|> Strategy for Selecting Parameters

We have been experimenting with different timing and leg geometry arrangements in attempts to improve Nico's ability to locomote successfully.

<| Postures

First-Order Motion Effects
leg segment Upright
Femur (upper) forward-backwardup-down
Tibia (lower) up-downforward-backward
There are 2 basic ways in which the upper and lower leg segments might move during a gait. We'll call these the upright and the crab-like postures. The upright is the stance used by mammals and referred to as "fully-improved" regarding dinosaur postures, as discussed on our comparative leg anatomy page. The crab is more like the "sprawling" stance discussed on that page. On a first-order basis, the femur and tibia of the leg are used differently in these 2 cases, as shown in the table on the right.

With Nico, the legs are actually configured to the "rotated" orientation, as discussed on the page mentioned, even if the crab "posture" is being used. In other words, the legs hold the body up vertically, rather than cantilever outwards to the side like in the salamander and arthropods. Nico's legs can only move front-to-back, and cannot move out sideways. That is an additional DOF which iCybie and Aibo have, but Nico does not.

In many mammals, like the horse shown here, the femur is used in a pendulum-like motion to propel the leg forward and backwards, while tibia and foot segments engage in bending and accordion-like movements which serve to lift the foot during the recovery phase of the step. For more details, see our leg mechanics page. In contrast, arthropods such as the crab use the femur and tibia differently. The femur lifts the leg, while the tibia is more responsible for the extensions which move the leg forward and backwards. [Note - this is further complicated in many arthropods by the presence of more degrees of freedom in the femur and coxa joints sweeping the legs front-back, in addition to the tibia extending and retracting].

The stated first-order dichotomy is not totally restrictive, since the legs actually function in a radial ["polar"], rather than orthogonal ["cartesian"], coordinate system, so the relative degree a leg segment contributes to lift versus extension varies significantly with the rotation angle of the femur. The next diagram illustrates this for a simplified leg design.

[Leg Postures] For the upright stance, the femur is oriented vertically and sweeps the leg front to back, while the tibia retracts to clear the ground during the recovery stroke. However, when the femur is rotated to the side [eg, crab diagram], then it will contribute more to lift during the recovery phase, with the tibia now performing the greater part of the front-back motion.

Clearly, there is a continuum here, and with Nico, the legs were designed so that they might operate essentially anywhere along this continuum. After some experimentation, we found that a slow, stable creep gait was easier to implement using the sideways-rotated femur posture, while for a quick power walk, the upright-femur rotation works better. The sideways-Creep stance provides more stability, while the upright-Walk stance provides more speed and power.

This continuum is also seen in the real world of mammals. Humans and horses and short-legged dogs [like terriers] have more the upright leg stance, while cats and some dogs [such as retrievers] have more of a rotated femur, especially during slow walking and creeping. With a robot, by changing the leg orientation, we should be able to get the best of both worlds.

<| Parameter Variations

It takes some playing around to get a gait down successfully. In many cases, a slight change in angle of a leg segment, or in range of extension, will produce a dramatic change in "grace" and stability, and in whether the gait proves to function at all. When something isn't quite right, Nico will tend to flail his limbs and jerk in place, rather than make any headway. When things all click together, Nico takes off with relatively smooth inertial movements, and without having to be coaxed.

The parameters listed below have to be set correctly for a successful result. As it turns out, this is a little trickier for a quadruped than for a hexapod, since the quad is not intrinsically as stable and has to deal with dynamic stability in most of its gait positions. Much of the problem stems from the fact that the leg segments operate in a radial, or "polar", coordinate system while the body itself moves in an "orthogonal" cartesian coordinate system.

    1. baseline rotation position of each servo [8 cases] - relates to "upright" versus "crab" posture.
    2. max and min rotation angles of each servo [8 cases] - relates to tradeoffs between lift and extension.
    3. relative phasing between each servo [8 cases] - relates to when to lift versus when to pull, etc.

Furthermore, the exact settings of these parameters are intimately related to the:

    4. exact lengths of upper and lower leg segments [8 cases].

Change a segment length, and all of the parameters must be adjusted, often by quite a bit. For example, lengthening the lower leg segment by 50% will obviously increase the stride, but more importantly, depending upon the postural geometry, it will also require changing the rotation angles of both leg servos in order to keep the stride on a level plane. Each case must be individually confronted, since at present, Nico has no ability to sort this out on his own.

<| Strategy for Selecting Parameters.

So far, dealing with all of the DOF's built into the Nico system has not been too serious a problem. The procedure used for selecting parameters goes as follows:

    a. Choose leg segment lengths - after looking at lots of animal pictures, we decided on a lower leg segment somewhat longer than the upper.
    b. Select the posture for a given gait - upright versus crab-like.
    c. Choose one leg and adjust the servo pulsewidths for moving the upper leg segment over a reasonable range of motion.
    d. Given the range of servo movement related to item c, adjust the servo pulsewidths for moving the lower leg segment over a reasonable range of motion - too large a range here usually leads to jerky movements and poor dynamic stability.
    e. Choose parameters to elicit "mirror-image" front-back leg movements.
    f. Adjust the relative phases between leg segments, upper-and-lower, front-to-back, and side-to-side to give a correct overall motion.

An iterative approach works well here. Once we got the basic scheme down, it proved relatively easy to use old gaits as a foundation for evolving new gaits.

In addition, as our main goal is to improve Nico's overall mobility, this means eventually going to faster and longer gaits. By vectoring off previously working gaits we can, for instance, increase leg segment lengths and quickly produce a working gait by making a few changes to the parameters used with the shorter legs.

<| TOP

© Oricom Technologies, updated June 2002