郭凱瑞 王豆
(西安理工大學陜西省制造裝備重點實驗室,陜西 西安 710048)
隨著工業機器人的推廣,生產生活對機器人各方面性能要求越來越高,包括定位準確快速、末端軌跡規劃合理,雕刻機器人是工業機器人中常見的種類之一。影響雕刻機器人性能的參數眾多,比如其動力學驅動力與質量、質心位置等參數密切相關[1-3],其中冗余度機器人的軌跡規劃是非常受關注的領域之一。當末端執行器在任務空間中執行選擇的軌跡(即避障)時,可以根據給定的關鍵因素(時間、速度、力矩)對機器人進行優化。
本文以雕刻寫字為目標,以PUMA560 的D-H 參數表為基礎,確定六自由度關節機器人傳動系統,對各關節電機進行設計計算,在SOLIDWORKS 中對所設計機器人進行建模。根據已建好的機器人參數模型,運用D-H 法則完成各連桿坐標系的建立,進而對正向運動學建模,采用反變換法,得到機器人逆運動學的封閉解。并采用牛頓- 歐拉法和拉格朗日方法,分別利用Matlab 的符號計算功能,建立動力學模型進行基于機器人模型控制的仿真。接著,將所建模型進行簡化,導入Simulink 中,并針對該機器人進行運動控制仿真,完成控制算法的驗證。針對特定運動軌跡以Matlab 為工具,采用三次多項式、拋物線以及B樣條等完成關節空間的插值,得到平滑軌跡完成優化。并以實際例子完成雕刻字的軌跡提取以及仿真,驗證該方法的正確性。
以Puma560 的DH 參數表為基礎,設計六自由度關節機器人傳動系統,要求其末端可支持5kg 以上質量的負載,對各關節電機進行設計計算選型,確定減速器方案,在SolidWorks 中對其進行建模(圖1)。

圖1 機器人裝配三維結構圖
在Simulink 中建立機器人的模型,六個關節,七個剛體,根據MDH 法則建立的坐標系。在Matlab 中實現機器人運動學逆解,然在Simulink 完成動力學方程建模。在仿真模型中輸入每個關節特定力矩,仿真過程中會讀取每個關節的當前位置,以及生成一個使每個關節同時達到預期的結尾位置的軌跡。然后應用PUMA560 的非線性動力學模型中,并利用Matlab 的符號計算功能,得到其動力學方程,基于牛頓歐拉遞推方法建模,其遞推程序在此不具體列出,利用cell 存儲各個變量的值。并通過工具箱證明動力學模型正確性。至此,機器人的結構及動力學方程建立完畢。

圖2 A 圖像、細線化圖像以及軌跡圖像對比
如果末端執行器的軌跡如圖2,首先提取其坐標序列。一般常見的提取字筆畫的算法都采取提取外輪廓方法,經過一層層的刪除滿足外層點特征的點,仍要保持原來的形狀,直到得到圖像的單線組成骨架,根據這些信息可以實現圖像上特征點的檢測,如端點、交叉點和拐點,并進一步完成軌跡細線化如圖2。細線化以后點與點之間并無順序,因此應提取其筆畫序列,筆畫序列如圖3。
為了儲存字的壁畫信息,創建相應的數據結構,并運行然后將其序列輸出,其序列保存在坐標的xlsx 文件中,第一列代表行,第二列代表列,第三列代表下一點的方向,并在MATLAB中恢復,該部分長度取決于該軌跡輸出點集合的長度。因為plot函數的原點在左下角,而圖像原點在左上角,因此呈現左轉90度趨勢,并且因為算法中為了區分一個筆畫跟一個筆畫的區別,因此在一筆筆畫開始前,都加了(0,0,0)點,而plot 函數將所有點插值畫出來,因此呈現如圖效果。當有了字母A 的平面坐標信息,需要將其恢復成基礎坐標系的位置和姿態信息。然后經過機器人的逆運動學方程,得到關節空間的角度序列,需要根據操作空間的要求,如勻速,對其進行軌跡規劃,輸出該軌跡的各個關節角位移,角速度,角加速度。
連續多點軌跡控制實現:
設置電機為位置控制模式,利用逆運動學求出該軌跡序列解,然后對其進行速度規劃,加速度規劃。其目標運行軌跡(主要控制其在y=0.803 平面上的A) 如圖3。建立pd 控制SIMULINK 模型,如圖4。控制其從(pi/2,0,pi/2,0,-pi/2,0)到(2,2,2,2,2,2),設置pd 增益參數均為(112,100),配置環境為無重力。其各關節(從1 至6,底座至末端執行器的編號順序)響應曲線依次如圖4。

圖3 目標運行軌跡

圖4 腰部關節響應曲線
本文基于已完成的6R 機器人傳動設計,在MATLAB 環境下,建立了機器人的運動模型,完成動力學仿真,在此基礎上提出了雕刻機器人軌跡控制算法,在OPENCV 環境下,完成文字的細線化處理,并提取了文字軌跡,生成了筆畫序列,驗證了該控制算法。