王磊 黃浩 廣東科貿職業學院信息與自動化學院
隨著面向智能制造領域的工業機器人大量應用,大幅度提高了企業的競爭力和經濟效益。然而,中國智造人才奇缺已經成為制約智能制造產業發展的關鍵問題。由于我國在工業機器人教育及相關實訓方面起步較晚,傳統工業機器人在線示教實訓,受工業機器人實訓場地、課時、實訓人數限制,再加上工業機器人設備價格昂貴、數量有限,很難保證實踐過程中每位學生進行充分的實操。如果對設備不熟悉,操作不恰當,很容易發生設備故障和人身安全問題,從而影響學生的學習興趣和實訓質量。因此,工業機器人人才培養工作也迎來了“瓶頸期”,亟需新一代信息技術助力工業機器人信息化教學應用與實訓革新。在互聯網+背景下,以虛擬現實技術為切入點,開展軟件技術專業+工業機器人專業的新工科融合研究與信息化教學改革,構建更加符合工業互聯網思維的實訓模式,更好的實現智能型虛擬實驗教學與仿真實訓。
虛擬現實(Virtual Reality,簡稱VR)技術在工業機器人仿真實訓中的應用,可以通過虛擬仿真建模、立體視覺、人機交互與觸覺反饋等技術,讓使用者產生身臨其境的仿真感受,國內外也展開了相關的研究和應用。機器人制造商KUKA 率先在MORPHA 項目中引入工業機器人增強現實示教技術。貝爾格萊德大學開發的機器人虛擬實驗室則能夠展示工業機器人的主要特征,練習機器人的行為與操作。馬飛[3]闡述了基于Qt 和Ogre3D 的六自由度機器人虛擬實驗室系統架構模型及模塊化功能,其虛擬實驗室三維模型建模,首先從SolidWorks 建立模型、在3DSMax 軟件中進行模型渲染,最后導入Ogre3D 虛擬環境中渲染顯示虛擬機器人的一套建模方法。文獻[4]設計了基于Unity3D 的機器人本體拆裝的虛擬教學系統,使用Solid-Works、3Ds Max 軟件等進行工業機器人拆裝場景建模和機器人拆裝動畫制作,以Photoshop 軟件進行UI 界面設計,利用C#語言進行界面交互邏輯控制。文獻[5-7]針對虛擬現實技術在工業機器人實訓領域中的開發與應用,介紹了從SolidWorks、3ds Max 進行建模,到Unity3D、HTCVIVE 進行虛擬仿真及運動邏輯編程開發,尤其是針對目前工業生產上廣泛使用的六軸機器人,可以靈活高效的滿足學生的離線示教仿真需求,具有較好的研究價值和應用前景。
本文以瑞典ABB 公司生產的多用途六軸機器人IRB120 為研究和應用對象,設計開發了工業機器人虛擬仿真實訓系統,該系統能夠實現工業機器人的結構認知、虛擬拆裝、交互操作、沉浸式體驗等功能,并具有界面美觀、功能實用、交互式強等特點。該系統以Unity3D 為開發平臺,通過C#編程實現運動邏輯控制,能夠運行在PC 端,并且可以通過HTC vive 進行虛擬現實沉浸式體驗。本系統在開發實現過程中基于以下技術路線進行系統研發。
(1)分析工業機器人的實訓需求和系統目標,分析機器人的基本結構及技術參數等,明確要達到的系統仿真實訓功能需求,實現基于互聯網+的工業機器人產品結構認知學習與拆裝實訓。
(2)選定系統的軟硬件環境與開發平臺,分析機器人的裝配結構、運動規劃及示教操作,在此基礎上利用SolidWorks、3DSMax 等建模軟件,完成機器人的三維模型建立、裝配及貼圖渲染等操作,并進行模型優化與格式導出,生成高精度的機器人輕量化三維模型。
(3)利用Unity3d 平臺搭建機器人的實訓場景,研究機器人的坐標表示、攝像機設置、組件參數配置、燈光渲染、方位與旋轉變換操作等內容,優化模型在Unity3D 中的建模顯示。
(4) 利用各軟件開發包,結合C#語言,開發系統人機交互UI界面和運動邏輯控制,實現場景視角控制、拆卸動畫開發、操作實時反饋等人機交互功能。為了更加真實的模擬實訓現場環境,完成剛體屬性配置和碰撞檢測等,并在PC 機上進行工業機器人仿真測試。
(5)為了增強用戶感知和體驗,優化產品模型,研究Unity3D 渲染優化方法、分層調用技術等,減少顯示效果損失又能降低渲染負載。通過HTC vive 等硬件進行開發和測試,在虛擬現實環境中進行人機交互操作及實時反饋,為使用者創造出一種逼真的沉浸式立體環境交互體驗。
(6)將產品模型打包發布為PC 端應用,借助PC電腦、VR設備等,對平臺功能進行測試與體驗分析。優化產品模型與運動邏輯控制,進行系統的持續改進和最終發布。
針對工業機器人三維模型進行部件的結構認知實訓,由于模型簡化及格式轉換后,會失去機械建模時零部件的親子關系,需要研究工業機器人在Unity3D 下的裝配結構及裝配關系設定,研究物理組件的配置方式和作用范圍,以實現機器人的運動控制與物理交互。虛擬拆裝交互操作較為復雜,需要實現包括場景視角的控制、拆卸動畫與拆卸序列控制、零件高亮著色、實時信息反饋等操作。
如圖1 所示為機器人拆裝實訓主界面的工業機器人全貌界面及某個軸的部件界面。視圖右側為結構認知工具欄,底部為拆卸工具欄。通過點擊結構認知工具欄的“底座”、“電源箱”、“一軸”到“六軸”、“全貌”等按鈕,可以分別查看機器人的不同軸的部件結構信息。點擊“全貌”按鈕,可以恢復到整個機械臂的全貌整體。針對工業機器人全貌或者單個部件,都可以通過鼠標滾輪進行放大縮小,使用鼠標左鍵進行空間內的旋轉操作和移動操作等。

圖1 機器人全貌界面及某軸部件界面
通過虛擬拆裝建模與拆裝業務邏輯的實現,實現對工業機器人的拆卸場景進行交互操作,讓使用者掌握機器人各關節之間的層級關系及運動關系。由于模型簡化及格式轉換后,可能會導致模型僅保留核心外形與運動機構信息,而失去了零部件的親子關系信息,因此,還需要進一步研究工業機器人的裝配結構及裝配關系設定,研究物理組件的配置方式和作用范圍,才能保障正確的模擬出機器人真實物理結構下的拆卸和組裝過程。
在視圖底部的拆卸工具欄,通過縮小和放大按鈕可以進行縮放操作,各拆卸功能按鈕可以進行工業機器人的拆卸和組裝控制,如圖2 所示為單步拆卸和組裝及一次性全部拆卸和組裝的顯示效果。

圖2 工業機器人拆卸和組裝的顯示效果
針對拆卸中的某一個軸部件,靠近這個軸,例如鼠標靠近“四軸”,四軸即整體高亮顯示。鼠標左鍵點擊“四軸”,進入如圖3 所示的四軸零部件的操作界面,并可以在左側查看四軸零部件詳細信息介紹。點擊界面右側的結構認知工具欄上的某個軸按鈕,可以對顯示的單個軸部件進行進一步的拆卸,了解該軸部件的零配件組裝細節。

圖3 單個軸的顯示和拆卸操作界面
針對工業機器人拆卸運動邏輯的控制,有一些關鍵難點需要進行技術攻關和實現。
(1)部件移動與控制實現原理:把unity 主攝像頭放入物體中,成為物體的子類,鼠標上下移動為unity 主攝像頭移動,鼠標左右移動為物體左右移動,從而實現部件的移動與控制。
(2)部件的變色和拖拽移動實現原理:使用鼠標監聽方法,根據鼠標狀態確定顏色顯示,根據鼠標和屏幕坐標及物體坐標的距離,控制實現鼠標拖拽操作。
(3)部件的順序拆裝實現原理:新建一個為下一個部件添加腳本的腳本,在鼠標按下監聽方法時添加觸發添加腳本的代碼,并使用布爾值讓腳本只觸發一次,保證部件之間的拆卸次序關系。
對于工業機器人部件移動與控制邏輯的實現,項目通過C#代碼進行編程實現,部分關鍵代碼如下。


針對日益增長的工業機器人教學實訓、技術培訓的巨大需求,本文以IRB120 多用途輕型機器人的拆卸實訓為研究對象,分析了工業機器人虛擬仿真實訓系統開發的關鍵實現流程,對主要模塊的關鍵開發技術、功能界面設計及關鍵運動邏輯控制進行了研究和探討。本文開發的系統可以進一步擴展到多種不同的教學應用場景,例如堆垛、切削、焊接、視覺檢測等常用工業場景。后續研究將通過對不同制造場景的工業機器人實訓應用開發,讓使用者不僅可以熟練認知工業機器人的結構和拆卸,也可以快速適應不同制造場景下的崗位情景與技能實訓需求,從而構建智能型、創新性的工業機器人實訓系統及人才培養實訓新范式。