覃靜 孫霞
摘要:隨著智能機器人控制技術的不斷發展,智能機器人在運動輔助領域得到了廣泛應用。為了減少運動員在運動過程中的重復性撿球動作,設計了一種基于STM32單片機的智能撿球機器人。智能撿球機器人采用STM32H7系列作為主控芯片,結合飛行時差(Time of Flight,ToF)光學測距和OpenMV圖像采集模塊,實現機器人的運動避障、球具識別定位和精準拾取等功能,具有成本低、體積小和搜尋快速等優點,有較大的市場應用前景。
關鍵詞:智能小車;STM32單片機;PDI算法
中圖分類號:TP393文獻標志碼:A文章編號:1008-1739(2021)22-60-3

0引言
隨著智能裝備技術的不斷發展,智能化機器人受到越來越多的關注。智能機器人被廣泛應用于智能家居、深海探測和航天航空等各個領域,在工業生產和人類社會中發揮著舉足輕重的作用[1]。
球類運動作為常見的全民體育運動形式,具有對抗性強、觀賞性高等特點,在全球廣泛流行。然而,運動員在練習過程中會出現大量的重復性撿球運動,大幅度增加了人體的運動損耗,同時,散落在場地內的球具也會提高運動事故的發生率。針對這一問題,本文提出一種用于輔助運動的智能撿球機器人,減輕運動員的練習負擔和運動事故的發生。因此,本文的研究內容具有較大的實際應用價值。
1總體設計
撿球機器人工作流程如圖1所示。撿球機器人啟動后,通過OpenMV圖像采集模塊采集環境信息,基于圖像中的顏色信息定位球具并驅動機器人移動至鎖定區域,同時,機器人利用ToF光學測距模塊實現避障。當機器人到達指定區域后,再次精確識別球具,結合球具收集裝置完成小球拾取動作,隨后智能移動機器人返回至待機工作區域。
2硬件設計
2.1主控芯片
機器人的主控芯片采用STM32H7系列,該芯片的Chrom-ART Accelerator和MJPEG codec內核能夠減輕至少90%的CPU工作負荷,在圖像顯示方面具有較高的性能表現。此外,芯片的主DMA能處理記憶體和外設之間復雜的數據傳輸配置,最多能提供16個通道用于減輕CPU工作負荷,實現信息的高效傳輸。

2.2 ToF光學測距模塊
目前,常見的測距方法包括超聲波測距、接收信號強度(Received Signal Strength Indication,RSSI)測距和ToF光學測距。其中,ToF光學測距模塊通過光信號從發射至返回的間隔時間檢測機器人與反射物體之間的距離,從而實現智能撿球機器人的避障功能,ToF光學測距模塊的檢測精度達到1 mm,測距范圍0~4 m。與超聲波測距模塊相比,ToF檢測精度更高,且測距視野滿足球具拾取的需求。下面比較RSSI測距和ToF測距,在信號電平容易調制或非視距視線環境下,基于RSSI測距方法估算的結果比較理想;在視距視線環境下,基于ToF測距方法估算的結果較為理想。
智能撿球機器人采用ToF測距模塊用于實現機器人的避障功能。ToF測距有2個關鍵約束:①發送設備和接收設備始終同步;②由接收設備提供信號的傳輸時間。為了滿足上述約束條件,ToF測距模塊采用了時鐘偏移量來解決時鐘同步問題。但是,ToF測距方法的時間依賴于本地和遠程節點,測距精度容易受兩端節點時鐘偏移量的影響。將采用反向測量方法減少這類影響,首先通過遠程節點發送數據包,本地節點接收數據包后自動響應,隨后對正向和反向的平均值進行二次求平均運算,減少時鐘偏移量造成的測距誤差。
2.3視覺系統
機器人將選取OpenMV攝像頭采集環境圖像信息,該攝像頭具有低功耗、低成本和體積小等特點,能夠較好地實現機器視覺應用。首先對攝像頭采集到的顏色信息進行分析,能夠將任意色塊的位置、大小、中心和方向進行劃分和處理,從而通過顏色跟蹤法實現不同顏色物體的快速跟蹤。隨后結合圖像對比法,OpenMV將抓取到的圖像進行對比處理,匹配無誤后進行追蹤。與拍照式圖像采集模塊相比,OpenMV圖像采集模塊具有更高效的圖像處理速度,能夠實時對比內存中圖像的信息,實現撿球機器人的快速響應。
2.4電機驅動
電機驅動采用東芝半導體公司的TB6612FNC電機驅動芯片,該芯片集成了2個全H橋,芯片的供電電壓為2.5~13.5 V,H橋輸出的平均電流1.2 A,最大輸出電流3.2 A,芯片內置了過熱保護和低壓檢測關閉電路,PWM控制的頻率可達100 kHz[2]。
2.5收集裝置
機器人球具收集模塊主要由舵機、擋板和收集箱組成。當視覺系統識別到小球后,啟動舵機將小球推入收集箱,收集箱口設置有擋板,用于小球單向進入收集箱。指定區域內的球具拾取完成后,小球隨機器人返回至待機工作區域。
3軟件設計
3.1攝像頭初始化
對攝像頭模塊進行參數初始化,設置間隔10幀進行圖像抓取,并將當前光強度的顏色閾值和面積進行參數對比。
3.2尋球
3.2.1尋找相同顏色的乒乓球
主要采用find_blobs函數識別相同顏色的球具。首先通過設置thresholds顏色閾值定義待識別球具的顏色數值和顏色種類,隨后調用code函數,判斷返回色塊對象blob的顏色。
3.2.2特征點檢測
球具圖像的特征點檢測(find_keypoint)有2種常見的目標物體特征設置方式,分別是將初始圖像作為目標物體特征和直接設置目標物體特征。由于環境光線等原因的干擾,可能導致每次運行程序光線不同特征不同。若直接將初始圖像作為目標物體特征會降低特征點的匹配度。通過調劑曝光度、白平衡和自動的增益值,可以抑制光照差異對特征點匹配度的影響。此外,在程序運行后,例程提取最開始的圖像作為目標物體特征,隨后采用kpts1函數保存目標物體的特征,再匹配目標特征在不同尺度下的大小和角度,也能減小光照變化造成的特征點匹配誤差。
3.3驅動小車
3.3.1電機驅動和差速轉向
通過ar.run函數實現撿球機器人的移動控制,函數有2個參數:left_speed和right_speed。其中,left_speed控制左輪的速度,right_speed控制右輪的速度。輸入參數為正數,輪子向前轉動,反之向后轉動。參照物的偏移量決定機器人向左或向右偏移,若左輪向前右輪向后,則機器人向右轉動,反之向左轉動。
3.3.2 PID算法
PID解決了自動控制理論要解決的最基本問題,即系統的穩定性、快速性和準確性。調節PID的參數,可實現在系統穩定的前提下兼顧系統的帶載能力和抗擾能力,同時,在PID調節器中引入積分項,系統增加了一個零積點,使之成為一階或一階以上的系統,這樣系統階躍響應的穩態誤差就為零。
3.4回到起點
當視野中沒有小球時,小車開始自轉尋球,在一定的時間后就會返回指定的位置。
4安裝與調試
首先進行程序初始化,開啟撿球機器人,機器人進行原地周期旋轉,同時利用攝像頭采集環境圖像信息并進行圖像對比識別,獲取小球位置坐標。隨后,控制器傳輸指令至電機,驅動機器人向小球方向移動,期間結合ToF測距模塊進行機器人避障移動。最后采用扇形小球收集器拾取球具,并再次尋找相同目標。若有相同目標,則再次處理圖像對比,計算確定坐標,若無參考圖相同目標,則回到待機區域。撿球機器人如圖2所示。

5結束語
采用ToF光學測距、顏色識別、圖像形狀識別和智能避障等多種功能最終實現小球的精準識別與定位并結合舵機、電機結合算法驅動小車前行拾取小球。撿球部分是自組裝的收集裝置,當電機驅動前進時,撿球器會將乒乓球擠壓至容器內部。該設計具有成本低、體積小、行動方便、快速搜尋及拾取等優點,人們的生活更加智能化,為人們的生活提供便利,減少勞動力。
參考文獻
[1]蔡自興.21世紀機器人技術的發展趨勢[J].南京化工大學學報(自然科學版),2000(4):73-78.
[2]常華偉,王福豹,嚴國強,等.無線傳感器網絡的TOF測距方法研究[J].現代電子技術,2011,34(1):35-38.
[3]黃大志,周慶貴,陳業強.基于單片機輪式尋跡機器人控制系統的設計[J].機床與液壓, 2009,37(8):350-352.
[4]王瑋,王丹,馮培德.基于光電探測系統的地面車精確定位定向技術[J].北京航空航天大學學報,2007(8):902-905.
[5]肖南峰.智能機器人[M].廣州:華南理工大學出版社,2008.
[6]陳明熒.ATmega16單片機課程設計實訓教材[M].北京:清華大學出版社,2004.
[7]雷鋼,王宏遠.基于AVR單片機的控制系統設計[J].計算機與數字工程,2006(11):135-138.
[8]張軍.AVR單片機應用系統開發典型實例[M].北京:中國電力出版社,2005.
[9]劉崇翔.基于ARM的智能小車的設計與研究[D].無錫:江南大學,2012.
[10]彭南華.經濟型噴漆機器人軌跡規劃及關節控制研究[D].湖南:中南大學,2009.
[11]沈文.AVR單片機C語言開發入門指導[M].北京:清華大學出版社,2003.
[12] MUKHERJEE J,LANG K M,MITRA S K. Demosaicing of Images Obtained from Single-chip Imaging Sensors in Yuv Color Space[J].Pattern Recognit Lett,2004,26(7):985-997.