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
10 - Motion Planning
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
Motion planning is the problem of finding a robot motion from a start state to a goal state that avoids obstacles in the environment and satisfies other constraints, such as joint limits or torque limits. Motion planning is one of the most active subfields of robotics, and it is the subject of entire books. The purpose of this chapter is to provide a practical overview of a few common techniques, using robot arms and mobile robots as the primary example systems (Figure 10.1). The chapter begins with a brief overview of motion planning. This is followed by foundational material including configuration space obstacles and graph search. We conclude with summaries of several different planning methods.
Overview of Motion Planning
A key concept in motion planning is configuration space, or C-space for short. Every point in the C-space C corresponds to a unique configuration q of the robot, and every configuration of the robot can be represented as a point in C-space. For example, the configuration of a robot arm with n joints can be represented as a list of n joint positions, q = (θ1, … , θn). The free C-space Cfree consists of the configurations where the robot neither penetrates an obstacle nor violates a joint limit.
In this chapter, unless otherwise stated, we assume that q is an n-vector and that C ⊂ Rn. With some generalization, the concepts of this chapter apply to non-Euclidean C-spaces such as C = SE(3).
The control inputs available to drive the robot are written as an m-vector u ϵ U ⊂ Rm, where m = n for a typical robot arm. If the robot has secondorder dynamics, such as that for a robot arm, and the control inputs are forces (equivalently, accelerations), the state of the robot is defined by its configuration and velocity, x = (q, v) ϵ X. For q ϵ Rn, typically we write v = q˙. If we can treat the control inputs as velocities, the state x is simply the configuration q. The notation q(x) indicates the configuration q corresponding to the state x, and Xfree = ﹛x | q(x) ϵ Cfree﹜.
- Type
- Chapter
- Information
- Modern RoboticsMechanics, Planning, and Control, pp. 306 - 348Publisher: Cambridge University PressPrint publication year: 2017