From the bounding gait simulation, it was determined that the amplitude the legs should move through should be 25° for maximum speed and stability. It was also found that in order to obtain a suitably small turning radius(~ 3 body lengths), the amplitude of the legshad to increase by 5° on the outer radius of the turn and decrease by 5° on the inner radius of the turn. Thus a mechanism is needed to vary the stroke of the legs. This sort of mechanism is known as a variable stroke mechanism and have myriad number of applications. In order to not reinvent the wheel, research was carried out on mechanisms capable of producing variable stroke.
Mechanism Selection
Research revealed several candidate mechanisms that could be used to produce a variable stroke. Variations of this mechanism exist using more complicated paths for variable valve stroke mechanisms in engines. This was not found to particularly useful for our purposes as it produces a translational and not rotary oscillation. It also requires a circular path that is difficult to manufacturer. The first mechanisms considered were locomotive valve gears. A valve gear is a device on a locomotive that enables a steam engine to be throttled and reversed. An example of one of the most well known valve gears, the Stephenson Valve Gear is shown below. By adjusting the a lever on the locomotive, one is able to vary the stroke of the valve rod which determines the flow rate of steam through the valve.
Valentine[1] modified a valve gear mechanism to be used as a wing stroke controller for As can be seen in the diagram below, valve gears tend to be very complicated mechanisms and output a linear oscillating motion instead of the rotary oscillation need, making them ill-suited for use in this project.
{1}
However, valve gear mechanisms have been modified to be used as steering mechanisms for ornithopters[1], where the mechanism is used to modulate the wing stroke on both sides of the ornithopter much in the same way we intend to steer. A mechanism designed by Valentine is shown below.[1] While this mechanism has the advantage that it directly outputs an oscillating rotary motion of a link with a decent mechanical advantage, it is very complicated and requires linear actuators for stroke adjustment.
{1}
After doing further research on ornithopter turning mechanisms[2], we found a hypocycloid gear mechanism for stroke control. It consists of a ring gear with a rotating planet gear inside with a pin that connects to a scotch yoke. By rotating the ring gear one can adjust the stroke that the scotch yoke moves through. This mechanism is nearly ideal, however, it requires a complex arrangement of gears that would be difficult for us to manufacturer.
{3},{1}
Another mechanism we considered was a hypocycloidal variable stroke mecha considered was to take a differential linkage combined with two rotating eccentrics. By adjusting the phase of the eccentrics with respect to each other one can adjust the displacement of the mechanism. Since the differential linkage 'adds' up the displacements of the two eccentrics the amplitude of the output is given by sin(angle)+sin(angle+phase_shift). A Working Model simulation of this mechanism shown below. The main disadvantage of this mechanism is the requirement for two rotating inputs which necessitates a complex arrangement of gearing.
The next one is a variable piston stroke mechanism used in automobile engines and uses a linear actuator to move a pivot point along a circular path to modify the stroke of a piston. To change the stroke of the piston, the location of the pivot point on the speed control radius bar is changed along a circular slider. This mechanism requires a difficult to make circular slider and a linear actuator, so it was not chosen.
{5}
After some more research we found a simple variable stroke mechanism well suited to our task that is used in a ratcheting continuously variable transmission(CVT). In this mechanism, the oscillation amplitude of a link connected to a ratchet is adjusted to control speed. By decreasing oscillation amplitude, the link moves over a smaller amount of distance each cycle, thus the output connected to the ratchet rotates a smaller amount per cycle, thus speed is decreased. By using a several of these mechanisms in parallel, one can attain nearly continuous rotation of the output shaft. To change the stroke of the link, one changes the location of the pivot point of the speed control link. This works much the same way as the variable piston stroke mechanism shown above, except that a rotatable link is used instead of a slider. This mechanism is well suited for use in our project because, it is simple, compact, contains no slider joints, and a high mechanical advantage(1:4). This mechanism was selected.
{3}
Simulation of Variable Stroke Mechanism
To get a general idea of the motion of this mechanism, we drew it up in Working Model and simulated it. Immediately a problem was discovered, the mechanism was found to shift not just the amplitude of the output link, but the zero amplitude. The zero amplitude being the location the link oscillates around. This is fine for a mechanism that is in a ratchetting CVT, but not so for a quadruped robot. In a ratchetting CVT all that matters is that the amplitude change, but doing so in a walking robot can cause the walking robot to become unstable.
To get around this, the link lengths and pivot locations were tweaked in Working Model. However doing so in Working Model turned out to be an arduous and time consuming process, so the position equations were derived and a simulation of the linkage was written in Javascript. This allowed us to quickly and easily change linkage parameters and obtain values for linkage amplitude and zero amplitude in real time to optimize the linkage. We then tweaked the parameters until the desired amplitude variation of 20-30 degrees was attained and zero amplitude variation was minimized. In the end we were able to get the required amplitude variation with an input angle range of 38°-80° and with a zero amplitude variation of 1°.
One can access the linkage simulation here.
Variable Stroke Mechanism Prototype
To validate that the variable stroke mechanism worked we built a prototype out of and FR4 and lexan. We chose to make the links an intend to construct much of our robot out of FR4, a glass reinforced epoxy laminate, because FR4 has a high specific strength and is quite cheap. We used bolts for the joints to enable the prototype to be easily disassembled, but intend to use 1/8" steel shaft with E-clips and washers for the final version. We actuated the input crank with a Polou 50:1 micro-HP motor and used a standard hobby servo control the amplitude. A video of the system is shown below(click on the picture)
Sources:
- A Variable Stroke Mechanism for Ornithopters
- Fixed Frequency, Variable Amplitude (FiFVA) Actuation Systems for Micro Air Vehicles
- Mechanisms and Mechanical Devices Sourcebook Third Edition by Neil Sclater and Nicholas P.Chironis
- Zero Max Adjustable Speed Drive
- Variable Stroke Engine