手把手教你在Ardupilot飛控中配置使用MTF-01光流測(cè)距一體傳感器并實(shí)現(xiàn)室內(nèi)定點(diǎn)飛行
簡介
MTF-01/02是微空科技最新研發(fā)推出的兩款光流測(cè)距一體傳感器,MTF-01集成850nm高性能激光測(cè)距傳感器,無懼強(qiáng)光干擾,室內(nèi)室外均可使用。且兩款光流傳感器均集成了多種通信協(xié)議,可以支持絕大部分主流開源飛控如Ardupilot、PX4、INAV及國產(chǎn)開源飛控FMT等等。

每一種開源飛控的光流及測(cè)距傳感器的配置均會(huì)有所區(qū)別,本文目的在于引導(dǎo)讀者學(xué)會(huì)在Ardupilot飛控中從零開始正確接入及配置MTF-01光流傳感器并成功實(shí)現(xiàn)光流定點(diǎn)飛行,此教程適用于微空科技的所有光流傳感器,包括不僅限于MTF-01/02。
物品清單
WIN10/11電腦一臺(tái)
一架使用Ardupilot固件并能良好氣壓定高的飛機(jī),固件版本>4.2.0
MTF-01模塊一個(gè)
USB轉(zhuǎn)TTL模塊一個(gè)
連接線若干
前期準(zhǔn)備
MTF-01內(nèi)置多種飛控傳感器協(xié)議,因此如果要在Ardupilot飛控中使用,首先需要使用微空助手確認(rèn)或者修改模塊協(xié)議版本。

微空助手軟件需要運(yùn)行于WIN10/11上,軟件可以到微空科技官網(wǎng)下載(仍施工中),一般購買傳感器模塊時(shí)也會(huì)配送資料。
注意,此時(shí)需要用USB轉(zhuǎn)TTL模塊將MTF-01直接連接電腦,再使用微空助手軟件連接模塊。因?yàn)樵趯?shí)際使用過程中,經(jīng)常碰到很多人不太熟悉串口工具?,所以需要著重描述一下過程。
首先需要檢查USB轉(zhuǎn)TTL模塊與MTF-01的接線是否正確,請(qǐng)參考下圖的連接方式。

USB轉(zhuǎn)TTL模塊接入電腦后,安裝好驅(qū)動(dòng),可以在設(shè)備管理器中查看是否模塊已被識(shí)別,已經(jīng)端口號(hào)是多少。

下一步,打開微空助手軟件。在軟件右上角選擇正確的端口號(hào),波特率115200,并點(diǎn)擊連接。如果一切正常,模塊將會(huì)被識(shí)別,主界面將更新傳感器數(shù)據(jù)欄,并刷新數(shù)據(jù)波形圖。

右側(cè)功能欄點(diǎn)擊齒輪圖標(biāo)打開配置界面,根據(jù)下面示意圖修改模塊參數(shù)。

修改配置成功的話,消息欄將會(huì)有消息輸出,注意查看

到此模塊協(xié)議修改結(jié)束,可以將模塊接入Ardupilot飛控了。
新手用戶經(jīng)常會(huì)碰到的幾個(gè)問題,總結(jié)一下:
USB轉(zhuǎn)TTL模塊沒安裝驅(qū)動(dòng),電腦無法識(shí)別;
沒選擇正確的端口號(hào);
模塊的Tx和Rx沒有和USB轉(zhuǎn)TTL模塊的交叉連接;
安裝MTF-01并連接飛控
MTF-01傳感器需要以正確的朝向安裝在飛機(jī)底部,光流鏡頭正朝下方,并且需離地至少1-2cm高度,5cm以上是最好的。測(cè)距發(fā)射接收和光流鏡頭均不能被遮擋。
注意光流安裝方向一定不能搞錯(cuò),否則將無法正常飛行!
新手請(qǐng)先按照默認(rèn)方向來安裝,測(cè)試OK后,如果有需求,可以使用微空助手修改光流方向。

MTF-01使用串口輸出傳感器數(shù)據(jù),而絕大部分飛控板均有預(yù)留4-5路串口,只要將其連接到任一串口即可。以國內(nèi)比較經(jīng)典的飛控硬件pixhawk2.4.8為例,除了GPS接口外,還預(yù)留有TELEM1 TELEM2?SERIAL4/5這四路串口,分別對(duì)應(yīng)Ardupilot固件中的serial1/2/4/5。可以將MTF-01接入這四路串口中的任意一個(gè),然后在飛控地面站中進(jìn)行對(duì)應(yīng)配置即可,下文將以TELEM2口為例。
其它飛控硬件也是同樣道理,只要注意硬件端口與固件中serial的對(duì)應(yīng)關(guān)系即可,有不明白的地方可以咨詢飛控廠商。

將MTF-01模塊接到TELEM2上,對(duì)應(yīng)連接飛控端子的5V和GND,而Rx和Tx照常是交叉連接,其它PIN如CTS RTS用不到可忽略。
飛控配置
連接完飛控后,飛控通過USB接入電腦,打開Mission Planner地面站軟件,配置修改飛控的相關(guān)參數(shù)。注意MP不能使用過老的版本,不然可能找不到某些參數(shù),本文中的MP版本號(hào)為1.3.79。
配置SERIAL參數(shù)
地面站連接,并加載完飛控參數(shù)后,打開“參數(shù)樹”,找到SERIAL2相關(guān)參數(shù),將波特率修改為115,協(xié)議值為1。

配置FLOW參數(shù)
找到FLOW_TYPE這個(gè)參數(shù),并將其配置為5。如果確認(rèn)飛控固件版本大于4.2.0,但在地面站中始終找不到這個(gè)參數(shù)值,那是因?yàn)轱w控固件編譯的時(shí)候?qū)⒐饬鞴δ芙o禁用掉了(通常出于節(jié)省flash的考慮),解決方案是換飛控,除非你可以自己重新編譯ardupilot固件。

配置RNGFND1參數(shù)
在參數(shù)樹中找到RNGFND1(Ardupilot可以配置使用多組測(cè)距傳感器),將RNGFND1_TYPE設(shè)置為10,RNGFND1_ORIENT設(shè)置為25,MAX_CM設(shè)置為600(MTF-01是室外普通地面最高普遍只能測(cè)到5-6米),MIN_CM設(shè)置為1。

至此,飛控的相關(guān)傳感器參數(shù)配置完畢,重啟飛控,并重新連接地面站軟件,檢查是否有讀取到MTF-01的光流與距離數(shù)據(jù)。
Mission Planner的飛行數(shù)據(jù)界面,左下方的狀態(tài)欄中,有著飛控的所有狀態(tài)數(shù)據(jù),數(shù)量非常多,按照參數(shù)首字母來排列的,需要耐心尋找一下opt和rangefinder1這兩項(xiàng)數(shù)據(jù),如果這些數(shù)據(jù)已經(jīng)顯示出數(shù)值并不斷刷新,那么恭喜你,Ardupilot飛控已經(jīng)能夠成功識(shí)別到MTF-01傳感器了!

EKF3參數(shù)配置
到這一步時(shí),工作完成度已經(jīng)達(dá)到80%了,但仍需要一定的參數(shù)配置,才能讓Ardupilot飛控在飛行中使用光流傳感器數(shù)據(jù)。
注意Ardupilot的融合觀測(cè)器有多個(gè)版本,如EKF2和EKF3,本教程以最新的EKF3為例,Ardupilot從4.2.0版本開始是默認(rèn)使用EKF3的,但我們?nèi)宰詈么_認(rèn)一下。

接下來配置EK3參數(shù),讓其使用光流數(shù)據(jù)來定位飛行。
EK3_SRC_OPTIONS設(shè)為0,禁用所有速度融合功能
EK3_SRC1_POSXY設(shè)為0,不使用位置數(shù)據(jù)
EK3_SRC1_VELXY設(shè)為5,速度數(shù)據(jù)選擇使用光流傳感器

EK3中還有一些其它和光流相關(guān)的參數(shù),暫時(shí)保持默認(rèn)值即可

飛行測(cè)試
終于可以起飛了,但還有幾個(gè)問題要先確認(rèn)一下:飛控已經(jīng)被配置,可以使用遙控器切換到Loiter模式,解鎖檢查中已關(guān)閉GPS的檢查。
參數(shù)樹中找到ARMING_CHECK,點(diǎn)擊數(shù)值,取消勾選All和GPS lock,否則不能正常解鎖飛控。

所有準(zhǔn)備均OK,接下來找一個(gè)光線紋理充足的室內(nèi)地面進(jìn)行飛行測(cè)試,注意光流在反光比較強(qiáng)烈的地板上性能會(huì)比較差,盡量避開此類場(chǎng)景。
飛機(jī)正常上電,等待初始化完畢后,遙控器切換到Loiter檔位,解鎖起飛,拉升飛機(jī)到1米左右高度觀察飛行情況,如果能高度和位置均能穩(wěn)定控制住,說明光流和測(cè)距傳感器均成功生效了!
如果在loiter模式無法解鎖,并報(bào)錯(cuò):Need Position Estimate,那么大概率是因?yàn)槟K過于接近地面,光流數(shù)據(jù)質(zhì)量不佳導(dǎo)致的,可以先在定高模式下起飛,再切換到Loiter模式。或者將光流模塊離地高度調(diào)高一些。

光流與GPS切換使用
Ardupilot接入MTF-01模塊后,激光測(cè)距傳感器在任何時(shí)候都是會(huì)被飛控使用的(有效量程內(nèi)),可以極大提升飛控的起飛降落質(zhì)量,畢竟純氣壓計(jì)定高在離地面過近時(shí)效果很差。而光流和GPS這兩種傳感器Ardupilot似乎還不能做到自動(dòng)切換使用,但是可以配置成使用遙控器開關(guān)通道切換選擇使用GPS或者光流。
這部分內(nèi)容仍待施工。
光流自動(dòng)校準(zhǔn)
Ardupilot從4.2.0版本以后加入了飛行中自動(dòng)校準(zhǔn)光流的功能,即在室外使用GPS飛行時(shí),基于GPS的數(shù)據(jù)來自動(dòng)修正光流傳感器的誤差,并將誤差參數(shù)存儲(chǔ)到飛控參數(shù)表中。
這部分內(nèi)容仍待施工。