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

 注:

  1. Offset 关节偏置,用Offset 来定义DH变量θ,d
  2. revolute 旋转运动
  3. Five_dof=seriallink(L,'name','5-dof')来串连接L各杆件,并命名
  4. Five_dof.based()定义机器人的基坐标位置  Link0
  5. 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 位置矩阵   求逆解 轴位置

 

posted @ 2023-06-09 10:58  森巷  阅读(770)  评论(0)    收藏  举报