Journal of Institute of Control, Robotics and Systems (2016) 22(10):779-787
http://dx.doi.org/10.5302/J.ICROS.2016.16.0111 ISSN:1976-5622 eISSN:2233-4335
GAFC 비선형 제어기법을 적용한 쿼드로터의 자세 및 고도제어 Nonlinear Attitude Control for Uncertain Quad-rotors Using
a Global Approximation-Free Control Scheme
김 영 욱, 박 성 용, 이 현 재*
(Young-Ouk Kim1, Seong-Yong Park1, and Henzeh Leeghim1,*)
1Department of Aerospace Engineering, Chosun University
Abstract: A nonlinear control law for the quad-rotor of a low-complexity, global approximation-free from system uncertainties and external disturbances are described in this paper. The control law guarantees convergence to a small bounded error using a prescribed performance function. The stability of the proposed nonlinear control system is also proven by the Lyapunov stability theorem. The advantage of this technique is that it has a simpler form than any other nonlinear compensators and is applicable to any nonlinear systems without precise knowledge of the systems. In this paper, the proposed approach is applied to attitude/altitude control of a quad-rotor. Numerical simulations are performed to investigate the proposed nonlinear attitude control law by applying it to an uncertain quadcopter system with external disturbances.
Keywords: qaud-rotor, trajectory tracking, attitude control, model uncertainty, nonlinear control, a low-complexity global approximation-free control scheme
I. 서론
최근 급격하게 발전하고 있는 과학기술의 발달로 인해 앞 으로의 과학기술은 무인비행기나 자율주행 자동차와 같이 무인화/자동화 기술의 발전이 기대되고 있다. 현재 무인항공 기 중에서 가장 연구가 활발히 진행되고 있는 것은 드론 (drone)이라 불리는 쿼드로터(quad-rotor) 형태이다. 쿼드로터 는 그림 1과 같은 회전익 항공기 형태로 모터 4개의 추력 제 어를 통해 원격 또는 자율 비행을 한다. 또한, 이들은 소형화 와 수직 이 · 착륙(VTOL) 및 호버링(hovering)이 가능하여 공 간의 제약을 받지 않는 장점이 있어 정찰, 감시, 관측, 운송, 촬영과 같은 다양한 분야에 적용되고 있다.
쿼드로터의 자율 비행을 위해서는 자체의 자세제어에 대 한 안정성과 이의 신뢰성이 필수적으로 보장되어야 한다. 그 리고 쿼드로터는 회전익 항공기인 헬리콥터보다 기계적으로 간단하고 구조 대칭성으로 인해 시스템 모델링이 간단하지 만 4개의 로터에 대한 공기역학적 모델링이 다소 복잡하다 는 단점이 있으며, 상대적으로 기체가 작고 가벼우므로 바람 과 같은 외란과 센서 오차 등에 민감한 단점이 있다. 따라서 실제 운용에 따른 시스템과 수학적 모델링에 오차가 다소 존 재할 수 있다. 또한, 쿼드로터는 4개의 로터로 6자유도(6- DOF) 운동을 제어하는 하위 구동(under-actuated) 시스템으로 고기동 비행 시 비선형성이 강하게 나타난다. 따라서 쿼드로 터의 자세 안정화 제어기설계 시 모델의 불확실성과 비선형 성에 대한 강인한(robustness) 제어기의 설계가 필요하다.
현재까지 쿼드로터의 자세 안정성과 신뢰성을 보장하기 위해서 많은 연구가 진행되어왔다. 그 중 대표적인 연구는 쿼드로터의 간단한 선형모델을 통한 PID 제어[1]와 LQR 제 어[2]가 있는데 이는 제어기의 형태가 간단하지만 선형구간 내에서만 작동되어야 한다는 한계가 존재한다. 그리고 쿼드 로터의 비선형모델을 통한 sliding mode 제어와 back stepping 제어, 신경망 제어연구 등은[3-6] 선형 제어기보다 정확한 장 점이 있지만, 시스템 모델의 비선형성에 따른 제어기설계의 복잡성이 단점으로 작용한다.
최근 이러한 선형 제어기와 비선형 제어기의 장점을 포함 한 새로운 형태의 비선형 제어기인 낮은 복잡도를 가지며 불 확실성으로부터 자유로운 비선형 제어기(GAFC: A Low- Complexity Global Approximation-Free Control)에 대한 연구[7]가 제안되었다. 따라서 본 연구에서는 시스템의 불확실성과 외 란이 존재하는 쿼드로터의 비선형 동역학적 모델에 낮은 복 잡도를 갖는 GAFC 제어기법을 사용하여 쿼드로터의 자세제 어 성능을 보장하는 비선형 자세 및 고도 제어기를 설계하였 다. 이와 같은 쿼드로터 제어기는 기존의 비선형 제어기보다 매우 단순한 형태를 유지함으로써 실제 적용이 상대적으로 용이하며, 초기의 시스템 얼라인먼트(alignment)등의 불확실성 이 존재하더라도 제어 성능을 보장하기 때문에 초기 개발에 매우 큰 장점을 지니고 있다. 또한, 본 연구에서는 제안된 비 선형 제어기에 적합한 단순한 궤적 추종 알고리즘을 추가하 여 연구를 수행하였다.
본 논문은 다음과 같이 구성되어 있다. 먼저 II장에서 쿼드 로터의 비행원리와 동역학적 모델링을 소개한다. III장에서 본 연구에서 제안하는 비선형 제어기의 구성을 위하여 표준오 차(standard state error), 성능지수 함수(prescribed performance function), 그리고 보조 함수(auxiliary function) 등의 개념을 소 개한다. 다음으로, 낮은 복잡도를 갖는 쿼드로터의 비선형 자 세 및 고도제어기를 설계한다. IV장에서는 라야프노프 안정 Copyright© ICROS 2016
* Corresponding Author
Manuscript received May 13, 2016 / revised August 18, 2016 / accepted August 23, 2016
김영욱, 박성용, 이현재: 조선대학교 항공우주공학과
([email protected]/[email protected]/h.leeghim@controla.
re.kr)
※ 본 연구는 한국연구재단의 기본연구지원사업(NRF-2015R1D1A1A 01058978)에 의하여 연구되었음.
김 영 욱, 박 성 용, 이 현 재 780
성(Lyapunov stability) 이론을 통해 쿼드로터 시스템의 안정성 을 증명하여 다양한 불확실성이 존재하는 경우에도 제어기 가 충분히 적용 가능함을 보인다. 다음으로, V장에서 쿼드로 터의 활용성을 증대하기 위하여 개발된 자세 및 고도제어기 와 함께 적용할 수 있는 궤적 추종 알고리즘에 대하여 논한 다. VI장에서는 앞에서 설계한 궤적 추종 및 자세/고도 제어 기법을 기반으로 전체적인 쿼드로터의 자세제어에 대한 구 성을 정리한다. VII장에서 수치시뮬레이션을 통해서 제어기의 성능을 검증하고 VIII장에서 결론으로 마무리한다.
II. 쿼드로터의 운동방정식 1. 쿼드로터의 비행원리
쿼드로터는 그림 1과 같이 반 시계 방향으로 회전하는 1, 3 번 로터와 시계 방향으로 회전하는 2, 4번 로터, 총 4개의 로 터 추력으로 3차원 공간에서 직선운동과 회전운동을 갖는 6 자유도 운동을 한다. 쿼드로터에서 직선운동을 위한 구동력 은 ZB축으로의 추력만 작용하며 각 로터의 추력을 합한 형 태로 나타낸다[8].
1 2 3 4
( )
TB= f + f + +f f (1)
여기서 , ( 1,2,3,4)fi i = 는 로터의 추력을 나타낸다. 쿼드로 터의 각 축으로의 회전운동에서 롤(roll)과 피치(pitch)운동은 서로 같은 방향으로 회전하는 한 쌍의 로터의 추력차이를 통 해 아래와 같이 나타낸다.
4 2
( )
L f f
τ =φ − (2)
1 3
( )
L f f
τ =θ − (3)
여기서 L 은 쿼드로터의 무게중심부터 로터까지의 거리이다.
요(yaw)운동은 각각 동일한 방향으로 회전하는 두 쌍의 로터 의 총 추력의 합의 반대방향으로 나타낸다.
2 4 1 3
( )
d f f f f
τ =ψ + − − (4)
여기에서 d 는 요(taw)운동의 항력계수를 의미한다. 각 로터 의 추력은 다음과 같이 로터의 각속도 제곱에 비례한다[8].
2( 1 ~ 4)
i t i
f =kω i= (5)
여기서 kt는 추력계수이며 ,( 1,2,3,4)ωi i= 는 로터의 회전각 속도를 나타낸다. 따라서 위의 식들을 정리하면 쿼드로터의 제어입력은 다음과 같은 관계식으로 나타낼 수 있다[8,9].
2 2
1 4 2
2 2
2 1 3
2 2 2 2
3 2 4 1 3
2 2 2 2
4 1 2 3 4
( )
( )
( )
( )
t t
B t
U Lk U Lk U d T U k
φ φ ψ
τ ω ω
τ ω ω
τ ω ω ω ω
ω ω ω ω
= = −
= = −
= = + − −
= = + + +
(6)
2. 쿼드로터의 좌표변환
비행체의 운동방정식을 획득하기 위하여 먼저 쿼드로터의 운동을 하나의 기준 좌표계에 대하여 표현한다. 그림 1과 같 이 쿼드로터의 직선운동에 대한 위치, PI=[ , , ]x y zT 와 회전 운동에 대한 각도, θI=[ , , ]φ θ ψ T 는 관성좌표계(inertial-frame,
, , )
I I I
X Y Z 를 기준으로 표현된다. 그리고 쿼드로터의 직선운 동의 속도정보, VB=[ , , ]u v wT 와 회전운동의 각속도정보,
[ , , ]T
B= p q r
Ω 는 쿼드로터의 동체좌표계(body-frame, X B,
B, )B
Y Z 를 기준으로 표현된다. 또한, 쿼드로터의 운동방정식 을 유도하기 위해서는 하나의 좌표계에 관하여 기술해야 하 므로 관성좌표계를 동체좌표계로 변환하기 위한 좌표변환행 렬 R 을 통해 변환한다. 본 논문에서의 좌표변환행렬 IB RIB
은 3→ → 변환 순서로 오일러각(Euler angle, 2 1 ψ → →θ φ) 을 사용하였다[10].
c
IB
c c s c s
R s c c s s c c s s s s s s c s c c s s s c c c
ψ θ ψ θ θ
ψ φ ψ θ φ ψ φ ψ θ φ θ φ ψ φ ψ θ φ ψ φ ψ θ φ θ φ
⎡ − ⎤
⎢ ⎥
= −⎢ + + ⎥
⎢ + − + ⎥
⎣ ⎦
(7)
여기서 c=cos,s=sin 을 의미하고 R 은 표준직교행렬IB
(orthonormal)이다. 또한 관성좌표계의 오일러각의 시간변화율 을 동체좌표계의 각속도로 변환시켜주는 행렬 N 은 다음과 IB
같다[11].
1 0
0 c
0
B I
s
N c s
s c c θ φ θ φ
φ θ φ
⎡ − ⎤
⎢ ⎥
= ⎢ ⎥
⎢ − ⎥
⎣ ⎦
(8)
따라서 쿼드로터 관성좌표계의 속도벡터와 동체좌표계의 속도벡터의 관계, 그리고 관성좌표계의 각속도벡터와 동체좌 표계의 각속도벡터의 관계는 다음과 같다.
B B=RI I
V P (9)
B=NIB I
Ω θ (10)
3. 쿼드로터의 동역학적 모델링
본 논문에서 쿼드로터의 동역학적 운동방정식은 뉴턴의 그림 1. 쿼드로터 시스템의 좌표계.
Fig. 1. Coordinate system of quad-rotor.
Young-Ouk Kim, Seong-Yong Park, and Henzeh Leeghim
GAFC 비선형 제어기법을 적용한 쿼드로터의 자세 및 고도제어 781
제 2 법칙을 사용하여 유도한다. 먼저 뉴턴의 제 2 법칙은 관성좌표계를 기준으로 나타내기 때문에 식 (9)와 (10)을 다 음과 같이 관성좌표계 성분으로 나타낸다. 여기서 각속도변 환행렬 N 는 BI (NIB)−1이고 이는 표준직교행렬이 아니다.
I
I I B B
I I BI B
R N
= =
= =
V P V
Ω θ Ω
(11)
식 (11)을 가지고 뉴턴-오일러방정식(Newton-Euler equation) 을 이용하여 쿼드로터의 상태 운동방정식을 구하면 다음과 같다. 여기서 J 는 쿼드로터의 관성모멘트를 나타낸다[12].
1
/ ( )
{ ( )}
B
B I I B B
B IB I B B
R m
− N
= Σ − ×
= Σ − ×
V F Ω V
Ω J M Ω JΩ
(12)
위 식에서 쿼드로터에 작용하는 전체적인 힘으로는 추력 FT과 중력 F G, 공기역학적 항력 F A, 기타 외력 ΔFD이 있 고 모멘트로는 추력으로 인한 모멘트 Mτ 와 항력으로 인한 모멘트, 자이로스코프 효과 등이 있는데 이를 하나의 기타 외부토크 ΔMD로 정리하였다. 따라서 최종적인 쿼드로터의 동역학적 방정식을 정리하면 다음과 같다[8].
, , , ,
1 , ,
( ) / ( )
{( ) ( )}
I B BI
B IB G I T B A B D B B B
I
I B B
B B D B B B
R
R m
N
− τ
=
= + + + Δ − ×
=
= + Δ − ×
V V
V F U F F Ω V
Ω Ω
Ω J U M Ω JΩ
(13)
여기서 추력 FT과 모멘트 Mτ는 쿼드로터의 구동요소로 각 각 제어입력 U U 에 해당된다. T, τ
III. 자세 및 고도 제어기 설계
앞 절에서 쿼드로터의 동역학적 운동방정식을 식 (13)과 같이 유도하였다. 실제 시스템에서는 프로펠러에서 발생하는 진동이나 항력, 또는 프로펠러의 모델링, 시스템의 오정렬 (misalignment) 등으로 발생하는 오차들로 인해 실제 쿼드로 터를 명확하게 모델링하는 것은 매우 난해하다. 따라서 이들 을 시스템의 불확실성(uncertainty) 성분으로써 쿼드로터의 자세 제어에 대한 안정성과 신뢰성을 저해하는 요소가 된다. 따라 서 본 연구에서는 이러한 시스템의 불확실성에 영향을 적게 받으면서 낮은 복잡성을 갖는 비선형 제어기의 설계하였다.
1. 성능지수 함수의 정의
제어하고자 하는 대상의 상태오차를 e x x= − d와 같은 형 태로 나타낸다. 그리고 상태오차가 일정한 값 이내에 존재하 도록 하는 성능지수 함수(prescribed performance function)를 아 래와 같이 정의한다[7].
( )t e t( ) ( ),t t 0
ρ ρ
− < < ∀ ≥ (14)
여기에서 ρ( )t 함수가 성능지수 함수이며 다음과 같은 형태 로 가정할 수 있다.
( ) (t 0 )e lt , t 0
ρ = ρ −ρ∞ − +ρ∞ ∀ > (15) 위의 식에서 ρ ρ0, ,l∞ 는 양수이고, 어떠한 조건에서든 상
수 ρ0는 초기값으로 항상 초기 오차보다 큰 형태인 ρ > 0
( )0
e 를 만족하도록 설정한다. 또한, 상수 ρ∞=limt→∞ρ( )t 는 상태오차의 최대 허용 가능한 정상상태 오차(steady state error)로 설정한다. 그리고 l 은 성능함수 ρ( )t 의 감소율로 상태오차의 수렴속도에 영향을 준다. 자세한 성능지수 함수 에 대한 형태는 그림 2의 점선과 같이 나타내어 진다. 적절 한 성능지수 함수 ρ( )t 의 설정에 의해 상태오차에 대한 성 능 특성이 결정된다.
2. 보조 함수
비선형 제어기의 설계를 위해 다음과 같이 보조 함수 (auxiliary function) εf : ( 1,1)− → R 를 정의한다[7].
( ) ln 1
f 1 ζ
ε ζ ζ
⎛ + ⎞
= ⎜⎝ − ⎟⎠ (16)
보조 함수 ε ζ 가 등식을 성립하기 위해서는 항상 f( ) ζ 는 1 ζ 1
− < < 을 만족해야 한다. 또한, 보조함수 ε ζ 를 자연f( ) 상수 eR을 밑으로 하는 지수함수로 변환하고 ζ 에 관한 식 으로 정리하면 보조 함수는 다음과 같은 하이퍼 탄젠트 (hyperbolic tangent) 함수가 된다.
tanh ( ) 2
f t ζ = ⎛⎜ε ⎞⎟
⎝ ⎠ (17)
3. 표준오차의 정의
제어기의 설계를 위해 상태오차 e 를 성능지수 함수 ( )ρ t 로 나눈 것을 표준오차(standard state error) ζ 로 정의한다. 그 렇게 되면 ρ1(0)> x(0)−xd(0) 인 상태에서는 ζ 의 값이 항 상 − < < 사이에 존재하게 된다[7]. 1 ζ 1
( ) ( )d e x x
t t
ζ ρ ρ
= = − (18)
이로 인해 표준오차 ζ 는 보조 함수 ε ζ 의 우변의 진f( ) 수조건을 만족하므로 εf( )t 는 −∞ <εf( )t < ∞ 값으로 발산 그림 2. 성능지수 함수 그래프.
Fig. 2. Graphical illustration of the prescribed performance function.
Nonlinear Attitude Control for Uncertain Quad-rotors Using a Global Approximation-Free Control Scheme
김 영 욱, 박 성 용, 이 현 재 782
하지 않고 일정 수준의 값보다 작은 값을 유지하게 된다.
4. GAFC 제어기의 설계과정
이제부터 앞서 정의된 오차를 사용하여 제어기를 설계하 는 방법에 대하여 설명하기로 한다. 먼저, 다음과 같은 제어 시스템을 가정한다[7].
1 2
2 ( 1, 2)
x x
x f x x u
=
= +
(19)
시스템의 상태변수 x1과 명령 xd 값의 상태오차 e 를 표 준오차 ζ 정의에 따라 다음과 같이 나타낼 수 있다. 여기서
1( ), ( )t 2t
ρ ρ 는 ρi(0)>e( )0 를 만족하는 성능지수 함수다.
1 1 1( ) x xd
ζ t ρ
= − (20)
1 1 1
1
( ) ln 1
f 1 ζ
ε ζ ζ
⎛ + ⎞
= ⎜⎝ − ⎟⎠ (21)
식 (21)의 보조 함수에 상수 K1을 곱한 형태의 가상제어 기(virtual controller)를 다음과 같이 구성한다.
1 K1 f( )1
α = − ε ζ (22)
이제 시스템의 상태변수 x2를 표준오차 ζ2로 나타내기 위하여 x1에 대한 가상제어입력 α1을 목표 값으로 취한다.
그 후 표준오차 ζ2를 보조 함수에 대입하고 양의 상수 K2
를 곱한 것을 제어입력 u 로 설계한다.
2 1
2 2( ) x
t ζ α
ρ
= − (23)
2 2 2
2
( ) ln 1
f 1 ζ
ε ζ ζ
⎛ + ⎞
= ⎜⎝ − ⎟⎠ (24)
2 f( )2
u= −K ε ζ (25)
5. 쿼드로터의 자세 및 고도 제어기의 설계
이번 절에서는 식 (13)과 같이 외란을 포함하고 있는 쿼드 로터의 운동방정식에 앞 절에서의 설계 과정을 도입하여 쿼 드로터의 자세 및 고도제어기를 설계한다.
5.1 자세제어
쿼드로터의 자세제어를 위해 자세에 관한 성분인 각도 [ , , ]φ θ ψ T
=
Θ 와 각속도 Ω=[ , , ]p q rT 를 가지고 각각의 , ,
φ θ ψ 의 자세성분에 대한 자세제어기를 설계한다. 제어기 설계 순서는 앞 절에서의 제어기 설계 순서와 동일하다. 목 표 값을Θd=[ , , ]φ θ ψd d d T 로, 각각의 성능지수함수를 ρi=
[ , , ] ,ρ ρ ρφ θ ψ T ρj=[ , , ]ρ ρ ρp q rT 로 나타낸다. 첫 번째로 다 음과 같은 방식으로 쿼드로터의 자세 φ θ ψ 에 따른 각각의 , , 가상제어입력 αi ( 1 ~ 3)i= 을 설계한다.
( )
( ) ln 1 ( 1,2,3) 1
( )
i d i
i i
f i i i
i
i i f i i
t
i k
ζ ρ
ε ζ ζ
ζ
α ε ζ
Θ − Θ
=
⎛ + ⎞
= ⎜⎝ − ⎟⎠ =
= −
(26)
여기서 ( 1 ~ 3)ζi i= 는 자세의 각도 성분 Θ=[ , , ]φ θ ψ T과 목 표값 Θd=[ , , ]φ θ ψd d d T 에 대한 표준오차이고, ε ζ 는 각f i( )i
도 성분에 대한 보조 함수다. ( 1 ~ 3)k i =i 는 양의 상수다.
두 번째로는 앞에서 설계한 가상제어입력 αi( 1 ~ 3)i= 와 쿼드로터의 각속도 Ω=[ , , ]p q rT 에 따른 각각의 제어 입력
( 1 ~ 3)
i i =
U 를 다음과 같이 설계한다.
( )
( ) ln 1 ( , 1,2,3) 1
( )
i i
j j
j f j j
j
i j f j j
t
i j
U k
ζ α ρ ε ζ ζ
ζ ε ζ
=Ω −
⎛ + ⎞
= ⎜⎜⎝ − ⎟⎟⎠ =
= −
(27)
여기서 ζj(j=1 ~ 3)는 자세의 각속도 성분 Ω=[ , , ]p q rT 와 가상제어입력 αi ( 1 ~ 3)i= 대한 표준오차이고, ε ζf j( )j 는 각속도 성분에 대한 보조 함수다. 여기서 k j =j( 1,2,3)도 양 의 상수이다. 위와 같은 설계과정을 통해 최종적으로 얻어진 각각의 U U U1, ,2 3가 쿼드로터의 자세제어를 위한 3축의 토 크 제어입력 벡터 Uτ =[ , , ]U U U1 2 3T로 정의 된다.
5.2 고도제어
쿼드로터의 고도제어를 위해 위치벡터 P=[ , , ]x y zT의 고 도성분 z 와 속도벡터 V=[ , , ]u v wT 의 고도에 대한 속도성 분 w 를 가지고 고도제어기를 설계한다. 여기서 상태변수
z1=z이고 z2=w이다.
첫 번째로 고도제어를 위해 원하는 고도 값을 zd로 설정 한다. 그 후 고도의 상태오차 ez1= −z z1 d에 미리 정의한 성 능지수 함수 ρz1( )t 로 나누어 표준오차 ζ 을 구한다. 표준z1
오차 ζz1을 보조 함수에 대입하여 εf z1( )ζz1 을 구하고 거기 에 양의 상수 kz1을 곱하여 가상제어입력 αz1을 획득한다.
두 번째로 상태변수 z2와 가상제어입력 αz1의 차이를 상 태오차를 ez2= −z α2 z1으로 정의하고 고도에 대한 성능지수 함수 ρz2( )t 로 나누어 표준오차 ζ 를 구한다. 표준오차 z2
2
ζz 를 보조 함수 εf z2(ζz2)에 대입하고 양의 상수 kz2를 곱 하여 고도 제어기 U 를 설계한다. (식 (29) 참조). 이것은 최4
종적인 쿼드로터의 ZB축의 고도 제어를 위한 제어입력으로 정의할 수 있다.
1 1 1
1 1 1
1
1 1 1 1
( ) ( ) ln 1
1 ( )
z d z
f z z z
z
z z f z z
z z t
k
ζ ρ
ε ζ ζ
ζ
α ε ζ
= −
⎛ + ⎞
= ⎜⎝ − ⎟⎠
= −
(28)
2 1
2 2
2 2 2
2
4 2 2 2
( ) ( ) ln 1
1 ( )
z z z
f z z z
z
z f z z
z t
U k
ζ α ρ ε ζ ζ
ζ ε ζ
= −
⎛ + ⎞
= ⎜⎝ − ⎟⎠
= −
(29)
GAFC 비선형 제어기법을 적용한 쿼드로터의 자세 및 고도제어 783
IV. Lyapunov 안정도 증명
낮은 복잡도를 가지며 시스템의 불확실성으로부터 자유로 운 비선형 제어기의 안정성에 대한 이론적인 사항은 참고문 헌[7]에 자세히 나타나있다. 본 장에서는 이 기법을 기초로 하여 쿼드로터 시스템의 안정성을 검증한다.
본 연구에서는 쿼드로터의 자세와 고도에 대해서 비선형 제어기를 설계하였으므로 자세와 고도에 관련된 상태변수를 가지고 안정성을 증명한다. 증명과정을 간단하게 하기 위해 쿼드로터의 자세와 고도의 상태변수를 하나의 상태변수 벡 터 Χ=[Χ Χ1; 2]∈R 로 나타낸다. 여기서 8 Χ1=[ , , , ]φ θ ψ zT
∈ R 이고 4 Χ2=[ , , , ]p q r wT∈R 이다. 따라서 상태변수 벡터 4 Χ를 통해 쿼드로터의 운동방정식 식 (13)을 정리하여 상태 공간 방정식으로 나타내면 다음과 같다.
1 2
2 f
=
= + X Χ
Χ F U
(30)
여기서 F 는 쿼드로터에 작용하는 모든 힘과 토크를 포함하f
고 또한 불확실(uncertainty)한 요소와 외란의 항인 ΔF 까지 f
포함한다. 여기서 U=[ ;U Uτ T]∈R 는 쿼드로터의 토크 4
1 2 3
[ , , ]U U U T
τ =
U 와 추력 UT =U4로 이루어진 벡터다.
1. 안정도 증명
리야프노프 후보(Lyapunov candidate) 함수 V εi( f i) :R n
→ R 를 다음과 같이 정의한다[13].
1 2 ( 1, ,4)
i 2 f i
V = ε i= (31)
이때 이 함수는 ε = 일 때만 ( ) 0f i 0 V εi f i = 이고 그 외에 서는 ( ) 0V εi f i > 을 만족하는 양의 정부호(positive definite) 함 수이다. 여기서 ε 는 식 (16)과 같고 변수 f i ζ 는 식 (18)과 i
같다. 이제 리야프노프 안정성 이론에 따라 식 (31)을 미분하 면 다음과 같이 나타낼 수 있다.
2 1
2 ( ( ) ( ) ) (1 )
i f i f i f i d i i
i i
V ε ε ε i i ζ ρ
ζ ρ
⎡ ⎤
= = ⎢⎣ − Χ −Χ − ⎥⎦
(32)
이때 식 (32)에 X1( )i =Χ2( ),i 식 (22) 그리고 식 (23)을 대 입하여 정리하면 다음과 같이 나타낼 수 있다.
4 4
2
2 ( ( ) )
(1 )
i f i i f i i i d i i
i i
V ε Kε ζ ρ i ζ ρ
ζ ρ + +
⎡ ⎤
= ⎢⎣ − − + −Χ − ⎥⎦
(33)
ρi와 ρi+4는 식 (15)에 의해 다음과 같이 나타낼 수 있고 이는 미리 설정한 값에 따라 특정 범위 내에 존재함을 알 수 있다.
( ) ( (0) ( )) l ti ( ), ( 0, 1 ~ 8)
i t i i e i t i
ρ = ρ −ρ ∞ − +ρ ∞ ∀ > = (34) 그리고 ζi와 ζi+4 또한 식 (21)과 식 (24)에 의해 식 (17) 과 같이 − ≤1 ζ ζi, i+4≤1내에 존재함을 알 수 있다. 따라서
4 4 ( )
i i d i i i ni
ζ ρ+ + −Χ −ζ ρ ≤ 인 양수 ni이 존재한다. 그러므
로 식 (33)은 다음과 같다.
2 2
2 ( )
(1 )
i i f i i f i
i i
V K ε n ε
≤ ζ ρ − +
− (35)
위의 식은 리야프노프 안정성 이론에 따라 f i i i
n ε >K 일 때 V εi( ) 0f i ≤ 되어 εf i 는 일정한 범위 내에 존재함 (ultimately bounded)을 증명할 수 있다[7,13,14].
이제 εf i+4에 대한 리야프노프 후보함수 V εi+4( f i+4)를 다 음과 같이 정의한다.
4 1 42 ( 1 ~ 4)
i 2 f i
V+ = ε + i= (36)
이 함수 또한 앞에서의 조건을 만족하는 양의 정부호 함수 이며, 이를 미분하면 다음과 같다.
4 4 2 2 4 4
4 4
2 ( ( ) )
(1 )
i f i i i i
i i
V ε i α ζ ρ
ζ ρ
+ + + +
+ +
⎡ ⎤
= ⎢⎣ − Χ − − ⎥⎦
(37)
식 (37)에 X2( )i =Ff i+Ui와 Ui= −K εi+4 f i+4(ζi+4), 그리 고 식 (22)를 대입하여 정리하면 다음과 같다.
4 4 2 4 4 4 4
4 4
2 ( )
(1 )
i f i i f i f i i f i i i
i i
V ε K ε F Kε ζ ρ
ζ ρ
+ + + + + +
+ +
⎡ ⎤
= ⎢⎣ − − + − − ⎥⎦
(38)
앞에서의 과정에서 ε 가 일정한 범위 내에 존재함을 증f i
명하였으므로 Ff i−Ki f iε −ζ ρi+4i+4 ≤ni+4인 양수 ni+4가 존 재한다. 따라서, 다음과 같이 부등식으로 나타낼 수 있다.
( 2 )
4 2 4 4 4 4
4 4
2 (1 )
i i f i i f i
i i
V K ε n ε
ζ ρ
+ + + + +
+ +
≤ − +
− (39)
즉, 4 4
4 f i i
i
n ε + K+
+
> 일 때 V εi+4( f i+4) 0≤ 되어 εf i+4가 일정 한 범위 내에 존재함을 증명할 수 있다. 리야프노프 안정성 이론에 따라 ε 와 f i εf i+4이 바운드 됨을 증명 함으로써 표 준오차 ζ ζi, i+4가 − <1 ζ ζi, i+4< 사이에 존재함을 증명하였1 고 이로 인해 상태오차인 E( )i =X1( )i −Χd( )i 가 −ζ ρi i<
( )i <ζ ρi i
E 사이의 범위 안에 존재함을 증명할 수 있다. 결과 적으로 그림 2와 같이 자세 오차는 주어진 성능 지수함수 내 에 항상 존재한다[7,14].
V. 궤적추종
쿼드로터가 3차원 공간에서 이동하기 위해서는 주어진 경 로점(waypoints)들이 형성하는 궤적(trajectory)을 따라가야 한 다. 이를 위해서 쿼드로터는 자세 변환과 로터의 추력을 통 해 궤적을 추종(tracking)할 수 있다. 본 논문에서는 쿼드로터 의 궤적추종을 위해 선형 PD 위치제어기법[13]을 사용하였다.
쿼드로터의 3차원 공간에서의 위치이동을 위한 경로점의 위 치벡터를 Pd=[ , , ]x y zd d d T 라 하고 현재의 위치벡터를 P = [ , , ]x y zT라고 하면 위치오차벡터 Pe는 다음과 같이 나타낸다.
김 영 욱, 박 성 용, 이 현 재 784
e= − d
P P P (40)
위치오차벡터를 사용하여 안정한 표준형 2차 시스템을 다 음과 같이 나타낸다[15].
0
e+Kd e+Kp e=
P P P
(41)
여기서 K K 는 게인 값으로 음수이다. 이때, 식 (41)에 식 d, p
(40)을 대입하여 p 에 대해 정리하면 다음과 같다.
( ) ( )
d Kd d Kp d
= − − − −
P P P P P P (42) 위치제어를 위해 식 (13)의 가속도성분 V 를 관성 좌표계B
의 가속도성분 V 로 나타내고 중력 I F 과 추력성분 G,I FT B,
을 제외한 나머지 항들은 불확실성으로 간주하여 생략하면 다음과 같이 나타낼 수 있다[15].
, ,
1 1
B
I I G I T B
R ⎛⎜⎝V −mF ⎞⎟⎠=mF (43)
이제 쿼드로터의 궤적추종을 위한 위치제어를 위해 식 (42)의 P 를 가상제어 벡터 υ=[ , , ]υ υ υ1 2 3T로 하고 식 (43)의 가속도 성분 V 로 대체하여 정리하면 다음과 같이 나타낼 I
수 있다.
1 1 3
1 0
c 0
c c s c s
s c c s s c c s s s s
s s c s c c s s s c c c g m T
ψ θ ψ θ θ υ
ψ φ ψ θ φ ψ φ ψ θ φ θ φ υ ψ φ ψ θ φ ψ φ ψ θ φ θ φ υ
⎡ − ⎤ ⎡ ⎤ ⎡ ⎤
⎢− + + ⎥ ⎢ ⎥= ⎢ ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ + − + ⎥ ⎢ + ⎥ ⎢ ⎥
⎣ ⎦ ⎣ ⎦ ⎣ ⎦
(44)
궤적 추종을 위한 위치제어 중 z 성분은 고도제어에 해당 된다. 하지만 앞 절에서 비선형 제어기를 통해 고도제어기를 미리 설계하였으므로 편의상 z 성분은 0으로 가정 할 수 있 다. 따라서 궤적 추종을 위한 위치제어의 위치오차벡터를
[ , ,0]T
e= x ye e
P 로 나타낸다. 이제 식 (44)를 이용해서 궤적추 종을 위한 쿼드로터의 자세명령 ,φ θ 를 생성하면 각각 다d d
음의 식과 같다[15].
1 2
2 2 2
1 2
sin cos
arctan d d
d g
υ ψ υ ψ
φ υ υ
⎛ − ⎞
⎜ ⎟
= ⎜⎝ + + ⎟⎠
(45)
1cos 2sin
arctan d d
d g
υ ψ υ ψ
θ = ⎛⎜ + ⎞⎟
⎝ ⎠ (46)
위의 식에서 ψd는 쿼드로터의 방향각(heading angle) 명령 으로 다음과 같이 생성할 수 있으며 그림 3과 같다.
arctan d
d
d
y y x x
ψ = ⎛⎜⎝ −− ⎞⎟⎠ (47)
VI. 쿼드로터의 제어 로직 구성
이번 절에서는 앞 절에서 설계한 쿼드로터의 궤적추정 알 고리즘과 자세 및 고도제어기를 토대로 쿼드로터의 전체적 인 제어 로직 구성과 피드백 시스템 블록선도를 정리한다.
쿼드로터의 전체적인 제어 로직 구성은 그림 4와 같다. 여 기서 쿼드로터의 궤적추종을 위한 위치 제어기의 구성부를 외부 제어기(outer loop controller)라고 칭한다.
본 논문에서는 쿼드로터 경로점의 X Y - 2차원 위치제어, 를 위해 앞서 V장에서 설명한 바와 같이 PD 형태의 위치제 어기를 사용하여 ,φ θ 를 생성하였고 방향각인 d d ψ 는 쿼드d
로터의 방향각 생성의 기하학적인 방법으로 생성하였다. 또 한 앞 절에서 설명한 바와 같이 쿼드로터의 고도제어를 위한 경로점의 Z 성분은 III장에서 설계한 고도명령 Zd내부 제어 기의 명령 값으로 구성된다.
외부제어기를 통해 생성된 자세명령과 고도명령 값은 내 부 제어기 (inner loop controller)에서 목표 값으로 입력되어 쿼
그림 3. 쿼드로터의 방향각.
Fig. 3. Heading angle of quad-rotor.
그림 4. 쿼드로터의 위치제어 블록선도.
Fig. 4. Outer loop controller of quad-rotor.
그림 5. 쿼드로터의 고도 및 자세제어 블록선도.
Fig. 5. Inner loop controller of quad-rotor.
Young-Ouk Kim, Seong-Yong Park, and Henzeh Leeghim