余杰先,張中華,陳凌玲,李久林,溫舒然
(珠海格力智能裝備有限公司,廣東珠海 519000)
隨著工業(yè)自動化技術(shù)的不斷發(fā)展,產(chǎn)業(yè)也不斷升級換代,傳統(tǒng)生產(chǎn)線上的人工上下料作業(yè)方式已經(jīng)逐漸被機器人自動上下料的方式所取代[1-3]。伴隨著人們的物質(zhì)需求多樣化,產(chǎn)品的樣式和生產(chǎn)方式也變得多樣化,這樣就對自動化生產(chǎn)線的柔性提出了更高的要求[4-8]。柔性自動化生產(chǎn)線是一個復(fù)雜的多組成大系統(tǒng),由多個工序環(huán)節(jié),多種設(shè)備組成。
自動化生產(chǎn)線中的上下料工序,是一道非常重要的工序,實現(xiàn)生產(chǎn)線和外界的交互,同時也起到銜接各個工序之間產(chǎn)品移動的作用[9-13]。在自動化生產(chǎn)線的工序之間以及多條生產(chǎn)線之間的高效并協(xié)作的自動上下料技術(shù),已然成為自動化生產(chǎn)線中的關(guān)鍵技術(shù)之一[14-17]。所以,研究生產(chǎn)線自動上下料技術(shù),升級換代傳統(tǒng)人工上下料工序,對改善勞動環(huán)境、提高生產(chǎn)效率、解決企業(yè)生產(chǎn)過程中的不足具有極大的現(xiàn)實價值。然而,在自動化生產(chǎn)線實際應(yīng)用中,對產(chǎn)品以及夾具的定位成為提高上下料工序效率、準(zhǔn)確度、穩(wěn)定性的瓶頸。特別是采用視覺定位的方法,上述問題尤為提出,因此亟須解決自動上下料工序中計算機視覺定位的問題[18-21]。
針對上述情況,本文提出一種采用移動機器人(AGV+協(xié)作機器人)配合視覺識別和深度學(xué)習(xí)等策略的方法,該方法應(yīng)用在自動化生產(chǎn)線上下料工序中可以有效改善上述問題。經(jīng)實踐證明,該方法可以顯著提升產(chǎn)品質(zhì)量穩(wěn)定性以及生產(chǎn)效率。
生產(chǎn)線系統(tǒng)的整體組成包括以下5 個部分:(1) 多條自動化生產(chǎn)線是主要的生產(chǎn)設(shè)備,負(fù)責(zé)進(jìn)行產(chǎn)品加工操作;(2)AGV(自動導(dǎo)引小車)在產(chǎn)品線的不同上下料工位之間以及不同生產(chǎn)線運輸零件,協(xié)助生產(chǎn)流程的進(jìn)行;(3)協(xié)作機器人可以單獨或與工作人員一起工作,執(zhí)行一些特定的任務(wù),提高生產(chǎn)效率;(4)產(chǎn)品檢測臺負(fù)責(zé)產(chǎn)品的質(zhì)量檢查,確保產(chǎn)品質(zhì)量符合要求;(5)自動化倉庫負(fù)責(zé)存儲原材料、半成品和成品,提高存儲和檢索的效率和精度。此系統(tǒng)通過自動化和智能化技術(shù)提高了生產(chǎn)效率和質(zhì)量,降低了人工成本,是現(xiàn)代制造業(yè)自動化的重要組成部分。
核心設(shè)備由3 部分組成,如圖1 所示,分別為:(1)生產(chǎn)線,這是系統(tǒng)的核心部分,負(fù)責(zé)進(jìn)行主要的生產(chǎn)工作,這些生產(chǎn)線可以獨立運行,也可以多條生產(chǎn)線進(jìn)行協(xié)同運行;(2)AGV(自動導(dǎo)引小車),AGV 用于在同一產(chǎn)線不同工位之間或不同產(chǎn)線之間進(jìn)行運輸工件,以及從倉庫中提取和送回原材料和工具(圖2),能夠自主導(dǎo)航,減少人為干預(yù),提高生產(chǎn)效率;(3)協(xié)作機器人,安裝在AGV 上面,可以與工作人員一起在生產(chǎn)環(huán)境中工作,可以執(zhí)行一些重復(fù)、危險或繁瑣的任務(wù),例如裝載和卸載物件、進(jìn)行質(zhì)量檢測等。
圖1 協(xié)作機器人及AGV
圖2 夾具在生產(chǎn)線作業(yè)位置
輔助設(shè)備由兩部分組成,分別是:(1)產(chǎn)品檢測臺,用于對生產(chǎn)出的產(chǎn)品進(jìn)行質(zhì)量檢查,可能包括一系列傳感器和測試設(shè)備,用于檢查產(chǎn)品的尺寸、形狀、材料等特性;(2)自動化倉庫,用于存儲原材料、半成品和成品,如圖3 所示。自動化倉庫使得物品的存取更加高效和精確,其通過自動化的機械系統(tǒng)和計算機管理系統(tǒng),可以快速地存儲和檢索物品。
圖3 夾具在自動化倉庫出入口工位
下面主要介紹生產(chǎn)線上下料工位的取放流程和整體的工作流程,本文的重點在于生產(chǎn)線上下料工序流程的坐標(biāo)變換方法,上下料工位的取放流程和整體的工作流程是生產(chǎn)線操作中的重要環(huán)節(jié),了解這些流程可以幫助更好地掌握上下料操作技巧和操作流程,提高上下料操作效率和質(zhì)量。
上下料工位的取放流程如下:(1)根據(jù)工件的尺寸和位置,確定工件在機床坐標(biāo)系中的位置(圖2);(2)根據(jù)工件的形狀和尺寸,選擇適當(dāng)?shù)膴A具和工具進(jìn)行工件的裝夾和取放;(3)根據(jù)生產(chǎn)線的型號和規(guī)格,確定生產(chǎn)線的坐標(biāo)系,并將工件坐標(biāo)系與生產(chǎn)線坐標(biāo)系進(jìn)行轉(zhuǎn)換;(4)根據(jù)工件的加工要求和生產(chǎn)線的操作規(guī)程,編寫加工程序,并將程序輸入到數(shù)控系統(tǒng)中;(5)根據(jù)程序的要求,對生產(chǎn)線進(jìn)行調(diào)試,確保程序的正確性和可靠性;(6)根據(jù)程序的要求,運行程序,控制生產(chǎn)線的運行,完成產(chǎn)品的加工;(7)對加工完成的工件進(jìn)行檢驗,確保工件的精度和質(zhì)量符合要求(圖3)。
生產(chǎn)線上下料整體的工作流程如下:(1)打開數(shù)控系統(tǒng),啟動程序,控制生產(chǎn)線的運行;(2)將工件放置在夾具上,調(diào)整夾具的位置和姿態(tài),確保工件的位置和姿態(tài)正確;(3)根據(jù)程序的要求,控制生產(chǎn)線的運行,完成工件的加工;(4)對加工完成的工件進(jìn)行檢驗,確保工件的精度和質(zhì)量符合要求;(5)清理工位和工作場所的雜物,確保生產(chǎn)線和工作環(huán)境的安全和衛(wèi)生;(6)對生產(chǎn)線各組成設(shè)備進(jìn)行維護(hù)保養(yǎng),確保生產(chǎn)線的性能和可靠性。
在自動上下料操作中,坐標(biāo)變換方法是非常重要的。坐標(biāo)變換方法包括平移變換和旋轉(zhuǎn)變換兩種方法。平移變換是將坐標(biāo)原點從一個位置移動到另一個位置,而旋轉(zhuǎn)變換則是將坐標(biāo)軸繞原點旋轉(zhuǎn)一定的角度。在自動上下料操作中,通常使用的是平移變換方法。
1.3.1 總體工作流程
總體工作流程涉及到自動化控制系統(tǒng)和機器人。如圖4 所示??偪叵到y(tǒng)是整個流程的核心,它負(fù)責(zé)發(fā)出任務(wù)指令。這些指令可能包括對機器人的動作指令,例如移動到特定的工位,執(zhí)行特定的操作等。系統(tǒng)控制的IO(輸入∕輸出)設(shè)備是連接總控系統(tǒng)和機器人的橋梁。機器人通過讀取這些IO 來判斷下一步的工作任務(wù)。機器人根據(jù)系統(tǒng)控制的IO 來判斷需要前往的工位和工作任務(wù)。然后,它會按照指令移動到指定的工位,執(zhí)行相應(yīng)的操作。具體步驟如下:(1)總控制系統(tǒng)生成并發(fā)送任務(wù)指令,這些指令可能包括工位的編號,需要執(zhí)行的任務(wù)等;(2)系統(tǒng)控制IO 接收這些指令,并將其傳輸給機器人;(3)機器人讀取系統(tǒng)控制的IO,根據(jù)其中的指令來判斷下一步的工作任務(wù);(4)機器人根據(jù)判斷結(jié)果,移動到對應(yīng)的工位,這個過程可能涉及到機器人的路徑規(guī)劃,導(dǎo)航等復(fù)雜技術(shù);(5)到達(dá)工位后,機器人執(zhí)行總控系統(tǒng)發(fā)出的任務(wù)指令;(6)任務(wù)完成后,機器人返回原位或進(jìn)行下一步的操作,等待新的任務(wù)指令。以上就是一個基本的自動化工作流程。
圖4 總體工作流程
1.3.2 上下料位置的取放流程
上下料位置的取放流程如圖5 所示。首先,需要確定要取放的物品在生產(chǎn)線的哪個位置。這通常會要求對生產(chǎn)線的內(nèi)部結(jié)構(gòu)和物品的特性有一定的了解。根據(jù)要取放的物品的特性和位置,選擇適當(dāng)?shù)墓ぞ撸@些工具可能包括機械臂、抓取器、滑塊或者其他專門的設(shè)備。在確定了工具之后,需要確定最佳的路徑來達(dá)到目標(biāo)位置,這可能涉及到對生產(chǎn)線的空間使用、安全限制和其他因素的理解。使用所選的工具,按照確定的最佳路徑進(jìn)行取放操作,這個過程可能需要高度精確的控制和協(xié)調(diào),以確保物品的安全和準(zhǔn)確放置。在完成取放操作后,需要確認(rèn)操作是否成功,這可能涉及到檢查物品是否被正確放置,工具是否已經(jīng)返回安全位置,以及是否有任何異常情況發(fā)生。其他位置的流程與其類似,雖然不同位置的生產(chǎn)線可能會有其特定的挑戰(zhàn)和需求,但是基本的取放流程大致相同,確定物品的位置、選擇適當(dāng)?shù)墓ぞ?、確定最佳路徑、執(zhí)行操作和確認(rèn)操作完成是通用的步驟。校準(zhǔn)流程通常會涉及到一些特殊的步驟,例如設(shè)置基準(zhǔn)點、進(jìn)行測量、比較數(shù)據(jù)和進(jìn)行修正等,這些步驟可以從取放流程中提取出來,因為它們都涉及到對工具和操作的高精度控制。在某些情況下,校準(zhǔn)流程可能會在每次取放操作之前或之后進(jìn)行,以確保工具的精確度和安全性。
圖5 取放流程
綜上所述,工作流程如下。
(1)確定目標(biāo)和任務(wù)。明確工作的目標(biāo)和任務(wù),以便確定工作流程和優(yōu)先級。
(2)規(guī)劃工作步驟。根據(jù)目標(biāo)和任務(wù),規(guī)劃完成工作所需的具體步驟。
(3)制定時間表。根據(jù)每個步驟所需的時間和優(yōu)先級,制定一個詳細(xì)的時間表。
(4)準(zhǔn)備工具和材料。根據(jù)工作需要,準(zhǔn)備必要的工具和材料。
(5)執(zhí)行工作步驟。按照時間表和規(guī)劃的步驟執(zhí)行工作。
(6)監(jiān)控進(jìn)度。根據(jù)時間表和實際進(jìn)展,監(jiān)控工作的進(jìn)度和質(zhì)量。
(7)調(diào)整和優(yōu)化。根據(jù)實際情況和進(jìn)展,對工作流程進(jìn)行必要的調(diào)整和優(yōu)化。
(8)完成和評估。完成工作后,對工作的結(jié)果進(jìn)行評估,并根據(jù)評估結(jié)果進(jìn)行必要的反饋和改進(jìn)。
(1)圖像處理和識別。首先,需要使用圖像處理算法識別十字標(biāo)簽。這可能涉及到使用邊緣檢測、閾值處理、二值化、形態(tài)學(xué)操作(如膨脹和腐蝕)等技術(shù)來增強和提取標(biāo)簽的輪廓。然后,可以使用諸如OpenCV或機器學(xué)習(xí)算法(如支持向量機或深度學(xué)習(xí))來識別十字標(biāo)簽。
(2)坐標(biāo)提取。一旦成功識別出十字標(biāo)簽,需要從圖像中提取其坐標(biāo)。這通常涉及到計算輪廓的質(zhì)心或找到輪廓的角點,然后將這些點轉(zhuǎn)換為坐標(biāo)。
(3)坐標(biāo)轉(zhuǎn)換?,F(xiàn)在有了十字標(biāo)簽在圖像坐標(biāo)系中的坐標(biāo),需要將其轉(zhuǎn)換到生產(chǎn)線上下料工位坐標(biāo)系。這需要知道攝像頭與生產(chǎn)線上下料工位之間的幾何關(guān)系,包括攝像頭內(nèi)參(如焦距、光學(xué)中心、畸變系數(shù)等)和攝像頭外參(如旋轉(zhuǎn)矩陣和平移矩陣)。通常,這些參數(shù)可以通過標(biāo)定過程獲得。具體算法可能根據(jù)應(yīng)用場景和具體需求進(jìn)行調(diào)整和優(yōu)化。例如,可能需要考慮如何處理攝像頭視角的變化、如何處理攝像頭移動或震動帶來的誤差等問題。
機器視覺、立體視覺等等方向常常涉及到4個坐標(biāo)系:世界坐標(biāo)系、相機坐標(biāo)系、圖像坐標(biāo)系、像素坐標(biāo)系。
世界坐標(biāo)系,也稱為測量坐標(biāo)系,它是一個三維直角坐標(biāo)系(Xw,Yw,Zw)。在世界坐標(biāo)系中可以描述相機和待測物體的空間位置。世界坐標(biāo)系的位置根據(jù)實際情況自行確定。
相機坐標(biāo)系也是一個三維直角坐標(biāo)系(xc,yc,zc)。相機坐標(biāo)系的原點是鏡頭的光心,x、y軸分別與相面的兩邊平行,z軸為鏡頭的光軸,與像平面垂直。
世界坐標(biāo)系到相機坐標(biāo)系的變換是剛體變換,也就是只改變物體的空間位姿,而不改變物體的形狀。用旋轉(zhuǎn)矩陣R和平移向量t可以表示這種變換。
在齊次坐標(biāo)下,式(1)中旋轉(zhuǎn)矩陣R是正交矩陣,可通過Rodrigues 變換轉(zhuǎn)換為只有3 個獨立變量的旋轉(zhuǎn)向量。因此剛體變換用6個參數(shù)就可以表示(3個旋轉(zhuǎn)向量,3個平移向量),式(2)中6個參數(shù)就是相機的外參。相機外參決定了空間點從世界坐標(biāo)系到相機坐標(biāo)系的變換。
齊次坐標(biāo)下可表示為:
從相機坐標(biāo)系到圖像坐標(biāo)系,屬于透視投影關(guān)系,從3D 轉(zhuǎn)換到2D。圖像坐標(biāo)系也叫平面坐標(biāo)系,用物理單位表示像素的位置,單位是mm。坐標(biāo)原點為攝像機光軸與圖像坐標(biāo)系的交點位置。相機坐標(biāo)系如圖6所示。
圖6 相機坐標(biāo)系
圖7 像素坐標(biāo)系
根據(jù)相似三角原理可得:
在齊次坐標(biāo)下表示為式(4):
像素坐標(biāo)系和圖像坐標(biāo)系都在成像平面上,只是各自的原點和度量單位不一樣。圖像坐標(biāo)系的原點為相機光軸與成像平面的交點,通常情況下是成像平面的中點或者叫principal point,如圖7 所示。圖像坐標(biāo)系的單位是mm,屬于物理單位,而像素坐標(biāo)系的單位是pixel,平常描述一個像素點都是幾行幾列。所以這兩者之間的轉(zhuǎn)換如下:其中dx和dy表示每一列和每一行分別代表多少mm,即1pixel=dxmm。
結(jié)合到一起如下:
p代表從不同的操作點,5 條生產(chǎn)線分別為p=1 到p=5,檢測點pi=6,立體庫出入點p=7,本文僅關(guān)注生產(chǎn)線的上下料,故序號為1~5。該值由視覺相機從標(biāo)簽的條形碼中讀取。
Δx1=px-p[0]
px為經(jīng)過坐標(biāo)變換后的上下料工位的位置的x坐標(biāo),p[0]為在校準(zhǔn)的時候示教的上下料工位的位置x坐標(biāo),故Δx1為每次在該生產(chǎn)線的時候,程序打印出來校準(zhǔn)指和實際值的偏差:
Δy1=py-p[1]
py為經(jīng)過坐標(biāo)變換后的上下料工位的位置的y坐標(biāo),p[1]為在校準(zhǔn)的時候示教的上下料工位的位置y坐標(biāo),故Δy1為每次在該生產(chǎn)線時候,程序打印出來校準(zhǔn)指和實際值的偏差:
Δx2=tx-markp.x[p]
tx為校準(zhǔn)時候從視覺相機讀取的標(biāo)簽十字位置的坐標(biāo)x,markp.x[p]為本次相機讀取的標(biāo)簽十字位置的坐標(biāo)x。代表每次AGV移動的偏差。
Δy2=ty-markp.y[p]
ty為校準(zhǔn)時候從視覺相機讀取的標(biāo)簽十字位置的坐標(biāo)y,markp.y[p]為本次相機讀取的標(biāo)簽十字位置的坐標(biāo)y。代表每次AGV移動的偏差。
Δθ=trot-markp.c[p]
trot為校準(zhǔn)時候從視覺相機讀取的標(biāo)簽十字位置在z向即豎直方向上的旋轉(zhuǎn)角度,markp.c[p]為本次相機讀取的標(biāo)簽十字位置在z向即豎直方向上的旋轉(zhuǎn)角度。代表每次AGV移動的偏差。
校準(zhǔn)后第1~4輪偏差值如表1~4所示。
經(jīng)過多次的測試發(fā)現(xiàn),偏差在8.3 mm 以內(nèi)可以正常抓取,當(dāng)角度和x、y偏差超過8.3 mm 或6.4°以后,需要進(jìn)行重新校準(zhǔn)才能正常工作。
表1 校準(zhǔn)后第1輪偏差值
表2 校準(zhǔn)后第2輪偏差值
表3 校準(zhǔn)后第3輪偏差值
表4 校準(zhǔn)后第4輪偏差值
隨著中國人口數(shù)量的拐點以及人口老齡化問題到來,勞動力數(shù)量會有持續(xù)下降趨勢,勢必會增加勞動力成本。這就要求企業(yè)提高生產(chǎn)自動化水平,降低勞動力成本,同時提高產(chǎn)品品質(zhì),提高成產(chǎn)效率,在制造業(yè)企業(yè),這種需求尤為明顯。自動化生產(chǎn)線極大地解放了勞動力,減輕工人勞動強度,改善了作業(yè)環(huán)境。上下料工序是自動化生產(chǎn)線中關(guān)鍵的工序之一,是提高生產(chǎn)線效率和穩(wěn)定性的瓶頸。
本文成功地提出了一種基于計算機視覺的生產(chǎn)線上下料位置坐標(biāo)轉(zhuǎn)換的方法,有效地解決了自動化生產(chǎn)線上下料自動定位的問題。通過在上下料工位附近設(shè)置十字標(biāo)定圖標(biāo),可以將生產(chǎn)線的實際坐標(biāo)轉(zhuǎn)換為對應(yīng)的坐標(biāo)系,為后續(xù)的加工操作提供準(zhǔn)確的坐標(biāo)信息。此外,本文還對該方法進(jìn)行了理論分析和實驗驗證,結(jié)果表明該方法對生產(chǎn)線上下料的自動化、智能化具有較高的實用價值和參考性。