直昇機滑動模式控制器設計
陳茂林
1林眠彤
1池錦祥
1朱吉皇
2施政樂
2陳鵬仁
3 1建國科技大學自動化工程系暨機電光系統研究所
2建國科技大學電機工程研究所
3建國科技大學體育室
彰化市介壽北路 1 號
E-mail:[email protected]
摘要 本論文的設計目的是實現直昇機滑模控制器設計來進行直昇機的模擬運轉,藉由三軸重力感測器 (G-sensor)將直昇機的飛行數據以 USB 擷取至 PC 做滑模控制,可有效控制直昇機做上仰、俯衝、平衡的 穩定飛行,以改善直升機的非線性運動特性,提升直昇機的穩定性、操縱性和機動性。經實驗驗證通過 設計的直昇機模擬之偽模型控制器可轉化為實際控制器以實現對直升機實際模型的操控。 關鍵詞:三軸重力感測器(G-sensor)、滑模控制、直昇機、非線性運動 1. 前言 近年來移動機器人學和相關技術持續發展,使機器人設計在很多行業的被深入廣泛應用,機器人的 設計分別以移動機構、傳感器和控制器等來組成。且隨著科技的進步,眾多的資訊產品與產業界大都逐 漸走向自動化之趨勢,因此為改善民生品質,有各種生活物品都變成自動化的設計,從兩輪機構一直到 履帶機構的機器人設計也多邁向系統整合與PC無線發射的藍芽系統做自動的傾斜平衡控制。且在旋翼直 升機上近期內大量學者投入相當的研究量,因為旋翼機的飛行機動性比其他的飛行器較好應用,特性表 現有定點停懸做空中拍照、監視,慢速飛行與定點轉向巡邏用、起降地點較靈活等被應用發展於防災或 國防防護都扮演極為重要角色。 2. 數學模式 2-1 系統描述 本章將推導出直昇機模型系統之數學模式,以利控制系統分析、設計與模擬。利用 Euler-Lagrangian 方 程式來求得系統之方程式。模擬直昇機模型具有一個利用直流馬達驅動之旋轉翼,其模型機身由於重心 鐵塊之原因,初始姿態向下傾斜。藉由改變直流馬達的輸入電壓來改變雙旋轉翼之轉速,進行模型姿態 之定位控制。且由於尾翼部份有一個負載讓旋轉翼的旋轉系統間需有相當大的轉速始能平衡,加上系統 明顯的非線性動態,使得控制系統設計困難度提高。故研究此模型系統的控制,可作為實際直昇機或遙 控直昇機飛行控制的重要基礎,是一項理論與實務的研究課題。直昇機模型控制系統,是一模擬直昇機 之模型所組成,如圖 1 所示。其中包含有主旋翼、兩個直流馬達和兩個編碼器。此系統利用兩顆直流馬 達所提供之動力,帶動主旋翼和機身轉動。而直昇機模型之姿態乃利用此動力來改變機身之俯仰和旋轉。透過編碼器,可以獲得直昇機模型俯仰和偏航之角度。直升機飛行高度隨俯仰角
θ
變化作改變,如圖 1 所示,為直升機垂直飛行的動力學模型。現將忽略地面因素影響,直升機動力學方程式描寫為 圖 1 直升機模型ρ
+ + + = f(x) g1(x)u1 g2(x)u2 xy
[
y
,
y
]
T[
x
,
x
]
T 4 1 2 1=
=
(1) 其中 1(
)
[
0
,
0
,
1
,
0
,
0
]
,
2(
)
[
0
,
0
,
0
,
0
,
1
]
,
ρ
T Tx
g
x
g
=
=
為建模不確定性,
+
+
+
+
+
+
+
−
+
+
+
+
=
=
5 14 4 2 3 13 4 12 11 5 2 3 10 4 9 3 8 7 2 3 4 6 5 4 4 3 2 2 2 2 1 0 3 5 4 3 2 1sin
]
sin
[
)
(
]
,
,
,
,
[
)
(
x
a
x
x
a
x
a
a
x
x
a
x
a
x
a
a
x
x
a
a
x
a
a
x
a
x
a
a
x
f
f
f
f
f
x
f
T T Tw
h
h
x
x
x
x
x
x
[
,
,
,
,
]
[
,
,
,
,
]
,
=
1 2 3 4 5=
θ
θ
,h
為高度,w
為旋翼轉速,θ
為旋翼俯仰角,u
1為控制輸 入,直接作用在w
;u
2為總距控制輸入,是直接作用在θ
上。將式(1)寫成下列形式 + + + + = + = = = + + + + = + = + − + + + + = = = 5 14 4 2 3 13 4 12 11 5 2 5 5 5 4 4 1 2 3 10 4 9 3 8 7 1 3 3 2 3 4 6 5 4 4 3 2 2 2 2 1 0 2 2 2 1 sin ) sin ( ) ( x a x x a x a a f u f x x f x u x a x a x a a u f x x x a a x a a x a x a a f x x x 2) 從式(2)可知直升機被控對象的輸出為高度h
與俯仰角θ
。u
1 對旋翼轉速和俯仰角都有控制關係,u
2 對俯仰角和旋翼轉速也有控制關係,高度h
與旋翼轉速及俯仰角有關連性。因此直升機模型方程式(1)存 在很強的耦合特性,這將嚴重影響直升機飛行控制的性能。 2-2.直升機模型的耦合分析 從式(1)可知直升機有兩種耦合,一種是系統狀態引起的,是為動態耦合,另一種是控制輸入引起的, 是是為操縱耦合。線性化解耦目的是實現u
1 直接作用在高度h
或其導數上,u
2直接作用在俯仰角度θ
或其導數上,以邏輯上反應出控制輸入與輸出的直接關係。對於由直升機系統狀態初值中一個通道的非 零初值引起其他通道的響應特性之動態耦合分析時,令控制輸入為零。而對於由直升機系統中一個通道 的控制輸入引起系統狀態的響應特性之操縱耦合分析時,令直升機系統狀態初值為零。 直升機模型的動態逆解耦線性化 從式(2)可得 + + + + = + = = = + + − + + + − + + = + − + + − + + + = = + − + + + + = = = = 2 5 14 4 2 3 13 4 12 11 2 5 4 5 4 4 1 3 4 6 5 4 4 3 3 2 3 4 6 5 5 6 5 4 2 2 2 1 2 3 4 6 5 4 6 4 4 4 6 5 4 4 3 3 3 2 2 2 1 2 1 2 3 4 6 5 4 4 3 2 2 2 2 1 0 2 2 1 2 1 sin ) )( ( 2 2 ) 2 ( ) 2 ( ) ( 2 ) 2 ( ) ( u x a x x a x a a u f x x f x u f x a a x a a x x x a a x a x a f x a a x x a a x a x a x a a x a a x x x x a a f x x x a a x a a x a x a a f x x x x (3) 可見模型式(3)相對階為
[
3
,
2
]
。根據反饋線性理論進行狀態變化可得)
,
,
,
,
(
)
,
,
,
,
(
)
,
,
,
,
(
)
,
,
,
,
(
4 4 1 1 1 2 2 1 2 1 1 22 21 13 12 11θ
θ
ς
ς
ς
ς
ς
x
x
x
h
h
h
x
x
y
y
y
y
y
f f f=
=
Ξ
Ξ
Ξ
=
(4) 如果考慮建模不確定性與外加干擾合分別為d
1, d
2,則直升機模型線性化如下偽模型:
+
+
=
=
+
+
Γ
=
=
=
2 2 5 22 22 21 1 1 13 13 12 12 11d
v
f
d
v
ς
ς
ς
ς
ς
ς
ς
ς
(5) 其中 , , , 2 , 2 ) 2 (a1+ a2x2 f2 + x3f3 +k v1 = x3 u1 v2 =u2 =a3 +a4x4 − a5 +a6x4 = Γγ
γ
γ
2 2 1 1 2 3 2 1 4 6 5 5 6 5 4 ( ) , , 2 1 D d D d x x a a x a x a k ≤ ≤ + − = − 。 實際控制方法為u
1=
v
1/(
2
x
3γ
)
u
2=
v
2 (6) 通過對直升機模型的解耦線性化,可使直升機模型轉成標準的仿射型線性系統,且以線性控制方法進行 直升機控制器的設計。且對偽模型式(5)首先採用傳統的控制方法設計v
1 和v
2 ,再通過式(6)利用動態 逆方法得到實際的控制方法,來實現對直升機的控制。 2-3.直升機的滑模控制 直升機的控制器設計是在偽模型式(5)的基礎上進行的。通過設計的偽模型控制器轉成實際控制器可 實現對直升機實際模型的控制。偽模型的物理量對實際模型的物理量:)
,
,
,
,
(
)
,
,
,
,
(
)
,
,
,
,
(
ς
11ς
12ς
13ς
21ς
22=
x
1x
1f
2x
4x
4=
h
h
h
θ
θ
(7) 針對直升機的高度控制,令指令為定值γ
1 ,則誤差為e
1=
γ
1−
ς
1。設計滑模函數為s
1=
c
11e
1+
c
12e
1+
e
1 (8) 其中c
11> c
0
,
12>
0
。則s
1=
c
11(
γ
1−
ς
11)
−
c
12ς
11−
ς
11=
c
11(
γ
1−
ς
11)
−
c
12ς
12−
ς
13s
1=
−
c
11ς
11−
c
12ς
11−
ς
11=
−
c
11ς
12−
c
12ς
13−
(
Γ
+
v
1+
d
1)
設計偽控制器為
v
1=
−
Γ
−
c
11ς
12−
c
12ς
13+
D
1sgn s
1 (9) 將控制器方程式(9)代入s
1 中得s
1=
−
D
1sgn
s
1−
d
1 則 0 1 1 1 1 1 1s =−s D −s d ≤ s 對於直升機的俯仰角度控制,可設指令為定值γ
2 ,則誤差為e
2=
γ
2−
ς
21。設計滑模函數為s
2=
c
21e
2+
e
2 其中 c21>0。則s
2= c
21(
γ
2−
ς
21)
−
ς
21s
2=
−
c
21ς
21−
ς
21=
−
c
21ς
22−
ς
22=
−
c
21ς
22−
(
f
5+
v
2+
d
2)
設計偽控制器為v
2=
−
f
5+
D
2sgn
s
2−
c
21ς
22 (10) 將偽控制器方程式(10)代入s
2 中,得 s2 =−D2sgns2−d2 則 2 2 2 0 2 2 2s =−s D −s d ≤ s 3. 控制器應用模組 3-1 控制器 論文使用的控制器有兩種,一是使用利基公司的BASIC Commander®單板電腦,作直昇機的I/O(輸出 /入埠)與 cmdBUS連接 3軸加速度感測器、DEBUG介面視窗對BASIC Commander® 上傳或下傳資料。二 使用8952RC微控制器驅動直昇機的飛行控制,以利基公司的MR 2x30a。雙直流馬達控制模組為驅動器, 所有應用特性分述為:(1)三軸加速度感測器
使用利基 Accelerometer 3A 模組,透過 cmdBUS 與 BASIC Commander 連接,可以用簡單的指令取 得三個軸向的加速 度值,或是加速度與軸向的夾角,並且可執行軟體校正,提升了多種情況的適應性。本 文應用於直昇機靜態傾斜角度的量測,控制載具維持平衡、與加速度的量測,感測受力大小與方向。其連 接方式: 直接將 ID 開關撥至欲設定的編號,再將 cmdBUS 連接至 BASIC Commander上對應的腳位,就 可透過 BASIC Commander 執行操作。如圖2所示。
圖 2 電路板 與 BASIC Commander 連接圖
cmdBUS 接腳,將此處腳位與 BASIC Commander 對應腳位相接,即可透過 BASIC Commander 操 控 Accelerometer 3A 模組(連接時請注意腳位對應,將 Vin 對接 BASIC Commander 上的 Vin 腳位,若
是腳位錯誤可能造成模組,模組編號設定開關,由右至左以二進制設定 Accelerometer 3A 模組的模組編號,,,, 編號可以讓 BASIC Commander 操控時,判斷想要控制的模組。 (2) MR 2x30a 雙直流馬達控制模組 利基公司 MR 2x30a 模組可以達到透過簡易的指令設定,自由操控兩顆直流馬達的需求。可以隨時 動態的更改馬達轉速,並取得馬達現在的設定狀態包含轉速或是方向。直流馬達的轉速控制方式有兩種, 一種是使用改變馬達跨壓的方式,另一種脈波寬度調變(PWM)的方式,來做直流馬達的轉速控制。本論 文使用的是 PWM 方式,來做直流馬達轉速控制。利用 PWM 方式來做直流馬達轉速控制,其工作原理 是當馬達的輸入電源為 High 時,馬達會因為有電源供應而轉動;當馬達的輸入電源為 low 時,馬達會 沒有電源供應,藉由馬達本身的慣性轉動,使轉速變慢至最後停止。因此直流馬達的轉速可由 89C52 微 控制器送出 PWM 的工作週期(Duty Cycle)來達到改變馬達轉速的目的。 (3)8952RC 微控制器 這是本文控制直升機的主要控制器。直升機控制的微處理系統,是接收電腦端所傳送的指令,指令 經過單晶片處理過後送出控制馬達的訊號,本論文選用低成本、高性能的單晶片微處理機學習模板做為 直升機的控制機制核心,此模組板內有一顆型號為 89C52RC 輔助控制直升機的單晶片, 微處理器是負 責直升機的俯仰、左右動作和速度控制。 4. 實驗驗證 本硬體系統包含了幾個部份:innoBASIC Workshop 是一個安裝在電腦上的軟體平台,使用者可以 innoBASIC 程式語言編輯、編譯及下載程式;終端視窗(Terminal Window)是程式執行時的人機介面及除 錯平台;完成的程式碼透過 USB 介面,下載到 BASIC Commander 單板電腦(Single Board Commputer), 這也是系統的核心部份。BASIC Commander 提供三種資源:第一個是通用的 I/O;第二個是 cmdBUS, 透過它可同時並連 32 個利基科技的周邊模組;第三個是 DEBUG 介面,用來讓 innoBASIC Workshop 終 端視窗對 BASIC Commander 上傳或下傳資料,DEUBG 界面佈景作為除錯使用,它同時也是一個方便的 人機介面。如圖 3 所示。 圖 3 系統與 PC 溝通架構 被控對象 取直升機 模型式 (1),初始狀態為
h
=
1
.
5
,
θ
=
0
.
15
,
w
=
200
,
h
=
θ
=
0
。模型中參數 為,
10
5364
.
1
,
10
31
.
5
,
1
.
0
,
67
.
17
4 2 4 3 2 1 0 − −=
×
×
=
−
=
=
−
=
a
a
a
a
a
,
0028
.
0
,
7
.
0
,
92
.
13
,
10
632
.
1
,
10
82
.
2
7 8 9 10 5 6 7 5=
×
=
×
=
−
=
−
=
=
−
− −a
a
a
a
a
a
65
,
1
.
0
,
800
,
88
.
434
12 13 14 11=
a
=
−
a
=
−
a
=
−
a
。對耦合分析與高度和俯仰腳度的跟蹤,採用下列兩個 實例進行分析。【case1】耦合分析 取控制輸入為零,
M
=
1
時取直升機高度初始值為 10,俯仰角度為零,直升機高度和俯仰角度時域 響應曲線如圖 4 所示。M
=
2
時取直升機高度初始值為零,俯仰角度為 5 時,直升機高度和俯仰角度時 域響應曲線如圖 5 所示。從圖 4 與圖 5 的特性可知高度初始值不為零時,俯仰角度受到大的影響,俯仰 角度不為零時,高度也受影響,直升機模型動態耦合嚴重。取直升機高度和俯仰角度初值為零,M
=
1
時 取油門控制輸入為 10,總距控制輸入為零,直升機高度和俯仰角度時域響應曲線如圖 6 所示。M
=
2
時 取油門控制輸入為零,總距控制輸入為 15 時,直升機高度和俯仰角度時域響應曲線如圖 7 所示。從圖 6 與圖 7 的特性可知無論單純的總距控制輸入或是單純的油門控制輸入,高度和俯仰角度都出現一定影響, 直升機模型操控耦合嚴重。 圖 4 動態耦合分析 (M
=
1
) 圖 5 動態耦合分析 (M
=
2
)圖 6 操控耦合分析 (
M
=
1
) 圖 7 操控耦合分析 (M
=
2
) 【case2】高度和俯仰角度的跟蹤 切 換 函 數 中 取c
11=
120
,
c
12=
20
,
c
21=
25
。 取 建 模 不 確 定 性 和 外 加 干 擾 總 和 的 上 界 分 別 為1
,
5
2 1= D
=
D
。控制器取式(3)、式(5)、式(6),直升機的高度和俯仰角度的跟蹤結果,如圖 8、圖 9 所 示。 從結果可知由於滑模控制器中採用切換函數,控制輸入信號產生抖振,建議可用飽和函數或模糊規 則的方法來消除抖振。 圖 8 直升機高度和俯仰角度跟蹤圖 9 直升機高度控制和總距俯仰角度控制輸入
【case3】偏航角和俯仰角度的跟蹤
設直升機的轉動慣量為
J
x=
60
,
J
y=
70
,
J
z=
100
,
J
xy=
J
yz=
J
zx=
0
,
∆
J
x=
3
,
∆
J
y=
3
,
∆
J
z=
3
,干擾力矩為
d
=
[sin
t
cos
t
sin(
2
t
)]
T,初始角為θ =
[
γ
φ
ψ
]
T,初始角速度為w
=
[
w
xw
yw
z]
T,均為 0,角度跟蹤指令是
θ
c=
[cos
t
cos
t
cos
t
]
T,取
−
−
−
=
∆
=
3
0
0
0
3
0
0
0
3
,
100
0
0
0
70
0
0
0
60
0J
J
系統經實驗模擬滾轉角、偏航角、俯仰角度追蹤可以在 6 秒達到穩定控制,如圖 14。且直升機在有干擾 的力矩下滾轉力矩、偏航力矩、俯仰力矩的穩定控制在 2 秒內可快速達成,如圖 10~圖 12。 0 2 4 6 8 10 12 14 16 18 20 -1 0 1 2 time(s) A ngl e t rac k ing of r ol li ng 0 2 4 6 8 10 12 14 16 18 20 -1 0 1 2 time(s) A ngl e t rac k ing of y aw ing 0 2 4 6 8 10 12 14 16 18 20 -1 0 1 2 time(s) A ngl e t rac k ing of pi tc hi ng 圖 10 滾轉角、偏航角、俯仰角度圖0 2 4 6 8 10 12 14 16 18 20 -2 0 2 4 time(s) A ngl e s peed or der of r ol li ng 0 2 4 6 8 10 12 14 16 18 20 -2 0 2 4 time(s) A ngl e s peed or der of y aw ing 0 2 4 6 8 10 12 14 16 18 20 -2 0 2 4 time(s) A ngl e s peed or der of pi tc hi ng 圖 11 滾轉角速度命令、偏航角速度命令、俯仰角速度命令 0 2 4 6 8 10 12 14 16 18 20 -5000 0 5000 time(s) C ont rol i nput of r ol li ng 0 2 4 6 8 10 12 14 16 18 20 -4000 -2000 0 2000 time(s) C ont rol i nput of y aw ing 0 2 4 6 8 10 12 14 16 18 20 -4000 -2000 0 2000 time(s) C ont rol i nput of pi tc hi ng 圖 12 滾轉力矩、偏航力矩、俯仰力矩圖 5. 結論與未來展望 直升機的控制在高度初始值不為零時,俯仰角度受到大的影響,俯仰角度不為零時,高度也受影響, 直升機模型的動態耦合嚴重。系統呈現相當的非線性,而對於建模不確定性和外加干擾總和的上界,本 文的滑模控制器採用切換函數,但是高度控制輸入信號在約 7 秒時有發生抖振,及總距俯仰角度控制輸 入信號在約 2 秒時就有抖振現象,這種非線性抖振控制建議可用飽和函數或模糊規則的方法來消除抖振。 因此本文設計對於直升機飛行採用滑動模式控制,系統經實驗模擬滾轉角、偏航角、俯仰角度追蹤可以 在 6 秒達到穩定控制。且直升機在有干擾的力矩下滾轉力矩、偏航力矩、俯仰力矩的穩定控制在 2 秒內 可快速達成。驗證可以實現空間直升機的穩定姿態控制。直升機的飛行是一個非線性的現象,控制上是 相當困難的,系統若能再結合智能控制將風速考慮進來,做非線性的切換控制,相信可真正改善直升機 的控制性能與飛行安全的機制。 參考文獻 [1]劉金琨,“機器人控制系統的設計與 matlab 仿真”,清華大學出版社,中國 2009.3 [2]陳茂林,“微處理機C-51實務設計”,松崗資產管理股份有限公司,台灣台北市,2010年9月。 [3]許哲源,“自走車之驅動控制與避障”,國立成功大學工程科學系碩 士論文”,2003年7月。
[4]張義和、王敏男、許宏昌、余春長,“例說89S51-C語言”,新文京開發處版股份有限公司,台灣台北縣, 2007年5月。
[5]趙冬斌、易建強,“全方位移動機器人導航”,科學出版社,北京出版,2010年6月,pp18-22. pp27-33. [6] Oetomo D,Ang M H. Singularity -free joint actuation strategy for omnidirectional mobile platforms with powered offset caster wheels. ASME Journal of Mechanical Design,2008,130(5)。
[7] http://taiwan.cnet.com/crave/0,2000088746,20136856,00.htm ,科技瘋。 [8] http://bmeweb.niu.edu.tw,感測器與電路介紹。
[9]Bramwell, A.R.S., Helicopter Dynamics, Edward Arnold, 1976
[10]Wang, Y.-R., “The Frequency Response on Lift of Helicopter Rotor Blade Flapping with Three-Dimensional Wake Effect in Forward Flight,”Transactions of the Aeronautical and Astronautical Society of the Requblic of China,Vol. 26, No.4, pp. 299-309, 1994