The Double Pendulum System
This page gives an overview over the mathematical description of the double pendulum dynamics.
Equation of Motion
We model the dynamics of the double pendulum with 15 parameters which include 8 link parameters namely masses \((m_1, m_2)\), lengths \((l_1, l_2)\), center of masses \((r_1, r_2)\), inertias \((I_1, I_2)\) for the two links, and 6 actuator parameters namely motor inertia \(I_r\), gear ratio \(g_r\), coulomb friction \((c_{f1}, c_{f2})\), viscous friction \((b_1, b_2)\) for the two joints and gravity \(g\).
The generalized coordinates \(\vect{q} = (q_1, q_2)^T\) are the joint angles measured from the free hanging position. The state vector of the system contains the coordinates and their time derivatives: \(\vect{x} = (\vect{q}, \dvect{q})^T\). The torques applied by the actuators are \(\vect{u} = (u_1, u_2)\). The equations of motion for the dynamics of a dynamical system can be written as
The equation in the bottom half of the vector is also known as manipulator equation. For the double pendulum, the entities in the manipulator equation are the mass matrix (with \(s_1 = \sin(q_1), c_1 = \cos(q_1), \ldots\))
the Coriolis matrix
the gravity vector
the friction vector
(the \(\arctan(100\dot{q}_i)\) function is used to approximate the discrete step function for the coulomb friction)
and the actuator selection matrix \(\mat {D}\)
for the fully actuated system, the pendubot or the acrobot.
Energy
Kinetic Energy
Potential Energy
Total Energy
System Identification
For the identification of the 15 model parameters, we fix the natural, provided and easily measurable parameters \(g, g_r, l_1\) and \(l_2\) and consider the independent model parameters
The goal is to identify the parmaters of the dynamic matrices in the manipulator equation
By executing excitation trajectories on the real hardware, data tuples of the form \((\vect{q}, \dot{\vect{q}}, \ddot{\vect{q}}, \vect{u})\) can be recorded. For finding the best system parameters, one can make use of the fact that the dynamics matrices \(\mat{M}, \mat{C}, \mat{G}\) and \(\mat{F}\) are linear in the independent model parameters and perform a least squares optimization for the dynamics equation on the recorded data.