摘? 要:對(duì)市場(chǎng)上現(xiàn)有無(wú)人機(jī)的飛行安全保護(hù)措施狀況進(jìn)行了調(diào)查,發(fā)現(xiàn)絕大部分無(wú)人機(jī)未安裝避障系統(tǒng)。無(wú)人機(jī)的自主避障是安全飛行的重要保障。文章設(shè)計(jì)并實(shí)現(xiàn)了一種簡(jiǎn)單高效的避障系統(tǒng),此系統(tǒng)設(shè)計(jì)以STM32開(kāi)發(fā)板和超聲波模塊為基礎(chǔ),在搭載Pixhawk開(kāi)源飛控的四旋翼無(wú)人機(jī)平臺(tái)上對(duì)避障功能進(jìn)行研究,實(shí)現(xiàn)無(wú)人機(jī)避障。飛行試驗(yàn)證明該避障系統(tǒng)可以實(shí)現(xiàn)無(wú)人機(jī)安全避障飛行,且通用性較好,能在不改變飛控固件的基礎(chǔ)上直接移植到大部分無(wú)人機(jī)平臺(tái)使用。
關(guān)鍵詞:無(wú)人機(jī);STM32開(kāi)發(fā)板;超聲波模塊;避障系統(tǒng)
Abstract:Based on the investigation of flight safety protection measures of UAVs in the market,it is found that most UAVs are not equipped with obstacle avoidance system. Autonomous obstacle avoidance of UAV is an important guarantee for safe flight. This paper designs and implements a simple and efficient obstacle avoidance system. Based on STM32 development board and ultrasonic module,this system is designed to study the obstacle avoidance function on the platform of four rotor UAV equipped with Pixhawk open source flight control,so as to realize the obstacle avoidance of UAV. Flight test shows that the obstacle avoidance system can achieve the UAV safe obstacle avoidance flight,and the system has good universality,and can be transplanted to most UAV platforms without changing the flight control firmware.
Keywords:UAV;STM32 development board;ultrasonic module;obstacle avoidance system
0? 引? 言
近年來(lái)多旋翼無(wú)人機(jī)因其具有體積較小、控制比較靈活、能夠垂直起降、且能自主飛行和著陸等優(yōu)點(diǎn),在科研機(jī)構(gòu)、廣播媒體和軍事領(lǐng)域都有著越來(lái)越重要的應(yīng)用。但伴隨著多旋翼無(wú)人機(jī)的廣泛運(yùn)用、飛行環(huán)境復(fù)雜性的增加,無(wú)人機(jī)撞機(jī)事故時(shí)有發(fā)生。解決無(wú)人機(jī)的飛行安全問(wèn)題是當(dāng)務(wù)之急,有些無(wú)人機(jī)生產(chǎn)廠家在旋翼上加裝保護(hù)圈,這樣可以減少碰撞后的損失,但也不能從根本上解決問(wèn)題。目前,國(guó)內(nèi)外的研發(fā)機(jī)構(gòu)都相繼開(kāi)展自主避障系統(tǒng)的研究,主流無(wú)人機(jī)避障系統(tǒng)中,主要實(shí)現(xiàn)方法有超聲波、激光雷達(dá)、雙目視覺(jué)圖像處理以及這幾種方法組成的復(fù)合方法。這幾種方法各有千秋,相比激光雷達(dá)測(cè)距模塊需要高精度的硬件做支撐且成本較高的特點(diǎn),超聲波測(cè)距在性價(jià)比和近距離避障等方面有明顯優(yōu)勢(shì),為了提高避障系統(tǒng)的靈敏度和抗干擾能力,將STM32單片機(jī)作為主控開(kāi)發(fā)板能夠顯著提高系統(tǒng)的數(shù)據(jù)處理能力。
基于校內(nèi)巡檢機(jī)器人項(xiàng)目對(duì)避障功能的研究,本文以STM32開(kāi)發(fā)板和超聲波模塊為基礎(chǔ),在搭載Pixhawk開(kāi)源飛控的四旋翼無(wú)人機(jī)平臺(tái)上對(duì)避障功能進(jìn)行研究驗(yàn)證。
1? 系統(tǒng)總體方案設(shè)計(jì)
本文設(shè)計(jì)的無(wú)人機(jī)自主避障系統(tǒng)如圖1所示,測(cè)距模塊采用HC-SR04超聲波傳感器,用來(lái)實(shí)時(shí)檢測(cè)無(wú)人機(jī)與前方障礙物的距離;基于STM32開(kāi)發(fā)板的數(shù)據(jù)處理模塊,用于采集超聲波數(shù)據(jù)和遙控器信號(hào),根據(jù)超聲波數(shù)據(jù)對(duì)遙控器信號(hào)進(jìn)行處理,處理后的多路PWM信號(hào)經(jīng)通信端口送到PPM編碼器中編譯,得到一路PPM復(fù)合信號(hào)送入飛控,實(shí)現(xiàn)對(duì)無(wú)人機(jī)的避障控制。
2? 硬件設(shè)計(jì)
本系統(tǒng)的硬件設(shè)計(jì)包括數(shù)據(jù)處理模塊設(shè)計(jì)、測(cè)距模塊、避障系統(tǒng)執(zhí)行機(jī)構(gòu)等。其中數(shù)據(jù)處理模塊是整個(gè)無(wú)人機(jī)避障系統(tǒng)的控制中心,本文中數(shù)據(jù)處理模塊基于STM32開(kāi)發(fā)板,包含單片機(jī)芯片和必要的外圍電路(如晶振電路、復(fù)位電路和SWD接口等);測(cè)距模塊為系統(tǒng)采集距離信息,是數(shù)據(jù)處理模塊輸出PPM信號(hào)的判斷條件;避障系統(tǒng)執(zhí)行機(jī)構(gòu)是一架四旋翼無(wú)人機(jī)平臺(tái),該平臺(tái)硬件的設(shè)計(jì)包括四旋翼無(wú)人機(jī)本體的機(jī)架、飛控(Pixhawk)、電調(diào)、無(wú)刷電機(jī)、螺旋槳、電池、GPS等。
2.1? 數(shù)據(jù)處理模塊
數(shù)據(jù)處理模塊是整個(gè)避障系統(tǒng)的大腦,是各個(gè)模塊正常工作的基礎(chǔ)。本文中數(shù)據(jù)處理模塊基于STM32開(kāi)發(fā)板,需要通過(guò)測(cè)距模塊采集數(shù)據(jù)并同時(shí)采集2.4 G遙控器發(fā)出的多路無(wú)人機(jī)姿態(tài)控制信號(hào),經(jīng)數(shù)據(jù)處理模塊處理后重新輸出多路PWM飛行控制信號(hào)。
2.2? 測(cè)距模塊
在本設(shè)計(jì)中,超聲波超感器選用了HC-SR04,該傳感器探測(cè)范圍在2 cm~450 cm,探測(cè)頻率可達(dá)40 Hz。采用I2C接口與數(shù)據(jù)處理模塊通信,只需修改地址即可讀取相應(yīng)的HC-SR04的數(shù)據(jù)。相比普通的超聲波傳感器,節(jié)省接口,讀取方便。采用獨(dú)特的可調(diào)濾波降噪技術(shù),電源電壓受干擾或噪音較大時(shí),保證工作正常。
根據(jù)HC-SR04模塊介紹可知,提供一個(gè)10 μs以上的脈沖觸發(fā)信號(hào),該模塊內(nèi)部將發(fā)出8個(gè)40 kHz周期電平并檢測(cè)回波。一旦檢測(cè)到有回波信號(hào)則輸出回響信號(hào)?;仨懶盘?hào)的脈沖寬度與所測(cè)的距離成正比。由此通過(guò)發(fā)射信號(hào)到收到的回響信號(hào)時(shí)間間隔可以計(jì)算得到距離:距離=高電平時(shí)間*聲速(340 m/s)/2。
2.3? 避障系統(tǒng)執(zhí)行機(jī)構(gòu)
避障系統(tǒng)執(zhí)行機(jī)構(gòu)是執(zhí)行避障指令的機(jī)構(gòu),關(guān)系到無(wú)人機(jī)能否避免與障礙物發(fā)生碰撞,所以對(duì)此模塊的性能以及可靠性的要求比較高。避障系統(tǒng)執(zhí)行機(jī)構(gòu)需要具有響應(yīng)速度快、能夠根據(jù)制動(dòng)命令做出快速的響應(yīng)、并且能夠平穩(wěn)地執(zhí)行每一步飛行指令的特點(diǎn)。在本研究中,以搭載Pixhawk開(kāi)源飛控的四旋翼無(wú)人機(jī)平臺(tái)作為避障系統(tǒng)的執(zhí)行模塊。同時(shí),為了使執(zhí)行模塊快速地對(duì)來(lái)自主控制器的指令產(chǎn)生響應(yīng),我們用PPM Encoder編碼器連接主控制器與Pixhawk飛控。PPM Encoder編碼器的作用是把數(shù)據(jù)處理模塊輸出的多個(gè)通道PWM信號(hào)編碼成PPM復(fù)合信號(hào)輸出,以單線方式連接Pixhawk飛控。
四旋翼無(wú)人機(jī)本體包括:機(jī)架、Pixhawk飛控、無(wú)刷電機(jī)、電調(diào)、螺旋槳、電池等。本文采用的四旋翼無(wú)人機(jī)為自組無(wú)人機(jī),軸距450 mm,螺旋槳型號(hào)是9450,電機(jī)采用T-motor 2213 950 kV無(wú)刷電機(jī)。
對(duì)硬件選型后,將各模塊按照如圖2所示的方式進(jìn)行連接。至此,本文的硬件工作搭建完成。
3? 軟件設(shè)計(jì)
四旋翼無(wú)人機(jī)避障系統(tǒng)的功能是在STM32最小系統(tǒng)開(kāi)發(fā)板下實(shí)現(xiàn)的。整個(gè)軟件系統(tǒng)由兩個(gè)模塊組成,一個(gè)是數(shù)據(jù)處理模塊,一個(gè)是測(cè)距模塊,體現(xiàn)在軟件設(shè)計(jì)上就是主程序和避障系統(tǒng)的測(cè)距模塊程序。在進(jìn)行設(shè)計(jì)時(shí),先畫好程序流程圖,作為編寫程序的指導(dǎo)。每個(gè)模塊的程序調(diào)試完成后,依照主程序流程圖,與主程序建立聯(lián)系。
3.1? 避障系統(tǒng)主程序的設(shè)計(jì)
主程序是整個(gè)系統(tǒng)運(yùn)行的主要邏輯,其他各部分的程序在這里被調(diào)用。四旋翼無(wú)人機(jī)避障系統(tǒng)的主程序流程如圖3所示。
系統(tǒng)執(zhí)行主程序時(shí),首先進(jìn)行系統(tǒng)初始化,然后對(duì)各個(gè)模塊初始化,隨后進(jìn)入while循環(huán),不斷啟動(dòng)HC-SR04讀取超聲波數(shù)據(jù),避障系統(tǒng)主控模塊對(duì)超聲波數(shù)據(jù)判斷處理后輸出PWM信號(hào),PWM信號(hào)經(jīng)PPM編碼器輸入飛行控制模塊,控制無(wú)人機(jī)的飛行。
3.2? 測(cè)距模塊程序設(shè)計(jì)
設(shè)計(jì)中,四旋翼無(wú)人機(jī)安裝了1個(gè)超聲波模塊進(jìn)行測(cè)距數(shù)據(jù)采集,與單片機(jī)通過(guò)I2C通信。超聲波傳感器模塊程序流程圖如圖4所示。
4? 測(cè)試實(shí)驗(yàn)
為了提高調(diào)試的效率、便于分析故障,本研究對(duì)各個(gè)模塊進(jìn)行了分布調(diào)試。最后,將各個(gè)模塊結(jié)合起來(lái),完成整體的調(diào)試。以主控單片機(jī)為核心,整體調(diào)試也分為以下幾個(gè)步驟。
4.1? 測(cè)距模塊實(shí)驗(yàn)
測(cè)距模塊是避障系統(tǒng)的前端檢測(cè)機(jī)構(gòu),是避障系統(tǒng)可靠工作的基礎(chǔ)。本設(shè)計(jì)使用HC-SR04超聲波傳感器進(jìn)行距離檢測(cè),STM32F103RCT6微處理器通過(guò)控制超聲波傳感器的Trig引腳使其發(fā)出8個(gè)40 kHz的方波,定時(shí)器開(kāi)始計(jì)時(shí),直到Echo引腳輸出高電平計(jì)時(shí)停止,得到聲波從發(fā)出到返回的時(shí)間,通過(guò)計(jì)算得出與障礙的距離。為了方便觀察測(cè)距結(jié)果,測(cè)量結(jié)果由微處理器串口通過(guò)TTL轉(zhuǎn)USB模塊發(fā)送到電腦,通過(guò)電腦軟件串口調(diào)試助手觀察數(shù)據(jù)。
4.2? 多信號(hào)處理與融合實(shí)驗(yàn)
進(jìn)行這個(gè)步驟的調(diào)試需要把主控模塊、PPM編碼器、接收機(jī)和Pixhawk連接起來(lái)并通電,通過(guò)2.4 G遙控器的四個(gè)基本通道輸出命令,接收機(jī)接收到指令后送主控,測(cè)距模塊將檢測(cè)數(shù)據(jù)送到主控模塊,主控模塊對(duì)多路信號(hào)進(jìn)行處理后輸出,遙控器的第一通道、第三通道、第四通道與主控處理后的第二通道信號(hào)經(jīng)PPM編碼器融合輸入Pixhawk的RC端口。
在PPM編碼器輸入端測(cè)試經(jīng)主控處理后的信號(hào),其頻率為73.5 Hz,占空比在7.35%~13.20%的范圍內(nèi),中間值為10.20%。
在PPM編碼器輸出端測(cè)試經(jīng)編碼后的PPM信號(hào),其頻率為675.0 Hz。
4.3? 避障系統(tǒng)與無(wú)人機(jī)聯(lián)調(diào)實(shí)驗(yàn)及分析
確保各模塊功能實(shí)現(xiàn)后,對(duì)全部模塊進(jìn)行組裝,無(wú)人機(jī)不帶槳進(jìn)行靜態(tài)實(shí)驗(yàn)。先打開(kāi)遙控器,接通電池,等待測(cè)距模塊與避障主控模塊啟動(dòng)。Pixhawk飛控用USB線連接到電腦,并打開(kāi)Mission Planner地面站,地面站上顯示了四旋翼無(wú)人機(jī)當(dāng)前的狀態(tài)。
通過(guò)遙控器發(fā)送控制指令解鎖無(wú)人機(jī),分別觀察超聲波探頭前無(wú)障礙物和有障礙物兩種情況下Pitch通道值在Mission Planner地面站上的變化,我們可以發(fā)現(xiàn)在超聲波探頭前無(wú)障礙物時(shí),Mission Planner地面站上Pitch通道值隨著遙控器俯仰通道搖桿的變化而變化。
當(dāng)超聲波探頭前有障礙物時(shí),Mission Planner地面站上Pitch通道值隨著遙控器俯仰通道搖桿前推而保持在1 520左右,遙控器俯仰通道搖桿后拉時(shí),Mission Planner地面站上Pitch通道值跟隨搖桿的變化而變化,地面站顯示如圖5所示。
這說(shuō)明無(wú)人機(jī)避障系統(tǒng)能夠檢測(cè)到障礙物,并通過(guò)飛控接收的遙控信號(hào)來(lái)改變無(wú)人機(jī)的飛行狀態(tài),從而達(dá)到避障的目的。
靜態(tài)實(shí)驗(yàn)完成后,我們可以對(duì)無(wú)人機(jī)避障系統(tǒng)進(jìn)行動(dòng)態(tài)避障實(shí)驗(yàn)。找到一面光滑的墻,操控?zé)o人機(jī)遠(yuǎn)遠(yuǎn)地向這面墻飛行,我們可以發(fā)現(xiàn)在無(wú)人機(jī)距離墻大概1 m左右時(shí),無(wú)論我們?nèi)绾瓮苿?dòng)遙控器俯仰通道的搖桿,無(wú)人機(jī)均懸停在原地,不再往墻前行,此時(shí),副翼通道、油門通道、航向通道及俯仰通道的后拉均能正??刂骑w機(jī)飛行姿態(tài)。飛機(jī)的避障飛行控制如圖6所示。
5? 結(jié)? 論
本文圍繞無(wú)人旋翼機(jī)避障系統(tǒng)展開(kāi)研究,首先對(duì)無(wú)人機(jī)避障原理進(jìn)行研究和分析,得到無(wú)人機(jī)實(shí)現(xiàn)防撞的方式,選擇適合本次研究的無(wú)人機(jī)避障方案,然后,設(shè)計(jì)無(wú)人機(jī)避障系統(tǒng)。在硬件層面搭建實(shí)驗(yàn)平臺(tái),在軟件層面設(shè)計(jì)程序進(jìn)行控制。最后,驗(yàn)證無(wú)人機(jī)避障系統(tǒng)的功能。實(shí)驗(yàn)中無(wú)人機(jī)接近障礙物時(shí)可以有效懸停,但懸停距離與程序設(shè)計(jì)有一定誤差。
本文設(shè)計(jì)的無(wú)人機(jī)避障系統(tǒng)主要針對(duì)前置避障,對(duì)其他方位的障礙物并不能達(dá)到避障效果,設(shè)計(jì)一款全向避障的避障系統(tǒng)是下一步的研究方向。
參考文獻(xiàn):
[1] 張西忱.無(wú)人機(jī)的避障技術(shù)及其應(yīng)用 [J].集成電路應(yīng)用,2017,34(2):66-68.
[2] 王力群,林朝輝.基于Arduino UNO平臺(tái)的多適配性無(wú)人機(jī)避障技術(shù) [J].科技創(chuàng)新導(dǎo)報(bào),2016,13(9):18-19.
[3] 趙航.基于pixhawk的多旋翼無(wú)人機(jī)避障飛行系統(tǒng)研發(fā) [D].北京:北方工業(yè)大學(xué),2017.
[4] 袁安富,徐金琦,王偉,等.基于雙STM32多旋翼無(wú)人機(jī)控制系統(tǒng)設(shè)計(jì) [J].電子技術(shù)應(yīng)用,2013,39(11):136-138.
作者簡(jiǎn)介:張光輝(1988.09—),男,漢族,河南信陽(yáng)人,助理講師,本科,研究方向:無(wú)人機(jī)應(yīng)用。