Book contents
- Frontmatter
- Contents
- Foreword by Roger Brockett
- Foreword by Matthew Mason
- Preface
- 1 Preview
- 2 Configuration Space
- 3 Rigid-Body Motions
- 4 Forward Kinematics
- 5 Velocity Kinematics and Statics
- 6 Inverse Kinematics
- 7 Kinematics of Closed Chains
- 8 Dynamics of Open Chains
- 9 Trajectory Generation
- 10 Motion Planning
- 11 Robot Control
- 12 Grasping and Manipulation
- 13 Wheeled Mobile Robots
- A Summary of Useful Formulas
- B Other Representations of Rotations
- C Denavit–Hartenberg Parameters
- D Optimization and Lagrange Multipliers
- Bibliography
- Index
3 - Rigid-Body Motions
Published online by Cambridge University Press: 04 June 2024
- Frontmatter
- Contents
- Foreword by Roger Brockett
- Foreword by Matthew Mason
- Preface
- 1 Preview
- 2 Configuration Space
- 3 Rigid-Body Motions
- 4 Forward Kinematics
- 5 Velocity Kinematics and Statics
- 6 Inverse Kinematics
- 7 Kinematics of Closed Chains
- 8 Dynamics of Open Chains
- 9 Trajectory Generation
- 10 Motion Planning
- 11 Robot Control
- 12 Grasping and Manipulation
- 13 Wheeled Mobile Robots
- A Summary of Useful Formulas
- B Other Representations of Rotations
- C Denavit–Hartenberg Parameters
- D Optimization and Lagrange Multipliers
- Bibliography
- Index
Summary
In the previous chapter, we saw that a minimum of six numbers is needed to specify the position and orientation of a rigid body in three-dimensional physical space. In this chapter we develop a systematic way to describe a rigid body's position and orientation which relies on attaching a reference frame to the body. The configuration of this frame with respect to a fixed reference frame is then represented as a 4×4 matrix. This matrix is an example of an implicit representation of the C-space, as discussed in the previous chapter: the actual six-dimensional space of rigid-body configurations is obtained by applying ten constraints to the 16-dimensional space of 4 × 4 real matrices.
Such a matrix not only represents the configuration of a frame, but can also be used to (1) translate and rotate a vector or a frame, and (2) change the representation of a vector or a frame from coordinates in one frame to coordinates in another frame. These operations can be performed by simple linear algebra, which is a major reason why we choose to represent a configuration as a 4 × 4 matrix.
The non-Euclidean (i.e., non-“flat”) nature of the C-space of positions and orientations leads us to use a matrix representation. A rigid body's velocity, however, can be represented simply as a point in R6, defined by three angular velocities and three linear velocities, which together we call a spatial velocity or twist. More generally, even though a robot's C-space may not be a vector space, the set of feasible velocities at any point in the C-space always forms a vector space. For example, consider a robot whose C-space is the sphere S2: although the C-space is not flat, at any point on the sphere the space of velocities can be thought of as the plane (a vector space) tangent to that point on the sphere.
Any rigid-body configuration can be achieved by starting from the fixed (home) reference frame and integrating a constant twist for a specified time. Such a motion resembles the motion of a screw, rotating about and translating along the same fixed axis. The observation that all configurations can be achieved by a screw motion motivates a six-parameter representation of the configuration called the exponential coordinates.
- Type
- Chapter
- Information
- Modern RoboticsMechanics, Planning, and Control, pp. 50 - 115Publisher: Cambridge University PressPrint publication year: 2017