石 磊,金忠全
(1.西南科技大學(xué)制造科學(xué)與工程學(xué)院,四川綿陽 621010;2.西南交通大學(xué) 機械工程學(xué)院,成都 610000)
20世紀(jì),機器人被開發(fā)出來并應(yīng)用到諸多領(lǐng)域。世界各國都競相發(fā)展機器人技術(shù),使機器人無論是在技術(shù)上、數(shù)量上還是其應(yīng)用領(lǐng)域都有前所未有的發(fā)展。機器人仿真是機器人研究中的一項重要內(nèi)容,可以利用計算機的計算和可視化功能,模擬機器人的動態(tài)特性和運動軌跡,在機器人示教編程、軌跡規(guī)劃、碰撞檢測等方面有著廣泛的應(yīng)用。目前,機器人的三維仿真技術(shù)大致可以分為兩類:一種是依托專業(yè)軟件實現(xiàn)機器人運動仿真,如利用ADAMS建立機器人仿真平臺[1-2],利用Pro/E軟件完成機械手的虛擬裝配[3],利用Solid Works軟件建立海洋平臺導(dǎo)管架弧焊機器人離線編程系統(tǒng)[4],利用CATIA V5軟件對工業(yè)機器人運動學(xué)進(jìn)行仿真[5]等;另一種是利用編程語言自行開發(fā)以實現(xiàn)機器人運動仿真,如利用C++編程語言實現(xiàn)機器人的運動仿真[6-7],基于 Java3D的仿人型機器人三維仿真[8]等。前一種方法結(jié)合專業(yè)軟件的優(yōu)勢,分析和計算功能較強,而后一種方法自行開發(fā),具有一定的周期,但更具有自主性。
隨著仿真技術(shù)的發(fā)展,工業(yè)機器人末端位姿的運動軌跡需要更加實時精確。而與機器人仿真技術(shù)相關(guān)的機器人學(xué)涉及了較多的數(shù)學(xué)知識,在編程和開發(fā)中存在大量的數(shù)組運算。如果利用編程語言編寫這些數(shù)組運算,將使得程序復(fù)雜、不容易調(diào)試且實時效果不理想。MATLAB在數(shù)學(xué)計算上有著得天獨厚的優(yōu)勢,具有很強的數(shù)據(jù)運算功能,特別是矩陣運算。這是其他軟件或編程語言所無法比擬的。但MATLAB三維建模的功能明顯弱于通用的一些軟件,如3DMAX,Pro/E等等。因此采用MATLAB和Pro/E結(jié)合以構(gòu)建四自由度機器人平臺。
四自由度SCARA機器人是一種通用工業(yè)機器人[9],常用于搬取零件和裝配工作。它具有四個關(guān)節(jié)和四個運動自由度,其中有三個旋轉(zhuǎn)關(guān)節(jié),一個移動關(guān)節(jié)。移動關(guān)節(jié)用于完成末端執(zhí)行件的升降運動。SCARA機器人的模型如圖1。
圖1 四自由度SCARA機器人
對四自由度SCARA機器人按照D-H方法建立各連桿坐標(biāo)系,相應(yīng)的四自由度SCARA機器人連桿參數(shù)如表1。
表1 機器人連桿參數(shù)
表中參數(shù)滿足:-160°≤θ1≤160°,-110°≤θ2≤110°,0≤d3≤60mm,-266°≤θ4≤266°,L1=200mm,L2=135mm。
根據(jù)建立的連桿坐標(biāo)和連桿參數(shù),我們通過式1得到各連桿變換矩陣。
各連桿變換矩陣的乘積得到四自由度機器人的運動學(xué)方程式(6):
對四自由度SCARA機器人,將其分解為底座、大臂、小臂、移動關(guān)節(jié)和末端五個模塊。在Pro/E繪制相應(yīng)模塊,選擇模塊的對應(yīng)各個連桿正確的原點及正確的坐標(biāo)軸指向,建立草圖,進(jìn)行拉伸,得到各個連桿的3D 模型[10]。
Pro/E建立的各連桿的3D模型(prt文件)不能直接被MATLAB調(diào)用,需要進(jìn)行格式的轉(zhuǎn)換。STL(ASCII)格式的三維模型是由許多的數(shù)據(jù)點構(gòu)成的,而以任意三個數(shù)據(jù)點組成的三角形的集合來表示物體外部輪廓形狀的幾何模型。其中,每個三角形面片由四個數(shù)據(jù)行表示,即三角形的三個頂點坐標(biāo)值和三角形面片的外法線矢量坐標(biāo)值,STL文件其實就是由多個三角形面片的組合而成的。在研究了MATLAB和Pro/E支持的文件類型的基礎(chǔ)上,提出了如圖2的解決方案。
圖2 模型的導(dǎo)入流程
MAT文件是MATLAB可以調(diào)用的格式。根據(jù)STL(ASCII)格式的特點,編寫接口函數(shù),實現(xiàn)數(shù)據(jù)的存儲工作。MAT文件存儲了STL文件中重要的數(shù)據(jù)信息,如三角面片的法向量坐標(biāo)值及構(gòu)成面片的三個頂點的坐標(biāo)值等。
可視化是仿真技術(shù)的特征之一。利用MATA-LAB三維可視化技術(shù)對機器人操作界面進(jìn)行設(shè)計。操作界面分為了運動區(qū)和控制區(qū),通過uicontrol,uimenu與uicontextmenu等函數(shù)構(gòu)建出需要的GUI。
建立figure對象來作為整個GUI的基礎(chǔ)窗口,并設(shè)置該窗口的相關(guān)屬性。然后建立axes或uicontrol,uimenu,uicontextmenu對象,并設(shè)置它們的相關(guān)屬性及callback函數(shù)來實現(xiàn)相關(guān)的控制操作。導(dǎo)入四自由度各連桿的3D模型數(shù)據(jù),并采用patch()函數(shù)正確組裝四自由度SCARA機器人整體模型,實現(xiàn)了圖形區(qū)的設(shè)計??刂茀^(qū)域包括包含滑動條、文本框及控制按鈕的建立等。建立的控制區(qū)圖3所示,其中各個關(guān)節(jié)變量的范圍由SCARA機器人的設(shè)計參數(shù)決定。
圖3 機器人的運動控制面板
在導(dǎo)入四自由度SCARA機器人各連桿3D模型數(shù)據(jù)和建立控制區(qū)域后,編寫SCARA機器人的正運動學(xué)函數(shù)SCARADK()和逆運動學(xué)函數(shù)SCARAIK()。對于四自由度SCARA機器人,由于它的三個旋轉(zhuǎn)關(guān)節(jié)軸線平行,所以最多只有兩組解。采用行程最小的原則選取最優(yōu)解。并對SCARA機器人的正解和反解加以驗證以保證其正確性。
搭建完畢的四自由度SCARA機器人仿真平臺如圖4。
圖4 SCARA機器人仿真平臺
假定期望軌跡為從(250,0,60)到(300,0,60)的一條直線,機器人運動軌跡如圖5。
圖5 SCARA機器人直線運動軌跡
在研究了機器人建模方法的基礎(chǔ)上,采用MATLAB和Pro/E相結(jié)合的方法搭建了四自由度SCARA機器人仿真平臺,并利用三維可視化技術(shù)展示了機器人了實時動態(tài)的運動情況,實現(xiàn)了機器人的運動學(xué)仿真。結(jié)果證明,這種建模和仿真的方法是有效的,模型是可操作的,可以為機器人進(jìn)一步分析和研究提供參考。
[1]Ting Yao,Yu-xian Gai and Hui-ying Liu,Commercial CAD Tools Based Digital Integrated Development Platform for Laser Cutting Robot,Proceedings of the 2009 IEEE International Conference on Robotics and Biomimetics,December 19-23,2009:2114-2118.
[2]毛立民,鄒劍.關(guān)節(jié)型碼垛機械手運動學(xué)分析及仿真[J].組合機床與自動化加工技術(shù),2010(9):44-47.
[3]譚曉東,劉鑫,趙巖.PUMA560機械手虛擬裝配過程中的視覺分析和變換計算的研究[J].組合機床與自動化加工技術(shù),2010(1):27-31.
[4]張牧,李亮玉,王天琪,等.基于Solid Works的海洋平臺導(dǎo)管架弧焊機器人離線編程系統(tǒng)[J].上海交通大學(xué)學(xué)報,2008(S1):12-14.
[5]邢迪雄,張琦.基于CATIA V5的工業(yè)機器人運動學(xué)仿真研究[J].機械,2011(1):57-61.
[6]顧劍鋒,張興國,朱龍彪.基于DSP運動控制器的5R工業(yè)機器人系統(tǒng)設(shè)計[J].組合機床與自動化加工技術(shù),2009(11):52-55.
[7]李吉平,杜江,彭健均.基于精度可控幾何模型的CRT工業(yè)機器人運動仿真[J].組合機床與自動化加工技術(shù),2010(9):67-69.
[8]孫毅軍,佘蕾斌,邱長伍,等.基于Java3D的仿人型機器人三維仿真[J].上海交通大學(xué)學(xué)報,2007(8):1287-1291.
[9]郭其龍,張連東.SCARA型機器人魯棒控制及仿真的研究[J].組合機床與自動化加工技術(shù),2008(2):38-41.
[10]鐘日銘.Pro/ENGINEER產(chǎn)品建模與Cinema4D渲染表現(xiàn)[M].北京:清華大學(xué)出版社,2010.