基于OpenMV機(jī)器視覺模塊進(jìn)行目標(biāo)識別算法的研究。利用圖像的濾波、二值化等算法對攝像頭采集的圖像進(jìn)行預(yù)處理;利用邊緣檢測和形狀識別算法獲得引導(dǎo)線的路線信息,擬合計算得到無人機(jī)正面方向與地面軌道路線的轉(zhuǎn)向角度; 將該角度數(shù)據(jù)傳輸給STM32控制無人機(jī)實現(xiàn)尋跡行駛。
本文源自《電子世界》 2020年第4期175-176,共2頁《電子世界》雜志由中國電子學(xué)會主辦,創(chuàng)刊于1979年,讀者遍及全國30個省、市、自治區(qū)。本刊全方位推崇E時代大眾電子科學(xué)意識,傳播電子與信息領(lǐng)域的新知識、新技術(shù),發(fā)表最新科研成果和展示技術(shù)進(jìn)展?fàn)顩r,始終注重扶持學(xué)術(shù)新人,尤其關(guān)注廣大青年科技工作者,優(yōu)先發(fā)表理工科青年教師和研究生中的優(yōu)秀學(xué)術(shù)稿件。
目前自動循跡無人機(jī)的研究取得了極大的發(fā)展,我們研制了一種基于openMV的自動循跡無人機(jī)。其主要功能是實現(xiàn)針對地面上的黑線自主飛行。循跡無人機(jī)是一個集有環(huán)境感知、規(guī)劃決策、自主飛行等功能于一身的光機(jī)電一體化系統(tǒng)(劉杰,蔣沁宏,基于OpenMV的尋的賽車,電子技術(shù)與軟件工程,2018年第14期)。目前,循跡無人機(jī)已在許多行業(yè)得到廣泛應(yīng)用。本文利用 OpenMV機(jī)器視覺模塊進(jìn)行圖像采集與處理,通過 STM32模塊控制無人機(jī)實現(xiàn)自主循跡飛行。
1 控制工作原理分析
1.1 OpenMV
OpenMV是一個開源,低成本,功能強(qiáng)大的機(jī)器視覺模塊。以STM32F427CPU為核心,集成了OV7725攝像頭芯片,在小巧的硬件模塊上高效地實現(xiàn)了核心機(jī)器視覺算法,提供Python編程接口。OpenMV采用的STM32F427擁有豐富的硬件資源,可用于擴(kuò)展UART,I2C,SPI, PWM,ADC和 GPIO等接口。帶有Micro Python解釋器的OpenMV可以提供的Python語言機(jī)器視覺,包括尋找顏色,面部檢測,眼睛跟蹤,邊緣檢測等功能。
1.2 STM32
STM32是由意法半導(dǎo)體推出的一款基于 ARM Cortex-M 系列內(nèi)核的高性能32 位單片機(jī)。STM32微控制器包括一系列 32位產(chǎn)品,集高性能、實時功能、數(shù)字信號處理、低功耗與低電壓操作等特性于一身。
1.3 無人機(jī)整體結(jié)構(gòu)
該循跡無人機(jī)控制部分采用STM32為主控芯片,以飛控模塊、OpenMV模塊、動力模塊構(gòu)成硬件系統(tǒng)。數(shù)字?jǐn)z像頭將無人機(jī)采集的圖像信息傳給OpenMV模塊進(jìn)行處理,將無人機(jī)控制在合理運動速度內(nèi)。經(jīng)過一系列算法,輸出無人機(jī)應(yīng)該移動的距離, 通過串口通訊,將控制信息傳輸給STM32 主控板, 控制電機(jī)速度。整體結(jié)構(gòu)圖如圖1所示。
2 系統(tǒng)軟件設(shè)計
2.1 圖像預(yù)處理
圖像采集或傳輸過程產(chǎn)生噪聲干擾直接影響了后面我們的分析,改善圖像數(shù)據(jù),抑制不需要的變形或者增強(qiáng)某些對后續(xù)處理重要的圖像特征,要求我們在對圖像進(jìn)行識別與檢測時要對采集的圖像進(jìn)行預(yù)處理。
2.1.1 圖像灰度化
圖像灰度化的處理就是對這個像素點矩陣的操作,只要在這個像素點矩陣中找到這個像素點的位置,灰度圖像上每個像素的顏色值又稱為灰度,指黑白圖像中點的顏色深度。所謂灰度值是指色彩的濃淡程度,灰度直方圖是指一幅數(shù)字圖像中,對應(yīng)每一個灰度值統(tǒng)計出具有該灰度值的象素數(shù),也即灰度值,在OpenMV視覺模塊中包含灰度化的算法函數(shù)。
2.1.2 圖像濾波
噪音,這主要由于平時的工作和環(huán)境引起的,圖像濾波可以在保證細(xì)節(jié)的情況下對目標(biāo)圖像的噪聲進(jìn)行抑制,是圖像預(yù)處理中不可缺少的操作。
2.2 直線尋跡識別
巡線時,采用擬合識別條紋邊緣方法,使用簡單角度和距離的計算方法。返回條紋底色邊界線的擬合直線,此函數(shù)的計算結(jié)果為擬合直線距離畫面左邊界距離和中心線的偏離角度。當(dāng)檢測到條紋邊界的時候,會計算擬合出條紋邊界的直線。
由OpenMV采集的圖像經(jīng)圖像濾波后,對圖像進(jìn)行色塊檢測(張毅,高進(jìn)可,王琪 等,視覺導(dǎo)引智能車的自適應(yīng)路徑識別及控制研究,測控技術(shù), 2017年第11期23頁)和二值化圖像處理,尋找到引導(dǎo)線,之后對引導(dǎo)線進(jìn)行回歸處理(劉義亭,董夢超 等,基于OpenMV的目標(biāo)跟蹤系統(tǒng)設(shè)計,南京工程學(xué)院學(xué)報(自然科學(xué)版),2019年第 3期),得到該引導(dǎo)線的直線參數(shù),判斷是否匹配到直線,若沒有匹配到,則放棄該幀圖像,返回上一步,取出下一幀圖像;若匹配到了,則計算出該直線與無人機(jī)的偏角,轉(zhuǎn)換成無人機(jī)應(yīng)該轉(zhuǎn)角的角度。通過串口將對應(yīng)的數(shù)據(jù)幀發(fā)送給飛控,在飛控端再進(jìn)行幀格式解析,得出對應(yīng)的數(shù)據(jù)后,再進(jìn)行飛機(jī)相應(yīng)的姿態(tài)調(diào)整(梅妍玭,傅榮,基于openMV的小車定位系統(tǒng)研究,揚州職業(yè)大學(xué)學(xué)報,2017年第12 期)。程序流程如圖2所示。
2.3 圓點尋跡識別定特定顏色的原點時,運用顏色識別函數(shù)返回色塊其中心坐標(biāo)即可。對于不同的顏色的色塊,需要實地測試得到不同的閾值。這里的返回值為圓點中心坐標(biāo)、像素大小和標(biāo)志位(莊瓊云,基于 OpenMV的智能尋跡小車設(shè)計與實現(xiàn),黎明職業(yè)大學(xué)學(xué)報, 2018年第12期)。
3 結(jié)束語
基于 OpenMV機(jī)器視覺模塊和STM32控制模塊設(shè)計了循跡無人機(jī)系統(tǒng),并研究目標(biāo)識別算法。利用邊緣檢測和形狀識別算法得到的路線信息,擬合計算得到路線與無人機(jī)正面方向的轉(zhuǎn)向角度,最后由STM32控制實現(xiàn)了循跡無人機(jī)沿引導(dǎo)線快速、穩(wěn)定地行駛。
基金項目:2019年江蘇省高等學(xué)校大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項目“基于OpenMV的自主循跡無人機(jī)設(shè)計”(課題編號:201912920028Y);2017年度院級課題項目“自動重量稀釋儀”(課題編號:NHKY-2017-01)。
作者簡介:吳松元(1998—),男,南京科技職業(yè)學(xué)院,無人機(jī)專業(yè)學(xué)生;牛宗超(1980—),男,南京科技職業(yè)學(xué)院,教師。
論文指導(dǎo) >
SCI期刊推薦 >
論文常見問題 >
SCI常見問題 >