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