Matlab机器人工具箱机械手建模详解(同知乎)
关于使用Matlab机器人工具箱建立机械手模型的一些经验分享给大家 使用软件版本为matlab2015a和rvctools9.8,matlab机械人工具箱下载地址:http://petercorke.com/wordpress/toolboxes/robotics-toolbox/
首先来看给出的机械手坐标系:
文章图片
图 1 D-H参数坐标系 根据上述机械手各关节的D-H参数,利用工具箱中的Link函数创建机械手各连杆;然后利用SerialLink函数把独立的关节组合起来创建机器人对象。Link函数的调用格式为:
L(i)=Link( [theta,D,A,alpha,sigma],‘convention’)
其参数与D-H参数相对应,前四个参数依次表示:参数‘theta’代表关节角,参数‘D’代表横距,参数‘A’代表杆件长度,参数‘alpha’代表扭转角,参数‘sigma’代表关节类型:0代表旋转关节,非0代表移动关节,默认值为0。参数 ‘convention’ 表示使用D-H参数法创建机器人模型的类型:‘standard’表示采用标准D-H参数法创建机器人模型;‘modified’表示采用该改进D-H参数法创建机器人模型,默认值为'standard',代码中使用默认值。
本文采用标准D-H参数法对机械手进行建模。
x1=-pi/2;
a1=121.16;
d1=191.99;
x2=0;
a2=850.94;
x3=0;
a3=482.6;
x4=pi/2;
a4=133.35;
x5=-pi/2;
a5=0;
x6=0;
d6=380.9;
L(1)=Link([0 d1 a1 x1]);
L(1).qlim=[-pi,pi];
L(2)=Link([0 0 a2 x2]);
L(2).qlim=[-pi/6,pi/2];
L(3)=Link([0 0 a3 x3]);
L(3).qlim=[-pi/2,pi/2];
L(4)=Link([0 0 a4 x4]);
L(4).qlim=[-pi/2,pi/2];
L(5)=Link([0 0 a5 x5]);
L(5).qlim=[-pi/2,pi/2];
L(6)=Link([0 d6 0 x6]);
L(6).qlim=[-pi,pi];
robot6=SerialLink(L,'name','robot6');
teach(robot6,'degrees');
0坐标系不用建立,直接从1坐标系开始,建系原则:根据L(i)= Link( [theta,D,A,alpha,sigma])参数顺序。
1坐标系→2坐标系:沿z1轴平移d1→沿x1轴平移a1→绕x1轴旋转-90°→2坐标系;
2坐标系→3坐标系:此处对于z2轴有一定的旋转角度,暂且不管,沿x2轴平移a2即可;
3坐标系→4坐标系:沿x3轴平移a3→4坐标系;
4坐标系→5坐标系:沿x4轴平移a4→绕x4轴旋转90°→5坐标系;
5坐标系→6坐标系: 由于6坐标系的z6轴是旋转轴,所以只需绕x5轴旋转-90°→6坐标系;
6坐标系→手抓坐标系:这两个坐标系名义上是重合的,但是需要沿着z6轴平移一段距离d6;
下面来看初步建立的模型图:
文章图片
图 2 初始坐标系
上图中每一个绿色圆柱代表一个关节,注意6坐标系与手抓坐标系之间的关系。可以看出此模型与我们所建立的坐标系模型不一样,下面对各旋转轴Z轴进行初始化:
文章图片
根据坐标系图得到各个旋转轴的转角:0,-82.19*pi/180,82.19*pi/180,0,-pi/2,0. 必须转化为弧度,这个转角需要根据三维模型和初始模型来确定。在robot6=SerialLink(L,'name','robot6');
后面添加如下两行代码:
qa=[0,-82.19*pi/180,82.19*pi/180,0,-pi/2,0];
robot6=SerialLink(L,'offset',qa);
或者合并为一行:robot6=SerialLink(L,'name','robot6','offset',qa);
【Matlab机器人工具箱机械手建模详解(同知乎)】最后的坐标系如下图:
文章图片
图3 最终坐标系图
推荐阅读
- 剑指|剑指 Offer 13. 机器人的运动范围(dfs,bfs)
- hough变换检测的matlab程序
- 历史上的今天|【历史上的今天】2 月 16 日(世界上第一个 BBS 诞生;中国计算机教育开端;IBM 机器人赢得智能竞赛)
- 基于stm32智能风扇|基于stm32智能风扇_一款基于STM32的智能灭火机器人设计
- 机器人舞蹈
- 接纳,把工具都放进工具箱里
- 逃离孤岛定制专属聊天机器人
- 人工智能与智能系统3->|人工智能与智能系统3-> 机器人学3 | 移动机器人平台
- 一套像样的电话机器人话术是怎样的()
- 如何用Serverless云函数做免费私域运营机器人