Nonlinear Model Predictive Control of a Human-sized Quadrotor
Transcript of Nonlinear Model Predictive Control of a Human-sized Quadrotor
Nonlinear Model Predictive Control of a Human-sized Quadrotor
Andrea Zanelli1, Greg Horn2, Gianluca Frison1 and Moritz Diehl1
Abstract— This paper discusses the design, implementation anddeployment of an attitude controller for a quadrotor based onnonlinear model predictive control on a low-power embeddedsystem equipped with a Cortex A9 CPU running at 800MHz. Due to the limited computational power of the availablehardware, a modified interior-point solver for the so-calledpartially tightened Real-Time Iteration is used. The algorithmsplits the prediction horizon in two sections. A Riccati-likerecursion is exploited that relies on a single linearization of thecomplementarity conditions per sampling-time for the terminalsection. In this way, it is possible to achieve a speedup of a factor3 with respect to a standard real-time iteration formulationfor the application under consideration. Simulation resultsthat show the improvement in performance obtained by usingNMPC over standard control techniques are discussed andexperimental results using the proposed implementation arepresented.
I. INTRODUCTION
Nonlinear model predictive control (NMPC) is anoptimization-based control technique that allows oneto directly address several sources of complexity in theprocess of designing a controller. In particular, it providesa framework to design a controller in the presence ofnonlinear dynamics and constraints which can lead tosignificant performance improvements with respect toclassical control solutions. However, these advantages comeat the cost of a considerably increased computational effortneeded to compute the control law: at every samplingtime, a nonlinear nonconvex optimization problem has tobe solved that can result in prohibitive computation times,especially on low-power embedded systems.For this reason, NMPC has been historically used in appli-cations with relatively slow dynamics, where enough timeis available to compute the control inputs to be appliedto the plant [16]. In recent years, due to the considerableprogress made in algorithms and software implementationsand thanks to the increasing available computation poweron embedded platforms, applications with shorter samplingtimes could be realized. In [10] NMPC is used to control adiesel engine, while in [4] it is applied to a gasoline two-stage turbo charger. In both applications computation times
This research was supported by the EU via ERC-HIGHWIND (259 166),FP7-ITN-TEMPO (607 957) and H2020-ITN-AWESCO (642 682), by theFederal Ministry for Economic Affairs and Energy (BMWi) via eco4windand DyConPV, and by DFG via Research Unit FOR 2401.
1Andrea Zanelli, Gianluca Frison and Moritz Diehl are with theUniversity of Freiburg, Department of Microsystems Engineering(IMTEK), Georges-Koehler-Allee 102, 79110 Freiburg, Germany -andrea.zanelli, gianluca.frison, [email protected]
2Greg Horn is with Kitty Hawk Corporation, Mountain View, CA, USA- [email protected]
in the order of tens of milliseconds could be met.
A. Background and Contribution
Unmanned aerial vehicles (UAVs) are finding their way intoseveral application fields such as inspection, surveillanceand rescuing and are drawing considerable interest in thecontrol engineering community. Furthermore, a few appli-cations have emerged in which quadrotor- and multirotor-like systems are used as personal air vehicles [2], [3]. Dueto the highly nonlinear dynamics exhibited by quadrotors,the performance of linearization-based controllers can beaffected when the vehicles are operated far from the lin-earization point. Moreover, with classical control solutions,it is non-trivial to deal with constraints on states and inputs,when they are present. Although such approaches have beensuccessfully applied to the problem of controlling the attitudeof quadrotors (see [7], [18] to cite only few applications),NMPC could in principle provide a more direct approachin treating nonlinearity and constraints. In [13] an NMPCattitude controller for a multicopter that operates on therotation group SO(3) using the Real-Time Iteration (RTI)scheme [8] is proposed.In this paper, NMPC is used to design an attitude controllerfor a human-sized quadrotor equipped with a low-powerembedded processor running at 800 MHz. The designedcontroller is required to be able to compute the controlaction within 10 ms, while sparing enough CPU time forthe other routines running on the embedded platform tobe performed (e.g telemetry, logging, low-level controller,sensing and estimation, fault detection, etc). In order to meetthe required execution time a so-called partially tightenedformulation [20] is used that allows one to speed up thecomputations by exploiting a modified Riccati-based interior-point solver. The optimal control formulation (OCP) utilizesdynamics in quaternion form and a nonlinear least-squarescost that enables direct tracking of references in the Eulerangles space.The main purpose of the paper is, rather than building on topof state-of-the-art control techniques for UAVs, to show thatrecent advances in algorithms and software implementationsenable one to reduce the computational burden associatedwith optimization-based control techniques. In particular,applications can be tackled where short sampling times needto be met on resource constrained hardware. The paper isstructured as follows: in Section II preliminary concepts onNMPC and the RTI scheme are described. Section III intro-duces the algorithm used in the controller. Sections IV and Vpresent simulation and experimental results respectively andin Section VI conclusions and outlook are discussed.
II. PRELIMINARIES
A. Nonlinear Model Predictive Control
In order to use NMPC to control a system, one has to beable to efficiently solve nonlinear nonconvex optimal controlproblems. In this paper, the following nonlinear least-squaresformulation will be taken into account:
minx0,··· ,xN
u0,··· ,uN−1
1
2
N−1∑i=0
‖η(xi, ui)‖2W +1
2‖ηN (xN )‖2WN
s.t. x0 − x0 = 0
xi+1 = f(xi, ui), i = 0, · · · , N − 1
g(xi, ui) ≤ 0, i = 0, · · · , N − 1
gN (xN ) ≤ 0,
(1)
where xi ∈ Rnx and ui ∈ Rnu are the states and inputs ofthe system respectively and f , g, gN , η and ηN are twicecontinuously differentiable functions. The nonlinear residualfunctions η and ηN are weighted by W, WN 0 respectivelyand the initial state of the system is denoted by x0.In order to efficiently solve (1), among other approaches [14],SQP-based methods can be used that rely on the solution of aseries of quadratic programs (QPs) that locally approximatethe original nonlinear program (NLP). Together with severalother algorithmic ingredients and under mild assumptions[14], it can be shown that the generated iterates converge toa local minimum of the NLP.In this paper a method based on SQP and a modified versionof the so-called Real-Time Iteration (RTI), which will bedescribed in the following section, will be used.
B. Real-Time Iteration
Since the computation times associated with the solution ofan NLP can be rather high, the RTI scheme can be usedwhich relies on a single SQP iteration per sampling time.In this way, the NLP needs to be linearized only once anda single QP needs to be solved, leading to considerablyreduced computation times. After linearization, a QP of thefollowing form is obtained:
minx0,··· ,xN
u0,··· ,uN−1
N−1∑i=0
l(xi, ui) + lN (xN )
s.t. x0 − x0 = 0
xi+1−Aixi−Biui−ci = 0, i = 0, · · · , N − 1
di +Gxi xi +Gu
i ui ≤ 0, i = 0, · · · , N − 1
di +GxNxN ≤ 0,
(2)where
l(xi, ui) :=1
2
(xTi Qixi + uTi Riui
)+ qTi xi + rTi ui
lN (xN ) :=1
2xTNQNxN + qTNxN .
(3)
The linearized dynamics and constraints appearing in (2) usethe quantities:
Ai := ∇xf(xki , u
ki )
T , Bi := ∇uf(xki , u
ki )
T
Gxi := ∇xg(x
ki , u
ki )
T , Gui := ∇ug(x
ki , u
ki )
T
GxN := ∇xgN (xkN )T
(4)
andci := f(xki , u
ki )−Aix
ki −Biu
ki
di := g(xki , uki )−Gx
i xki −Gu
i uki ,
(5)
where quantities with the k superscript denote states andinputs obtained at the previous SQP iteration. The quadraticcost approximation uses the exact gradients
qi := ∇xη(xki , u
ki ) η(x
ki , u
ki )
ri := ∇uη(xki , u
ki ) η(x
ki , u
ki )
qN := ∇xηN (xkN ) ηN (xkN )
(6)
and the Gauss-Newton Hessian withQi := ∇xη(x
ki , u
ki )W
x ∇xη(xki , u
ki )
T
Ri := ∇uη(xki , u
ki )W
u ∇uη(xki , u
ki )
T
QN := ∇xη(xkN )WN ∇xη(x
kN )T ,
(7)
where W x and Wu denote the Hessian blocks in W associ-ated with states and inputs respectively.Remark: notice that cost cross-terms coupling states and in-puts have been neglected in the QP formulation for simplicityof notation, since the OCP used (which will be described inthe next section) has decoupled residuals which do not jointlydepend on both states and inputs.
III. PROBLEM FORMULATION AND IMPLEMENTATION
A. Model and Optimal Control FormulationFor the simulations shown in Section IV, the following model[6] will be used:
q =1
2STΩ, Ω = J−1(T − Ω× JΩ), (8)
where q and Ω describe the orientation of the quadrotor ex-pressed in quaternion representation and its angular velocityrespectively and
S :=
−q1 q0 q3 −q2−q2 −q3 q0 q1−q3 q2 −q1 q0
. (9)
It is assumed that angular velocities of the propellers ωcan be tracked instantaneously, hence they are consideredas inputs to the system. Moreover, the angular momentumcontribution of the propellers is ignored in order to simplifythe model. The matrix J denotes the inertia matrix of thevehicle, while the torques applied to the system are describedby T := [T1 T2 T3]
T , with
T1 :=AClρ(ω
22 − ω2
4)
2, T2 :=
AClρ(ω21 − ω2
3)
2
T3 :=ACdρ(ω
21 − ω2
2 + ω23 − ω2
4)
2,
where ρ is the air density, Cd and Cl are the drag and liftcoefficients and A is the area of the propellers. The values ofthe parameters appearing in the model are listed in Table I.
Parameter Value Description
ρ 1.225 kg/m3 air density
A 0.1m2 propeller area
Cl 0.125 lift coefficient
Cd 0.075 drag coefficient
m 10Kg quadrotor mass
g 9.81m/s2 gravitational acceleration
J1 = J2 = 4 · J3 0.25Kg · m/s2 moments of inertia
TABLE I: quadrotor model - values of the parameter used forthe simulation results in Section IV. Notice that these valuesare fictitious. They have been used for simulation purpose anddo not correspond to the parameters of the physical system.
B. Partially Tightened Real-Time Iterations
In order to reduce the computational burden associated withthe solution of the QP subproblems (2), the so-called partiallytightened RTI scheme proposed in [20] is used. The mainidea behind the algorithm is to replace the constraints inthe terminal section of the prediction horizon with barrierterms and to perform Newton-type iterations that require thesolution of a reduced QP of the form
minx0,··· ,xM
u0,··· ,uM−1
M−1∑i=0
l(xi, ui) + ψ(xM )
s.t. x0 − x0 = 0
xi+1−Aixi−Biui−ci = 0, i = 0, · · · ,M − 1
di +Gxi xi +Gu
i ui ≤ 0, i = 0, · · · ,M − 1,(10)with quadratic terminal cost for stage M
ψ(xM ) :=1
2xTMPM (D)xM + pM (D)TxM , (11)
where the variables associated with stages i > M (andthe inputs for stage i =M ) have been eliminated using astructure-exploiting Riccati recursion. Notice that in (11) D(for “data”) has been introduced to stress the dependency ofPM (D) and pM (D) on quantities associated with stages Mto N . Effectively, at each iteration, the modified RTI schemesolves a nonlinear root-finding problem where the onlysource of nonlinearity lies in the complementarity conditionsfor stages i = 0 to M − 1. This fact can be exploited inorder to efficiently eliminate the variables associated withthe terminal section of the prediction horizon which yieldsthe positive definite terminal Hessian PM (D) and terminalgradient pM (D) in the reduced QP (10).The description of the details of the algorithm and itsimplementation goes beyond the scope of the paper and theinterested reader is referred to [20] where numerical resultsand a sketch of a stability proof are provided. In the nextsection, numerical simulations will be shown that comparethe computation times and the closed loop performanceof different attitude controllers among which the abovedescribed partially tightened and the standard RTI scheme.
IV. SIMULATION RESULTS
In this section, the performance of different control strate-gies will be assessed in simulation. In particular, aproportional-derivative controller (PD), a linear-quadraticregulator (LQR) and different variants of an NMPC-basedscheme will be taken into account.
A. PD Controller
The first controller taken into account is a PD acting sep-arately on the three Euler coordinates and using a fixedtorque allocation as described in [7]. The main idea consistsin defining the torque applied to the vehicle using an apriori fixed parametrization that relies on the observationthat torques along the three axis can be obtained, looselyspeaking, by adjusting the propeller speeds in a “differential”fashion:
τ1 =AClρ
2J1(ω2
2 − ω24), τ2 =
AClρ
2J2(ω2
3 − ω21)
τ3 =ACdρ
2J3(ω2
1 − ω22 + ω2
3 − ω24).
(12)
Additionally, the equation Fr = (ω21 + ω2
2 + ω23 + ω2
4)AClρ
2is used to specify the desired total thrust.Remark: notice that the torque parametrization used com-pletely neglects the inertial terms in the dynamics whichdepend on the angular velocities of the vehicle. However,for small angular velocities, it can be expected to provide areasonable approximation of the actual torques.
The chosen approximate parametrization allows one to de-sign three fully decoupled PD controllers that control theattitude on a separate axis each:
τ = Kpe+Kde, (13)
where e and e are estimates of the roll, pitch and yaw errorsand their derivatives respectively and Kp and Kd are theproportional and derivative diagonal matrix gains. Once thedesired torque vector τ has been computed according to (13),the squared rotor speeds ωs can be efficiently computed bysolving the following linear system Aρ
2 Mωs = t, where
M :=
0 1 0 −1−1 0 1 01 −1 1 −11 1 1 1
, t := [τ1J1
Cl
τ2J2
Cl
τ3J3
Cd
gmCl
]T.
Notice that, the matrix Aρ2 M is constant and it can be
pre-factorized offline in order to speed up the solution ofthe linear system. The actual rotor speeds can be finallyobtained by computing the element-wise square root of ωs:ωi =
√ωs,i, i = 1, · · · , 4.
B. LQR Controller
The second controller that will be taken into account isbased on a reduced space LQR. Since the attitude dy-namics in quaternion coordinates are not controllable, thedynamics will be first projected onto a controllable sub-space as proposed in [18]. In particular, using the fact
0 1 2 3 4 5 6 7 8 9 10−2−1012
roll
[rad
]
0 1 2 3 4 5 6 7 8 9 10−2−1012
pitc
h[r
ad]
0 1 2 3 4 5 6 7 8 9 10−2−1012
time [s]
yaw
[rad
]
PD LQR NMPC ref.
Fig. 1: Attitude tracking simulation results comparing differ-ent control strategies - closed-loop state trajectories: PD insolid yellow, LQR in dashed red and converged-NMPC insolid blue. The NMPC controller achieves a more accuratetracking of the reference attitude.
max CPU time [ms] avg CPU time [ms] subopt. [%]
Ipopt 131.40 43.40 -
RTI 1.04 0.52 3.69
pt-RTI 0.22 0.18 17.67
TABLE II: maximum and average CPU time in ms andrelative closed-loop suboptimality with respect to convergedNMPC of the RTI and partially tightened RTI (pt-RTI)schemes. Using the pt-RTI scheme a speedup of about a factor5 can be achieved with a moderate increase in suboptimality.
that q0 =√1− q21 − q22 − q23 , the first component of the
quaternion vector can be eliminated yielding a differentialequation which, together with the angular velocity dynamicsin (8), will be used to design the LQR static gain. To thisend, the dynamics are linearized around the hovering steadystate and input (x, u) and discretized using an explicit RK4integration scheme:
xk+1 − x = A(xk − x) +B(uk − u). (14)
At this point, a discrete-time LQR controller can be designedby solving the discrete time algebraic Riccati equation
ATPA− P − (ATPB)(BTPB +R)−1(BTPA) +Q = 0,
which provides a static state feedback u = Kx+ u with
K = (BTPB +R)−1(BTPA), (15)
which, once an estimate of the state of the system has beencomputed, allows one to readily compute the input to beapplied to the system.
C. NMPC Controller
Three different variants of NMPC-based controllers willbe compared in simulation. All of them use a nonlinear
0 1 2 3 4 5 6 7 8 9 1030
40
50
ω1
[rad
/s]
0 1 2 3 4 5 6 7 8 9 1030
40
50
ω2
[rad
/s]
0 1 2 3 4 5 6 7 8 9 1030
40
50
ω3
[rad
/s]
0 1 2 3 4 5 6 7 8 9 1030
40
50
time [s]
ω4
[rad
/s]
Fig. 2: Attitude tracking simulation results comparing differ-ent control strategies - closed-loop input trajectories.
least-squares formulation with residual functions
η(x, u) :=
α(x)− αr
β(x)− βrγ(x)− γrx− xru− ur
, ηN (x) :=
α(x)− αr
β(x)− βrγ(x)− γrx− xr
,(16)where α, β and γ define the attitude of the quadrotor in Eulerangles (roll, pitch and yaw) as functions of q. The quantitiesin (16) with the r subscript denote the desired referencesassociated with each residual output.1) Converged NMPC scheme: the problem formulation in(1) has been implemented using CasADi [5] with a pre-diction horizon of T = 1.0 s and N = 20 shooting nodes,discretizing the dynamics using the explicit RK4 integrationscheme. The obtained OCPs are solved using the interior-point solver Ipopt [17]. The Ipopt interface availablein CasADi is used where the possibility of just-in-timecompiling function evaluations is exploited in order to speedup the computations. The linear system solver ma57 [9]is used linked against a single threaded build of the high-performance BLAS implementation OpenBLAS [15]. Al-though real-time implementations of nonlinear interior-pointmethods are present in the literature [19], the computationtimes obtained when solving the OCPs to a local minimumare often longer than the ones obtained with approximateschemes like the RTI. However, the closed loop trajectoriesobtained with this approach will be used as a referenceto assess the suboptimality associated with the approximateschemes described below.2) Standard RTI scheme: in order to reduce the computationtimes associated with the solution of the OCPs, the RTIscheme has been implemented using the software packageacados [1]. The same number of shooting nodes andthe same tuning has been used for the implementation.The chosen QP solver is hpmpc [12] which relies on thehardware-tailored linear algebra package BLASFEO [11].
3) Partially Tightened RTI scheme: finally, the partiallytightened RTI scheme (pt-RTI) described in Section II hasbeen implemented in acados using an untightened horizonof M = 2 stages and an overall horizon of N = 20. Thesame tuning used for the previous two schemes is used anda fixed barrier value τ = 10 is used. As for the standard RTIscheme, the solver hpmpc will be used to solve the reducedQP (10) as well as to perform the Riccati-based eliminationfor the terminal section of the horizon described in [20].The code in the following simulations is set up to use theANSI C implementation BLASFEO RF [11] in order tobetter resemble the CPU load distribution between differentroutines (e.g. linearization and QP solution) expected on theembedded hardware.
D. Comparison
The controllers described above are used in the following totrack a periodic attitude reference. For the NMPC formula-tions the following weights are chosen:
W = blkdiag(5 · 102 · I3, 1 · 10−3 · I11)WN = blkdiag(5 · 102 · I3, 1 · 10−3 · I7).
In order to tune the PD controller, the parametrizationKp = κp · I3 and Kd = κd · I3, with κp ∈ [1, 60] andκd ∈ [1, 20] has been chosen. After discretizing eachparameter interval into 100 equidistant values, a simulationhas been run for each combination of values (κp, κd) and thesquared deviation from the reference trajectories in the Eulerspace has been taken into account as a performance metric.The values κp = 23 and κd = 9 have been chosen, whichprovide a reasonable trade-off between deviation from thereference trajectory and chattering of the input trajectories.The LQR controller could be in principle tuned by exploitinga linearization of the transformation from Euler to the con-trollable quaternion subspace. In this way, the control policyobtained would be locally equivalent to the NMPC one.However, possibly due to nonlinearity and to the presence ofconstraints, the simulations showed the necessity to detunethe controller in order to achieve acceptable performance. Tothis end, the weighting matrices have been chosen as follows:
Q = blkdiag(1 · 102 · I3, 1 · 10−3 · I3), R = 1 · 10−3 · I4.
A simulation with sampling time Ts = 0.05 s is per-formed where the input bounds are imposed on the propellervelocities: ωss − ∆ωmax ≤ ωi ≤ ωss + ∆ωmax, with∆ωmax := 8 rad/s and where ωss := 39.939 rad/s denotes thesteady-state input associated with a mass of 10Kg (althoughthe controller only regulates the vehicle’s attitude, it is meantto be used in a cascaded architecture, where also position iscontrolled).The closed loop trajectories obtained with PD, LQR andNMPC controllers are reported in Figure 1 and 2. Onlytrajectories obtained with Ipopt are shown for the sakeof clarity, as the results obtained with the RTI and pt-RTIschemes do not differ much from the ones obtained usingconverged NMPC. For the two approximate schemes, com-putation times and closed-loop suboptimality are reported
Fig. 3: Human-sized quadrotor equipped with a low-power Xilinx Zynq SoC with a dual-core ARM Cor-tex A9 running at 800 MHz: snapshot from the experi-ment video (https://www.youtube.com/watch?v=-dsezQa7nzk&feature=youtu.be).
in Table II. From Figure 1 and 2, it can be seen that theconverged NMPC controller performs better than the othertwo control schemes in the sense that smaller overshoots andfaster response to references changes can be achieved. Thismight be due to the fact that nonlinearity and the presence ofconstraints can degrade the performance of the PD and LQRcontrollers for large reference changes like the ones used inthe benchmark.
V. EXPERIMENTAL RESULTS
The controller based on the pt-RTI scheme has been deployedto the on-board embedded hardware of the quadrotor whichfeatures a Xilinx Zynq system-on-chip with dual-core CortexA9 clocked at 800 MHz. Notice that, although the instructionset available on such a CPU provides vectorized instruc-tions, they are only available in single precision. Hence, theGENERIC implementation BLASFEO package [11] has beenused, which exploits a panel-major format, but does not makeexplicit usage of vectorized instructions.For the embedded implementation, a horizon T = 1.0 s isused with N = 10 shooting nodes and untightened horizonM = 2. In order to achieve faster response to changes inthe reference and disturbance rejection, and to improve theconvergence of the pt-RTI scheme, the controller is run at asampling Ts = 10ms. Notice that, although to the knowledgeof the authors a formal stability proof for this setup does notexist, the “over-sampled” implementation of NMPC schemesis rather common among practitioners.Similarly to what obtained in simulations, using the pt-RTIscheme with M = 2 gives rise to a considerable speedupreducing the average computation times from about 6ms forthe standard RTI to about 2ms. In this way, enough com-putational time can be spared to carry out other tasks suchas telemetry, logging and executing lower level controllerswithout approaching high CPU loads which might lead tofaults.Figures 4 and 5 show the attitude and actuators trajectoriesobtained during a test flight. Notice that, since no positioncontrol has been implemented for the test, the attitudereference during the test flight is provided by a human pilotwho is making sure that the vehicle is hovering safely abovethe ground.
0 5 10 15 20 25 30 35 40
−20
0
20
roll
[deg
]
0 5 10 15 20 25 30 35 40
−20
0
20
time [s]
pitc
h[d
eg] actual
reference
Fig. 4: Experimental results - attitude in Euler angles.
0 5 10 15 20 25 30 35 40
−0.6−0.4−0.2
0
ω1
0 5 10 15 20 25 30 35 40
−0.6−0.4−0.2
0
ω2
0 5 10 15 20 25 30 35 40
−0.6−0.4−0.2
0
ω3
0 5 10 15 20 25 30 35 40
−0.6−0.4−0.2
0
time [s]
ω4
Fig. 5: Experimental results - actuators.
VI. CONCLUSIONS
In this paper, the design, implementation and deployment ofan NMPC attitude controller for a human-sized quadrotor hasbeen presented. An approximate partially tightened formula-tion is used that allows one to reduce the computation times.Simulation results are discussed where it is shown that con-siderable speedups can be achieved with a moderate increasein suboptimality with respect to standard approaches. TheNMPC controller is deployed to the on-board computer ofthe vehicle and flight test results are reported and discussed.
REFERENCES
[1] acados. https://github.com/acados/acados.[2] Ehang Inc. Guangzhou, China. http://www.ehang.com.[3] Kitty Hawk, Mountain View, CA, USA. https://kittyhawk.aero.[4] T. Albin, D. Ritter, N. Liberda, R. Quirynen, and M. Diehl. In-vehicle
realization of nonlinear MPC for gasoline two-stage turbochargingairpath control. IEEE Transactions on Control Systems Technology,pages 1–13, 2017.
[5] J. Andersson, J. Akesson, and M. Diehl. CasADi – a symbolicpackage for automatic differentiation and optimal control. In RecentAdvances in Algorithmic Differentiation, volume 87 of Lecture Notesin Computational Science and Engineering, pages 297–307. Springer,2012.
24 24.2 24.4 24.6 24.8 25 25.2 25.4 25.6 25.8 26−0.6−0.4−0.2
0
ω1
24 24.2 24.4 24.6 24.8 25 25.2 25.4 25.6 25.8 26−0.6−0.4−0.2
0
ω2
24 24.2 24.4 24.6 24.8 25 25.2 25.4 25.6 25.8 26−0.6−0.4−0.2
0
ω3
24 24.2 24.4 24.6 24.8 25 25.2 25.4 25.6 25.8 26−0.6−0.4−0.2
0
time [s]
ω4
Fig. 6: Experimental results - actuators (zoom in).
[6] P. Betsch and R. Siebert. Rigid body dynamics in terms of quater-nions: Hamiltonian formulation and conserving numerical integra-tion. International Journal for Numerical Methods in Engineering,79(4):444–473, 2009.
[7] S. Bouabdallah, A. Noth, and R. Siegwart. Pid vs lq control techniquesapplied to an indoor micro quadrotor. In IEEE/RSJ InternationalConference on Intelligent Robots and Systems, Sendai, Japan, Oct2004.
[8] M. Diehl, H. G. Bock, J. P. Schloder, R. Findeisen, Z. Nagy, andF. Allgower. Real-time optimization and nonlinear model predictivecontrol of processes governed by differential-algebraic equations.Journal of Process Control, 12(4):577–585, 2002.
[9] I. Duff. Ma57—a code for the solution of sparse symmetric definiteand indefinite systems. ACM Transactions on Mathematical Software,30(2):118–144, June 2004.
[10] H. J. Ferreau, P. Ortner, P. Langthaler, L. del Re, and M. Diehl.Predictive control of a real-world diesel engine using an extendedonline active set strategy. Annual Reviews in Control, 31(2):293–301,2007.
[11] G. Frison, D. Kouzoupis, T. Sartor, A. Zanelli, and M. Diehl. BLAS-FEO: Basic linear algebra subroutines for embedded optimization.arXiv:1704.02457, 2017.
[12] G. Frison, H. B. Sorensen, B. Dammann, and J. B. Jørgensen. High-performance small-scale solvers for linear model predictive control.In Proceedings of the European Control Conference (ECC), pages128–133, June 2014.
[13] M. Kamel, K. Alexis, M. Achtelik, and R. Siegwart. Fast nonlinearmodel predictive control for multicopter attitude tracking on so(3).In IEEE Conference on Control Applications, Sidney, Australia, Sept2015.
[14] J. Nocedal and S. J. Wright. Numerical Optimization. Springer Seriesin Operations Research and Financial Engineering. Springer, 2 edition,2006.
[15] OpenBLAS. OpenBLAS: An optimized BLAS library.http://www.openblas.net/, 2011.
[16] S.J. Qin and T.A. Badgwell. An overview of nonlinear modelpredictive control applications. In F. Allgower and A. Zheng, editors,Nonlinear Predictive Control, volume 26 of Progress in SystemsTheory, pages 370–392, Basel Boston Berlin, 2000. Birkhauser.
[17] Andreas Wachter and Lorenz T. Biegler. On the implementation ofan interior-point filter line-search algorithm for large-scale nonlinearprogramming. Mathematical Programming, 106(1):25–57, 2006.
[18] Y. Yang. Spacecraft attitude determination and control: Quaternionbased method. Annual Reviews in Control, 36(2):198–219, Dec 2012.
[19] A. Zanelli, A. Domahidi, J. L. Jerez, and M. Morari. FORCES NLP:An efficient implementation of interior-point methods for multistagenonlinear nonconvex programs. International Journal of Control,2017.
[20] A. Zanelli, R. Quirynen, G. Frison, and M. Diehl. A partially tightenedreal-time iteration scheme for nonlinear model predictive control.In Proceedings of 56th IEEE Conference on Decision and Control,Melbourne, Australia, December 2017.