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