Load-Independence of the Dynamically-Consistent Inverse of the Jacobian Matrix

Roy Featherstone & Oussama Khatib

Int. J. Robotics Research, vol. 16, no. 2, pp. 168-170, 1997
© 1997 Massachusetts Institute of Technology

In an earlier paper on inertial properties in robotic manipulation, Khatib introduced the dynamically-consistent generalized inverse.  This inverse, which is identical to the inertia-weighted generalized inverse of the Jacobian of a redundant manipulator, is shown here to be independent of load and end-effector inertias.  The consequences of this property are: simplified calculation of the generalized inverse, load-independent behavior of control systems and redundancy-resolution schemes using this matrix, and simplification of the equations of motion of multi-arm systems handling a common load.


A Divide-and-Conquer Articulated-Body Algorithm for Parallel O(log(n)) Calculation of Rigid-Body Dynamics.  Part 1: Basic Algorithm

Roy Featherstone

Int. J. Robotics Research, vol. 18, no. 9, pp. 867-875, 1999
© 1999 Sage Publications, Inc.

This paper presents a recursive, divide-and-conquer algorithm for calculating the forward dynamics of a robot mechanism, or general rigid-body system, on a parallel computer.  It features O(log(n)) time complexity on O(n) processors, and is the fastest available algorithm for a computer with a large number of processors and low communications costs.  It is an exact, non-iterative algorithm, and is applicable to mechanisms with any joint type and any topology, including branches and kinematic loops.

The algorithm works by recursive application of a formula that constructs the articulated-body equations of motion of an assembly from those of its constituent parts.  The inputs to this formula are the equations of motion of two independent sub-assemblies, plus a description of how they are to be connected; and the output is the equation of motion of the assembly.  Starting with a collection of unconnected rigid bodies, the equations of motion of any rigid-body system can be constructed by repeated application of this formula.

This paper, being the first in a two-part series, presents an overview of the new algorithm and a detailed description of the simplest case: unbranched kinematic chains.  Details of the general case are presented in Part 2.


A Divide-and-Conquer Articulated-Body Algorithm for Parallel O(log(n)) Calculation of Rigid-Body Dynamics.  Part 2: Trees, Loops and Accuracy

Roy Featherstone

Int. J. Robotics Research, vol. 18, no. 9, pp. 876-892, 1999
© 1999 Sage Publications, Inc.

This paper is the second in a two-part series describing a recursive, divide-and-conquer algorithm for calculating the forward dynamics of a robot mechanism, or a general rigid-body system, on a parallel computer.  This paper presents the general version of the algorithm.  The derivation begins with an algorithm for kinematic trees, which is then extended to closed-loop systems.  The general algorithm achieves O(log(n)) time complexity on O(n) processors for all kinematic trees and a large subset of closed-loop systems.

This paper also presents a more accurate version of the algorithm, and the results of some numerical accuracy tests that compare both versions with the standard articulated-body algorithm.  The tests use rigid-body systems containing up to 1024 bodies; and they show that the divide-and-conquer algorithm is substantially less accurate than the best serial algorithm, but still accurate enough to be useful.


A Technique for Analysing Constrained Rigid-Body Systems, and its Application to the Constraint Force Algorithm

Roy Featherstone & Amir Fijany

IEEE Trans. Robotics & Automation, vol. 15, no. 6, pp. 1140-1144, 1999
© 1999 IEEE

The Constraint Force Algorithm, as originally described by Fijany et al., calculates the forward dynamics of a system comprising N rigid bodies connected together in an unbranched chain with joints from a restricted class of joint types.  It was designed for parallel calculation of the dynamics, and achieves O(log N) time complexity on O(N) processors.  This paper presents a new formulation of the Constraint Force Algorithm that corrects a major limitation in the original, and sheds new light on the relationship between it and other dynamics algorithms.  The new version is applicable to systems with any type of joint, floating bases, and short branches off the main chain.  It is obtained using a new technique for analysing constrained rigid-body systems by means of a change of basis in a dual system of vector spaces.  This new technique is also described.


Robot Dynamics: Equations and Algorithms

Roy Featherstone & David Orin

IEEE Int. Conf. Robotics & Automation, San Francisco, April 24-28, pp. 826-834, 2000
© 2000 IEEE

This paper reviews some of the accomplishments in the field of robot dynamics research, from the development of the recursive Newton-Euler algorithm to the present day.  Equations and algorithms are given for the most important dynamics computations, expressed in a common notation to facilitate their presentation and comparison.

Full Text (PDF).


On the Limits to Invariance in the Twist/Wrench and Motor Representations of Motion and Force Vectors

Roy Featherstone

Ball 2000, Cambridge, UK, July 9-12, 2000

This paper examines a property of twists and wrenches that leads to a restriction in the choice of basis vectors in a twist/wrench representation of motion and force vectors.  Given any non-zero twist t (or wrench w), it is possible to identify wrenches w (or twists t) having the same screw axis as t (or w).  This kind of relationship is inherent in the definition of twists and wrenches, and should therefore be regarded as an invariant property; but it is not invariant with respect to a general change of basis, so it becomes necessary to restrict the choice of bases to a set that does preserve the invariance of this property.  A similar problem arises with motors.

This paper goes on to argue that the restricted choice of bases is a practical disadvantage on the grounds that it hinders the analysis of freedoms and constraints, and reduces the number of analytical techniques that can be used.

(The Full Text is available via the Online Conference Proceedings.)


The Acceleration Vector of a Rigid Body

Roy Featherstone

Int. J. Robotics Research, vol. 20, no. 11, pp. 841-846, 2001
© 2001 Sage Publications, Inc.

This paper explains the relationship between two existing representations of rigid-body acceleration in a 6-D vector: conventional acceleration, which is the concatenation of two 3-D acceleration vectors, and spatial acceleration, which is the time derivative of a 6-D velocity vector.  The two are materially different and obey different composition rules.  In particular, spatial accelerations behave like true vectors, and conventional accelerations do not.  This paper shows that the conventional acceleration of a rigid body is its apparent spatial acceleration in a moving coordinate system.  This implies that both vectors describe the same physical phenomenon, but in different coordinate systems.  It also implies that rigid-body acceleration really is a vector.  The paper concludes with some examples showing how 6-D accelerations are used.


A Dynamic Model of Contact between a Robot and an Environment with Unknown Dynamics

Roy Featherstone

Robotics Research: The Tenth International Symposium, R. A. Jarvis & A. Zelinsky (Eds.), pp. 433-446, Springer, Berlin, 2003
© 2003 Springer-Verlag

This paper presents an analysis of frictionless contact between a rigid body belonging to a robot mechanism and one belonging to its environment.  According to this analysis, it is possible to design a hybrid motion/force controller such that the motion and force subsystems are instantaneously independent of each other, and both are instantaneously independent of the environmental dynamics.  Such a control system should be able to operate in an environment with unknown dynamics.

Full Text (PDF) of preprint version, originally published in: ISRR 2001: 10th Int. Symp. Robotics Research, Lorne, Victoria, Australia, Nov. 9-12, pp. 341-348, 2001.


Modeling and Control of Contact Between Constrained Rigid Bodies

Roy Featherstone

IEEE Trans. Robotics & Automation, vol. 20, no. 1, pp. 82-92, 2004
© 2004 IEEE

This paper examines the phenomenon of frictionless contact between rigid bodies that are already subject to kinematic constraints from some other source.  Such contacts occur frequently when robots interact with their environments, in which case, the additional constraints come from the robot mechanisms.  A proper analysis of these contacts must consider both sets of constraints.  This paper presents a general model of constrained-body contact, expressed in invariant terms; a method of resolving equations of motion into decoupled subsystems with respect to the contact's motion and force freedoms; an equation of motion for possibly redundant robots experiencing constrained-body contact, which employs a novel decomposition of the robot's joint space into dynamically-decoupled subspaces; and a dynamically-decoupled hybrid motion/force control system based on the same decomposition.  It is shown that disturbances from an unknown dynamic environment are automatically confined to the force-control subsystem, and that a modification to the control law can factor these disturbances out of the controlled response.


An Empirical Study of the Joint Space Inertia Matrix

Roy Featherstone

Int. J. Robotics Research, vol. 23, no. 9, pp. 859-871, 2004
© 2004 Sage Publications, Ltd.

The joint-space inertia matrix of a robot mechanism can be highly ill-conditioned.  This phenomenon is not merely a numerical artifact: it is symptomatic of an underlying property of the mechanism itself that can make it more difficult to simulate or control.  This paper investigates the problem by means of an empirical study of the eigenvalues, eigenvectors and condition number of the joint-space inertia matrix.  It is shown that the condition number is typically large, and that it grows anywhere from O(N) to O(N4) with the number of bodies in the system.  Several graphs are presented showing how the condition number varies with configuration, the number of links, variations in link sizes, variations in connectivity, and fixed or floating bases.  Explanations are offered for some of the observed effects.

Full Text (PDF).


Efficient Factorization of the Joint Space Inertia Matrix for Branched Kinematic Trees

Roy Featherstone

Int. J. Robotics Research, vol. 24, no. 6, pp. 487-500, 2005
© 2005 Sage Publications, Ltd.

This paper describes new factorization algorithms that exploit branch-induced sparsity in the joint-space inertia matrix (JSIM) of a kinematic tree.  It also presents new formulae that show how the cost of calculating and factorizing the JSIM vary with the topology of the tree.  These formulae show that the cost of calculating forward dynamics for a branched tree can be considerably less than the cost for an unbranched tree of the same size.  Branches can also reduce complexity; and some examples are presented of kinematic trees for which the complexity of calculating and factorizing the JSIM are less than O(n2) and O(n3), respectively.  Finally, a cost comparison is made between an O(n) algorithm and an O(n3) algorithm, the latter incorporating one of the new factorization algorithms.  It is shown that the O(n3) algorithm is only 15% slower than the O(n) algorithm when applied to a 30-DoF humanoid, but is 2.6 times slower when applied to an equivalent unbranched chain.  This is due mainly to the O(n3) algorithm running about 2.2 times faster on the humanoid than on the chain.

Full Text (PDF).


Plücker Basis Vectors

Roy Featherstone

IEEE Int. Conf. Robotics & Automation, Orlando, Florida, May 15-19, pp. 1892-1897, 2006
© 2006 IEEE

6-D vectors are routinely expressed in Plücker coordinates; yet there is almost no mention in the literature of the basis vectors that give rise to these coordinates.  This paper identifies the Plücker basis vectors, and uses them to explain the following: the relationship between a 6-D vector and its Plücker coordinates, the relationship between a 6-D vector and the pair of 3-D vectors used to define it, and the correct way to differentiate a 6-D vector in a moving coordinate system.

Full Text (PDF)Conference Slides (PDF).


An Architecture for Fast and Accurate Control of Shape Memory Alloy Actuators

Yee Harn Teh & Roy Featherstone

Int. J. Robotics Research, vol. 27, no. 5, pp. 595-611, 2008
© 2008 Sage Publications, Ltd.

This paper presents a new control architecture for fast, accurate force control of antagonistic pairs of shape memory alloy wires.  The main components are: a differential-mode controller, which controls the output force, an anti-slack mechanism, a rapid-heating mechanism and an anti-overload mechanism.  The closed-loop response is fast and accurate, even in the presence of large external motion disturbances.  There is no sign of limit cycles; and the performance is unaffected by large load inertias.  This paper also presents an architecture for position control, in which a position feedback loop is added to the force control architecture.  Experimental results show force control accuracies as high as 1mN in a +/−3N range, force output rates as high as 50Ns−1, and highly accurate position control with steady-state errors below the resolution of the position encoder.

Full Text (PDF) of final manuscript.


Exploiting Sparsity in Operational-Space Dynamics

Roy Featherstone

Int. J. Robotics Research, vol. 29, no. 10, pp. 1353-1368, Sept. 2010

This paper presents a new method for calculating operational-space inertia matrices, and other related quantities, for branched kinematic trees.  It is based on the exploitation of branch-induced sparsity in the joint-space inertia matrix and the task Jacobian.  Detailed cost figures are given for the new method, and its efficacy is demonstrated by means of a realistic example based on the ASIMO Next-Generation humanoid robot.  In this example, the new method is shown to be 6.7 times faster than the basic matrix method, and 1.6 times faster than the efficient low-order algorithm of Rodriguez et al.  Furthermore, cost savings of more than 50,000 arithmetic operations are obtained in the calculation of the inertia-weighted pseudoinverse of the task Jacobian and its null-space projection matrix.  Additional examples are considered briefly, in order to further compare the new method with the algorithm of Rodriguez et al.

DOI link to full text (for those who have access).  Copies available from me by request.  The full text of the final manuscript will be made available here one year after it appears in IJRR.


A Beginner's Guide to 6-D Vectors (Part 1)

Roy Featherstone

IEEE Robotics & Automation Magazine, vol. 17, no. 3, pp. 83-94, 2010
© 2010 IEEE

The purpose of this tutorial is to present a beginner's guide to 6-D vectors in sufficient detail that a reader can begin to use them as a practical problem-solving tool right away.  This tutorial covers the basics, and Part 2 will cover the application of 6-D vectors to a variety of robot kinematics and dynamics calculations.  The rest of the tutorial is chiefly concerned with explaining what spatial vectors are and how to use them.  It highlights the differences between solving a rigid-body problem using 3-D vectors and solving the same problem using spatial vectors, so that the reader can get an idea of what it means to think in 6-D.

DOI link to full text (for those who have access).


A Beginner's Guide to 6-D Vectors (Part 2)

Roy Featherstone

IEEE Robotics & Automation Magazine, vol. 17, no. 4, pp. 88-99, 2010
© 2010 IEEE

In this tutorial, we shall examine the application of spatial vectors to various problems in robot kinematics and dynamics.  To demonstrate that spatial vectors are both a tool for analysis and a tool for computation, we shall consider both the mathematical solution of a problem and the computer code to calculate the answer.

DOI link to full text (for those who have access).