20th IFAC Symposium on Automatic Control in Aerospace 20th IFAC Symposium on Automatic Control in Aerospace August 21-25, 2016. Sherbrooke, Quebec, Canada 20th IFAC Symposium on Automatic Control in Aerospace 20th IFAC Symposium on Automatic Control in Aerospace August 21-25, 2016. Sherbrooke, Quebec, Canada Available online at www.sciencedirect.com August 21-25, 2016. Sherbrooke, Quebec, Canada August 21-25, 2016. Sherbrooke, Quebec, Canada
ScienceDirect IFAC-PapersOnLine 49-17 (2016) 188–193
Slack Variables Generation via QR Decomposition Slack Variables Generation via QR Decomposition Slack Variables Generation via QR Slackfor Variables Generation via QR Decomposition Decomposition Adaptive Nonlinear Control of Affine for Adaptive Nonlinear Control of Affine for Adaptive Nonlinear Control of Affine for Adaptive Nonlinear Control of Affine Underactuated Systems Underactuated Systems Underactuated Systems Underactuated Systems ∗ ∗∗ ∗∗∗ ∗∗∗∗
Mingu Kim ∗ , Youkyung Hong ∗∗ , Seokwon Lee ∗∗∗ , and Youdan Kim ∗∗∗∗ Mingu Kim Kim ∗∗∗∗ ∗ , Youkyung Hong ∗∗ , Seokwon Lee ∗∗∗ , and Youdan Mingu Kim Mingu Kim ∗ ,, Youkyung Youkyung Hong Hong ∗∗ ,, Seokwon Seokwon Lee Lee ∗∗∗ ,, and and Youdan Youdan Kim Kim ∗∗∗∗ ∗ Department of Mechanical and Aerospace Engineering, Seoul National ∗ Department of Mechanical and Aerospace Engineering, Seoul National ∗ Department of Mechanical and Aerospace Engineering, Seoul National University, Seoul, Korea, (e-mail:
[email protected]) ∗ of Mechanical and Aerospace Engineering, Seoul National University, Seoul, Korea, (e-mail:
[email protected]) ∗∗Department University, Seoul, Korea,
[email protected]) of Mechanical and (e-mail: Aerospace Engineering, Seoul National ∗∗ Department University, Seoul, Korea, (e-mail:
[email protected]) of Mechanical and Aerospace Engineering, Seoul National ∗∗ Department of Mechanical and Aerospace Engineering, University, Seoul, Korea, (e-mail:
[email protected]) ∗∗ Department of Mechanical and Aerospace Engineering, Seoul Seoul National National University, Seoul, Korea, (e-mail:
[email protected]) ∗∗∗Department University, Seoul, Korea, (e-mail:
[email protected]) of Mechanical and Aerospace Engineering, Seoul National ∗∗∗ Department University, Seoul, Korea, (e-mail:
[email protected]) Department of Mechanical and Aerospace Engineering, Seoul ∗∗∗ Department of Mechanical and Aerospace Engineering, Seoul National University, Seoul, Korea, (e-mail:
[email protected]) ∗∗∗ of Mechanical and Aerospace Engineering, Seoul National National University, Seoul, Korea, (e-mail:
[email protected]) ∗∗∗∗Department University, Seoul, Korea, (e-mail:
[email protected]) Department of Mechanical and Aerospace Engineering, Seoul National ∗∗∗∗ Department University, Seoul, Korea, (e-mail:
[email protected]) of Mechanical and Aerospace Engineering, Seoul National ∗∗∗∗ Department of and Engineering, University, Seoul, Korea, (e-mail:
[email protected]) ∗∗∗∗ Department of Mechanical Mechanical and Aerospace Aerospace Engineering, Seoul Seoul National National University, Seoul, Korea, (e-mail:
[email protected]) University, University, Seoul, Seoul, Korea, Korea, (e-mail: (e-mail:
[email protected])
[email protected]) Abstract: This paper presents a slack variable generation method utilizing QR decomposition for an Abstract: This paper presents aa slack variable generation method utilizing QR decomposition for an Abstract: This presents slack variable method for adaptive controller systems. Slackutilizing variablesQR aredecomposition adopted to overcome Abstract:nonlinear This paper paper presentsof aaffine slackunderactuated variable generation generation method utilizing QR decomposition for an an adaptive nonlinear controller of affine underactuated systems. Slack variables are adopted to overcome adaptive nonlinear controller of underactuated systems. are to nonsquare properties of underactuated QR decomposition hasvariables an advantage of fast and accurate adaptive nonlinear controller of affine affine systems. underactuated systems. Slack Slack variables are adopted adopted to overcome overcome nonsquare properties of underactuated systems. QR decomposition has an advantage of fast and accurate nonsquare properties underactuated systems. QR has advantage of fast and calculation to computeof square solution of underdetermined systems. this paper, variable nonsquare properties ofleast underactuated systems. QR decomposition decomposition has an anIn advantage ofthe fastslack and accurate accurate calculation to compute least square solution of underdetermined systems. In this paper, the slack variable calculation to compute least square solution of underdetermined systems. In this paper, the slack generation using the QR decomposition is proposed to guarantee the stability of the closed-loop system calculation to compute least square solution of underdetermined systems. In this paper, the slack variable variable generation using the QR decomposition is proposed to guarantee the stability of the closed-loop system generation using the QR decomposition is proposed to guarantee the stability of the closed-loop system with an adaptive nonlinear controller. Numerical simulations are performed to verify the performance generation using the QR decomposition is proposed to guarantee the stability to of verify the closed-loop system with an adaptive nonlinear controller. Numerical simulations are performed the performance with an adaptive nonlinear controller. Numerical simulations are performed to verify the performance of the adaptive nonlinear controller with the proposed slack variable generation method for a quadrotor with anadaptive adaptive nonlinear controller. Numerical simulations are performed to method verify the performance of the nonlinear controller with the proposed slack variable generation for a quadrotor of the controller with proposed unmanned aerialnonlinear vehicle and an unmanned of the adaptive adaptive nonlinear controller with the thehelicopter. proposed slack slack variable variable generation generation method method for for aa quadrotor quadrotor unmanned aerial vehicle and an unmanned helicopter. unmanned aerial vehicle and an unmanned helicopter. unmanned aerial vehicle and an unmanned helicopter. © 2016, IFAC (International Federation of Automatic Control) Hosting by Elsevier Ltd. All rights reserved. Keywords: Adaptive Control, Underactuated System, Slack Variables Keywords: Adaptive Control, Control, Underactuated System, System, Slack Variables Variables Keywords: Keywords: Adaptive Adaptive Control, Underactuated Underactuated System, Slack Slack Variables 1. INTRODUCTION An adaptive nonlinear control scheme has been studied to 1. INTRODUCTION INTRODUCTION An adaptive adaptive nonlinear nonlinear control control scheme scheme has has been been studied to to 1. An overcome the nonlinear demerits of the feedback and the 1. INTRODUCTION An adaptive control scheme linearization has been studied studied to overcome the demerits of the feedback linearization and the overcome the demerits of linearization the sliding mode methods. Padhi et al. proposed aand neural overcome the control demerits of the the feedback feedback linearization and the sliding mode control methods. Padhi et al. proposed a neural sliding methods. et proposed aa neural model-following adaptive control technique for sliding mode mode control control methods. Padhi Padhi et al. al. proposed neural There exist various underactuated systems including under- networks-based networks-based model-following adaptive control technique for There exist exist various various underactuated underactuated systems systems including including underunder- anetworks-based model-following adaptive control technique for class of nonaffine nonsquare nonlinear systems (Padhi et al. There networks-based model-following adaptive systems control technique for water robots, UAVs(Unmanned Aerial Vehicles), and mobile a class of nonaffine nonsquare nonlinear (Padhi et al. There exist various underactuated systems including underwater robots, robots, UAVs(Unmanned UAVs(Unmanned Aerial Aerial Vehicles), Vehicles), and and mobile mobile [2007]). aa class of nonaffine nonsquare (Padhi et al. Ahn et al. proposed annonlinear adaptive systems sliding mode control water class of nonaffine nonsquare nonlinear systems (Padhi et al. robots, etc. Underactuated systems have fewer control inputs [2007]). Ahn et al. proposed an adaptive sliding mode control water robots, UAVs(Unmanned Aerial Vehicles), and mobile robots, etc. etc. Underactuated Underactuated systems systems have have fewer fewer control control inputs inputs method [2007]). Ahn et al. proposed an adaptive sliding mode control for nonaffine and nonsquare nonlinear systems (Ahn robots, [2007]). Ahn et al. proposed an adaptive sliding mode control than the degree of freedom, and therefore, control of the undermethod for nonaffine and nonsquare nonlinear systems (Ahn robots, Underactuated have fewer inputs et than the theetc. degree of freedom, freedom, systems and therefore, therefore, controlcontrol of the the underunderfor and nonsquare (Ahn al. [2007]). An adaptive modenonlinear controllersystems was designed than and control of method for nonaffine nonaffine andsliding nonsquare (Ahn actuated systemsof much more complex than control ofunderfully- method et al. [2007]). [2007]). An adaptive adaptive sliding modenonlinear controllersystems was designed designed than the degree degree ofis freedom, and therefore, control of the actuated systems is much more complex than control of fully- for et al. sliding controller was a [2007]). quadrotorAn UAV system with mode the external disturbance (Lee systems is much more complex than control of fullyet al. An adaptive sliding mode controller was designed actuated systems. For this reason, various nonlinear control for a quadrotor UAV system with the external disturbance (Lee actuated systems is much more complex than control of fullysystems. For For this this reason, reason, various various nonlinear nonlinear control control et for aa quadrotor UAV system with the external al. [2009]). And, an adaptive sliding modedisturbance controller (Lee was actuated systems. for quadrotor UAV system with the external disturbance (Lee methods for the underactuated systems have been developed in et al. [2009]). And, an adaptive sliding mode controller was actuated systems. For this reason, various nonlinear control methods for the underactuated systems have been developed in et al. [2009]). And, an adaptive sliding mode controller was integrated to an adaptive image-based visual servoing for methods for et al. [2009]). And, an adaptive sliding visual mode servoing controllerfor wasaa the past decades. integrated to an adaptive image-based methods for the the underactuated underactuated systems systems have have been been developed developed in in quadrotor the past decades. integrated to an adaptive image-based visual servoing for a UAV system (Lee et al. [2012]). Hong and Kim the integrated UAV to an system adaptive(Lee image-based visualHong servoing quadrotor et al. al. [2012]). [2012]). and for Kima the past past decades. decades. Feedback linearization and sliding mode control methods have designed quadrotor UAV system (Lee et Hong and Kim an integrated guidance and controller using adaptive quadrotor UAV system (Lee et al. [2012]). Hong and Kim Feedback linearization linearization and and sliding sliding mode mode control control methods methods have have designed an integrated guidance and controller using adaptive Feedback been widely used to control nonlinear Pathak ethave al. sliding an guidance and controller adaptive mode control technique a rotary UAVusing system (Hong Feedback linearization and sliding modesystems. control methods designed an integrated integrated guidancefor controller adaptive been widely used to control nonlinear systems. Pathak et al. designed sliding mode mode control technique technique forand a rotary rotary UAVusing system (Hong been widely used to control nonlinear systems. Pathak et al. analyzed wheeled inverted pendulum systems to utilize a partial sliding control for a UAV system (Hong and Kim [2012]). On the other hand, slack variable vectors been widely used inverted to control nonlinear systems. Pathak et al. sliding mode controlOntechnique forhand, a rotary UAV systemvectors (Hong analyzed wheeled pendulum systems to utilize utilize a partial partial and Kim [2012]). the other slack variable analyzed wheeled inverted pendulum systems to a feedback linearization method (Pathak et al. [2005]). Benaland Kim On hand, slack variable vectors used[2012]). to deal with the other properties nonsquare analyzed wheeled inverted pendulum systems to[2005]). utilize a Benalpartial were and Kim [2012]). On the the other hand,of slack variablenonlinear vectors feedback linearization method (Pathak et al. were used to deal with the properties of nonsquare nonlinear feedback linearization method et Benallegue et al. applied a feedback linearization-based controller were used to introducing deal of theproperties slack variables, variousnonlinear adaptive feedback linearization method (Pathak (Pathak et al. al. [2005]). [2005]). Benal- systems. were usedBy deal with with the the of nonsquare nonsquare legue et et al. al. applied aa feedback feedback linearization-based controller systems. Byto introducing introducing theproperties slack variables, variables, variousnonlinear adaptive legue applied linearization-based controller using high-order sliding mode observer to a quadrotor UAV systems. By the slack various adaptive nonlinear control schemes can be used to design a controller legue al. applied a feedback linearization-based controller By introducing thecan slack variables, various adaptive using et high-order sliding mode observer observer to aa quadrotor quadrotor UAV systems. nonlinear control schemes be used to design a controller using high-order sliding mode to UAV (Benallegue et al. sliding [2008]).mode Xu and Ozguner a sliding nonlinear control be to controller the nonsquare nonlinearcan using high-order observer to proposed a quadrotor UAV for nonlinear control schemes schemes cansystems. be used usedHowever, to design designaaaa systematic controller (Benallegue et al. [2008]). Xu and Ozguner proposed a sliding for the nonsquare nonlinear systems. However, systematic (Benallegue al. Xu and Ozguner proposed aa sliding mode controlet design approach a class of underactufor thevariable nonsquare nonlinear systems. However, aa systematic generation method has not been studied much, (Benallegue al. [2008]). [2008]). Xu to andstabilize Ozguner proposed sliding slack for nonsquare nonlinear systems. However, systematic mode control controletdesign design approach to stabilize a class class of underactuunderactuslackthevariable variable generation method has not not been studied studied much, mode approach to stabilize a of ated systems and apply to a translation oscillator with rotational slack generation been and only carefully chosen method constanthas slack variable vectorsmuch, were mode controland design approach to stabilize a classwith of underactuslack variable generation method has not been studied much, ated systems apply to a translation oscillator rotational and only carefully chosen constant slack variable vectors were ated systems and apply to a translation oscillator with rotational actuator system and a quadrotor UAV (Xu and Ozguner [2008]). and only carefully chosen constant slack variable vectors were used to design the adaptive nonlinear controllers (Padhi et al. ated systems andand apply to a translation oscillator with rotational only carefully chosen constant slack variable vectors were actuator system a quadrotor quadrotor UAV (Xu (Xu and Ozguner Ozguner [2008]). and used to design the adaptive nonlinear controllers (Padhi et al. actuator system and a UAV and [2008]). A sliding mode control scheme using linear matrix inequality used to design the adaptive nonlinear controllers (Padhi et [2007], Ahn et al. [2007], Lee et al. [2009], Lee et al. [2012], actuator a quadrotor and matrix Ozguner [2008]). used to Ahn design adaptiveLee nonlinear controllers et al. al. A sliding slidingsystem mode and control schemeUAV using(Xu linear inequality [2007], et the al. [2007], [2007], et al. al. [2009], [2009], Lee et et(Padhi al. [2012], [2012], A mode control scheme using linear matrix inequality approach has been also used to design controllers for contin[2007], Ahn et al. Lee et Lee al. Hong and Kim A sliding has mode control scheme using linear matrixfor inequality [2007], Ahn et [2012]). al. [2007], Lee et al. [2009], Lee et al. [2012], approach been also used to design controllers continHong and Kim [2012]). approach been used to controllers for uous time has Markovian jump systems with unmeasured Hong and Kim approach been also also usedsingular to design design controllers for contincontin- In Hong Kima[2012]). [2012]). uous time time has Markovian jump singular systems with unmeasured unmeasured thisand study, systematic slack variable generation method uous Markovian jump singular systems with states (Wu et al. [2010]) and for differential linear repetitive In this study, a systematic systematic slack slack variable variable generation generation method method uous time Markovian jumpand singular systems with unmeasured states (Wu et al. [2010]) for differential linear repetitive In this study, a using QR decomposition proposed to deal with underactustates (Wu et al. [2010]) and for differential linear repetitive In thisQR study, a systematicis slack variable generation method processes with unmeasurable components of process states and using decomposition is proposed to deal with underactustates (Wu et al. [2010]) and for differential linear repetitive processes with with unmeasurable unmeasurable components components of of process process states states and and ated using QR is proposed to with nonlinear systems. The variable generation processes using QR decomposition decomposition is proposed proposedslack to deal deal with underactuunderactupass profilewith (Wuunmeasurable et al. [2011]).components However, theoffeedback linearizaated nonlinear systems. The proposed slack variable generation processes process states and pass profile profile (Wu (Wu et et al. al. [2011]). [2011]). However, However, the the feedback feedback linearizalineariza- method nonlinear systems. proposed slack is utilized for anThe adaptive nonlinear controlgeneration technique pass ated nonlinear systems. proposed slack variable variable tion method(Wu onlyet guarantees local stability of the system ated method is utilized utilized for an anThe adaptive nonlinear controlgeneration technique pass profile al. [2011]). the However, the feedback linearization method only guarantees the local stability of the system method is for adaptive nonlinear control technique of affine underactuated systems, because the analysis on the tion method only guarantees the local stability of the system method is utilized for an adaptive nonlinear control technique which does not consider the disturbance or modeling error. And of affine underactuated systems, because the analysis on the the tion method only guarantees the local stability of the system which does not not consider the disturbance disturbance or modeling modeling error. And affine of affine underactuated systems, because analysis on systems is relatively easier than that ofthe nonaffine systems. which does consider the or error. And of affine underactuated systems, because the analysis on the it is known that the sliding mode control method has some affine systems is relatively easier than that of nonaffine systems. which does not consider the disturbance or modeling error. And it is is known known that the the sliding sliding mode mode control control method method has has some some QR affine systems easier than of systems. decomposition is widely used to that calculate a solution of a it affine systems is is relatively relatively easier than of nonaffine nonaffine systems. disadvantages such large control chattering. QR decomposition decomposition is widely widely used to that calculate a solution solution of a it is known that that theas sliding mode inputs controland method has some QR disadvantages such as large control inputs and chattering. is used to calculate a of disadvantages QR decomposition is widely used to calculate a solution of aa disadvantages such such as as large large control control inputs inputs and and chattering. chattering. Copyright © 2016 IFAC 188 2405-8963 Copyright©©2016, 2016IFAC IFAC (International Federation of Automatic Control) 188Hosting by Elsevier Ltd. All rights reserved. Copyright 2016responsibility IFAC 188Control. Peer review © of International Federation of Automatic Copyright ©under 2016 IFAC 188 10.1016/j.ifacol.2016.09.033
IFAC ACA 2016 August 21-25, 2016. Quebec, Canada
Mingu Kim et al. / IFAC-PapersOnLine 49-17 (2016) 188–193
least square problem because QR decomposition is known as an efficient and accurate algorithm. QR decomposition can be also utilized to treat the underdetermined systems. This paper is organized as follows. In Section II, an adaptive sliding mode controller for affine and underactuated nonlinear systems is presented. In Section III, the slack variable generation method using QR decomposition is proposed. In Section IV, an adaptive sliding mode controller and the proposed slack variable generation method is applied to design controllers for a quadrotor UAV system and a unmanned helicopter system. Numerical simulations are performed to verify the performance of the adaptive nonlinear control scheme with the proposed slack variable generation method in Section V. Finally, conclusions are made in Section VI. 2. ADAPTIVE SLIDING MODE CONTROLLER FOR AFFINE UNDERACTUATED SYSTEMS Consider a control affine underactuated nonlinear system, x˙ = f (x) + g (x) u + fr (x) (1) n m where x ∈ ℜ is a state vector, u ∈ ℜ (m < n) is a control vector of the system, and fr (x) ∈ ℜn is the unknown vector such as the external disturbance or modeling error. Let us assume that the order of system is known, and f (x) and g (x) are continuously differentiable. It is also assumed that g (x) has full rank. The augmented nonlinear system using slack variables can be written as x˙ = f (x) + G (x) U − ν + fr (x) (2) where G (x) = [g (x) gs ] (3) T T T U = u us (4) ν ≡ gs us (5) In the above augmented nonlinear system, gs is a slack variable matrix to make G (x) invertible, us ∈ ℜn−m is a slack variable input vector, and ν is the unknown vector which needs to be estimated. Let us consider the assumption that ν and fr (x) change very slow, respectively. Consider the following sliding surface, S ≡ e = x − xd (6) where e is the error state vector with respect to the desired state vector, xd . Let us define the Lyapunov candidate function as follows 1 1 1 (7) L = ST S + ν˜ T Γν˜ + f˜r (x)T Ω f˜r (x) 2 2 2 where ν˜ and f˜r (x) are the error vectors with respect to the true values of ν and fr (x), respectively, i.e. ν˜ = ν − νˆ and f˜r (x) = fr (x) − fˆr (x), and Γ and Ω are positive definite diagonal weighting matrices, respectively. Note that νˆ and fˆr (x) are the estimated values of ν and fr (x), respectively. Let us consider the following control input. U = G−1 (x) − f (x) + νˆ − fˆr (x) + x˙ d −CS
(8)
with the adaptation rules
ν˙ˆ = −Γ−1 S f˙ˆ (x) = Ω−1 S r
(9) (10) 189
189
where C is a positive definite diagonal gain matrix. Note that the ν˙˜ and f˙˜r (x) have almost same values of −ν˙ˆ and − f˙ˆr (x), respectively, since it is assumed that ν and fr (x) change very slowly. Also, note that the following second order equation can be obtained (Kim et al. [2012]). S¨ +CS˙ + Γ−1 + Ω−1 S = 0 (11) Therefore, it can be stated that the diagonal elements of −1 Γ + Ω−1 and C have the similar physical meaning on the natural frequency and the damping ratio, respectively. (12) ωi2 = diag Γ−1 + Ω−1 2ζi ωi = diag (C)
(13)
The following augmented control input of (8) with adaptation laws (9) and (10) makes the error states of a control affine underactuated nonlinear system converge to zero, as time increases (Kim et al. [2012]). Note that the actual control input vector is extracted as u = U (1 : m) (14) The above actual control input is used for the affine underactuated nonlinear system (1). 3. SLACK VARIABLES GENERATION METHOD USING QR DECOMPOSITION It is very important to choose proper slack variables to make G (x) nonsingular. The conventional approach to select the slack variable is not systematic. RREF(Reduced Row Echelon Form) was utilized to generate slack variables, but the generated slack variables were constant and composed of 0 and 1 due to the properties of RREF (Kim et al. [2012]). In this study, the method generating a suitable slack variable matrix using QR decomposition is proposed. QR decomposition is one of the most widely used methods to calculate a solution of a least square problem. Among various matrix decomposition techniques, QR decomposition is known as a fast and accurate method to compute the least square solutions, and therefore can deal with underdetermined systems, i.e. underactuated systems (Junkins and Kim [1993]). Theorem 1. Consider a (n × m) matrix A that has a full rank m, i.e., A ∈ ℜn×m , (n > m) , ρ(A) = m (15) where ρ(·) denotes the rank of a matrix. Using QR decomposition, A can be rewritten uniquely as A = QR (16) where Q ∈ ℜn×n is an orthonormal matrix, and R ∈ ℜn×m is an upper triangular matrix with positive elements. The matrix A can be rewritten due to its nonsquare properties as follows R1 (17) A = [Q1 |Q2 ] 0 where Q1 ∈ ℜn×m , Q2 ∈ ℜn×(n−m) , and R1 ∈ ℜm×m .
Then, [A|Q2 ] is a nonsingular square matrix, i.e. ρ ([A|Q2 ]) = n. Proof. The proof of Theorem 1 is omitted, since it can be proved easily using the fundamentals of the QR decomposition. (See the proof in Appendix.)
IFAC ACA 2016 190 August 21-25, 2016. Quebec, Canada
Mingu Kim et al. / IFAC-PapersOnLine 49-17 (2016) 188–193
Remark 1. [A|kQ2 ] is a nonsingular square matrix, where k is a nonzero coefficient. The slack variable generation method using QR decomposition has a benefit to obtain proper slack variable faster than the method using RREF. This is because the method using RREF should interchange the columns of a slack variable matrix, while the method using QR decomposition does not require the interchange process.
Considering the disturbance, the equations of motion in the vector form can be rewritten as (29) x¨ = f (x) + g (x) u + fr (x) where x = [x, y, z, φ , θ , ψ]T , u = [u1 , u2 , u3 , u4 ]T , and
4. APPLICATION FOR AFFINE UNDERACTUATED UAV SYSTEMS To verify the performance of the adaptive nonlinear control scheme with the proposed slack variable generation method, a quadrotor UAV system and an unmanned helicopter system are considered. 4.1 Application for A Quadrotor UAV System A quadrotor UAV system is one of the control affine underactuated nonlinear systems. The quadrotor UAV system has four rotors with fixed-pitch-angle, unlike a classic helicopter. Two diagonal rotors of the quadrotor UAV rotate in the same direction, whereas the others operate in the opposite direction. The quadrotor UAV can perform various motion by varying the speed of each rotor. Let us define F1 ,F2 ,F3 , and F4 be thrust forces generated by each rotor, respectively. Control inputs can be represented as (18) u1 = (F1 + F2 + F3 + F4 ) /m (19) u2 = (F2 − F4 ) /Jx (20) u3 = (−F1 + F3 ) /Jy (21) u4 = ρ (F1 − F2 + F3 − F4 ) /Jz where m and ρ are defined as the mass of a quadrotor UAV and the force-moment scaling factor, respectively, and Jx ,Jy , and Jz are the moment of inertia with regard to each axis, respectively. Note that control inputs, u1 , u2 , u3 , and u4 , denote the normalized total lift force, roll moment control input, pitch moment control input, and yaw moment control input, respectively. The geometry of a quadrotor UAV system is symmetric, and therefore the coupling inertia moments of the quadrotor UAV can be assumed to be zero. The equations of motion of the quadrotor UAV can be represented as follows (Lee et al. [2009], Lee et al. [2012]): (22) x¨ = u1 (cos φ sin θ cos ψ + sin φ sin ψ) y¨ = u1 (cos φ sin θ sin ψ − sin φ cos ψ) z¨ = u1 (cos φ cos θ ) − g φ¨ = u2 l θ¨ = u3 l
is considered. Ground effect is considered as external disturbance, because the ground effect cannot be ignored below a certain altitude. In this study, the ground effect is modeled as A A − 0 < z ≤ zz 2 gr (z) = (z + zcg ) (28) (zz + zcg )2 0 else
(23) (24)
(25) (26) ¨ ψ = u4 (27) where φ , θ , and ψ are roll angle, pitch angle, and yaw angle, respectively, g is the gravitational acceleration, and l is the length from the center of the quadrotor UAV to the rotor. To compare the computation time of two slack variable generation methods, the method using QR decomposition and the method using RREF, the landing mission of the quadrotor UAV 190
f (x) = [0, 0, −g, 0, 0, 0]T
(30)
fr (x) = [0, 0, gr (z) , 0, 0, 0]T
cos φ sin θ cos ψ + sin φ sin ψ cos φ sin θ sin ψ − sin φ cos ψ cos φ cos θ g (x) = 0 0 0 Note that g(x) has a full rank.
0 0 0 l 0 0
0 0 0 0 l 0
0 0 0 0 0 1
(31)
(32)
The augmented system using the slack variables can be represented as x¨ = f (x) + G (x) U − ν + fr (x) (33) Let us define a suitable sliding surface to control the quadrotor UAV system as S = [s1 , s2 , s3 , s4 , s5 , s6 ]T = e˙ + Kquad e (34) where Kquad is a positive definite diagonal weighting matrix. In the quadrotor UAV system, the desired values of φ˙ and θ˙ are defined as (35) φd = kφ1 e˙y + kφ2 ey θd = − kθ1 e˙x + kθ2 ex (36) where kφ1 and kθ1 are derivative gains, and kφ2 and kθ2 are proportional gains, respectively. The following augmented control input can be proposed to control the quadrotor UAV system. U = G−1 (x) − f (x) + νˆ − fˆr (x) + x¨ d − Kquad e˙ −CS (37)
Note that the ground effect is estimated below the altitude of zz , because the estimation of the ground effect above the altitude of zz is meaningless. 4.2 Application for An Unmanned Helicopter An unmanned helicopter is another example of the underactuated and highly coupled systems. In this study, an IGC (Integrated Guidance and Control) scheme of the unmanned helicopter is considered to utilize the proposed slack variable generation method (Hong and Kim [2012]). The state vector of the IGC system for the unmanned helicopter is chosen as T xIGC = [ xe ye ze φe θe ψe ] (38) where xe , ye , and ze are the error components between the position of the unmanned helicopter and the desired position, and φe , θe , and ψe are the attitude errors between the attitude of the unmanned helicopter and the desired attitude, respectively. In this study, the position of the unmanned helicopter and the desired position are defined in the inertial frame, whereas the
Mingu Kim et al. / IFAC-PapersOnLine 49-17 (2016) 188–193
(44)
(45) wv = Kz (zdIGC − z) + Kz˙ (˙zdIGC − z˙) where Kx , Ky , and Kz are the proportional gains, and Kx˙ , Ky˙ , and Kz˙ are the derivative gains for the unmanned helicopter, respectively. Now, the system equation of the IGC for the unmanned helicopter can be represented as (46) x¨ IGC = f (xIGC ) + g (xIGC ) uheli where uheli is the control input vector of the unmanned helicopter. The augmented system of the unmanned helicopter can be represented as (47) x¨ IGC = f (xIGC ) + G (xIGC ) Uheli − ν Let us define a suitable sliding surface to control the unmanned helicopter system as (48) Sheli = x˙ IGC + Kheli xIGC
The following Lyapunov candidate function is considered for the unmanned helicopter. 1 1 Lheli = Sheli T Sheli + ν˜ T Γheli ν˜ (49) 2 2 The following augmented control input can be obtained to control the unmanned helicopter system using the above Lyapunov candidate function. Uheli = G−1 (xIGC ) [− f (xIGC ) + νˆ − Kheli xIGC −Ch Sheli ] (50)
The adaptation law to estimate the unknown vector ν is obtained as (51) ν˙ˆ = −Γheli −1 Sheli 5. NUMERICAL SIMULATION RESULTS
Numerical simulations are performed to verify the performance of the proposed method for the quadrotor UAV system and the unmanned helicopter system. 191
Table 1. Computational time of two slack variable generation methods for the quadrotor UAV The method using QR decomposition 4.04 × 10−5 sec 10
The method using RREF 1.90 × 10−3 sec
10
20
5
QR Method RREF Method Commands
15 5
0
z(m)
˙ vv = Ky (ydIGC − y) + Ky˙ (y˙dIGC − y)
(43)
Figure 1 shows the time history of position and attitude of the quadrotor UAV during the given mission. Figure 2 shows the time history of the actual control inputs of the quadrotor UAV using the proposed method. Figure 3 shows the time history of the actual control inputs of the quadrotor UAV using the RREF concept. As shown in Figs. 1 – 3, closed-loop systems with nonlinear controllers using the slack variables generated by QR decomposition and RREF have similar performance. However, the computational time using QR decomposition is much faster than that using RREF. The average computational time for one time step is summarized in Table 1. As shown in Table 1, the method using QR decomposition is about fifty times faster than that using RREF.
10
0 -5
-10
5
0
100 200 time(sec)
-5
300
0
100 200 time(sec)
0
300
4
8
10
3
6
8
2
4
0
2 0
-1
-4
0
100 200 time(sec)
300
-6
300
0
100 200 time(sec)
300
4
0
-4
-3
100 200 time(sec)
2
-2
-2
0
6
1
ψ (deg)
˙ uv = Kx (xdIGC − x) + Kx˙ (x˙dIGC − x)
Landing after passing given waypoints is considered as a mission of the quadrotor UAV system. The parameters and the initial conditions of the quadrotor UAV for both methods are x0 = [x0 , y0 , z0 , φ0 , θ0 , ψ0 ]T = [10m, 10m, 20m, 0◦ , 0◦ , 10◦ ]T , J1 = J2 = 2Nms2 /rad, J3 = 3Nms2 /rad, l = 1m, m = 2kg, g = 9.81m/s2 , A = 0.5188, zz = 2m, zcg = 0.1m, kφ1 = kθ1 = 0.06, and kφ2 = kθ2 = 0.006. The positions of four waypoints are (5, 0, 10), (−10, −5, 15), (8, 5, 5), and (0, 0, 3), and the position of the goal point is (0, 0, 0), respectively. The weighting matrices are set as Γ = Ω = diag ([ 100 100 1 1 1 100 ]) (52) (53) Kquad = diag ([ 2 2 0.1 5 5 10 ]) 1.4 1.7 1.8 1.7 1.4 1.5 ζi = ( ) (54)
y(m)
The desired attitude commands for the unmanned helicopter can be represented as follows −1 ydIGC − y p (40) ψdIGC = tan xdIGC − x p sin ψ − v cosψ u v v dIGC dIGC φdIGC = sin−1 (41) u2v + v2v + (wv − g)2 −1 uv cos ψdIGC + vv sinψdIGC (42) θdIGC = tan wv − g where uv , vv , and wv are the virtual control variables, and x p and y p are the planar position of a waypoint just passed. In this study, the virtual control variables are defined as
To compare the efficiency of the slack variable generation methods, QR decomposition and RREF are used. Matlab R2011b and i5-2500 3.30GHz CPU with 4GB memory are used for simulation.
θ (deg)
where RI→B is the coordinate transformation matrix from the inertial frame to the body frame, and xdIGC , ydIGC , and zdIGC are the desired position in the inertial frame, respectively.
191
5.1 Results of The Quadrotor UAV System
x(m)
position errors are defined in the body frame. Therefore, the position errors can be represented as xdIGC − x xe ye = RI→B ydIGC − y (39) zdIGC − z ze
φ (deg)
IFAC ACA 2016 August 21-25, 2016. Quebec, Canada
0
100 200 time(sec)
300
-2
Fig. 1. States history of the quadrotor UAV 5.2 Results of The Unmanned Helicopter System As a second example, position tracking problem is considered for a mission of the unmanned helicopter system. The parameters and initial conditions of the unmanned helicopter for both methods are x0 = [x0 , y0 , z0 , φ0 , θ0 , ψ0 ]T =
IFAC ACA 2016 192 August 21-25, 2016. Quebec, Canada
1.5 1
6 4
100 200 time(sec)
0.5
0.5
QR Method RREF Method 10
0 −0.5
−1.5 0
300
1
0.5
0
9
0
-0.5
100 200 time(sec)
300
-1
-0.5
0
10
20
-1
30
6
0
10
0
−0.2 −0.4
−1
−0.6
−2 0
−0.8 0
100 200 time(sec)
300
100 200 time(sec)
0.5
0
-0.5
-0.5
-1
-1
0
10
20
30
0
10
20
-1
0
0.05
0.005
0 -0.05
−0.5
QR Method RREF Method
−0.2 −0.4
0.01
0.005
0.005
0
10
0
10
20
-0.01
30
0
10
1
1
1
0.5
0.5
0.5
0
−0.5
−1 0
(57)
As shown in Figs. 6 and 7, the generated slack variables using QR decomposition and RREF have similar performance to control the unmanned helicopter. Again, the computational time using QR decomposition is much faster than that using RREF in the unmanned helicopter case. The average computational time for one time step in the unmanned helicopter case is summarized in Table 2. The method using QR decomposition is about twenty times faster than that using RREF.
20
30
time
Fig. 5. Control surface inputs history of the unmanned helicopter
(56)
Figure 4 shows the time history of position and attitude of the unmanned helicopter during the given mission. Figure 5 shows the time history of the control surface inputs of the unmanned helicopter.
30
0
time
[0m, 0m, 5m, 0◦ , 0◦ , 0◦ ]T , Kx = Ky = 0.05, Kz = 0.187, Kx˙ = Ky˙ = 0.5, and Kz˙ = 1.87. The position of the goal position is (0, 0, 10) m. The weighting matrices are set as (55) Γheli = diag ([ 1 1 1 1 1 1 ])
20
-0.005
300
Kheli = diag ([ 1 2 0.1 5 5 10 ]) ζhelii = ( 1.4 1.7 1.8 1.7 1.4 1.5 )
0
time
0.01
-0.01 100 200 time(sec)
Fig. 3. Control inputs history of the quadrotor UAV using the RREF method
0
−0.5
10
20
−1 0
30
0
−0.5
10
time
20
−1 0
30
1
1
0.5
0.5
0.5
0
−0.5
0
−0.5
10
20 time
30
−1 0
20
30
20
30
time
1
−1 0
10
time
0
−0.5
10
20 time
30
−1 0
10 time
Fig. 6. Differences of states history of the unmanned helicopter between two methods 6. CONCLUSION A slack variable generation method using QR decomposition is proposed to design an adaptive nonlinear control law for affine and underactuated nonlinear systems. QR decomposition has an advantage of fast and accurate computation to solve a least square problem and can be used to deal with underdetermined systems. The proposed slack variable generation method is ap-
Table 2. Computational time of two slack variable generation methods for the unmanned helicopter The method using QR decomposition 1.14 × 10−4 sec
-0.01
30
pz[m]
−0.8 0
20
-0.005
px[m]
300
10 time
−0.6 100 200 time(sec)
0
300
phi[deg]
−2 0
-0.1 100 200 time(sec)
-0.005
psi[deg]
0
0
0
U tail
2 u4 (rad/s2)
0.2
−1
30
0
3
1
10 time
U lon
RREF Method
0.5
−1.5 0
300
20
0
30
0.01
U lat
100 200 time(sec)
30
-0.5
0.1
−1 0
20
Fig. 4. States history of the unmanned helicopter
py[m]
8
10
time
theta[deg]
u2 (rad/s2)
u1 (m/s2)
0.5
0
U col
1
6
u3 (rad/s2)
0.5
1.5
10
4
1
time
Fig. 2. Control inputs history of the quadrotor UAV using the proposed method 12
1
300
0
time
1
phi[deg]
1
5
30
psi[deg]
0
20 time
theta[deg]
0.2
2 u4 (rad/s2)
u3 (rad/s2)
time
3
8 7
−1 0
1
pz[m]
8
QR Method
py[m]
u2 (rad/s2)
u1 (m/s2)
10
px[m]
12
Mingu Kim et al. / IFAC-PapersOnLine 49-17 (2016) 188–193
The method using RREF 2.10 × 10−3 sec
192
0.01
0.05
0.005
0 −0.05
−0.1 0
5
10
15 time
20
25
0.01
0.01
0.005
0.005
0 −0.005
−0.01 0
This work was supported by the National Research Foundation of Korea (NRF) grant funded by the Korean government (MSIP) (No. 2014R1A2A1A12067588).
0
−0.01 0
30
5
10
15 time
20
25
REFERENCES
30
0 −0.005
5
10
15 time
20
25
30
−0.01 0
193
ACKNOWLEDGEMENTS
−0.005
U tail
U lat
Mingu Kim et al. / IFAC-PapersOnLine 49-17 (2016) 188–193
0.1
U lon
U col
IFAC ACA 2016 August 21-25, 2016. Quebec, Canada
5
10
15 time
20
25
30
Fig. 7. Differences of control surface inputs history of the unmanned helicopter between two methods plied to design adaptive sliding mode controllers of a quadrotor unmanned aerial vehicle system and an unmanned helicopter system. Numerical simulations were performed to verify the performance of the proposed slack variable generation method. The computational time of the proposed slack variable generation method is much faster than that of the method using reduced row echelon form. QR decomposition for generating the slack variables is appropriate to the on-line control systems such as a fault tolerant controller and a controller in the dynamic environment for underactuated systems. The further work is to analyze the optimal selection of slack variables for enhancing the control performance. Appendix A. PROOF OF THEOREM 1 Let a1 , a2 , ..., am be the columns of A, q1 , q2 , ..., qm be the columns of Q1 , and qm+1 , qm+2 , ..., qn be the columns of Q2 . Or, A = [ a 1 a2 · · · a m ] (A.1) q · · · q q (A.2) Q1 = [ 1 2 m] (A.3) Q2 = [ qm+1 qm+2 · · · qn ] From (17), the matrix A can be represented as (A.4) A = Q 1 R1 The columns of A can be rewritten as a linear combination of the columns of Q1 , because the columns of A are in span {q1 , q2 , · · · , qm }. a1 = a1 , q1 q1 + a1 , q2 q2 + · · · + a1 , qm qm a2 = a2 , q1 q1 + a2 , q2 q2 + · · · + a2 , qm qm (A.5) .. . am = am , q1 q1 + am , q2 q2 + · · · + am , qm qm where ·, · represents the inner product of two vectors.
Suppose that the rank of [A|Q2 ] is n − 1, and the m-th column of A and the first column of Q2 are linearly dependent, i.e., am = kqm+1 . Then, the m-th column of A can be rewritten as am = am , q1 q1 + am , q2 q2 + · · · + am , qm qm = kqm+1 (A.6) It means that qm+1 is not linearly independent with any columns of Q1 . However, the matrices Q1 and Q2 are orthogonal because Q has orthonormal columns. Therefore, the assumption, i.e., ρ ([A|Q2 ]) = n − 1, is a contradiction. In other words, A and Q2 are orthogonal, i.e., ρ ([A|Q2 ]) = n. 193
C. Ahn, Y. Kim, and H.J. Kim. Adaptive sliding mode control for non-affine nonlinear vehicle systems. In AIAA Guidance, Navigation, and Control Conference and Exhibit, Hilton Head, SC, August 2007. A. Benallegue, A. Mokhtari, and L. Fridman. High-order sliding-mode observer for a quadrotor uav. International Journal of Robust and Nonlinear Control, 18(4-5):427–440, 2008. Y. Hong and Y. Kim. Integrated design of rotary uav guidance and control systems utilizing sliding mode control technique. International Journal of Aeronautical and Space Sciences, 13(1):90–98, 2012. J.L. Junkins and Y. Kim. Introduction to Dynamics and Control of Flexible Structures. AIAA Inc, Washington DC, 1993. M. Kim, Y. Kim, and J. Jun. Adaptive sliding mode control using slack variables for affine underactuated systems. In Proceedings of the 51st IEEE Conference on Decision and Control, pages 6090–6095, Maui, HI, December 2012. D. Lee, H.J. Kim, and S. Sastry. Feedback linearization vs. adaptive sliding mode control for a quadrotor helicopter. International Journal of Control, Automation, and Systems, 7(3):419–428, 2009. D. Lee, H. Lim, H.J. Kim, Y. Kim, and K.J. Seong. Adaptive image-based visual servoing for an underactuated quadrotor system. Journal of Guidance, Control, and Dynamics, 35(4): 1335–1353, 2012. R. Padhi, N. Unnikrishnan, and S.N. Balakrishnan. Modelfollowing neuro-adaptive control design for non-square, nonaffine nonlinear systems. IET Control Theory Application, 1 (6):1650–1661, 2007. K. Pathak, J. Franch, and S.K. Agrawal. Velocity and position control of a wheeled inverted pendulum by partial feedback linearization. IEEE Transactions on Robotics, 21(3):505– 513, 2005. L. Wu, P. Shi, and H. Gao. State estimation and sliding mode control of markovian jump singular systems. IEEE Transactions on Automatic Control, 55(5):1213–1219, 2010. L. Wu, H. Gao, and C. Wang. Quasi sliding mode control of differential linear repetitive processes with unknown input disturbance. IEEE Transactions on Industrial Electronics, 58(7):3059–3068, 2011. R. Xu and U. Ozguner. Sliding mode control of a class of underactuated systems. Automatica, 44(1):233–241, 2008.