文章目錄
- 前言
- 一、無人機基本常識/預備知識
- (一)無人機飛行原理
- 無人機硬件組成/各組件作用
- 1.飛控
- 2.GPS
- 3.接收機
- 4.電流計
- 5.電調
- 6.電機
- 7.電池
- 8.螺旋槳
- 9.UBEC(穩壓模塊)
- (二)飛控硬件簡介
- (三)飛控固件簡介
- 二、QGC地面站的使用
- 航路規劃
- 1.手動打點
- 2.矩形波式測繪規劃
- 設置遙控器調參通道
- 安全保護
- 地理圍欄
- 故障保護地理圍欄
- 地理圍欄規劃
- 遙控丟失保護
- 低電量保護
- 設置遙測數據流
- 三、PX4基礎配置
- (一)QGC下載固件
- (二)Mission Planner下載固件
- (三)常見問題及解決方法
- (四)選擇機型
- (五)校準
- (六)遙控器通道設置
- (七)控制分配(Control allocate)
- 五、飛行模式講解及飛行實操
- (一)飛行模式切換
- (二)自主和手動模式
- (三)不同機型支持的飛行模式
- 六、PX4日志分析
- 前言
- (一)下載日志
- (二)ulog轉CSV
- (三)利用flightplot軟件分析PX4的ulog日志
- 1.windos安裝
- 2.ubuntu18.04安裝
- (四)使用PlotJuggler分析PX4日志
- (五)設置日志記錄條件
- (六)添加自定義日志消息
- 七、PX4常用參數解析
- 前言
- (一)常用參數設置
- 1. 解鎖檢查參數
- 2.失控保護參數
- 3.任務航點參數
- 4.其他
- (二)參數的導出和導入
- (三)自定義參數
- 八、常見問題/疑難雜癥排查
- 1,PX4多旋翼無人機
- 飛控無法解鎖
- 解鎖時無報錯信息
- 飛控的偏航角一直飄移/誤差較大
- 無人機飛的時候按一定頻率上下抖動(或者不斷的怠速/復飛)
- 無法修改條件參數
- 舵機高頻抖動,電機斷斷續續的轉動
- 飛控在重刷固件后能連地面站,重啟后連不上地面站
- 飛機插USB能解鎖,拔掉USB不能解鎖
- PX4固件用數傳連地面站斷斷續續,或一直卡在加載參數
- 無人機解鎖后剎車開關不生效
- PX4固件無人機起飛模式和任務模式無人機只解鎖不起飛
- 2,ArduPilot固件
- apm固件在mavros里獲取不到位置、姿態等信息
- apm固件使用雙天線RTK航向
- apm固件撥遙控器搖桿地面站沒反應
前言
本博客為超維空間科技直播課程《基于開源PX4固件的無人機裝調與測試》的配套課件(博客會根據直播進度不斷更新)
相關直播及視頻教程可關注BiliBili:南京超維空間科技
課程配套硬件可前往淘寶(超維空間科技)購買獲取
適用人群:
希望進一步掌握無人機裝調的飛手
從零搭建無人機硬件平臺的學生/教師
無人機愛好者,開發者
其他尚未入門開源PX4固件調試的學習者
所使用的硬件:
類別 | 型號 |
---|---|
飛控 | 超維E300 |
機架動力套 | F450 |
遙控器 | 云卓T10 |
所使用的軟件:
類別 | 名稱 |
---|---|
固件 | PX4/APM |
地面站 | QGC/MP |
一、無人機基本常識/預備知識
(一)無人機飛行原理
無人機硬件組成/各組件作用
1.飛控
飛控的作用相當于無人機的大腦,它內部集成了姿態傳感器,氣壓高度計等傳感器,同時通過外接GPS,VIO等可以或者位置信息,在飛控內部經過對這些傳感器數據的處理獲取無人機的狀態信息,同時通過PID控制算法可以計算出每個電機的輸出,進而控制無人機平穩的飛控。
飛控的接口定義:https://docs.holybro.com/autopilot/pixhawk-6c-mini/pixhawk-6c-mini-ports
關鍵參數: 處理器 IMU
2.GPS
GPS的作用是在室外為無人機提供定位(室內由于遮擋,GPS會搜不到衛星信號),為保證定位精度,一般搜到10顆星以上再使用。
關鍵參數: gps芯片,外置羅盤型號
3.接收機
接收機的作用是接收遙控器的遙控信號,通過sbus/ppm協議發送給飛控,從而讓無人機可以按照遙控指令飛行。M1無人機采用的是圖數一體接收機,不僅能傳輸遙控信號,還能傳輸飛控的數據,只需要把接收機的串口接到飛控的數傳口即可。
協議類型: ppm/sbus/pwm
4.電流計
電流計的作用是將電池電壓轉成5V給飛控供電,同時可以測量電池的電壓和飛行時耗電電流。
關鍵參數: 支持的最大電壓/電流
5.電調
電調(電子調速器)的作用是接收飛控的控制信號(PWM/Dshot),并控制電機按照飛控期望的轉速旋轉。
關鍵參數: 支持的最大電壓/電流,驅動協議(pwm/dshot)
6.電機
電機帶動槳葉旋轉為無人機提供升力。電機有正反之分,順時針旋轉為正,逆時針旋轉為反,安裝槳葉時,順時針旋轉的電機裝正槳,逆時針旋轉的電機裝反槳。
關鍵參數: KV值,支持的最大電壓/電流,cw/ccw,尺寸(常見標注方式如“2208”表示定子直徑22mm、厚度8mm)
7.電池
電池的作用是給無人機供電,航模鋰電池的放電倍率較高,存在一定的危險性,因此要小心使用。需要注意以下事項:
- 充電環境: 使用專用的鋰電池充電器,并確保充電環境通風良好。不要在高溫、潮濕或易燃的地方進行充電。
- 充電監控: 電池的滿電電壓為每節4.2v,4S電池即為16.8V。在充電過程中,時刻監控電池的充電狀態。不要超過電池規定的充電電壓范圍,以防止過充。使用具有過充保護功能的充電器,以減小安全風險。
- 放電深度: 避免將鋰電池放電至過低電壓,因為這可能會損害電池并降低壽命。通常,建議在電池電壓低于每節3.7V(4S即為14.8V)時停止使用并進行充電。(由于無人機起飛后電池存在壓降,這里的電壓是指未飛行時的電壓)
- 溫度控制: 避免在極端溫度下使用或存儲鋰電池。高溫會導致電池性能下降,甚至引發過熱、起火的風險。低溫下,電池容量可能減少,影響性能。
- 儲存注意事項: 如果長時間不使用鋰電池,應儲存在50-60%的電量水平,并定期檢查電池狀態。存放電池時,要選擇干燥、陰涼的地方。
- 防止短路: 避免短路情況,確保電池連接器和線路完好無損。使用合適的連接器,并避免金屬物體碰觸電池引腳。
- 適當使用: 根據生產商的指南和規范使用鋰電池。避免過載、過放電,不要在超出電池規定電流范圍的情況下使用。
- 防止物理損壞: 避免撞擊、擠壓或其他物理損壞。如果鋰電池外殼有損壞,應停止使用并進行更換。
- 監控充電溫度: 在充電時監控電池溫度,如果發現異常情況,應立即停止充電并檢查原因。
- 應急處理: 在使用鋰電池時,應隨時準備好適當的滅火器材,并了解應對鋰電池火災的應急措施。
關鍵參數: 電壓,容量,放電倍率
8.螺旋槳
螺旋槳的作用是為無人機提供升力和扭力, 槳葉有正反之分,順時針方向旋轉的電機裝正槳,逆時針方向旋轉的電機裝反槳。不同正反的電機通常帶有不同的標號,有CW(正槳,順時針方向旋轉)和CCW(反槳,逆時針方向旋轉)兩種。還有“ 5045”和“ 5045R”標簽,像這樣標記時,缺少R的表示是CW,而有“ R”字母的則代表CCW。
**關鍵參數:**尺寸(例如“1045”:前兩位數字?:代表螺旋槳的直徑,單位為英寸。?后兩位數字?:表示螺距(螺旋槳旋轉一周前進的垂直距離),單位為英寸),cw/ccw
9.UBEC(穩壓模塊)
UBEC的作用是將電池電壓轉成機載設備(板載計算機Jeston nano、舵機等)的供電電壓,從而給機載設備供電,由于不同的機載設備供電電壓可能不一樣。因此一架無人機上可能會帶多個UBEC。
**關鍵參數:**支持的最大電壓/電流
(二)飛控硬件簡介
(三)飛控固件簡介
固件是是燒錄在飛控硬件中的軟件,pixhawk飛控支持PX4和ArduPilot兩種版本的固件。
本次課程重點以PX4固件為基礎進行講解
二、QGC地面站的使用
航路規劃
注意航路規劃時,設置完航點后,頁面左下角有一個“地形高度”那一欄,標紅的航點說明對應的航點高度不可達。默認的高度是相對于起飛點的高度,例如起飛點的高度是5米,那么每個航點的高度至少要大于5米才不會標紅,如果小于5米就會標紅,標紅的話就無法執行任務模式了。
如果標紅的話,可以把高度改高一點,或者改成相對于地形的高度,如下。
1.手動打點
點擊文件-》空白
默認必須先設置takeoff點,才能設置其他航點
如果想不設置takeoff點直接設置航點(例如無人船等載具),可以在地面站常規設置中勾選下圖選項:
然后就可以不用設置起飛點直接設置航點了。
點擊“takeoff”后,會在無人機當前位置生成起飛點,然后再點擊“航點”按鈕,然后在地圖上點擊即可設置航點位置。設置完的航點也可以鼠標左鍵選中后進行拖動改變其位置。
我這里在點擊起飛點后,繼續設置了三個航點,一共四個點,如下圖,地圖右側有每個行點的設置頁面。
點擊相應航點左側的小垃圾桶圖標可以刪除航點。
點擊小垃圾桶圖標右側的Waypoint可以設置點的類型,默認是Basic類別,下面有Waypoint(航點)、Return To Launch(返回起飛點)、Land(降落)、Takeoff(起飛)四種,分別對應到達該航點后執行的動作。
上面四種點對于普通四旋翼的使用來說已經夠了,但是如果需要執行一些高級一些的動作(如垂起模式切換),需要在下面的其他類別中去找。
我這里將第一個點設置為起飛點、第二和第三個點設置為航點,第四個點設置為返航點,這樣的話無人機會起飛并先飛到第二個點,再飛到第三個點,在到達第三個點后返航到起飛點。
在Mission Start那一欄可以設置航點高度和飛行速度等值,這一欄的設置會對所有任務點都有效。
在每個任務點里面也可以設置高度和停留時間等值,但這里的設置只對該任務點有效,在每個任務點的右側有一個三道杠的圖標,可以點擊該圖標設置該任務點的更多信息
如下圖:
“編輯位置”可以對位置進行詳細編輯
“顯示所有值”可以對任務點的所有參數進行編輯
2.矩形波式測繪規劃
點擊圖案-》測繪
點擊勾畫,然后在地圖上點多邊形的頂點
點完后點勾畫完畢
點擊下圖進行編輯
可以設置間隔,角度,轉彎距離等
如果想把下圖設置航線距離的單位換成米
可以把相機禁用就行了
設置遙控器調參通道
通過設置調參通道,可以將遙控器的某一個通道(如旋鈕)映射到PX4的一個參數當中,從而可以通過遙控器旋鈕實時的調整PX4參數的值。
在下圖先設置參數對應的遙控器通道,最多可以同時設置三個參數通道。
例如我這里遙控旋鈕對應的是通道9,我將參數1的調參通道設置為遙控器的通道9.
然后將內環俯仰角速率映射到參數1上,點擊下面的高級設置-》將遙控設到參數…
然后設置縮放倍數即可。設置完畢后可以動一下旋鈕看看參數變化是否正常
其中遙控遙控通道的1000對應-1,1500對應0,2000對應1,對應線性的歸一化。
對應參數為: 歸一化的遙控通道值*Scale+Center Value
Scale就是縮放的系數,
Center Value是遙控通道為中位值時的參數值
MIn Value對應參數的最小值
Max Value對應參數的最大值
例如參數MC_PITCHRATE_P的Center Value為0.15,Scale為0.1
那么遙控通道值為1500時,MC_PITCHRATE_P為0.15,通道值為1000時,則對應參數MC_PITCHRATE_P為0.05,通道值為2000時,則對應參數MC_PITCHRATE_P為0.25.通道值為1750時,則對應參數MC_PITCHRATE_P為0.2.
安全保護
地理圍欄
圍欄是一個虛擬邊界,用于定義機體可以在哪些地方行駛。 圍欄可用于防止機體飛出遙控器的范圍,或進入不安全或受限制的空域。
PX4提供了兩個獨立的機制來指定圍欄:
一個是基本的“故障保護”地理圍欄,定義了一個簡單的圓柱體。
一個是可以使用圍欄規劃(QGroundControl)定義更復雜的幾何圖形。
地理圍欄適用于所有模式,包括任務和手動飛行。
故障保護地理圍欄
故障保護圍欄定義了一個圓心在home點的圓柱,它具有指定的最大半徑和高度。
設置中還包括越界時的故障保護動作。 可能只是一個警告通知,但更常見的是機體會立即返回一個安全位置。
設置了電子圍欄后,飛機必須要有GPS信號才能解鎖,如果想在沒有GPS的情況下解鎖,需要將電子圍欄的動作設置維Disable
地理圍欄規劃
PX4 支持由多個圓形和多邊形區域組成的復雜地理圍欄邊界,這些區域可以定義為禁出或禁入區域。
圍欄規劃
打開 QGroundControl > Plan View.
選擇規劃類型為Fence。 這將顯示地理圍欄編輯器。
選擇多邊形圍欄或圓形圍欄按鈕,可將添加所需基本類型的圍欄到地圖中。 這也在編輯器中增加了此類圍欄的條目。
在地圖上調整圍欄的形狀和位置。
圍欄中心的圓點可以用來調整圍欄的位置。
邊界上的圓點可以用來調整半徑。
角(頂點)上的圓點可以用來改變多邊形的形狀。 點擊線段中間可以在兩個頂點中添加新的頂點。
圍欄編輯器可以設置圍欄是禁出或禁入區域,還可以通過(編輯單選按鈕)選擇一個圍欄來編輯或者通過刪除按鈕來刪除。
可添加任意數量的圍欄
完成后,點擊(右上角) 上傳 按鈕向車輛發送圍欄(連同集結和任務)。
在圍欄故障保護中需要設置越界動作。
遙控丟失保護
此保護用于設置在丟失遙控信號后的動作,在Safety->RC Loss Failsafe Trigger里面設置保護動作和信號丟失的最大時間
低電量保護
在Safety->Low Battery Failsafe Trigger設置三個低電量水平的閾值和觸發的動作。
設置遙測數據流
PX4的遙測數據流數是固定的。只能對APM的遙測數據流進行設置:
設置頁面如下,如果勾選了“所以控制流由載具設置控制”,則數據流的速率有飛控的參數設置,如果沒有勾選的話,載具的參數設置是沒有作用的
三、PX4基礎配置
(一)QGC下載固件
先不連接飛控,點擊地面站左上角圖標-》載具設置-》固件
然后用USB將飛連接電腦,注意飛控不要用電池或其他USB以外的設備供電,確保電腦識別到了飛控的usb端口,然后會彈出下面的頁面(如果沒有彈出下面的頁面,可以點此解決),直接下載的話默認下載的是最新穩定版
也可以選擇下載master分支,這是最新的,但可能會有bug。
不同的版本的固件代碼可以從下面的網址下載:https://github.com/PX4/PX4-Autopilot/releases固件下載地址
下載二進制文件后,可以通過地面站進行下載,確定后選擇.px4文件即可。
(二)Mission Planner下載固件
推薦使用QGC下載固件,如果QGC無法下載固件,可以嘗試用Mission Planner下載
飛控先不連地面站
點擊初始設置-》安裝固件Legacy-》加載自定義固件,然后選擇需要下載的固件(.px4文件)
點擊OK,然后插上飛控
地面站會自動識別飛控并下載固件,下載完后如圖
(三)常見問題及解決方法
(一)pixhawk2.4.8飛控只能下載fmu v2版本固件解決辦法
pixhawk2.4.8飛控是可以下載fmu v3版本固件的,但是有的pixhawk2.4.8飛控會出現只能下載fmu v2版本固件的問題,如下圖,v2版本支持的載具很少,屬于閹割版固件,因此建議使用fmu v3版本固件
解決辦法是在下載固件之間,先刷寫Bootloader,勾選“高級”復選框,就會出現“刷寫ChibiOS Bootloader"按鈕,如下圖。點擊此按鈕,然后再刷寫固件,此時刷寫的就是fmuv3版本固件
如果沒有上圖的刷bootloader按鈕,也可以修改飛控的參數SYS_BL_UPDATE,將其改成1,然后重啟飛控,再下載固件,就可以下載V3固件了。
(二)無法彈出下載固件頁面解決辦法
1、電腦識別不到USB端口
首先排查電腦是否識別到USB口,在設備管理器里查看,PX4固件會出現下面的端口
APM固件會出現下面的端口
如果沒有出現上面的端口,說明沒有識別到飛控的USB端口,可以嘗試換根USB線
2、用虛擬機里的QGC下載固件
如果用虛擬機里的QGC下載固件,需要將飛控連接到虛擬機,如果虛擬機里的系統無法識別到飛控的端口。電腦插上飛控,然后點擊下圖的“連接”即可將飛控連接到虛擬機。
然后再下載固件,下載方法與windos相同,在下圖頁面重新插上飛控USB即可
(四)選擇機型
將飛控連接至地面站,四旋翼無人機將機架設置為Geneic Quadcopter
然后電機右上方“應用并重啟”
重啟后如圖:
(五)校準
將飛控鏈接QGC地面站
1、校準羅盤
在校準羅盤時,如果有使用外置羅盤(常見的GPS中都帶有外置羅盤),請確保外置羅盤的方向和飛控內置羅盤的方向一致
選擇傳感器->羅盤->確定,開始校準
將無人機置于紅色所示的任何方向,并保持靜止。出現提示后(方向圖像變為黃色),沿任意/兩個方向繞指定軸旋轉車輛。當前方向校準完成后,屏幕上的相關圖像將變為綠色。
對所有方向重復校準過程。
在所有方向校準完畢后,QGroundControl將顯示Calibration complete(校準完成)(所有方向圖像將顯示為綠色,進度條將完全填滿)。然后可以繼續下一個傳感器。
2、校準陀螺儀
單擊陀螺儀傳感器按鈕,將無人機水平放在地面上,保持靜止。單擊“確定”開始校準。頂部的條形圖滿代表校準成功# 四、基于PX4的無人機裝機
3、校準加速度計
單擊加速計傳感器按鈕,單擊“確定”開始校準。
根據屏幕上的方向提示,當方向圖像變為黃色,保持無人機靜止。當前方向校準完成后,屏幕上的相關圖像將變為綠色。
對所有向重復校準過程。在所有位置校準車輛后,QGroundControl將顯示Calibration complete(校準完成)(所有方向圖像將顯示為綠色,進度條將完全填滿)。
5、校準地平線
如果不校準地平線,無人機在非定點飛行中位置可能持續的漂移。
將無人機置于水平面上,點擊校平地平線->OK,然后保持靜止,直到綠色進度條滿
5、校準遙控器
切換到遙控器頁面,檢查右下角是否能識別到通道,如果能識別到通道,就可以進行校準,選擇右上角的操作方式,然后點擊校準
然后點擊“確定”
再點擊“下一步”
將遙控器搖桿移動到下圖中指示的位置。
當桿就位時,地面站會提示下一個需要撥的位置,撥完所有位置后,按兩次“下一步”保存設置。
(六)遙控器通道設置
切換到飛行模式頁面,可以先撥一下需要設置的遙控器撥碼開關,看其在地面站中對應的是哪個通道
設置飛行模式切換開關
點擊“模式頻道”右側的復選框,設置相應的遙控器撥碼開關通道。
然后分別設置三檔對應的飛行模式。
設置其他切換開關
其他的開關通道在飛行模式右側,如下,需要設置哪個,就把這個開關右側的遙控器通道進行設置即可,我這里設置了一個剎車(Kill switch),通道為遙控器的第五個通道。剎車的作用是使電機直接停轉,可根據需要進行設置
(七)控制分配(Control allocate)
PX4 1.13.3以上版本的PX4固件才可以支持控制分配功能,其中1.13.3需要使能Control allocate參數才能使用,設置參數如下,1.14及更新版本固件不需要設置此參數,直接即可使用此功能
設置好參數后重啟飛控,進入到飛控的Actuators頁面,點擊對應通道右側的復選框,選擇對應的電機即可
設置好4個電機的輸出通道后如下圖:我這里使用的是AUX通道,對應飛控的輔助通道
如果想使用main通道,則設置如下:
電調的輸出協議可以在下圖的頁面設置,只有AUX通道才可以設置DShot協議
Dshot協議的電調可以在地面站中直接設置電機的轉向,如下圖,set Spin Direction 1表示順時針方向,set Spin Direction 2表示逆時針方向
例如想設置motor1的方向為逆時針,先點擊Set Spin Direction 2,然后在彈出來的4個電機里點擊Motor1即可,如果設置后沒有生效,重啟一下飛控即可。
如果想測試電機轉動,可以先點擊上面的確認按鈕,再滑動對應電機的滑動按鈕即可
五、飛行模式講解及飛行實操
(一)飛行模式切換
飛行員可以使用遙控上的開關或地面站來切換飛行模式。
并非所有飛行器都可以使用所有飛行模式,并且某些模式在不同飛行器類型上表現不同。
一些飛行模式僅在飛行前和飛行中某些特定條件下起作用(如 GPS 鎖定,空速傳感器,某個軸的姿態感測)。 除非滿足合適的條件,否則 PX4 不會允許切換到這些模式。
在多旋翼自主模式下,遙控器搖桿移動將默認將車輛更改為位置模式(除非處理關鍵的電池故障保護)。對于自主固定翼飛行,操縱桿運動被忽略。
(二)自主和手動模式
一般來說,飛行模式是手動或自主的。手動模式是指用戶通過遙控操縱桿(或操縱桿)控制車輛移動的模式,而自主模式完全由自動駕駛儀控制,不需要遙控控制輸入。
提示
某些手動模式可能具有自駕輔助機制,以便更容易獲得或恢復受控飛行。 如當遙控搖桿居中時,大部分飛行模式將使飛行器水平。
手動模式可以進一步分為 “自穩” 和 ”特技“ 模式。 在自穩模式下,滾動和俯仰桿設置車輛角度,從而在水平面上左右和前后移動。這將不僅可以使運動變得可預測,而且因為角度受控,飛行器無法翻轉。 在特技模式中,RC 搖桿控制角度旋轉的速率(繞相應軸)。飛行器可以翻轉,雖然機動性更強,但更難飛行。
(三)不同機型支持的飛行模式
固定翼:
手動:自穩,位置,高度,特技
自動:保持, 返航, 任務, 起飛, 降落, Offboard
多旋翼:
手動:自穩,位置,高度,特技
自動:保持, 返航, 任務, 起飛, 降落, 跟隨,Offboard
1.位置模式(多旋翼)
[飛行難度:簡單] [需要手動/遙控器控制] [需要定位鎖定(例如GPS)]
位置是一種易于飛行的RC模式,其中滾動和俯仰桿控制車輛左右和前后方向上的地面加速度(類似于汽車的油門),油門控制升降速度。當搖桿釋放/居中時,機體將主動制動,保持水平,并鎖定到 3D 空間中的位置 — 補償風和其他力。 搖桿打滿時,機體以MPC_ACC_HOR_MAX開始加速到達最終的速度MPC_VEL_MANUAL。
提示
位置模式對于新手是最安全的手動模式。 不同于定高模式和手動/自穩模式,機體在搖桿中位時會停止,而不是繼續直到風阻使其減速。 :::
下圖直觀地顯示了遙感對應的操作(對于美國手的遙控器)。
該模式中降落是很容易的:
使用橫滾和俯仰桿控制無人機水平位置于降落點上方。
松開橫滾和俯仰桿并給予足夠的時間使其完全停止。
輕輕下拉油門桿直到機體觸碰地面。
將油門桿一直向下拉以促進和加快著陸檢測。
機體將降低螺旋槳推力,檢測地面并自動落鎖(默認)。
注意
雖然在校準良好的機體上非常罕見,但有時著陸可能會出現問題。
如果機體無法停止水平移動:
您仍然可以在高度模式下在控制降落。 方法與上述相同,除了您必須使用橫滾和俯仰桿手動確保機體保持在降落點上方。
降落后檢查 GPS 和磁羅盤方向,并校準。
如果機體未檢測到地面/降落并自動加鎖。可以等機體落地后切換到手動/自穩模式,保持油門桿低位,并使用遙控器手動落鎖。 或者,當機體已經在地面上時,您也可以使用剎車開關。
1.1技術摘要
遙控模式下,橫滾、俯仰、油門 (RPT) 桿控制相應軸/方向的運動。 搖桿居中使機體水平并將其保持在固定的高度和位置并抗風。
搖桿處于滾動、俯仰、油門桿中位(遙控死區MPC_HOLD_DZ內)時,機體保持 x、y、z 位置穩定,抵抗任意干擾,如風。
中位以外:
橫滾/俯仰桿控制機體左右和前后方向(分別)在地面上的水平加速度。
油門桿控制上升下降速度。
偏航桿控制水平面上方的角旋轉速率。
起飛:
在地面時,如果油門桿升高到 62.5% 以上(從底部的全范圍),機體將起飛。
注解
遙控輸入信號是必須的(遙控器,或通過 MAVLink 的游戲手柄/拇指搖桿)。
此模式需要 GPS。
1.2參數
多旋翼位置控制組的所有參數都與位置模式有關。 下面列出了一些特別值得注意的參數。
參數 描述
MPC_HOLD_DZ 啟用位置保持的搖桿死區。 默認值:0.1(搖桿全行程的 10%)。
MPC_Z_VEL_MAX_UP 最大垂直上升速度。 默認:3 m/s。
MPC_Z_VEL_MAX_DN 最大垂直下降速度。 默認:1 m/s。
MPC_LAND_ALT1 觸發第一階段降速的高度。 低于此高度,下降速度限制在 MPC_Z_VEL_MAX_DN (或MPC_Z_V_AUTO_DN) 和 MPC_LAND_SPEED(需大于MPC_LAND_ALT2)之間. 默認10米
MPC_LAND_ALT2 觸發第二階段降速的高度。 低于此高度,下降速度限制在MPC_LAND_SPEED (需小于MPC_LAND_ALT1) 默認 5 米。
RCX_DZ 通道 X 的遙控死區。油門的 X 值取決于 RC_MAP_THROTTLE 的值。 例如,如果油門是通道4,則RC4_DZ 指定死區。
MPC_XXXX 大多數MPC_xxx參數會影響此模式下的飛行行為(至少在某種程度上)。 例如,MPC_THR_HOVER 定義飛機懸停時的推力。
MPC_POS_MODE 從搖桿輸入到機體動作的轉換策略。 從 PX4 v1.12 開始,默認值 (4) 是操縱桿位置控制加速度(類似于汽車油門踏板)。 其他選項允許操縱桿偏轉直接控制地面速度,有或沒有平滑和加速度限制。
MPC_ACC_HOR_MAX 最大水平加速度。
MPC_VEL_MANUAL 最大水平速度。
MPC_LAND_SPEED 著陸下降率. 默認 0.7 m/s.
1.3位置丟失/安全
位置模式依賴于一個可接受的位置估計。 如果估計值低于可接受的水平,例如由于 GPS 丟失,這可能會觸發位置 (GPS) 丟失故障保護 根據配置,是否有遙控器,以及是否有足夠的高度估計,PX4 可能會切換到高度模式、手動模式、降落模式或終止。
2.定高模式(多旋翼)
[飛行難度:簡單] [需要手動/遙控器控制] [需要高度傳感器(例如氣壓計、測距儀)]
高度模式是一種相對容易飛行的RC模式,其中滾動和俯仰桿控制車輛在左右和前后方向(相對于車輛的“前部”)上的運動,偏航桿控制水平面上的旋轉速度,油門控制升降速度。
當操縱桿松開/居中時,車輛將保持水平并保持當前高度. 如果在水平面上運動,機體將繼持續運動直到任何動量被風阻力消散。 如果刮風,飛機會向風的方向漂移。
提示
高度模式是新飛行員最安全的非GPS手動模式. 就像手動/自穩模式,但是在松開搖桿時也可以鎖定機體高度。
下圖直觀的展示了該模式(以美國手的遙控器舉例)。
多旋翼高度控制 -美國手遙控器
2.1技術總結
與手動/自穩模式類似,但具有高度穩定(居中操縱桿使車輛保持水平并保持在固定高度)。
回正搖桿(內帶死區):
RPY搖桿使飛機水平。
油門(~50%)抗風保持當前姿態。
外部中心:
翻滾/俯仰搖桿控制各自方向的傾斜角,導致左右和前后的移動。
油門搖桿以預定的最大速率(和其他軸上的移動速度)控制上升速度。
偏航搖桿控制水平面上方的角度旋轉速率。
起飛:
如果將油門桿抬高至 62.5%(從油門桿最低開始的整個范圍),無人機將起飛。
注解
需要手動輸入(遙控器,或者通過 MAVLink 連接的游戲手柄/拇指搖桿)。
通常使用氣壓計測量高度,在極端天氣條件下可能會變的不準確。 帶有激光雷達/距離傳感器的飛機將能夠以更高的可靠性和準確性控制高度。
2.2參數
該模式受以下參數影響:
MPC_Z_VEL_MAX_UP 最大垂直上升速度。 默認:3m/s。
MPC_Z_VEL_MAX_DN 最大垂直下降速度。 默認:1m/s。
RCX_DZ 通道 X 的遙控死區。油門的 X 值取決于 RC_MAP_THROTTLE 的值。 例如,如果油門是通道4,則 RC4_DZ 指定死區。
MPC_XXXX 大多數 MPC_xxx參數會影響此模式下的飛行行為(至少在某種程度上)。 例如,MPC_THR_HOVER定義飛機懸停時的推力。
3.手動/自穩模式(多旋翼)
[飛行難度:中等] [需要手動/遙控器控制]
當RC控制桿居中時,手動/穩定模式可穩定多旋翼。要手動使機體移動/飛,您可以移動搖桿使其偏離居中位置。
注解
在手動/自穩控制下,側傾桿和俯仰桿控制車輛繞各自軸的角度(姿態),偏航桿控制水平面上方的旋轉速度,油門控制高度/速度。
一旦釋放搖桿,它們將會返回中心死區。 一旦橫滾和俯仰搖桿居中,多旋翼無人機將平穩并停止運動。 然后機體將懸停在適當的位置/保持高度 - 前提是平衡得當,油門設置適當,并且沒有施加任何外力(例如風)。 飛行器將朝著任何風的方向漂移,您必須控制油門以保持高度。
3.1技術描述
飛手的輸入通過橫滾和俯仰角度以及偏航角速率指令傳遞給自駕儀。 自動駕駛儀控制著姿態,這意味著當遙控器搖桿居中時,它調整飛機的橫滾和俯仰角為零(因此使姿態變平)。 自動駕駛儀不能補償由于風(或其他來源)引起的漂移。
3.2參數
MPC_THR_HOVER 當油門桿居中輸出的懸停油門,默認值為MPC_THR_CURVE。
MPC_THR_CURVE 定義油門縮放比例。 默認情況下,這被設置為重新縮放懸停推力,這意味著當油門桿居中時,油門輸出為懸停油門(MPC_THR_hover),并且桿輸入被線性地重新縮放到低于和高于該值(允許自穩和高度/位置控制之間的平滑過渡)。
在動力很強的機體上,懸停油門可能非常低(例如低于 20%),因此重新調整會使油門輸入變形 - 對應上面舉例, 80% 的推力將僅由搖桿輸入的中位以上部分控制,20% 的推力由中位以下的部分來控制。 如果需要,可以將MPC_THR_CURVE設置為No Rescale(無重縮放),以便不進行重縮放
4.特技模式(多旋翼)
[飛行難度:困難] [需要手動/遙控器控制]
特技模式是用于執行特技動作的RC模式,例如翻轉、翻滾。
橫滾、俯仰和偏航桿控制圍繞各自軸的角速率,油門直接傳遞至控制分配。 當操縱桿居中時,飛機將停止旋轉,但保持其當前姿態并根據當前動量移動。
4.1技術描述
用于執行特技動作的R遙控/手動模式,例如翻轉,滾轉和環繞。
RPY搖桿輸入控制圍繞各自軸的角度旋轉速率。 當操縱桿居中時,飛機將停止旋轉,但保持其當前朝向(不一定是水平)。
4.2搖桿輸入映射
特技模式下默認的滾轉、俯仰和偏航操縱桿輸入映射如下所示。 該曲線使得在最大桿輸入處具有大轉彎速率能夠進行特技動作,在靠近桿回中位置的區域具有較低靈敏度以進行微調。
可以使用MC_ACRO_EXPO和MC_ACRO_SUPEXPO參數調整滾轉和俯仰軸桿輸入響應,同時使用MC_ACRO_EXPO_Y和MC_ACRO_SUPEXPOY調整偏航軸桿輸入響應 。 MC_ACRO_EXPO和MC_ACRO_EXPO_Y參數用于調整線性曲線和三次曲線之間的曲線,如下所示。 MC_ACRO_SUPEXPO和MC_ACRO_SUPEXPOY允許進一步調整曲線形狀,修改低靈敏度區域的寬度。
數學關系是:
其中y是縱軸,x是橫軸,f = MC_ACRO_EXPO 或 MC_ACRO_EXPO_Y,g = MC_ACRO_SUPEXPO 或 MC_ACRO_SUPEXPOY , r 為最大速率。
您可以在此處進行試驗。
4.3參數
MC_ACRO_EXPO 特技模式“指數”因子,用于調整滾轉和俯仰軸的桿輸入曲線形狀。 值:0表示純線性輸入曲線,1表示純三次輸入曲線。 默認:0.69
MC_ACRO_EXPO_Y 特技模式“指數”因子,用于調整偏航軸的桿輸入曲線形狀。 值:0表示純線性輸入曲線,1表示純三次輸入曲線。 默認:0.69
MC_ACRO_SUPEXPO 特技模式“超級指數”因子,用于精細調整滾動軸和俯仰軸的桿輸入曲線形狀(使用MC_ACRO_EXPO進行調整)。 值:0——純指數函數,0.7——合理增強直觀操縱感的形狀,0.95——非常彎曲的輸入曲線,僅在最大值附近有效。 默認:0.7
MC_ACRO_SUPEXPOY 特技模式“超級指數”因子用于精細調整偏航軸的桿輸入曲線形狀(使用MC_ACRO_EXPO_Y進行調整)。 值:0——純指數函數,0.7——合理增強直觀操縱感的形狀,0.95——非常彎曲的輸入曲線,僅在最大值附近有效。 默認:0.7
MC_ACRO_P_MAX 最大特技俯仰速率 默認:每秒2轉(720度/秒)
MC_ACRO_R_MAX 最大特技滾轉速率 默認:每秒2轉(720度/秒)
MC_ACRO_Y_MAX 最大特技偏航速率 默認: 1.5轉每秒(540度/秒)
5.環繞模式 (多旋翼)
[易于飛行] [需要定位修復(例如 GPS)]
默認情況下,軌道引導飛行模式允許您命令多旋翼機(或多旋翼模式下的垂直起降)繞圓飛行,偏航始終朝向中心。
環繞模式 - 多旋翼
QGroundControl(或其他兼容的GCS或MAVLink API)需要啟用該模式,并設置軌道的中心位置、初始半徑和高度。一旦啟用后,無人機將盡快飛到控制的圓周軌跡上的最近點,并在規劃的圓周上朝中心方向緩慢(1 m/s)順時針旋轉。
環繞模式的啟動方式為:
解鎖并起飛后,左鍵點擊飛行視圖頁面的地圖。選擇下圖的Orbit at location
然后滑動地圖底部的確認按鈕,無人機會進入環繞模式繞圈飛行
注解
該模式下遙控器是可選的,如果沒有遙控,則環繞模式如上所述。 無法使用遙控來切換該模式(如果使用遙控切換該模式,無人機會處于空閑狀態)。
遙控可以用于改變繞圈的高度,半徑,速度和繞圈方向:
左搖桿:
上/下:控制上升/下降速度,如位置模式。當在中部死區時,高度被鎖定。
左/右:無影響。
右搖桿:
左/右:控制順時針/逆時針方向的軌道加速度。當居中時,當前速度被鎖定。
最大速度為 10 m/s,進一步的限制是將向心加速度保持在 2 m/s^2 以下。
上/下:控制軌道半徑(更小/更大)。當居中時,當前半徑被鎖定。
最小半徑是 1 米。 最大半徑是 100 米。
下圖直觀的顯示了模式行為(對于一個美國手遙控器)。
切換到其他飛行模式(使用遙控或 QGC 地面站)可以停止此模式。
5.1參數/限制
沒有特定的環繞模式參數。
下面的限制是寫死的:
初始/默認是順時針方向 1 m/s 旋轉。
最大加速度限制在 2 m/s^2。
優先保持控制的圓周軌跡而不是地速(即, 如果加速度超過 2 m/s^2無人機將減速以達到正確的圓周)。
最大半徑是 100 米。
環繞模式可以使用以下 MAVLink 命令:
MAV_CMD_DO_ORBIT:啟動一個指定中心點,半徑,方向,高度,速度和偏航方向的軌道(無人機默認朝向軌道中心)。
ORBIT_EXECUTION_STATUS :在環繞模式發出的環繞狀態。
6.定點模式(固定翼)
[易于使用] [需要手動或遙控控制] [需要定位修復(例如GPS)]
位置模式是一種易于飛行的RC模式,在該模式下,當桿釋放/居中時,飛機將水平并沿當前方向直線飛行,以補償風和其他力。
油門取決于空速(在 50% 油門時,飛機將以預設的巡航速度保持其當前高度)。 俯仰用于爬升或下降。 翻滾、俯仰和偏航是角度控制的(因此不可能實現飛機滾轉或環繞)。
提示
位置模式對于新手是最安全的固定翼手動模式。
下圖直觀的顯示了該模式(對于一個美國手的發射機)。
7.定高模式(固定翼)
[易于飛行] [需要手動或遙控控制] [所需高度(例如巴羅、測距儀)]
高度飛行模式使用戶更容易控制車輛高度,尤其是達到和保持固定高度。該模式不會試圖抵抗風擾保持航向。
爬升/下沉率通過俯仰/升降舵桿操縱桿來控制。 操縱桿一旦回中,自動駕駛儀就會鎖定當前的高度,并在偏航/滾轉和任何空速條件下保持高度。
油門通道輸入控制空速。 滾動和俯仰是角度控制的(因此不可能實現飛機滾轉或環繞)。
當所有遙控輸入都居中時(無滾動、俯仰、偏航,油門約 50%),飛機將恢復直線水平飛行(受風影響)并保持其當前高度。
下圖直觀的顯示了該模式(對于一個美國手的發射機)。
7.1技術總結
遙控/手動模式,如自穩模式,但具有高度穩定性(桿回中使飛機進入直線和水平飛行并保持當前高度)。 但是飛行過程并不穩定,可能被風吹飄離。
回中的滾動/俯仰/偏航輸入(在死區內):
自動駕駛儀使飛機/機翼水平并且維持高度。
如果空速傳感器已連接,油門桿控制飛機速度。 在沒有空速傳感器的情況下,用戶無法控制油門(在這種情況下,飛機將在巡航油門下(FW_THR_CRUISE) 水平飛行,根據需要增加或減少油門以上升或下降。
外部中心:
俯仰搖桿控制高度。
油門桿控制飛機的空速(如回中輸入 橫滾/俯仰/偏航)。
橫滾搖桿控制橫滾角度。 自動駕駛儀將保持 協調飛行。 這和自穩模式一樣。
偏航搖桿操縱會驅動方向舵(指令將被加到自動駕駛儀計算的指令中以維持 協調飛行。 這和自穩模式一樣。
注解
需要手動輸入(遙控器,或者通過 MAVLink 連接的游戲手柄/拇指搖桿)。
通常使用氣壓計測量高度,在極端天氣條件下可能會變的不準確。 帶有激光雷達/距離傳感器的飛機將能夠以更高的可靠性和準確性控制高度。
7.2參數
該模式受以下參數影響:
FW_MAN_P_MAX 在高度穩定模式下手動控制的最大俯仰角。 默認:45 度。
FW_MAN_R_MAX 在高度穩定模式下手動控制的最大滾轉角。 默認:45 度。
8.自穩模式(固定翼)
[中等飛行難度] [需要手動或遙控控制]
當RC桿居中時,穩定模式使車輛進入直線和水平飛行,保持水平姿態迎風(但不包括車輛航向和高度)。
如果橫滾/俯仰搖桿桿不為零,則無人機根據俯仰輸入進行爬升/下降并執行協調的轉彎。 橫滾和俯仰是角度控制的(不能上下滾動或翻滾)。
提示
穩定模式比手動模式更容易飛行,因為你不能翻滾或翻轉它,而且通過對中控制桿很容易調平車輛。
如果油門降至 0%(電機停止),飛機將滑行。 為了執行轉彎,必須在整個操縱過程中保持命令,因為如果釋放橫滾搖桿,則飛機將停止轉動并自行調平(對于俯仰和偏航命令也是如此)。
下圖直觀的顯示了該模式(對于一個美國手發射機)。
8.1技術描述
遙控/手動模式,橫滾和俯仰搖桿回中使飛機改平。
搖桿回中會使飛機進入定直平飛。 但是飛行航向和高度并不穩定,可能被風吹飄離。
如果滾轉/俯仰桿輸入非零,則飛機進行協調轉彎(手動偏航輸入被添加到方向舵控制輸入以控制側滑)。
9.特技模式(固定翼)
[很難飛] [需要手動或遙控控制]
雜技模式是用于執行雜技動作的RC模式,例如翻滾、翻轉、失速和雜技動作。
側傾、俯仰和偏航桿控制圍繞各自軸的角旋轉速率,油門直接傳遞至控制分配。當操縱桿居中時,飛機將停止旋轉,但保持其當前朝向(在其側面,倒置或任何其他方向)并根據當前動量移動。
9.1技術描述
用于執行特技動作的遙控模式,例如滾動、翻轉。
RPY搖桿輸入被轉換為角速度命令,通過自動駕駛儀穩定。 油門直接傳遞到電機輸出。
9.2參數
FW_ACRO_X_MAX 機體軸x軸最大速率(用戶在acro模式下施加滾轉軸滿桿操縱時,控制器試圖達到的機體軸x軸速率) 默認:90度
FW_ACRO_Y_MAX 機體軸y軸最大速率(用戶在acro模式下施加俯仰軸滿桿操縱時,控制器試圖達到的機體軸y軸速率) 默認:90度
FW_ACRO_Z_MAX 機體軸z軸最大速率(用戶在acro模式下施加偏航軸滿桿操縱時,控制器試圖達到的機體軸z軸速率) 默認:45度
10.手動模式(固定翼)
[很難飛] [需要手動或遙控控制]
手動模式將搖桿輸入直接發送至控制分配,以實現完全手動控制。
提示
這是最難飛行的模式,因為什么都不穩定。 不同于特技模式,如果 RP (俯仰和橫滾) 搖桿居中,無人機不會自動停止繞軸轉;飛手實際上必須移動搖桿向另一個方向施力。
注解
這是唯一忽略 FMU(命令通過安全協處理器發送) 的飛行模式。 該模式提供了一個安全機制,允許在 FMU 固件故障時通過遙控器完全控制油門,升降舵,副翼和方向舵。
10.1技術描述
遙控模式,其中搖桿輸入直接發送到混控(用于“完全”手動控制)。
這是唯一忽略主處理器(命令通過安全協處理器發送) 的飛行模式。 該模式提供了一個安全機制,允許在 FMU 固件故障時通過遙控器完全控制油門,升降舵,副翼和方向舵。
10.2參數
FW_MAN_P_SC 手動俯仰控制比例。 在完全手動模式下應用于所需俯仰舵機指令的比例因子。 此參數允許調整控制舵偏的偏轉。 默認:1.0
FW_MAN_R_SC 手動滾轉控制比例。 在完全手動模式下應用于所需橫滾舵機指令的比例因子。 此參數允許調整控制舵偏的偏轉。 默認:1.0
FW_MAN_Y_SC 手動偏航控制比例。 在完全手動模式下應用于所需偏航舵機指令的比例因子。 此參數允許調整控制舵偏的偏轉。 默認:1.0
起飛模式
[需要定位(例如 GPS )]
起飛飛行模式使無人機起飛到指定高度并等待進一步指令。
注解
該模式需要一個良好的位置估計(如,從 GPS 中獲取)。
使用此模式前必須先解鎖。
This mode is automatic - no user intervention is required to control the vehicle.
遙控開關可以在任何無人機上更改飛行模式。
在多旋翼中移動遙控器搖桿(或 VTOL 在多旋翼模式下)默認情況下會將無人機切換到位置模式,除非是處理電池失效保護。
如果起飛時出現問題, 故障檢測器 將自動停止電機。
下面描述每種類型飛機的具體行為。
1.多旋翼(MC)
多旋翼上升到 MIS_TAKEOFF_ALT 中定義的高度并保持位置。
遙控器搖桿移動會把無人機切換到 位置模式 (默認)。
起飛受以下參數影響:
MIS_TAKEOFF_ALT 起飛期間的目標高度 (默認值: 2.5 米)
MPC_TKO_SPEED 上升速度 (默認值: 1.5 m/s)
COM_RC_OVERRIDE 控制多旋翼(或者多旋翼模式下的 VOTL)的搖桿移動量來切換到 位置模式。 可以分別為自動模式和 offboard 模式啟用此功能,默認情況下在自動模式下啟用此功能。
COM_RC_STICK_OV 導致發射機切換到 位置模式 的搖桿移動量(如果 COM_RC_OVERRIDE 已啟用)。
2.固定翼(FW)
飛機使用彈射器/手拋起飛模式或跑道起飛模式沿當前方向起飛。模式默認為彈射/手動起飛,但可以使用 RWTO_TKOFF 設置為跑道起飛。 在這兩種情況下,遙控操作都被忽略。
彈射/手拋起飛
在彈射器/手拋起飛模式下,車輛等待檢測起飛(基于加速觸發)。在起飛時,它在大約2秒內升到全油門(RWTO_MAX_THR),然后執行全油門爬升,最小起飛俯仰10度。
一旦它達到 FW_CLMBOUT_DIFF 它將過渡到 保持模式 和懸停。
除了上面討論的行為之外,還有一個啟動檢測器可以阻止啟動程序開始直到滿足某些條件。 對于彈射器發射,這是一些加速度閾值。
跑到起飛
跑道起飛模式有以下階段:
加速滑行:在跑道上加速(俯仰固定,無側傾,航向保持),直到達到起飛的最小空速(FW_AIRSPD_MIN x RWTO_AIRSPD_SCL)。
起飛:增加俯仰并繼續,直到車輛高度>導航高度(RWTO_NAV_ALT)。
爬升:爬升至高于地面高度>FW_CLMBOUT_DIFF。在此階段中, 將移除滾轉和航向限制。
固定翼起飛參數
起飛受以下參數影響:高于地平面(AGL)的高度,留有足夠的離地間隙以允許一些滾轉。 在達到RWTO_NAV_ALT之前,飛機保持水平,并且僅使用方向舵來保持航向(參見RWTO_HDG )。
起飛時,無人機 總是遵循正常的固定翼最大/最小油門設置(FW_THR_MIN,FW_THR_MAX)。
垂直起降(VTOL)
VTOL 在啟動時默認為多旋翼模式,通常可以在多旋翼模式下起飛(而且也更安全)。
也就是說,如果在起飛前切換到固定翼,將以固定翼模式起飛。
著陸模式
[需要定位估計(例如GPS)]
使無人機降落在開啟此模式時的位置。降落后,無人機將會在一小段時間后上鎖(默認情況下)。
注解
該模式需要有效的位置估計,除非由于失效保護進入該模式,這種情況下僅需要高度估計(通常飛控內置一個氣壓計)。
此模式為自動模式-無需用戶干預即可控制飛機。
遙控器開關可以用于更改任何無人機的飛行模式。
在多旋翼中移動遙控器搖桿(或 VTOL 在多旋翼模式下)默認情況下會將無人機切換到位置模式,除非是處理電池失效保護。
下面描述每種類型飛機的具體行為。
1.多旋翼(MC)
無人機將降落在模式所指定的位置。 無人機以 MPC_LAND_SPEED 指定的速度下降,降落后會上鎖(默認)。
遙控器搖桿移動會把無人機切換到 位置模式 (默認)。
著陸受以下參數影響:
MPC LAND_SPEED 著陸過程中的下降速率。 鑒于地面情況未知,這個值應該設得相當小。
COM_DISARM_LAND 降落后自動上鎖的超時時間,以秒為單位。 如果設定為 -1,無人機將不會在著陸時上鎖。
COM_RC_OVERRIDE 控制多旋翼(或者多旋翼模式下的 VOTL)的搖桿移動是否將控制權交給位置模式下的飛手。 可以分別為自動模式和 offboard 模式啟用此功能,默認情況下在自動模式下啟用此功能。
COM_RC_STICK_OV 導致發射機切換到 位置模式 的搖桿移動量(如果 COM_RC_OVERRIDE 已啟用)。
2.固定翼(FW)
無人機將轉彎并降落在該模式指定的位置。 遙控器搖桿操作被忽略。
通常固定翼無人機會遵循固定的著陸軌跡到地面(它不會嘗試拉平著陸)。 這是因為在著陸模式下,飛機可能不知道地面高度并且將假設它處于海平面。 由于地面高度可能會高得多,因此飛機通常會在高于拉平輯邏輯的高度處到達地面。
著陸受以下參數影響
COM_DISARM_LAND 降落后自動上鎖的超時時間,以秒為單位。 如果設定為 -1,無人機將不會在著陸時上鎖。
垂直起降(VTOL)
當處于固定翼模式時,VTOL 遵循 LAND 行為和固定翼的參數,而當處于多旋翼模式時,VTOL 遵循多旋翼的參數。 當設置 NAV_FORCE_VT(默認:開)時,固定翼模式下的 VTOL 將在著陸前切換回多旋翼模式。
返航模式
[需要定位(例如 GPS )]
返航飛行模式用于將車輛在無障礙的路徑上安全飛行至安全目的地,在那里可以等待(懸停或盤旋)或降落。
PX4 提供了幾種機制來選擇安全的返航路徑,以下章節解釋了如何配置 返航類型, 返航高度 和 降落/抵達行為。 最后有章節解釋了每種機型的默認(預配置)行為。
注解
該模式需要 GPS。
遙控開關可以在任何無人機上更改飛行模式。
在多旋翼中移動遙控器搖桿(或 VTOL 在多旋翼模式下)默認情況下會將無人機切換到位置模式,除非是處理電池失效保護。
1.返航類型(RTL_TYPE)
PX4 提供了四種替代方法( RTL_TYPE ),用于找到通向安全目的地和/或著陸的暢通路徑:
返航到起始位置/集結點(RTL_TYPE=0): 上升到安全高度并直接路徑返回到最近的集結點或起始地點。
任務著陸/集結點返回(RTL_TYPE=1):上升到安全高度,直接飛到離家最近的目的地:集結點或任務著陸開始。 如果未定義任務著陸點或集結點,則直接返回起始位置。
任務路徑返航(RTL_TYPE=2):使用任務模式的路徑并沿原路徑返回。 如果未定義任務降落,則將快速回退到任務起始位置。 如果未定義任務,直接返航到起始位置(集結點將被忽略)。
最近的安全目的地返航(RTL_TYPE = 3):上升到安全高度并通過直接路徑返回最近的起始位置,任務著陸點的開始位置或集結點。
以下各節提供了每種類型的更詳細說明。
2.起始位置/集結點返航類型(RTL_TYPE=0)
無人機在該返航類型中:
爬升到一個安全的返航高度(高于任何可預期的障礙物)。
通過直接路徑飛往起始位置或集結點(以最近者為準)。
降落或等待處于下降高度(取決于著陸參數)。
注解
如果未定義集結點,這與返回起飛點(RTL)/返回原點(RTH)相同。
3.任務著陸/集結點返航類型 (RTL_TYPE=1)
無人機在該返航類型中:
爬升到一個安全的返航高度(高于任何可預期的障礙物)。
直接飛行到一個集結點或任務著陸模式的起點(以最近者為準)。 如果未定義任務降落或集結點,無人機通過直接路徑返回到起始位置。
如果目的地是飛行任務著陸模式,則按照該模式降落。
如果目的地是集結點或者起始位置,無人機將在降落高度(取決于著陸參數)降落或等待。
保持模式
[需要定位(例如 GPS)]
等待飛行模式(也稱為“懸停”)使車輛停止并保持其當前的GPS位置和高度(MC車輛將在GPS位置懸停,而FW車輛將在其周圍盤旋)。
提示
保持模式可用于暫停任務或幫助您在緊急情況下重新控制車輛。它通常通過預編程開關激活。
注解
該模式需要 GPS。
此模式為自動模式-無需用戶干預即可控制車輛。
遙控開關可以在任何無人機上更改飛行模式。
在多旋翼中移動遙控器搖桿(或 VTOL 在多旋翼模式下)默認情況下會將無人機切換到位置模式,除非是處理電池失效保護。
下面描述每種類型飛機的具體行為。
1.多旋翼(MC)
多旋翼無人機懸停在當前位置和高度。
遙控器搖桿移動會將無人機切換到 位置模式 (默認)。
可以使用以下參數配置此動作。
MIS_LTRMIN_ALT 留待模式的最小高度(如果模式在較低的高度進行,則飛行器將上升到此高度)。
COM_RC_OVERRIDE 控制多旋翼(或者多旋翼模式下的 VOTL)的搖桿移動量來切換到 位置模式。 可以分別為自動模式和 offboard 模式啟用此功能,默認情況下在自動模式下啟用此功能。
COM_RC_STICK_OV 導致發射機切換到 位置模式 的搖桿移動量(如果 COM_RC_OVERRIDE 已啟用)。
2.固定翼(FW)
飛機在當前高度并在 GPS 保持的位置繞圈飛行。 如果在低于這個高度使用該模式,無人機會首先上升MIS_LTRMIN_ALT。
遙控器搖桿操作被忽略。
可以使用以下參數配置此動作。
NAV_LOITER_RAD 留待圈的半徑。
MIS_LTRMIN_ALT 留待模式的最小高度(如果模式在較低的高度進行,則飛行器將上升到此高度)。
3.垂直起降(VTOL)
當處于固定翼模式時,VTOL 遵循固定翼的參數,而當處于多旋翼模式時,VTOL 遵循多旋翼的參數。
任務模式
[需要定位(例如 GPS)]
任務模式使車輛執行已上傳至飛行控制器的預定義自主任務(飛行計劃)。任務通常由地面控制站(GCS)應用程序(如QGroundControl)創建并上傳
注解
此模式需要 3d 位置信息(如 GPS)。
使用此模式前必須先解鎖。
遙控器開關可以用于更改任何無人機的飛行模式。
在多旋翼中移動遙控器搖桿(或 VTOL 在多旋翼模式下)默認情況下會將無人機切換到位置模式,除非是處理電池失效保護。
參數描述
任務通常在地面控制站規劃,并在啟動前上傳。它們也可以由開發者API創建,和/或在飛行中上傳。個別任務指令的處理方式取決于每種飛行器的飛行特性(例如,直升機的懸停飛行和固定翼的盤旋飛行)。 VTOL飛機在固定翼模式下遵循固定翼的行為和參數,在多旋翼模式下遵循旋翼機的行為和參數。
注解
任務上傳到SD卡上,需要在啟動自動駕駛儀之前插入SD卡。
在高級別上,所有無人機類型在使用 MISSION 模式時表現相同:
如果任務被開始并且無人機正在飛行,則它將從當前步驟執行 任務/飛行計劃。
如果開始了任務, 并且無人機在地面:
多旋翼無人機將執行任務/飛行計劃. 如果任務沒有 TAKEOFF 命令,則在從當前步驟執行飛行計劃的剩余部分之前,無人機將飛行到最小高度。
在固定翼飛行器上,無人機不會自動起飛(自動駕駛儀將檢測運動并將油門設置為零)。 如果在任務模式下手動或彈射發射,飛機可以開始執行任務。
如果停止任務,或者無人機已完成所有任務并且無人機正在飛行,飛機將會留待。
可以通過激活HOLD 模式暫停任務。 當您重新激活 MISSION 飛行模式時,任務將從當前任務命令繼續執行。 在任務模式下飛行時,如果決定中止任務,并且切換到了其他飛行模式,如位置模式,通過遙控器講無人機飛到了其他地方,然后切換回任務模式,無人機將從當前位置繼續執行任務,并會飛往下一個未訪問的任務航點。
注意
在切換到其他遙控器模式之前,確保油門搖桿不為零(否則無人機將墜毀)。 我們建議您在切換到任何其他模式之前將搖桿置中。
有關任務規劃的更多信息,請參閱:
任務參數
任務行為受許多參數的影響. 下面列出了一個很小的子集。
NAV_RCL_ACT 遙控信號丟失失效保護模式(如果斷開遙控無人機會怎樣)- 例如進入保持模式,返航模式,終止等。
NAV_LOITER_RAD 固定翼懸停半徑。
COM_RC_OVERRIDE 控制多旋翼(或者多旋翼模式下的 VOTL)的搖桿移動是否將控制權交給位置模式下的飛手。 可以分別為自動模式和 offboard 模式啟用此功能,默認情況下在自動模式下啟用此功能。
COM_RC_STICK_OV 導致發射機切換到 位置模式 的搖桿移動量(如果 COM_RC_OVERRIDE 已啟用)。
注意:
對于任務命令,PX4 不支持本地坐標系(例如,MAV_FRAME_LOCAL_NED)
跟隨模式
[需要定位(例如GPS)]
跟隨模式允許多旋翼機自主保持相對于另一個系統的位置和高度,該系統使用Follow_TARGET廣播其位置(可選速度)MAVLink消息。
跟隨的概念
根據高度控制模式,車輛將從指定的相對角度、距離、高度和高度自動偏轉到目標面并跟隨目標。
默認情況下,它將直接從目標后面跟隨,距離為8米,高度為起始(待命)位置上方8米。
用戶可以使用如上所示的遙控器調整跟隨角度、高度和距離:
跟隨高度由上下輸入(“油門”)控制。將棍子居中,以恒定的高度跟蹤目標。升高或降低搖桿以調整高度。
跟隨距離由前后輸入(“俯仰”)控制。向前推操縱桿會增加跟隨距離,向后拉則會減少距離。
跟隨角度由左右輸入(“滾動”)控制。移動是從用戶的角度出發的,所以如果你面對無人機并向左移動棍子,它就會向你的左邊移動。從上方看,如果向左移動操縱桿,無人機將逆時針移動。
跟隨角度定義為相對于目標航向(0度)沿順時針方向增加
跟隨角度圖
注解
退出跟隨模式時,將放棄使用RC控制器設置的角度、高度和距離值。如果退出跟隨模式并再次激活,則值將重置為默認值。
在帶有GPS模塊和MAVSDK的Android設備上,QGroundControl支持跟隨模式。
注解
此模式需要GPS。
此模式目前僅在多旋翼上受支持。
跟蹤目標還必須能夠提供位置信息。
QGroundControl僅在具有GPS的Android設備上支持此模式。
1.安全須知
注意
跟車模式不實施任何類型的障礙物回避。使用此模式時必須特別小心。
應遵守以下飛行預防措施:
跟我走模式只能在沒有樹木、電線、房屋等遮擋的開闊區域使用。
將跟隨高度設置為遠高于任何周圍障礙物的值。默認情況下,該位置高于原始(待命)位置8米。
在啟用跟我模式之前手動飛到安全高度比在著陸時啟用跟我方式更安全(即使該模式實現自動起飛)。
為無人機留出足夠的制動空間,尤其是在無人機快速行駛時。
如果出現問題,準備切換回位置模式,特別是第一次使用跟隨模式時。
您不能使用搖桿移動來關閉跟隨我模式(因為這將調整屬性)。您需要有一個可以發送飛行模式開關信號的地面站,或者在RC發射機中配置一個飛行模式開關。
2.通過QGroundControl使用跟隨模式
使用QGroundControl作為具有GPS模塊的地面站硬件上的目標,支持跟隨模式。推薦的配置是一個能使用 USB OTG 的安卓設備,配備兩個數傳。
設置跟隨模式:
將遙測無線電連接到地面站設備,將另一個連接到車輛(這允許在兩個無線電之間中繼定位信息)。
禁用Android設備上的睡眠模式:
此設置通常可以在“設置”>“顯示”下找到。
禁用Android設備上的睡眠模式很重要,因為這可能會導致GPS信號停止定期發射。
起飛高度至少為2-3米(即使支持自動起飛,也建議如此)。
將無人機放在地面上,按下安全開關并后退至少10米。
解鎖車輛并起飛。
切換到跟隨我模式。
根據距離傳感器的存在,直升機將首先上升到離地面或家1米的最低安全高度。
在水平移動之前,它將一直上升到跟隨高度3米以內,以避免潛在的碰撞。
飛機會一直調整航向以面對目標
此時,你可以開始移動,無人機將跟蹤你。
3.通過MAVSDK使用跟隨模式
MAVSDK支持跟隨模式,允許您創建一個無人機應用程序,該應用程序設置跟隨的目標。
有關更多信息,請參見“跟隨我”類
(打開新窗口)文檔以及“跟隨我”示例
(打開新窗口)。
配置高度控制模式
高度控制模式確定車輛高度是否相對于原位置、地形高度或跟隨目標報告的高度。
2D跟蹤(默認高度模式)使無人機在相對于固定起始位置(起飛高度)的高度跟隨。無人機到目標的相對距離將隨著你的上升和下降而改變(在丘陵地形中小心使用)。
2D+地形使用來自距離傳感器的信息,使無人機以相對于其下方地形的固定高度跟隨。如果車輛沒有距離傳感器,跟蹤將與2D跟蹤相同。距離傳感器并不總是準確的,在這種模式下飛行時,車輛可能會“跳躍”。請注意,該高度相對于車輛下方的地面,而不是跟隨目標。無人機可能無法跟蹤目標的高度變化!
3D跟蹤模式使無人機在其GPS傳感器提供的相對于跟蹤目標的高度上跟蹤。這會適應目標高度的變化,例如當你上山時。
注意
當使用QGC for Android時,在未檢查FOLLOW_TARGET.altitude 是AMSL高度的情況下,請勿將高度模式(FLW_TGT_ALT_M)設置為3D跟蹤.MAVLink跟蹤目標消息定義期望相對于平均海平面(AMSL)的高度,而Android上的QGC正在發送相對于GPS橢球的高度。這可以相差200米!
由于內置的最低安全高度限制(1米),無人機可能不會墜毀,但它可能會飛得比預期高很多。如果無人機的高度與規定的高度相差很大,假設地面站的高度輸出錯誤,請使用2D跟蹤。
4.參數
可以使用以下參數配置跟隨我的行為:
FLW_TGT_HT跟隨高度,單位為米。請注意,此高度相對于起始/待命位置(而非目標車輛)是固定的。默認和最小高度為8米(約26英尺)
FLW_TGT_DST水平(x,y)平面內的無人機/地面站間距,單位為米。最小允許間距為1米。默認距離為8米(約26英尺)。
FLW_TGT_FA相對于目標航向的跟隨角度,單位為度。如果輸入的值超出范圍[-180.0,+180.0],則會自動轉換并應用(例如480.0將轉換為120.0)
FLW_TGT_ALT_M高度控制模式。
0=二維跟蹤(高度固定)
1=2D跟蹤+地形跟蹤
2=目標GPS高度的3D跟蹤警告:請勿與Android的QGC一起使用。
FLW_TGT_MAX_VEL圍繞目標的軌道運動的最大相對速度,單位為m/s。
10米/秒已被證明是最佳點。
FLW_TGT_RS過濾傳入目標位置的動態過濾算法響應性。
0.0=對運動和位置、速度和加速度的噪聲估計非常敏感。
1.0=非常穩定但沒有響應的濾波器
5.提示和技巧
將跟隨距離設置為12米以上(“建議最小距離”為8米)。
目標和無人機的GPS傳感器之間存在固有的位置偏差(3~5米),這使得無人機在接近實際目標的地方跟蹤“幽靈目標”。當跟車距離很小時,這一點更為明顯。我們建議將跟隨距離設置得足夠大,以使GPS偏差不顯著。
使用RC調整高度、距離和角度,您可以獲得一些創造性的相機鏡頭。
已知的問題
已知 SiK 915兆赫數傳 會干擾某些安卓設備的 全球定位系統信號接收。 保持數傳和安卓設備之間盡可能遠的距離,避免使用跟隨模式時受到干擾。
QGC for Android報告了錯誤的海拔高度(高于橢球面而非AMSL的海拔高度)。跟隨高度可以偏離200米!
Offboard 模式
[需要定位修復(例如GPS)]
飛機遵守 MAVLink 提供的位置,速度或姿態設定值。 設定值可以由機載計算機上運行的 MAVLink API(例如 MAVSDK
(opens new window) 或 MAVROS
(opens new window))提供(通常通過串口或 wifi 連接)。
提示
并非所有設置點消息和車輛都支持MAVLink允許的所有坐標系和值。仔細閱讀以下章節,確保只使用支持的值。還請注意,在進入模式之前以及模式運行期間,必須以>2Hz的頻率流發布定值。
注解
此模式需要位置或位/姿信息 - 例如 GPS、光流、視覺慣性里程計、mocap 等。
除了更改模式外, 禁止遙控器控制。
使用此模式前必須先解鎖。
在啟用此模式之前,車輛必須已經接收到目標設定點流(>2Hz)。
如果未以>2Hz的速率接收到目標設定值,則無人機將退出模式。
不支持MAVLink允許的所有坐標系和字段值。::
1.描述
Offboard 模式主要用于控制飛機運動和姿態,目前僅支持 MAVLink 消息的一個有限子集(未來將支持更多)。
其他操作, 如起飛、降落、返航,最好使用適當的模式來處理。 像上傳、下載任務這樣的操作可以在任何模式下執行。
在進入該模式之前,無人機必須收到設定值數據流,并且保持在該模式下(如果消息速率降至 2Hz 以下,無人機將停止)。 為了在此模式下保持位置,必須向無人機提供一個包含當前位置設定值的數據流。
Offboard 模式需要主動連接到遠程 MAVLink 系統 (例如機載計算機或 GCS)。 如果連接丟失,在超時 (COM_OF_LOSS_T) 后,無人機將嘗試降落或執行其他故障失效保護操作。 該動作定義在參數 COM_OBL_ACT 和 COM_OBL_RC_ACT 中。
2.支持的消息
3.多旋翼/垂直起降
SET_POSITION_TARGET_LOCAL_NED
支持以下輸入組合:
位置設置值 (僅 x,y,z)
速度設置值 (僅 vx, vy, vz)
加速度設定值(僅 afx,afy,afz)
PX4支持以下coordinate_frame值
MAV_FRAME_LOCAL_NED
MAV_FRAME_BODY_NED
SET_POSITION_TARGET_GLOBAL_INT
支持以下輸入組合:
位置設定值(僅lat_int,lon_int,alt)
Velocity setpoint (only vx, vy, vz)
Thrust setpoint (only afx, afy, afz)
注解
PX4 支持以下 coordinate_frame 值(僅限):
MAV_FRAME_GLOBAL
SET_ATTITUDE_TARGET
支持以下輸入組合:
帶有推力設定值(SET_ATTITUDE_TARGET.thrust)的姿態和方向(SET_ATTITUDE_TARGET.q)。
帶有推力設定值(SET_ATTITUDE_TARGET.thrust)的機身速率(SET_ATTITUDE_TARGET .body_roll_rate,.body_pitch_rate,.body_yaw_rate)。
4.Offboard參數
COM_OF_LOSS_T 丟失 Offboard 連接時的等待超時時間(以秒為單位),然后將觸發 offboard 丟失的失效保護措施 (COM_OBL_ACT 和 COM_OBL_RC_ACT)
COM_OBL_ACT 當未連接到RC時,如果失去offboard控制,則切換到的模式(值為-0:著陸,1:保持,2:返回)。
COM_OBL_RC_ACT 當仍連接到RC控制時,如果失去offboard控制,則切換到的模式(值為-0:位置,1:高度,2:手動,3:返回,4:降落)。
COM_RC_OVERRIDE 控制多旋翼(或者多旋翼模式下的 VOTL)的搖桿移動量來切換到 位置模式。 默認情況下未啟用此功能。
COM_RC_STICK_OV 導致發射機切換到 位置模式 的搖桿移動量(如果 COM_RC_OVERRIDE 已啟用)。
六、PX4日志分析
前言
PX4 1.10以上固件
QGC
(一)下載日志
將飛控鏈接地面站,在下圖頁面點擊“刷新”,即可看到保存的日志(前提是要有TF卡)
選擇需要下載的日志,點擊右側的“下載”,然后選擇目錄即可進行下載,如果想擦除所有的日志,可以點擊右側的“擦除全部”
(二)ulog轉CSV
PX4的日志是二進制的ulog文件,如果想轉換成CSV文件在matlab里繪圖,可以在需要轉化的ulog文件目錄下
執行
ulog2csv XXX.ulog
會自動在當前目錄下生成一系列csv文件
將csv文件拖到matlab界面中,會彈出下面的頁面,點擊導入
會提示導入到工作區,這時可以調用畫線函數plot進行劃線
調用
plot(log520201010105015sensormag0.timestamp,log520201010105015sensormag0.x)
可以得到一條線
如果要在同一個頁面畫多條線,可以用hold on
plot(log520201010105015sensormag0.timestamp,log520201010105015sensormag0.x)
hold on
plot(log520201010105015sensormag0.timestamp,log520201010105015sensormag0.y)
得到下圖
給曲線添加注釋可以通過
legend('UAV1','UAV2','UAV3','UAV4','UAV5');
(三)利用flightplot軟件分析PX4的ulog日志
1.windos安裝
下載下面兩個軟件,地址
鏈接:https://pan.baidu.com/s/14mN28Fn0IlSA4vDu_dATKA
提取碼:yi3g
復制這段內容后打開百度網盤手機App,操作更方便哦
先安裝jdk,然后就可以雙擊打開flightplot軟件
點擊打開日志
選擇日志
這個時候不會顯示數據曲線
點擊下圖選項
選擇需要顯示的數據
以x位置為例
選擇Simple類型
即可看到曲線
如果要把四元數轉成歐拉角顯示
先同時選中四個四元數,按住ctl即可多選
然后點擊add
選擇從四元數到歐拉角
點擊 ok即可
2.ubuntu18.04安裝
參考視屏https://www.bilibili.com/video/BV1mi4y1s7q6
第一步:
git clone --recursive https://github.com/PX4/FlightPlot.git
第二步:
sudo apt-get install openjdk-8-jdk
第三步:
flightplot需要用java8,而ubuntu18.04默認是java11,需要更換
sudo update-alternatives --config java
出現如下頁面,如果不是java-8。輸入2,回車,配置成java-8
重啟電腦
安裝flightplot
cd FlightPlot
ant gen_deb
sudo dpkg -i out/production/FlightPlot.deb
注意在上面配置成java-8之后如果沒有重啟電腦,會導致安裝的flightplot不能顯示日志的信息,如下
此時需要重啟電腦清除重新安裝
ant clean
再執行安裝flightplot步驟
安裝完成后可以添加到收藏夾
(四)使用PlotJuggler分析PX4日志
下載地址
https://github.com/facontidavide/PlotJuggler
ubuntu下下載appimage文件然后添加一下可執行權限,然后雙擊打開即可.
點擊下圖圖標打開日志文件
如下圖
打開后如下圖所示,選中需要顯示的數據,如果想在一幅圖中顯示多個數據,則按住Ctrl再同時選中多個數據.然后鼠標左鍵將選中的數據拖到右邊的顯示礦中,數據就可以顯示.
如下圖
如果要在該圖右側分出一欄,則鼠標右鍵該圖,點擊如下選項
如下圖
如果要在該圖下側分出一欄,則鼠標右鍵該圖,點擊如下選項
如下圖
如果要刪除某一副圖,則點擊該圖右上角×號即可
如果想放大圖中的某些部分,則鼠標左鍵長按框選相應區域即可,如下圖
(五)設置日志記錄條件
搜索參數SDLOG_MODE
如果要上電后就開始記錄日志,需要設置成from boot until shutdown
(六)添加自定義日志消息
固件版本1.11
一、將要觀察的數據聲明成uORB消息,并發布。我這里隨便添加了一個
在logged_topics.cpp里的add_default_topics函數里加上一行
add_topic("fanbu",100)
;或者add_topic("fanbu")
;雙引號里的就是uORB的消息ID.
在需要的地方發布uORB消息,即可自動的記錄到日志里,發布時必須賦值時間戳
在flightplot里搜索自己添加的消息,然后添加顯示
七、PX4常用參數解析
前言
PX4 1.11以上版本
(一)常用參數設置
PX4所有參數都在firmware-build/src/lib/parameters/px4_parameters.h文件里
注意,修改某些參數可能使飛機不穩定,本文僅供交流學習,不負相關責任。具體修改時請自行權衡。
1. 解鎖檢查參數
解鎖檢查參數的主要作用是設置飛控解鎖的條件。常用的有以下幾個。
1.1電源檢查
這個參數是檢查解鎖時是否有電池供電,默認是需要插電流計供電才可以解鎖。如果想通過其他方式(如ESC供電)給飛控供電進行解鎖,則需要設置該參數為894281。
1.2USB連接檢查
這個參數是檢查起飛時是否有USB連接,默認情況下有USB連接時是無法解鎖的,如果需要插USB解鎖,需要設置為197848
1.3安全開關檢查
默認情況下安全開關是慢閃狀態,設置該參數蔚22027時,上電后安全開關自動切換為雙閃。
1.4傳感器檢查
飛控在解鎖前會對傳感器的狀態進行檢查,如果檢查不通過,則不能解鎖。
(1)如果報錯加速度偏移過大,high Accelerometer bios
可以把com_arm_ekf_ab
這個參數調大一些
(2)同理可以通過改下面這個參數把陀螺儀的起飛檢查閾值該大一些,com_arm_ekf_gb
(3)如果報羅盤某個度數沒包含的錯誤,COM_ARM_MAG_ANG
設為-1
(4)如果GPS搜星少,長時間沒有進入GPS定位,可以把下面EKF2_GPS_CHECK
改成0
(5)如果報下面的錯
把下面這個參數改大一些,圖中以加速度計為例,如果陀螺儀出現類似報錯也是修改相應的參數
(6)如果偏航角一直漂移
解決辦法是校準陀螺儀
2.失控保護參數
數據鏈路丟失保護,例如與地面站或者板卡的mavlink數據丟失,會觸發該保護
保護動作有:
3.任務航點參數
(1)航點半徑NAV_ACC_RAD
,此參數設置判斷到達航點的置信半徑
(2)無人船跑航線時走S形,將參數GND_MAX_ANG
改小一點
4.其他
關閉蜂鳴器
CBRK_BUZZER
改為782097
設置無人機自穩或定高模式下最大的傾斜角度
狀態估計算法選擇參數
SYS_MC_EST_GROUP
,該參數可以指定飛控狀態估計的算法,有單四元數互補濾波,四元數互補濾波加LPE,EKF2,默認采用EKF2,使用ekf2所需的最低傳感器配置為加速度計、陀螺儀、磁力計、氣壓計。如果缺少任意一個,則EKF2無法運行,如果缺少磁力計和氣壓計,可以使用四元數互補濾波進行姿態解算,如果有位置傳感器(如GPS),可以采用四元數互補濾波加LPE進行位姿估計。
如果報Disarmed by auto preflight disarming
將COM_DISARM_PRFLT
禁用或改大一點
(二)參數的導出和導入
先找一架正常能飛的無人機連接地面站
在參數頁面右上角點擊工具->保存到文件
保存的時候文件名注明參數的相關信息
然后將需要加載參數的無人機連接至地面站,注意需要加載參數的無人機必須和保存的參數腳本的固件版本、機架類型,飛控硬件等信息一致,否則可能炸機。
如果固件版本不一致,就先刷一下相應的固件,再加載參數,固件一致后,點擊重置參數為固件的默認值
然后點擊從文件載入
選擇需要導入的參數文件
導入正常的話地面站上面所有的參數都是正常的,沒有紅色的提示
這個時候可以不用校準傳感器,但是需要校準電調,如果用的遙控器和導入參數腳本所用的無人機的不一致,則需要校準遙控器。
(三)自定義參數
(1) 隨便找一個定義參數的文件,我這里以mc_att_control_params.c為例
仿造其他的參數定義,添加一行PARAM_DEFINE_INT32(SYS_MC_CTL_GROUP, 0);
(2) 在DEFINE_PARAMETERS里添加下面這條語句定義
(ParamIntpx4::params::SYS_MC_CTL_GROUP) _param_mc_roll_p1
(3) 在Firmware路徑執行make parameters_metadata
(4 )然后編譯固件下載到飛控
連接地面站,刷新參數就可以找到添加的參數
注意一點我這里是在mc_att_control_params里定義的,所以用到這個參數的線程必須執行,才會顯示這個參數,也就是mc_att_control start要執行。
可以在啟動腳本或者程序里使用自定義的參數
可以仿造SYS_MC_EST_GROUP來寫
仿寫如下:
if param compare SYS_MC_CTL_GROUP 0
then
a start
else
b start
fi
八、常見問題/疑難雜癥排查
1,PX4多旋翼無人機
本教程基于PX4 1.13.3版本固件,但是其他版本的固件大體上差不多
飛控無法解鎖
解鎖時無報錯信息
PX4固件的解鎖方式默認是搖桿解鎖,美國手的遙控器,將左邊搖桿打到右下45度并保持(右邊搖桿不用撥)即可解鎖。
也可以設置解鎖開關來控制飛控解鎖,如果設置了解鎖開關(如下圖),則無法通過撥桿的方式解鎖飛控。
這種情況下如果想使用搖桿解鎖。可以禁用解鎖開關。
飛控的偏航角一直飄移/誤差較大
原因:羅盤干擾
解決辦法:禁用內置羅盤,使用外置羅盤
無人機飛的時候按一定頻率上下抖動(或者不斷的怠速/復飛)
原因:地面檢測判斷錯誤,在空中判斷成在地面,導致自動進入怠速,在下墜后有判斷成在空中,重新復飛。
解決辦法:
將這個參數改小一點,降低地面檢測判斷錯誤的可能性
無法修改條件參數
有些參數(telem2波特率)是條件參數,只有用到相應的端口才能設置對應端口的波特率
以telem2為例,其他的也類似,先把參數設為默認
點擊右上角“工具”按鈕,點擊“重置為載具的默認值”
然后
設置Gps1的接口為telem2,重啟飛控,再查看serial參數,即可找到telem2
設置好telem2的波特率后記得把GPS的接口再設回到GPS1
舵機高頻抖動,電機斷斷續續的轉動
現象:在沒有撥遙感或者飛控沒有解鎖的情況下,電機突然時斷時續的自己轉動,舵機自己高頻的抖動
原因:信號受到干擾
解決方法:將電調的信號線和舵機的信號線(特別是和飛控連接的接頭處)遠離天線或者電源線
飛控在重刷固件后能連地面站,重啟后連不上地面站
原因:可能是因為沒有設置機型參數sys_auto_config,或者設置的機型參數不存在。
解決辦法:重新燒錄固件,并且在燒錄完固件連上地面站后設置一下機型
飛機插USB能解鎖,拔掉USB不能解鎖
原因:電源檢查未通過
解決方法:關掉電源檢查,設置下面參數
PX4固件用數傳連地面站斷斷續續,或一直卡在加載參數
例如數傳接的mav0口將參數MAV_0_FLOW_CTRL改成Force off
無人機解鎖后剎車開關不生效
解決辦法:換其他的通道做剎車
PX4固件無人機起飛模式和任務模式無人機只解鎖不起飛
把
mpc_z_vel_max_dn
mpc_z_v_auto_dn
兩個參數改大
2,ArduPilot固件
apm固件在mavros里獲取不到位置、姿態等信息
修改下面的參數設置數據發送的頻率,例如telem1口就是SR1開頭
apm固件使用雙天線RTK航向
AHRS_EKF_TYPE = 3 (to use EKF3)
EK2_ENABLE = 0 (to disable EKF2)
EK3_ENABLE = 1 (to enable EKF3)
EK3_MAG_CAL is not used for this feature so it can be left at its default value (“0” for Plane, “3” for Copter, “2” for Rover)
EK3_SRC1_YAW = 2 (“GPS”) or 3 (“GPS with Compass Fallback”) if a compass(es) is also in the system
apm固件撥遙控器搖桿地面站沒反應
檢查地面站有沒有使能虛擬搖桿