劉 宇,張世超,龔集響
(廈門大學航空航天學院,福建廈門361102)
機器人建模和仿真是當前開展機器人任務規劃和實際應用的必要手段.目前國內外對機器人的建模和仿真主要是基于通用計算機輔助設計/計算機輔助制造(CAD/CAM)軟件、MATLAB、OpenGL圖形庫、專用軟件(如RobotStudio、RoboGuide等)[1-2].UG、PRO/E等CAD/CAM軟件適用于產品設計與分析,可通過仿真進行虛擬加工和制造,但其功能的擴展性和開放性較差[3-4].MATLAB憑借其豐富的數學計算工具在機器人領域應用較為廣泛[5].但是MATLAB不擅長三維圖形顯示,難以有效進行機器人及其工作環境的三維仿真.OpenGL圖形庫功能強大,用于機器人建模和仿真時需大量軟件開發工作,對操作人員的編程能力和機器人相關知識的要求較高[6-7].而專用軟件適用于特定品牌的機器人,難以進行擴展開發.
本研究提出了機器人建模和仿真的集成方法.該方法結合CAD軟件在三維建模、MATLAB在數值計算、V-REP在運動仿真方面的優勢,解決了不同系統集成時機器人約束模型的建立、從工件模型生成機器人刀具軌跡(簡稱刀軌)、MATLAB和V-REP聯合仿真等問題,實現了機器人加工軌跡生成和運動仿真.其中V-REP作為三維運動仿真平臺,具有開源性和包含豐富的應用程序編程接口(API)等優點[8-9].MATLAB則作為外部控制程序進行軌跡計算和提供通信接口.
本研究所提出的機器人建模和仿真方法主要包含以下步驟:首先在三維軟件中生成工件坐標系下的加工刀具位置(簡稱刀位)文件;接著在MATLAB中計算機器人操作空間中末端刀具的軌跡,并通過逆運動學計算獲得刀具軌跡對應的關節參數[10-11];然后在V-REP中建立與刀軌文件一致的機器人及其加工環境的三維模型;最后通過MATLAB中的外部控制程序和V-REP中的控制腳本、MATLAB和V-REP之間的通信接口,使V-REP中的機器人模型響應外部控制程序進行運動仿真和碰撞檢測.下文將詳細介紹上述步驟中涉及到的機器人建模方法、機器人刀具軌跡生成方法、MATLAB和V-REP之間的任務分工及通信控制方法.
關節和連桿的統一坐標系是指關節i的坐標系與連桿i的坐標系始終保持一致重合,而關節和連桿的運動由對應的坐標系的運動表示,故關節i的運動與連桿i的運動相同.
工業機器人常用的關節有旋轉、移動和球關節,分別用圓柱、長方體和球來表示3種關節的三維模型.其中旋轉關節有1個繞圓柱的軸線轉動的自由度,移動關節有1個沿與長方體長邊平行的中心軸移動的自由度,球關節有3個繞球心轉動的自由度.
為了描述關節的位姿,在每個關節上定義關節坐標系,各關節坐標系的原點均為其幾何中心.旋轉關節坐標系的z軸是其旋轉軸,x軸和y軸是在與z軸垂直的平面內互相正交的任意兩個方向.移動關節坐標系的z軸是其移動軸,x軸和y軸是在與z軸垂直的平面內互相正交的任意兩個方向.球關節坐標系的x軸、y軸和z軸是任意3個組成右手正交坐標系的方向.
連桿采用文獻[12]中的定義.如圖1所示,軸i-1和軸i分別是關節i-1和關節i的軸線,連桿i-1的連桿坐標系為xi-1yi-1zi-1,連桿i的連桿坐標系為xiyizi.連桿i-1由連桿長度ai-1、連桿扭角αi-1、關節i處的關節角θi和偏置距離di來描述.

圖1 連桿坐標系的定義Fig.1 Definitions of the link-pole coordinate systems
根據連桿長度和扭角是否為零可將連桿形式分成4類;再根據關節偏置或者關節角是否為零,連桿形式進一步各被分成8種類型.當關節i是旋轉關節時,根據關節偏置di=0和di≠0的2種情況,連桿i-1有8種可能的形式,表1給出了表示這8種L1~L8的連桿形式,此時關節變量為關節角θi.當關節i是移動關節時,根據關節角θi=0和θi≠0的2種情況,連桿i-1也有8種形式,其關節變量為關節偏置di.

表1 旋轉關節對應的8種連桿形式
根據連桿的不同形式來建立連桿的簡化三維模型.下面以旋轉關節對應的8種形式的連桿的建模為例進行說明.首先定義連桿坐標系xi-1yi-1zi-1和xiyizi. 注意xi-1軸應同時與zi-1軸和zi軸垂直.然后以連桿坐標系的原點為球心生成三維球體,分別構造長度為ai-1(ai-1≠0)、軸線方向為xi-1的圓柱連桿i-1和長度為di(di≠0)、軸線方向為zi的圓柱連桿i將球體連接起來.最后組合連桿坐標系、球體和圓柱體得到如圖2所示的連桿i-1的簡化三維模型.注意連桿坐標系xi-1yi-1zi-1相對連桿i-1是固定的.坐標系xiyizi相對連桿i-1的位姿是隨關節變量θi的值變化的.

圖2 旋轉關節對應的8種連桿的簡化三維模型Fig.2 Simplified 3D model of the 8 types of link-poles corresponding to rotational joints

圖3 相鄰兩連桿的簡化模型及其模型樹Fig.3 Simplified model of two adjacent link-poles and corresponding model tree
常見的工業機器人是由一系列連桿通過關節交替連接而成的開式鏈.文獻[12]中已經給出不同連桿坐標系之間的坐標變換關系.基于關節和連桿的統一坐標系按如下步驟進行機器人的建模:1) 根據機器人的尺寸和規格,建立機器人的連桿坐標系,獲得機器人的連桿參數.2) 根據關節坐標系與連桿坐標系重合計算各關節在世界坐標系中的位姿,并在同一場景中建立所有關節的三維模型.3) 確定關節的相互運動關系.從與基座相連的關節1開始,依次令前一關節為后一關節的父節點,而后一關節為前一關節的子節點.父關節的運動將疊加在子關節的運動上.4) 依 次建立連桿的三維模型,并通過連桿坐標系與關節坐標系重合的約束依次將連桿依附到對應的關節上,使連桿的運動等于對應關節的運動,從而完成機器人的建模.基座沒有對應的關節.在建立基座的三維模型,確定基座相對世界坐標系的位姿后,基座就作為根節點成為其他所有關節和連桿的父節點.圖3所示為在V-REP中進行機器人建模時連接起來的2個連桿的簡化模型及其模型樹.
上述機器人的建模方法不僅適用于從連桿的簡化模型快速建立機器人的簡化模型,也適用于從連桿的精確模型建立機器人的精確模型.但V-REP的三維建模能力較弱,難以建立連桿的精確模型.可以在UG、PRO/E等三維建模軟件中建立機器人的精確模型,然后由V-REP提供的接口(V-REP支持導入的格式為obj、stl、dxf、3ds等)將精確模型導入到V-REP中.但導入的過程中會丟失各個連桿模型的坐標系的信息.V-REP會根據每個導入模型的最小包圍盒重新定義其坐標系.在基于關節和連桿的統一坐標系的機器人建模方法中,連桿的運動由關節的運動決定,因而V-REP的導入模型的坐標系的設定不會影響機器人模型的運動.
但連桿模型相對關節模型的位姿需與實際機器人一致,才能準確進行機器人的運動仿真和碰撞檢測等.V-REP會通過使導入模型的世界坐標系與V-REP的世界坐標系重合來確定導入模型在V-REP場景中的位置.在三維建模軟件中建立機器人的精確模型時,需保證精確模型與對應的連桿坐標系之間的正確位姿,且調整精確模型的連桿坐標系相對世界坐標系的位姿,使之與V-REP中所建立的連桿坐標系之間的位姿一致.這樣就能根據導入到V-REP的模型來建立準確的機器人模型.
機器人末端刀具軌跡的生成過程分為2個步驟:1) 基于工件三維模型生成軌跡的APT文件;2) 將APT軌跡文件轉換為機器人的軌跡文件.以密胺脂餐盤的去毛邊和打磨操作為例,密胺脂餐盤的生產采用熱壓成型,成型后需打磨去除餐盤外邊緣和把手孔邊緣處形成的毛邊,以保證邊緣的光滑.目前去毛邊和打磨操作均由工人手工操作,工作效率不高,且產生的粉塵危害工人健康.若機器人配備圓柱銑刀或立銑刀沿餐盤邊緣銑削,則可在去除毛邊的同時,獲得較好的加工表面光滑度,提高生產效率,改善工人工作環境.
首先在CAD/CAM軟件中生成刀軌及其APT文件.以圖4餐盤為例,圖4(a)中餐盤邊緣的粗線條為CAD/CAM軟件中生成的刀位軌跡,線條的寬度等于所采用的刀具的直徑.圖4(b)為刀軌所對應的APT文件.在APT文件中,刀軌由線段和弧線段組成.
其次,為了使刀具沿給定的軌跡運動,需將APT軌跡文件轉換為機器人的軌跡文件使機器人可以控制刀具的位置和姿態(主要是刀軸矢量).而文件轉換的關鍵在于將表示刀具的位置和姿態的刀具坐標系{T}與表示刀具運動到目標點的位置與姿態的目標坐標系{G}重合.刀具坐標系的z軸與刀軸矢量共線,而x軸和y軸在與刀軸矢量垂直的平面內選取,一般取與機器人末端連桿的連桿坐標系的坐標軸平行的方向矢量.

如圖5(a)所示,將APT軌跡文件轉換為機器人的軌跡文件還需知道工件坐標系{P}、目標坐標系{G}、機器人基坐標系{B}、機器人末端連桿坐標系{6}、刀具坐標系{T}之間的變換關系.這些坐標系之間的位姿關系形成了圖5(b)所示的封閉環,即
(1)
從式(1)可得機器人末端刀具沿給定軌跡運動時,機器人的運動學方程:
(2)

圖4 通過CAD/CAM軟件獲取的刀軌和APT文件Fig.4 Tool paths and APT files obtained through CAD/CAM softwares

圖5 機器人和工件的相互位姿關系Fig.5 The pose relationship between a robot and a workpiece


圖6 FANUC-M10I機器人的連桿坐標系Fig.6 Link-pole coordinate systems of FANUC-M10I robot

(3)
結合MATLAB和V-REP的優勢進行機器人的運動仿真和碰撞檢測.MATLAB讀取APT軌跡文件,進行軌跡插值和采樣,計算不同坐標系之間的位姿變換矩陣,求取機器人運動學的正解和反解.另外,在MATLAB中編寫控制程序,通過MATLAB和V-REP之間的通信連接,使得V-REP中模型能夠響應MATLAB中編寫的控制程序進行運動仿真.
V-REP則用來建立機器人加工的三維場景,根據MATLAB提供的關節參數等的控制值進行機器人運動仿真和碰撞檢測.在V-REP中創建的機器人控制模型包括機器人及其加工環境的三維模型、機器人的控制代碼和通信接口.在V-REP的控制腳本中為機器人編寫控制代碼和連接通信接口.V-REP的控制腳本分為線程腳本和非線程腳本2種.線程腳本在運動模擬時能夠從通信接口不斷接受外部指令進行運動.因此選擇線程腳本,以便V-REP能不斷接受MATLAB控制程序發出的控制指令.
V-REP中的機器人控制模型和MATLAB控制程序之間需要可靠地數據通信服務.通信體系選擇常見的客戶端-服務器模式,以V-REP為客戶端,MATLAB控制程序為服務器端,具體的過程可以參考V-REP中的幫助文件.仿真開始時,先點擊V-REP中的仿真按鍵,然后在MATLAB中運行控制程序,V-REP中的機器人就會按照MATLAB控制程序生成的控制值進行運動.
以FANUC-M10I機器人對密胺脂餐盤進行銑邊加工為例,對機器人加工過程進行運動仿真和碰撞檢測.
根據機器人尺寸規格等相關技術資料獲得表2所示的FANUC-M10I型機器人的連桿參數,建立圖6所示的連桿坐標系.根據表2中關節變量的取值和連桿參數定義連桿坐標系在世界坐標系中的位置,并采用前文所述關節和連桿統一坐標系的建模方法在V-REP中建立關節模型、連桿模型、機器人模型.

表2 FANUC-M10I型機器人的連桿參數
考慮實際加工的需要,選擇銑刀的型號為UTEB9014,其刃徑為4 mm,切削長度為20 mm,總長為60 mm.根據銑刀的參數,在V-REP中建立末端刀具和工作臺的簡化模型,并通過V-REP導入餐盤三維模型.最終建立了圖5(a)所示的機器人及其加工環境的三維模型.在建模過程中,確定了工件坐標系和機器人基坐標系之間、刀具坐標系和機器人末端連桿坐標系之間的位姿關系.

圖7 FANUC-M10I機器人銑邊過程的運動仿真Fig.7 Motion simulation of milling process of FANUC-M10I robot
借助CAD/CAM軟件生成密胺脂餐盤的刀軌跡及其APT文件.然后在MATLAB中讀取APT文件,重新計算軌跡點,定義軌跡點處的目標坐標系,由式(2)和式(3)計算刀具沿軌跡運動時機器人的關節變量的取值.對于密胺脂餐盤,除去進刀退刀的軌跡點,共獲得了均勻分布的4 570個軌跡點,軌跡點之間的間距約為0.4 mm,其中外邊緣有3 590個軌跡點,左右把手的孔邊緣各有501個和479個軌跡點.最后結合MATLAB和V-REP對銑邊過程進行運動仿真.圖7是運動過程中4個時刻的截圖.
V-REP可在運動仿真中實時計算刀具與工件之間的最短距離,進行碰撞檢測.如果發生碰撞,則改變工件的顏色.在整個仿真過程中,均未出現工件改變顏色的情況,因而刀具沿所生成的軌跡運動時沒有與工件發生干涉.為了對碰撞情況進行定量分析,獲取刀具在每個軌跡點時與工件的最短距離d.對于外邊緣軌跡,d的均值為0.05 mm,均方差為0.03 mm,d的最大值為0.15 mm.對于其中一個把手的孔邊緣軌跡,d的均值為0.08 mm,均方差為0.03 mm,d的最大值為0.18 mm.對于另一個把手的孔邊緣軌跡,d的均值為0.07 mm,均方差為0.03 mm,d的最大值為0.12 mm.由此可見刀具沿給定軌跡運動時,刀具到工件的最短距離并沒有達到理想的零值.這是因為工件模型是以網格模型導入到V-REP中的,存在模型近似和導入誤差.另外軌跡的提取和計算、坐標系的建立和變換等還存在舍入誤差.這些誤差的積累導致刀具到工件的最短距離不為零.通過前述定量分析得到刀具到工件的最短距離保持在0.06 mm左右,均方差約為0.03 mm,滿足餐具盤銑邊加工的精度要求.
本文中提出了聯合MATLAB和V-REP進行機器人加工軌跡生成和運動仿真的方法.在MATLAB中計算刀具軌跡和機器人運動學的正解和反解;在V-REP中建立機器人及其加工環境的三維模型;通過MATLAB中的外部控制程序和V-REP中的控制腳本、MATLAB和V-REP之間的通信接口,使V-REP中的機器人模型響應外部控制程序進行運動仿真和碰撞檢測.
在機器人建模方面,定義了不同關節和連桿的簡化模型,提出了基于關節和連桿統一坐標系的建模方法,給出了機器人簡化模型和精確模型的2種建模方式;在機器人軌跡生成方面,給出了從工件三維模型生成機器人刀具軌跡的方法,包括刀軌的APT文件獲取方式和APT文件到機器人軌跡的轉換方法.
采用本文中的方法對密胺脂餐盤的機器人銑邊過程進行了仿真.建立了機器人及餐盤銑邊加工環境的三維模型,獲取了餐盤外輪廓和把手孔的銑邊軌跡,對銑邊過程進行了運動仿真和干涉檢查.仿真結果表明所提出的方法能夠生成無干涉加工軌跡和正確的機器人關節運動參數.下一步的工作包括對其他工件的加工過程進行仿真,開展機器人加工實驗等.