Matlab机器人工具箱
一.标准型DH表

建立运动学模型
%% Standard DH clear;%删除变量 clc; L(1)=Link('revolute','d',0.216,'a',0,'alpha',pi/2); L(2)=Link('revolute','d',0,'a',0.5,'alpha',0,'offset',pi/2); L(3)=Link('revolute','d',0,'a',sqrt(0.145^2+0.42746^2),'alpha',0,'offset',-atan(427.46/145)); L(4)=Link('revolute','d',0,'a',0,'alpha',pi/2,'offset',atan(427.46/145)); L(5)=Link('revolute','d',0.258,'a',0,'alpha',0); Five_dof=SerialLink(L,'name','5-dof'); Five_dof.base=transl(0,0,0.28); %subplot(1,2,1) %plot(Five_dof,[0 0 0 0 0],'tilesize',0.1,'workspace',[-1 1 -1 1 -0.2 2]) Five_dof.teach
注:
- Offset 关节偏置,用Offset 来定义DH变量θ,d
- revolute 旋转运动
- Five_dof=seriallink(L,'name','5-dof')来串连接L各杆件,并命名
- Five_dof.based()定义机器人的基坐标位置 Link0
- Five_dof.teach 打开GUI模型
二.改进型DH

运动学模型
%% Modified DH clear; clc; L(1)=Link('revolute','d',0,'a',0,'alpha',0,'modified'); L(2)=Link('revolute','d',0,'a',0,'alpha',pi/2,'offset',pi/2,'modified'); L(3)=Link('revolute','d',0,'a',0.5,'alpha',0,'offset',-atan(427.46/145),'modified'); L(4)=Link('revolute','d',0,'a',sqrt(0.145^2+0.42746^2),'alpha',0,'offset',atan(427.46/145),'modified'); L(5)=Link('revolute','d',0.258,'a',0,'alpha',pi/2,'modified'); Five_dof=SerialLink(L,'name','5-dof'); Five_dof.base=transl(0,0,0.496); %subplot(1,2,1) %plot(Five_dof,[0 0 0 0 0],'tilesize',0.1,'workspace',[-1 1 -1 1 -0.2 2]) Five_dof.teach
注: modified 改进型
Matlab 默认基座位于原点 坐标系位于连杆前端
改进与标准型末端坐标系比较

三.常用函数
旋转与旋转矩阵相互转换

注:
- rotx() X轴旋转矩阵
- eul2r 欧拉角 绕当前坐标系Z轴旋转再绕Y轴旋转 最后Z轴旋转 右乘(当前坐标系) tr2eul()旋转矩阵获得欧拉角
- rpy2r 绕Z轴旋转再绕原来固定的坐标系Y轴旋转 Z轴旋转 左乘(固定坐标系)
旋转与变换矩阵相互转换

位移与旋转矩阵转换 旋转矩阵与变换矩阵相互转换

串联机器人类

绘图命令plot

注:view 视角 workspace 工作空间 tilesize 地砖大小 noshadow 阴影 noname 名称 noshading 光泽
三维模型展示

逆运动学

注:
- ikine6s 六轴机械臂解析解
- ikine 数值解不考虑关节限制 ikunc 不考虑关节限制 区别 欠驱动机械臂(自由度小于6)ikine需要mask淹没向量 指向自由度 ikunc不需要考虑
Matlab常用清除命令总结:
clc命令:清空命令窗口中的内容。
clear命令:清空workspace(工作空间)中的所有变量。
clear all:清除工作空间的所有变量,函数,和MEX文件。
clf命令:清除当前figure中的内容。
close命令:关闭当前打开的figure图形界面。
close all:关闭所有的Figure窗口。
工作空间可视化

定义关节限制

迭代

轨迹规划

五次多项式轨迹tpoly

注
- 51 插值: 在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点。
- P 位置
- db 速度
- ddp 加速度
混合曲线轨迹

多维轨迹

多维多段轨迹

注:
- WP需要经过的路径点
- QDMAX 最大速度
- TSEG 每段时间间隔 与最大速度二选一
- Q0 初始位置 空时为WP第一个坐标
- DT 插值间隔
- TACC 加速时间
机械臂从初始位置到达目标位置

注: T1 位移到变换矩阵 q1求逆解 Five_dof.plot 绘制 pause 暂停

注:mtraj 获取一串轨迹点 transl 位置矩阵 求逆解 轴位置


浙公网安备 33010602011771号