Foreword by Roger Brockett
Foreword by Matthew Mason
Preface
Preview
Configuration Space
Degrees of Freedom of a Rigid Body
Degrees of Freedom of a Robot
Robot Joints
Grübler's Formula
Configuration Space: Topology and Representation
Configuration Space Topology
Configuration Space Representation
Configuration and Velocity Constraints
Task Space and Workspace
Summary
Notes and References
Exercises
Rigid-Body Motions
Rigid-Body Motions in the Plane
Rotations and Angular Velocities
Rotation Matrices
Angular Velocities
Exponential Coordinate Representation of Rotation
Rigid-Body Motions and Twists
Homogeneous Transformation Matrices
Twists
Exponential Coordinate Representation of Rigid-Body Motions
Wrenches
Summary
Software
Notes and References
Exercises
Forward Kinematics
Product of Exponentials Formula
First Formulation: Screw Axes in the Base Frame
Examples
Second Formulation: Screw Axes in the End-Effector Frame
The Universal Robot Description Format
Summary
Software
Notes and References
Exercises
Velocity Kinematics and Statics
Manipulator Jacobian
Space Jacobian
Body Jacobian
Visualizing the Space and Body Jacobian
Relationship between the Space and Body Jacobian
Alternative Notions of the Jacobian
Looking Ahead to Inverse Velocity Kinematics
Statics of Open Chains
Singularity Analysis
Manipulability
Summary
Software
Notes and References
Exercises
Inverse Kinematics
Analytic Inverse Kinematics
6R PUMA-Type Arm
Stanford-Type Arms
Numerical Inverse Kinematics
Newton–Raphson Method
Numerical Inverse Kinematics Algorithm
Inverse Velocity Kinematics
A Note on Closed Loops
Summary
Software
Notes and References
Exercises
Kinematics of Closed Chains
Inverse and Forward Kinematics
3RPR Planar Parallel Mechanism
Stewart–Gough Platform
General Parallel Mechanisms
Differential Kinematics
Stewart–Gough Platform
General Parallel Mechanisms
Singularities
Summary
Notes and References
Exercises
Dynamics of Open Chains
Lagrangian Formulation
Basic Concepts and Motivating Examples
General Formulation
Understanding the Mass Matrix
Lagrangian Dynamics vs. Newton–Euler Dynamics
Dynamics of a Single Rigid Body
Classical Formulation
Twist–Wrench Formulation
Dynamics in Other Frames
Newton–Euler Inverse Dynamics
Derivation
Newton-Euler Inverse Dynamics Algorithm
Dynamic Equations in Closed Form
Forward Dynamics of Open Chains
Dynamics in the Task Space
Constrained Dynamics
Robot Dynamics in the URDF
Actuation, Gearing, and Friction
DC Motors and Gearing
Apparent Inertia
Newton–Euler Inverse Dynamics Algorithm Accounting for Motor Inertias and Gearing
Friction
Joint and Link Flexibility
Summary
Software
Notes and References
Exercises
Trajectory Generation
Definitions
Point-to-Point Trajectories
Straight-Line Paths
Time Scaling a Straight-Line Path
Polynomial Via Point Trajectories
Time-Optimal Time Scaling
The (s,) Phase Plane
The Time-Scaling Algorithm
A Variation on the Time-Scaling Algorithm
Assumptions and Caveats
Summary
Software
Notes and References
Exercises
Motion Planning
Overview of Motion Planning
Types of Motion Planning Problems
Properties of Motion Planners
Motion Planning Methods
Foundations
Configuration Space Obstacles
Distance to Obstacles and Collision Detection
Graphs and Trees
Graph Search
Complete Path Planners
Grid Methods
Multi-Resolution Grid Representation
Grid Methods with Motion Constraints
Sampling Methods
The RRT Algorithm
The PRM Algorithm
Virtual Potential Fields
A Point in C-space
Navigation Functions
Workspace Potential
Wheeled Mobile Robots
Use of Potential Fields in Planners
Nonlinear Optimization
Smoothing
Summary
Notes and References
Exercises
Robot Control
Control System Overview
Error Dynamics
Error Response
Linear Error Dynamics
Motion Control with Velocity Inputs
Motion Control of a Single Joint
Motion Control of a Multi-joint Robot
Task-Space Motion Control
Motion Control with Torque or Force Inputs
Motion Control of a Single Joint
Motion Control of a Multi-joint Robot
Task-Space Motion Control
Force Control
Hybrid Motion–Force Control
Natural and Artificial Constraints
A Hybrid Motion–Force Controller
Impedance Control
Impedance-Control Algorithm
Admittance-Control Algorithm
Low-Level Joint Force/Torque Control
Other Topics
Summary
Software
Notes and References
Exercises
Grasping and Manipulation
Contact Kinematics
First-Order Analysis of a Single Contact
Contact Types: Rolling, Sliding, and Breaking Free
Multiple Contacts
Collections of Bodies
Other Types of Contacts
Planar Graphical Methods
Form Closure
Contact Forces and Friction
Friction
Planar Graphical Methods
Force Closure
Duality of Force and Motion Freedoms
Manipulation
Summary
Notes and References
Exercises
Wheeled Mobile Robots
Types of Wheeled Mobile Robots
Omnidirectional Wheeled Mobile Robots
Modeling
Motion Planning
Feedback Control
Nonholonomic Wheeled Mobile Robots
Modeling
Controllability
Motion Planning
Feedback Control
Odometry
Mobile Manipulation
Summary
Notes and References
Exercises
Summary of Useful Formulas
Other Representations of Rotations
Euler Angles
Algorithm for Computing the ZYX Euler Angles
Other Euler Angle Representations
Roll–Pitch–Yaw Angles
Unit Quaternions
Cayley–Rodrigues Parameters
Denavit–Hartenberg Parameters
Assigning Link Frames
Why Four Parameters are Sufficient
Manipulator Forward Kinematics
Examples
Relation Between the PoE and D–H Representations
A Final Comparison
Optimization and Lagrange Multipliers
Bibliography
Index