Rigid-Body Manipulator Dynamics
This appendix provides the formal mathematical definitions and physical derivations for the continuous equations of motion governing the UR5e manipulator and its contact interactions in MuJoCo.
A.1 The Continuous Equations of Motion
For an -degree-of-freedom serial robotic manipulator with generalized coordinates , the multi-body equations of motion derived from the Euler-Lagrange equations:
In Plain English (No Math Jargon)
Whenever a robotic arm moves, its motors have to fight against two things:
- The effort to speed up heavy metal (Inertia): A heavy arm resists starting to move, and resists stopping once it is in motion.
- The downward pull of gravity: Heavy metal links are constantly being dragged down toward the floor.
The equation simply states:
The push from the motor = The force needed to accelerate the arm + The force needed to hold it up against gravity.
Why does this equation exist?
A robot arm has six hinges stacked on top of each other. When the shoulder turns, the elbow swings, the wrist twists, and the forces interact in a tangled mess.
Trying to calculate those forces joint-by-joint with geometric vector diagrams would require hundreds of tedious, error-prone calculations.
This equation is a master shortcut: you simply write down the total energy of the robot (its kinetic energy of motion and its potential energy of height), and the formula automatically tells you:
"To make this movement happen, here is exactly how hard each motor needs to push."
Yielding the canonical manipulator dynamic formulation:
A.2 Detailed Breakdown of Terms
1. The Mass Matrix:
is the configuration-dependent mass matrix (or inertia matrix), and is the vector of joint angular accelerations.
- Properties: is symmetric, strictly positive-definite (), and bounded for all finite link dimensions.
- Pose Dependence: The kinetic energy of the manipulator is . When the arm is outstretched horizontally, its rotational inertia about the base and shoulder is maximal; when folded inward, the rotational inertia is minimized.
- Dynamic Cross-Coupling: The off-diagonal entries () represent dynamic coupling between joints. Accelerating joint creates an immediate inertial torque on joint .
2. Coriolis and Centrifugal Torques:
accounts for velocity-dependent fictitious inertial forces arising from the rotating frames of reference:
- Centrifugal terms: Proportional to , pulling rotating links radially outward.
- Coriolis terms: Proportional to (), arising from mutual relative motion of links in rotating frames.
- Christoffel Symbols: The elements of are uniquely defined via Christoffel symbols of the first kind:
- Skew-Symmetry: The matrix is skew-symmetric, ensuring conservation of mechanical energy:
3. Gravitational Torques:
The gravity vector represents the static torque required to hold the manipulator in configuration against the gravitational potential energy :
where is the mass of link , is the gravity vector, and is the linear Jacobian of link 's center of mass.
4. Actuator Torques:
is the vector of generalized torques delivered by the joint actuators. In our setup, these are synthesized by proportional-derivative (PD) servos driven toward the middle-level setpoints :
5. Contact Wrench Mapping via Jacobian Transpose:
When the end-effector contacts an object or surface, an external wrench acts on the tool center point. By the principle of virtual work:
Consequently, the equivalent joint reaction torque is:
A.3 Contact Dynamics and Complementarity in MuJoCo
In unconstrained free space (), joint accelerations are computed simply by inverting :
When objects contact each other, the simulator must enforce hard non-penetration and frictional constraints:
Signorini Complementarity Conditions (Non-Penetration):
where is signed distance between surfaces and is normal contact force.
Coulomb Friction Cone Constraints:
where is tangential frictional force and is the friction coefficient.
MuJoCo formulates this continuous multi-body contact problem as a convex Quadratic Program (QP) / Linear Complementarity Problem (LCP), solved at ( timestep) to generate physically stable, chatter-free contact forces.