Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 23 Next »


Requirements

Concept Analysis

Initially we considered several different methods of producing walking motion. Although many different bipedal locomotion solutions exist, none of them are simple or extremely reliable. Our solution needed to provide a good combination of performance, reliability, and manufacturability.

Parallel 2DOF Mechanism

This concept uses a parallel 2-degree-of-freedom linkage to move a foot that stays parallel to the upper body but is free to move vertically and horizontally. The input to this linkage is two push-rods that could be controlled with a simple cam mechanism. It could produce any desired trajectory within its range of motion. A separate mechanism would be required for moving the robot's center of gravity. We discarded this concept because of concerns about its structural stiffness and overall reliability.

Cable-Driven Mechanism

This concept uses full humanoid 5DOF legs, with every joint driven by cables powered by a cam mechanism in the torso. This arrangement could be simplified by coupling the ankle roll to the pelvis roll and the ankle pitch to the pelvis pitch, decreasing our system to 3 independent DOFs per leg. It also has the added benefit that abduction/adduction of the leg enables this mechanism to produce both locomotion and balancing. However, this is an extraordinarily complex mechanism and we did not believe we would be able to complete it in the time available.

Four-Bar 1DOF Mechanism

This concept uses two four-bar mechanisms to move a single-piece "leg". The mechanisms are arranged so that the vector connecting their outputs is constant, allowing the "leg" connected there to be a single rigid part. This mechanism appears to provide good structural stiffness and relatively low complexity. Although it has a large number of moving parts, it is essentially one four-bar mechanism repeated two times for each leg. A separate balancing mechanism is also required. We decided to proceed with this concept.

Leg Analysis

Our first challenge was making a mechanism that was capable of making a smooth, gait cycle motion. We wanted to start with a four bar mechanism and the ideal driving input as a crank because coordinating both legs with a single motor was going to be a second challenge. The desired output, designed to match the flat portion of the stance phase of the human gait cycle would be a smooth semicircle motion at the foot.

Because our mechanism is a standard four-bar linkage, analytical analysis is fairly trivial. A simple vector loop analysis will give us our desired positions, velocities, and accelerations. However, the quantity of information we need for our design process would be difficult to derive using pencil and paper, so we quickly switched to numerical methods.


Position

We started with a standard four-bar linkage with an extension of the coupling bar. Drawing the mechanism's range of motion using our MATLAB script (drawFourBar.m), we manually optimized our link lengths to produce the desired semicircular output.

We soon produced the mechanism shown below, where a simple rotating circular input (red) produces a semicircular output with a flat floor (blue). Soon after, we discovered that Chebyshev's Lambda Mechanism was almost identical to our manually optimized solution. It was the analytical equivalent to our empirical solutionOnce the kinematics gave us the optimal dimensions and design for the mechanism, we were able to flip the mechanism upright and attach multiple mechanisms to drive the output links (feet).


Ground

5.5

5.4932 (7(5-√(7))/3)

Input

2.5

2.4797 (7(3-√(7)))

Coupler

7

7

Coupler Extension

7

7

Output

7

7


Velocity and Acceleration

We modified our MATLAB script to produce velocity and acceleration by differentiating position, enabling us to plot output position, velocity, and acceleration as a function of input position (mechanismAnalysis.m).

As expected, we see that our output features a smooth, linear x velocity while keeping y position relatively constant during the center of its range, exactly what our robot needs. However, this data represents the motion of a single output, whereas our robot contains four parallel mechanisms, two or four of which are in contact with the ground at a given point in time. Therefore, a more meaningful analysis would be a piece-wise combination of these plots.

We modify our MATLAB script again (robotAnalysis.m). Assuming that only the lower leg is in contact with the ground, our robot's position, velocity, and acceleration are functions of the lower leg only. (Keep in mind that these drawings show our mechanism upside down, so the "lower" leg is the one with the higher y position value.)

If we place two legs 180º apart and display only the grounded leg ...we see that our x position is continuously linearly increasing and our y height remains approximately constant, ...our x velocity is an almost constant positive value and our y velocity is approximately zero, and ...our x and y accelerations are always close to zero. (Note that the magnitudes for acceleration are tiny.)

All of these features fit our robot's needs perfectly. Our combination of mechanisms produces near-constant forward motion at a near-constant vertical height.

Counterweight Analysis

Our balancing system will use a counterweight, moving it periodically to keep it above our robot's support polygon, which is the smallest convex shape containing all of the points where the robot contacts the ground.

C. Tunca, N. Pehlivan, N. Ak, B. Arnrich, G. Salur, and C. Ersoy,

“Inertial Sensor-Based Robust Gait Analysis in Non-Hospital Settings

for Neurological Disorders,” Sensors, vol. 17, no. 4, p. 825, Apr. 2017.

Our weight needs to rest over the grounded foot throughout the swing phase, then switch quickly to the landing foot during the double support phase. As our position analysis shows, this double support phase is only about 10º wide. If our robot walks at one step every two seconds, that means our counterweight has to shift in a fraction of a second.

Next Section: Practice

  • No labels