Research Collection
Master Thesis
Robust Adaptive Model Predictive Control of Quadrotors
Author(s):
Didier, Alexandre Publication Date:
2020-08
Permanent Link:
https://doi.org/10.3929/ethz-b-000455248
Rights / License:
In Copyright - Non-Commercial Use Permitted
This page was generated automatically upon download from the ETH Zurich Research Collection. For more information please consult the Terms of use.
ETH Library
Robust Adaptive Model
Predictive Control of Quadrotors
Master’s Thesis
Automatic Control Laboratory
Swiss Federal Institute of Technology (ETH) Zurich
Supervision Anil Parsi Jeremy Coulson Prof. Dr. Roy Smith
August 2020
Abstract
Robust Adaptive Model Predictive Control is a novel control method that combines robustness guarantees with respect to unknown parameters and bounded disturbances into a Model Predictive Control scheme. Given prior information on the parameters, a set of possible parameters is improved online using Set-Membership Estimation while state and input constraint satisfaction is guaranteed robustly. In this thesis, we compare three Robust Adaptive Model Predictive Control methods based on their performance, conservatism and computational efficiency. We then run simulations of a quadrotor flight with a direct and decoupled control architecture in different scenarios. These scenarios include an unknown mass of the quadrotor as a package delivery scenario, wind as a bounded disturbance or constant force acting on the quadrotor, single rotor failure and all rotor efficiency drop as a power delivery problem. Lastly, we test Robust Adaptive Model Predictive Control on a real quadrotor.
Keywords: Robust Control, Adaptive Control, Model Predictive Control, Quadrotors.
i
Contents
1 Introduction 1
2 Robust Adaptive Model Predictive Control 3
2.1 Problem Formulation . . . 3
2.2 Set-Membership Identification . . . 4
2.3 Tube Model Predictive Control . . . 6
2.4 Cost Function and Point Estimator . . . 8
2.5 Homothetic Tube Method . . . 9
2.6 Lambda-Contractive Polytope . . . 16
2.7 Flexible Tubes . . . 18
2.8 Efficient Homothetic Tubes . . . 25
2.9 Noise in Set-Membership Estimation . . . 28
2.10 Uncertain Steady-state input . . . 30
3 Simulations 33 3.1 Quadrotor Dynamics . . . 33
3.2 Unknown Mass . . . 34
3.3 Constant Wind . . . 39
3.4 Single Rotor Failure . . . 39
3.5 Power Delivery Failure . . . 41
4 Practical Implementation 45 4.1 Setup . . . 45
4.2 Practical Issues . . . 46
4.3 Unknown Mass Experiment . . . 46
4.4 Power Delivery Failure . . . 46
5 Conclusion 49
A Online Optimisation 51
Bibliography 55
iii
Chapter 1
Introduction
Model Predictive Control is an optimisation based control scheme, which guarantees state and input constraint satisfaction at every time step for a discrete time, nominal system. Robust Model Predictive Control integrates robustness guarantees with respect to bounded disturbances and parametric uncertainties in the dynamics into the optimisation problem. In this thesis, we compare three different methods of Robust Adaptive Model Predictive Control (RAMPC), as seen in [1], [2]
and [3]. RAMPC is a novel control method, which combines the robustness guarantees with respect to uncertain parameters and bounded disturbances with online identification of the uncertain parameter in order to improve performance. The novel RAMPC schemes have only been applied to theoretical models and no examples with practical problems like noise were considered. The goal of this thesis is to implement RAMPC on a real quadrotor in order to robustly guarantee a safe flight while achieving good performance.
As an identification method, Set-Membership estimation is used, which intersects the current set of estimates of the parameters with the possible parameters given the system evolution at every time step. This method guarantees that the real parameter will always be within the set of estimates, if it is contained in the prior set of estimates. As this method guarantees consistency for the parameter estimation, it is well suited to give robustness guarantees with respect to this parameter. The three RAMPC methods we consider have different approaches in order to guarantee that state and input constraints on the system will not be violated. As they all vary in terms of conservatism and computational efficiency, we will compare the three methods in a quadrotor flight simulation.
Additionally, we propose solutions to practical problems, which may arise in the application of these control schemes, notably a steady-state input depending on the uncertain parameter and measurement noise. We give both theoretical guarantees which allow to resolve these issues, as well as heuristics which showed good performance during a practical implementation.
In order to show the effectiveness of RAMPC, we test it in different scenarios on the quadrotor. The first scenario, which is used to compare all three methods involves an uncertain quadrotor mass as part of a package delivery scenario. If the mass of the package the drone is delivering is unknown, it may lead to an unsafe flight resulting in a crash of the quadrotor. We thus compare how well RAMPC can cope with such an uncertainty. An uncertain mass is presumed in all experiments. In a second scenario, an unknown wind force is acting on the quadrotor. Wind is a common factor during an outdoors quadrotor flight and has been considered in papers such as [4] and [5]. Finally we consider a loss of efficiency in a single rotor as a failure as well as a loss of efficiency in all rotors as a power delivery problem, as seen in [6] and [7]. These scenarios are evaluated for a direct thrust control of the quadrotor and some on a decoupled control method and are then implemented on a real quadrotor.
The report is structured as follows. Chapter 2 contains a description of the three RAMPC methods we compare including a description of the Set-Membership estimation and a discussion on practical
1
implementation issues and their solutions. In Chapter 3, we show the results of simulations of different quadrotor flight scenarios and in Chapter 4 we discuss the results of the tests on the real quadrotor.
Notation.The set of integers t1, . . . , nu is given as Nn1, the set of positive reals is R°0 and the n-dimensional set of reals is Rn. A positive semi-definite matrix A fulfils A © 0 and A © B is equivalent toA´B ©0, whereas a matrix whose entries are all non-negative is denoted asA•0.
Thei-th row of the matrixAis given asrAsiand thei-th entry of the vectorbasrbsi. The diagonal matrix with entriesa, b, c on its main diagonal is denoted asA“diagpa, b, cqand the convex hull of a set A is defined as copAq. The identity matrix is denoted as I and 1is the vector of ones.
The Euclidean norm ofb is is given byÎbÎ andÎxÎ2A“xTAx.A‘B denotes the Minkowski set addition.
Chapter 2
Robust Adaptive Model Predictive Control
In this chapter, three different, novel methods of Robust Adaptive Model Predictive Control are presented and compared with respect to theoretical guarantees, conservatism and performance.
Robust Adaptive Model Predictive Control aims to achieve good performance by using online identification of uncertain parameters while integrating robustness guarantees with respect to these bounded parametric uncertainties and a bounded disturbance into the Model Predictive Control scheme. Firstly a description of how these different methods operate in general is given, by making use of the notation in [1], followed by a detailed description of each method.
2.1 Problem Formulation
Consider linear, discrete time, parameter dependent dynamics with an additive disturbance xk`1“Ap◊qxk`Bp◊quk`wk, (2.1) with the state vectorxkPRn, the disturbancewk PRn, the input vectorukPRm and the uncer- tain parameter◊PRp, whose true value is ◊“◊˚.
Assumption 1.
1. The disturbance wk is bounded by a convex polytope
wkPW“ twPRn|Hww§hwu, (2.2) withHwPRnwˆn andhwPRnw.
2. The system matrices Ap◊q and Bp◊q depend affinely on the parameter vector ◊ P Rp, such that
pAp◊q, Bp◊qq “ pA0, B0q ` ÿp
i“1pAi, Biqr◊si. (2.3) 3. The uncertain parameters◊ are bounded in a convex polytope
◊P 0“ t◊PRp|H◊◊§h◊u, (2.4) which is known and contains the true parameter vector◊˚, which is unknown.
3
The states and inputs are constrained using polytopic state and input constraints
pxk, ukq PZ“ tpx, uq PRnˆRm|F x`Gu§1u, (2.5) withFPRnzˆn andGPRnzˆm.
2.2 Set-Membership Identification
Set-Membership Identification, as presented e.g. in [1], is a parameter identification method, which recursively updates a set of possible parameters that is guaranteed to contain the true parameter.
Given state measurements, the previous input and the bounded disturbance set W, the goal is to identify the uncertain parameter vector ◊ online in order to achieve a better performance as our estimate improves. The Robust Adaptive Model Predictive Control methods presented in [1], [2] and [3] make use of Set-Membership Identification in order to guarantee robustness. The identification method relies on a prior known uncertainty set , which contains the true parameter
◊˚ and recursively updates the set of parameter estimates while guaranteeing consistency, i.e. the true parameter◊˚P k,@k•0.
In order to compute this recursive update, the following helper functions are introduced:
Dk“Dpxk, ukq “ rA1xk`B1uk, A2xk`B2uk, . . . , Apxk`Bpuksand (2.6) dk “dpxk, xk´1, uk´1q “A0xk´1`B0uk´1´xk, (2.7) which are affine in pxk, ukq.
At every time stepk, the set of possible parameters that explains how the system evolved given the unknown, bounded disturbance can now be computed. This set of parameters k, called the non-falsified parameter set, is given as
k“ t◊PRp|xk´ pAp◊qxk´1`Bp◊quk´1q PWu
“ t◊PRp|Hwpxk´ pAp◊qxk´1`Bp◊quk´1qq§hwu (2.8)
“ t◊PRp| ´HwDk´1◊§hw`Hwdku. The recursive update is then given by
k “ k´1X k, (2.9)
as illustrated in Figure 2.1.
This identification scheme leads to a consistent method for the parameter estimation and k, as the intersection of two convex polytopes remains a convex polytope.
Lemma 1. ( [1])
The set k is a convex, polytopic set explicitly given in half-space form
k “ t◊PRp|H◊k◊§h◊ku, (2.10) withH◊k PRn◊ˆp andh◊kPRn◊,@kPN. Furthermore ◊˚P k and k`1Ñ k,@kPN.
It should be noted that by recursively taking intersections of past parameter sets, the complexity of this set and therefore the RAMPC scheme will increase at potentially every time step. Instead, the matrixH◊k can be set constant asH◊ and the vectorh◊k can be updated at every time step.
This leads to a polytope where the directions of the facets are fixed and only their position in the parameter space is updated. In order to guarantee consistency,h◊k needs to be chosen in a way such that
k Ö k´1X k. (2.11)
0.8 1 1.2 1.4 1.6 1.8 2 2.2 1
1 1.2 1.4 1.6 1.8 2 2.2 2.4
2
k-1 k k
Figure 2.1: Illustration of Set-Membership Identification. At every time step k, the new set of estimates k is computed through the intersection of the previous set of estimates k´1 and the non-falsified parameter set k.
This can be achieved by solving the following linear program:
hPRn◊,minPRn◊ˆpw1Th s.t. „
H◊
´HwDk
⇢
“H◊, (2.12)
„ h◊k
hw`Hwdk`1
⇢
§h,
•0,
withpw“n◊`nw. The update (2.11) is illustrated in Figure 2.2. The LP (2.12) follows from the following Lemma from [8].
Lemma 2. ( [8])
Let P1 “ txPRn|H1x§h1u andP2 “ txPRn|H2x§h2u, withH1 PRn1ˆn, H2 PRn2ˆn, f1P Rn1 andf2PRn2. ThenP1ÑP2 if and only if there exists PRn2ˆn1 such that
H1“H2,
h1§h2, (2.13)
•0.
Proof. Assume P1ÑP2. Then, by denoting the i-th row ofH2 asrH2si, it holds @ithat
µi“maxrH2six (2.14)
s.t.H1x§h1.
whereµi§rh2si. The dual of the LP (2.14) is given by µi“ min
⁄PR1ˆn1⁄h1
s.t.⁄H1“ rH2si, (2.15)
ڥ0.
The matrix in (2.13) can be constructed by setting thei-th row of to ⁄i. Conversly, assume that exists such that (2.13) is satisfied, then@xPP1it holds that
H2x“ H1x§ h1§h2.
0.8 1 1.2 1.4 1.6 1.8 2 2.2
1 1
1.2 1.4 1.6 1.8 2 2.2 2.4
2
Figure 2.2: Illustration of bounded complexity Set-Membership Identification. The set of estimates
k has a fixed number of hyperplanes which are moved along their normal according to (2.12).
2.3 Tube Model Predictive Control
In order to guarantee robustness with respect to the bounded disturbancewk and the uncertain parameters◊, a state tubetXl|kulPNN0 is introduced at time step k for the predicted time stepsl.
This tube consists ofN`1predicted polytopesXl|kÄRn in the state space at time stepk, where N is the time horizon of the RAMPC scheme. If at each predicted time stepl|k, it is ensured that the states are inside of the polytopeXl|k for allwPWand◊P k, then robustness is guaranteed if the states inside of these polytopes do not violate the state constraints and the computed inputs do not violate the input constraints. This can thus be reduced to the following constraints that must to hold@lPNN0
X0|kQxk, (2.16a)
Xl`1|kQAp◊qx`Bp◊qul|kpxq `w, @xPXl|k, wPW,◊P k, (2.16b)
px, ul|kpxqq PZ, @xPXl|k, (2.16c)
for some input mappingul|k :RnÑRm. The first polytope of the tube is initialised such that the current state measurement lies inside the first polytope, as described in (2.16a). The state then propagates at every predicted time step according to the system dynamics. If for every possible disturbance and uncertain parameter any statexin a polytopeXl|k propagates into the polytope at the next predicted time stepXl`1|k, as stated in (2.16b), and all the states and mapped inputs in these polytopes fulfil the state and input constraints (2.16c), then the constraints of the system will not be violated.
Finally, in order to guarantee recursive feasibility of the scheme, the following terminal constraint is applied on the final polytope of the tubeXN|k:
XN|kÑXf, (2.17)
whereXf is a terminal set. This terminal set will be presented more in detail for each of the three methods that are being comparing in their respective section.
The three RAMPC schemes use an input parametrisationul|kpxq “Kx`vl|k, with a prestabilising feedback matrixK PRmˆn and the decision variablestvl|kulPNN´10 , wherevl|k PRm. The presta- bilisation matrixK needs to fulfil the following assumption.
Assumption 2. The feedback gain K is chosen such that Aclp◊q “Ap◊q `Bp◊qK is stable for all
◊P 0 and it holds that
Aclp◊qTP Aclp◊q `Q`KTRK©P, @◊P 0, (2.18) whereQPRnˆn, RPRmˆmand P PRnˆn are positive definite cost matrices of the cost function defined in Section 2.4.
A prestabilisation feedback matrix is used in order to prove robust constraint satisfaction. In order to find a prestabilisation matrixK and terminal costP which fulfil Assumption 2, it is necessary and sufficient to designK andP such that they hold at the vertices of 0.
Lemma 3. Given a feedback matrix K and terminal cost matrix P, Assumption 2 holds for all
◊P if and only if they hold for all vertices◊j of 0, where jPNn1v,◊.
Proof. Assume Assumption 2 holds for all vertices of . It follows that Aclp◊jq is stable for all jPN1nv,◊ and thus the maximal singular value‡¯pAclp◊jqq†1. It then holds that for alljPNn1v,◊
¯
‡pAclp◊jqq†1 ôAclp◊jqAclp◊jqT ®I ôI´Aclp◊jqI´1Aclp◊jqT ©0 ô
« I Aclp◊jq Aclp◊jqT I
ff
©0 ôA˜p◊jq©0.
where Schur’s complement from [9] is used in the third equivalence. As the condition (2.3) is convex in◊j, the convex hull property can be used to show it holds for all ◊P . Consider–j°0where
∞
j–j “1. As A˜p◊jq ©0, it follows that–jA˜p◊jq©0 and ∞
j–jA˜p◊jq©0. Thus for all◊ P 0, Aclp◊qis stable. Conversely,◊j P 0, so ifAclp◊qis stable for all◊P 0it also holds for the vertices
◊j. The proof for (2.18) is analogous as Schur’s complement is used directly on (2.18).
In order to find a prestabilisation matrix K and terminal cost P that fulfil Assumption 2, the following semi-definite program, which computes the largest ellipsoidtx P Rn|xTP x § 1u such that the conditions onP andKare fulfilled and is given in [3], can be solved:
minX,Y ´log detpXq
s.t.
¨
˚˚
˚˝
X pAp◊jqX`Bp◊jqYqT Q0.5X YTR
¨ X 0 0
¨ ¨ I 0
¨ ¨ ¨ I
˛
‹‹
‹‚©0, (2.19)
ˆ1 rFsiX` rGsiY
¨ X
˙
©0,
whereP “X´1 andK“Y P and¨represents symmetric matrix entries.
2.4 Cost Function and Point Estimator
At each time step k, a cost function Jpxk,◊ˆk,uN|kq, which depends on the current state mea- surement xk, a point estimator of the uncertain parameters ◊ˆk and sequence of future inputs uN|k “ tul|kulPNN0´1, is minimised. This point estimate◊ˆis chosen as a least mean squares estimate of the true parameter◊˚ and is updated◊ˆk recursively using the update formula
◊˜k“◊ˆk´1`µDkT´1pxk´ pAp◊ˆk´1qxk´1`Bp◊ˆk´1quk´1qq, (2.20)
◊ˆk “ kp◊˜kq, (2.21)
where kp¨q denotes the projection onto the set k and µ is a constant filter parameter. If the conditionµ1 °suppx,uqPZÎDpx, uqÎ2is satisfied, the following Lemma proves that the stability guar- antee for the scheme can be derived.
Lemma 4. ( [1]) If supkPNÎxkÎ †8, supkPNÎukÎ †8, and µ1 °suppx,uqPZÎDpx, uqÎ2 then the parameter estimate◊ˆk is bounded, in accordance with the prior parameter set, i.e.◊ˆk P 0, and
sup
mPN,wkPW,◊ˆ0P 0
∞m
k“0
.. .x˜1|k
.. .2
1 µ
..
.◊ˆ0´◊˚...2`∞m
k“0ÎwkÎ2 §1, with the prediction errorx˜1|k “Ap◊˚qxk`Bp◊˚quk´ pAp◊ˆkqxk`Bp◊ˆkqukq.
Proof. As◊ˆk is the projection of (2.20) onto k, which is a convex polytope according to Lemma 1,◊ˆk is bounded at every time step. The bound on the prediction error arrises as follows:
1 µ ..
.◊ˆk`1´◊˚...2´1 µ ..
.◊ˆk´◊˚...
§1 µ ..
.◊˜k`1´◊˚...2´1 µ ..
.◊ˆk´◊˚...2
“1 µ ..
.◊˜k`1´◊ˆk
.. .2`2
µp◊˜k`1´◊ˆkqTp◊ˆk´◊˚qq
“1 µ ..
.µDTkpx˜1|k`wkq...2`2px˜1|k`wkqTDkp◊ˆk´◊˚q
§pµÎDkÎ2´1q...x˜1|k`wk
..
.2´...x˜1|k
..
.2`ÎwkÎ2
§´...x˜1|k
..
.2`ÎwkÎ2.
The first inequality follows from (2.21). As ◊˜k`1 is projected onto k`1, its distance from the true parameter will be greater or equal than the distance of the projection. The first equality follows from expanding the norm terms and the second equality follows from the definition of the prediction error in Lemma 4 and (2.20). Completing the squares and the bound on µ1 yield the last two inequalities. By summing the inequality overk, the given bound is achieved.
It is thus possible to bound the magnitude of the prediction error with respect to the initial error of the parameter estimate and the total magnitude of the disturbance. If the total disturbance is bounded over time, then the magnitude of the prediction error is upper bounded by a constant and thus converges to0with time.
Corollary 1. If supkPNÎxkÎ † 8, supkPNÎukÎ † 8 and ∞8
k“0ÎwkÎ2 † 8, then the prediction error converges to0 asymptotically, i.e. limkÑ8
.. .x˜1|k
.. .“0.
Given the point estimate of the uncertain parameter◊, the cost function is defined asˆ JNpxk,◊ˆk,uN|kq “
Nÿ´1 l“0
.. .xˆl|k
.. .2
Q`...uˆl|k
.. .2
R`...xˆN|k
.. .2
P, (2.22)
whereQPRnˆn, RPRmˆm are positive definite cost matrices,P PRnˆn represents the positive definite terminal cost. The state estimatexˆl|k is defined recursively as
ˆ
xl`1|k “Ap◊ˆkqxˆl|k`Bp◊ˆkquˆl|k, withxˆ0|k “xk. (2.23) Another cost function that can be implemented is a min-max cost function as mentioned in [1] and used in [2]. Here, a point estimator◊ˆis not used, but instead optimise over the worst case states and input with respect to k andW. The cost function can be formulated as follows
xkPXmaxk,k“0,1,...
ÿ8
k“0pmaxtQxku `maxtRukuq, (2.24) wheremaxt¨udenotes the maximum element ofp¨qand whereQPRnQˆnandRPRnRˆmare such thatmaxtQxuandmaxtRuuare positive definite functions ofxanduso thattxPRn :Qx§1u and tu PRm|Ru§ 1u are compact polytopic sets. However, this cost function does not lead to a bound on the prediction error as with the quadratic cost function, but rather to an asymptotic upper bound on the worst caselimkÑ8maxtQxkuandlimkÑ8maxtRukuthat depends on the size ofW. In order to compare the three different methods, the quadratic cost function is used due to the bound on the prediction error based on the total disturbance that actually acts on the system, but a more detailed description of the min-max cost function and asymptotic bound is given in Section 2.7.
2.5 Homothetic Tube Method
In this section, the method described in [1] is presented in detail. The polytopes used to construct the tube are translations and dilations of a polytope X0 “ tx P Rn|Hxx § 1u which can be rewritten as the convex hullX0“cotx1, . . . , xnv,xuof its verticesxj, withjPNn1v,x. The polytopes Xl|k can thus be written as
Xl|k “ tzl|ku ‘–l|kX0
“ txPRn|Hxpx´zl|kq§–l|k1u (2.25)
“ tzl|ku ‘–l|kcotx1, . . . , xnv,xu,
wherezN|k “ tzl|kulPNN0 and –N|k“ t–l|kulPNN0 are decision variables for the translation and dila- tion of the polytopes, respectively. This homothetic formulation for the polytopes allows using the half-space as well as the vertex representation of the polytopesXl|kin the state space. Additionally, it allows to rewrite the constraints (2.16) into a linear form with respect to the decision variables zN|k,–N|k andvN|k. Before the linear constraints are stated, some terms for ease of notation are introduced. Let
djl|k “A0xjl|k`B0ujl|k´zl`1|k, (2.26)
Dl|kj “Dpxjl|k, ujl|kq, (2.27)
withxjl|k“zl|k`–l|kxj andujl|k“ul|kpxjl|kq. (2.28) Additionally, let
rw˜si“max
wPWrHxsiw, @iPNn1x, (2.29) rcsi “max
xPX0rF`GKsix, @iPNn1z. (2.30) Proposition 1.( [1])LettXl|kulPNN0 be parametrized as in(2.25)with decision variableszN|k,–N|k
and vN|k. Equations (2.16a)-(2.16c) are satisfied if and only if for all j PNn0v,x, l P NN0´1 there exists jl|k PRnxˆn◊ such that
pF`GKqzl|k`Gvl|k`–l|kc§1, (2.31a)
´Hxz0|k´–0|k1§´Hxxk, (2.31b)
j
l|kh◊k`Hxdjl|k´–l`1|k1§´w,˜ (2.31c)
HxDjl|k “ jl|kH◊k, (2.31d)
j
l|k •0. (2.31e)
Proof. The constraint (2.16c) can be written as
px, ul|kpxqq PZ, @xPXl|k
ôF x`Gul|kpxq§1, @xPXl|k
ôFpzl|k`–l|kxq `GpKpzl|k`–l|kxq `vl|kq§1, @xPX0
ôpF`GKqzl|k`Gvl|k`–l|kpF`GKqx§1, @xPX0
ôpF`GKqzl|k`Gvl|k`–l|kc§1.
Constraint (2.16a) can be reformulated as xkPX0
ôxP tz0|ku ‘–0|kX0
ôHxpxk´z0|kq§–0|k1 ô ´Hxz0|k´–0|k1§´Hxxk. Finally, rewrite (2.16b) as
Ap◊qx`Bp◊qul|kpxq `wk PXl`1|k, @xPXl|k,◊P k, wk PW ôAclp◊qXl|k‘Bp◊qvl|k‘WÑXl`1|k, @◊P k
ôHxpAclp◊qx`Bp◊qvl|k`wk´zl`1|kq§–l`1|k1, @xPXl|k,◊P k, wk PW
ôHxpAclp◊qpzl|k`–l|kxq `Bp◊qvl|k´zl`1|kq ´–l`1|k1§´Hxw, @xPX0,◊P k, wk PW ôHxpAclp◊qpzl|k`–l|kxjq `Bp◊qvl|k´zl`1|kq ´–l`1|k1§´max
wPWHxw, @◊P k,@jPNn1v,x
ômax
◊P k
!HxpAclp◊qpzl|k`–l|kxjq `Bp◊qvl|kq)
´Hxzl`1|k´–l`1|k1§´w,˜ @jPNn1v,x
ômax
◊P k
# Hx
ÿp i“1
Air◊sixj`Hx
ÿp i“1
Bir◊sipKxj`vl|kq +
`HxpA0xj`B0pKxj`vl|kq ´zl`1|kq ´–l`1|k1§´w,˜ @j PNn1v,x
ômax
◊P k
´HxDjl|k◊¯
`Hxdjl|k–l`1|k1§w,˜ @jPNn1v,x
ô
$’
’&
’’
%
j
l|kh◊k`Hxdjl|k´–l`1|k1§´w˜ HxDjl|k “ jl|kH◊k
j l|k•0
,/ /. // -
, @jPNn1v,x,
wheremaxt¨udenotes the row-wise maximisation and the last equivalence arises from the dual of the maximisation over◊. For each row iof the maximisation, it can be shown that
max◊P k
!rHxsiDlj|k◊)
“min
⁄i
max◊P k
!rHxsiDjl|k◊`⁄Tiph◊k´H◊k◊q) s.t.⁄i •0
“min
⁄i
⁄Ti h◊k
s.t.rHxsiDlj|k´⁄TiH◊k “0,
⁄i•0.
By combining all the rows for the dual conditions, the final formulation for the tube inclusion constraints is achieved.
At this point, it should be noted that by using the dual formulation of the maximisation, a large number of decision variables are added through the elements of jl|k. In fact, the number of decision variables for only the dual variables isnx˚nv,x˚n◊˚N, i.e. the number of halfspaces ofX0times the number of vertices ofX0 times the number of halfspaces of times the number of time step.
Additionally to the high number of decision variables, by using the dual formulation for the tube inclusion constraint, 3˚ nx˚nv,x˚N constraints are used. Due to the increase in complexity of polytopes in higher dimensions, it seems that this method will not be suitable for a practical application on a quadrotor, which has 12 states. This computational complexity issue is considered in [2] and [3] by using stronger assumptions onX0 and computing more terms in the optimisation problem offline, which however leads to more conservatism.
As the constraints (2.16) have now been presented in a linear form with respect to all the decision variables, the terminal constraint (2.17) is considered. First, the existence of a non-empty terminal set is assumed, as in [1], such that recursive feasibility can be proved for the RAMPC scheme.
Assumption 3.
There exists a nonempty terminal set Xf “ tpz,–q P Rn ˆR•0|HTz `hT– § 1u such that px, Kxq PZfor all xP tzu ‘X0,pz,–q PXf and for all ◊P it holds that
pz,–q PXf
ñDpz`,–`q PXf s.t.Aclp◊qptzu ‘–X0q ‘WÑtz`u ‘–`X0.
Thus the terminal set needs to guarantee that for any translation and dilationz and –of X0 in this set, there exists a translation and dilationz`and–`in the terminal set such that the state at the next time step is within this transformation ofX0, while fulfilling state and input constraints.
The terminal constraint in term of our decision variables is then of the form
pzN|k,–N|kq PXf. (2.32)
In order to find a terminal set which fulfils Assumption 3, a recursive algorithm can be used, as is described in [1]. Firstly, initializeX0f as the translations and dilations which satisfy the state and input constraints, i.e.
X0f “ tpz,–q PRnˆR•0|pF`GKqz`–c§1u, (2.33) and then recursively update this set according to
Xif`1“
$&
%pz,–q PRnˆR•0
ˇˇ ˇˇ ˇ
Dpz`,–`q PXif
s.t.Aclp◊qptzu ‘–X0q ‘WÑtz`u ‘–`X0, @◊P ,.
-XX0f. (2.34) This recursion can be computed by using the vertices◊jof 0, wherer¯hjxsi“maxxPX0rHxsiAclp◊jqx, in the following update formulation
X˜if`1“
$&
%pz,–, z`,–`q ˇˇ ˇˇ ˇ
pz,–q PX0f,pz`,–`q PXif
HxpAclp◊jqz´z`q `¯hjx–´1–`§´w,˜ @j PNn1v,◊
,. -
“
$’
’’
’’
’&
’’
’’
’’
%
pz,–, z`,–`q ˇˇ ˇˇ ˇ
»
——
——
—— –
pF`GKq c 0 0 0 0 HTi hiT HxAclp◊1q ¯h1x ´Hx ´1
... ... ... ...
HxAclp◊pq ¯hpx ´Hx ´1 fi ffiffi ffiffi ffiffi fl
»
—— –
z – z` –`
fi ffiffi fl§
»
——
——
—— –
1 hif
´w˜ ...
´w˜ fi ffiffi ffiffi ffiffi fl
,/ // // /. // // // -
, (2.35)
whereXif “ tpz,–q|HTiz`hiT–§hifu. By projectingX˜if`1 onto the firstn`1dimensions,Xif`1is obtained. This projection has a high computational cost and the translations can therefore be set to0in order to compute a set of dilations for which Assumption 3 holds.
To finish offthis section, the full optimisation problem that is solved is presented and it is shown that this method is recursively feasible, consistent, robustly guarantees state and input constraint satisfaction and that the system is finite gain¸2-stable by using this Robust Adaptive Model Pre- dictive Control scheme. GivendN|k “ tzN|k,–N|k,vN|k, N|kuwith N|k “ t jl|kujPNnv,x1 ,lPNN´10 , at every time step after measuring the statexk and updating kand◊ˆk, the following optimisation problem is solved:
mindN|k Nÿ´1
l“0
.. .xˆl|k
..
.2Q`...uˆl|k
..
.2R`...xˆN|k
.. .2P s.t.@jPNn1v,x, lPNN0´1,
ˆ
x0|k “xk,
pF`GKqzl|k`Gvl|k`–l|kc§1,
´Hxz0|k´–0|k1§´Hxxk,
j
l|kh◊k`Hxdjl|k´–l`1|k1§´w,˜ (2.36) HxDjl|k“ jl|kH◊k,
j l|k •0, ˆ
xl`1|k “Ap◊ˆqxˆl|k`Bp◊ˆquˆl|k, ˆ
ul|k “Kxˆl|k`vl|k, pzN|k,–N|kq PXf.