# Rigid-body robot dynamics

Robot dynamics concerns the relationship between joint positions, velocities, accelerations and the external, internal forces acting on its body. Understanding the dynamics is most important in achieving a high-performance robotic system.

In this note we shall have a look at the rigid-body dynamics in details in an attempt to understand it better.

For a rigid-body open-chain robot, it’s known that the *rigid-body
manipulator model* is given as follow:

\begin{aligned}
&\mathbf M(\mathbf q) \ddot{\mathbf q} + \mathbf C(\mathbf q, \dot {\mathbf q}) + \mathbf h(\mathbf q)
= \mathbf \tau^m - \mathbf \tau^{f} + \mathbf J^e(\mathbf q)^\top \mathbf w^e\\\

&\mathbf \tau^f = \mathbf \tau^f (\mathbf q, \dot{\mathbf q})\\\

&\mathbf \tau^m = \mathbf K^m \mathbf i
\end{aligned}

where \(\mathbf \tau^m\) is the motors’ torques, \(\mathbf \tau^f\) is the frictional torque, \(\mathbf w^e\) is the external wrenches, \(\mathbf i\) is motors’ currents and \(\mathbf K^m\) is motors’ gains.

\(J^e(q)\) is the kinematic jacobian of the robot at the point of contact. Clearly if there are more than a few contact wrenches, then one can add to the rhs additional terms to represent those.

Reference: Spong and Vidyasagar (2008) (page 207) or Lynch and Park (2017) (page 297).

The coefficients \(\mathbf {M, C, h}\) depend on both the geometry and the inertia of the links and joints. That is, the position of the com, as well as its weights and moment of inertia.

Related to RigidBodyRobotKinematics

Interestingly, for a rigid body with a fixed mass distribution, the Newton-Euler equation is extremely similar. That one can relate the rotational/translational velocity and acceleration of a rigid body using the following equation:

\begin{equation*} \tau_b = \mathbf{I_b} \dot {\omega_b} + [\omega_b]_\times \mathbf I_b \omega_b \end{equation*}

where \(\mathbf I_b\) is the moment of inertia w.r.t to a coordinate frame that coincides with the COM of the body, \(\omega_b\) is the angular velocity and \(\tau\) is the net torque all in the same coordinate frame.

Indispensible to dynamics study are dynamic simulators: See and read here. In general, an `urdf` of a robot model contains all information about its dynamics.

How can we find the inertia given the measured torque and angular accelerations?

## References

Lynch, Kevin M., and Frank C. Park. 2017. *Modern Robotics: Planning,
and Control*. Cambridge University Press.

Spong, Mark W., and Mathukumalli Vidyasagar. 2008. “Robot dynamics and control.” John Wiley & Sons.