一天精通無人機:初級篇系列第 15講:飛型模式
來自專欄編程外星人2 人贊了文章
歡迎關注公眾號:編程外星人
在開源飛控程序PX4中預先定義了13種飛行模式,列表如下:
1.Manual——手動模式
2.Altitude——高度模式
3.Position——位置模式
4.Mission——任務模式
5.Hold——定點模式
6.Takeoff——起飛模式
7.Land——降落模式
8.Return——返航模式
9.Acro——特技模式
10.Offboard——離線模式
11.Stabilized——增穩模式
12.Rattitude——姿態特技
13.Follow Me——跟隨模式
14.Extern control——外部控制(作者自行開發的擴展模式)
前13種飛行模式是PX4預先定義的,而對於第14種Extern control模式是作者根據自己需要開發的另一種飛行模式,我們會在後續章節中來學習這個飛行模式的作用與原理。
一、手動模式 / 增穩模式(Manual / Stabilized)
手動模式與增穩模式其實並沒有太大區別,所以我們將這兩個模式一起做介紹。
1.滾轉與俯仰:遙控器的滾轉通道和俯仰通道控制的是無人機的滾轉角度和俯仰角度,如果滾轉通道和俯仰通道控制桿保持在中心位置,飛機則保持水平姿態。當滾轉通道和俯仰通道控制桿與中心位置有一定夾角時(手動撥動控制桿),飛機則也會出現滾轉角或俯仰角,並與遙控器滾轉通道和俯仰通道偏離中心位置的角度成正比。
2.航向:遙控器的航向通道控制的是無人機偏航運動的角速度,也就是說當遙控器的航向通道在中心位置時無人機的航向會保持在當前航向上,也就是沒有偏航運動。當遙控器的航向通道與中心位置有一定夾角時(手動撥動控制桿),飛機則出現偏航運動,運動的角速度即與遙控器航向通道偏離中心位置的角度成正比。
3.油門:遙控器的油門通道控制的是無人機垂向的動力大小,也就是我們常說的油門大小(注意不是高度)。當遙控器的油門通道處於最低位置時,電機不轉。當油門通道由最低位置逐漸向最高位置推動時(手動撥動控制桿),電機轉動逐漸加快,直到螺旋槳轉動產生的拉力大于飛機自身重力時,飛機逐漸爬升,當油門向最低位置減少時,飛機逐漸下降。
我們在前面《基本飛行原理》中已經明確了這樣一個事實,當無人機油門不變,並處於滾轉或俯仰姿態時,飛機的總拉力不變,但方向發生了變化,所以在垂直方向上的拉力會減小,所以飛機在處於滾轉和俯仰姿態時,如果不改變油門通道的控制量,飛機的高度會下降(因為垂直方向拉力減小了),所以為了不使飛機高度下降,在手動飛行滾轉和俯仰時需要適當的推動油門通道:
二、高度模式(Altitude)
高度模式與手動模式在滾轉和俯仰姿態中沒有任何區別,這裡不再贅述。在高度控制模式下,無人機會根據各個感測器的數據進行高度融合對其自身做高度控制。遙控器的油門通道對應到無人機的控制量為實際飛機在垂直方向上的速度。當油門通道處於中心位置時,飛機垂直方向上的控制速度為0,此時當無人機出現滾轉或俯仰姿態時,飛機不會向在手動模式下一樣的降低高度,而是會自動補償飛機的整體的拉力,從而達到在當前高度水平飛行的功能。而當遙控器油門通道從中心位置向最大值方向推動,飛機向上爬升的速度增加,當遙控器油門通道從中心位置向最小值方向推動時飛機向下降落的速度增加。
參數說明:
MPC_Z_VEL_MAX_UP 最大上升速度,默認值: 3 m/s.
MPC_Z_VEL_MAX_DN 最大下降速度,默認值: 1 m/s.
為保護飛機在下降時速度過快而在著陸時受到地面大力的衝擊,所以下降速度默認值比較小。
三、位置模式 / 定點模式(Position / Hold)
位置模式在油門控制方面與高度模式相同,都是可以保持定高飛行,而在水平飛行方面位置模式下,遙控器的滾轉和俯仰通道控制的飛機的前後飛行和左右飛行的速度。也就是說當遙控器的滾轉和俯仰通道在中心位置時,飛機會在當前位置上保持不動,也就是在三維坐標系下的xyz坐標不變。這也就與Hold模式是相同的功能。這通常需要全球定位系統GPS的支持,如果沒有GPS的定位,無人機將無法進入位置模式。當然,有條件的讀者也可以使用其它感測器來實現無人機的定位,例如在室內的動作捕獲攝像機,或無人機自身的多目攝像頭等等。
參數說明:
MPC_HOLD_DZ 在滾轉和俯仰通道偏離中心位置小於閾值時為Hold模式,即保持當前位置不動,默認值為:0.1(即10%)。
MPC_VEL_MANUAL 水平飛行速度最大值,默認值: 5 m/s。
四、任務模式(Mission)
任務模式通常也被稱為航跡點模式,也就是說我們可以事先在地面站上為飛機規划出一條飛行航線,然後再將這條航線上傳到無人機當中,當無人機切換到任務模式時,就可以按預先指定的航跡點進行飛行。這裡我們任意的定義了13個航跡點,並希望無人機按這些航跡點進行自動飛行。當然,任務模式能按航跡點飛行的前提與位置模式一樣,需要無人機可以準確的定位才能進行任務飛行。
五、起飛模式 / 降落模式(Takeoff / Land)
起飛機模式與降落模式即為一個相對獨立的飛行功能,可以實現一鍵起飛和降落,我們只需要對其參數做一些說明即可:
MIS_TAKEOFF_ALT 起飛高度,到達此高度後懸停,默認值為:2.5m
MPC_TKO_SPEED 起飛速度,在起飛模式下上升的速度,默認值為:1.5m/s
MPC_LAND_SPEED 著陸速度,在降落模式下下降的速度,默認值為:1m/s
COM_DISARM_LAND 著陸後多久自動鎖定電機,默認值為:0.5s
六、返航模式(Return)
返航模式是一個安全保護模式,它允許無人機在緊急情況下切換到返航模式,並返回到起飛點(Home Position),返航模式一共有有5個階段:
1.爬升:上面圖解已經表示的很清楚了,飛機在返航前為了避免與中途的障礙物發生碰撞,所以在返航前通常都是要爬升到指定的高度。
2.返航:向起飛點的位置飛行,並一直保持爬升的高度,避免與中途的障礙物發生碰撞。
3.下降:到達起飛點之後,開始下降。
4.懸停:到達懸停點之後,開始懸停。
5.降落:到達懸停時間之後,降落。
參數說明:
RTL_RETURN_ALT 返航高度,默認值為:30m
RTL_DESCEND_ALT 懸停高度,默認值為:15m
RTL_LAND_DELAY 懸停時間,默認值為:30s
RTL_MIN_DIST 觸發上升到安全高度的最小水平距離TL_RETURN_ALT,如果飛機水平靠近起飛點則以當前高度返回,而不是先上升到RTL_RETURN_ALT。
七、特技模式 / 姿態特技(Acro / Rattitude)
特技模式對於那些剛剛接觸無人機或航模的朋友來說可能有一些神秘,但其基質並沒有太過複雜。在特技模式下。遙控器的滾轉和俯仰控制的是無人機滾轉和俯仰的角速度(注意是角速度而不是角度),當滾轉通道和俯仰通道控制桿與中心位置有一定夾角時(手動撥動控制桿),飛機則會出現滾轉或俯仰,其滾轉與俯仰的角速度與遙控器滾轉通道和俯仰通道偏離中心位置的角度不是成比例關係,而是一個3次曲線關係:
在姿態特技模式下,
參數說明:
MC_ACRO_EXPO Acro 模式「指數」因子,用於調優化滾轉和俯仰的搖桿輸入曲線形狀。值:0純線性輸入曲線1純立方輸入曲線。默認值:0.69。
MC_ACRO_EXPO_Y Acro 模式「指數」因子,用於優化偏航的搖桿輸入曲線形狀。值:0純線性輸入曲線1純立方輸入曲線。默認值:0.69。
MC_ACRO_SUPEXPO Acro 模式「超級指數」因子,用於優化滾轉軸和俯仰軸的桿輸入曲線形狀(使用MC_ACRO_EXPO調整。值:0 Pure Expo功能,0.7合理的形狀增強,0.95非常強的彎曲輸入曲線,僅在最大值附近有效果。默認值:0.7。
MC_ACRO_SUPEXPOY Acro 模式「超級指數」因子,用於優化偏航軸的桿輸入曲線形狀(使用MC_ACRO_EXPO_Y進行調整。值:0 Pure Expo功能,0.7合理的形狀增強,0.95非常強的彎曲輸入曲線,僅在最大值附近有效。默認值:0.7。
MC_ACRO_P_MAX 最大俯仰速度。默認值:每秒2轉(720.0度/秒)。
MC_ACRO_R_MAX 最大滾轉速度。默認值:每秒2轉(720.0度/秒)。
MC_ACRO_Y_MAX 最大航向速度。默認值:每秒1.5轉(540.0度/秒)。
在姿態特技下只不過在滾轉和俯仰控制桿在偏離中心位置閾值(最大值的80%)時保持姿態模式(即手動模式,滾轉與俯仰控制姿態角)在大於80%時進入特技模式。
參數說明:
MC_RATT_TH :偏離中心位置閾值,在小於此值時保持姿態模式,在大於此值時進入特技模式
八、離線模式(Offboard)
離線模式指的是無人機可以在脫離遙控器控制的情況下離線飛行,但前提是需要有地面站指令(目前PX4採用的是Mavlink協議與地面站通訊)對飛機進行控制。在此模式下,地面站對無人機的控制指令比較簡單。例如:起飛、懸停、執行預設任務、指定目標點飛行、返航、著陸等等。
參數說明:
COM_OF_LOSS_T 數傳信號丟失時間,默認值為10s
COM_OBL_ACT 數傳信號丟失後,保護動作:0:著陸,1:定點,2:返航
COM_OBL_RC_ACT 數傳信號丟失,但遙控器信號正常,切換模式,1: 高度模式, 2: 手動模式, 3: 返航模式 , 4: 著陸模式.
九、跟隨模式(Follow Me)
跟隨模式通過使用GPS和其他定位信息,無人機能夠在指定的位置和距離處自動偏航以面向並跟隨目標。
十、外部控制模式(Extern control)
作者自己開發了一個叫作外部控制的飛行模式,採用了Pixhawk(運行PX4飛控)+ RaspberryPI3(運行外部控制器程序)一起控制飛行。它們之間使用串口進行通訊,Pixhawk將無人機當前的狀態(系統狀態、姿態、速度、位置)實時發送給RaspberryPI3,而RaspberryPI3根據飛機當前的狀態和租航線規劃自動計算飛機當前的期望(期望位置、期望速度和期望姿態),並實時發送給Pixhawk,Pixhawk運行PX4程序控制飛機根據當前的期望值進行飛行。下圖是無人機搭載外部控制飛行的結果:
歡迎關注公眾號:編程外星人
推薦閱讀: