Stewart Platform Hexapod 3D

A Blender-built six-actuator motion base: inverse kinematics, leg forces, singularities and a motion-cueing washout, live.

Presets

Playback

Pose (manual mode and start pose)

Payload and actuators

Motion modes and washout

Camera

Layers

Quality

Model check

The science

What is a Stewart platform?

A plate held by six actuators of variable length, each ending in a universal joint at the base and at the plate. Lengthening and shortening the legs together moves the plate in all six degrees of freedom: three translations and three rotations. Flight simulators, vibration test tables, telescope mirrors and surgical robots use this layout because it is stiff and every actuator carries load in parallel. SI units throughout; the model is an independent educational one and not any product.

1. Inverse kinematics (closed form)

Given the plate position t and rotation R = Rz(yaw) Ry(pitch) Rx(roll), the leg vector and length are

di = t + R pi − bi,  li = |di|

where bi and pi are the base and plate joint positions (radius 0.95 m and 0.62 m, paired 18 and 28 degrees apart). This is why hexapods are easy to command: the six lengths are a direct formula.

2. Forward kinematics (iterative)

The opposite problem, plate pose from six measured lengths, has no simple closed form (up to 40 solutions). The page uses Newton's method from the previous pose: Δx = J-1(lmeasured − l(x)), with the rotation updated through the Rodrigues formula. It converges in 2 to 4 iterations at 240 Hz.

3. The Jacobian

Leg speeds follow from the plate twist (velocity v, angular velocity ω): dli/dt = ni·v + (ri × ni)·ω, with ni = di/li and ri = R pi. The 6 x 6 matrix J of these rows maps plate twist to leg speed. When det J → 0 the platform is at a singularity: some plate motion needs no leg motion (it is uncontrolled) and some small force needs enormous leg force. The page shows |det J| (rotation columns scaled by the plate radius) relative to the neutral pose as the manipulability index.

4. Statics and dynamics of the payload

Each leg exerts a force fi along its axis. Newton-Euler for the plate and payload gives six equations:

Σ fi ni = m (a + gz),  Σ fi (ri × ni) = Iα + ω × Iω + c × m (a + gz)

that is JT f = w, solved for the six leg forces (positive = compression, the leg pushes the plate). The pod is a 2.0 x 1.4 x 1.2 m box of mass m with its centre of gravity c above the plate. Accelerations come from finite differences of the actual plate pose, low-pass filtered at about 30 ms. Actuator power is Σ fi dli/dt = w · (v, ω) (virtual work).

5. Actuator model

Every leg tracks its commanded length through a first-order lag (25 ms) with a speed limit and soft end-stops at the stroke margin. The plate pose shown is the forward kinematics of the actual lengths, so fast commands visibly lag and saturated legs distort the motion. The commanded pose is drawn as a ghost in the 2D view.

6. Motion cueing: washout and tilt coordination

A real vehicle can accelerate for many seconds; a platform can move only 0.3 m. The classical washout filter sends the onset of acceleration as a real translation, passed through a second-order high-pass x'' + 2ζω0 x' + ω02 x = a (ζ = 0.7), so the platform drifts back to the centre. The sustained part is faked by tilting: a plate pitched by θ makes gravity act along the seat with afelt = g sin θ. The tilt rate is limited (default 3 degrees/s), because an occupant should not notice the rotation. The graph shows the vehicle acceleration against the force felt in the plate frame. Perception thresholds are typical literature values, not individual ones.

Numerical checks in the page

(1) inverse then forward kinematics returns the pose to 1e-9 m on random poses; (2) the analytic Jacobian is compared with central finite differences of the leg lengths; (3) virtual work: the work done by the static leg forces over a small displacement equals the gain in gravitational potential energy, computed from the geometry only; (4) at neutral pose six equal leg forces carry exactly m g.

Simplifications

Rigid, massless legs; frictionless ideal universal joints; no leg collisions or joint angle limits; pod inertia from a uniform box; actuator dynamics reduced to lag plus speed limit; no hydraulic or electric motor model; centre of gravity fixed in the plate frame. The geometry and the limit values are illustrative round numbers, not those of a specific product, and the perceptual thresholds in the washout section are indicative.

Loading model...
Loading Blender model...
Leg lengths and end-stops
Leg forces (+ push, - pull)
Commanded vs actual (or cueing)
Peak leg force vs plate height
Made with 🟠 Blender · Three.js