MotionGenesis: F=ma Software, textbooks, training, consulting.      Hexapod (Stewart Platform) Analysis

The figure to the right depicts a hexapod that consists of two rigid bodies A and AH connected by six legs. Parallel mechanisms like the hexapod are typically used for accurate position/orientation of surgical instruments or manufacturing tools and/or for creating a relatively strong stable platform for heavy objects such as flight-simulators.

Points B, C, D, E, F, and G are fixed on the lower platform A at the bottom end of one of the legs, whereas points BH, CH, DH, EH, FH, and GH are fixed on the upper platform AH, at the top end of one of the legs.

Right-handed sets of orthogonal unit vectors (not shown) Ai and AHi (i=x,y,z) are fixed in A and AH, respectively.

After constructing a hexapod, one can measure position vectors from Ao, an arbitrary point fixed on A, to each of B, C, D, E, F, G. Similarly, one can measure position vectors from AAHo, an arbitrary point fixed on AH, to each of BH, CH, DH, EH, FH, GH.

MotionGenesis Hexapod Stewart Platform Schematic
Click to enlarge image

Position measures from physical dimensions of lower and upper platform   (i = x, y, z)
Description     Symbol         x Value         y Value         z Value    
Ai   measures of   B's   position from   Ao Bi 0 m 0 m 0 m
Ai   measures of   C's   position from   Ao Ci 5.0 m 8.66 m 0 m
Ai   measures of   D's   position from   Ao Di 15.0 m 8.66 m 0 m
Ai   measures of   E's   position from   Ao Ei 20.0 m 0 m 0 m
Ai   measures of   F's   position from   Ao Fi 15.0 m -8.66 m 0 m
Ai   measures of   G's   position from   Ao Gi 5.0 m -8.66 m 0 m
AHi   measures of   BH's   position from   AHo  BHi 0 m 0 m 0 m
AHi   measures of   CH's   position from   AHo  CHi 0 m 0 m 0 m
AHi   measures of   DH's   position from   AHo  DHi 15.0 m 8.66 m 0 m
AHi   measures of   EH's   position from   AHo  EHi 15.0 m 8.66 m 0 m
AHi   measures of   FH's   position from   AHo  FHi 30.0 m 0 m 0 m
AHi   measures of   GH's   position from   AHo  GHi 30.0 m 0 m 0 m

One set of   "internal variables"   that characterize this system's configuration and motion are

  • LB, LC, LD, LE, LF, and LG, the lengths of each of the six legs that join A to AH
  • LB', LC', LD', LE', LF', and LG', the time-rate of change of the lengths of each of the six legs that join A to AH

A second set of   "external variables"   that characterize this system's configuration and motion are   (i = x, y, z)

  • pi,   the Ai measures of AHo's position from Ao
  • qi,   the Euler "BodyXYZ angles" that characterize AH's orientation in A
  • vi,   the Ai measures of AHo's velocity in A
  • wi,   the AHi measures of AH's angular velocity in A

In connection with this system, two kinematical problems can be posed: Given the values of the external variables, find those of the internal ones; and vice-versa, These two problem are called EI (External to Internal) and IE (Internal to External), respectively.

Problem 1: Hexapod EI Analysis   (Easier inverse-kinematics problem)
Find leg lengths and their time-derivatives from AH's given position, orientation, velocity, and angular velocity in A.
EI is a relatively simple problem. To find LB, form P_B_BH>, the position vector from B to BH as the sum of the position vectors from B to Ao, Ao to AHo, and AHo to BH, namely,

P_B_BH> = P_B_Ao> + P_Ao_AHo> + P_AHo_BH>

The magnitude of P_B_BH> is precisely LB. The remaining leg lengths are found similarly.

To find LB', begin by determining V_BH_A>, the velocity of BH in A, making use of the familiar equation relating the velocities of two points fixed on a rigid body,


V_BH_H> = V_AHo_A> + W_AH_A> x P_AHo_BH>

LB' is then available as the dot-product of V_BH_A> with a unit vector directed from B to BH. The remaining leg extension rates are found similarly.

The file   MGHexapodEI.txt   is a complete listing of MotionGenesis commands to:
Note: The file   MGHexapodEIMoreEfficient.txt   uses the advanced AUTOZ feature for more efficient calculations of these quantities (results are in MGHexapodEIMoreEfficient.all).

  • Find symbolic expressions for the leg lengths in terms of   pi and qi   (i = x, y, z).
  • Find symbolic expressions for the time-rate of change of the leg lengths in terms of   pi, qi, vi, and wi   (i = x, y, z).
  • Find numerical values for the aforementioned leg lengths and rates from given input values.
  • Record input and program responses in the file MGHexapodEI.all

Problem 2: Hexapod IE Analysis   (Harder forward-kinematics problem)
Find AH's position, orientation, velocity, and angular velocity in A from given leg lengths and their time-derivatives
IE possesses either no solution or multiple solutions and is not so simple. One can begin the solution process by expressing the position vector from Ao to AHo in terms of the unknown scalars pi (i = x, y, z) and the unit vectors Ai (i = x, y, z), that is by writing

P_Ao_AHo> = px*Ax> + py*Ay> + pz*Az>

This brings one into position to express P_B_BH> as before, i.e.,

P_B_BH> = P_B_Ao> + P_Ao_AHo> + P_AHo_BH>

One may then equate the square of the magnitude of P_B_BH> to the square of the known quantity LB. Proceeding similarly with the remaining five legs results in six coupled algebraic equations that are nonlinear in pi and qi (i = x, y, z).

To determine V_AHo_A> and W_AH_A>, proceed as follows. Construct unit vectors in the direction of P_B_BH>, ... P_G_GH>, respectively. As before, express V_BH_A> as


V_BH_H> = V_AHo_A> + W_AH_A> x P_AHo_BH>

One may then equate the known quantity LB' to the dot product of V_BH_A> with the unit vector from B> to BH>. Proceeding similarly with the remaining five legs results in six coupled algebraic equations that are linear in vi and wi (i = x, y, z).

The file   MGHexapodIE.txt   is a complete listing of MotionGenesis commands to:
Note: The file   MGHexapodIESymbolic.txt   uses the advanced AUTOZ feature for symbolic solution (results are in MGHexapodIESymbolic.all).

  • Form symbolic equations relating the square of known leg lengths and   pi and qi   (i = x, y, z).
  • Numerically solve these coupled nonlinear algebraic equations using an initial guess for pi and qi (i = x, y, z) and given input values.
  • Form symbolic equations relating the known time-rate of change of leg lengths and   pi, qi, vi, and wi   (i = x, y, z).
  • Numerically or symbolically solve these coupled linear algebraic equations for vi and wi (i = x, y, z).
  • Record input and program responses in the file MGHexapodIE.html