?

基于MATLAB的UR10機器人運動學分析與仿真

2019-10-22 08:39馬國慶于正林曹國華陳李博
制造業自動化 2019年10期
關鍵詞:位姿運動學連桿

馬國慶,劉 麗,于正林,曹國華,陳李博

MA Guo-qing, LIU Li, YU Zheng-lin, CAO Guo-hua, CHEN Li-bo

(長春理工大學 機電學院,長春 130022)

0 引言

隨著現代工業向智能化與自動化發展,機器人逐漸融入社會各個領域,而機器人的運動學分析是機器人技術研究中的關鍵環節[1]。本文以UR10為實驗平臺,對機器人各關節與各連桿進行分析并得到相關的模型參數,并將其應用于正逆運動學求解。用MATLAB進行運動學仿真,通過數據對比分析驗證模型與運動學正逆運算的正確性。為機器人軌跡規劃研究提供必要的理論基礎。

1 機器人模型的空間描述與變換關系

要使機器人實現空間中某種運動,首先需要建立一個基坐標系,然后在此基坐標系下研究機器人的相關參數和位姿。

1.1 機器人位姿及坐標系描述

在建立了基坐標系后,可通過3×1的位置矢量表示空間中某一點的位置。假設基坐標系{A}中任意一點p,其位置矢量可用Ap表示:

其中px,py,pz為p點在基坐標系{A}中的位置分量。但對機器人進行研究時不僅需要該點的位置坐標,還需要方位姿態。因此定義某一物體所在的坐標系為{B},則物體B相對于坐標系{A}的方位可用B的單位矢量相對于坐標系{A}的方向余弦矩陣表示,具體如下:

其中ABR稱為旋轉矩陣,上下標A、B分別表示坐標系{A}與{B}。由于三個列矢量均為單位矢量且均互相垂直,因此為正交矩陣且滿足:

1.2 機器人坐標系的變換關系

在空間坐標系轉換中最為常見的為平移、旋轉以及既平移又旋轉的復合變換三種[2]??臻g點p在空間坐標系{A}、坐標系{B}和坐標系{C}下的變換關系如圖1所示。

圖1 位姿變換示意圖

坐標系{A}與坐標系{B}在空間中相互平行但坐標原點位置不同??梢园阉闯墒亲鴺讼档钠揭谱儞Q,用位移矢量ApB表示坐標系{B}相對于坐標系{A}的變換關系,通過矢量加運算即可求解出空間點p相對于坐標系{A}的位置矢量:

坐標系{C}與坐標系{B}在空間中方位角度不同但擁有相同的坐標原點,即空間點p的位置并未發生改變但其坐標系發生了旋轉,則可用旋轉矩陣BpC表示坐標系的方位,即存在轉換關系:

坐標系的變換往往不是單一平移與單一旋轉那么簡單,通常都是平移與旋轉的復合變換,位置矢量ApB、旋轉矩陣BpC分別表示坐標系{B}相對于坐標系{A}的平移變換關系和坐標系{C}相對于坐標系{B}的旋轉變換關系,則空間點p在坐標系{A}下的位置矢量Ap有:

2 機器人運動學分析

在研究機器人運動學過程中并不考慮各種運動附加力對機器人的影響,只考慮機器人各連桿及關節的運動特性,機器人正運動學則可看成是已知機器人各個連桿的物理參數以及關節角度變量,求取末端執行器相對基坐標系的位姿關系[3]。

2.1 機器人結構模型描述

使用經典D-H參數法,需要確定機器人各相鄰關節的坐標系間的轉換關系,建立相鄰坐標系間的轉換矩陣。坐標系的創建如圖2所示。

圖2 D-H法各連桿關系示意圖

坐標系的Z軸為各關節軸的中心軸線,坐標原點為各軸線公垂線的交點;X軸經過各軸的公垂線,方向為指向離開軸線的方向;而Y軸可用右手定則確定。并得出結構參數桿長di、扭轉角αi、關節長度ai以及關節轉角θi。

2.2 機器人正運動學

UR10是六自由度串聯機器人,可實現高達10Kg的自動化作業,延伸半徑范圍1300mm,具備協作性與安全性[4]。根據其機械結構參數采用D-H進行連桿坐標系的建立,如圖3所示。

圖3 UR10機器人D-H坐標系

由于UR10機器人各關節均為轉動關節,因此在機器人系統中只有關節角θ為變量,其余三個參數均為固定值,D-H模型參數如表1所示。

表1 UR10機器人D-H模型參數

依據機器人連桿坐標系以及D-H模型參數表,求解出連桿坐標系之間的齊次變換矩陣:

將表1中參數代入式(13),利用各連桿的轉換矩陣進行相乘即可求解機器人的末端位姿:

其中nx,ny,nz,ox,oy,oz,ax,ay,az為機器人的末端姿態分量,px,py,pz為機器人的末端位置分量。

2.3 機器人逆運動學分析

在實際應用中往往指定機器人末端位姿,通過計算求得機器人到該位姿情況下的各關節轉角變量,并驅動機器人移動到該位置下。這種求解各關節變量的過程即為機器人逆運動學分析[5]。

2.3.1 機器人逆運動學求解方法

一般情況下求取機器人逆解的方法主要有數值求解法與封閉法求解兩種。通常六自由度的機器人主要采取數值求解法,但在某些特殊情況下求得的結果不是唯一解。而封閉法又分為幾何求解法與代數求解法兩種,相比于幾何求解法,代數求解法計算更簡單、通用性較強,成為求取機器人逆解的基本方法[6]。

2.3.2 機器人逆運動學分析

因UR10機器人的第二、三、四關節軸均為平行狀態,滿足逆解存在的條件,因此該機器人的逆解可通過數值求解法求得,求解結果如下:

上述求解機器人的相關逆解,但逆解的數量不是唯一的,可能會得到8組機器人的逆解,這就需要通過機器人的約束關系來選取逆解中最符合要求的一組作為機器人當前位姿的解。

3 UR10機器人運動學模型仿真

3.1 運動學模型建立

為了驗證上述推導的數學關系是否正確,采用Robotics Toolbox工具箱對機器人進行運動學仿真,依據表1所提供的數據,對UR10型機器人進行仿真如圖4所示,控制界面如圖5所示。

圖4 UR10機器人仿真

圖5 滑塊控制圖

3.2 機器人正運動學驗證

為了驗證機器人正運動學方程和運動學模型的正確性,隨機選取2組關節變量值,對圖6中滑塊控制器中各關節角度賦予變量值,讀取控制器中機器人末端執行器的位姿;將隨機選取的關節值同表1中UR10型機器人的D-H參數一同代入到機器人正運動學方程中,解出末端執行器的位姿;最終將滑塊值與計算值對比。隨機選取2組關節變量值,如下:q1=[0.2059 -1.2294 -2.6050-0.6161 2.4627 0.3317],q2=[1.8491 -1.3127 -1.4234-2.1205 1.1045 1.8834]。

表2 滑塊值與MATLAB計算值比較

上述方法得到的結果在表2中列出,可以看出理論值和計算值的誤差非常小,幾乎可以忽略不計,證明了推導得出的機器人正運動學方程以及運動學模型是正確的。

根據2.3節機器人逆運動學求解方法,編寫程序,定義機器人末端位姿W=[px,py,pz,ax,ay,az],將其代入程序即可求得機器人多組運動學逆解Qi=[θ1,θ2,θ3,θ4,θ5,θ6]。將兩末端位姿W1=[-158.321,181.853,157.927,-0.318,0.729,-0.607]與W2=[-109.925,-295.804,835.089,0.397,0.247,-0.884]代入程序,再根據機械結構約束篩選出有效逆解,分別如表3,表4所示。

表3 位姿W1的運動學逆解

表3 (續)

表4 位姿W2的運動學逆解

每個位姿可以獲取8組解,由于機器人機械結構約束與各桿件運動時不存在干涉,因此求得的8組解均為機器人的逆解。通過數據對比可知,表3中的Q1與上一節的q1相等,表4中的Q1與上一節的q2相等,驗證了逆運動學的正確性。

4 結語

對UR10智能協作機器人進行相關結構建模,求解出機器人的D-H模型參數,并對機器人的正逆運動學進行分析,求解出正運動學中各連桿坐標系的轉換關系以及逆運動學中各關節轉角的求解方法。并用MATLAB進行了運動學的仿真與方程計算,通過數據對比分析驗證了其運動學模型與運動學正逆運算的正確性。

猜你喜歡
位姿運動學連桿
壓裂泵虛擬試驗連桿疲勞性能研究
無人機動平臺著陸慣性/視覺位姿歧義校正算法
船舶清理機器人定位基準位姿測量技術研究
基于MATLAB的6R機器人逆運動學求解分析
工業機器人在MATLAB-Robotics中的運動學分析
優化ORB 特征的視覺SLAM
基于單目視覺的工件位姿六自由度測量方法研究
連桿的設計及有限元分析
基于運動學原理的LBI解模糊算法
履帶式推土機行駛系統運動學分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合