Kane’s Method for Dynamics

This page summarizes/motivates how Kane’s dynamical equations of motion are derived and used. Basic understanding of vector mechanics and derivatives is assumed.

There are a few references I have used when preparing these notes, but the clearest was this thesis.

Review of Lagrange’s Equations:

The steps in Lagranges equations are:

  1. Let ri\bm{r}_i be the location of the ii-th particle in an inertial frame. Express this position as a function of a set of generalized coordinates:
ri=ri(q1,...q(3Nk))\bm{r}_i = \bm{r_i}(q_1, ... q_{(3N-k)})

where NN is the number of particles in the system, 3N3N because each particle has a 3d coordinate, and k-k because there might be kk configuration constraints. So overall, we need 3Nk3N-k scalar quantities (degrees of freedom) to uniquely define the configuration of the system.

  1. Determine the Lagrangian:
L=TUL = T - U

where T(q1,...,q3Nk,q˙1,...,q˙3Nk)T(q_1, ... , q_{3N-k}, \dot q_1, ..., \dot q_{3N-k}) is the kinetic energy of the system, and U(q1,...,q3Nk)U(q_1, ... , q_{3N-k}) is the potential energy of the system.

  1. Then the equations of motion are:
ddt(Lq˙i)Lqi=Qi,i={1,...,3Nk}\frac{d}{dt}\left(\frac{\partial L}{\partial \dot{q}_i}\right) - \frac{\partial L}{\partial q_i} = Q_i, \quad i=\{1, ... , 3N-k\}

where

Qi=j=1NFjrjqiQ_i = \sum_{j=1}^{N} \bm{F}_j \cdot \frac{\partial \bm{r}_j}{\partial q_i}

is the contribution of non-conservative/external forces.

Notice, we will have generated 3Nk3N-k 2nd order equations. If there are non-holonomic constraints, these are usually introduced as additional constraint equations, with lagrange multipliers. (I’ll explain this better once I understand it myself).

Derivation of Kane’s method (for system of particles)

Kanes method is basically a souped-up version of Newton’s 2nd law/D’Alemberts principle:

RPimPiaPi=0,i={1,...ν}\bm{R}^{P_i} - m^{P_i} \bm{a}^{P_i} = 0, \quad i = \{1, ... \nu\}

where

  • RPi\bm{R}^{P_i} is the net force on the ii-th particle
  • mPim^{P_i} is the mass of the ii-th particle
  • aPi\bm{a}^{P_i} is the acceleration of the ii-th particle
  • ν\nu is the number of particles.

Now suppose the position/configuration of the system can be uniquely described by a set of pp scalar coefficients (and potentially time):

rPi=rPi(q1,...,qp,t)\bm {r}^{P_i} = \bm{r}^{P_i}(q_1, ..., q_p, t)

then the velocity in some inertial frame is

vPi=drPidt=r=1prPiqrq˙r+rPit\bm{v}^{P_i} = \frac{d \bm{r}^{P_i} }{dt} = \sum_{r=1}^{p} \frac{\partial \bm{r}^{P_i}}{\partial q_r} \dot q_r + \frac{\partial \bm{r}^{P_i}}{\partial t}

Often, we can simplify this expression by choosing a convenient set of generalised speeds uiu_i. In Lagranges formulation, the generalised speeds ur=q˙ru_r = \dot q_r. However, we can be more general, allowing functions of q,q˙q, \dot q:

ur=ur(q1,...,qp,q˙1,...,q˙p),r={1,...,p}u_r = u_r(q_1, ..., q_p, \dot{q}_1, ..., \dot{q}_p), \quad r = \{1, ..., p\}

and we need pp generalised speeds, so that this map is invertible (to be able to find q˙i\dot q_i in terms of uu). This allows us to write

vPi=r=1pvrPiur+vtPi\bm{v}^{P_i} = \sum_{r=1}^{p} \bm{v}_r^{P_i} u_r + \bm{v}_t^{P_i}

where

vrPi=vPiur,vtPi=vPit\bm{v}_r^{P_i} = \frac{\partial \bm{v}^{P_i}}{\partial u_r}, \quad \bm{v}_t^{P_i} = \frac{\partial \bm{v}^{P_i}}{\partial t}

If there ss non-holonomic constraints, we rearrange the variables such that last ss generalised speeds can be represented as linear combinations of the first psp-s generalised speeds. Then, we can also write

vPi=r=1psv~rPiur+v~tPi\bm{v}^{P_i} = \sum_{r=1}^{p-s} \tilde{\bm{v}}_r^{P_i} u_r + \tilde{\bm{v}}_t^{P_i}

where

v~rPi=vPiur,v~tPi=vPit\tilde{\bm{v}}_r^{P_i} = \frac{\partial \bm{v}^{P_i}}{\partial u_r}, \quad \tilde{\bm{v}}_t^{P_i} = \frac{\partial \bm{v}^{P_i}}{\partial t}

where we have expressed v\bm{v} only in terms of the first psp-s generalised speeds, uru_r.

Now we return to Newton’s equation:

RPimPiaPi=0,i={1,...ν}\bm{R}^{P_i} - m^{P_i} \bm{a}^{P_i} = 0, \quad i = \{1, ... \nu\}

and notice that if we take the dot product of this equation with v~r\tilde{\bm{v}}_r, we get

v~rPiRPimPiv~rPiaPi=0,i={1,...ν}\tilde{\bm{v}}_r^{P_i} \cdot \bm{R}^{P_i} - m^{P_i} \tilde{\bm{v}}_r^{P_i} \cdot \bm{a}^{P_i} = 0, \quad i = \{1, ... \nu\}

and now we can sum across all particles, giving us an equation for each generalised speed, rather than for each particle in the system!

i=1νv~rPiRPiundefinedFr+i=1νmPiv~rPiaPiundefinedFr=0,r={1,...,ps}\boxed{ \underbrace{\sum_{i=1}^{\nu} \tilde{\bm{v}}_r^{P_i} \cdot \bm{R}^{P_i}}_{F_r} + \underbrace{\sum_{i=1}^{\nu} -m^{P_i} \tilde{\bm{v}}_r^{P_i} \cdot \bm{a}^{P_i}}_{F_r^*} = 0, }\quad r = \{1, ..., p-s\}

which gives psp-s equations of motion, called Kane’s Dynamical Equations of Motion.

Kane’s Method for Bodies

The same general method is used, but we also need to introduce equations that describe the rotational dynamics of the system.

If a rigid body B belongs to a non-holonomic system S with pp degrees of freedom in an inertial reference frame A, the set of all forces and torques on B can be summarised by a single resultant force RB\bm R^{B} acting through a point QQ of B, and a torque T\bm T on B. Then the generalised active force is

F~rB=Aω~rBT+v~rQRB,r={1,...,p}\tilde F_r^{B} = {}^A \tilde{\bm{\omega}}_r^{B} \cdot \bm T + \tilde{\bm{v}}_r^{Q} \cdot \bm{R}^B, \quad r=\{1, ..., p\}

and the inertial forces are:

FrB~=Aω~rBT+v~rQRB,r={1,...,p}\tilde {F_r^{B}}^* = {}^A \tilde{\bm{\omega}}_r^{B} \cdot \bm T^* + \tilde{\bm{v}}_r^{Q} \cdot {\bm{R}^*}^B, \quad r=\{1, ..., p\}

where

RB=mBaT=αIω×Iω=i=1βmiri×ai\begin{align*} {\bm{R}^*}^B &= -m^B \bm{a}^*\\ \bm T^* &= - \bm \alpha \cdot \bm I - \bm \omega \times \bm I \cdot \bm \omega = - \sum_{i=1}^{\beta} m_i \bm r_i \times \bm a_i \end{align*}

where a\bm a^* is the acceleration of the center of mass of B in A, and if there are β\beta individual particles in B, the second version of TT^* can be used, or if the central inertia dyadic of B is known, the first version of TT^* can be used. If the principal central moments of inertia are known, and are aligned with a frame C, we can also write:

T=(α1I1ω2ω3(I2I3))c1(α2I2ω3ω1(I3I1))c2(α3I3ω1ω2(I1I2))c3\begin{align*} \bm T^* = &- (\alpha_1 I_1 - \omega_2 \omega_3 (I_2 - I_3)) \bm c_1 \\ & - (\alpha_2 I_2 - \omega_3 \omega_1 (I_3 - I_1)) \bm c_2 \\ & - (\alpha_3 I_3 - \omega_1 \omega_2 (I_1 - I_2)) \bm c_3 \end{align*}

where α=α1c1+α2c2+α3c3\bm \alpha = \alpha_1 \bm c_1 + \alpha_2 \bm c_2 + \alpha_3 \bm c_3, and NωB=ω1c1+ω2c2+ω3c3{}^N \bm \omega^B = \omega_1 \bm c_1 + \omega_2 \bm c_2 + \omega_3 \bm c_3

Finally, the dynamical equations of motion are

i=1νF~rBi+F~rBi=0,r={1,...,p}\sum_{i=1}^{\nu} \tilde F_r^{B_i} + {\tilde F_r^{B_i}}^* = 0, \quad r=\{1, ..., p\}

for each of the ν\nu bodies in the system. Together with the kinematic differential equations q˙r=q˙r(q,u)\dot q_r = \dot q_r(q, u), the equations of motion are complete.


Example 1: Spring Pendulum

Consider this problem, taken from the reference above.

The position of the particle is

rP1=(L+q1)b1\bm r^{P_1} = (L+ q_1) \bm b_1

and so the velocity in the inertial frame NN is

vP1=q˙1b1+NωB×(L+q1)b1=q˙1b1+(L+q1)q˙2b2\bm v^{P_1} = \dot q_1 \bm b_1 + {}^N\bm{\omega}^B \times (L+q_1) \bm b_1 = \dot q_1 \bm b_1 + (L+q_1)\dot q_2 \bm b_2

which motivates the definition of generalised speeds:

u1=q˙1,u2=(L+q1)q˙2u_1 = \dot q_1, \quad u_2 = (L+q_1) \dot q_2

and so vP1=u1b1+u2b2\bm v^{P_1} = u_1 \bm b_1 + u_2 \bm b_2. Thus the partial velocities are

v1P1=b1,v2P2=b2\bm v_1^{P_1} = \bm b_1, \quad \bm v_2^{P_2} = \bm b_2

and we can compute the acceleration of particle 1:

aP1=u˙1b1+u˙2b2+u1NωB×b1+u2NωB×b2=u˙1b1+u˙2b2+u1q˙2b2u2q˙2b1=u˙1b1+u˙2b2+(u1u2L+q1)b2(u22L+q1)b1aP1=b1(u˙1u22L+q1)+b2(u˙2+u1u2L+q1)\begin{align*} \bm a^{P_1} &= \dot u_1 \bm b_1 + \dot u_2 \bm b_2 + u_1 {}^N \bm{\omega}^B \times \bm b_1 + u_2 {}^N \bm{\omega}^B \times \bm b_2 \\ &= \dot u_1 \bm b_1 + \dot u_2 \bm b_2 + u_1 \dot q_2 \bm b_2 - u_2 \dot q_2 \bm b_1\\ &= \dot u_1 \bm b_1 + \dot u_2 \bm b_2 + \left(\frac{u_1 u_2}{L+q_1}\right) \bm b_2 - \left(\frac{u_2^2}{L+q_1}\right) \bm b_1\\ \therefore \bm a^{P_1} &= \bm b_1 \left( \dot u_1 - \frac{u_2^2}{L+q_1} \right) + \bm b_2 \left( \dot u_2 + \frac{u_1 u_2}{L+q_1}\right) \end{align*}

Lets now find the forces on the particle:

RP1=mgn1kq1b1\bm{R}^{P_1} = mg \bm n_1 - k q_1 \bm b_1

and so we are almost ready to write Kanes equations of motion. Lets find FrF_r and then FrF_r^*:

Fr=i=1νv~rPiRPiF_r = \sum_{i=1}^{\nu} \tilde{\bm{v}}_r^{P_i} \cdot \bm{R}^{P_i}

Since we have one particle ν=1\nu = 1 and 2 generalised speeds r={1,2}r = \{ 1, 2 \}. So

F1=v~1P1RP1=b1(mgn1kq1b1)=mgcosq2kq1F2=v~2P1RP1=b2(mgn1kq1b1)=mgsinq2\begin{align*} F_1 &= \tilde{\bm{v}}_1^{P_1} \cdot \bm{R}^{P_1}\\ &= \bm b_1 \cdot (mg \bm n_1 - k q_1 \bm b_1)\\ &= mg \cos q_2 - k q_1\\ F_2 &= \tilde{\bm{v}}_2^{P_1} \cdot \bm{R}^{P_1}\\ &= \bm b_2 \cdot (mg \bm n_1 - k q_1 \bm b_1)\\ &= -mg \sin q_2 \end{align*}

and

Fr=i=1νv~rPi(mPiaPi)F_r^* = \sum_{i=1}^{\nu} \tilde{\bm{v}}_r^{P_i} \cdot (-m^{P_i} \bm a^{P_i})

so

F1=v~1P1(mP1aP1)=b1(m)(b1(u˙1u22L+q1)+b2(u˙2+u1u2L+q1))=m(u˙1u22L+q1)F2=v~2P1(mP1aP1)=b2(m)(b1(u˙1u22L+q1)+b2(u˙2+u1u2L+q1))=m(u˙2+u1u2L+q1)\begin{align*} F_1^* &= \tilde{\bm{v}}_1^{P_1} \cdot (-m^{P_1} \bm a^{P_1})\\ &= \bm b_1 \cdot (-m) \left( \bm b_1 \left( \dot u_1 - \frac{u_2^2}{L+q_1} \right) + \bm b_2 \left( \dot u_2 + \frac{u_1 u_2}{L+q_1}\right)\right)\\ &= -m \left( \dot u_1 - \frac{u_2^2}{L+q_1} \right)\\ F_2^* &= \tilde{\bm{v}}_2^{P_1} \cdot (-m^{P_1} \bm a^{P_1})\\ &= \bm b_2 \cdot (-m) \left( \bm b_1 \left( \dot u_1 - \frac{u_2^2}{L+q_1} \right) + \bm b_2 \left( \dot u_2 + \frac{u_1 u_2}{L+q_1}\right)\right)\\ &= -m \left( \dot u_2 + \frac{u_1 u_2}{L+q_1} \right) \end{align*}

and so putting it together,

F1+F1=mgcosq2kq1m(u˙1u22L+q1)=0F2+F2=mgsinq2m(u˙2+u1u2L+q1)=0\begin{align*} F_1 + F_1^* = mg \cos q_2 - k q_1 -m \left( \dot u_1 - \frac{u_2^2}{L+q_1} \right) &= 0\\ F_2 + F_2^* = -mg \sin q_2 -m \left( \dot u_2 + \frac{u_1 u_2}{L+q_1} \right) &= 0 \end{align*}

which means that the kinematic (first two) and dynamical (last two) equations that describe this system are:

q˙1=u1q˙2=u2L+q1u˙1=gcosq2(k/m)q1+u22L+q1u˙2=gsinq2u1u2L+q1\boxed{ \begin{align*} \dot q_1 &= u_1\\ \dot q_2 &= \frac{u_2}{L+q_1} \\ \dot u_1 &= g \cos q_2 - (k/m) q_1 + \frac{u_2^2}{L+q_1}\\ \dot u_2 &= -g \sin q_2 - \frac{u_1 u_2}{L+q_1} \end{align*} }

Example 2: Hinged Rods