張世超,陶存炳,黃 偉
(中國船舶重工集團公司第七二三研究所,江蘇 揚州 225101)
《中國制造2025》是國務院印發的部署全面推進實施制造強國的戰略,使用機器人替代一些傳統的制造產業是實現制造強國的必要途徑[1]。
機器人的軌跡規劃和仿真在智能制造中占有非常重要的地位,目前通用的建模軟件如CAD、CATIA、SOLIDWORKS等雖然可以精確建模并進行虛擬加工和制造,但其功能的擴展性和開放性較差[2]。另一類動力學模擬分析軟件ADAMS、Recurdyn、RoboGuide、RobotStudio等物理引擎算法非常精確,但價格不菲,還需要每年續費。OpenGL雖然具有強大的圖形庫功能,但使用時需要大量的軟件開發工作;對操作人員的專業知識和編程能力要求較高。而專用軟件適用于特定品牌的機器人,難以進行擴展開發。
V-REP作為三維運動仿真軟件,本身可以進行一般的建模,復雜的建模也可以通過三維軟件生成模型然后導入使用[3]。V-REP也具有開源性和包含豐富的API等優點,可以聯合MATLAB等軟件進行聯合仿真,但是MATLAB難以有效進行機器人及其工作環境的三維仿真[4]。V-REP聯合MATLAB仿真既可以利用MATLAB強大的計算能力,又可以使得三維圖形在V-REP中逼真地顯示出來,同時后期可以進行碰撞檢測和加工精度分析[5]。
工件加工軌跡的生成一般是在工件坐標系下進行的,工件坐標系一般會選擇在工件的中心點位置,根據需要規劃好工件的加工軌跡點的位置和姿態[6]。如圖1所示,{G}為軌跡點坐標系,{P}為工件坐標系,以勺子為例需要對其進行銑削去毛刺,銑削路線包括勺子的外輪廓和柄孔。

圖1 勺子三維模型
勺子為密胺脂材料注塑成型,成型后需要對其進行去毛刺作業,首先MASTERCAM中規劃勺子的加工刀軌跡;然后用CAM軟件進行后處理生成如圖2所示的APT刀位文件,文件中包括了各個加工軌跡點的位置信息;之后用MATLAB讀取APT刀位文件進行編程處理,確定相應的刀軌跡,刀軌跡分別是勺子的外輪廓和把手孔的進刀、走刀、退刀3個部分,圖3所示為MATLAB生成的刀軌跡圖[7-9]。

圖2 APT刀位文件信息

圖3 MATLAB生成的刀軌跡圖

機器人勺子加工環境如圖4所示,其中機器人選擇為FANUC-M10I,{B}為機器人基坐標系,{6}為機器人第6軸坐標系,{T}為工具坐標系。

圖4 機器人勺子加工環境
機器人加工軌跡生成分為2步:第一是需要明確機器人及工件的環境,包括工件坐標系與加工軌跡點之間的位姿關系、機器人與工件之間的相對位姿關系、機器人與加工刀具之間的相對位姿關系,各個坐標系關系組成的閉環圖(如圖5所示);第二是需要進行矩陣運算,根據各個坐標系之間的關系,得出機器人運動到各個軌跡點時機器人的第6軸坐標系相對于機器人基坐標系的位姿關系。在機器人運動過程中,需要讓工具坐標系{T}與加工目標點的坐標系{G}相重合,各個坐標系關系組成一個閉環鏈,如圖5所示,各個坐標系關系如下:
(1)
(2)
令兩式相等得:
(3)
得到:
(4)

圖5 坐標系關系閉環圖

此處省略機器人的逆運動學解算過程,可以參考文獻[11],求得的運動學反解往往不唯一,須根據機器人的各項參數和工作環境,從中選擇最合適的解。首先每組解對應關節角度值應該符合機器人手冊所規定的各個關節角的取值范圍;其次從滿足關節角運動范圍的解集中選擇關節角絕對值之和最小的解作為最合適的解;最后需要進行碰撞檢測仿真來看是否滿足無干涉要求,若滿足要求則選擇為最優解[12]。此關節角數據是在MATLAB中計算生成的,并以弧度值的形式保存成文本格式,此文本可以用來提供給V-REP進行仿真。
本文結合了MATLAB與V-REP的優勢進行聯合仿真。MATLAB主要用來進行運算,包括讀取MASTERCAM中的APT刀位點文件、生成工件坐標系下各個軌跡點的位姿、計算機器人坐標系下相關的位姿矩陣、逆運動學解算生成機器人各個關節角的最優解并將數據傳給V-REP仿真[13]。V-REP的功能包含三維場景模型的建立、接受MATLAB的轉角信息進行運動仿真、碰撞檢測并進行各個軌跡點的精度測量[14]。V-REP與MATLAB在機器人仿真中的功能及之間的通訊關系如圖6所示,在V-REP的控制腳本中需要機器人編寫控制代碼和連接通訊接口。V-REP的腳本分線程腳本和非線程腳本。線程腳本在模擬時能夠從通訊接口不斷接收外部指令。因此選線程腳本以便V-REP能不斷接收MATLAB相應程序發出的指令。

圖6 MATLAB與V-REP聯合仿真方法框圖
V-REP和MATLAB之間的通訊體系選擇常見的客戶端-服務器模式,以V-REP為客戶端,MATLAB控制程序為服務器端,具體過程可以參考V-REP中的幫助文件。仿真開始時,先點擊V-REP中的仿真按鍵,然后在MATLAB中運行控制程序,V-REP中的機器人就會按照MATLAB控制程序生成的控制值進行運動。按照上述方法進行的仿真實驗結果表明,可以生成無干涉的加工軌跡,圖7為機器人勺子去外輪廓毛刺過程的運動仿真時刻,圖8為機器人加工孔的運動仿真時刻。

圖7 機器人銑邊作業

圖8 機器人加工勺子孔作業
當機器人仿真時,需要對其進行實時的碰撞檢測。碰撞檢測的方法是在V-REP中進行設定,在V-REP界面Calculation Modules中選擇檢驗碰撞的物體,此處選擇了shaozi(勺子)和daoju(刀具),如圖9所示。當機器人運動中兩者發生碰撞的時候,勺子的顏色就會變紅提醒此處碰撞。詳細設置過程可以參考V-REP幫助說明書。

圖9 V-REP中碰撞檢測的設置
當機器人碰撞檢測后發現沒有干涉的時候,需要對其加工的軌跡進行定量評價。評價方法為:第1步在機器人運動過程中對每個加工軌跡點到工件的最短距離進行測量,此處加工軌跡點分兩部分(勺子炳孔和勺子外輪廓),此處測量可以在V-REP中調用程序實現;第2步是進行加工軌跡點的最大值、最小值、均值、方差計算;第3步是檢驗指標是否合格,不合格將重新進行機器人軌跡規劃。
勺子中,除去進刀退刀的軌跡點,共獲得了均勻分布的2 154個軌跡點,其中外邊緣有2 001個軌跡點,勺子把手孔的內邊緣有153個軌跡點,綜合所有勺子軌跡點刀具到工件的最短距離的均值為0.028 mm,均方差為0.005 4 mm,最大為0.041 mm。對于其中外邊緣軌跡,刀具到工件的最短距離的均值為0.028 mm,均方差為0.005 3 mm,最大0.041 mm。對于其中勺子孔軌跡,刀具到工件的最短距離的均值為0.022 5 mm,均方差為0.003 9 mm,最大為0.031 mm。表1為勺子加工軌跡點的數值分析表。

表1 數值分析表
由此可見,刀具沿給定軌跡運動時,刀具到工件的最短距離并沒有達到理想的零值。這是因為工件模型是以網格模型導入到V-REP中的,存在模型近似和導入誤差。另外軌跡提取和計算、坐標系的建立和變換等還存在舍入誤差。這些誤差的積累導致刀具到工件的最短距離不為零。通過前述定量分析得到刀具到工件的最短距離保持在0.028 mm,均方差在0.005 4 mm,滿足勺子銑邊加工的精度要求。
本文提出了一種機器人軌跡規劃和仿真的方法。在MASTERCAM軟件中生成加工后處理APT文件;在MATLAB中讀取APT文件計算刀具軌跡和機器人運動學的正解和反解;在V-REP中建立機器人三維加工場景和通訊接口;通過MATLAB編寫控制程序和V-REP中的線程腳本控制,使V-REP中的機器人模型響應MATLAB控制程序進行運動仿真和碰撞檢測;通過調用V-REP中的API進行刀具與工件之間的最短距離測量,并進一步進行數據處理分析。
本文對勺子進行了去毛刺軌跡生成、加工仿真、碰撞檢測及加工精度分析。實驗數據表明所提出的方法能夠生成無干涉加工軌跡和正確的機器人關節運動參數。采用本文提出的方法可以建立多種加工工藝下對應的刀具軌跡,能針對不同的機器人進行相應的仿真和碰撞檢測分析,同時可以進行軌跡的精度分析。