Beruflich Dokumente
Kultur Dokumente
ACADO Toolkit
Part 1:
Scope of ACADO Toolkit
An Optimal Control Tutorial Example
(with Software Demo)
Algorithms and Modules in ACADO
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Overview
Part 1:
Scope of ACADO Toolkit
An Optimal Control Tutorial Example
(with Software Demo)
Algorithms and Modules in ACADO
Part 2:
A Parameter Estimation Tutorial Example
A Simple Model Predictive Control Simulation
(with Software Demo)
Outlook
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Overview
Part 1:
Scope of ACADO Toolkit
An Optimal Control Tutorial Example
(with Software Demo)
Algorithms and Modules in ACADO
Part 2:
A Parameter Estimation Tutorial Example
A Simple Model Predictive Control Simulation
(with Software Demo)
Outlook
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Motivation: Optimal Control and Engineering Applications
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Motivation: Optimal Control and Engineering Applications
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Motivation: Optimal Control and Engineering Applications
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Motivation for ACADO Toolkit
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Motivation for ACADO Toolkit
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Problem Classes and the Scope of ACADO
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Problem Classes and the Scope of ACADO
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Problem Classes and the Scope of ACADO
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Overview
Part 1:
Scope of ACADO Toolkit
An Optimal Control Tutorial Example
(with Software Demo)
Algorithms and Modules in ACADO
Part 2:
A Parameter Estimation Tutorial Example
A Simple Model Predictive Control Simulation
(with Software Demo)
Outlook
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
A tutorial example: time optimal control of a rocket
s (t) = v (t)
v (t) = u(t) 0.2 v (t)2 /m(t)
m(t) = 0.01 u(t)2 .
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
A tutorial example: time optimal control of a rocket
s (t) = v (t)
v (t) = u(t) 0.2 v (t)2 /m(t)
m(t) = 0.01 u(t)2 .
Aim:
Fly in mimimum time T from s(0) = 0 to s(T ) = 10.
Start/land at rest: v (0) = 0, v (T ) = 0.
Start with m(0) = 1 and satisfy v (t) 1.7.
Satisfy control constraints: 1.1 u(t) 1.1.
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
A tutorial example: time optimal control of a rocket
Mathematical Formulation:
minimize T
s(),v (),m(),u()
subject to
s (t) = v (t)
v (t)2
v (t) = u(t)0.2
m(t)
m(t) = 0.01 u(t)2
s(0) = 0 s(T ) = 10
v (0) = 0 v (T ) = 0
m(0) = 1
0.1 v (t) 1.7
1.1 u(t) 1.1
5 T 15
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
A tutorial example: time optimal control of a rocket
DifferentialState s,v,m;
Mathematical Formulation: Control u;
Parameter T;
DifferentialEquation f( 0.0, T );
minimize T OCP ocp( 0.0, T );
s(),v (),m(),u()
ocp.minimizeMayerTerm( T );
subject to
s (t) = v (t)
v (t)2
v (t) = u(t)0.2
m(t)
m(t) = 0.01 u(t)2
s(0) = 0 s(T ) = 10
v (0) = 0 v (T ) = 0
m(0) = 1
0.1 v (t) 1.7
1.1 u(t) 1.1
5 T 15
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
A tutorial example: time optimal control of a rocket
DifferentialState s,v,m;
Mathematical Formulation: Control u;
Parameter T;
DifferentialEquation f( 0.0, T );
minimize T OCP ocp( 0.0, T );
s(),v (),m(),u()
ocp.minimizeMayerTerm( T );
subject to
f << dot(s) == v;
f << dot(v) == (u-0.2*v*v)/m;
s (t) = v (t) f << dot(m) == -0.01*u*u;
v (t)2
v (t) = u(t)0.2
m(t)
ocp.subjectTo( f );
m(t) = 0.01 u(t)2
s(0) = 0 s(T ) = 10
v (0) = 0 v (T ) = 0
m(0) = 1
0.1 v (t) 1.7
1.1 u(t) 1.1
5 T 15
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
A tutorial example: time optimal control of a rocket
DifferentialState s,v,m;
Mathematical Formulation: Control u;
Parameter T;
DifferentialEquation f( 0.0, T );
minimize T OCP ocp( 0.0, T );
s(),v (),m(),u()
ocp.minimizeMayerTerm( T );
subject to
f << dot(s) == v;
f << dot(v) == (u-0.2*v*v)/m;
s (t) = v (t) f << dot(m) == -0.01*u*u;
v (t)2
v (t) = u(t)0.2
m(t)
ocp.subjectTo( f );
m(t) = 0.01 u(t)2 ocp.subjectTo( AT START, s == 0.0 );
ocp.subjectTo( AT START, v == 0.0 );
ocp.subjectTo( AT START, m == 1.0 );
s(0) = 0 s(T ) = 10 ocp.subjectTo( AT END , s == 10.0 );
v (0) = 0 v (T ) = 0 ocp.subjectTo( AT END , v == 0.0 );
m(0) = 1
0.1 v (t) 1.7
1.1 u(t) 1.1
5 T 15
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
A tutorial example: time optimal control of a rocket
DifferentialState s,v,m;
Mathematical Formulation: Control u;
Parameter T;
DifferentialEquation f( 0.0, T );
minimize T OCP ocp( 0.0, T );
s(),v (),m(),u()
ocp.minimizeMayerTerm( T );
subject to
f << dot(s) == v;
f << dot(v) == (u-0.2*v*v)/m;
s (t) = v (t) f << dot(m) == -0.01*u*u;
v (t)2
v (t) = u(t)0.2
m(t)
ocp.subjectTo( f );
m(t) = 0.01 u(t)2 ocp.subjectTo( AT START, s == 0.0 );
ocp.subjectTo( AT START, v == 0.0 );
ocp.subjectTo( AT START, m == 1.0 );
s(0) = 0 s(T ) = 10 ocp.subjectTo( AT END , s == 10.0 );
v (0) = 0 v (T ) = 0 ocp.subjectTo( AT END , v == 0.0 );
m(0) = 1
ocp.subjectTo( -0.1 <= v <= 1.7 );
0.1 v (t) 1.7 ocp.subjectTo( -1.1 <= u <= 1.1 );
ocp.subjectTo( 5.0 <= T <= 15.0 );
1.1 u(t) 1.1 OptimizationAlgorithm algorithm(ocp);
5 T 15 algorithm.solve();
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
A tutorial example: time optimal control of a rocket
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Overview
Part 1:
Scope of ACADO Toolkit
An Optimal Control Tutorial Example
(with Software Demo)
Algorithms and Modules in ACADO
Part 2:
A Parameter Estimation Tutorial Example
A Simple Model Predictive Control Simulation
(with Software Demo)
Outlook
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
The Power of Symbolic Functions
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
The Power of Symbolic Functions
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Symbolic Functions
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Integration Algorithms
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Integration Algorithms
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Integration Algorithms
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Nonlinear Optimization Algorithms
subject to:
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Nonlinear Optimization Algorithms
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Nonlinear Optimization Algorithms
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Using ACADO Toolkit
for Parameter Estimation
and Model Predictive Control
Part 1:
Scope of ACADO Toolkit
An Optimal Control Tutorial Example
(with Software Demo)
Algorithms and Modules in ACADO
Part 2:
A Parameter Estimation Tutorial Example
A Simple Model Predictive Control Simulation
(with Software Demo)
Outlook
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Parameter Estimation with ACADO
subject to:
t [0, T ] :
x(t) = f (t, x(t), z(t), u(t), p)
t [0, T ] : 0 = g (t, x(t), z(t), u(t), p)
0 = r (x(0), z(0), x(T ), z(T ), p)
t [0, T ] : 0 s(t, x(t), z(t), u(t), p)
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Tutorial Example: A Simple Pendulum
g
(t) = (t) (t)
l
where l is the length of the line, the friction coefficient and
g the gravitational constant
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Tutorial Example: A Simple Pendulum
g
(t) = (t) (t)
l
where l is the length of the line, the friction coefficient and
g the gravitational constant
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Tutorial Example: A Simple Pendulum
Mathematical Formulation:
P10
minimize i =1 ((ti ) i )2
(),,l
subject to:
t [0, 2] :
(t)
= gl (t) (t)
04
0l 2
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Tutorial Example: A Simple Pendulum
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Tutorial Example: A Simple Pendulum
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Tutorial Example: A Simple Pendulum
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Parameter Estimation with ACADO
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Tutorial Example: A Simple Pendulum
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Overview
Part 1:
Scope of ACADO Toolkit
An Optimal Control Tutorial Example
(with Software Demo)
Algorithms and Modules in ACADO
Part 2:
A Parameter Estimation Tutorial Example
A Simple Model Predictive Control Simulation
(with Software Demo)
Outlook
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Simulation Environment of ACADO Toolkit
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Simulation Environment of ACADO Toolkit
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Simulation Environment of ACADO Toolkit
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Model Based Feedback Control
RT
minimize ky (t) yref (t)k2Q + ku(t) uref (t)k2R d
x(),z(),u(),p 0
+ ky (T ) yref (T )k2P
subject to:
x(0) = x0
t [0, T ] :
x(t) = f (t, x(t), z(t), u(t), p)
t [0, T ] : 0 = g (t, x(t), z(t), u(t), p)
t [0, T ] : y (t) = h(t, x(t), z(t), u(t), p)
t [0, T ] : 0 s(t, x(t), z(t), u(t), p)
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Model Based Feedback Control
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Model Based Feedback Control
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
A Simple MPC Simulation
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
A Simple MPC Simulation
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
A Simple MPC Simulation
Mathematical Formulation:
R1
minimize ky (t)k2Q d
xb ,xw ,vb ,vw ,F 0
subject to:
t [0, 1] : x b (t) = vb (t)
t [0, 1] : x w (t) = vw (t)
t [0, 1] : v b (t) = f1 (xb (t), xw (t), F (t))
t [0, 1] : v w (t) = f2 (xb (t), xw (t), F (t), R(t))
t [0, 1] : y (t) = (xb (t), xw (t), vb (t), vw (t))T
t [0, 1] : 500 u(t) 500
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
A Simple MPC Simulation
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
A Simple MPC Simulation
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
A Simple MPC Simulation
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
A Simple MPC Simulation
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
A Simple MPC Simulation
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
A Simple MPC Simulation
SimulationEnvironment sim(
0.0,3.0,process,controller );
Vector x0(4);
x0(0) = 0.01;
sim.init( x0 );
sim.run( );
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Overview
Part 1:
Scope of ACADO Toolkit
An Optimal Control Tutorial Example
(with Software Demo)
Algorithms and Modules in ACADO
Part 2:
A Parameter Estimation Tutorial Example
A Simple Model Predictive Control Simulation
(with Software Demo)
Outlook
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Outlook
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Outlook
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl
Outlook
ACADO Toolkit Introduction Boris Houska, Hans Joachim Ferreau, Moritz Diehl