Professional Documents
Culture Documents
Paolo Di Lillo
Trajectory planning
generation of the input to be used as references of the motion control
system
Definitions:
path: locus of points in the operational space which the robot has
to follow in the execution of the assigned motion (geometric
description)
trajectory: path with an associated time law (e.g. velocity and/or
accelerations)
q(t) = a3 t3 + a2 t2 + a1 t + a0
q̇(t) = 3a3 t2 + 2a2 t + a1
q̈(t) = 6a3 t + 2a2
a0 = qi
a1 = q̇i
a3 t3f + a2 t2f + a1 tf + a0 = qf
3a3 t2f + 2a2 tf + a1 = q̇f
[rad]
1
q(0) = 0, q(tf ) = π, 3
[rad/s]
2
q̇(0) = q̇(tf ) = 0, 1
tf = 1 s 0
0 0.2 0.4 0.6 0.8 1
[s]
acc
20
10
[rad/s^2]
−10
−20
q i , q f , tf
and
q̈c or q̇c
and
sign(q̈c ) = sign(qf − qi )
then we compute
s
tf 1 t2f q̈c − 4(qf − qi )
tc = −
2 2 q̈c
and thus a trajectory
1
2
qi + 2 q̈c t
0 ≤ t ≤ tc
q(t) = qi + q̈c tc (t − tc /2) tc < t ≤ tf − tc
qf − 12 q̈c (tf − t)2
tf − tc < t ≤ tf
Example
pos
[rad]
1
q(0) = 0, q(tf ) = π, 5
q̇(0) = q̇(tf ) = 0, 3
[rad/s]
2
|q̈c | = 6π, 1
tf = 1 s 0
0 0.2 0.4 0.6 0.8 1
[s]
acc
20
10
[rad/s^2]
−10
−20
p = f (s) ∈ R3 , s∈R
dp
t =
ds
1 d2 p
n =
2
2
d p
ds
ds2
b = t×n
Position
p = f (s)
s(t) interpolating polynomial
dp
ṗ = ṡ = ṡt
ds
segment
s
p(s) = pi + (p − pi )
kpf − pi k f
ṡ
ṗ = (p − pi ) = ṡt
kpf − pi k f
s̈
p̈ = (p − pi ) = s̈t
kpf − pi k f
from which the axis and angle needed to implement the desired
rotation:
−1 r11 + r22 + r33 − 1
ϑf = cos
2
r32 − r23
1
r = r13 − r31
2 sin ϑf
r21 − r12