30
INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING generation of reference inputs to motion control system Path and trajectory Joint space trajectories Operational space trajectories

TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

Embed Size (px)

Citation preview

Page 1: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

TRAJECTORY PLANNING

• generation of reference inputs to motion control system

Path and trajectory

Joint space trajectories

Operational space trajectories

Page 2: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

PATH AND TRAJECTORY

⋆ generation of suitably smooth trajectories

• Path: locus of points in joint space (operational space) whichthe manipulator has to follow in the execution of the assignedmotion (pure geometric description)

• Trajectory: path on which a timing law is specified (e.g.velocities and/or accelerations)

• Trajectory planningalgorithm

⋆ inputs

path description

path constraints

constraints imposed by manipulator dynamics

⋆ outputs

joint (end-effector) trajectories in terms of time sequence ofvalues attained by position, velocity and acceleration

Page 3: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

• Reduced number of parameters

⋆ path

extremal points

possible intermediate points

geometric primitives

⋆ timing law

total time

max velocity and/or acceleration

velocity and/or acceleration at given points

• Operational space trajectories

⋆ natural task description

⋆ path constraints

⋆ singularities

⋆ redundancy

• Joint space trajectories

⋆ inverse kinematics

⋆ control action

Page 4: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

JOINT SPACE TRAJECTORIES

• Generation of functionq(t) interpolating the given vectorsof joint variables at each point, in respect of the imposedconstraints

⋆ the generated trajectories should be not very demandingfrom a computational viewpoint

⋆ the joint positions and velocities (and accelerations) shouldbe continuous functions of time

⋆ undesirable effects should be minimized (e.g., nonsmoothtrajectories)

• Point-to-point motion

⋆ initial and final points, and traveling time

• Motion through a sequence of points

⋆ initial and final points, intermediate points, and travelingtimes

Page 5: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

Point-to-point motion

⋆ generation ofq(t) describing motion fromqi to qf in a timetf

• Cubic polynomial

q(t) = a3t3 + a2t

2 + a1t + a0

q(t) = 3a3t2 + 2a2t + a1

q(t) = 6a3t + 2a2

⋆ computation of coefficients

a0 = qi

a1 = qi

a3t3f + a2t

2f + a1tf + a0 = qf

3a3t2f + 2a2tf + a1 = qf

• Quintic polynomial (initial and final accelerations)

q(t) = a5t5 + a4t

4 + a3t3 + a2t

2 + a1t + a0

Page 6: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

• Example

0 0.2 0.4 0.6 0.8 1

0

1

2

3

pos

[s]

[rad

]

0 0.2 0.4 0.6 0.8 1

0

1

2

3

4

5vel

[s]

[rad

/s]

0 0.2 0.4 0.6 0.8 1

−20

−10

0

10

20

acc

[s]

[rad

/s^2

]

Page 7: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

• Trapezoidal velocity profile

qctc =qm − qc

tm − tc

qc = qi +1

2qct

2c

qct2c − qctf tc + qf − qi = 0

Page 8: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

• qc specified (sgn qc = sgn (qf − qi))

tc =tf2

−1

2

t2f qc − 4(qf − qi)

qc

|qc| ≥4|qf − qi|

t2f

⋆ trajectory

q(t) =

qi + 1

2qct

2 0 ≤ t ≤ tc

qi + qctc(t − tc/2) tc < t ≤ tf − tc

qf − 1

2qc(tf − t)2 tf − tc < t ≤ tf

Page 9: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

• Example

0 0.2 0.4 0.6 0.8 1

0

1

2

3

pos

[s]

[rad

]

0 0.2 0.4 0.6 0.8 1

0

1

2

3

4

5vel

[s]

[rad

/s]

0 0.2 0.4 0.6 0.8 1

−20

−10

0

10

20

acc

[s]

[rad

/s^2

]

Page 10: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

• qc specified

|qf − qi|

tf< |qc| ≤

2|qf − qi|

tf

tc =qi − qf + qctf

qc

qc =q2c

qi − qf + qctf

Page 11: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

Motion through a sequence of points

⋆ opportunity to assign intermediate points (sequence ofpoints)

• For givenN path points, find an interpolating function throughthese points

⋆ N − 1 order polynomial

it is not possible to assign initial and final velocities

as the order of polynomial increases, its oscillatorybehaviour increases (not natural trajectories)

numerical accuracy for computation of polynomialcoefficients decreases as order increases

the resulting system of constraint equations is heavy to solve

polynomial coefficients depend on all the assigned points=⇒ if it is desired to change a point, all of them have tobe recomputed

Page 12: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

• Sequence of low-order (cubic)interpolating polynomialscontinuous at path points

⋆ arbitrary values ofq(t) are imposed at path points

⋆ the values ofq(t) at path points are assigned according to acertain criterion

⋆ accelerationq(t) has to be continuous at path points

• Interpolating polynomials of order less than three whichdetermine trajectories passing nearby path points at giveninstants of time

Page 13: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

• Interpolating polynomials with imposed velocities at pathpoints

Πk(tk) = qk

Πk(tk+1) = qk+1

Πk(tk) = qk

Πk(tk+1) = qk+1

⋆ continuity of velocity at path points

Πk(tk+1) = Πk+1(tk+1)

Page 14: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

• Example

0 2 4 6

0

2

4

6

pos

[s]

[rad

]

0 2 4 6

−5

0

5

vel

[s]

[rad

/s]

0 2 4 6

−40

−20

0

20

acc

[s]

[rad

/s^2

]

Page 15: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

• Interpolating polynomials with computed velocities at pathpoints

q1 = 0

qk =

{

0 sgn (vk) 6= sgn (vk+1)1

2(vk + vk+1) sgn (vk) = sgn (vk+1)

qN = 0

vk = (qk − qk−1)/(tk − tk−1)

Page 16: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

• Example

0 2 4 6

0

2

4

6

pos

[s]

[rad

]

0 2 4 6

−5

0

5

vel

[s]

[rad

/s]

0 2 4 6

−30

−20

−10

0

10

20

30

acc

[s]

[rad

/s^2

]

Page 17: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

• Interpolating polynomials with continuous accelerationsat pathpoints (splines)

Πk−1(tk) = qk

Πk−1(tk) = Πk(tk)

Πk−1(tk) = Πk(tk)

Πk−1(tk) = Πk(tk)

⋆ 4N−2 equations in4(N−1) unknown coefficients (fourth-order polynomials for first and last segment?)

⋆ 2 virtual points (continuity on position, velocity andacceleration) =⇒ N + 1 cubic polynomials

Page 18: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

⋆ 4(N − 2) equations for theN − 2 intermediate path points:

Πk−1(tk) = qk

Πk−1(tk) = Πk(tk)

Πk−1(tk) = Πk(tk)

Πk−1(tk) = Πk(tk)

⋆ 6 equations for the initial and final points

Π1(t1) = qi

Π1(t1) = qi

Π1(t1) = qi

ΠN+1(tN+2) = qf

ΠN+1(tN+2) = qf

ΠN+1(tN+2) = qf

⋆ 6 equations for the virtual points

Πk−1(tk) = Πk(tk)

Πk−1(tk) = Πk(tk)

Πk−1(tk) = Πk(tk)

⋆ System of4(N +1) equations for computation of4(N +1)coefficients ofN + 1 cubic polynomials

Page 19: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

⋆ computationally efficient algorithm

Πk(t) =Πk(tk)

∆tk(tk+1 − t) +

Πk(tk+1)

∆tk(t − tk)

Πk(t) =Πk(tk)

6∆tk(tk+1 − t)3 +

Πk(tk+1)

6∆tk(t − tk)3

+

(

Πk(tk+1)

∆tk−

∆tkΠk(tk+1)

6

)

(t − tk)

+

(

Πk(tk)

∆tk−

∆tkΠk(tk)

6

)

(tk+1 − t)

⋆ 4 unknowns:Πk(tk), Πk(tk+1), Πk(tk) e Πk(tk+1)

Page 20: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

⋆ N variablesqk for k 6= 2, N + 1 specified

⋆ continuity onq2 andqN+1

⋆ continuity onqk for k = 3, . . . , N

⋆ qi andqf specified

⋆ continuity onqk for k = 2, . . . , N + 1

⋆ qi andqf specified

Π1(t2) = Π2(t2)

...

ΠN (tN+1) = ΠN+1(tN+1)

⋆ system of linear equations

A [ Π2(t2) . . . ΠN+1(tN+1) ]T

= b

A =

a11 a12 . . . 0 0a21 a22 . . . 0 0

......

. . ....

...0 0 . . . aN−1,N−1 aN−1,N

0 0 . . . aN,N−1 aNN

Page 21: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

• Example

0 1 2 3 4 5

0

2

4

6

pos

[s]

[rad

]

0 1 2 3 4 5

−5

0

5

vel

[s]

[rad

/s]

0 1 2 3 4 5

−30

−20

−10

0

10

20

30

acc

[s]

[rad

/s^2

]

Page 22: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

• Interpolating linear polynomials with parabolic blends

qk−1,k =qk − qk−1

∆tk−1

qk =qk,k+1 − qk−1,k

∆t′k

Page 23: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

• Example

0 1 2 3 4 5

0

2

4

6

pos

[s]

[rad

]

0 1 2 3 4 5−6

−4

−2

0

2

4

vel

[s]

[rad

/s]

0 1 2 3 4 5

−40

−20

0

20

40acc

[s]

[rad

/s^2

]

Page 24: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

• application of trapezoidal velocity profile law to interpolationproblem

0 0.5 1 1.5 2

0

1

2

3

4

5

pos

[s]

[rad

]

0 0.5 1 1.5 2

0

1

2

3

4

vel

[s]

[rad

/s]

0 0.5 1 1.5 2

−20

−10

0

10

20

acc

[s]

[rad

/s^2

]

Page 25: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

OPERATIONAL SPACE TRAJECTORIES

• Sequence of path points

⋆ inverse knematics

⋆ joint space trajectories

⋆ microinterpolation

• Path pointsx(tk)

⋆ componentsxi(tk) interpolated with sequence of polynomials

• Path primitives

⋆ analytical description of motion

Page 26: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

Path primitives

• Parametric description of path in space

p = f(s)

t =dp

ds

n =1

d2p

ds2

d2p

ds2

b = t × n

Page 27: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

• Rectilinear path

p(s) = pi +s

‖pf − pi‖(pf − pi)

dp

ds=

1

‖pf − pi‖(pf − pi)

d2p

ds2= 0

Page 28: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

• Circular path

p′(s) =

ρ cos (s/ρ)ρ sin (s/ρ)

0

p(s) = c + Rp′(s)

dp

ds= R

−sin (s/ρ)cos (s/ρ)

0

d2p

ds2= R

−cos (s/ρ)/ρ−sin (s/ρ)/ρ

0

Page 29: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

Position and orientation trajectories

• Positionp = f(s)

⋆ s(t) interpolating polynomial

p = sdp

ds= st

⋆ segment

p(s) = pi +s

‖pf − pi‖(pf − pi)

p =s

‖pf − pi‖(pf − pi) = st

p =s

‖pf − pi‖(pf − pi) = st

⋆ circle

p(s) = c + R

ρ cos (s/ρ)ρ sin (s/ρ)

0

p = R

−s sin (s/ρ)s cos (s/ρ)

0

p = R

−s2cos (s/ρ)/ρ − s sin (s/ρ)−s2sin (s/ρ)/ρ + s cos (s/ρ)

0

Page 30: TRAJECTORY PLANNING - RIS · INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO TRAJECTORY PLANNING • generation of reference inputs to motion control system Path and trajectory Joint space

INDUSTRIAL ROBOTICS Prof. Bruno SICILIANO

• Orientation

⋆ interpolation of components ofn(t), s(t), a(t) ?

⋆ interpolation ofφ(t)

φ(s) = φi +s

‖φf − φi‖(φf − φi)

φ =s

‖φf − φi‖(φf − φi)

φ =s

‖φf − φi‖(φf − φi)

⋆ angle and axis (Rf = RiRif )

Rif = RT

i Rf =

r11 r12 r13

r21 r22 r23

r31 r32 r33

ϑf = cos−1

(

r11 + r22 + r33 − 1

2

)

r =1

2 sinϑf

r32 − r23

r13 − r31

r21 − r12

Ri(t): Ri(0) = I Ri(tf ) = Rif

R(t) = RiRir(ϑ(t))

ϑ(0) = 0 ϑ(tf ) = ϑf