孫浩然 王彬灃
摘要隨著國內(nèi)外對移動類機(jī)器人應(yīng)用領(lǐng)域的不斷拓展具有自主搬運(yùn)功能的智能搬運(yùn)機(jī)器人成為研究熱點文章針對球類訓(xùn)練中存在的頻繁撿球、換球等現(xiàn)象提出了基于的智能視覺捕捉系統(tǒng)設(shè)計該系統(tǒng)以為控制核心結(jié)合攝像頭驅(qū)動利用采集到的物體圖像信息通過數(shù)字圖像處理技術(shù)實現(xiàn)目標(biāo)物體視覺捕捉利用軟件算法使機(jī)器人能夠根據(jù)圖像信息實現(xiàn)路徑自主規(guī)劃結(jié)合籠狀結(jié)構(gòu)實現(xiàn)捕捉和運(yùn)送雙重功能
關(guān)鍵詞視覺捕捉數(shù)字圖像處理路徑規(guī)劃
中圖法分類號:TP391文獻(xiàn)標(biāo)識碼:A
Design of intelligent vision capture system based on STM32H7
SUN Haoran,WANG Binfeng
(Nanhang Jincheng College,Nanjing 211156,China)
Abstract:With the continuous expansion of the application field of mobile robot,it has become one ofthe research hotspots at home and abroad.Aiming at the phenomena of frequent ball picking andchanging in ball training,this paper puts forward the design of intelligent visual capture systembased on STM32H7.At the same time,the software algorithm enables the robot to realize pathindependent planning according to the image information,and complete the dual functions of captureand transportation combined with the cage structure.
Key words: visual capture,digital image processing,path planning
1? 引言
在球類運(yùn)動訓(xùn)練中,對于效率的要求往往很高,本文提出了使用機(jī)器人代替人工實現(xiàn)主動式撿球,可以省去很多人力以及節(jié)約運(yùn)動員的時間。本項目使用MicroPython語言編寫[1] ,利用OpenMv的圖像處理模塊,使用攝像頭采集圖像,并通過主控單片機(jī) STM32H750對圖像進(jìn)行數(shù)字圖像處理[2]。整體路徑規(guī)劃應(yīng)用線性回歸算法得到擬合直線,通過最小二值化處理較為簡單的路徑規(guī)劃問題。對于復(fù)雜地面,則通過Theil?Sen線性回歸算法,增強(qiáng)了系統(tǒng)的適應(yīng)能力。借助 MATLAB 仿真后,在實際的運(yùn)行測試中,呈現(xiàn)的效果良好。利用 PID 算法程序計算得到輸出值,通過 L298N 電機(jī)驅(qū)動模塊控制左右兩部電機(jī)轉(zhuǎn)動,進(jìn)而控制小車行駛速度及方向,最終使小車能夠勝任運(yùn)動員在平時訓(xùn)練及比賽期間的撿球工作,并能將球運(yùn)送到指定位置。本文設(shè)計的機(jī)器人具有自主捕捉和運(yùn)送功能,可應(yīng)用場地種類多,對未知空間適應(yīng)能力及探索能力強(qiáng)。
2? 系統(tǒng)總體設(shè)計
本機(jī)器人系統(tǒng)使用 STM32H750為主控核心,具備 480MZ 主頻,1MB 分散 SRAM ,且增加外部8MB QSPI?FLASH 。搭載攝像頭接口采用2.54排座,可直插 7670、7725攝像頭,采用 OV7670攝像頭驅(qū)動,利用其 7670倍頻機(jī)制,可讓最大幀率 QQVGA 模式達(dá)到60幀/s ,QVGA 達(dá)到30幀/s 。驅(qū)動使用 L298N 雙 H 橋直流電機(jī)驅(qū)動模塊,可提供最大功率25W,控制2 相步進(jìn)電機(jī),直接驅(qū)動兩路直流電機(jī),同時利用板內(nèi)可取的+5V 電供給單片機(jī) STM32H750系統(tǒng)核心使能。搭配帶5V 充放電一體模塊鋰電池電源獨(dú)立工作。捕捉器采用滾輪式機(jī)械結(jié)構(gòu),搭配彈性繩,通過滾輪與目標(biāo)物體的轉(zhuǎn)速差,實現(xiàn)對目標(biāo)物體的捕獲及運(yùn)載。
本系統(tǒng)的色塊識別功能通過OpenMV色彩跟蹤模塊,采集目標(biāo)物體的數(shù)字信息,并將數(shù)字信息通過 UART 異步串行通信協(xié)議,發(fā)送到主控芯片 STM32H750。經(jīng)過 STM32H750處理后,對識別到的物體進(jìn)行判別,即判斷是否為所設(shè)定的目標(biāo)。若識別到的物體不是目標(biāo)物體,則通過控制左右電機(jī)的電機(jī)正轉(zhuǎn)、反轉(zhuǎn),實現(xiàn)機(jī)器人在平面上進(jìn)行360°旋轉(zhuǎn),直至判別到目標(biāo)物體的方位;若識別到的物體為目標(biāo)物體,則通過采集到的數(shù)據(jù),前往目標(biāo)物體處,并將其捕獲。系統(tǒng)總體布局圖如圖1 所示。
3? 系統(tǒng)設(shè)計的具體論證
本系統(tǒng)具有物體追蹤、數(shù)字圖像處理、自動規(guī)劃路徑等功能。通過系統(tǒng)論證和實際檢測,最終得到最優(yōu)效果。
3.1? 物體追蹤
通過分析目標(biāo)物體的顯著特征,如顏色、形狀、體積等各方面特點,考慮到實際場地的干擾因素以及系統(tǒng)設(shè)計難易度,故決定采用顏色追蹤,色塊識別的功能則由OpenMV完成。機(jī)器人通過搭載的普通小型攝像頭捕捉實時畫面,借助OpenMv的庫函數(shù),調(diào)用色塊識別與圖像處理模塊,將攝像頭捕捉到的畫面進(jìn)行顏色分析,并獲取有效像素信息,同時通過像素值的大小判斷機(jī)器人與目標(biāo)物體的距離[3]。實際操作中,必須考慮環(huán)境造成的干擾,如場地背景顏色與目標(biāo)顏色的相似程度、不同光照角度引起的光線干擾、顏色塊與鏡頭的距離改變而引起的誤差和錯誤分析,通過雙邊濾波器對圖像進(jìn)行卷積,使得采集到的圖像平滑,同時保持圖像中的邊緣??刂剖褂秒p邊濾波器匹配顏色的接近程度以及像素在空間方面相互模糊的程度。根據(jù)實際操作環(huán)境影響因素的不同,如光照角度、地面清潔度等,將 threshold=True 值設(shè)置為0 或1 ,傳遞0 或1 來啟動圖像的自適應(yīng)閾值處理功能。負(fù)數(shù) offset 值將更多像素設(shè)置為1 ,而正值僅將最強(qiáng)對比度設(shè)置為1 。最后,完成了融合雙邊濾波器的基于OpenMV的顏色塊識別模塊。
3.2? 數(shù)字圖像處理
針對數(shù)字圖像的處理技術(shù),普遍采用圖像分割。利用圖像分割可以實現(xiàn)將目標(biāo)物體的特征像素與其他影響因子的特征進(jìn)行區(qū)別,將目標(biāo)物體標(biāo)記為圖像前景,干擾因子標(biāo)記為圖像背景。根據(jù)圖像類型,可分為灰度圖像分割、彩像分割和紋理圖像分割??紤]到性能、計算量以及實現(xiàn)難易度,本設(shè)計采用閾值分割的方法,對圖像進(jìn)行首次處理,與事先采集到的目標(biāo)物體的特殊閾值相對比,將獲取到的圖像像素分為若干目標(biāo)區(qū)域以及背景區(qū)域,每個區(qū)域擁有獨(dú)立的灰度級,將目標(biāo)區(qū)域像素與背景區(qū)域像素的特殊處仔細(xì)區(qū)分,以實現(xiàn)對目標(biāo)物體的精確視覺捕捉。在實際運(yùn)行中,需要不斷調(diào)整閾值范圍,以更好地減少背景環(huán)境產(chǎn)生的干擾。
3.3? 自動路徑規(guī)劃
國內(nèi)外對于智能路徑規(guī)劃方案的研究和使用,主要采取構(gòu)型空間法、神經(jīng)網(wǎng)絡(luò)法以及柵格解耦法 [4~ 6] ,它們也是目前發(fā)展較為成熟的技術(shù)手段。通過對柵格解耦法的研究,將機(jī)器人識別到的整體空間解耦成具有相同目標(biāo)點的更小范圍區(qū)域,機(jī)器人的工作區(qū)間由這些區(qū)域組成,機(jī)器人將在被解耦的作業(yè)空間上自動實現(xiàn)在該區(qū)塊內(nèi)的小區(qū)塊路線規(guī)劃。當(dāng)某個機(jī)器人在某一個小區(qū)域環(huán)境中受到阻礙時,可以選擇將此小區(qū)域重新分割為至少四個大區(qū)塊或者更多小的區(qū)塊,并盡量在其中重新尋找一個最好的路徑,其中柵格大小將直接反映機(jī)器人對環(huán)境阻礙時的最佳分辨路線選擇和最終設(shè)計時間,柵格大小不易確定。
神經(jīng)網(wǎng)絡(luò)算法在大型空間的全局路徑規(guī)劃效果很好,但具體環(huán)境千變?nèi)f化,很難用數(shù)學(xué)公式來描述,神經(jīng)網(wǎng)絡(luò)的整體應(yīng)用不是很好。經(jīng)過比較,本系統(tǒng)采用柵格解耦法完成機(jī)器人對未知路徑的自主規(guī)劃功能。通過對柵格解耦法的研究,借助線性回歸找出一條擬合直線,借用最小二乘法公式:
根據(jù)計算得出擬合曲線,通過對比選擇出和實際路徑吻合度最高的曲線,該曲線就是道路的邊緣。使用線性回歸時,必須先將圖像進(jìn)行二值化。在此之前,需要先設(shè)定一個閾值,將此閾值下的數(shù)字設(shè)定為白色,閾值上的數(shù)字則設(shè)定為黑色。對于圖像中的閾值像素,可以進(jìn)行線性回歸運(yùn)算。采用最小的二階乘法來進(jìn)行運(yùn)算,通常運(yùn)算速度相對較快,但卻無法同時處理所有的異常值。如果 robust 是一個 True ,那么可以采用Theil?Sen(泰爾-森估算)線性回歸算法,以獲取圖像在每個閾值處大概的像素所有傾斜度的中值。如果經(jīng)過閾值處理后的數(shù)據(jù)量仍十分龐大,則可以在80×60圖像上,采取 N 值的二次方操作,一定程度上可以將 FPS 降低到5 幀以下。同時,若經(jīng)過閾值處理后得像素數(shù)量過少,即便閾值像素異常值達(dá)到27%,所獲取的中值依舊有效,可以使用,且魯棒性能優(yōu)異。對于目標(biāo)物體的像素閾值,通過攝像頭拍攝目標(biāo)物體的照片,利用 IDE 的幀緩沖選擇目標(biāo)物體的閾值功能。直方圖會同步到最新位置。并依次記錄每個直方圖中的色塊初始處以及下降點位,由此可獲得 Thresholds 的低值和高值大小。通過實踐測量,發(fā)現(xiàn)在實際操作中使用手動確定閾值更為方便。
3.4? 動力傳輸系統(tǒng)設(shè)計
針對未知復(fù)雜環(huán)境的情況,需要選擇性能合適的動力傳輸結(jié)構(gòu),通過接收電機(jī)產(chǎn)生的轉(zhuǎn)力,使機(jī)器人實現(xiàn)平面運(yùn)轉(zhuǎn)??紤]到靈活性、耐磨損性等諸多因素,現(xiàn)行的方案中,動力傳輸?shù)脑O(shè)計大多采用履帶式,或者使用麥克納姆輪方案。履帶式設(shè)計的優(yōu)點在于其擁有較好的適應(yīng)性,針對不同需求,可以方便地對履帶長度進(jìn)行調(diào)整。一方面,其牽引力較大。牽引效率方面,輪式可提供的最大牽引效率在55%~ 65%之間,履帶式則可高達(dá)70%~80%,而輪式發(fā)動機(jī)提供的有效功率要比履帶式低15%左右。另一方面,履帶式設(shè)計的穩(wěn)定性強(qiáng)。通過調(diào)整履帶大小,可以實現(xiàn)對機(jī)器人移動過程中重心點的控制,使機(jī)器人對地面有較高的附著力,防止機(jī)器人在光滑或傾斜地面發(fā)生翻滾倒地現(xiàn)象。且履帶式機(jī)器人操控靈活,通過兩邊轉(zhuǎn)速差實現(xiàn)靈活、小角度轉(zhuǎn)彎。但是,其行駛速度偏慢,在執(zhí)行效率方面遠(yuǎn)不如輪式結(jié)構(gòu)。
通過對麥克納姆輪的動力傳輸結(jié)構(gòu)的研究,其特點在于擁有四組直流電機(jī)分別提供動力。利用該特點,可以使機(jī)器人十分靈活地朝各方向移動,在此基礎(chǔ)上研究的全方向移動系統(tǒng),可以提供更高的效率。相較于履帶式機(jī)器人,其轉(zhuǎn)向半徑更小、更靈活。但是,其缺點在于輪子不平整,且易破損。通常通過四組電機(jī)進(jìn)行搭配使用。由于 L298N 雙 H 橋直流電機(jī)驅(qū)動模塊一般搭載兩路直流電機(jī),綜合價格、性能及實際使用需求等各方面因素,本次選用履帶式設(shè)計。
3.5? 機(jī)械捕捉
當(dāng)機(jī)器人識別并通過規(guī)劃的路徑到達(dá)目標(biāo)體位置處時,需要完成對目標(biāo)物體的抓捕工作,以實現(xiàn)后續(xù)運(yùn)輸、傳遞的功能??刹捎脵C(jī)械臂、滾筒式等機(jī)械結(jié)構(gòu)設(shè)計完成此部分功能。對于機(jī)械臂的操作,要求機(jī)器人控制與目標(biāo)物體的距離,并需要在目標(biāo)物體前停留一段時間,給機(jī)械臂提供抓捕操作的時間以及空間,且機(jī)械臂單次可抓捕和運(yùn)輸數(shù)量較小,操作效率較低。
滾輪式機(jī)械結(jié)構(gòu)參考高爾夫球推式撿球機(jī),將推筒前置,通過機(jī)械結(jié)構(gòu)搭建,能夠?qū)崿F(xiàn)被動式跟隨機(jī)器人同步運(yùn)動。滾輪兩邊采用亞克力板雕刻,使用彈性繩連接,中間通過承力軸固定滾輪。目標(biāo)物體一般處于靜止?fàn)顟B(tài),低速旋轉(zhuǎn)的滾輪便可成功捕獲、攜帶目標(biāo)物體。通過搭載滾輪式結(jié)構(gòu),可以使機(jī)器人實現(xiàn)同步不間斷工作。其缺點在于轉(zhuǎn)向不靈活。
經(jīng)過實際檢測,考慮到效率及實用情況,本機(jī)器人系統(tǒng)采用滾輪式機(jī)械結(jié)構(gòu)。
4? 創(chuàng)新點
(1)采用OpenMv的模塊與 STM32H7之間建立聯(lián)系,借助 STM32的強(qiáng)大算力,完美地解決了算法模型的搭建以及數(shù)據(jù)處理問題。且 STM32的功能拓展性好,對于設(shè)備的需求的變更方便、易上手。
(2)機(jī)械結(jié)構(gòu)創(chuàng)新利用差速滾輪設(shè)計代替機(jī)械臂夾具,提高了工作效率,縮小了智能車的體積,且其易于拆卸的結(jié)構(gòu),使實際使用更為方便。
(3)最小二乘法與Theil?Sen線性回歸算法相結(jié)合,降低了系統(tǒng)宕機(jī)的概率,有效提升了系統(tǒng)的穩(wěn)定性。
5? 結(jié)論
本機(jī)器人系統(tǒng)主控使用 STM32H7系列芯片,延續(xù)了 STM32系列高性能的產(chǎn)品特點,提供支持單核解決方案,完成算法控制、圖像信息處理等一系列任務(wù)。同時,通過給機(jī)器人搭配攝像頭模塊進(jìn)行實時畫面捕捉以及2.54排線連接傳遞控制信號,機(jī)器人可以自完成行識別目標(biāo)物體及捕捉目標(biāo)物,通過算法實現(xiàn)全局自主規(guī)劃最優(yōu)路線并用最短的時間完成任務(wù)。在確認(rèn)目標(biāo)物體后,機(jī)器人可自行運(yùn)作,前往目標(biāo)點取球。在實際操作過程中,可使用多個機(jī)器人進(jìn)行區(qū)域分管協(xié)同運(yùn)作,分工明確,互不干擾,極大程度上可以代替人力完成工作。本項目將體育運(yùn)動與智能車進(jìn)行結(jié)合,實現(xiàn)智能車實際應(yīng)用化,智能車控制與機(jī)械結(jié)構(gòu)的有機(jī)結(jié)合,形成一個整體,操作簡便、應(yīng)用范圍廣、使用壽命長,相較于人工成本,機(jī)器人的性價比更高,且實現(xiàn)了人工智能化,具有較廣闊的應(yīng)用前景。參考文獻(xiàn):
[1] Sugihara K,Smith J.Genetic Algorithms for Adaptive MotionPlanning of? An? Autonomous? Mobile? Robot [ C ] ∥ IEEE International? Symposium? on? Computational? Intelligence? in Robotics and Automation.1997.
[2] 陶霖密,徐光祐.機(jī)器視覺中的顏色問題及應(yīng)用[ J].科學(xué)通報,2021(3):178?190.
[3] 張開宇,高國偉,毛浩龍.基于 MQTT 的機(jī)器人集群控制系統(tǒng)設(shè)計與實現(xiàn)[J].計算機(jī)測量與控制,2021(6):98?102.
[4] 王書俠,王國新,劉智超.一種簡易超聲波測距裝置的設(shè)計與實現(xiàn)[J].儀表技術(shù),2021(3):23?24+66.
[5] 秦昆.異構(gòu)件雙機(jī)械臂協(xié)同拋光控制及路徑優(yōu)化技術(shù)研究[D].福建:廈門理工學(xué)院,2021.
[6] 朱大奇,顏明重.移動機(jī)器人路徑規(guī)劃技術(shù)綜述[ J].控制與決策,2010,25(7):961?967.
作者簡介:
孫浩然(2001— ),本科,研究方向:機(jī)器人算法控制技術(shù)。