?

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

2019-08-30 01:55馬國慶于正林曹國華范師杰
制造業自動化 2019年8期
關鍵詞:桿件位姿運動學

馬國慶,劉 麗,于正林,曹國華,范師杰

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

0 引言

機器人的運動學分析是機器人學的一個重要組成部分,為機器人的動力學分析、軌跡規劃和運動控制提供重要依據[1]。本文使用經典D-H法對HP20D型六自由度工業機器人進行運動學分析,并用MATLAB進行運動學的仿真與方程計算,通過數據對比驗證了其運動學模型與運動學正逆運算的正確性。為機器人進行軌跡規劃研究與仿真提供了必要的理論基礎和正確的運動學模型。

1 機器人結構分析及數學模型建立

1.1 結構分析

工業機器人主要由機身主體、驅動系統和控制系統三部分組成[2]。機身主體即機座與執行機構,包括臂部、腕部和手部;驅動系統涵蓋動力裝置與傳動機構,負責為機身主體提供動力輸出與傳輸;控制系統負責按照輸入的命令及程序對驅動系統與執行機構發出信號,并進行控制[3]。工業機器人的有效工作范圍、重復定位精度、荷載以及允許扭矩是評判機器人工作能力的重要參數。HP20D型工業機器人為六自由度垂直多關節型機器人,末端最大負載為20kg,重復定位精度為±0.06mm,但由于機器人制造導致的模型誤差和日常工作產生的磨損,其定位精度在幾毫米左右,可以通過標定技術來提高精度[4]。

1.2 機器人數學基礎

機器人可簡化成由一系列桿件串聯而成,將坐標系置于每一連桿的關節中心處,則可用齊次坐標變換對這些坐標系之間的位姿進行數學表述[5]。

1.2.1 工業機器人的位姿描述

1)位置描述

在空間直角坐標系{A}中的任意一點P的位置可用一個(3×1)的位置矢量AP來表示:

其中,px、py、pz為點P的三個位置坐標分向量,AP稱為位置矢量。

2)姿態描述

可通過在物體質心或者中心上固定一個坐標系,并給出此坐標系相對于參考坐標系的數學表達來描述物體的姿態[6]。定義直角坐標系{B},將剛體B的質心或者中心定義為坐標系{B}的原點,則可以用一個(3×3)的旋轉矩陣ARB來表示剛體B相對于坐標系{A}的姿態:

ARB是一個正交矩陣,稱為旋轉矩陣,上標A表示參考坐標系{A},下標B表示被描述坐標系{B}。

3)位姿描述

點的位置信息可用位置矢量來表述,物體的姿態可用旋轉矩陣來表述,那么物體的位姿可由坐標系{B}來描述:

其中APB0為坐標系{B}的原點位置相對參考坐標系{A}的位置矢量。

1.2.2 坐標系映射

在機器人學中同一點的位置信息常常需要在不同的參考坐標下進行描述,因此需要運用一種數學方法來表示坐標系之間的變換,這就是映射[7]。

設坐標系{B}與坐標系{A}的坐標原點不重合且姿態也不相同,用APB0表示坐標系{B}的原點OB相對于坐標系{A}的位置矢量,用旋轉矩陣ABR表示坐標系{B}相對于坐標系{A}的姿態,若點p在坐標系{B}中可用BP描述,則它相對于另一個坐標系{A}的描述AP可按式(4) 求出:

式(4)為坐標系平移與旋轉的復合變換,引入一個過渡坐標系{C},令{C}的坐標原點OC與坐標系{B}的坐標原點OB重合,而{C}的姿態與{A}相同,如圖1所示,則可得復合變換:

圖1 一般情況下的映射

1.2.3 齊次坐標變換

不同的坐標系對空間中任意點p的描述是不同的,利用齊次坐標變換可完成點在不同矩陣之間位置關系的轉換,若已知某點在坐標系{B}中坐標為BP,則該點在坐標系{A}中坐標AP可表示為:

2 HP20D的運動學分析

在機器人運動學求解過程中,僅研究各桿件之間的運動關系并不考慮相互作用力的影響。正運動學問題是根據桿件尺寸與各關節角,對機器人末端執行器相對于基坐標系下的位姿進行求解,其本質是運動學方程的建立與求解。而逆運動學問題正好相反,是根據末端執行器在基坐標系下的期望位姿與已知的桿件幾何參數,來對機器人末端執行器運行到此位姿時的各個關節角度值進行求解[8]。

2.1 連桿坐標系建立

根據D-H坐標變換法對機器人進行建模,可清晰的展示各連桿間的位姿關系,建模原則如下:

1)繞Zi-1軸旋轉θi角,令Xi-1軸同Xi處于同一平面;

2)沿Zi-1軸平移di,令Xi-1軸同Xi處于同一直線;

3)沿Xi軸平移距離ai,將連桿i-1的坐標系移動,令其原點同連桿i的坐標系原點重合;

4)繞Xi-1軸旋轉ai角,令Zi-1軸旋轉到同Zi軸處于一條直線上。

HP20D機器人D-H坐標系如圖2所示。

圖2 Motoman-HP20D機器人D-H坐標系

2.2 運動學正解

根據1.2.1中的建模原則即可確定HP20D型機器人的D-H參數,如表1所示。HP20D為6R型機器人,因此只有關節角θ是變量,連桿長度α、關節扭轉α和連桿距離d均是固定值。

表1 HP20D機器人的連桿參數

式(7)中Rot 表示旋轉變換矩陣,Trans 表示平移變換矩陣。式(7)的矩陣表示形式如下:

根據相鄰連桿間的坐標變換矩陣,可以得到末端坐標系相對于機器人基坐標系的變換矩陣如下:

將機器人的每個坐標轉換矩陣代入式(9)即可求出HP20D機器人的正運動學方程。

2.3 運動學逆解

采用雙變量正切函數表示關節變量,避免出現解丟失的可能性,得到各個關節角如下:

求解θ1:

求解θ2:

求解θ3:

求解θ5:

求解θ4:

求解θ6:

結合逆運動學求解過程,再考慮到θ5等于0,或者不等于0兩種情況,同一種末端位姿可以求出8組逆解。但由于機械參數的約束,部分逆解處于機器人的不可達空間,因此應根據機器人的運動情況與可達空間范圍,確定運動學逆解。

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

3.1 建立運動學模型

Robotics Toolbox是MATLAB軟件中的一個專門針對工業機器人開發的工具箱,它可以為機器人提供多種運動學函數。根據表1提供的數據,對HP20D型機器人進行仿真如圖3所示。

圖3 HP20D機器人仿真三維圖

3.2 正運動學驗證

為了驗證正運動學方程求解的正確性,隨機選取1組關節變量值,將從控制器中讀取機器人末端執行器位姿作為真值;將按照2.2節中的正運動學方程計算所得的位姿作為計算值。隨機選取關節變量q1=[-0.3744, 2.7564,-1.2282,-0.6109,-1.5281,-0.3743],將真值與計算值進行數據對比。計算結果如表2所示。

表2 真值與MATLAB計算值比較

表2中數據表明真值和計算值的誤差很小,證明了機器人正運動學方程與運動學模型的正確性。

3.3 逆運動學驗證

定義機器人末端位姿W=[PxPyPzaxayaz],將其代入2.3節機器人逆運動學求解方法可求得機器人的多組運動學逆解Qi=[θ1θ2θ3θ4θ5θ6]。將兩個末端位姿W1=[-1189.369,531.995,-648.702,0.327, -0.744,-0.583]與W2=[1159.549,-730.090,-745.683, -0.362,0.787,-0.500]代入計算程序,求得逆解如表3和表4所示。

表3 位姿W1的運動學逆解

每個位姿可以獲取8組解,但由于機械結構約束與各桿件運動時的干涉,僅有部分解為機器人可以真實達到的關節角度值,位姿W1的有效解為Q1、Q2,位姿W2的有效解為Q1、Q2、Q5、Q6,通過數據對比可知,表3中的Q1與3.2節的q1相等,驗證了逆運動學的正確性。

表4 位姿W2的運動學逆解

4 結語

本文在機器人的數學基礎和運動學基本知識的基礎上,以HP20D為研究對象求取其正解和逆解,并在Robotics Toolbox中進行了運行學模型仿真,并通過數據對比驗證了其正運動學與逆運動學的正確性,為后續進行軌跡規劃研究與仿真提供了必要的理論基礎和正確的運動學模型。

猜你喜歡
桿件位姿運動學
大規格裝飾桿件幕墻體系設計
基于臨時支撐結構的桿件初彎曲對其軸壓性能的影響
無人機動平臺著陸慣性/視覺位姿歧義校正算法
船舶清理機器人定位基準位姿測量技術研究
基于MATLAB的6R機器人逆運動學求解分析
中心受壓桿件的承載力計算方法
工業機器人在MATLAB-Robotics中的運動學分析
優化ORB 特征的視覺SLAM
基于單目視覺的工件位姿六自由度測量方法研究
KD379:便攜折疊式衣架
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合