網(wǎng)球自動(dòng)回收機器人的設計*
*項目支持:廣西壯族自治區區級大學(xué)生創(chuàng )新創(chuàng )業(yè)計劃,項目編號:202010595223
本文引用地址:http://dyxdggzs.com/article/202210/439440.htm近年來(lái)隨著(zhù)人工智能技術(shù)的迅速發(fā)展與不斷提高,服務(wù)型機器人已經(jīng)開(kāi)始在生活中廣泛應用。迎賓機器人、掃地機器人、家教機器人等一系列服務(wù)型機器人已經(jīng)在生活實(shí)踐中取得了巨大成功。因此,人工智能技術(shù)與運動(dòng)相互結合, 既滿(mǎn)足了現代智慧城市的規劃,又能使人們的生活變得更加便利。網(wǎng)球運動(dòng)是一項優(yōu)美而充滿(mǎn)競技性的體育運動(dòng),其特有的魅力讓世人喜愛(ài)。網(wǎng)球和高爾夫球一起享有“貴族運動(dòng)”之稱(chēng)。在網(wǎng)球訓練時(shí),訓練完成的場(chǎng)地內有大量網(wǎng)球需要進(jìn)行回收以便于訓練使用以及場(chǎng)地的清潔,而且不被及時(shí)回收的地面上的網(wǎng)球還有可能被人不小心踩踏而發(fā)生滑倒。
網(wǎng)球回收裝置作為網(wǎng)球訓練中經(jīng)常使用到的工具,方便人們進(jìn)行網(wǎng)球的回收。目前,市面上的網(wǎng)球回收機器裝置相對較少,而且大部分都是手動(dòng)的網(wǎng)球回收裝置,本項目設計了一款網(wǎng)球自動(dòng)回收機器人,可以通過(guò)攝像頭對網(wǎng)球進(jìn)行檢測、定位以實(shí)現自動(dòng)移動(dòng)回收網(wǎng)球的功能,無(wú)需人工操控,具有回收效率高、方便快捷等優(yōu)點(diǎn)。
1 設計思路
結合本項目的開(kāi)發(fā)需求,畫(huà)出了該機器人的原理框圖,如圖1 所示。本項目采用了模塊化、一體化的設計思想,架構靈活、聯(lián)合性高,能較大幅度地縮減電路板的體積。其中OpenMV 攝像頭模塊用于實(shí)時(shí)采集場(chǎng)地畫(huà)面圖像信息,完成對網(wǎng)球的識別定位,并通過(guò)串口將相關(guān)信息傳輸給嵌入式主控板。嵌入式主控板在接收到來(lái)自OpenMV 的信息后,將位置信息轉化成運動(dòng)軌跡,通過(guò)TB6612 電機驅動(dòng)芯片驅動(dòng)減速電機, 結合位置式PID 算法精確控制運動(dòng)。執行機構為用于網(wǎng)球回收的滾輪,由兩路減速電機負責推動(dòng)。四路超聲波主要用于規避障礙,分別安裝在左前方、右前方、左后方和右后方,在遇到障礙時(shí)阻止機器人繼續行進(jìn)?;魻杺鞲衅鲗㈦姍C的轉速通過(guò)A、B 相的形式反饋給主控,主控使用兩個(gè)硬件正交編碼器進(jìn)行解碼,從而得到電機的轉速,形成閉環(huán)電機控制系統。使用自制手機APP 可以通過(guò)藍牙模塊對機器人進(jìn)行手動(dòng)控制。供電電源采用航模電池,安全性能良好、容量大、體積小,能很好地保證機器人的正常運行。
圖 1系統框圖
2 方案選擇
本機器人嵌入式主控芯片采用STM32F429ZGT6,該芯片是一款基于A(yíng)RM Cortex-M4 內核的高性能微控制器,帶有180 MHz CPU,內部帶有DSP、FPU 和正交編碼器等資源。
網(wǎng)球的識別定位通過(guò)攝像頭采集圖像信息實(shí)現,一般的攝像頭僅能進(jìn)行圖像的采集,無(wú)法對圖像進(jìn)行處理,OpenMV 是一款開(kāi)源嵌入式視覺(jué)處理模塊,可以輕松完成機器視覺(jué)應用,可通過(guò)Python 腳本語(yǔ)言進(jìn)行開(kāi)發(fā)。OpenMV 搭載有STM32H743II ARM Cortex M7處理器, 其系統頻率高達480 MHz, 擁有1 MBRAM,2 MB fl ash 閃存。OpenMV 模塊默認攝像頭配置為OV5640 感光元件處理2 592×1 944(5MP) 圖像,在QVGA(320×240) 及以下分辨率時(shí)大多數簡(jiǎn)單算法可運行25~50 FPS。經(jīng)過(guò)多方面考慮我們最終選擇OpenMV作為視覺(jué)模塊以定位網(wǎng)球與車(chē)身。
避障模塊使用的是超聲波模塊,使用超聲波進(jìn)行測距,測量精度最小可以達到2 mm,測量范圍0.02~4 m,能夠滿(mǎn)足使用需求。避障模塊通過(guò)計算機器人與物體之間的距離進(jìn)行避障。
使用減速電機作為小車(chē)動(dòng)力,通過(guò)讀取霍爾傳感器獲得反饋進(jìn)行PID 控制,以保證車(chē)輪轉速的穩定,通過(guò)左右兩電機的差速產(chǎn)生扭矩以實(shí)現轉向功能。為了防止出現意外,在小車(chē)周?chē)褂盟穆烦暡ㄟM(jìn)行避障,以免發(fā)生撞車(chē)事故。
藍牙模塊采用HC-05 藍牙模塊,HC-05 是一款高性能主從一體藍牙串口模塊,可以手機配對,該模塊支持非常寬的波特率范圍:4 800~1 382 400,可以很方便與單片機進(jìn)行連接,使用非常靈活、方便。
采用航模電池進(jìn)行供電,電機驅動(dòng)電源由電池提供,主控供電使用DC-DC 降壓芯片tps5430 將電池電壓轉換為5 V 輸出,再由線(xiàn)性ldo 芯片AMS1117 轉換提供3.3 V。
回收機械結構常見(jiàn)為采用垂直壓力和滾動(dòng)壓力兩種,結合本裝置的驅動(dòng)特點(diǎn)使用滾動(dòng)壓力的傳統網(wǎng)球回收輪進(jìn)行改造,依靠滾動(dòng)壓力與摩擦力將網(wǎng)球壓入輪內,以達到回收網(wǎng)球的功能。
3 方案實(shí)施
3.1 主程序流程
如圖2 所示,該機器人由主控、攝像頭、驅動(dòng)電機、藍牙模塊、超聲波避障模塊和回收機械裝置組成。
圖2 網(wǎng)球自動(dòng)回收機器人模型
圖3 是主程序流程圖。機器人開(kāi)啟后,先會(huì )對視野前方進(jìn)行網(wǎng)球識別,如果識別到單個(gè)網(wǎng)球,就將網(wǎng)球坐標與視野中心差值進(jìn)行PID 計算,控制PWM 驅動(dòng)電機進(jìn)行移動(dòng)進(jìn)而對網(wǎng)球進(jìn)行回收。當視野中有多個(gè)網(wǎng)球時(shí)進(jìn)行多目標過(guò)濾優(yōu)先回收距離最近的網(wǎng)球,當正前方視野沒(méi)有網(wǎng)球后將緩慢旋轉一圈檢查場(chǎng)地,如果識別到網(wǎng)球將繼續進(jìn)行回收,沒(méi)有檢測到網(wǎng)球則將進(jìn)入休眠模式,通過(guò)藍牙可以進(jìn)行手動(dòng)控制。
圖3 主程序流程圖
3.2 網(wǎng)球識別及多目標過(guò)濾與接近識別
通過(guò)攝像頭拍攝實(shí)時(shí)畫(huà)面,進(jìn)行網(wǎng)球識別、多目標過(guò)濾、多目標接近識別。
攝像頭并非垂直對地面進(jìn)行俯拍,是以一定角度對地面進(jìn)行圖像采集,如此會(huì )導致地面圖像的投影在攝像頭中發(fā)生梯形畸變,要進(jìn)行梯形透視變換。梯形透視變換是將圖片投影到一個(gè)新的視平面,是3D世界轉換到2D圖像的一種方式。通用的變換公式為:
透視變換的數學(xué)表達式為:
所以,給定透視變換對應的四對像素點(diǎn)坐標,即原圖的坐標和變換后的坐標,聯(lián)立公式可求得透視變換矩陣;反之,給定透視變換矩陣,即可對圖像或像素點(diǎn)坐標完成透視變換。
攝像頭拍攝的圖片作為圖像數據來(lái)源,影響著(zhù)后續各個(gè)處理步驟。因此要完成拍攝物體空間點(diǎn)到照片成像點(diǎn)之間的幾何變換。即從世界坐標系的三維坐標轉化到圖像二維坐標中,從而獲得所需要的參數。世界坐標系通過(guò)剛體變換和平移轉換到相機坐標系,相機坐標系通過(guò)透視投影轉換到圖像像素坐標系,圖像坐標系再轉換成像素坐標系。坐標系間轉換如圖4 所示。
圖4 坐標系間轉換圖
式(3)為像素坐標與世界坐標的變換公式,右側第一個(gè)矩陣為相機內參數矩陣,第二個(gè)矩陣為相機外參數矩陣。
網(wǎng)球識別使用OpenMV 的IDE 的閾值選擇工具,先對網(wǎng)球的顏色閾值進(jìn)行獲取,采用了Python 進(jìn)行編程。圖像框內在網(wǎng)球顏色閾值內的圓形目標標記外接矩形框,并將圓形目標中點(diǎn)與畫(huà)面中點(diǎn)的差值供給控制MCU。
當視野中出現兩個(gè)及以上網(wǎng)球時(shí),要對網(wǎng)球進(jìn)行多目標過(guò)濾和多目標接近識別。找到輪廓后,將輪廓面積即小球在視野面積按從大到小排序,投影面積越大說(shuō)明小球與機器人之間的距離越近,優(yōu)先回收距離近的網(wǎng)球。
3.3 基于電機驅動(dòng)的滾動(dòng)下壓式回收裝置設計
網(wǎng)球的回收由兩個(gè)電機驅動(dòng)回收機械裝置滾動(dòng)前進(jìn)產(chǎn)生的滾動(dòng)壓力以及摩擦力實(shí)現。
為了實(shí)現對網(wǎng)球的準確、快速回收,主控芯片采用PID算法對I/O口輸出的PWM波進(jìn)行調制,主控芯片根據網(wǎng)球坐標與視野中心坐標的差值,進(jìn)行PID控制器的計算,計算出最佳的PWM 占空比。通過(guò)設置定時(shí)器中斷參數產(chǎn)生相同占空比的PWM 波對電機進(jìn)行轉速控制,通過(guò)對兩個(gè)電機的轉速差以及轉向調節可以實(shí)現裝置的前進(jìn)、后退以及旋轉。通過(guò)藍牙可以使用手機對機器人進(jìn)行手動(dòng)控制移動(dòng)。
4 調試與測試
在調試與測試過(guò)程中,發(fā)現最初采用亞克力搭建的連接結構薄弱,較容易形變。實(shí)際測試中,由于長(cháng)時(shí)間使用,導致變形嚴重。所以,連接結構使用樹(shù)脂材質(zhì)進(jìn)行重新打印。而且雙輪驅動(dòng)由于回收機械裝置整體較大,旋轉并不流暢,最好使用履帶輪。PID 控制器的參數需要進(jìn)行多次調整和測試才能達到較好的回收效果,積分I 的作用是消除靜態(tài)誤差,但是I 的存在可能會(huì )引起系統的震蕩。實(shí)際中只使用了PD 調節,調節偏差快速變化時(shí)使調解量在最短的時(shí)間內得到強化調節,增大比例系數P,將加快系統的響應。但是過(guò)大的比例系數會(huì )使系統有較大的超調,并產(chǎn)生振蕩,導致機器人抖動(dòng)劇烈。
5 結語(yǔ)
本項目基于STM32 單片機和OpenMV 實(shí)現了網(wǎng)球的自動(dòng)回收功能。經(jīng)過(guò)測試,該機器人能夠在網(wǎng)球場(chǎng)進(jìn)行地面網(wǎng)球的回收,最終實(shí)物圖如圖5 所示。結合傳統網(wǎng)球回收機械結構與機器人技術(shù)進(jìn)行了創(chuàng )新設計,本系統運行高效穩定,具有很強的實(shí)用性。未來(lái)是機器人的時(shí)代,機器人將會(huì )更具獨立性、更加高效、更加智能,然而我們也將在機器人發(fā)展道路上進(jìn)行更加深入、更加廣闊的研究,力求為科技進(jìn)步和發(fā)展作出貢獻。
圖5 網(wǎng)球自動(dòng)回收機器人實(shí)物圖
參考文獻:
[1] 周莉萍,李召.機 械結構設計技術(shù)與流程[J].工業(yè)機器人機械系統,2022,71(01):122.
[2] 韋德泉,許桂秋. Python編程基礎與應用[M].北京:人民郵電出版社,2019.
[3] 廖義奎.Cor tex-M3之STM32嵌入式系統設計[M].北京:中國電力出版社,2012.
[4] 劉火良,楊森.單 片機與嵌入式:STM32庫開(kāi)發(fā)實(shí)戰指南[M].北京:機械工業(yè)出版社,2013.
[5] 張宇成,王潮涌.基于STM32和OpenMV的圖形識別與測量系統[J].電子測試,2021(15):43-46.
[6] 高宏偉.計算機雙目立體視覺(jué)[M].北京:電子工業(yè)出版社,2012.
(本文來(lái)源于《電子產(chǎn)品世界》雜志社2022年10月期)
評論