崔亞飛,羅 輝,秦 龍
(永州職業技術學院,湖南 永州 425100)
工業機器人是智能制造領域中非常具有代表性的設備。研究機器人運動仿真技術具有重要的意義。一方面,機器人的教學和軌跡規劃仿真系統[1-3],完成和計劃運行軌跡試驗檢查軌跡的正確性和安全性,以避免碰撞在實際操作中,減少損失,節省人力、物力和成本。另一方面,為科研人員和教學人員提供了一個開放的平臺,可以促進機器人控制方法的設計和日常的教學和培訓。目前商用機器人仿真平臺存在開放性低、限制性強的問題。高昂的價格也限制了仿真平臺的使用和推廣。但也有一些仿真平臺存在可視化程度低、碰撞檢測精度低、可靠性低等問題。因此,有必要對機器人仿真技術進行研究。
數字孿生技術的發展為機器人運動仿真提供了新的思路。數字孿生技術是一種集多物理、多尺度、多學科屬性于一體的技術,具有實時同步、映射忠實、高保真等特點,可實現物理空間與虛擬世界[4-6]的交互與集成。近年來,數字雙胞胎的概念已經逐漸融入制造業[7-9]。通過構建數字孿生,在虛擬環境中實現對物理世界的忠實映射,從而實現物理世界的虛擬調試、運行監控和智能決策。
Schluse和Rossmann[10]提出了一種利用數字孿生進行虛擬調試的仿真方法,該方法將不同的仿真系統集成到通用仿真數據庫(VSD)中進行虛擬調試。這種方法被稱為可實驗數字雙胞胎。Grinshpun等[11]提出了一種引導機器人將樁插入孔的算法,該算法可以以非常小的間隙將樁與孔匹配,并構建了數字雙胞胎。在虛擬環境中的仿真驗證了算法的有效性,并將算法應用于物理庫卡LWR4機械手。Slavkovic等[12]利用數字孿生技術對機器人軌跡進行補償,開發了虛擬機器人加工模型,并在虛擬模型中對軌跡補償算法進行了仿真,以提高機器人在實際工作過程中的加工精度。數字雙胞胎也被應用于人-機器人協作場景的仿真。Bilberg和Malik[13]構建了柔性裝配單元數字孿生,實現了人-機器人協同裝配過程的仿真,并根據任務難度分配任務和平衡工作量。Brem等[14]提出了一種人機協同生產系統的數字孿生模型。在調試階段,可以通過虛擬調試或半實物仿真來檢測潛在的錯誤,減少開發時間。
本文結合數字孿生,對工業機器人的運動仿真技術進行了研究,旨在開發一個運動仿真系統,并提出了一種改進的混合層次包圍盒碰撞檢測算法,該算法具有開放性高、可視化效果好、碰撞檢測精度高等優點。
本文提出的數字孿生仿真系統架構包括物理實體、虛擬系統、連接和應用服務4個部分。
(1)物理實體。物理實體是指生產現場的環境,包括各種設備,如工業機器人本體、控制柜和傳感器等,通過它們的合作來實現生產活動。物理實體是數字孿生系統的基礎。
(2)虛擬系統。虛擬系統是物理實體的忠實映射。虛擬系統分為雙數據和雙模型。孿生模型是實體特征的真實寫照,包括實體的位置、幾何尺寸、材質、顏色等特征,以及實體的隸屬關系和運動學特征。孿生數據來源于物理實體,作為數據源進行處理和存儲,驅動孿生模型。
(3)連接。連接是物理實體與虛擬系統之間的橋梁,即通過傳輸網絡和定義的數據接口,實現物理實體與虛擬系統之間的雙向數據傳輸,使數據在彼此之間流動。
(4)應用服務。應用服務是指數字孿生系統所提供的功能,包括運動仿真、運行監控等。運動仿真功能允許用戶在虛擬環境中完成教學和路徑規劃,模擬路徑,使用碰撞檢測算法提前發現路徑中的碰撞點。將規劃結果輸出到機器人控制器,然后控制機器人實體按照規劃的路徑運動。運行監控功能實現了對機器人運行狀態的全方位、多數據監控。物理實體是數字孿生系統的重要組成部分,是虛擬系統的基礎。
本文的物理實體包括機械系統、電子控制系統和人機交互系統。
(1)機械系統。機械系統是指機械體。本文使用的機器人是EFORT ER20CC10機器人,包括6個旋轉關節。
(2)電子控制系統。電子控制系統包括伺服驅動器、控制系統、通信電纜和傳感器。
(3)人機交互系統。在現代和未來的社會里,只要有人利用通信、計算機等信息處理技術,為社會、經濟、環境和資源進行活動時,人機交互都是永恒的主題,人機交互系統包括教學裝置和上位機界面。
虛擬系統的設計遵循以下3個原則。
(1)層次一致性。物理實體是復雜的,具有一定的層次性,所以要注意各組成部分之間的從屬關系。它作為物理實體的一個特征,需要在虛擬環境中進行描述,才能實現對物理實體的忠實映射。
(2)行為的一致性。工業機器人模型的運動應與機器人實體的運動一致,如旋轉軸、旋轉方向、旋轉角度等,并遵循運動規律。行為一致性是實現忠誠度映射的重要組成部分。
(3)性能的平衡。模型渲染會占用大量的計算機內存空間,可能會影響系統的順利運行。因此,需要平衡地考慮系統性能,模型應該是輕量級的,以保證系統的平穩運行,而不影響用戶的視覺體驗。
根據以上3個設計原則,選擇Unity3D作為虛擬系統的開發平臺,構建虛擬環境,三維環境如圖1所示。

圖1 三維仿真環境
利用數字孿生系統構建的虛擬環境研究工業機器人的運動仿真,實現運動仿真功能,并設計了一種碰撞檢測算法來檢測仿真過程中的碰撞。
機器人的軌跡規劃過程包括求解正運動學和逆運動學。首先,建立機器人的D-H模型,獲取D-H參數。機器人關節i相對于關節i-1的齊次變換矩陣為:

根據式(1)和D-H參數,可依次得到相鄰連桿的齊次變換矩陣。則機器人終端相對于基礎坐標系的變換矩陣為:

根據式(2)求解機器人的正運動學。本文中機器人的最后3個軸是相交的。根據Piper判據,可以求解逆運動學問題。基于正運動學和逆運動學,完成了軌跡規劃算法。本文提出的仿真系統可以實現關節空間軌跡規劃、直線規劃和圓形規劃。
Unity3D有一些基于包圍盒的碰撞檢測功能,可以檢測模型之間的碰撞。然而,內置的碰撞器都是用單一的邊界盒實現的,它沒有層次樹的結構,不能更準確地檢測三角形原語級別的對象。
因此,本文基于Unity3D自帶的碰撞器,結合Unity3D自帶的碰撞器和自帶的層次包圍盒,提出了一種改進的混合層次包圍盒碰撞檢測算法。算法流程如圖2所示。

圖2 算法流程
首先使用Unity3D內置的Box Collider進行初步檢測。對于帶有碰撞檢測的模型,建立層次包圍盒樹進行進一步檢測。遍歷樹結構,確定根節點和葉節點是否相交。如果相交,則進入精確檢測階段,檢測葉節點在三角形水平上的交集。本文算法彌補了Unity3D內置碰撞器缺乏層次樹結構的不足,實現了三角形級碰撞檢測,在一定程度上提高了精度。
為了實現機器人的運動仿真功能,本文構建了機器人的虛擬模型和虛擬環境。在虛擬模型的基礎上,將機器人的狀態數據傳輸到虛擬模型中,對機器人實體進行三維可視化監控。系統框圖如圖3所示。

圖3 監控系統框圖
(1)感知層用于數據的采集和傳輸。感知層主要通過控制器采集工業機器人關節坐標數據和位置數據,同時這些數據也可以通過控制器發給工業機器人。
(2)數據層對感知層的數據進行解析和處理。數據層接收感知層控制發來的反饋數據,并以規定的格式解讀出相應的數據,然后進行簡單的處理,同時數據層也可以把相應的數據傳給感知層的控制器。
(3)邏輯層實現數據層與應用層之間的交互。這一層的數據抽象稱為邏輯數據模型(簡稱數據模型)。它是用戶通過數據庫管理系統看到的現實世界,是數據的系統表示。因此它既要考慮用戶容易理解,傳統的數據模型有層次、網狀、關系模型,非傳統的數據模型有面向對象數據模型。
(4)應用層是用戶看到的監控界面。應用層位于物聯網4層結構中的最頂層,其功能為“處理”,即通過云計算平臺進行信息處理。應用層與最低端的感知層一起,是物聯網的顯著特征和核心所在,應用層可以對感知層采集數據進行計算、處理和知識挖掘,從而實現對物理世界的實時控制、精確管理和科學決策。
對運動仿真功能和碰撞檢測功能進行了測試。軌跡規劃方法包括關節空間規劃、直線規劃、循環規劃和組合規劃。軌跡規劃效果如圖4所示。可以看出,系統能夠正確調用軌跡規劃算法,直觀地顯示運動軌跡。結果表明,與Unity3D內置的Box Collider相比,改進的混合層次包圍盒碰撞檢測算法能夠更準確地檢測出碰撞。利用數字孿生系統的虛擬模型來模擬機器人實體的運動。仿真結果用于提前驗證路徑的正確性和安全性。仿真結果可用于機器人的實際操作。

圖4 軌跡規劃結果圖
對運動仿真功能和碰撞檢測功能進行了測試。軌跡規劃方法包括關節空間規劃、直線規劃、循環規劃和組合規劃。對虛擬環境中的碰撞檢測功能進行了測試,檢測結果如圖5所示。結果表明,與Unity3D內置的Box Collider相比,改進的混合層次包圍盒碰撞檢測算法能夠更準確地檢測出碰撞。利用數字孿生系統的虛擬模型來模擬機器人實體的運動。仿真結果用于提前驗證路徑的正確性和安全性。仿真結果可用于機器人的實際操作。

圖5 碰撞檢測
對運動仿真功能和碰撞檢測功能進行了測試。軌跡規劃方法包括關節空間規劃、直線規劃、循環規劃和組合規劃。軌跡規劃效果如圖5所示。可以看出,系統能夠正確調用軌跡規劃算法,直觀地顯示運動軌跡。本文的主要工作如下。
(1)提出了數字孿生系統的四維體系結構,構建了數字孿生系統。根據實驗室現有的物理實體,對實體單元的結構、行為和屬性進行抽象,利用Unity3D軟件建立數字雙胞胎。
(2)對EFORT工業機器人進行了運動學建模和軌跡規劃分析。運動學算法獨立于虛擬系統開發,提高了系統的可擴展性。針對Unity3D內置碰撞器缺乏層次樹結構的局限性,提出了一種改進的混合層次包圍盒碰撞檢測算法,提高碰撞檢測的準確性,減少錯誤檢測。
在此基礎上,將進一步研究物理實體與虛擬系統的深度融合技術,進行數據分析和挖掘,以實現機器人在線優化、故障預測等更智能的功能。