Sensor-based trajectory optimization ABB Robotics Master thesis - - PowerPoint PPT Presentation

sensor based trajectory optimization
SMART_READER_LITE
LIVE PREVIEW

Sensor-based trajectory optimization ABB Robotics Master thesis - - PowerPoint PPT Presentation

Sensor-based trajectory optimization ABB Robotics Master thesis Martin Biel Supervisor: Mikael Norrlf Examiner: Xiaoming Hu June 9, 2016 Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 1 / 52 Outline Introduction


slide-1
SLIDE 1

Sensor-based trajectory optimization

ABB Robotics

Master thesis Martin Biel

Supervisor: Mikael Norrlöf Examiner: Xiaoming Hu

June 9, 2016

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 1 / 52

slide-2
SLIDE 2

Outline

1

Introduction

2

Preliminaries

3

Trajectory Planner

4

Simulations

5

Discussion and conclusion

6

Questions

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 2 / 52

slide-3
SLIDE 3

Traditional approach

Geometric path computed on before hand.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 3 / 52

slide-4
SLIDE 4

Traditional approach

Geometric path computed on before hand. Optimal path following along the computed path.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 3 / 52

slide-5
SLIDE 5

Traditional approach

Geometric path computed on before hand. Optimal path following along the computed path.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 4 / 52

slide-6
SLIDE 6

Traditional approach

Geometric path computed on before hand. Optimal path following along the computed path.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 5 / 52

slide-7
SLIDE 7

Problem formulation

General problem: Investigate the possibility of constructing a real-time capable trajectory planner, where: The underlying path should be allowed to change dynamically.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 6 / 52

slide-8
SLIDE 8

Problem formulation

General problem: Investigate the possibility of constructing a real-time capable trajectory planner, where: The underlying path should be allowed to change dynamically. The planner should be able to react to sensor events, and deform the trajectory accordingly.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 6 / 52

slide-9
SLIDE 9

Problem formulation

General problem: Investigate the possibility of constructing a real-time capable trajectory planner, where: The underlying path should be allowed to change dynamically. The planner should be able to react to sensor events, and deform the trajectory accordingly. The trajectory should be consistent with some given system dynamics.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 6 / 52

slide-10
SLIDE 10

Problem formulation

General problem: Investigate the possibility of constructing a real-time capable trajectory planner, where: The underlying path should be allowed to change dynamically. The planner should be able to react to sensor events, and deform the trajectory accordingly. The trajectory should be consistent with some given system dynamics. Target application: Conveyor tracking

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 6 / 52

slide-11
SLIDE 11

Problem formulation

General problem: Investigate the possibility of constructing a real-time capable trajectory planner, where: The underlying path should be allowed to change dynamically. The planner should be able to react to sensor events, and deform the trajectory accordingly. The trajectory should be consistent with some given system dynamics. Target application: Conveyor tracking Pick and place.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 6 / 52

slide-12
SLIDE 12

Problem formulation

General problem: Investigate the possibility of constructing a real-time capable trajectory planner, where: The underlying path should be allowed to change dynamically. The planner should be able to react to sensor events, and deform the trajectory accordingly. The trajectory should be consistent with some given system dynamics. Target application: Conveyor tracking Pick and place. Collision avoidance.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 6 / 52

slide-13
SLIDE 13

Problem formulation

General problem: Investigate the possibility of constructing a real-time capable trajectory planner, where: The underlying path should be allowed to change dynamically. The planner should be able to react to sensor events, and deform the trajectory accordingly. The trajectory should be consistent with some given system dynamics. Target application: Conveyor tracking Pick and place. Collision avoidance. Track moving targets.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 6 / 52

slide-14
SLIDE 14

Outline

1

Introduction

2

Preliminaries

3

Trajectory Planner

4

Simulations

5

Discussion and conclusion

6

Questions

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 7 / 52

slide-15
SLIDE 15

Preliminaries - Robot modelling

x y

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 8 / 52

slide-16
SLIDE 16

Preliminaries - Robot modelling

x y q1 q2 Q - Configuration space

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 9 / 52

slide-17
SLIDE 17

Preliminaries - Robot modelling

x y q1 q2 (x, y) Q - Configuration space O - Operational space

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 10 / 52

slide-18
SLIDE 18

Preliminaries - Robot modelling

x y q1 q2 (x, y) Q - Configuration space O - Operational space W - Workspace

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 11 / 52

slide-19
SLIDE 19

Preliminaries - Robot modelling

Forward kinematics: y y y = χy(q q q) Inverse kinematics: q q q = χ−1

y (y

y y) Velocity Jacobian: v v v = J(q q q) ˙ q q q Dynamics: M(q q q(t))¨ q q q(t) + C(q q q(t), ˙ q q q(t)) ˙ q q q(t) + g(q q q(t)) = τ τ τ(t)

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 12 / 52

slide-20
SLIDE 20

Preliminaries - Optimal control problem

Time minimizing formulation min

τ τ τ(.) T s.t.

                     M(q q q(t))¨ q q q(t) + C(q q q(t), ˙ q q q(t)) ˙ q q q(t) + g(q q q(t)) = τ τ τ(t) q q q(t) ∈ Q τ τ τ − ≤ τ τ τ(t) ≤ τ τ τ + y y y(t) = χy(q q q(t)) y y y(0) = y y y0, ˙ y y y(0) = ˙ y y y0 y y y(T) = y y yT, ˙ y y y(T) = ˙ y y yT

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 13 / 52

slide-21
SLIDE 21

Preliminaries - Timed elastic band

Introduce the state vector x x x(t) = q q q(t) ˙ q q q(t)

  • as a solution trajectory to the optimal control problem.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 14 / 52

slide-22
SLIDE 22

Preliminaries - Timed elastic band

Introduce the state vector x x x(t) = q q q(t) ˙ q q q(t)

  • as a solution trajectory to the optimal control problem.

Discretize the trajectory into a so called Timed Elastic Band (TEB) set B := {x x x1,τ τ τ 1,x x x2,τ τ τ 2, . . . ,x x xn−1,τ τ τ n−1,x x xn, ∆T}. Note that n and ∆T are NOT fixed.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 14 / 52

slide-23
SLIDE 23

Preliminaries - Timed elastic band

Introduce the state vector x x x(t) = q q q(t) ˙ q q q(t)

  • as a solution trajectory to the optimal control problem.

Discretize the trajectory into a so called Timed Elastic Band (TEB) set B := {x x x1,τ τ τ 1,x x x2,τ τ τ 2, . . . ,x x xn−1,τ τ τ n−1,x x xn, ∆T}. Note that n and ∆T are NOT fixed. Determine the system dynamics for x x x(t) and approximate them using forward Euler, x x xk+1 − x x xk ∆T = Ax x xk + B(f(x x xk) + h(x x xk)τ τ τ k)

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 14 / 52

slide-24
SLIDE 24

Preliminaries - Timed elastic band

min

B

(n − 1)∆T s.t. x x xk+1 − x x xk ∆T − Ax x xk + B(f(x x xk) + h(x x xk)τ τ τ k) = 0 (k = 1, 2, . . . , n − 1) τ τ τ − ≤ τ τ τ k ≤ τ τ τ + (k = 1, 2, . . . , n − 1) x x x1 = x x xs, x x xn = x x xf, ∆T > 0

  • x

x xs = q q qs ˙ q q qs

  • ,

x x xf =

  • χ−1

y (y

y yT)

  • Martin Biel (KTH)

Sensor-based trajectory optimization June 9, 2016 15 / 52

slide-25
SLIDE 25

Preliminaries - Timed elastic band

min

B

(n − 1)∆T s.t. x x xk+1 − x x xk ∆T − Ax x xk + B(f(x x xk) + h(x x xk)τ τ τ k) = 0 (k = 1, 2, . . . , n − 1) τ τ τ − ≤ τ τ τ k ≤ τ τ τ + (k = 1, 2, . . . , n − 1) x x x1 = x x xs, x x xn = x x xf, ∆T > 0

  • x

x xs = q q qs ˙ q q qs

  • ,

x x xf =

  • χ−1

y (y

y yT)

  • The optimization problem is solved on-line using non-linear model

predictive control techniques, in the timed elastic band framework.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 15 / 52

slide-26
SLIDE 26

Outline

1

Introduction

2

Preliminaries

3

Trajectory Planner Deformation Collision avoidance Track moving targets Implementation

4

Simulations

5

Discussion and conclusion

6

Questions

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 16 / 52

slide-27
SLIDE 27

Trajectory Planner - Deformation

Deformation in time Deformation in space

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 17 / 52

slide-28
SLIDE 28

Trajectory Planner - Deformation

Deformation in time During each control cycle, the following TEB update is performed ¯ ITEB times TEB update i−      Insert a new state if ∆Ti > ∆¯ Tref + ∆¯ Thyst ∧ ni < ¯ nmax Remove a state if ∆Ti < ∆¯ Tref − ∆¯ Thyst ∧ ni > ¯ nmin Leave the TEB unchanged otherwise Deformation in space

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 17 / 52

slide-29
SLIDE 29

Trajectory Planner - Deformation

Deformation in time During each control cycle, the following TEB update is performed ¯ ITEB times TEB update i−      Insert a new state if ∆Ti > ∆¯ Tref + ∆¯ Thyst ∧ ni < ¯ nmax Remove a state if ∆Ti < ∆¯ Tref − ∆¯ Thyst ∧ ni > ¯ nmin Leave the TEB unchanged otherwise Deformation in space After each TEB update, the trajectory is improved by running an

  • ptimization solver for ¯

ISQP iterations with respect to the underlying non-linear optimization problem.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 17 / 52

slide-30
SLIDE 30

Trajectory Planner - Deformation

Deformation in time During each control cycle, the following TEB update is performed ¯ ITEB times TEB update i−      Insert a new state if ∆Ti > ∆¯ Tref + ∆¯ Thyst ∧ ni < ¯ nmax Remove a state if ∆Ti < ∆¯ Tref − ∆¯ Thyst ∧ ni > ¯ nmin Leave the TEB unchanged otherwise Deformation in space After each TEB update, the trajectory is improved by running an

  • ptimization solver for ¯

ISQP iterations with respect to the underlying non-linear optimization problem. The underlying solver is based on Sequential Quadratic Programming and employs line-search through an l1 merit function.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 17 / 52

slide-31
SLIDE 31

Trajectory Planner - Deformation

Deformation in time During each control cycle, the following TEB update is performed ¯ ITEB times TEB update i−      Insert a new state if ∆Ti > ∆¯ Tref + ∆¯ Thyst ∧ ni < ¯ nmax Remove a state if ∆Ti < ∆¯ Tref − ∆¯ Thyst ∧ ni > ¯ nmin Leave the TEB unchanged otherwise Deformation in space After each TEB update, the trajectory is improved by running an

  • ptimization solver for ¯

ISQP iterations with respect to the underlying non-linear optimization problem. The underlying solver is based on Sequential Quadratic Programming and employs line-search through an l1 merit function. Automatic differentiation is used to compute the required gradients and Jacobians.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 17 / 52

slide-32
SLIDE 32

Trajectory Planner - Deformation

Deformation in time During each control cycle, the following TEB update is performed ¯ ITEB times TEB update i−      Insert a new state if ∆Ti > ∆¯ Tref + ∆¯ Thyst ∧ ni < ¯ nmax Remove a state if ∆Ti < ∆¯ Tref − ∆¯ Thyst ∧ ni > ¯ nmin Leave the TEB unchanged otherwise Deformation in space After each TEB update, the trajectory is improved by running an

  • ptimization solver for ¯

ISQP iterations with respect to the underlying non-linear optimization problem. The underlying solver is based on Sequential Quadratic Programming and employs line-search through an l1 merit function. Automatic differentiation is used to compute the required gradients and Jacobians. In total, ¯ ITEB ·¯ ISQP optimization iterations are performed each cycle.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 17 / 52

slide-33
SLIDE 33

Outline

1

Introduction

2

Preliminaries

3

Trajectory Planner Deformation Collision avoidance Track moving targets Implementation

4

Simulations

5

Discussion and conclusion

6

Questions

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 18 / 52

slide-34
SLIDE 34

Trajectory Planner - Collision avoidance

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 19 / 52

slide-35
SLIDE 35

Trajectory Planner - Collision avoidance

min

B

(n − 1)∆T −

m

  • j=1
  • k∈Kj,¯

σop

||χy(Cx x xk) − Oj||2 s.t. x x xk+1 − x x xk ∆T − Ax x xk + B(f(x x xk) + g(x x xk)τ τ τ k) = 0 (k = 1, . . . , n − 1) τ τ τ − ≤ τ τ τ k ≤ τ τ τ + (k = 1, . . . , n − 1) x x x1 = x x xs, x x xn = x x xf, ∆T > 0

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 20 / 52

slide-36
SLIDE 36

Outline

1

Introduction

2

Preliminaries

3

Trajectory Planner Deformation Collision avoidance Track moving targets Implementation

4

Simulations

5

Discussion and conclusion

6

Questions

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 21 / 52

slide-37
SLIDE 37

Trajectory Planner - Track moving targets

The objective is to track some moving target, represented here by the curve y y ytg(t) in operational space.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 22 / 52

slide-38
SLIDE 38

Trajectory Planner - Track moving targets

The objective is to track some moving target, represented here by the curve y y ytg(t) in operational space. In configuration space, the end-condition becomes q q qf = χ−1

y (y

y ytg(T)) ˙ q q qf = J(q q qf)−1 ˙ y y ytg(T)

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 22 / 52

slide-39
SLIDE 39

Trajectory Planner - Track moving targets

The objective is to track some moving target, represented here by the curve y y ytg(t) in operational space. In configuration space, the end-condition becomes q q qf = χ−1

y (y

y ytg(T)) ˙ q q qf = J(q q qf)−1 ˙ y y ytg(T) Alternatively, the target state is replaced with the prediction y y ytg

i + (ni−1 − 1)∆Tiv

v v

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 22 / 52

slide-40
SLIDE 40

Outline

1

Introduction

2

Preliminaries

3

Trajectory Planner Deformation Collision avoidance Track moving targets Implementation

4

Simulations

5

Discussion and conclusion

6

Questions

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 23 / 52

slide-41
SLIDE 41

Algorithm 1 Trajectory Planning Input: q q qs - current state; ˙ q q qs - current velocity; y y yf - target; ˙ y y yf - target velocity; O - obstacle information Output: (Sub-)optimal control input τ τ τ

1: procedure PLANTRAJECTORY 2:

repeat

3:

(q q qs, ˙ q q qs, y y yf, ˙ y y yf) ← READSENSORINPUT

4:

O ← INFORMABOUTOBSTACLES

5:

for each iteration 1 to ¯ ITEB do

6:

B ← DEFORMINTIME(B)

7:

P ←SETUPUNDERLYINGPROBLEM(B, O, q q qs, ˙ q q qs, y y yf, ˙ y y yf)

8:

for each iteration 1 to ¯ ISQP do

9:

B ← SQPSOLVE(B,P)

10:

end for

11:

end for

12:

τ ← APPLYCONTROL(B)

13:

until target has been reached

14: end procedure

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 24 / 52

slide-42
SLIDE 42

Trajectory Planner - Implementation

The trajectory planner is implemented as a software package in C++.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 25 / 52

slide-43
SLIDE 43

Trajectory Planner - Implementation

The trajectory planner is implemented as a software package in C++. Notable third-party libraries:

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 25 / 52

slide-44
SLIDE 44

Trajectory Planner - Implementation

The trajectory planner is implemented as a software package in C++. Notable third-party libraries:

◮ Eigen - for matrix/vector storage and linear algebra operations. Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 25 / 52

slide-45
SLIDE 45

Trajectory Planner - Implementation

The trajectory planner is implemented as a software package in C++. Notable third-party libraries:

◮ Eigen - for matrix/vector storage and linear algebra operations. ◮ qpOASES - for solving the arising quadratic subproblems during

the SQP procedure.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 25 / 52

slide-46
SLIDE 46

Trajectory Planner - Implementation

The trajectory planner is implemented as a software package in C++. Notable third-party libraries:

◮ Eigen - for matrix/vector storage and linear algebra operations. ◮ qpOASES - for solving the arising quadratic subproblems during

the SQP procedure.

◮ CppAD - for automatic differentiation. Used to compute gradients

and Jacobians.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 25 / 52

slide-47
SLIDE 47

Trajectory Planner - Implementation

The trajectory planner is implemented as a software package in C++. Notable third-party libraries:

◮ Eigen - for matrix/vector storage and linear algebra operations. ◮ qpOASES - for solving the arising quadratic subproblems during

the SQP procedure.

◮ CppAD - for automatic differentiation. Used to compute gradients

and Jacobians.

In specific applications, the trajectory planner is extended in a subclass that configures the planner and provides the appropriate system dynamics.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 25 / 52

slide-48
SLIDE 48

Outline

1

Introduction

2

Preliminaries

3

Trajectory Planner

4

Simulations Model Scenario 1: Simple target Scenario 2: Avoid obstacles Scenario 3: Track moving target Scenario 4: Pick and place

5

Discussion and conclusion

6

Questions

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 26 / 52

slide-49
SLIDE 49

Simulations - PlanarElbow/SCARA model

x y q1 m1 m2 q2 l1 l2

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 27 / 52

slide-50
SLIDE 50

Outline

1

Introduction

2

Preliminaries

3

Trajectory Planner

4

Simulations Model Scenario 1: Simple target Scenario 2: Avoid obstacles Scenario 3: Track moving target Scenario 4: Pick and place

5

Discussion and conclusion

6

Questions

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 28 / 52

slide-51
SLIDE 51

Scenario 1: Pick and place

Demonstration

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 29 / 52

slide-52
SLIDE 52

Scenario 1: Simple target - Time

  • 2
  • 1

1 2 3 Position x [m]

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position y [m] Avoid obstacles - Trajectories Planned trajectories Actual trajectory

(a) Snapshots of the intermediate planned trajectories, taken every 0.5s, together with the actual realized trajectory.

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position x [m]

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position y [m] Simple Target - Robot movement Initial position Intermediate positions Final Position

(b) The movement pattern of the robot

0.5 1 1.5 2 2.5 3 3.5 4 4.5 Time t [s]

  • 2.5
  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 2.5 Control Input τ [Nm] Simple Target - Control Input Joint 1 Joint 2

(c) The control input signal that was applied during the procedure. Figure: Trajectory planning procedure for the PlanarElbow model with a simple stationary target at (−1, 1) and aiming to minimize transition time. The planner was configured with the default values.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 30 / 52

slide-53
SLIDE 53

Scenario 1: Simple target - Energy

  • 2
  • 1

1 2 3 Position x [m]

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position y [m] Avoid obstacles - Trajectories Planned trajectories Actual trajectory

(a) Snapshots of the intermediate planned trajectories together with the actual realized trajectory.

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position x [m]

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position y [m] Simple Target - Robot movement Initial position Intermediate positions Final Position

(b) The movement pattern of the robot.

1 2 3 4 5 6 7 Time t [s]

  • 2
  • 1

1 2 Control Input τ [Nm] Simple Target - Control Input Joint 1 Joint 2

(c) The control input signal that was applied during the procedure. Figure: Trajectory planning procedure for the PlanarElbow model with a simple stationary target at (−1, 1) and aiming to minimize energy. The planner was configured with the default values.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 31 / 52

slide-54
SLIDE 54

Outline

1

Introduction

2

Preliminaries

3

Trajectory Planner

4

Simulations Model Scenario 1: Simple target Scenario 2: Avoid obstacles Scenario 3: Track moving target Scenario 4: Pick and place

5

Discussion and conclusion

6

Questions

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 32 / 52

slide-55
SLIDE 55

Scenario 2: Avoid obstacles

  • 2
  • 1

1 2 3 Position x [m]

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position y [m] Avoid obstacles - Trajectories Planned trajectories Actual trajectory

(a) Snapshots of the intermediate planned trajectories together with the actual realized trajectory.

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position x [m]

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position y [m] Avoid Obstacles - Robot movement Initial position Intermediate positions Final Position

(b) The movement pattern of the robot.

0.5 1 1.5 2 2.5 3 3.5 4 Time t [s]

  • 2.5
  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 2.5 Control Input τ [Nm] Avoid Obstacles - Control Input Joint 1 Joint 2

(c) The control input signal that was applied during the procedure. Figure: A single obstacle with radius 0.3m is placed at (0.5, 1.8). The planner was configured with the default values.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 33 / 52

slide-56
SLIDE 56

Scenario 2: Avoid obstacles

  • 2
  • 1

1 2 3 Position x [m]

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position y [m] Avoid obstacles - Trajectories Planned trajectories Actual trajectory

(a) Snapshots of the intermediate planned trajectories together with the actual realized trajectory.

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position x [m]

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position y [m] Avoid Obstacles - Robot movement Initial position Intermediate positions Final Position

(b) The movement pattern of the robot.

0.5 1 1.5 2 Time t [s]

  • 2.5
  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 2.5 Control Input τ [Nm] Avoid Obstacles - Control Input Joint 1 Joint 2

(c) The control input signal that was applied during the procedure. Figure: Two obstacles are added to the workspace: one at (0.5, 1.8) with radius 0.3m and one at (−0.2, 1, 3) with radius 0.2m. The planner was configured with the default values.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 34 / 52

slide-57
SLIDE 57

Scenario 2: Avoid obstacles

  • 2
  • 1

1 2 Position x [m]

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position y [m] Avoid obstacles - Trajectories Planned trajectories Actual trajectory

(a) Snapshots of the intermediate planned trajectories together with the actual realized trajectory.

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position x [m]

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position y [m] Avoid Obstacles - Robot movement Initial position Intermediate positions Final Position

(b) The movement pattern of the robot.

1 2 3 4 5 Time t [s]

  • 2.5
  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 2.5 Control Input τ [Nm] Avoid Obstacles - Control Input Joint 1 Joint 2

(c) The control input signal that was applied during the procedure. Figure: Two obstacles are added to the workspace: one at (0.5, 1.8) with radius 0.3m and one at (−0.2, 1, 3) with radius 0.2m. The planner was configured with the default values, but with "obstacleCloseProximity" : 1.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 35 / 52

slide-58
SLIDE 58

Scenario 2: Avoid obstacles

  • 2
  • 1

1 2 3 Position x [m]

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position y [m] Avoid obstacles - Trajectories Planned trajectories Actual trajectory

(a) Snapshots of the intermediate planned trajectories together with the actual realized trajectory.

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position x [m]

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position y [m] Avoid Obstacles - Robot movement Initial position Intermediate positions Final Position

(b) The movement pattern of the robot.

0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 Time t [s]

  • 2.5
  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 2.5 Control Input τ [Nm] Avoid Obstacles - Control Input Joint 1 Joint 2

(c) The control input signal that was applied during the procedure. Figure: Two obstacles are added to the workspace: one at (0.5, 1.8) with radius 0.3m and one at (−0.2, 1, 3) with radius 0.2m. The planner was configured with the default values, but with "obstacleCloseProximity" : 0.1.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 36 / 52

slide-59
SLIDE 59

Scenario 2: Avoid obstacles

  • 2
  • 1

1 2 3 Position x [m]

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position y [m] Avoid obstacles - Trajectories Planned trajectories Actual trajectory

(a) Snapshots of the intermediate planned trajectories together with the actual realized trajectory.

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position x [m]

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position y [m] Avoid Obstacles - Robot movement Initial position Intermediate positions Final Position

(b) The movement pattern of the robot.

1 2 3 4 5 Time t [s]

  • 2.5
  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 2.5 Control Input τ [Nm] Avoid Obstacles - Control Input Joint 1 Joint 2

(c) The control input signal that was applied during the procedure. Figure: Two obstacles are added to the workspace: one at (0.5, 1.8) with radius 0.3m and one at (−0.2, 1, 3) with radius 0.2m. The planner was configured with the default values, but with "referenceTime" : 0.05 and "Iteb" :

  • 3. The simulation was run with a sample time of 0.05s.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 37 / 52

slide-60
SLIDE 60

Scenario 2: Avoid obstacles

  • 2
  • 1

1 2 3 Position x [m]

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position y [m] Avoid obstacles - Trajectories Planned trajectories Actual trajectory

(a) Snapshots of the intermediate planned trajectories together with the actual realized trajectory.

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position x [m]

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position y [m] Avoid Obstacles - Robot movement Initial position Intermediate positions Final Position

(b) The movement pattern of the robot.

1 2 3 4 5 Time t [s]

  • 2.5
  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 2.5 Control Input τ [Nm] Avoid Obstacles - Control Input Joint 1 Joint 2

(c) The control input signal that was applied during the procedure. Figure: Two obstacles are added to the workspace: one at (0.5, 1.8) with radius 0.3m and one at (−0.2, 1, 3) with radius 0.2m. The planner was configured with the default values, but with "Isqp" : 4.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 38 / 52

slide-61
SLIDE 61

Scenario 2: Avoid obstacles

  • 2
  • 1

1 2 3 Position x [m]

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position y [m] Avoid obstacles - Trajectories Planned trajectories Actual trajectory

(a) Snapshots of the intermediate planned trajectories together with the actual realized trajectory.

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position x [m]

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position y [m] Avoid Obstacles - Robot movement Initial position Intermediate positions Final Position

(b) The movement pattern of the robot.

1 2 3 4 5 Time t [s]

  • 2.5
  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 2.5 Control Input τ [Nm] Avoid Obstacles - Control Input Joint 1 Joint 2

(c) The control input signal that was applied during the procedure. Figure: Two obstacles are added to the workspace: one at (0.5, 1.8) with radius 0.3m and one at (−0.2, 1, 3) with radius 0.2m. The planner was configured with the default values, but with "Isqp" : 4 and "multipleTrajectories": true.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 39 / 52

slide-62
SLIDE 62

Scenario 2: Avoid obstacles

  • 2
  • 1

1 2 3 Position x [m]

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position y [m] Avoid obstacles - Trajectories Planned trajectories Actual trajectory

(a) Snapshots of the intermediate planned trajectories together with the actual realized trajectory.

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position x [m]

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position y [m] Avoid Obstacles - Robot movement Initial position Intermediate positions Final Position

(b) The movement pattern of the robot and the moving

  • bstacle.

0.5 1 1.5 2 2.5 3 3.5 4 4.5 Time t [s]

  • 2.5
  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 2.5 Control Input τ [Nm] Avoid Obstacles - Control Input Joint 1 Joint 2

(c) The control input signal that was applied during the procedure. Figure: A single obstacle with radius 0.2m is placed at (1, 1.2), and moving in the direction (0.94, 0.35) with speed 0.1m/s. The planner was configured with the default values.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 40 / 52

slide-63
SLIDE 63

Scenario 2: Avoid obstacles

  • 2
  • 1

1 2 3 Position x [m]

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position y [m] Avoid obstacles - Trajectories Planned trajectories Actual trajectory

(a) Snapshots of the intermediate planned trajectories together with the actual realized trajectory.

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position x [m]

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position y [m] Avoid Obstacles - Robot movement Initial position Intermediate positions Final Position

(b) The movement pattern of the robot and the moving

  • bstacles.

0.5 1 1.5 2 Time t [s]

  • 2.5
  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 2.5 Control Input τ [Nm] Avoid Obstacles - Control Input Joint 1 Joint 2

(c) The control input signal that was applied during the procedure. Figure: Three obstacles are added to the workspace: One at (1, 1.2) with radius 0.2m, moving in the direction (0.94, 0.35) with speed 0.1m/s; One stationary obstacle at (−1, −1) with radius 0.4m; and finally one at (0.5, 0.5) with radius 0.3m, moving in the direction (0, 1) with speed 5m/s. The planner was configured with the default values, but with "multipleTrajectories" : true.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 41 / 52

slide-64
SLIDE 64

Outline

1

Introduction

2

Preliminaries

3

Trajectory Planner

4

Simulations Model Scenario 1: Simple target Scenario 2: Avoid obstacles Scenario 3: Track moving target Scenario 4: Pick and place

5

Discussion and conclusion

6

Questions

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 42 / 52

slide-65
SLIDE 65

Scenario 3: Track moving target

  • 2
  • 1

1 2 3 Position x [m]

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position y [m] Avoid obstacles - Trajectories Planned trajectories Target trajectory Actual trajectory

(a) Snapshots of the intermediate planned trajectories together with the actual realized trajectory.

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position x [m]

  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 Position y [m] Moving Target - Robot movement Target trajectory Initial position Intermediate positions Final Position

(b) The movement pattern of the robot and the moving target.

0.5 1 1.5 2 2.5 3 3.5 4 4.5 Time t [s]

  • 2.5
  • 2
  • 1.5
  • 1
  • 0.5

0.5 1 1.5 2 2.5 Control Input τ [Nm] Moving Target - Control Input Joint 1 Joint 2

(c) The control input signal that was applied during the procedure. Figure: Trajectory planning procedure for the PlanarElbow model with a moving target initially located at (−1, −1) and moving in the direction (0, 1) with speed 0.1m/s. The aim is to minimize transition time. The planner was configured with the default values.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 43 / 52

slide-66
SLIDE 66

Outline

1

Introduction

2

Preliminaries

3

Trajectory Planner

4

Simulations Model Scenario 1: Simple target Scenario 2: Avoid obstacles Scenario 3: Track moving target Scenario 4: Pick and place

5

Discussion and conclusion

6

Questions

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 44 / 52

slide-67
SLIDE 67

Scenario 1: Pick and place

Demonstration

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 45 / 52

slide-68
SLIDE 68

Outline

1

Introduction

2

Preliminaries

3

Trajectory Planner

4

Simulations

5

Discussion and conclusion Evaluation of results Improvements and future work Final remarks

6

Questions

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 46 / 52

slide-69
SLIDE 69

Evaluation of results

The planner is, in many different scenarios, successful in generating a feasible trajectory in relation to the different goals and the provided constraints.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 47 / 52

slide-70
SLIDE 70

Evaluation of results

The planner is, in many different scenarios, successful in generating a feasible trajectory in relation to the different goals and the provided constraints. When employing the time-minimizing strategy, the resulting trajectories often appear to be quasi time-optimal.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 47 / 52

slide-71
SLIDE 71

Evaluation of results

The planner is, in many different scenarios, successful in generating a feasible trajectory in relation to the different goals and the provided constraints. When employing the time-minimizing strategy, the resulting trajectories often appear to be quasi time-optimal. The results of the pick-and-place scenario shows the planners potential as an alternative to the two-step approach when

  • perating in dynamic environments.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 47 / 52

slide-72
SLIDE 72

Evaluation of results

The planner is, in many different scenarios, successful in generating a feasible trajectory in relation to the different goals and the provided constraints. When employing the time-minimizing strategy, the resulting trajectories often appear to be quasi time-optimal. The results of the pick-and-place scenario shows the planners potential as an alternative to the two-step approach when

  • perating in dynamic environments.

The results of the more complicated examples indicate that many

  • f the employed strategies are too primitive, and need to be

explored further.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 47 / 52

slide-73
SLIDE 73

Evaluation of results

The planner is, in many different scenarios, successful in generating a feasible trajectory in relation to the different goals and the provided constraints. When employing the time-minimizing strategy, the resulting trajectories often appear to be quasi time-optimal. The results of the pick-and-place scenario shows the planners potential as an alternative to the two-step approach when

  • perating in dynamic environments.

The results of the more complicated examples indicate that many

  • f the employed strategies are too primitive, and need to be

explored further. Many of the examples, and the appararent parameter sensitivity, indicate that the planner needs to be tailored for use in specific applications.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 47 / 52

slide-74
SLIDE 74

Evaluation of results

The planner is, in many different scenarios, successful in generating a feasible trajectory in relation to the different goals and the provided constraints. When employing the time-minimizing strategy, the resulting trajectories often appear to be quasi time-optimal. The results of the pick-and-place scenario shows the planners potential as an alternative to the two-step approach when

  • perating in dynamic environments.

The results of the more complicated examples indicate that many

  • f the employed strategies are too primitive, and need to be

explored further. Many of the examples, and the appararent parameter sensitivity, indicate that the planner needs to be tailored for use in specific applications. More work required to make the planner real-time capable.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 47 / 52

slide-75
SLIDE 75

Outline

1

Introduction

2

Preliminaries

3

Trajectory Planner

4

Simulations

5

Discussion and conclusion Evaluation of results Improvements and future work Final remarks

6

Questions

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 48 / 52

slide-76
SLIDE 76

Improvements and future work

Utilize the sparsity of the underlying optimization problem.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 49 / 52

slide-77
SLIDE 77

Improvements and future work

Utilize the sparsity of the underlying optimization problem. Explore trust-region methods as an alternative to line-search in the SQP procedure.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 49 / 52

slide-78
SLIDE 78

Improvements and future work

Utilize the sparsity of the underlying optimization problem. Explore trust-region methods as an alternative to line-search in the SQP procedure. Robust MPC techniques to counter issues that arise from inaccurate models.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 49 / 52

slide-79
SLIDE 79

Outline

1

Introduction

2

Preliminaries

3

Trajectory Planner

4

Simulations

5

Discussion and conclusion Evaluation of results Improvements and future work Final remarks

6

Questions

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 50 / 52

slide-80
SLIDE 80

Final remarks

A trajectory planning procedure has been implemented and presented in this work, and it looks promising for future use.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 51 / 52

slide-81
SLIDE 81

Final remarks

A trajectory planning procedure has been implemented and presented in this work, and it looks promising for future use. The intended application has been robotic manipulators, but the planner can be extended to other optimal control problems.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 51 / 52

slide-82
SLIDE 82

Final remarks

A trajectory planning procedure has been implemented and presented in this work, and it looks promising for future use. The intended application has been robotic manipulators, but the planner can be extended to other optimal control problems. The planner is successively applied in simple scenarios, but needs further work before it can be used in a real applications.

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 51 / 52

slide-83
SLIDE 83

Questions?

Martin Biel (KTH) Sensor-based trajectory optimization June 9, 2016 52 / 52