魯 可,曹 毅,李秀娟
(河南工業(yè)大學(xué) 電氣工程學(xué)院,河南 鄭州 450007)
機(jī)器人的工作空間定義為在結(jié)構(gòu)限制下末端執(zhí)行器能夠達(dá)到的所有三維位置的集合[1]。工作空間也稱(chēng)為工作容積或者工作包絡(luò)面。機(jī)器人工作空間的大小代表了機(jī)器人的活動(dòng)范圍,它是衡量機(jī)器人工作能力的一個(gè)重要的運(yùn)動(dòng)學(xué)指標(biāo)[2]。
在機(jī)器人工作空間的計(jì)算中,我們最關(guān)心的是其相應(yīng)的形狀和體積。機(jī)器人工作空間的這兩方面非常重要,因?yàn)樗鼈冇绊懼僮鞅鄣脑O(shè)計(jì)和操作臂的靈活性。目前,機(jī)器人工作空間的求解方法主要有解析法、圖解法以及數(shù)值法[1]。分析法可以確定工作空間邊界曲面的閉合形式描述,但是這些方法通常與機(jī)器人運(yùn)動(dòng)學(xué)的非線(xiàn)性方程和倒置矩陣相關(guān),因而非常復(fù)雜[3]。相對(duì)而言,數(shù)值法較為簡(jiǎn)單靈活。由于概率方法與逆雅可比計(jì)算無(wú)關(guān),比較容易實(shí)現(xiàn),因此研究人員通常所選擇的概率方法是蒙特卡洛方法[4,5]。本文主要是通過(guò)一種基于數(shù)值方法和三維實(shí)體建模的方法來(lái)確定三維操作臂工作空間的3D形狀和體積。
本文列舉了一種機(jī)器人操作臂的例子來(lái)闡述3D 建模方法。機(jī)器人操作臂如圖1 所示,它包含一個(gè)回轉(zhuǎn)關(guān)節(jié)和兩個(gè)移動(dòng)關(guān)節(jié)(RPP 模型)。該機(jī)器人操作臂的前向運(yùn)動(dòng)學(xué)方程為:
圖1 一個(gè)RPP 機(jī)器人操作臂的模型Fig.1 A RPP robot manipulator model
對(duì)于RPP 模型來(lái)說(shuō),回轉(zhuǎn)關(guān)節(jié)(J2)的活動(dòng)范圍沒(méi)有限制,兩個(gè)移動(dòng)關(guān)節(jié)(J1 和J3)的移動(dòng)范圍分別為a1∈[0,1]和a3∈[0,1]。
在模型中,如果第一個(gè)關(guān)節(jié)固定,那么機(jī)器人操作的其余部分可以視作一個(gè)平面機(jī)器人,也就是說(shuō)機(jī)器人的運(yùn)動(dòng)被限定在一個(gè)平面內(nèi)。當(dāng)機(jī)器人的第一個(gè)關(guān)節(jié)變量等于零時(shí),定義這個(gè)平面為主工作平面。機(jī)器人在主工作平面上相應(yīng)的運(yùn)動(dòng)學(xué)方程如下所示:
假設(shè)機(jī)器人在主工作平面上的邊界閉合曲線(xiàn)可以得到,那么其3D 實(shí)體工作空間可以在Unigraphics 軟件中通過(guò)沿關(guān)節(jié)1 的Z0軸旋轉(zhuǎn)或伸展平面曲線(xiàn)計(jì)算得出。
由上述可知,獲得機(jī)器人的3D 工作空間有兩個(gè)重要步驟。首先是確定平面機(jī)器人的邊界閉合曲線(xiàn),然后通過(guò)將閉合曲線(xiàn)輸入到Unigraphics 軟件中來(lái)生成3D 工作空間。
本文依據(jù)從機(jī)器人關(guān)節(jié)空間到工作空間的運(yùn)動(dòng)學(xué)映射關(guān)系,采用蒙特卡洛方法[6]計(jì)算機(jī)器人的工作空間。工作空間生成的原理就是關(guān)節(jié)變量與工作空間的映射關(guān)系[7]。
(1)生成近似工作空間。操作臂的關(guān)節(jié)空間采用蒙特卡洛方法來(lái)獲得近似工作空間。一個(gè)由隨機(jī)點(diǎn)構(gòu)成的工作空間如圖2 所示。
圖2 蒙特卡洛點(diǎn)的分布圖Fig.2 Distribution of monte Carlo point
圖3 搜索輪廓點(diǎn)Fig.3 Search of outline points
(2)繪制邊界曲線(xiàn)。首先,我們將每一層的工作空間被劃分成不同的列。這樣問(wèn)題即簡(jiǎn)化成在一條線(xiàn)上尋找邊界點(diǎn)。由于每列至少有一個(gè)蒙特卡洛點(diǎn),邊界點(diǎn)可以用以下步驟獲得:①沿著Y 軸尋找極值ymax, ymin和相應(yīng)的點(diǎn)Emax,Emin;②根據(jù)Y 坐標(biāo)的值,將蒙特卡洛點(diǎn)分配到相應(yīng)的列;③沿著X 軸在每一列上尋找邊界點(diǎn);④連接邊界點(diǎn)建立邊界曲線(xiàn)。從點(diǎn)Emax,依次尋找最近的點(diǎn),用直線(xiàn)連接,直到所有的點(diǎn)構(gòu)成閉合曲線(xiàn)為止。
通過(guò)上述四個(gè)步驟,可以得到RPP 機(jī)器人在主工作平面的邊界曲線(xiàn),如圖4 所示。
保存所得到的連續(xù)的邊界曲線(xiàn)到一個(gè)以.dat 為后綴的文件中。這個(gè)文件格式總共包含3 列,第1 列為x 軸坐標(biāo),第2 列為y 軸坐標(biāo),第3 列為z 軸坐標(biāo)。
圖4 RPP 機(jī)器人在主工作平面的邊界曲線(xiàn)Fig.4 Boundary curve of main workspace of RPP robots
機(jī)器人的工作空間的3D 模型可以幫助人們更好的理解3D 空間中工作空間的形狀和體積。在這里我們選用Unigraphics 軟件來(lái)建立機(jī)器人工作空間的3D 模型。
我們將主工作空間平面的邊界曲線(xiàn)輸入到Unigraphics 軟件中。利用該軟件菜單“Insert→Curve→Spline”,在Spline popup 菜單中單擊“Through Points”,然后在“Spline Through Points”中選擇“Spline Through Points”,并設(shè)置曲線(xiàn)維度為1,單擊“Points from file”。我們選擇包含邊界點(diǎn)的文件,單擊“OK”即可。在菜單“Insert→Design Feature→Revolute”中,選擇邊界曲線(xiàn)為部分幾何,單擊Z 軸作為旋轉(zhuǎn)軸,然后輸入轉(zhuǎn)動(dòng)角度為(-90°, +90°),就可以得到3D 工作空間的實(shí)體模型。
對(duì)于RPP 機(jī)器人,其主工作平面的工作空間的邊界曲線(xiàn)如圖4 所示。采用上述步驟,將邊界曲線(xiàn)輸入到Unigraphics 軟件中,由于第一個(gè)關(guān)節(jié)為棱柱,我們可以將邊界曲線(xiàn)沿Z 軸第一個(gè)關(guān)節(jié)的運(yùn)動(dòng)范圍a1(0,1)旋轉(zhuǎn),生成RPP 機(jī)器人的工作空間。如圖5 所示,RPP 機(jī)器人的3D 工作空間是一個(gè)實(shí)體的圓柱。
在Unigraphics 軟件中選擇菜單“Analysis →Mass properties”,然后點(diǎn)擊實(shí)體空間,可以得到RPP 機(jī)器人的工作空間的體積為3.1325。
我們還可以通過(guò)分析方法進(jìn)一步的計(jì)算工作空間的體積。通過(guò)以下公式計(jì)算RPP 機(jī)器人的工作空間體積:
圖5 RPP 機(jī)器人的實(shí)體工作空間Fig.5 Entity workspace of RPP robot
其中Va是分析表達(dá)式所求的體積,相應(yīng)的體積值為π,約為3.1416。
通過(guò)數(shù)值分析和建模所得到的體積與分析方法所得到的體積偏差約為0.289%。顯然,從工程的角度來(lái)看,這點(diǎn)偏差是微不足道的。
本文提出了一種基于數(shù)值算法和實(shí)體建模的綜合方法,介紹和分析了機(jī)器人操作臂的工作空間。該算法基于蒙特卡洛方法,并用3D 軟件Unigraphics 進(jìn)行建模。數(shù)值算法利用了從關(guān)節(jié)坐標(biāo)系到任務(wù)坐標(biāo)系的映射函數(shù)的性質(zhì),來(lái)獲得由點(diǎn)云構(gòu)成的主工作平面的近似2D 工作空間。主工作平面的邊界點(diǎn)和曲線(xiàn)由平面機(jī)器人工作空間的切片得到。該方法利用隨機(jī)概率和實(shí)體建模軟件,為機(jī)器人操縱臂的設(shè)計(jì)和評(píng)價(jià)提供了一個(gè)有效和簡(jiǎn)單的工具。
[1]劉海濤,楊樂(lè)平,朱彥偉,韓大鵬.空間機(jī)器人工作空間研究[J].組合機(jī)床與自動(dòng)化加工技術(shù),2011,8.
[2](美)理查德.摩雷;李澤湘(譯),等.機(jī)器人操作的數(shù)學(xué)導(dǎo)論[M].北京:機(jī)械工業(yè)出版社,1998.
[3]W. Yunfeng, G. S. Chirikjian, A diffusion-based algorithm for workspace generation of highly articulated manipulators, in Proc. of IEEE Int. Conf. of Robotics and Automation. Washington D.C,2002.
[4]D. Alciatore and C. Ng , Determining manipulator workspace boundaries using the monte carlo method and least squares segmentation,In Proc.of ASME Robotics:Kinematics,Dynamics and Controls,1994.
[5]J. Rastegar and D. Perel, Generation of manipulator workspace boundary geometry using the Monte Carlo method and interactive computer graphics, ASME J. of. Mechanical Design,1990.
[6]S.Samuel,M.Kelley,A,Pragada,Practical UNIGRAPHICS NX2 modeling for engineers[C].Wiley India Pvt.ltd, New Delhi-110002 india,2005.
[7]曹毅,李秀娟,寧祎,楊冠英.三維機(jī)器人工作空間及幾何誤差分析[J].機(jī)械科學(xué)與技術(shù),2006,12.