日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab机器人建立动力学模型,机械臂动力学建模(1)- 建立机器人模型

發布時間:2023/12/9 循环神经网络 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab机器人建立动力学模型,机械臂动力学建模(1)- 建立机器人模型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

建立機器人模型)

機械臂

參考資料

建模

D-H參數

建關節

建立機器人

求初始機械臂狀態,并顯示

改進

另一種建模

機械臂

我使用的aubo的i5機械臂作為實驗目標,也是用i5的D-H參數進行建模,前期使用matlab機器人工具箱進行仿真,熟悉機械臂的運動學算法,之后再在實際的機械臂上實驗。

參考資料

我使用的是matliab機器人工具箱,具體的一些功能和操作可以參考:

清華大學出版社的《機器人仿真與編程技術》一書

以及我之前關于matlab機器人工具箱的7篇博文:

鏈接: 第一篇.等

建模

D-H參數

首先我們找到aubo_i5的D-H參數:

主要的參數d與a存入到matlab變量中

d1 = 0.122

d2 = 0.1215

a2 = 0.408

a3 = 0.376

d5 = 0.1025

d6 = 0.094

建關節

先熟悉Link:

>> Link

ans =

Revolute(std): theta=q, d=0, a=0, alpha=0, offset=0

根據D-H參數建立6個關節:

L(1)=Link([pi,d1,0,0],'modified')

L(2)=Link([-pi/2,d2,0,-pi/2],'modified')

L(3)=Link([0,0,a2,pi],'modified')

L(4)=Link([-pi/2,0,a3,pi],'modified')

L(5)=Link([0,d5,0,-pi/2],'modified')

L(6)=Link([0,d6,0,pi/2],'modified')

建立機器人

robot =SerialLink(L,'name','aubo_i5')

求初始機械臂狀態,并顯示

T = robot.fkine([0 0 0 0 0 0 ])

title("T")

robot.plot([0 0 0 0 0 0 ])

效果圖:

并且末端位姿為:

T =

1 0 0 0.784

0 0 1 0.2155

0 -1 0 0.0195

0 0 0 1

改進

但是到這里,我發現末端的姿態并不對,位置信息中x軸信息(0.784)不應該存在。機械臂各個Link中的theta似乎沒有其作用。我自己嘗試在定義Link的時候改變theta值,發現確實不起作用,只有在fkine求運動學正解的時候賦值(pi,-pi/2,0,-pi/2,0, 0)才會改變theta:

末端姿態也變成:

T =

1 0 0 0

0 0 -1 -0.2155

0 1 0 1.008

0 0 0 1

這會帶來一個問題,實際電機的零位和模型零位不一致。看了Link的定義,發現theta的初始化受到offset的影響,除了前面的4個參數theta, d, a, alpha。第五個是關節類型,0為旋轉,第六個就是offset,所以改變定義link的方式:

L(1)=Link([pi,d1,0,0,0,pi],'modified')

L(2)=Link([pi/2,d2,0,-pi/2,0,-pi/2],'modified',-pi/2)

L(3)=Link([0,0,a2,pi],'modified')

L(4)=Link([0,0,a3,pi,0,-pi/2],'modified',-pi/2)

L(5)=Link([0,d5,0,-pi/2],'modified')

L(6)=Link([0,d6,0,pi/2],'modified')

使得Link的參數變為:

robot =

aubo_i5:: 6 axis, RRRRRR, modDH, slowRNE

+---+-----------+-----------+-----------+-----------+-----------+

| j | theta | d | a | alpha | offset |

+---+-----------+-----------+-----------+-----------+-----------+

| 1| q1| 0.122| 0| 0| 3.14159|

| 2| q2| 0.1215| 0| -1.5708| -1.5708|

| 3| q3| 0| 0.408| 3.14159| 0|

| 4| q4| 0| 0.376| 3.14159| -1.5708|

| 5| q5| 0.1025| 0| -1.5708| 0|

| 6| q6| 0.094| 0| 1.5708| 0|

+---+-----------+-----------+-----------+-----------+-----------+

此時各個關節為0時,末端的位姿為:

T =

1 0 0 0

0 0 -1 -0.2155

0 1 0 1.008

0 0 0 1

至此初步建機器人模型成功

另一種建模

matlab可以直接讀取URDF文件進行建模:

robot = importrobot('aubo_i5.urdf')

show(robot )

aubo的urdf模型和模型文件在git上:

鏈接: aubo_description.

在aubo_robot/aubo_description/里面有urdf和模型文件,如果用matlab讀取urdf,需要把urdf中mesh filename屬性修改,指到本地存mesh文件的地方。

修改后運行:

具體的可以看我matlab工具箱的第8篇文章

鏈接: 通過URDF建立機器人模型.

總結

以上是生活随笔為你收集整理的matlab机器人建立动力学模型,机械臂动力学建模(1)- 建立机器人模型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。