崔亞飛,羅 輝,秦 龍
(永州職業(yè)技術學院,湖南 永州 425100)
工業(yè)機器人是智能制造領域中非常具有代表性的設備。研究機器人運動仿真技術具有重要的意義。一方面,機器人的教學和軌跡規(guī)劃仿真系統(tǒng)[1-3],完成和計劃運行軌跡試驗檢查軌跡的正確性和安全性,以避免碰撞在實際操作中,減少損失,節(jié)省人力、物力和成本。另一方面,為科研人員和教學人員提供了一個開放的平臺,可以促進機器人控制方法的設計和日常的教學和培訓。目前商用機器人仿真平臺存在開放性低、限制性強的問題。高昂的價格也限制了仿真平臺的使用和推廣。但也有一些仿真平臺存在可視化程度低、碰撞檢測精度低、可靠性低等問題。因此,有必要對機器人仿真技術進行研究。
數字孿生技術的發(fā)展為機器人運動仿真提供了新的思路。數字孿生技術是一種集多物理、多尺度、多學科屬性于一體的技術,具有實時同步、映射忠實、高保真等特點,可實現物理空間與虛擬世界[4-6]的交互與集成。近年來,數字雙胞胎的概念已經逐漸融入制造業(yè)[7-9]。通過構建數字孿生,在虛擬環(huán)境中實現對物理世界的忠實映射,從而實現物理世界的虛擬調試、運行監(jiān)控和智能決策。
Schluse和Rossmann[10]提出了一種利用數字孿生進行虛擬調試的仿真方法,該方法將不同的仿真系統(tǒng)集成到通用仿真數據庫(VSD)中進行虛擬調試。這種方法被稱為可實驗數字雙胞胎。Grinshpun等[11]提出了一種引導機器人將樁插入孔的算法,該算法可以以非常小的間隙將樁與孔匹配,并構建了數字雙胞胎。在虛擬環(huán)境中的仿真驗證了算法的有效性,并將算法應用于物理庫卡LWR4機械手。Slavkovic等[12]利用數字孿生技術對機器人軌跡進行補償,開發(fā)了虛擬機器人加工模型,并在虛擬模型中對軌跡補償算法進行了仿真,以提高機器人在實際工作過程中的加工精度。數字雙胞胎也被應用于人-機器人協作場景的仿真。Bilberg和Malik[13]構建了柔性裝配單元數字孿生,實現了人-機器人協同裝配過程的仿真,并根據任務難度分配任務和平衡工作量。Brem等[14]提出了一種人機協同生產系統(tǒng)的數字孿生模型。在調試階段,可以通過虛擬調試或半實物仿真來檢測潛在的錯誤,減少開發(fā)時間。
本文結合數字孿生,對工業(yè)機器人的運動仿真技術進行了研究,旨在開發(fā)一個運動仿真系統(tǒng),并提出了一種改進的混合層次包圍盒碰撞檢測算法,該算法具有開放性高、可視化效果好、碰撞檢測精度高等優(yōu)點。
本文提出的數字孿生仿真系統(tǒng)架構包括物理實體、虛擬系統(tǒng)、連接和應用服務4個部分。
(1)物理實體。物理實體是指生產現場的環(huán)境,包括各種設備,如工業(yè)機器人本體、控制柜和傳感器等,通過它們的合作來實現生產活動。物理實體是數字孿生系統(tǒng)的基礎。
(2)虛擬系統(tǒng)。虛擬系統(tǒng)是物理實體的忠實映射。虛擬系統(tǒng)分為雙數據和雙模型。孿生模型是實體特征的真實寫照,包括實體的位置、幾何尺寸、材質、顏色等特征,以及實體的隸屬關系和運動學特征。孿生數據來源于物理實體,作為數據源進行處理和存儲,驅動孿生模型。
(3)連接。連接是物理實體與虛擬系統(tǒng)之間的橋梁,即通過傳輸網絡和定義的數據接口,實現物理實體與虛擬系統(tǒng)之間的雙向數據傳輸,使數據在彼此之間流動。
(4)應用服務。應用服務是指數字孿生系統(tǒng)所提供的功能,包括運動仿真、運行監(jiān)控等。運動仿真功能允許用戶在虛擬環(huán)境中完成教學和路徑規(guī)劃,模擬路徑,使用碰撞檢測算法提前發(fā)現路徑中的碰撞點。將規(guī)劃結果輸出到機器人控制器,然后控制機器人實體按照規(guī)劃的路徑運動。運行監(jiān)控功能實現了對機器人運行狀態(tài)的全方位、多數據監(jiān)控。物理實體是數字孿生系統(tǒng)的重要組成部分,是虛擬系統(tǒng)的基礎。
本文的物理實體包括機械系統(tǒng)、電子控制系統(tǒng)和人機交互系統(tǒng)。
(1)機械系統(tǒng)。機械系統(tǒng)是指機械體。本文使用的機器人是EFORT ER20CC10機器人,包括6個旋轉關節(jié)。
(2)電子控制系統(tǒng)。電子控制系統(tǒng)包括伺服驅動器、控制系統(tǒng)、通信電纜和傳感器。
(3)人機交互系統(tǒng)。在現代和未來的社會里,只要有人利用通信、計算機等信息處理技術,為社會、經濟、環(huán)境和資源進行活動時,人機交互都是永恒的主題,人機交互系統(tǒng)包括教學裝置和上位機界面。
虛擬系統(tǒng)的設計遵循以下3個原則。
(1)層次一致性。物理實體是復雜的,具有一定的層次性,所以要注意各組成部分之間的從屬關系。它作為物理實體的一個特征,需要在虛擬環(huán)境中進行描述,才能實現對物理實體的忠實映射。
(2)行為的一致性。工業(yè)機器人模型的運動應與機器人實體的運動一致,如旋轉軸、旋轉方向、旋轉角度等,并遵循運動規(guī)律。行為一致性是實現忠誠度映射的重要組成部分。
(3)性能的平衡。模型渲染會占用大量的計算機內存空間,可能會影響系統(tǒng)的順利運行。因此,需要平衡地考慮系統(tǒng)性能,模型應該是輕量級的,以保證系統(tǒng)的平穩(wěn)運行,而不影響用戶的視覺體驗。
根據以上3個設計原則,選擇Unity3D作為虛擬系統(tǒng)的開發(fā)平臺,構建虛擬環(huán)境,三維環(huán)境如圖1所示。
圖1 三維仿真環(huán)境
利用數字孿生系統(tǒng)構建的虛擬環(huán)境研究工業(yè)機器人的運動仿真,實現運動仿真功能,并設計了一種碰撞檢測算法來檢測仿真過程中的碰撞。
機器人的軌跡規(guī)劃過程包括求解正運動學和逆運動學。首先,建立機器人的D-H模型,獲取D-H參數。機器人關節(jié)i相對于關節(jié)i-1的齊次變換矩陣為:
根據式(1)和D-H參數,可依次得到相鄰連桿的齊次變換矩陣。則機器人終端相對于基礎坐標系的變換矩陣為:
根據式(2)求解機器人的正運動學。本文中機器人的最后3個軸是相交的。根據Piper判據,可以求解逆運動學問題。基于正運動學和逆運動學,完成了軌跡規(guī)劃算法。本文提出的仿真系統(tǒng)可以實現關節(jié)空間軌跡規(guī)劃、直線規(guī)劃和圓形規(guī)劃。
Unity3D有一些基于包圍盒的碰撞檢測功能,可以檢測模型之間的碰撞。然而,內置的碰撞器都是用單一的邊界盒實現的,它沒有層次樹的結構,不能更準確地檢測三角形原語級別的對象。
因此,本文基于Unity3D自帶的碰撞器,結合Unity3D自帶的碰撞器和自帶的層次包圍盒,提出了一種改進的混合層次包圍盒碰撞檢測算法。算法流程如圖2所示。
圖2 算法流程
首先使用Unity3D內置的Box Collider進行初步檢測。對于帶有碰撞檢測的模型,建立層次包圍盒樹進行進一步檢測。遍歷樹結構,確定根節(jié)點和葉節(jié)點是否相交。如果相交,則進入精確檢測階段,檢測葉節(jié)點在三角形水平上的交集。本文算法彌補了Unity3D內置碰撞器缺乏層次樹結構的不足,實現了三角形級碰撞檢測,在一定程度上提高了精度。
為了實現機器人的運動仿真功能,本文構建了機器人的虛擬模型和虛擬環(huán)境。在虛擬模型的基礎上,將機器人的狀態(tài)數據傳輸到虛擬模型中,對機器人實體進行三維可視化監(jiān)控。系統(tǒng)框圖如圖3所示。
圖3 監(jiān)控系統(tǒng)框圖
(1)感知層用于數據的采集和傳輸。感知層主要通過控制器采集工業(yè)機器人關節(jié)坐標數據和位置數據,同時這些數據也可以通過控制器發(fā)給工業(yè)機器人。
(2)數據層對感知層的數據進行解析和處理。數據層接收感知層控制發(fā)來的反饋數據,并以規(guī)定的格式解讀出相應的數據,然后進行簡單的處理,同時數據層也可以把相應的數據傳給感知層的控制器。
(3)邏輯層實現數據層與應用層之間的交互。這一層的數據抽象稱為邏輯數據模型(簡稱數據模型)。它是用戶通過數據庫管理系統(tǒng)看到的現實世界,是數據的系統(tǒng)表示。因此它既要考慮用戶容易理解,傳統(tǒng)的數據模型有層次、網狀、關系模型,非傳統(tǒng)的數據模型有面向對象數據模型。
(4)應用層是用戶看到的監(jiān)控界面。應用層位于物聯網4層結構中的最頂層,其功能為“處理”,即通過云計算平臺進行信息處理。應用層與最低端的感知層一起,是物聯網的顯著特征和核心所在,應用層可以對感知層采集數據進行計算、處理和知識挖掘,從而實現對物理世界的實時控制、精確管理和科學決策。
對運動仿真功能和碰撞檢測功能進行了測試。軌跡規(guī)劃方法包括關節(jié)空間規(guī)劃、直線規(guī)劃、循環(huán)規(guī)劃和組合規(guī)劃。軌跡規(guī)劃效果如圖4所示??梢钥闯觯到y(tǒng)能夠正確調用軌跡規(guī)劃算法,直觀地顯示運動軌跡。結果表明,與Unity3D內置的Box Collider相比,改進的混合層次包圍盒碰撞檢測算法能夠更準確地檢測出碰撞。利用數字孿生系統(tǒng)的虛擬模型來模擬機器人實體的運動。仿真結果用于提前驗證路徑的正確性和安全性。仿真結果可用于機器人的實際操作。
圖4 軌跡規(guī)劃結果圖
對運動仿真功能和碰撞檢測功能進行了測試。軌跡規(guī)劃方法包括關節(jié)空間規(guī)劃、直線規(guī)劃、循環(huán)規(guī)劃和組合規(guī)劃。對虛擬環(huán)境中的碰撞檢測功能進行了測試,檢測結果如圖5所示。結果表明,與Unity3D內置的Box Collider相比,改進的混合層次包圍盒碰撞檢測算法能夠更準確地檢測出碰撞。利用數字孿生系統(tǒng)的虛擬模型來模擬機器人實體的運動。仿真結果用于提前驗證路徑的正確性和安全性。仿真結果可用于機器人的實際操作。
圖5 碰撞檢測
對運動仿真功能和碰撞檢測功能進行了測試。軌跡規(guī)劃方法包括關節(jié)空間規(guī)劃、直線規(guī)劃、循環(huán)規(guī)劃和組合規(guī)劃。軌跡規(guī)劃效果如圖5所示??梢钥闯觯到y(tǒng)能夠正確調用軌跡規(guī)劃算法,直觀地顯示運動軌跡。本文的主要工作如下。
(1)提出了數字孿生系統(tǒng)的四維體系結構,構建了數字孿生系統(tǒng)。根據實驗室現有的物理實體,對實體單元的結構、行為和屬性進行抽象,利用Unity3D軟件建立數字雙胞胎。
(2)對EFORT工業(yè)機器人進行了運動學建模和軌跡規(guī)劃分析。運動學算法獨立于虛擬系統(tǒng)開發(fā),提高了系統(tǒng)的可擴展性。針對Unity3D內置碰撞器缺乏層次樹結構的局限性,提出了一種改進的混合層次包圍盒碰撞檢測算法,提高碰撞檢測的準確性,減少錯誤檢測。
在此基礎上,將進一步研究物理實體與虛擬系統(tǒng)的深度融合技術,進行數據分析和挖掘,以實現機器人在線優(yōu)化、故障預測等更智能的功能。