On the Implementation of Model Predictive Control for On-line - - PowerPoint PPT Presentation

on the implementation of model predictive control for on
SMART_READER_LITE
LIVE PREVIEW

On the Implementation of Model Predictive Control for On-line - - PowerPoint PPT Presentation

Preliminaries Background Computational issues Conclusions On the Implementation of Model Predictive Control for On-line Walking Pattern Generation Dimitar Dimitrov 1 Pierre-Brice Wieber 2 Hans Joachim Ferreau 3 Moritz Diehl 4 1 Orebro


slide-1
SLIDE 1

Preliminaries Background Computational issues Conclusions

On the Implementation of Model Predictive Control for On-line Walking Pattern Generation

Dimitar Dimitrov1 Pierre-Brice Wieber2 Hans Joachim Ferreau3 Moritz Diehl4

1 ¨

Orebro University, Sweden

2INRIA Rhˆ

  • ne-Alpes, France

3K.U. Leuven, Belgium

  • 4Univ. of Heidelberg, Germany

May 23, 2008

Dimitrov, Wieber, Ferreau, Diehl On the Implementation of Model Predictive Control for On-line W

slide-2
SLIDE 2

Preliminaries

Our aim and related problems

The aim To generate a stable walking pattern for a humanoid robot

  • n-line.

“stable walking” ? ZMP within the convex hull formed by the foot/feet in contact with the ground. Being able to generate a motion profile on-line is important, because: There is no guarantee that a motion profile generated

  • ff-line can be executed

We might not know the final point

slide-3
SLIDE 3

Preliminaries

Our aim and related problems

The problems Need to utilize a nonlinear optimization algorithm if the entire dynamic model of the system is considered In general it is not possible to model precisely the contact between the feet and the ground External disturbances can impose strong constraints on the system dynamics “solutions” Use a simplified model (linearize) in combination with a preview control scheme Rely on feedback Explicitly consider the constraints in the planning

slide-4
SLIDE 4

Preliminaries

Previous work underlying the results of this paper

Simplified model (3D-LIP) (Kajita et al. “A realtime pattern generator for biped walking,” ICRA 2002) Preview control scheme (infinite horizon LQR) (Kajita et al. “Biped walking pattern generation by using preview control of zero-moment point,” ICRA 2003) Explicitly consider constraints (LMPC) (P .-B. Wieber “Trajectory free linear model predictive control for stable walking in the presence of strong perturbations,” ICHR 2006)

slide-5
SLIDE 5

Preliminaries

Previous work underlying the results of this paper

Simplified model (3D-LIP) (Kajita et al. “A realtime pattern generator for biped walking,” ICRA 2002) Preview control scheme (infinite horizon LQR) (Kajita et al. “Biped walking pattern generation by using preview control of zero-moment point,” ICRA 2003) Explicitly consider constraints (LMPC) (P .-B. Wieber “Trajectory free linear model predictive control for stable walking in the presence of strong perturbations,” ICHR 2006) LQR constraints LMPC +

slide-6
SLIDE 6

Preliminaries

Previous work underlying the results of this paper

Simplified model (3D-LIP) (Kajita et al. “A realtime pattern generator for biped walking,” ICRA 2002) Preview control scheme (infinite horizon LQR) (Kajita et al. “Biped walking pattern generation by using preview control of zero-moment point,” ICRA 2003) Explicitly consider constraints (LMPC) (P .-B. Wieber “Trajectory free linear model predictive control for stable walking in the presence of strong perturbations,” ICHR 2006) LQR constraints LMPC + computational issues

slide-7
SLIDE 7

Preliminaries Background Computational issues Conclusions

1

Preliminaries

2

Background MPC QP

3

Computational issues Size of the problem Hot-start Variable sampling time

4

Conclusions

Dimitrov, Wieber, Ferreau, Diehl On the Implementation of Model Predictive Control for On-line W

slide-8
SLIDE 8

Background

Model Predictive Control

MPC is a general control scheme, that can deal with constraint dynamical systems with potential ability to react to unexpected

  • situations. Its application is done through solving on-line a

sequence of optimal control problems. The successful real time implementation of MPC with regard to complex robotic systems is sensitive to: The model to be used in order to describe the process of interest. The optimal control problem that should be considered and solved on-line, in order to achieve a desired system motion.

slide-9
SLIDE 9

MPC

S F

  • 1
  • 2
  • 3

State constraints

slide-10
SLIDE 10

MPC

S F

  • 1
  • 2
  • 3

T

i

slide-11
SLIDE 11

MPC

S F

  • 1
  • 2
  • 3

T

i

Solve an optimal problem and apply the first control action

slide-12
SLIDE 12

MPC

S F

  • 1
  • 2
  • 3
slide-13
SLIDE 13

MPC

S F

  • 1
  • 2
  • 3
slide-14
SLIDE 14

MPC

S F

  • 1
  • 2
  • 3
slide-15
SLIDE 15

MPC

S F

  • 1
  • 2
  • 3
slide-16
SLIDE 16

MPC

S F

  • 1
  • 2
  • 3

And so forth ...

slide-17
SLIDE 17

What is the relation to Humanoid walking?

Feet placement (set of linear constraints) Initial position

slide-18
SLIDE 18

What is the relation to Humanoid walking?

Feet placement (set of linear constraints) Initial position ZMP

slide-19
SLIDE 19

The setting

The model The dynamics of each leg is approximated with a model of a 3D-LIP The optimal problem Minimize the jerk of the Center of Mass, while imposing constraints for the ZMP of the system

slide-20
SLIDE 20

The setting

... Rg The model The dynamics of each leg is approximated with a model of a 3D-LIP The optimal problem Minimize the jerk of the Center of Mass, while imposing constraints for the ZMP of the system

slide-21
SLIDE 21

Background

Setting the optimization problem

It is well-known that in the presence of linear constraints on the input and output, each “step” of a LMPC problem can be set up as a quadratic program (QP). We define the state of the model at times tk as: ˆ xk =

  • x(tk)

˙ x(tk) ¨ x(tk) T The dynamical system ˆ xk+1 = Ak ˆ xk + Bk ... x k zx

k+1

= Cˆ xk+1 where C is a constant vector.

slide-22
SLIDE 22

Background

Setting the optimization problem

ˆ xk+1 = Ak ˆ xk + Bk ... x k ˆ xk+2 = Ak(Ak ˆ xk + Bk ... x k) + Bk+1 ... x k+1 ˆ xk+3 = Ak(Ak(Ak ˆ xk + Bk ... x k) + Bk+1 ... x k+1) + Bk+2 ... x k+2 ... Multiply through with C we obtain the relation Zx = Ps ˆ xk + Pu Ux Zx =    zx

k+1

. . . zx

k+N

   Ux =    ... x k . . . ... x k+N−1   

slide-23
SLIDE 23

Background

Setting the optimization problem

Objective function min U 1 2(U2 + (...)2) Standard notation min U 1 2UTHU + UTg with H ∈ RN×N and g ∈ RN×1 being the Hessian matrix and gradient vector.

slide-24
SLIDE 24

Background

The control loop

Feet placement Constraints Obj. Solve QP Model state inverse kinematics q System state

slide-25
SLIDE 25

Background

The control loop

Feet placement Constraints Obj. Solve QP Model state inverse kinematics q System state Should be com- puted every 5 ms

slide-26
SLIDE 26

Preliminaries Background Computational issues Conclusions Size of the problem Hot-start Variable sampling time

Contributions

Main contributions of the paper Forming a reliable initial guess for the optimization solver. A way to setup the optimal problem in a suitable form for

  • n-line computation.

Dimitrov, Wieber, Ferreau, Diehl On the Implementation of Model Predictive Control for On-line W

slide-27
SLIDE 27

Size of the optimal problem

The size of the optimal problem is determined by: The length of the preview window (LPW). The sampling time (ST). First consider a sequence of constant ST: 2ms 2ms 2ms 2ms ... 2ms 2ms 2ms 2ms

slide-28
SLIDE 28

Short preview window

S F

  • 1
  • 2
  • 3

Using too short preview window results in unreliable planning

slide-29
SLIDE 29

Long preview window

S F

  • 1
  • 2
  • 3

Using too long preview window results in time consuming

  • ptimization problem
slide-30
SLIDE 30

In the case of the HRP2 robot for stability and robustness of the control algorithm one needs to use LPW = 1.5 sec. Size of problem sampling intervals = 75 state variables = 150

  • ineq. constraints = appr. 302

active constraints = appr. 6 Solver type QP solvers based on active set strategy are well suited for the fast solution of such problem Active constraints Inequality constraints that hold as equalities.

slide-31
SLIDE 31

Computation time An active solver solves a QP by identifying the active constraints at optimality (by taking an iterative approach). For the case in the previous slide this results in computation time of about 6 ms with a “well implemented” dual QP solver. Hence, considering each QP as a separate problem results in high computation time. Contribution 1 (hot-start) Form a reliable initial guess for the optimization solver at time tk based on the solution of the QP at tk−1 and exploiting some of the particular characteristics of a humanoid walking process.

slide-32
SLIDE 32

Why is forming a guess possible?

We developed a rou- tine that makes a “per- fect” guesses in aver- age 94% of the time. When the guess is not “perfect” usually

  • nly one active

constraint is wrong.

slide-33
SLIDE 33

Result 1 (using hot-start)

slide-34
SLIDE 34

Setting up the optimization problem

Advantages of fixed sampling time Results in a constant Hessian matrix which can be formed and factorized off-line. Disadvantages of fixed sampling time Using small sampling step results in large optimization problems. Puts limitations on the choice of Single- and Double-support time. How can we use the advantages and avoid the dissadvantages

  • f the fixed sampling time?
slide-35
SLIDE 35

Problems when using large constant step size

Requirement The time of transition between Single-support and Double-support phases is of great importance to the stable walking, hence solving a QP at the boundary is important. S S S S S S D S S S S S S S D S S S

slide-36
SLIDE 36

Problems when using large constant step size

Requirement The time of transition between Single-support and Double-support phases is of great importance to the stable walking, hence solving a QP at the boundary is important. S S S S S D S S S S S S S D S S S S

slide-37
SLIDE 37

Problems when using large constant step size

Requirement The time of transition between Single-support and Double-support phases is of great importance to the stable walking, hence solving a QP at the boundary is important. S S S S D S S S S S S S D S S S S S

slide-38
SLIDE 38

Problems when using large constant step size

Requirement The time of transition between Single-support and Double-support phases is of great importance to the stable walking, hence solving a QP at the boundary is important. S S S D S S S S S S S D S S S S S S

slide-39
SLIDE 39

Problems when using large constant step size

Requirement The time of transition between Single-support and Double-support phases is of great importance to the stable walking, hence solving a QP at the boundary is important. S S D S S S S S S S D S S S S S S S

slide-40
SLIDE 40

Problems when using large constant step size

Requirement The time of transition between Single-support and Double-support phases is of great importance to the stable walking, hence solving a QP at the boundary is important. S D S S S S S S S D S S S S S S S D

slide-41
SLIDE 41

Problems when using large constant step size

Requirement The time of transition between Single-support and Double-support phases is of great importance to the stable walking, hence solving a QP at the boundary is important. D S S S S S S S D S S S S S S S D S

slide-42
SLIDE 42

Problems when using large constant step size

Requirement The time of transition between Single-support and Double-support phases is of great importance to the stable walking, hence solving a QP at the boundary is important. S S S S S S S D S S S S S S S D S S

slide-43
SLIDE 43

Problems when using large constant step size

Requirement The time of transition between Single-support and Double-support phases is of great importance to the stable walking, hence solving a QP at the boundary is important. S S S S S S S D S S S S S S S D S S

slide-44
SLIDE 44

Problems when using large constant step size

Requirement The time of transition between Single-support and Double-support phases is of great importance to the stable walking, hence solving a QP at the boundary is important. S S S S S S S D S S S S S S S D S S

slide-45
SLIDE 45

Problems when using large constant step size

Requirement The time of transition between Single-support and Double-support phases is of great importance to the stable walking, hence solving a QP at the boundary is important. S S S S S S S D S S S S S S S D S S

slide-46
SLIDE 46

Problems when using large constant step size

Requirement The time of transition between Single-support and Double-support phases is of great importance to the stable walking, hence solving a QP at the boundary is important. S S S S S S S D S S S S S S S D S S

slide-47
SLIDE 47

Problems when using large constant step size

Requirement The time of transition between Single-support and Double-support phases is of great importance to the stable walking, hence solving a QP at the boundary is important. S S S S S S S D S S S S S S S D S S

slide-48
SLIDE 48

Using variable step size

S S S S S S S D S S S S S S S D S S With variable sampling time, we can focus on the regions of interest while reducing the size of the optimization problem.

slide-49
SLIDE 49

Using variable step size

S S S S S S S D S S S S S S S D S S With variable sampling time, we can focus on the regions of interest while reducing the size of the optimization problem.

slide-50
SLIDE 50

Using variable step size

S S S S S S S D S S S S S S S D S S With variable sampling time, we can focus on the regions of interest while reducing the size of the optimization problem.

slide-51
SLIDE 51

Using variable step size

S S S S S S S D S S S S S S S D S S With variable sampling time, we can focus on the regions of interest while reducing the size of the optimization problem.

slide-52
SLIDE 52

Using variable step size

S S S S S S S D S S S S S S S D S S With variable sampling time, we can focus on the regions of interest while reducing the size of the optimization problem.

slide-53
SLIDE 53

Using variable step size

S S S S S S S D S S S S S S S D S S With variable sampling time, we can focus on the regions of interest while reducing the size of the optimization problem.

slide-54
SLIDE 54

Using variable step size

S S S S S S S D S S S S S S S D S S With variable sampling time, we can focus on the regions of interest while reducing the size of the optimization problem.

slide-55
SLIDE 55

One cycle

S S S S S S S D S S S S S S S D S S

slide-56
SLIDE 56

One cycle

S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S

slide-57
SLIDE 57

One cycle

S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S

slide-58
SLIDE 58

One cycle

S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S

slide-59
SLIDE 59

One cycle

S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S

slide-60
SLIDE 60

One cycle

S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S

slide-61
SLIDE 61

One cycle

S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S D

slide-62
SLIDE 62

One cycle

S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S D D S S S S S S S D S S S S S S S D S

slide-63
SLIDE 63

One cycle

S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S S S S S S D D S S S S S S S D S S S S S S S D S S S S S S S S D S S S S S S S D S S

slide-64
SLIDE 64

QP computation time for the cases with constant (150 states, red line) and variable sampling times (64 states, blue line).

slide-65
SLIDE 65

Conclusions

This article addresses the on-line implementation of MPC for walking pattern generation. I presented Development of a reliable guess for the active constraints at optimality. Utilization of variable sampling time for decreasing the size

  • f the optimal problem.

Additional issues addressed in the paper Develop a feasible initial point (with respect to the constraints). Useful for primal QP solvers. Addresses issues related to difference between preview sampling time and control sampling time.

slide-66
SLIDE 66

Preliminaries Background Computational issues Conclusions

Thank you

Dimitrov, Wieber, Ferreau, Diehl On the Implementation of Model Predictive Control for On-line W