Robotic Tools的使用与机器人建模

上一篇文章介绍了matlab的基本使用和机器人工具箱提供的基本接口,本章将具体的机器人模型搭建以及过程中遇到的一些坑,其他的博文都介绍的是转动关节的模型搭建,本文将介绍直角坐标式机器人模型的搭建,即有转动关节又有移动关节。

建模

  • 龙门焊接机器人的原图如下所示,这里使用的是武汉蓝讯的龙门式焊接机器人。
    Robotic Tools的使用与机器人建模_第1张图片
  • 运动模型和坐标系如下图所示,所有坐标系都建在O点位置。
    Robotic Tools的使用与机器人建模_第2张图片
  • D-H参数表如下图所示:
    Robotic Tools的使用与机器人建模_第3张图片

Matlab建模

  • 确定了D-H参数以后,直接建模,如下图所示,display接口调用成功,打印了参数表信息,但是调用teach成功出现示教的模型图。
    Robotic Tools的使用与机器人建模_第4张图片
  • 但是这种建模方式建立的模型不能够按照要求方向正确的运行,推测是Matlab建模方式的和我所理解的有区别。因此,需要对Matlab的建模方式进行研究。

SDH和MDH建模法

在1995年,Jacques Denavit和Richard Hartenberg提出使用4个参数来描述相邻坐标系的位置和方法,主要原理在Niku.S B著的《机器人学导论——分析、控制及应用》中有介绍。但是,由于对一些特殊机构建模存在局限性,后面又经过了几次修改,主要有Craig.jj提出的建模方法,在其所著的《机器人学导论》中进行了介绍。之前提出的DH参数法就是Standard DH参数法,Craig提出的就是Moidified DH方法,其中最直接的问题就是:关节坐标是应该建在前一个连杆上还是后一个连杆上?

参考:
1.标准DH和改进DH的区别
2.机械臂的坐标系与数学模型:传说中的DH参数
3.建立DH模型的三种方法以及区别
4.基于MATLAB机器人工具箱的KUKA youBot机械臂运动学建模——DH法

DH参数法在Matlab中也分为标准DH和改进DH,默认情况下Matlab使用的是SDH的方法,其中主要包含的四个参数如下:
- θ:表示绕Z轴的旋转角
- d:表示Z轴上两条相邻的公垂线的距离(关节偏移)
- a:表示每一条公垂线的长度(连杆长度)
- α:表示相邻Z轴之间的角度(扭角)
- 一般只有θ和d是变量。
Robotic Tools的使用与机器人建模_第5张图片
SDH法建模步骤:(n从0开始,且按照顺序,在i关节上安i-1坐标系,坐标系建在连杆尾端)
- θn+1 = 绕Zn轴,从Xn转动到Xn+1的角度。
- dn+1 = 沿Zn轴,使得Xn移动到Xn+1的距离。
- an+1 = 沿Xn轴,使得坐标系原点重合所移动的距离
- αn+1 = 绕Xn+1轴,从Zn转动到Zn+1的角度。

MDH法建模步骤:(n从1开始,且按照变换的顺序,在关节i上安装i坐标系,坐标系建在连杆的首端)
- an = 沿Xn轴,从Zn移动到Zn+1的距离。
- αn = 绕Xn轴,从Zn转动到Zn+1的角度。
- dn = 沿Zn轴,从Xn-1移动到Xn的距离。
- θn = 绕Zn轴,从Xn-1转动到Xn的角度。
Robotic Tools的使用与机器人建模_第6张图片
维基百科对比图:
Robotic Tools的使用与机器人建模_第7张图片

  • Matlab中DH参数建模顺序都是[theta d a alpha],当建模为MDH方式时,a和alpha的下标是i-1。

建坐标系规则

MDH坐标系的建立:

  1. 找出各个关节,并标出这些轴线的延长线。
  2. 找出关节i和i+1之间的公垂线或者关节轴i和i+1的交点,关节轴i和i+1的交点或垂线与关节轴i的交点作为连杆坐标系的原点。
  3. 规定Z轴沿着关节方向。
  4. 规定X轴沿着公垂线的方向,如果关节轴i和i+1相交,则规定X轴垂直于关节轴i和i+1所在的平面。
  5. 按照右手定则确定Y轴。
  6. 当第一个关节变量为0时,规定坐标系{0}和{1}重合。对于坐标系{N}。其原点和X方向可以任意的选取,但是尽量使得连杆参数为0.

Matlab中仿真实验

Robotic Tools的使用与机器人建模_第8张图片

  • 由于本文使用的机器人是五轴的机器人,Matlab中的反解结果是默认是6个自由度的机器人。对于小于6个自由度的机器人,需要另外在SerialLink提供的ikine实现中改变选项的mask值,目标是几个轴的就将mask中的值设置为1.否则会报出Number of robot DOF must be >= the same number of 1s in the mask matrix的错误。
    Robotic Tools的使用与机器人建模_第9张图片

你可能感兴趣的:(机器人)