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