趙晨曦 陳海龍 唐為浩 付晨 劉鑫慧 傅懷梁
開發(fā)設(shè)計(jì)
基于OpenMV的四足巡線機(jī)器人算法設(shè)計(jì)*
趙晨曦1陳海龍2唐為浩1付晨1劉鑫慧1傅懷梁1
(1.南通大學(xué)張謇學(xué)院,江蘇 南通 226000 2.南通大學(xué)交通與土木工程學(xué)院,江蘇 南通 226000)
四足機(jī)器人是足式機(jī)器人的典型代表,其仿生性強(qiáng)、結(jié)構(gòu)簡(jiǎn)單。針對(duì)四足巡線機(jī)器人運(yùn)動(dòng)過(guò)程中,路徑識(shí)別與跟蹤存在識(shí)別率低、易受干擾、解算周期長(zhǎng)等問(wèn)題,在圖像處理模塊OpenMV基礎(chǔ)上,提出特征點(diǎn)檢測(cè)與線性回歸法相結(jié)合的方法,對(duì)地面標(biāo)識(shí)線進(jìn)行識(shí)別與跟蹤控制,提高了四足機(jī)器人巡線的精度、速度及抗干擾性能。
四足巡線機(jī)器人;OpenMV;線性回歸;特征點(diǎn)檢測(cè);路徑識(shí)別與跟蹤
隨著工業(yè)4.0進(jìn)程的不斷推進(jìn),能夠自主移動(dòng)的各類機(jī)器人被廣泛應(yīng)用于工業(yè)生產(chǎn)及生活中,典型代表有工業(yè)AGV小車、餐廳送餐機(jī)器人、導(dǎo)游機(jī)器人等。四足機(jī)器人是一種典型的多足式機(jī)器人,具有結(jié)構(gòu)可變、機(jī)動(dòng)性強(qiáng)、控制容易、運(yùn)動(dòng)靈活等特點(diǎn),在跨越障礙、適應(yīng)地形方面有較大優(yōu)勢(shì)[1];在巡檢、勘察、娛樂(lè)等領(lǐng)域有較大的發(fā)展空間。
為進(jìn)一步拓展四足機(jī)器人的應(yīng)用領(lǐng)域,本文以四足機(jī)器人巡線送快遞為研究背景。目前,已有科研人員對(duì)機(jī)器人巡線進(jìn)行研究:文獻(xiàn)[3]利用線性回歸算法進(jìn)行路徑識(shí)別,并通過(guò)PID算法不斷修正無(wú)人機(jī)方向,從而實(shí)現(xiàn)路徑跟蹤;文獻(xiàn)[4]對(duì)目標(biāo)路徑實(shí)行多段標(biāo)記,通過(guò)權(quán)重加和算法與線性回歸得出小車偏移量,對(duì)彎道識(shí)別有較好效果;文獻(xiàn)[5]提出“連點(diǎn)成線”的巡線方法,通過(guò)中值濾波方法對(duì)圖像進(jìn)行處理,去除地面噪點(diǎn)后,重新將有效路徑點(diǎn)連接成線并進(jìn)行跟蹤,提高了系統(tǒng)的抗干擾性能。上述文獻(xiàn)對(duì)常規(guī)無(wú)人小車、無(wú)人機(jī)等巡線功能做了深入研究,并取得一定成果。但因四足機(jī)器人與無(wú)人小車及無(wú)人機(jī)在行進(jìn)的結(jié)構(gòu)和方向上都存在不同,以上方法并不能完全適用于四足巡線機(jī)器人,因此本文針對(duì)四足巡線機(jī)器人行進(jìn)時(shí)的路徑識(shí)別與跟蹤問(wèn)題進(jìn)行重點(diǎn)研究。
本文采用的四足巡線機(jī)器人本體自主設(shè)計(jì),結(jié)構(gòu)框圖如圖1所示。
圖1 機(jī)器人總體結(jié)構(gòu)框圖
其中,姿態(tài)控制器采用32位低成本處理器STM32控制器;機(jī)器人本體由12個(gè)舵機(jī)關(guān)節(jié)組成,并使用9軸陀螺儀進(jìn)行姿態(tài)反饋,可實(shí)現(xiàn)原地踏步、小跑、前進(jìn)后退,左右平移等動(dòng)作,滿足機(jī)器人路徑跟蹤的基本要求。
四足巡線機(jī)器人站立高度為19.2 cm,整體重量為3.5 kg,機(jī)身采用PLA材質(zhì)3D打印而成,如圖2所示。
圖2 四足巡線機(jī)器人本體側(cè)視圖
四足巡線機(jī)器人每條腿都有3個(gè)自由度,可通過(guò)側(cè)擺關(guān)節(jié)、大腿關(guān)節(jié)、小腿關(guān)節(jié)的不同動(dòng)作組合實(shí)現(xiàn)機(jī)器人前進(jìn)、后退與轉(zhuǎn)彎等動(dòng)作。
在四足巡線機(jī)器人腹部中間的固定板上安裝圖像處理模塊OpenMV,安裝高度約為15 cm。該安裝方式不僅能降低機(jī)身擺動(dòng)對(duì)OpenMV的影響,還能保證四足巡線機(jī)器人獲得足夠的前瞻性視角,以識(shí)別5~25 cm范圍內(nèi)的清晰路徑圖像。
圖像處理單元采用開源的OpenMV,其集成了OV7725攝像頭芯片[4],采集四足巡線機(jī)器人路徑圖像,并利用STM32H427CPU處理器進(jìn)行圖像處理與分析。為減少計(jì)算量,圖像采集的分辨率為QQQVGA(80×60)。四足巡線機(jī)器人路徑采集圖像示例如圖3所示。
圖3 四足巡線機(jī)器人路徑采集圖像示例
線性回歸算法對(duì)二值化后的圖像進(jìn)行處理,首先,通過(guò)Otsu大津算法對(duì)四足巡線機(jī)器人路徑采集圖像中的關(guān)鍵色塊進(jìn)行二值化預(yù)處理[7];然后,利用findbloks算法搜索視野中所有符合閾值的色塊,并篩選出最大的色塊作為目標(biāo)路徑;最后,對(duì)目標(biāo)路徑線性回歸得出擬合直線方程,計(jì)算水平偏移量與角度偏移量,并將偏移量發(fā)給STM32控制器,實(shí)現(xiàn)對(duì)四足巡線機(jī)器人行進(jìn)方向矯正。OpenMV線性回歸算法流程圖如圖4所示。
圖4 OpenMV線性回歸算法流程圖
線性回歸計(jì)算具體過(guò)程如下:
1)以四足巡線機(jī)器人視野左上角為坐標(biāo)系原點(diǎn)建立坐標(biāo)系,設(shè)四足巡線機(jī)器人視野中心點(diǎn)坐標(biāo)為(0,0),待擬合直線角度為line.theta,目標(biāo)路徑水平偏移量為,角度偏移量為theta_err,如圖5所示;
圖5 四足巡線機(jī)機(jī)器人視野示意圖
2)利用get_regression函數(shù)得到line.theta()角度值及擬合直線的2個(gè)頂點(diǎn)坐標(biāo)(1,1)、(2,2);
3)通過(guò)坐標(biāo)變換得到擬合直線相對(duì)于視野中心垂直豎線的角度即角度偏移量theta_err,角度變換過(guò)程如下:
if line.theta()>90:
else:
theta_err = line.theta()
4)根據(jù)擬合直線的2個(gè)頂點(diǎn)坐標(biāo)(1,1)、(2,2),計(jì)算擬合直線點(diǎn)斜式的方程為
該算法易受光線及路面反光影響,且當(dāng)視野中有多條路徑或有“人”字形路徑時(shí),容易出現(xiàn)路徑提取錯(cuò)誤,因此,需結(jié)合特征點(diǎn)檢測(cè)算法進(jìn)行路徑識(shí)別。
既定目標(biāo)的檢測(cè)和提取常用模板匹配和特征點(diǎn)檢測(cè)2種算法。機(jī)器人行進(jìn)是一個(gè)動(dòng)態(tài)過(guò)程,受環(huán)境影響較大,且每次到達(dá)目標(biāo)位置時(shí),攝像頭與之距離和角度均不一致。模板匹配算法,需提前對(duì)同一特征保存多種角度圖像,降低了OpenMV運(yùn)行速度,影響巡線效果。特征點(diǎn)檢測(cè)算法對(duì)圖像角度、亮度等依賴性較小,因此,本文采用特征點(diǎn)檢測(cè)算法輔助機(jī)器人進(jìn)行路徑識(shí)別。
首先,提取四足巡線機(jī)器人路徑特征點(diǎn),即利用find_keypoints函數(shù)的Fast角點(diǎn)檢測(cè)器提取路徑的關(guān)鍵點(diǎn)(路徑角點(diǎn)),并用空心圓圈標(biāo)出,如圖6所示;然后,利用save_descriptor函數(shù)將提取關(guān)鍵點(diǎn)后的路徑圖像保存至OpenMV的SD卡中;接著,在機(jī)器人行進(jìn)過(guò)程中,OpenMV不斷拍攝當(dāng)前視野中的圖像,并對(duì)圖像進(jìn)行特征點(diǎn)檢測(cè),與之前保存在SD卡中的圖像進(jìn)行特征點(diǎn)比對(duì),利用match_ count()函數(shù)輸出2幅圖像的近似特征點(diǎn)個(gè)數(shù),當(dāng)個(gè)數(shù)大于設(shè)定值3時(shí),判定當(dāng)前圖像為目標(biāo)路徑;最后,與線性回歸算法相結(jié)合,對(duì)目標(biāo)路徑進(jìn)行回歸、擬合處理,得出偏移量,控制機(jī)器人正確運(yùn)動(dòng)。特征點(diǎn)檢測(cè)流程如圖7所示。
圖6 十字路口的特征點(diǎn)提取
圖7 特征點(diǎn)檢測(cè)流程
在利用find_keypoints函數(shù)提取路徑特征點(diǎn)過(guò)程中,需要對(duì)參數(shù)Scale_factor進(jìn)行調(diào)整,Scale_factor越大,OpenMV運(yùn)行越快;Scale_factor越小,則OpenMV運(yùn)行越慢,但圖像匹配度會(huì)相應(yīng)變好。因此,選擇合適的Scale_factor值,在兼顧幀率的同時(shí)可提高特征點(diǎn)檢測(cè)精度。經(jīng)實(shí)驗(yàn)發(fā)現(xiàn),Scale_factor取1.4左右時(shí),OpenMV圖像處理達(dá)到最佳狀態(tài)。
特征點(diǎn)檢測(cè)算法可直接對(duì)四足巡線機(jī)器人路徑原始采集圖像進(jìn)行處理,能避免地面反光、噪點(diǎn)等干擾。但特征點(diǎn)檢測(cè)算法無(wú)法實(shí)現(xiàn)路徑的偏差分析,因此,本文利用特征點(diǎn)檢測(cè)算法與線性回歸算法相結(jié)合的方式實(shí)現(xiàn)路徑識(shí)別。
基于特征點(diǎn)檢測(cè)的線性回歸算法的主要思想:首先,利用特征點(diǎn)檢測(cè)算法,快速定位四足巡線機(jī)器人視野中的直線、彎道、十字路口、人形分岔口等關(guān)鍵路徑元素,并利用方框?qū)ο嚓P(guān)元素進(jìn)行框選;然后,將目標(biāo)框在視野坐標(biāo)系中的偏移量與框內(nèi)路徑元素的線性回歸偏移量進(jìn)行疊加后,得到機(jī)器人相對(duì)路徑的實(shí)際偏移量,以實(shí)現(xiàn)機(jī)器人對(duì)不同路徑的識(shí)別與篩選,具體流程如下:
1)四足巡線機(jī)器人啟動(dòng)前,利用OpenMV拍攝目標(biāo)路徑各路段的具體特征,并保存至OpenMV;
2)四足巡線機(jī)器人啟動(dòng)后,利用特征點(diǎn)檢測(cè)算法掃描視野中的目標(biāo)路徑;
3)對(duì)目標(biāo)路徑進(jìn)行色塊框選,得到色塊方框在視野坐標(biāo)系中的坐標(biāo);
4) 對(duì)方框內(nèi)的色塊線性回歸,得到框內(nèi)路徑的偏移量;
5)將方框坐標(biāo)與路徑偏移量疊加,由OpenMV通過(guò)串口向STM32控制器發(fā)送圖像處理結(jié)果,控制四足巡線機(jī)器人運(yùn)動(dòng)。
為驗(yàn)證基于特征點(diǎn)檢測(cè)的線性回歸算法的可行性,定制具有直道、彎道、十字路口的地圖,并在地圖上設(shè)置簡(jiǎn)易樓梯、紙團(tuán)以及與路徑顏色類似的干擾物。將四足巡線機(jī)器人置于地圖中,觀察OpenMV攝像頭返回的圖像處理情況與機(jī)器人實(shí)際巡線效果,并測(cè)試燈光、顏色對(duì)四足巡線機(jī)器人路徑識(shí)別的影響。
針對(duì)巡線功能,若僅采用線性回歸算法,在視野局限下,識(shí)別簡(jiǎn)單路徑可得到不錯(cuò)效果。但隨著路徑復(fù)雜化,機(jī)器人移動(dòng)速度加快,當(dāng)視野中出現(xiàn)多條路徑,且有障礙物時(shí),僅采用線性回歸算法易造成視覺誤判,誤將所有符合設(shè)定閾值的像素點(diǎn)均進(jìn)行線性回歸,使擬合直線與實(shí)際路徑大相徑庭。
針對(duì)上述問(wèn)題,運(yùn)用特征點(diǎn)檢測(cè)算法,能有效排除形狀不符合要求的色塊,避免視野中其他物體的干擾,降低了燈光、顏色對(duì)四足巡線機(jī)器人的影響。采用線性回歸算法與基于特征點(diǎn)檢測(cè)的線性回歸算法的路徑識(shí)別效果對(duì)比如圖8所示。
由圖8可知,結(jié)合了特征點(diǎn)檢測(cè)的線性回歸算法能夠更精準(zhǔn)地識(shí)別路徑,排除干擾物,達(dá)到較好效果。
在測(cè)試路徑識(shí)別算法過(guò)程中,遇到的主要問(wèn)題是丟線和無(wú)法正確識(shí)別路徑。針對(duì)丟線問(wèn)題,在每拍攝一幅圖像后,便將其返回的偏差量與角度值保存在數(shù)組中,一旦發(fā)現(xiàn)視野中沒(méi)有色塊,便繼續(xù)聽從上一幅圖像指揮,直至出現(xiàn)色塊。
針對(duì)由于反光以及周圍干擾因素過(guò)多,導(dǎo)致機(jī)器人無(wú)法正確識(shí)別路徑的問(wèn)題,在OpenMV的攝像頭中增加濾光片,并調(diào)整攝像頭位置,使路徑識(shí)別效果有顯著提升,實(shí)驗(yàn)測(cè)試效果如圖9、圖10所示。
圖9 四足巡線機(jī)器人實(shí)際路徑識(shí)別效果圖
圖10 四足巡線機(jī)器人總體測(cè)試效果圖
由圖9、圖10可知,算法優(yōu)化后,硬件設(shè)計(jì)也會(huì)對(duì)四足巡線機(jī)器人路徑識(shí)別的效果產(chǎn)生影響。雖然采用基于特征點(diǎn)檢測(cè)的線性回歸算法可以識(shí)別路徑,但是需增加濾光片才能有效解決光線干擾問(wèn)題。
本文根據(jù)四足巡線機(jī)器人行進(jìn)特點(diǎn)提出基于特征點(diǎn)檢測(cè)的線性回歸算法。實(shí)驗(yàn)結(jié)果表明:先在視野中尋找最大色塊再線性回歸可有效避免干擾物影響;結(jié)合特征點(diǎn)檢測(cè)算法可提高四足巡線機(jī)器人路徑識(shí)別與跟蹤的準(zhǔn)確性。
[1] 汪世慶,單鑫,劉逸馳.四足機(jī)器人的發(fā)展現(xiàn)狀及趨勢(shì)[J].造紙裝備及材料,2020,49(4):227-228.
[2] 陳超,鄭彥寧,江鵬,等.基于兩自由度模塊化關(guān)節(jié)的巡線機(jī)器人設(shè)計(jì)[J].儀器儀表學(xué)報(bào),2014,35(S2):28-35.
[3] 劉軒宇,李浩陽(yáng),胡子琨.基于OpenMV的自動(dòng)巡線無(wú)人機(jī)研究[J].電子測(cè)試,2021(12):18-19.
[4] 李思熠,王少坤.基于OpenMV和Arduino的智能巡線機(jī)器人[J].科技與創(chuàng)新,2020(22):50-53.
[5] 歐寒芝,匡盈霏,丁慧玉,等.一種機(jī)器視覺巡線避障小車的設(shè)計(jì)[J].電腦與信息技術(shù),2022,30(2):13-17.
[6] 張文青,龍奕帆.基于OpenMV視覺模塊的智能小車巡線系統(tǒng)設(shè)計(jì)[J].集成電路應(yīng)用,2021,38(10):232-233.
[7]沈中坤,徐勁節(jié).基于OpenMV視覺模塊和MPU6050角度傳感器的智慧尋路小車[J].電子制作,2022,30(3):28-30,19.
[8]張宇成,王潮涌.基于STM32和OpenMV的圖形識(shí)別與測(cè)量系統(tǒng)[J].電子測(cè)試,2021(15):43-46.
[9] 夏勝杰,楊昊,艾偉清.基于Arduino單片機(jī)和OpenMV的顏色目標(biāo)定位與跟蹤小車的設(shè)計(jì)與實(shí)現(xiàn)[J].常熟理工學(xué)院學(xué)報(bào),2021,35(5):59-64.
[10] 易靜,李光,薛晨慷,等.四足機(jī)器人Trot步態(tài)偏航分析及其控制[J].機(jī)械與電子,2022,40(3):58-64.
[11] 張偉,譚文浩,李貽斌.基于深度強(qiáng)化學(xué)習(xí)的四足機(jī)器人運(yùn)動(dòng)控制發(fā)展現(xiàn)狀與展望[J].山東大學(xué)學(xué)報(bào)(醫(yī)學(xué)版), 2020,58(8):61-66.
[12] 李琳,薛澤浩,蔡蒂,等.管道內(nèi)壁四足爬壁機(jī)器人的運(yùn)動(dòng)學(xué)與步態(tài)規(guī)劃[J].浙江大學(xué)學(xué)報(bào)(工學(xué)版),2021,55(12): 2286-2297.
[13] 張良安,唐鍇,李鵬飛,等.基于復(fù)合擺線軌跡的四足機(jī)器人穩(wěn)定性分析[J].江蘇大學(xué)學(xué)報(bào)(自然科學(xué)版),2022, 43(1):62-66,74.
[14] 毛先胤,呂黔蘇,馬曉紅,等.基于雙目視覺的電力線巡檢機(jī)器人障礙物定位測(cè)距[J].自動(dòng)化與儀器儀表,2021(9): 244-248.
[15] 毛先胤,劉宇,馬曉紅,等.基于SSD算法的電力巡線機(jī)器人障礙物識(shí)別[J].自動(dòng)化與儀器儀表,2020(5):45-48.
[16] 縱懷志,張軍輝,張堃,等.液壓四足機(jī)器人元件與液壓系統(tǒng)研究現(xiàn)狀與發(fā)展趨勢(shì)[J].液壓與氣動(dòng),2021,45(8):1-16.
Algorithm Design of Quadruped Line Inspection Robot Based on OpenMV
ZHAOChenxi1CHENHailong2TANGWeihao1FUChen1LIUXinhui1FUHuailiang1
(1.Zhang Jian College, Nantong University, Nantong 226000, China 2.School of Transportation and Civil Engineering, Nantong University, Nantong 226000, China)
Quadruped robot is a typical representative of quadruped robot, which has strong bionics and simple structure. Aiming at the problems of low recognition rate, easy interference and long calculation cycle of path recognition and tracking during the movement of quadruped line patrol robot, a method combining feature point detection and linear regression is proposed on the basis of image processing module OpenMV to recognize and track the ground marking line, which improves the accuracy, speed and anti-interference performance of quadruped line patrol robot.
quadruped line patrol robot; OpenMV; linear regression; feature point detection; path recognition and tracking
趙晨曦,陳海龍,唐為浩,等.基于OpenMV的四足巡線機(jī)器人算法設(shè)計(jì)[J].自動(dòng)化與信息工程,2022,43(3):31-36.
ZHAO Chenxi, CHEN Hailong, TANG Weihao, et al. Algorithm design of quadruped line inspection robot based on OpenMV[J]. Automation & Information Engineering, 2022,43(3):31-36.
TP242.6
A
1674-2605(2022)03-0006-06
10.3969/j.issn.1674-2605.2022.03.006
江蘇省高等學(xué)校省級(jí)創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(202010304181H)
趙晨曦,女,2000年生,本科,學(xué)生,主要研究方向:電氣工程及其自動(dòng)化。E-mail: 1328464346@qq.com
陳海龍(通信作者),男,1986年生,工學(xué)碩士,實(shí)驗(yàn)師,主要研究方向:電氣自動(dòng)化控制,嵌入式,智能機(jī)器人。E-mail: hilong521@163.com
唐為浩,男,2001年生,本科,學(xué)生,主要研究方向:電氣工程及其自動(dòng)化。E-mail: 1739055918@qq.com
付晨,男,2001年生,本科,學(xué)生,主要研究方向:電氣工程及其自動(dòng)化。E-mail: 1713952775@qq.com
劉鑫慧,女,2002年生,本科,學(xué)生,主要研究方向:電氣工程及其自動(dòng)化。E-mail: 2364132501@qq.com
傅懷梁,男,1979年生,博士,副研究員,主要研究方向:凝聚態(tài)物理學(xué)。E-mail:16807901@qq.com