Introduction: The Language of Mechanical Motion
Series Overview: This is Part 12 of our 24-part 507 Ways to Move series. We tackle the most fundamental class of mechanisms in all of mechanical engineering — linkages. Brown's compilation catalogs dozens of crank-linkage arrangements in movements #92-93, #98, #100, #126, #131, #145-146, #154, #156-158, and #166-169.
1
Foundations of Mechanical Movement
Motion types, power transmission, history of machines
2
Pulleys, Belts & Rope Drives
Simple/compound pulleys, V-belts, chain drives
3
Gear Fundamentals & Geometry
Pitch, pressure angle, module, involute profile
4
Spur & Internal Gears
External/internal spur, friction gearing
5
Helical, Herringbone & Crossed Gears
Thrust forces, skew gears, double helical
6
Bevel, Miter & Hypoid Gears
Straight/spiral bevel, hypoid offset
7
Worm Gears & Self-Locking
Single/multi-start, efficiency, irreversibility
8
Planetary & Epicyclic Trains
Sun-planet-ring, compound planetary
9
Rack & Pinion, Scroll & Sector
Linear motion, mangle racks, sector gears
10
Gear Trains & Differentials
Simple/compound trains, differential mechanisms
11
Cams, Followers & Eccentrics
Plate/barrel/face cams, follower types
12
Cranks, Linkages & Four-Bar Mechanisms
Grashof condition, slider-crank, bell cranks
You Are Here
13
Ratchets, Pawls & Intermittent Motion
Geneva drive, mutilated gears, indexing
14
Screws, Toggle Joints & Presses
Lead screws, differential screws, mechanical advantage
15
Escapements & Clockwork
Anchor, deadbeat, lever escapements, horology
16
Governors, Regulators & Feedback
Centrifugal governors, Watt, speed control
17
Parallel & Straight-Line Motions
Watt, Chebyshev, Peaucellier linkages
18
Hydraulic & Pneumatic Movements
Pumps, cylinders, Pascal's law, compressors
19
Water Wheels, Turbines & Wind Power
Overshot/undershot, Pelton, Francis, wind mills
20
Steam Engines & Valve Gear
Reciprocating, rotary, Stephenson, Walschaerts
21
Gearmotors, Sensors & Encoders
DC/AC/stepper gearmotors, encoder feedback
22
Efficiency, Backlash & Contact Ratio
Power loss, anti-backlash, mesh analysis
23
Vibration, Noise & Failure Analysis
Gear tooth failure, resonance, diagnostics
24
Materials, Lubrication & Standards
AGMA/ISO, heat treatment, tribology
A linkage is a system of rigid bars (links) connected by revolute joints (pins) or prismatic joints (sliders). The simplest non-trivial linkage has four bars — one fixed (the frame), one input, one output, and one coupler connecting them. Despite this apparent simplicity, the four-bar linkage can generate an astonishing variety of motions, and it remains the building block of mechanism design.
As the kinematic chain theorist Franz Reuleaux demonstrated in the 1870s, all planar mechanisms can be decomposed into combinations of four-bar chains. Understanding this single mechanism type gives you the key to analyzing virtually any mechanical device.
Key Insight: The slider-crank mechanism in your car's engine is actually a special case of the four-bar linkage where one link is infinitely long (the slider moves in a straight line, which is an arc of infinite radius). Every piston engine ever built is, at its heart, a four-bar mechanism.
1. The Slider-Crank Mechanism
The slider-crank converts rotation to reciprocation (or vice versa). It consists of a crank (rotating link), a connecting rod (coupler), and a slider (piston) constrained to move in a straight line.
1.1 Kinematics of Slider-Crank
import math
def slider_crank_kinematics(r, l, theta_deg, omega):
"""
Compute piston position, velocity, and acceleration
for an inline slider-crank mechanism.
r: crank radius (mm)
l: connecting rod length (mm)
theta_deg: crank angle from TDC (degrees)
omega: crank angular velocity (rad/s)
Returns: (position, velocity, acceleration)
"""
theta = math.radians(theta_deg)
n = l / r # rod ratio (typically 3-5 for engines)
# Piston displacement from TDC (approximate formula)
x = r * ((1 - math.cos(theta)) + (1 - math.cos(2*theta)) / (2*n))
# Piston velocity
v = r * omega * (math.sin(theta) + math.sin(2*theta) / (2*n))
# Piston acceleration
a = r * omega**2 * (math.cos(theta) + math.cos(2*theta) / n)
return x, v, a
# Example: Typical automotive engine
r = 45.0 # crank radius 45 mm (90 mm stroke)
l = 150.0 # con-rod length 150 mm
rpm = 6000
omega = 2 * math.pi * rpm / 60 # rad/s
print(f"Engine: stroke={2*r:.0f}mm, rod={l:.0f}mm, "
f"rod ratio={l/r:.2f}, RPM={rpm}")
print(f"{'Angle':>8} {'Disp(mm)':>10} {'Vel(m/s)':>10} {'Accel(g)':>10}")
print("-" * 42)
for angle in range(0, 361, 30):
x, v, a = slider_crank_kinematics(r, l, angle, omega)
print(f"{angle:8d} {x:10.2f} {v/1000:10.2f} {a/9810:10.1f}")
# Key observation: piston spends more time near TDC than BDC
# because the connecting rod "stretches" the dwell at top
1.2 Offset Slider-Crank
In an offset slider-crank, the slider path does not pass through the crank center. This creates an asymmetric stroke — the forward stroke takes a different crank angle than the return stroke. Applications include:
- Quick-return in shaping machines: The cutting stroke is slow (more crank angle) and the return is fast (less crank angle).
- Reduced piston side thrust: Some engine designs offset the crankshaft slightly to reduce friction during the power stroke.
- Pump mechanisms: Offset creates unequal suction and discharge strokes for specific flow characteristics.
2. The Four-Bar Linkage
The four-bar linkage consists of four rigid links connected in a closed loop by four revolute joints. One link is fixed (the frame or ground). The behavior of the mechanism depends entirely on the relative lengths of the four links.
2.1 Grashof's Condition
Grashof's condition determines whether any link can make a full 360-degree rotation. Let the link lengths be sorted as s (shortest), l (longest), p and q (intermediate):
| Condition |
Classification |
Behavior |
| s + l < p + q |
Grashof mechanism |
At least one link makes full rotation; type depends on which link is fixed |
| s + l = p + q |
Change-point (special Grashof) |
Links can align in a straight line; uncertain behavior at change-points |
| s + l > p + q |
Non-Grashof |
No link can make full rotation; all links oscillate (triple rocker) |
def grashof_analysis(link_lengths):
"""
Analyze a four-bar linkage using Grashof's condition.
link_lengths: dict with keys 'a' (frame), 'b' (input/crank),
'c' (coupler), 'd' (output/follower)
"""
lengths = sorted(link_lengths.values())
s, p, q, l = lengths[0], lengths[1], lengths[2], lengths[3]
grashof_sum = s + l
other_sum = p + q
print(f"Link lengths: {link_lengths}")
print(f"Sorted: s={s}, p={p}, q={q}, l={l}")
print(f"s + l = {grashof_sum:.2f}")
print(f"p + q = {other_sum:.2f}")
if grashof_sum < other_sum:
print("GRASHOF mechanism (at least one fully rotating link)")
# Determine type based on which link is shortest
names = list(link_lengths.keys())
vals = list(link_lengths.values())
shortest_link = names[vals.index(s)]
if shortest_link == 'a':
linkage_type = "Double-crank (drag link)"
print(f" Shortest is frame -> {linkage_type}")
elif shortest_link == 'b':
linkage_type = "Crank-rocker"
print(f" Shortest is input -> {linkage_type}")
elif shortest_link == 'd':
linkage_type = "Rocker-crank"
print(f" Shortest is output -> {linkage_type}")
else:
linkage_type = "Double-rocker (coupler shortest)"
print(f" Shortest is coupler -> {linkage_type}")
elif abs(grashof_sum - other_sum) < 0.001:
print("CHANGE-POINT mechanism (special Grashof)")
print(" Warning: behavior uncertain at change points")
else:
print("NON-GRASHOF mechanism (triple rocker)")
print(" No link can make full rotation")
# Example: Crank-rocker
print("=== Classic Crank-Rocker ===")
grashof_analysis({'a': 4, 'b': 2, 'c': 3, 'd': 3.5})
print("\n=== Non-Grashof (Triple Rocker) ===")
grashof_analysis({'a': 4, 'b': 3, 'c': 3, 'd': 5})
print("\n=== Double-Crank (Drag Link) ===")
grashof_analysis({'a': 2, 'b': 3, 'c': 4, 'd': 3.5})
2.2 Inversions of the Four-Bar Linkage
An inversion is obtained by fixing a different link while keeping all link lengths the same. A Grashof four-bar has four inversions:
| Fixed Link |
Name |
Motion Description |
Examples |
| Adjacent to shortest |
Crank-rocker |
Input rotates fully; output oscillates |
Windshield wiper, sewing machine bobbin |
| Shortest link (frame) |
Double-crank (drag link) |
Both input and output rotate fully but at variable speed |
Locomotive driving wheels, coupling rods |
| Opposite to shortest |
Double-rocker |
Both input and output oscillate; coupler rotates |
Ackermann steering, some conveyor mechanisms |
| Slider replaces one joint |
Slider-crank |
Rotation to/from translation |
Piston engines, compressors, pumps |
2.3 Transmission Angle Optimization
The transmission angle (μ) is the angle between the coupler and the output link at their connecting joint. It measures how effectively force is transmitted through the linkage:
- Ideal: μ = 90 degrees (force is entirely productive).
- Minimum acceptable: μ > 40 degrees (below this, friction dominates and the mechanism may jam).
- Optimization: Choose link lengths to maximize the minimum transmission angle over the full cycle.
Design Rule: Always check the minimum transmission angle over the entire cycle, not just at the nominal position. A linkage that works beautifully at one crank position may jam at another because the transmission angle drops below 40 degrees. This is the most common four-bar design error.
3. Bell Cranks & Force Redirection
A bell crank is an L-shaped lever pivoted at the bend, used to change the direction of force by 90 degrees (or other angles). Brown catalogs bell cranks in movements #126, #154, and #156-157.
| Bell Crank Type |
Angle |
Application |
| Right-angle (90 deg) |
90 degrees |
Bicycle brakes (cable pull to caliper squeeze), aircraft control linkages |
| Obtuse angle |
90-180 degrees |
Machine tool lever systems, clutch linkages |
| Unequal arms |
Any angle |
Combines direction change with mechanical advantage or velocity ratio |
The mechanical advantage of a bell crank depends on the arm lengths: MA = L_output / L_input. If the output arm is shorter, force is amplified but travel is reduced — exactly like a class-1 lever.
Brown's Movements
Movements #126 & #154-158 — Bell Cranks and Lever Systems
Brown illustrates how bell cranks redirect motion at machinery joints. Movement #126 shows a simple right-angle bell crank for reversing the direction of a connecting rod. Movements #154, #156-158 demonstrate compound lever arrangements where multiple bell cranks chain together to create complex force and motion transformations across a machine frame — common in 19th-century textile machinery where many operations needed to be driven from a single line shaft.
Brown #126
Brown #154-158
Textile Machinery
4. Toggle Mechanisms
4.1 The Toggle Principle
A toggle mechanism exploits the geometry near a dead center position, where two links align in a straight line. At this point, a small input force produces a theoretically infinite output force (limited in practice by structural strength and friction).
Analogy: Think of straightening your arm against a wall. When your elbow is slightly bent, it takes moderate effort to straighten it. As your arm approaches full extension (the toggle point), the wall force becomes enormous even though you're pushing with the same muscle effort. Toggle presses exploit exactly this principle.
import math
def toggle_force_amplification(F_input, theta_deg):
"""
Calculate force amplification in a toggle mechanism.
F_input: input force (N) applied to the joint
theta_deg: angle from dead center (straight line)
As theta approaches 0, amplification approaches infinity.
"""
theta = math.radians(theta_deg)
if theta < 0.01:
print(f" theta={theta_deg} deg: AT DEAD CENTER "
f"(theoretical infinite amplification)")
return float('inf')
# F_output = F_input / (2 * tan(theta))
F_output = F_input / (2 * math.tan(theta))
amplification = F_output / F_input
print(f" theta={theta_deg:5.1f} deg: F_out={F_output:10.1f} N "
f"(amplification={amplification:8.1f}x)")
return F_output
# Demonstrate toggle amplification
print("Toggle force amplification (F_input = 100 N)")
print("=" * 55)
for angle in [30, 20, 10, 5, 2, 1, 0.5, 0.1]:
toggle_force_amplification(100, angle)
4.2 Dead Points & Overcoming Them
A dead point occurs when the crank and connecting rod align — the mechanism cannot be driven by force on the slider alone. In engines, dead points occur at Top Dead Center (TDC) and Bottom Dead Center (BDC). Solutions include:
- Flywheel: Stores rotational energy to carry the crank through dead points (used in all reciprocating engines).
- Multiple cylinders: In a multi-cylinder engine, other cylinders provide torque when one is at dead center.
- Offset crank: Slightly misaligning the slider path from the crank center avoids exact dead center.
- Springs: Store energy to push past dead points (used in toggle clamps and latches).
5. Quick-Return Mechanisms
5.1 Whitworth Quick-Return
The Whitworth quick-return is an inversion of the slider-crank where the fixed pivot is inside the crank circle. It produces a slow cutting stroke and a fast return stroke — essential for shaping and planing machines where the tool cuts in only one direction:
| Parameter |
Formula |
Typical Values |
| Time ratio (Q) |
Q = (180 + α) / (180 - α) |
1.5 to 2.5 |
| Cutting angle |
(180 + α) degrees of crank rotation |
220-270 degrees |
| Return angle |
(180 - α) degrees of crank rotation |
90-140 degrees |
| Stroke length |
Adjustable by changing the crank pin radius |
50-500 mm depending on machine size |
5.2 Crank-Shaper Mechanism
The crank-shaper uses a slotted lever driven by a crank pin. As the crank rotates at constant speed, the lever oscillates, driving the ram (cutting tool) back and forth. The geometry ensures the forward (cutting) stroke occupies more crank rotation than the return, giving the quick-return effect.
Key Insight: The time ratio Q tells you how much faster the return is. A Q of 2.0 means the cutting stroke takes twice as long as the return. Since the crank rotates at constant speed, this translates directly to the ratio of crank angles. The return stroke velocity is Q times the cutting velocity, so the tool retracts quickly without wasting time.
6. Special Linkages
6.1 Lazy-Tongs & Pantograph
Lazy-tongs (Brown's movement #144) is an accordion-like linkage of crossed levers that extends and retracts. It amplifies linear displacement — a small input push results in a large extension. Applications include:
- Scissor lifts: Hydraulic cylinder at the base extends lazy-tongs to lift a platform.
- Expandable gates: Security barriers and pet gates use lazy-tongs for compact storage.
- Pantograph: A four-bar variant that copies (and optionally scales) motion — used in engraving machines and railway current collectors.
6.2 Compound Cranks
Brown's movements #168-169 illustrate compound crank arrangements where multiple cranks are coupled together, often at 90 or 120 degrees, to produce smooth multi-phase power output. This is the principle behind multi-cylinder engines — the crankshaft is a compound crank with throws arranged at specific angles to balance forces and distribute power pulses evenly.
Engineering Comparison
Crank Throw Angles in Multi-Cylinder Engines
- Inline 4-cylinder: Throws at 0-180-180-0 degrees. Pairs fire together; balance weight compensates first-order forces.
- Inline 6-cylinder: Throws at 0-120-240-240-120-0 degrees. Inherently balanced for all primary and secondary forces — the smoothest inline configuration.
- V8 cross-plane: Throws at 0-90-270-180 degrees. Produces the distinctive "burble" exhaust note due to uneven firing intervals.
- V8 flat-plane: Throws at 0-180-180-0 degrees. Even firing; higher-revving but more vibration. Used in Ferrari 458/488.
Crankshaft
Firing Order
Balance
7. Historical Context
| Era |
Development |
Significance |
| 3rd c. AD |
Roman crank-operated grain mills (Hierapolis sawmill) |
Earliest known use of crank mechanism for converting rotary to reciprocating motion |
| ~1206 |
Al-Jazari's crank-connecting rod mechanisms |
First clear documentation of slider-crank for water pumping |
| 1784 |
James Watt's parallel motion linkage |
Four-bar linkage that guided piston rod in near-straight line; Watt called it his greatest invention |
| 1876 |
Franz Reuleaux — "Kinematics of Machinery" |
Systematic classification of mechanisms; kinematic chains and inversions |
| 1883 |
Grashof publishes his linkage condition |
Fundamental criterion for four-bar linkage mobility |
| 1950s+ |
Computer-aided linkage synthesis |
Freudenstein's equation enables algebraic four-bar design for function generation |
8. Case Studies
Case Study 1
IC Engine Slider-Crank
A four-cylinder 2.0L engine has a bore of 86 mm and stroke of 86 mm (square engine). The crank radius is 43 mm and the connecting rod length is 145 mm (rod ratio 3.37). At 6500 RPM, the piston reaches a peak acceleration of approximately 22,000 m/s² (over 2,200 g). This enormous acceleration on a 350g piston assembly creates an inertia force of about 7,700 N — roughly the weight of a small car. The connecting rod must transmit this force every cycle (108 times per second at 6500 RPM) without fatigue failure, which is why con-rods are manufactured from forged steel or titanium in racing applications.
Engine Design
Inertia Forces
Con-Rod Loading
Case Study 2
Aircraft Landing Gear — Four-Bar Retraction
Many aircraft use four-bar linkages for landing gear retraction. The system must fold the gear into the wheel well (compact storage), lock in both extended and retracted positions (over-center toggle), and withstand enormous landing loads. The Boeing 737's main gear uses a drag strut that acts as a toggle — when fully extended, it goes slightly over-center and locks geometrically, so no hydraulic pressure is needed to hold it down during landing. The retraction actuator breaks this lock and folds the gear using a carefully designed four-bar path that avoids interference with the wheel well structure.
Aerospace
Landing Gear
Over-Center Lock
Case Study 3
Robot Arm — Planar 4-Bar End Effector
Parallel-jaw robot grippers often use a four-bar linkage to maintain parallel jaw faces throughout the grip range. The input link (driven by a pneumatic or electric actuator) is the crank; the two jaw faces are the coupler and follower; and the gripper body is the frame. By choosing link lengths so that the coupler moves in approximate translation (a special four-bar configuration), the jaw faces remain parallel regardless of opening width — essential for picking up parts of varying sizes without reorientation.
Robotics
Parallel Gripper
Coupler Motion
Exercises & Self-Assessment
Exercise 1
Grashof Classification
Classify the following four-bar linkages using Grashof's condition and determine the type (crank-rocker, double-crank, etc.) when the shortest link is the input. (a) Links: 2, 3, 4, 5 cm. (b) Links: 3, 4, 5, 6 cm. (c) Links: 2, 4, 5, 9 cm. (d) Links: 3, 3, 3, 3 cm (equal lengths — what special case is this?).
Exercise 2
Slider-Crank Analysis
A compressor has a crank radius of 50 mm and connecting rod length of 200 mm. The crank turns at 1200 RPM. Calculate: (a) the stroke length, (b) the maximum piston velocity, (c) the maximum piston acceleration (express in m/s² and g), and (d) sketch the velocity and acceleration as functions of crank angle for one full revolution.
Exercise 3
Quick-Return Design
Design a Whitworth quick-return mechanism for a shaping machine with a time ratio Q = 1.8. Calculate the required value of angle α. If the cutting stroke length is 300 mm and the crank rotates at 60 RPM, calculate the average cutting speed and average return speed.
Exercise 4
Reflective Questions
- James Watt considered his parallel motion linkage his greatest invention — greater than the separate condenser that made his steam engine practical. Why was straight-line motion so important, and why was it so difficult to achieve with linkages?
- Explain why a flywheel is essential in a single-cylinder engine but less critical in a six-cylinder engine. Relate your answer to dead points and power pulse distribution.
- A toggle clamp can exert enormous clamping force from a small hand force. Why does the force amplification increase as the toggle approaches dead center? What limits the maximum practical force?
- In a non-Grashof four-bar (triple rocker), no link can rotate fully. How can this type still be useful? Give two real-world examples.
- Why is the rod ratio (l/r) in engine design typically between 3 and 5? What happens if it's too small (say 2)? What happens if it's too large (say 10)?
Conclusion & Next Steps
Cranks and linkages are the alphabet of mechanical motion. Here are the key takeaways from Part 12:
- The slider-crank converts rotation to reciprocation in every piston engine, compressor, and pump. Its kinematics are governed by crank radius and rod ratio.
- Grashof's condition (s + l vs p + q) is the first test in any four-bar design — it determines whether full rotation is possible.
- Four-bar inversions produce crank-rocker, double-crank, and double-rocker behaviors from the same link lengths by fixing different links.
- Transmission angle must stay above 40 degrees to ensure reliable force transmission.
- Bell cranks redirect force; toggles amplify force near dead center.
- Quick-return mechanisms provide unequal forward/return speeds for machine tools.
- Watt's parallel motion proved that four-bar linkages can approximate straight-line motion — a discovery that powered the Industrial Revolution.
Next in the Series
In Part 13: Ratchets, Pawls & Intermittent Motion, we explore one-way rotation devices, Geneva mechanisms for precise indexing, mutilated gears, escapements, and the mechanisms that make watches tick and film projectors advance frame by frame.
Continue the Series
Part 13: Ratchets, Pawls & Intermittent Motion
Geneva drive, mutilated gears, indexing mechanisms, overrunning clutches, and film projector mechanics.
Read Article
Part 14: Screws, Toggle Joints & Presses
Lead screws, differential screws, toggle presses, and mechanical advantage calculations.
Read Article
Part 11: Cams, Followers & Eccentrics
Plate/barrel/face cams, follower types, cam profiles, and valve timing systems.
Read Article