毛福新,閆光輝,2,陳俏銳,項 波
(1.天津職業(yè)技術(shù)師范大學(xué)工程實訓(xùn)中心,天津 300222;2.天津市綠安智科技有限公司,天津 300350)
根據(jù)2021年中國大學(xué)生工程實踐與創(chuàng)新能力大賽中的“智能+”賽道——智能物流搬運賽項,以智能制造的現(xiàn)實和未來發(fā)展為主題,自主設(shè)計并制作了一臺按照給定任務(wù)完成物料搬運的智能機器人(以下簡稱機器人)[1]。該機器人主要任務(wù)是在地面圖案為黑色方格組成的正方形平面場地內(nèi),機器人從出發(fā)區(qū)開始,經(jīng)過原料區(qū)識別物料顏色后,將物料按順序搬運至粗加工區(qū)對應(yīng)的色環(huán)內(nèi),再搬運到半成品區(qū)對應(yīng)色環(huán)內(nèi)碼垛,最后停止在返回區(qū)。為實現(xiàn)上述任務(wù),研究小組查閱了相關(guān)的文獻(xiàn),文獻(xiàn)[2-3]中提出了機器人底盤車輪的2種安裝方式,分別為由4個全向輪和3個麥克納姆輪組成。全向輪組成的底盤與地面接觸少,其旋轉(zhuǎn)軸與地面往往會存在距離波動,效率不高,容易出現(xiàn)打滑現(xiàn)象;3個麥克納姆輪組成的底盤通常為圓形,難以實現(xiàn)高精度移動控制。文獻(xiàn)[4-5]中提出了機器人機械臂的設(shè)計方案,分別為平行四邊形連桿和U型架拼裝結(jié)構(gòu):平行四邊形連桿結(jié)構(gòu)運動累計誤差較大,影響傳動精度,且自由度較差;U型架拼裝結(jié)構(gòu)安裝間隙疊加,重復(fù)精度非常不牢靠。文獻(xiàn)[6]中提出循跡模塊使用T型排布方案,而競賽中循跡黑線寬度(有效檢測范圍)為20 mm,若因機械臂運動慣性導(dǎo)致機器人位置發(fā)生偏移,則T型排布方案會影響放置的精確度。文獻(xiàn)[7-8]中提出使用動態(tài)閾值的方法判斷循跡黑線,該方法穩(wěn)定性高,但開關(guān)量無法量化循跡精度,依然存在微量的誤差。文獻(xiàn)[9-14]中提出利用OpenMV的圖像濾波、閾值、局部特征等算法對攝像頭采集的圖像進(jìn)行處理,但該算法過于復(fù)雜,且處理結(jié)果易受設(shè)備更換和外部環(huán)境變化影響,識別準(zhǔn)確率不高。分析上述文獻(xiàn)設(shè)計的優(yōu)缺點,同時結(jié)合天津賽區(qū)選拔賽的結(jié)果,分析出機器人的失分點集中在物料顏色識別、循跡穩(wěn)定程度、位置精確定位、機械臂結(jié)構(gòu)設(shè)計4個方面。因此,本文提出機器人底盤車輪的麥克納姆輪安裝方式為“O-長方形安裝”,對智能機器人進(jìn)行了系統(tǒng)優(yōu)化。
機器人結(jié)構(gòu)示意圖如圖1所示。
圖1 機器人結(jié)構(gòu)示意圖
為提高機器人移動的靈活性,使用基于麥克納姆輪組成的全向底盤。采用共軸雙板連接器連接前部底盤和后部底盤,在前部底盤的左右兩側(cè)以及后部底盤的左右兩側(cè)均安裝麥克納姆輪;在前部底盤的前部邊緣、后部底盤的左右兩側(cè)邊緣及后部邊緣均安裝循跡傳感器;在后部底盤的中部安裝回轉(zhuǎn)機械云臺,在回轉(zhuǎn)機械云臺上安裝機械臂,在機械臂的前部安裝機械爪;在后部底盤上通過支撐立柱安裝上底盤,在上底盤上安裝多個用于放置物料的物料托盤。在后部底盤上還安裝攝像組件、激光測距組件以及控制主板等硬件電路,使機器人具備自主感知和行為規(guī)劃功能,從而可以更好地完成任務(wù)。
“手臂型”機械臂的任務(wù)是完成物料的抓取和放置,如果機械臂太短則無法完成指定位置物料的抓取或者放置,但機械臂也不宜過長,因為機械臂長度與機械臂行程時間、末端誤差呈正比關(guān)系。綜上因素,機械臂2節(jié)長度的設(shè)計需經(jīng)過合理計算,具體長度計算分析過程如下。
(1)機械臂第1節(jié)長度的計算。根據(jù)競賽要求,選取機械臂實際達(dá)到的最遠(yuǎn)距離并測量,測量的各項參數(shù)如圖2所示。
圖2 機械臂長度理論分析圖
圖2中,D和H為機器人放置物料后影響機械臂活動的長和寬范圍(可測量),故將放置物料后的尺寸定為模型參數(shù),利用由D、H和L1′組成的直角三角形,可確定機械臂第1節(jié)最短長度L1′。機器人運行過程中,為避免因物料或者機械臂晃動而造成物料與機械臂的碰撞,將長度增加了14 mm,確定機械臂第1節(jié)真實長度為L1=L1′+14 mm。
(2)機械臂第2節(jié)長度的計算。將機械臂第1節(jié)從A點延伸與經(jīng)過B點的水平線相交,圖2中L2、L1+L3和D1+D2組成三角形關(guān)系。然后,得到圖2中由D、H和L1′組成的三角形與由D2+D、H+H1和L3+L1′組成的三角形為相似三角形,其關(guān)系式為
式中:H1、H和D已知,求得輔助三角形(D2、H1和L3)水平邊長D2。
在輔助三角形兩直角邊(D2、H1)均已知的情況下,使用反三角函數(shù)中的反正切函數(shù),得出輔助三角形中直角邊D2與斜邊L3的夾角θ,其表達(dá)式為
圖2中,由L2、L1+L3和D1+D2組成的三角形,在已知兩邊(L1+L3、D1+D2)及夾角θ的情況下,由式(3)求得機械臂第2節(jié)長度L2為
循跡傳感器是全場定位的基礎(chǔ),間接決定物料放置的精準(zhǔn)程度,這也是競賽中重要考核指標(biāo)。場地設(shè)在只有日光燈照射的室內(nèi),無陽光直射,也無其他相近波長光源的干擾,且循跡色差較大(黑色和黃色),因此選擇抗日光燈光線較強的紅外傳感器。賽題中給定的循跡黑線線寬為20 mm,為保證循跡的精度,本設(shè)計將每對傳感器水平間距設(shè)置為10 mm。單側(cè)循跡傳感器分布示意如圖3所示,循跡方法誤差示意如圖4所示。
圖3 單側(cè)循跡傳感器分布示意圖
圖4 循跡方法誤差示意圖
根據(jù)比賽場地及競賽任務(wù),制定軟件控制系統(tǒng)和控制策略,列出機器人程序運行流程如圖5所示。
圖5 程序運行流程圖
2.1.1 傳感器數(shù)值歸一化
紅外傳感器輸出的模擬量會隨著被反射回來光線的強弱而變化,單片機根據(jù)變化趨勢調(diào)整循跡的方向。機器人經(jīng)過循跡黑線時模擬量值約為2 100,在非黑線區(qū)域模擬量值約為130,故黑線可以被檢測。但隨著環(huán)境的更換,機器人檢測到的模擬量值也會發(fā)生變化。為解決該問題,機器人更換環(huán)境后需要采集新環(huán)境下的紅外傳感器返回值,得到傳感器的最大值(ADmax)和最小值(ADmin),方便程序進(jìn)行下一步的歸一化處理。
歸一化就是把采集的數(shù)據(jù)經(jīng)過處理后,使數(shù)據(jù)限制在一定范圍內(nèi),其目的是方便后續(xù)數(shù)據(jù)的處理及保證數(shù)據(jù)的收斂。為方便程序的量化,歸一化后的數(shù)值范圍設(shè)定為0~100,具體歸一化公式為
式中:AD為當(dāng)前采集模擬量的返回值。
2.1.2 傳感器檢測算法
根據(jù)紅外傳感器越靠近黑色值越高的理論來假設(shè)傳感器的數(shù)據(jù),傳感器偏移位置示意圖如圖6所示。
圖6 傳感器偏移位置示意圖
圖6中,4號和6號傳感器在不同位置時的反饋值規(guī)律為:一個增大的同時,另一個減小,說明二者呈負(fù)相關(guān)關(guān)系。根據(jù)負(fù)相關(guān)關(guān)系的數(shù)學(xué)特性,計算傳感器的線性偏移系數(shù)
式中:left、right分別為圖6中4號和6號傳感器的歸一化值。
根據(jù)圖6中4號和6號傳感器的位置,采集反饋值,然后計算傳感器偏移系數(shù),具體數(shù)據(jù)如表1所示。
表1 傳感器偏移系數(shù)與偏移位置的關(guān)系
表1表明:通過計算數(shù)值符號,可判斷傳感器在循跡黑線的左側(cè)還是右側(cè);傳感器距離循跡黑線的距離越近,差比和計算的絕對值越小,因此數(shù)值大小表示偏移循跡黑線的程度(物理樣機中該數(shù)值表示舵機偏轉(zhuǎn)的系數(shù))。在歸一化范圍內(nèi)傳感器偏移循跡黑線越遠(yuǎn),計算出來的值越大,經(jīng)過單片機控制車輪方向,使機器人一直沿著循跡黑線前進(jìn)。
(1)雙重計算,防止丟線。在機器人四周均安裝循跡傳感器,使用前后方向的傳感器雙重計算經(jīng)過黑色方格的數(shù)量,提高機器人的適應(yīng)能力,保證一方向檢測失誤的情況下,另一方向能夠彌補。
(2)時間限制,防止多線。機器人行駛過程中,有可能遇到顛簸路段或者相近波長光源干擾等情況,為減少不良環(huán)境的影響,采用時間限制的手段,避免黑色方格數(shù)量重復(fù)計算。時間限制示意圖如圖7所示。圖中:位置A點為機器人通過黑色方格后瞬間點;位置B點為機器人傳感器使能時間點;位置C點為機器人檢測到黑色方格內(nèi)邊緣;T為機器人通過黑色方格的時間。
圖7 時間限制示意圖
實施過程為:首先檢測位置A點的機器人速度,記為S;大約計算出機器人通過黑色方格的時間T=W/S,W為黑色方格內(nèi)邊緣的寬度;通過時間限制,對傳遞函數(shù)f(t)值適當(dāng)?shù)厝∩?,可防止誤檢測數(shù)據(jù)參與計算,時間閾值設(shè)置為2T/3,表達(dá)式為
式中:OUT為所有傳感器數(shù)據(jù)歸一化后輸出的實時狀態(tài)。
到下一個位置A點出現(xiàn)后,重復(fù)實施過程,循環(huán)完成剩余任務(wù)。
(3)目標(biāo)位置,手動示教。經(jīng)過步驟計算后,機器人達(dá)到目標(biāo)位置,根據(jù)傳感器的反饋再由電機的電流環(huán)PID參數(shù)調(diào)整,實現(xiàn)定位誤差在±1 mm以內(nèi)。機器人自動定位校準(zhǔn)完成后,接下來進(jìn)行手動位置示教,即外接遙控器由人工操作引導(dǎo)機械臂末端執(zhí)行器來使機器人完成特定的預(yù)期動作,而機器人將示教操作存儲起來[15]。全部示教完成后,機器人可在自動運行過程中根據(jù)記憶重復(fù)再現(xiàn)示教操作。
競賽要求機器人移動到原料區(qū)識別物料顏色,其中原料區(qū)的上層及下層分別包含紅、綠、藍(lán)物料各1個,共計6個物料。為節(jié)約時間,提高機器人執(zhí)行任務(wù)的效率,采用定點一次性識別6個物料的方式。
2.3.1 多物料標(biāo)定方法
定點識別位置與原料區(qū)物料位置距離確定,利用簡單的小孔成像原理,攝像頭成像面坐標(biāo)系到攝像頭坐標(biāo)系的標(biāo)定表達(dá)式為
式中:fw、fh分別為攝像頭寬和高的像素分辨率;Dx、Dy分別為攝像頭成像面中物料距起點的水平和垂直距離;H1、H2分別為攝像頭成像面中物料的高度和成像面的總高度;W1、W2分別為攝像頭成像面中物料的寬度和成像面的總寬度,以上參數(shù)均為已知項。
分別計算出6個物料映射到攝像頭鏡頭內(nèi)的像素點區(qū)域起點坐標(biāo)(x,y)、寬度w以及高度值h。
2.3.2 顏色識別方法
物料對應(yīng)的RGB原色組合值為紅(255,0,0)、綠(0,255,0)、藍(lán)(0,0,255)。通過RGB原色組合值分別得出紅、綠、藍(lán)分量最大值。識別的物料顏色僅有紅、綠、藍(lán)三色,依此推測:若RGB原色組合值中某一個分量值最大,則該組合顏色是接近原色的色相。該方法稱為最大值鄰近法。
由于單個像素點信息易受光線或者更換設(shè)備的影響,從而造成識別錯誤,因此要增大判斷的像素范圍,也就是優(yōu)化識別方法:將識別范圍從點提高成面,但面的范圍必須為物料的映射區(qū)域內(nèi)(映射區(qū)域見式(7))。將標(biāo)定范圍內(nèi)的多個像素點原色分量值分別求和,再比較,然后根據(jù)最大值鄰近法判斷出所識別物料的顏色。優(yōu)化后的方法,一方面可避免單個像素點異常引起的識別錯誤,進(jìn)一步提高顏色識別準(zhǔn)確率;另一方面有效規(guī)避因光線變化和設(shè)備更換所帶來的識別干擾,且不需要白平衡。最大值鄰近法的使用具有一定的局限性,適合于識別顏色種類少且顏色色差較大的物料。如果物料的顏色種類較多且顏色色差接近,則不能使用該方法。
開機后測試機器人在初始位置偏移中心的距離不同時,行駛330 cm過程中黑線垂直上方傳感器序號隨時間變化的數(shù)據(jù)(傳感器器序號分布見圖3)。利用傳感器開關(guān)量算法進(jìn)行測試,測試結(jié)果如圖8所示。優(yōu)化程序采用傳感器差比和算法進(jìn)行測試,傳感器差比和算法測試結(jié)果如圖9所示。
圖8 傳感器開關(guān)量算法測試結(jié)果
圖9 傳感器差比和算法測試結(jié)果
圖8和圖9橫坐標(biāo)的時間步進(jìn)值為8 ms/格。從圖8和圖9可以看出,圖8中傳感器序號在4、5、6間震蕩比較嚴(yán)重,且臨近目標(biāo)點位置時,機器人減速狀態(tài)下震蕩仍在持續(xù),這不利于機器人的精確定位;圖9中傳感器序號在4、5、6間震蕩頻率明顯降低,臨近目標(biāo)點位置時,機器人減速狀態(tài)下震蕩消失,循跡移動定位誤差達(dá)到±1 mm。
開機后將機器人放置于黑色方格的十字交叉點處,通過觀察數(shù)據(jù)驗證全場定位方法的應(yīng)用效果。圖10為機器人通過6個黑色方格的相關(guān)數(shù)據(jù)。
圖10中橫坐標(biāo)時間步進(jìn)值為8 ms,0為檢測到黑線,1為未檢測到黑線。
圖10中,A點(94,1)到B點(136,1)為數(shù)據(jù)禁用時間t,且全部在有效區(qū)間內(nèi);A點到D點(160,1)為前排傳感器完成一個周期的時間T,由此得出t與T的占比關(guān)系K為
圖10 全場定位方法測試結(jié)果圖
式(8)結(jié)果驗證了式(6)的算法思路是正確的。
開機后機器人自動行駛到物料識別位置后停止,通過OpenMV讀取綠色物料標(biāo)定區(qū)域內(nèi)的30×30像素點內(nèi)所有原色分量值,如圖11所示。
從圖11可知,綠色原色分量值最大;隨著像素點位置變化導(dǎo)致光線不均勻的情況下,各原色分量值均約為周期性變化,且原色G(綠色)分量值仍然為最高,僅僅是RGB原色分量值之間差值發(fā)生變化;說明光線的變化未對識別結(jié)果有影響。為證明該方法的穩(wěn)定性,分別采集紅、綠、藍(lán)物料標(biāo)定區(qū)域內(nèi)多種像素點范圍的各原色分量值,為使數(shù)據(jù)的呈現(xiàn)形式更容易解讀,取對應(yīng)各原色分量值的平均值列表,紅、綠、藍(lán)物料標(biāo)定區(qū)域內(nèi)多種像素點范圍RGB分量平均值如表2所示。
圖11 30×30像素區(qū)域內(nèi)綠色物料RGB分量值
從表2可知,在紅色物料情況下,雖然區(qū)域編號不同,但每個區(qū)域編號中R分量值始終是最高值,該結(jié)論同樣適用于綠色物料和藍(lán)色物料情況下;標(biāo)定區(qū)域內(nèi)隨著像素點范圍的增大,原色分量的最大值也隨之增加。
表2 紅、綠、藍(lán)物料標(biāo)定區(qū)域內(nèi)多種像素點范圍RGB分量平均值
本研究設(shè)計的物理樣機實驗測試數(shù)據(jù)的重復(fù)性相似度高,2021年中國大學(xué)生工程實踐與創(chuàng)新能力大賽(教育部A類競賽)冠軍團(tuán)隊針對物流車存在的問題,提出了新的有效的解決方案,如利用幾何觀點推理機械臂的臂展長度、布局傳感器位置、使用差比和量化循跡精度、利用多種反饋保障全場定位的準(zhǔn)確性以及采用小孔成像+最大值鄰近法對顏色進(jìn)行識別等,使機器人運行及控制精度指標(biāo)得到一定程度的改善。但實際應(yīng)用過程中仍存在一些問題,如顏色識別方法易受場景限制,通用性不足;因循跡模塊的硬件設(shè)計問題,循跡精度提高難度大,可將循跡模塊更換為線陣CCD。在“中國制造2025”國家戰(zhàn)略背景下,智能物流機器人正處于技術(shù)迭代完善的過程中,本設(shè)計方案旨在為未來智能物流機器人設(shè)計提供參考。