UR5关于MATLAB+RoboticToolbox的仿真

        最近做毕设,研究了一下UR5的MATLAB仿真参考了一篇《基于MATLAB+Robotics+Toolbox的UR5机器人轨迹规划与仿真》的文章和《Robotics,Vision and Control》这本书。

一、插件安装

(1)我使用的是MATLAB R2020b具体什么版本的我感觉差别应该不大。

(2)之后下载一个RoboticToolbox的工具箱,参考了这篇文章http://t.csdnimg.cn/p6AVt,写的非常详细,就不用我多说了。

二、仿真

(1)在仿真之前我的建议是先学习一下晦涩的正逆运动学(学个大概就行),D-H参数法啥的都了解一下,知道这些参数是什么意思,不求甚解,但是需要知道。

(2)如果需要学习具体工具箱的使用方式推荐一本叫做《机器人学、机器视觉与控制 MATLAB算法基础》的书,是《Robotics,Vision and Control》这本书的中文版(具体可以在一些购买软件自行购买,个人推荐电子版,纸质可能很贵)。

(3)下面放上我的仿真过程和代码,在下载完成上面的工具箱之后,利用工具箱中的函数Link,首先我们需要了解这个函数的意义:Link用于描述一个机器人的连杆,我们知道UR5机械臂为6轴所以需要定义六个连杆参数。首先我们在matlab中查看Link函数需要填入的主要参数:

①参考文献发现Link函数后面有的内容加了一个standard,不知道为啥,我估计是因为它用的标准DH参数法来构建的关节,同理如果用的改进的DH参数法需要相应的选择第二个,如果是旋转关节需要选择第三个,同理改进的DH+旋转关节需要选择第四个(这个具体什么用法自行研究)。

图1

②下面是最主要的几个参数θjdjajαj(此四个参数需要看我上面提到的运动学原理,明白大概描述的是什么就行,每个参数的含义——表一,具体来说就是两平移两旋转)以及第五个元素σj表明该关节为转动关节还是移动关节,如果没有指定的话默认为是转动关节,表2——UR5机械臂的D-H参数表:

图2
表1 不同D-H参数的物理含义符号和定义

关节角

θj

xj-1轴和xj轴之间关于zj-1轴的角度

转动关节变量

连杆偏移

dj

沿着zj-1轴,j-1坐标原点到xj轴的距离

转动关节变量

连杆长度

aj

沿着xj轴,zj-1轴和zj轴之间的距离

常量

连杆扭转角

αj

zj-1轴和zj轴之间关于xj轴的角度

常量

关节类型

σj

σ=0为转动副,σ=1为移动副

常量

表2 UR5机械臂的D-H参数

关节

扭转角

αj-1/(°)

连杆长度

aj-1/mm

连杆偏移量

dj/mm

关节角范围

θj/(°)

1

90

0

89.16

-360~360

2

0

-425.00

0

-360~360

3

0

-392.25

0

-360~360

4

90

0

109.15

-360~360

5

-90

0

94.67

-360~360

6

0

0

82.30

-360~360

③因为机械臂的六个关节设置为转动关节,所以就算不直接表达,默认的就是转动关节。用标准的D-H法所以参数应该是四个UR5参数+0,由于UR5机械臂为六轴,所以要相应创建6个连杆如下(直接cv):

L(1)=Link([0 0.08916 0 pi/2 0]);
L(2)=Link([-pi/2 0 0.425 0 0]);
L(3)=Link([0 0 0.39225 0 0]);
L(4)=Link([-pi/2 0.10915 0 pi/2 0]);
L(5)=Link([0 0.09456 0 -pi/2 0]);
L(6)=Link([0 0.0823 0 0 0])

④然后他会反馈一个此数组的相关数据如下:

        此时可以对照一下是否满足UR5机械臂的各项参数有没有整错,然后开始下一步。

图3
图3

⑤上面的内容用于创建一个六轴机械臂,下面需要将他定义在MATLAB的工作空间并创建名为UR5的SerialLink对象。

UR5=SerialLink(L,'name','UR5')

⑥上面代码运行之后,我们发现这确实是一个6 axis(轴),RRRRRR代表6自由度的机械臂创建成功,stdDH(标准D-H参数法)参数如下图。

图4
图4

⑦我们可以通过如下指令观察我们创建的关节:

UR5.plot([0 0 0 0 0 0])

⑧使用如下指令,可以调整六个轴的关节:

UR5.teach
图5
图5

     ⑨在MATLAB当中利用fkine函数对于UR5机器人进行正运动学的仿真,任取一组关节角依次为pi/2,pi/3,pi/4,pi/5,pi/3,pi/6,调用fkine函数得到图6的变换矩阵,此变换矩阵为UR5机器人在向量q时,所对应机器人末端位姿的其次变换矩阵:

q=[pi/2,pi/3,pi/4,pi/5,pi/3,pi/6];
T=fkine(UR5,q)
图6
图6

      ⑩运动学逆解是在已知目标位姿T的情况下求出其对应的关节变量。调用ikine函数如下:

不想写了...因为用ikine逆解算法解不出来这个东西(除非很简单),过段时间再写吧,如果有什么问题或者建议可以在评论区讨论...

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值