Matlab机器人工具箱(番外篇)———机器人建立的任意方法
Matlab机器人工具箱(番外篇)———机器人建立的任意方法
- 前言
- 方法描述
前言 之前在Matlab机器人工具箱(1)——机器人的建立、绘制与正逆运动学中介绍了DH法和MDH建立机器人模型的方法,两种形式都很常用。但是这样有一个问题就是,对于一个机器人必须按照既定的格式建模,一步一步的建立DH坐标系,推导DH模型,形式上有些死板。本篇介绍RTB以任意的格式建立机器人模型的方法。
方法描述 对于一个串联机器人,无非就是一系列的平移旋转的变换,因此,可以任意在关节处建立坐标系,通过一系列关于关节角变量的平移/旋转变换推导机器人运动学。
例如,UR5机械臂的模型长这样:
![Matlab机器人工具箱(番外篇)———机器人建立的任意方法](https://img.it610.com/image/info8/698db8029583425c8028ab6cffd5f928.jpg)
文章图片
我们不妨不按照DH方法建立坐标系,而选择一种最直观的方法,按照连杆的位置建模(rgb颜色的棒棒分别代表xyz轴):
![Matlab机器人工具箱(番外篇)———机器人建立的任意方法](https://img.it610.com/image/info8/85a759316deb46058663c59449f4dcad.jpg)
文章图片
这样,整个机械臂就可以看做,首先沿基坐标z轴向上移动0.0892mm,然后绕z轴旋转q1(即关节1的转动),得到坐标系1,然后,沿y轴移动0.13585,然后绕y轴旋转90°,最后绕y轴旋转q2,得到坐标系2,以此类推,一直推到tool坐标系就完成了。
这样通过RTB的另一种建模方法,即为:
L1 = 0.0892;
L2 = 0.13585;
L3 = -0.1197;
L4 = 0.425;
L5 = 0.39225;
L6 = 0.093;
L7 = 0.09465;
s = 'Tz(L1) Rz(q1) Ty(L2) Ry(90) Ry(q2) Ty(L3) Tz(L4) Ry(q3) Tz(L5) Ry(90) Ry(q4) Ty(L6) Rz(q5) Tz(L7) Ry(q6)';
% 通过s的操作转化为DH参数
dh = DHFactor(s);
dh.display;
%建立机器人
cmd = dh.command('UR5');
UR5 = eval(cmd);
UR5.teach();
可以和标准DH法对比:
clear;
clc;
close all;
a = [0, -0.42500, -0.39225, 0, 0, 0];
d = [0.0892, 0, 0, 0.10915, 0.09465, 0.0823];
alpha = [1.570796327, 0, 0, 1.570796327, -1.570796327, 0];
for i = 1:6
L(i)=Link([0 d(i) a(i) alpha(i)]);
L(i).qlim=[-2*pi,2*pi];
end
UR5=SerialLink(L,'name','UR5');
UR5.teach();
【Matlab机器人工具箱(番外篇)———机器人建立的任意方法】最终得到的模型是一样的:
![Matlab机器人工具箱(番外篇)———机器人建立的任意方法](https://img.it610.com/image/info8/a603de34605144a2a2abcb56f177e811.jpg)
文章图片
推荐阅读
- 剑指|剑指 Offer 13. 机器人的运动范围(dfs,bfs)
- hough变换检测的matlab程序
- 历史上的今天|【历史上的今天】2 月 16 日(世界上第一个 BBS 诞生;中国计算机教育开端;IBM 机器人赢得智能竞赛)
- 基于stm32智能风扇|基于stm32智能风扇_一款基于STM32的智能灭火机器人设计
- 机器人舞蹈
- 接纳,把工具都放进工具箱里
- 逃离孤岛定制专属聊天机器人
- 人工智能与智能系统3->|人工智能与智能系统3-> 机器人学3 | 移动机器人平台
- 一套像样的电话机器人话术是怎样的()
- 如何用Serverless云函数做免费私域运营机器人