Introduction to Robotics
Trajectory Generation
Dept. of Control & Instrumentation Eng.
Joono Cheong
❑ Introduction to Trajectory Planning
The typical hierarchy of motion planning is as follows:
1. Task planning – Designing a set of high-level goals, such as “go pick up the object in front
of you”. (Selecting waypoints for point-to-point (P-to-P) motion)
2. Path planning – Generating a feasible path from a start point to a goal point. A path
usually consists of a set of connected waypoints.
3. Trajectory planning – Generating a time schedule for how to follow a path with given
constraints such as position, velocity, and acceleration.
The fundamental choice you make in
the motion planning is whether you
want to generate a joint-space or
task-space trajectory.
• Task space means the
waypoints and interpolation are
on the Cartesian pose (position
and orientation) of a specific
location on the manipulator –
usually the end effector.
• Joint space means the
waypoints and interpolation are
directly on the joint positions
(angles or displacements,
depending on the type of joint)
❑ Introduction to Trajectory Planning
• Pros & Cons of trajectory planning schemes
Task Space Joint Space
• Motion is predictable (interpolation in • Faster execution (solve IK at waypoints
Pros task space) only)
• Better handling of obstacles and • Actuator motion is smooth and easier to
• collisions
Slower execution (solve IK every time validate
step) • Intermediate points not guaranteed to
Cons
• Actuator motion not necessarily respect collisions
smooth and harder to validate
❑ Joint Space Trajectory Planning
• Joint space trajectory planning scheme
We want to move a robot from one configuration to another configuration. The initial &
final configurations of the manipulator are known in the form of a set of joint angles.
unpredictable
nice
under/overshoots
A smooth transition of joint configuration from the initial to the final one is desirable.
❑ Joint Space Trajectory Planning
• Joint space trajectory planning scheme
There are two major ways to create trajectories that interpolate joint configurations over time:
- Trapezoid (Intuitive)
- Polynomials (Easy to program)
• Trapezoidal velocity Θi(t) Trapezoidal trajectory (example)
trajectories are piecewise
trajectories of constant S-curve
acceleration, zero
acceleration, and constant
deceleration. ·
Θi(t)
• This leads to a trapezoidal
velocity profile and s-
curve position profile.
··
Θi(t)
• Can seep up or down by
tuning the acceleration
and its duration.
• Bang-Bang is optimal for
minimum time trajectory.
❑ Joint Space Trajectory Planning
• Joint space trajectory planning scheme
·
Θ(t)
equi-velocity
·
Θmax
equi-acceleration equi-deceleration
0 tr tf − tr tf
·
Θ(tf ) = Θmax(tf − tr )
·
Tune Θmax, tf, and tr to achieve the amount of goal movement.
❑ Joint Space Trajectory Planning
polynomial trajectory (example)
• Joint space trajectory planning scheme Θi(t)
- You can interpolate between two configurations
using polynomials of various orders.
- The most common orders used in practice are: time
·
• Cubic (3rd order) – Requires 4 boundary Θi(t)
conditions: position and velocity at both ends
Θ(t) = a0 + a1t + a2t 2 + a3t 3
• Quintic (5th order) – Requires 6 boundary
conditions: position, velocity, and acceleration at
time
both ends ··
Θ(t) = a0 + a1t + a2t 2 + a3t 3 + a4t 4 + a5t 5 Θi(t)
time
❑ Joint Space Trajectory Planning
• Joint space trajectory planning scheme
Cubic polynomial
·
Θ(t) = a0 + a1t + a2t 2 + a3t 3 & Θ(t) = a1 + 2a2t + 3a3t 2
Boundary conditions (BCs)
Θ0 = a0
Θf = a0 + a1tf + a2tf2 + a3tf3
0 = a1
0 = a1 + 2a2tf + 3a3tf2
It is not straightforward to see the 1 0 0 0
Θ0 a0
maximum velocity & acceleration. 0 1 0 0
0 a1
= 1 tf tf2 tf3 a2
Θf
To impose more boundary conditions,
0 1 tf tf2 a3
increase the order of polynomial. 0
❑ Task Space Trajectory Planning
• Let's get back to movie
Joint space planning
Task space planning
Joint space planning scheme does not give intuitive task trajectory.
❑ Task Space Trajectory Planning
• Task space trajectory planning scheme
Two steps are required for task space trajectory planning, different from the joint space
trajectory planning scheme.
• Path planning: Find an interpolated path in the space
• Time scheduling: Generate a velocity profile in time
●
●
via-point ● velocity
●
t0 tr tf-tr tf
●
● path( )
- Given via-points, find a smooth trajectory using line- - Velocity-time profile should be created in such a way
curve blending or spline method. that the total travel length equals the length of path.
- Smoothness of trajectory must be satisfied. - Designers can choose the wanted velocity shape.