王沐雨,黃 民,吳國(guó)新
(北京信息科技大學(xué),北京 100192)
隨著工業(yè)技術(shù)的發(fā)展,單純的手工勞動(dòng)早已不能滿(mǎn)足現(xiàn)代社會(huì)的基本需求,工業(yè)機(jī)器人應(yīng)運(yùn)而生,大大提高了生產(chǎn)效率,是智能化社會(huì)發(fā)展的重要一步。瑞典的ABB 公司有巨大的影響力,是目前世界上工業(yè)機(jī)器人四大巨頭之一。
在工業(yè)機(jī)器人依舊昂貴的市場(chǎng)背景下,盲目安裝可能會(huì)導(dǎo)致人力物力的浪費(fèi)。隨著計(jì)算機(jī)智能設(shè)備的發(fā)展,計(jì)算機(jī)虛擬仿真模擬技術(shù)也愈漸成熟。研究人員通過(guò)在計(jì)算機(jī)上建立工業(yè)機(jī)器人的仿真模型,使其具有與真實(shí)機(jī)器人類(lèi)似的物理功能。例如MATLAB中的Robotics Toolbox(機(jī)器人工具箱),它包括了種類(lèi)眾多的功能函數(shù),可以對(duì)工業(yè)機(jī)器人進(jìn)行運(yùn)動(dòng)學(xué)仿真,這大大減少了資源浪費(fèi)。
ABB IRB1600 是ABB 公司旗下的一款六自由度的串聯(lián)型機(jī)器人,它具有廣泛的應(yīng)用,在碼垛、測(cè)量等領(lǐng)域都有優(yōu)越的表現(xiàn)(圖1、表1)。
圖1 ABB IRB1600 機(jī)器人實(shí)物
表1 ABB IRB1600 機(jī)器人工作參數(shù)
圖2 所示為在ABB 公司旗下的軟件RobotStudio 中仿真的ABB IRB1600 機(jī)器人。
可以由機(jī)器人的改進(jìn)的D—H 參數(shù),利用機(jī)器人工具箱的Link 函數(shù)實(shí)現(xiàn)串聯(lián)機(jī)器人的建模。改進(jìn)的D—H 參數(shù)來(lái)源于D—H 方法,D—H 方法是由Denavit 和Hartenberg[2]提出,本質(zhì)為關(guān)節(jié)鏈中的每一個(gè)桿件都構(gòu)建坐標(biāo)系的矩陣方法,其采用4*4的其次坐標(biāo)變換矩陣來(lái)描述機(jī)器人相鄰兩桿i 和i-1 的空間幾何關(guān)系,D—H 參數(shù)建模是常見(jiàn)的建模方式。本文采用改進(jìn)的D—H 方法,與D—H 方法不同的是它是在遠(yuǎn)離底座的結(jié)構(gòu)處建立坐標(biāo)系。ABB IRB1660 機(jī)器人的改進(jìn)的D—H 參數(shù)見(jiàn)表2。
其中,θi為連桿轉(zhuǎn)角,即為兩條公垂線(xiàn)ai-1和ai間的夾角;di為連桿距離,即為兩條公垂線(xiàn)ai-1和ai間的距離;為連桿長(zhǎng)度,即為i-1 與i 兩關(guān)節(jié)軸線(xiàn)間的公垂線(xiàn)長(zhǎng)度;?i-1為連桿扭角,即為i-1 與i 兩關(guān)節(jié)軸線(xiàn)間的公垂線(xiàn)長(zhǎng)度。
連桿坐標(biāo)系的建立標(biāo)準(zhǔn)如下:Zi-1軸沿關(guān)節(jié)i-1 的軸線(xiàn)方向,Xi-1沿公垂線(xiàn)ai-1且指向Zi軸方向,Yi-1滿(mǎn)足右手定則。
圖2 RobotStudio ABB IRB1600 機(jī)器人仿真圖
表2 ABB IRB1600 機(jī)器人改進(jìn)的D—H 參數(shù)
通過(guò)表2,可以在MATLAB 中利用Link 函數(shù)對(duì)IRB1660 機(jī)器人進(jìn)行建模,代碼為:
可觀(guān)察其如下位姿(圖3):
圖3 MATLAB 中某位姿結(jié)果
假設(shè)6 個(gè)關(guān)節(jié)轉(zhuǎn)角分別為(pi/6 pi/5 pi/4 pi/3 pi/3 pi),使用功能函數(shù)Fkine 編程如下:
G 即為機(jī)器人在關(guān)節(jié)轉(zhuǎn)角為q 時(shí)的末端位姿,計(jì)算結(jié)果如下:
假設(shè)已知ABB IRB1600 機(jī)器人末端執(zhí)行器的空間位姿為G,反求各個(gè)關(guān)節(jié)的轉(zhuǎn)動(dòng)角度,使用功能函數(shù)ikin[1]編程如下:
N=ikine(robot,G)
N 即為機(jī)器人達(dá)到位姿G 時(shí)的一個(gè)轉(zhuǎn)角結(jié)果,計(jì)算結(jié)果如下:
將此結(jié)果N 與正運(yùn)動(dòng)學(xué)時(shí)輸入的轉(zhuǎn)角q 一起仿真出來(lái),可以發(fā)現(xiàn)他們兩個(gè)是完全相同的位姿,由此可知機(jī)器人建模正確并且正、逆運(yùn)動(dòng)學(xué)分析正確(圖4)。
圖4 正向和逆向運(yùn)動(dòng)學(xué)轉(zhuǎn)角仿真比較
軌跡規(guī)劃方法是對(duì)機(jī)器人在運(yùn)動(dòng)狀態(tài)下的位移、角速度及角加速度進(jìn)行規(guī)劃,得到其運(yùn)動(dòng)曲線(xiàn)并觀(guān)察其具體運(yùn)動(dòng)狀態(tài)。本文選用的是關(guān)節(jié)空間軌跡規(guī)劃法,在空間中選取任意兩點(diǎn),調(diào)用MATLAB 的機(jī)器人工具箱中的jtraj 函數(shù)進(jìn)行機(jī)器人的關(guān)節(jié)空間軌跡規(guī)劃。設(shè)關(guān)節(jié)空間中任意兩點(diǎn)間對(duì)應(yīng)的的關(guān)節(jié)轉(zhuǎn)角為theta1=[0 0 0 0 0 0](即θ1)、theta2=[pi/2 0-pi/2 0 0 0](即θ2),運(yùn)動(dòng)采樣時(shí)間間隔為0.1 s,仿真時(shí)間為5 s,并用密集的黑色的‘o’型表現(xiàn)出來(lái)(圖5)。代碼如下:
圖5 機(jī)器人運(yùn)動(dòng)軌跡
同時(shí)需要研究6 個(gè)關(guān)節(jié)的角位移、角速度和角加速度。為了更明顯地觀(guān)察每個(gè)關(guān)節(jié)的運(yùn)動(dòng)曲線(xiàn),選擇theta1=[0 0 0 0 0 0]、theta2=[pi/6 pi/5 pi/4 pi/3 pi/2 pi],繪制6 個(gè)關(guān)節(jié)角位移曲線(xiàn)代碼如下:
得其各個(gè)關(guān)節(jié)角位移仿真曲線(xiàn),如圖6 所示。
圖6 各關(guān)節(jié)角位移仿真曲線(xiàn)
同理可得其關(guān)節(jié)角速度和關(guān)節(jié)角加速度仿真曲線(xiàn),如圖7和圖8 所示。
由以上3 張圖可知,機(jī)器人各關(guān)節(jié)角位移、角速度和角加速度曲線(xiàn)連續(xù)、平穩(wěn),無(wú)拐點(diǎn)、間斷、跳躍等現(xiàn)象。
圖7 各關(guān)節(jié)角速度仿真曲線(xiàn)
圖8 各關(guān)節(jié)角加速度仿真曲線(xiàn)
隨著社會(huì)的智能化發(fā)展,工業(yè)機(jī)器人的廣泛運(yùn)用,對(duì)其進(jìn)行運(yùn)動(dòng)學(xué)仿真可以加強(qiáng)我們的的理解,避免不必要的人力物力的損失。通過(guò)本文的敘述,可完成對(duì)六自由度串聯(lián)機(jī)器人的MATLAB 仿真,并由其位移、角速度、角加速度的曲線(xiàn)觀(guān)察其運(yùn)動(dòng)狀態(tài)。