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.
DOI: 10.1177/027836499701600203
This paper presents a general first-order kinematic model of frictionless rigid-body contact for use in hybrid force/motion control. It is formulated in an invariant manner by treating motion and force vectors as members of two separate but dual vector spaces. The more general kinematics allows us to model tasks that cannot be described using the Raibert-Craig model; a single Cartesian frame in which directions are either force- or motion-controlled is not sufficient. The model can be integrated with the object and manipulator dynamics in order to model both the kinematics and dynamics of contact. These equations of motion can be used to design force and motion controllers in the appropriate subspaces. To guarantee decoupling between the controllers, it is possible to apply projection matrices to the controller outputs that depend solely on the kinematic model of contact, not a dynamic one. Experimental results show a manipulation that involves controlling the force in two separate face-vertex contacts while performing motion. These multi-contact compliant motions often occur as part of an assembly and cannot be described using the Raibert-Craig model.
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.
DOI: 10.1177/02783649922066619
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.
DOI: 10.1177/02783649922066628
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.
DOI: 10.1109/70.817679
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.
DOI:
10.1109/ROBOT.2000.844153
Full Text.
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.
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.
DOI: 10.1177/02783640122068137
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 of preprint version, originally published in: ISRR 2001: 10th Int. Symp. Robotics Research, Lorne, Victoria, Australia, Nov. 9–12, pp. 341–348, 2001.
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.
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.
DOI:
10.1177/0278364904044869
Full Text.
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.
DOI:
10.1177/0278364905054928
Full Text.
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.
DOI:
10.1109/ROBOT.2006.1641982
Full Text.
Conference Slides.
The dynamic equations of motion provide the relationships between actuation and contact forces acting on robot mechanisms, and the acceleration and motion trajectories that result. Dynamics is important for mechanical design, control, and simulation. A number of algorithms are important in these applications, and include computation of the following: inverse dynamics, forward dynamics, the joint-space inertia matrix, and the operational-space inertia matrix. This chapter provides efficient algorithms to perform each of these calculations on a rigid-body model of a robot mechanism. The algorithms are presented in their most general form and are applicable to robot mechanisms with general connectivity, geometry, and joint types. Such mechanisms include fixed-base robots, mobile robots, and parallel robot mechanisms.
In addition to the need for computational efficiency, algorithms should be formulated with a compact set of equations for ease of development and implementation. The use of spatial notation has been very effective in this regard, and is used in presenting the dynamics algorithms. Spatial vector algebra is a concise vector notation for describing rigid-body velocity, acceleration, inertia, etc., using six-dimensional (6-D) vectors and tensors.
The goal of this chapter is to introduce the reader to the subject of robot dynamics and to provide the reader with a rich set of algorithms, in a compact form, that they may apply to their particular robot mechanism. These algorithms are presented in tables for ready access.
DOI: 10.1007/978-3-540-30301-5 (book) 10.1007/978-3-540-30301-5_3 (chapter). See also: second edition.
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.
DOI:
10.1177/0278364908090951
Full Text of final manuscript.
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:
10.1177/0278364909357644
Full text
of final submitted version.
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.
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.
This paper provides a reduced-order algorithm, the Extended-Force-Propagator Algorithm (EFPA), for the computation of operational-space inertia matrices in branched kinematic trees. The algorithm accommodates an operational space of multiple end-effectors, and is the lowest-order algorithm published to date for this computation. The key feature of this algorithm is the explicit calculation and use of matrices that propagate a force across a span of several links in a single operation. This approach allows the algorithm to achieve a computational complexity of O(N+md+m2) where N is the number of bodies, m is the number of end-effectors, and d is the depth of the system's connectivity tree. A detailed cost comparison is provided to the propagation algorithms of Rodriguez et al. (complexity O(N+dm2)) and to the sparse factorization methods of Featherstone (complexity O(nd2+md2+m2d)). For the majority of examples considered, our algorithm outperforms the previous best recursive algorithm, and demonstrates efficiency gains over sparse methods for some topologies.
DOI: 10.1109/ICRA.2012.6224600
This paper describes a new factorization of the inverse of the joint-space inertia matrix M. In this factorization, M−1 is directly obtained as the product of a set of sparse matrices wherein, for a serial chain, only the inversion of a block-tridiagonal matrix is needed. In other words, this factorization reduces the inversion of a dense matrix to that of a block-tridiagonal one. As a result, this factorization leads to both an optimal serial and an optimal parallel algorithm, that is, a serial algorithm with a complexity of O(N) and a parallel algorithm with a time complexity of O(log N) on a computer with O(N) processors. The novel feature of this algorithm is that it first calculates the interbody forces. Once these forces are known, the accelerations are easily calculated. We discuss the extension of the algorithm to the task of calculating the forward dynamics of a kinematic tree consisting of a single main chain plus any number of short side branches. We also show that this new factorization of M−1 leads to a new factorization of the operational-space inverse inertia, Λ−1, in the form of a product involving sparse matrices. We show that this factorization can be exploited for optimal serial and parallel computation of Λ−1, that is, a serial algorithm with a complexity of O(N) and a parallel algorithm with a time complexity of O(log N) on a computer with O(N) processors.
DOI: 10.1007/s11044-012-9313-z
In this paper, a new control algorithm is presented for implementing hopping and balancing motions on a planar hopping machine with a single actuated revolute joint. Starting with a simple control algorithm for balancing, it is extended to perform trajectory-tracking maneuvers, which enables it to perform the crouching, lift-off and flight phases of a single hop, as well as re-balancing after landing. Simulation results are presented showing that the control system works well, and that it is not significantly affected by small amounts of slipping between the foot and the ground.
DOI: 10.1109/ICRA.2013.6630848
This paper presents a new parallel algorithm for the operational space dynamics of unconstrained serial manipulators, which outperforms contemporary sequential and parallel algorithms in the presence of two or more processors. The method employs a hybrid divide and conquer algorithm (DCA) multibody methodology which brings together the best features of the DCA and fast sequential techniques. The method achieves a logarithmic time complexity (O(log(n)) in the number of degrees of freedom (n) for computing the operational space inertia (Λe) of a serial manipulator in presence of O(n) processors. The paper also addresses the efficient sequential and parallel computation of the dynamically consistent generalized inverse (Jbare) of the task Jacobian, the associated null space projection matrix (Ne), and the joint actuator forces (τnull) which only affect the manipulator posture. The sequential algorithms for computing Jbare, Ne, and τnull are of O(n), O(n2), and O(n) computational complexity, respectively, while the corresponding parallel algorithms are of O(log(n)), O(n), and O(log(n)) time complexity in the presence of O(n) processors.
DOI: 10.1115/1.4025577
This paper presents a new nonlinear model of the normal force that arises during compliant contact between two spheres, or between a sphere and a flat plate. It differs from a well-known existing model by only a single term. The advantage of the new model is that it accurately predicts the measured values of the coefficient of restitution between spheres and plates of various materials, whereas other models do not.
This paper presents an angular momentum based controller to control the balancing motion of a spatial under-actuated robot with three degrees of under-actuation. The control algorithm is based on the idea of decoupling the robot's motion instantaneously into bending and swivelling motions. This property of the robot is obtained by using a constant-velocity joint as the 2-DoF active joint of the robot. Simulation results show the performance of the controller during some interesting motions of the robot such as straightening, crouching and reorienting motions. The last two motions, which are the results of decoupling the robot's motion, are demonstrated here for the first time.
DOI: 10.1109/IROS.2014.6943011
This paper shows how to define quantitative measures of a robot's ability to balance itself actively on a single point of support. These measures are expressed as ratios of velocities, and are called velocity gains. This paper builds on earlier work in this area by showing how these gains can be defined and calculated for the case of a general planar robot balancing on a general rolling-contact point in the plane, and the case of a general spatial robot balancing on a general rolling-contact point in 3D space. The case of balancing on a contact area with compliance is also considered. The paper concludes with two examples showing how to use velocity gains in the design of a triple pendulum and the analysis of a hydraulic quadruped.
DOI:
10.15607/RSS.2015.XI.026
Full Text.
Slides.
Poster.
In this paper, a new control algorithm based on angular momentum is presented for balancing an underactuated planar robot. The controller is able to stabilize the robot in any unstable balanced configuration in which the robot is controllable, and also it is able to follow a class of arbitrary trajectories without losing balance. Simulation results show the good performance of the controller in balancing and trajectory tracking motions of the robot. The simulations also show that the proposed controller is robust to significant imperfections in the system, such as errors in the controller's dynamic model of the robot and imperfections in the sensors and actuators. The new controller is compared with three existing balance controllers and is shown to equal or outperform them.
DOI: 10.1007/s10514-015-9446-z
This paper presents a new model of the dynamics of balancing in the plane, in which the essential parameters of the robot's balancing behaviour are reduced to just two numbers, both of which are simple functions of basic physical properties of the robot mechanism. A third number describes the effect of other movements on the robot's balance. Given this model, a high-performance balance controller can be constructed as a simple four-term control law with gains that are trivial functions of the two model parameters and a single value chosen by the user that determines the overall speed of balancing. The model is first developed for a double pendulum, and then extended to a general planar mechanism. Simulation results are presented showing the controller's performance at following commanded motion trajectories while simultaneously maintaining the robot's balance.
The dynamic equations of motion provide the relationships between actuation and contact forces acting on robot mechanisms, and the acceleration and motion trajectories that result. Dynamics is important for mechanical design, control, and simulation. A number of algorithms are important in these applications, and include computation of the following: inverse dynamics, forward dynamics, the joint-space inertia matrix, and the operational-space inertia matrix. This chapter provides efficient algorithms to perform each of these calculations on a rigid-body model of a robot mechanism. The algorithms are presented in their most general form and are applicable to robot mechanisms with general connectivity, geometry, and joint types. Such mechanisms include fixed-base robots, mobile robots, and parallel robot mechanisms.
In addition to the need for computational efficiency, algorithms should be formulated with a compact set of equations for ease of development and implementation. The use of spatial notation has been very effective in this regard, and is used in presenting the dynamics algorithms. Spatial vector algebra is a concise vector notation for describing rigid-body velocity, acceleration, inertia, etc., using six-dimensional (6-D) vectors and tensors.
The goal of this chapter is to introduce the reader to the subject of robot dynamics and to provide the reader with a rich set of algorithms, in a compact form, that they may apply to their particular robot mechanism. These algorithms are presented in tables for ready access.
DOI: 10.1007/978-3-319-32552-1 (book) 10.1007/978-3-319-32552-1_3 (chapter)
This paper presents quantitative measures of a robot's physical ability to balance itself actively on a single point, line or area of support. These measures express the ratio of a change in the state of motion of the robot's centre of mass to the amount of action required at the actuated joints in order to produce that change. They therefore represent measures of the gain of the robot mechanism as seen from the point of view of the balance control system. This paper is concerned mainly with ratios of velocities, called velocity gains, and it builds on earlier work by showing how these ratios can be defined and calculated for the case of a general planar or spatial robot balancing on a point, line or general rolling contact, or an area contact with a compliant surface. The paper concludes with three examples of use—design of a triple pendulum, analysis of a hydraulic quadruped, and expressing the physics of planar balancing—followed by a short discussion of gyroscopic balancing.
DOI:
10.1177/0278364916669599
Full Text.
This paper presents a new model of the dynamics of a general planar robot balancing on a point in the plane, in which the essential parameters of the robot's balancing behaviour are reduced to just two numbers, both of which are simple functions of basic physical properties of the robot mechanism. A third number describes the effect of other movements on the robot's balance. This model gives rise to a simple preview balance controller consisting of a four-term control law with easily calculated gains and a reverse-time low-pass filter acting on a preview of the command signal. The filter makes the robot lean in anticipation of future movements. Simulation results are presented showing the balance controller achieving excellent tracking of large fast motion commands while simultaneously maintaining the robot's balance and accurately rejecting disturbances caused by other motions being performed by the robot. The controller is also robust to effects such as actuator saturation and sensor noise.