Академический Документы
Профессиональный Документы
Культура Документы
Robot dynamics
Contents
1 Definition
2 Equations of Motion
3 Dynamic Models
4 Dynamics Algorithms
5 References
6 Recommended Reading
7 See Also
Definition
Robot dynamics is concerned with the relationship between the forces acting on a robot
mechanism and the accelerations they produce. Typically, the robot mechanism is modelled
as a rigid-body system, in which case robot dynamics is the application of rigid-body dynamics
accelerations.
forces.
Forward dynamics is also known as "direct dynamics," or sometimes simply as "dynamics." It
is mainly used for simulation. Inverse dynamics has various uses, including: on-line control of
robot motions and forces, trajectory design and optimization, design of robot mechanisms,
accelerations.
Equations of Motion
Dynamic Models
But also on the dynamic model of the robot mechanism. This is a description of the
mechanism in terms of its component parts: bodies, joints, and the parameters that
Ten inertia parameters are required to define the inertia of a single rigid body (mass, location
of center of mass, and six rotational inertia parameters); so a dynamic model will normally
contain 10 inertia parameters per body. However, when bodies are connected together to form
a mechanism, they lose some of their degrees of motion freedom. As a result, some of their
inertia parameters may have no effect on the dynamic behavior of the system, or may be
task is to obtain a dynamic model of a robot mechanism from a given kinematic model and a
set of measurements of its dynamic behavior, then the procedure is to identify the values of a
set of base inertial parameters, which are the set of observable inertia parameters of the system
Dynamics Algorithms
\(\boldsymbol{C}\dot{\boldsymbol{q}}\) and
\(\boldsymbol{\tau}_{\!g}\) in Eq ().
\(\boldsymbol{H}\ddot{\boldsymbol{q}}=\boldsymbol
{\tau}-\boldsymbol{c}\) for \(\ddot{\boldsymbol{q}}\
To give rough ballpark figures for the efficiencies of these algorithms, the RNEA requires about
200 floating-point calculations per body, the ABA requires about 450 per body, and the CRBA
requires about \(16n^2\) to calculate an \(n\times{}n\) inertia matrix. The cost of the CRBA
varies according to how the bodies are connected together, being substantially cheaper for a
branched tree than for a long chain. Source code for these algorithms can be found on
Featherstone's spatial vectors page, and descriptions can be found in (Featherstone, 1987,
A robot is said to have a fixed base if it is rigidly attached to a fixed support. An industrial robot
arm is a good example of a fixed-base robot. If no part of the robot mechanism is fixed, then it
is said to have a floating base. Wheeled and legged mobile robots, flying robots, swimming
robots and humanoids are all floating-base robots. In a floating-base robot, one particular link
The standard versions of the three dynamics algorithms calculate the dynamics of a fixed-base
robot, but the ABA can be modified trivially to calculate the dynamics of a floating-base robot.
The other two algorithms can be adapted as follows. Starting with the dynamic model of the
floating-base robot, introduce a fictitious fixed base, and connect it to the floating base via a
fictitious joint having six degrees of freedom (a 6-DoF joint). Such a joint does not impose any
motion constraints on the floating base, and therefore does not alter the dynamics of the
floating-base robot. The modified dynamic model now has a fixed base and six additional joint
variables, the latter serving to define the position and orientation of the floating base. As the
modified system does now have a fixed base, the RNEA and CRBA can be applied directly to
it.
The RNEA expects to be told all of the joint accelerations, so that it can work out all of the
forces. If the RNEA is applied to the modified dynamic model, then it expects to be told the
acceleration of every real joint, and also the acceleration of the fictitious 6-DoF joint (i.e., it
wants to know the acceleration of the floating base). If this acceleration is not known, then the
acceleration variables of the real joints and the force variables of the 6-Dof joint (which are
zero) are given, and the task is to calculate the unknown forces at the real joints and the
unknown acceleration of the floating base. All three dynamics algorithms can be adapted to
The connectivity of a robot mechanism can be described using a graph in which the nodes
represent the bodies and the arcs represent the joints. If this graph does not contain any cycles,
implying that it is a topological tree, then the robot mechanism is called a kinematic tree.
Furthermore, if the tree does not contain any branches, then it can be called a kinematic chain.
If the connectivity graph does contain cycles, then the robot mechanism contains kinematic
loops, and is called a closed-loop system. The three dynamics algorithms described above do
not work on closed-loop systems, although they can be used as components in a closed-loop
dynamics algorithm. In general, closed-loop systems have more complicated dynamics than
kinematic trees, and they require more sophisticated (and expensive) algorithms to calculate
their dynamics.
References
Featherstone, R., and Orin, D. E. (2000). Robot Dynamics: Equations and Algorithms. IEEE
Khalil, W., and Dombre, E. (2002). Modeling, Identification and Control of Robots. New
Internal references
2(10):1623.
2(2):1629.
2(10):2014.
Recommended Reading
Siciliano, B., and Khatib, O. (eds.) (2008). Springer Handbook of Robotics. Berlin: Springer.