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