精华内容
下载资源
问答
  • 7. 机器人正运动学---连杆坐标系与DH参数

    万次阅读 多人点赞 2020-03-05 09:34:12
    这篇文章主要介绍了机器人连杆坐标系的建立方式即标准DH参数法建立坐标系。文章着重介绍了坐标系建立的过程以及各个参数的物理意义。

    目录

     

    1. 引言

    2. 连杆坐标系

    3 DH参数

    3.1 DH参数的介绍

    3.2 DH参数定义

    3.2.1 连杆长度和扭角

    3.2.2 连杆转角和连杆偏距

    4. 解决问题

    5. 总结


    1. 引言

    前面的文章我们一直在介绍坐标系以及它们之间的变换关系,数学的意味还是很浓的。讲了那么多的公式和规律,它们要怎么用在机器人上呢?这篇文章将介绍坐标系和机器人之间的纽带即连杆坐标系。完成这篇文章的介绍之后我们就可以利用一些机器人的开发平台如ROS,Robotic Toolbox,SimMechanics等来进行一些基本的机器人建模与仿真工作了。

    2. 连杆坐标系

    从前面一系列关于坐标系的文章中我们了解到可以利用齐次变换矩阵来计算某个空间点在各个坐标系下的坐标。在机器人正运动学---坐标系及其变换文章开头我们提出了一个问题,如何求解一个多连杆机器人(如下图)的末端点P在世界坐标系下的坐标。介绍到这里我们终于可以尝试解决这个问题。

    由于机器人的各个连杆之间可以发生相对运动,我们真的很难直观地看出末端点在世界坐标系的位置。那怎么办呢?其实我们可以把这个问题分解一下让每个子问题求解起来没有那么困难。

    如果我们建立一个与末端连杆固连的坐标系,那么P点在该坐标系下的坐标是很容易给出的,因为它只和末端连杆的机械尺寸有关,与机器人的运动无关,这就是一个连杆坐标系。连杆坐标系是一个个与机器人的连杆固连在一起的坐标系。如果我们在机器人的每一个连杆上都建立一个固连坐标系,并且我们想办法求解每相邻两个连杆之间的坐标系变换关系,是不是就能很容易地将P点坐标映射到世界坐标系了呢(相对而言相邻两个连杆之间的坐标变换关系是容易求得的)。

    这时比较关键的问题是怎么求解相邻两个坐标系之间的变换关系。随便建立连杆坐标系肯定是不好的,一方面这将导致坐标系之间的关系复杂多样,难以统一;另一方面我们可能需要进行很多不必要参数的测量。因此建立连杆坐标系需要一套准则。我们希望这套准则尽可能使用较少的参数来描述各个坐标系,同时我们希望这套准则是普适的。

    1995年Jacques Denavit Richard Hartenberg解决了这个问题,他们提出了著名的DH参数法建立连杆坐标系的准则。在这个准则下每个连杆只需四个参数就可以确定它的连杆坐标系。

    3 DH参数

    3.1 DH参数的介绍

    DH参数是一种描述连杆坐标系的方法,如下图所示。可以认为这是机器人中的两个相邻连杆Link_{i-1}Link_{i}。在这里我首先还是希望解释一下图中符号的含义,特别是下标含义,我学习的时候经常弄混。

    图1. DH 参数

    首先我们来定义两个概念,驱动关节传动关节,这两个概念很容易理解。我们都知道对于电驱动的机器人,各个关节处通常都会有伺服电机驱动。在一个串联机器人中连杆i靠近基座的关节驱动连杆i的运动,称为连杆i的驱动关节; 连杆i靠近末端执行器的关节用于驱动连杆i+1的运动,因此我们称这个关节为连杆i的传动关节。DH参数建立的坐标系又被称为传动轴坐标系。这里需要强调连杆i的坐标系是建立在传动关节也就是靠近末端执行器一侧的关节处,也就是说坐标系O_{i-1}x_{i-1}y_{i-1}z_{i-1}(简称\{O_{i-1}\})是与Link_{i-1}固连在一起的,坐标系\{O_{i}\}是与Link_{i}固连在一起的,在后面的介绍中请各位一定牢记,否则你会觉得整个坐标系变换都很奇怪

    Axis_{i-1}对应的是Link_{i-1}的驱动轴; Axis_{i}对应的是Link_{i-1}的传动轴以及Link_{i}的驱动轴;  Axis_{i+1}对应的是Link_{i}的传动轴...

    标志右斜杠的两对直线圈1和圈2分别是两对平行直线。图中的\theta_{i} 、d_{i} 、\alpha _{i} 、a_{i}就是我们要介绍的Link_{i}的DH参数

    3.2 DH参数定义

    要说DH参数为何如此受青睐我觉得主要有两个原因。第一就是DH参数描述一个连杆坐标系只需要4个参数; 第二这四个参数具备明显的物理意义:

    1. \theta _{i}代表坐标系\{O_{i-1}\}和坐标系\{O_{i}\}之间x轴的夹角,也就是Axis_{i}旋转的角度(这不就是关节i电机旋转的角度吗)
    2. d_{i}代表坐标系\{O_{i}\}想对于坐标系\{O_{i-1}\}z_{i-1}轴方向的偏移量
    3. \alpha _{i}代表Link_{i}的驱动轴和传动轴之间的夹角
    4. a_{i}代表Link_{i}的数学意义上的长度

    从上面的描述我们可以看出1和2是描述的是Link_{i-1}Link_{i}之间的关系,3和4描述的是Link_{i}的固有属性(因为它们只和Link_{i}有关)。因此要说清楚DH参数,这两组不同含义的参数还是分开来看。

    3.2.1 连杆长度和扭角

    我们先从\alpha _{i}a_{i}的定义开始,因为这两个参数比较直观。下图就是连杆固有参数\alpha _{i}a_{i}的示意图。再次强调连杆长度和扭角是连杆自身的固有属性,与其他连杆没有任何关系。

    图2. 连杆固有属性

    无论这个连杆有多么的复杂,我们都可以对它进行一种统一的描述:两根关节轴线(Axis_{i}Axis_{i+1})以及他们的公垂线(圈1)是对一个连杆最简单的抽象。这里可能需要一点点空间几何的知识,异面直线有且仅有一条公垂线。

    在这里我们定义Axis_{i}Axis_{i+1}的公垂线圈1的长度为连杆长度a_{i},这就是四个DH参数中的第一个参数。

    定义Axis_{i}Axis_{i+1}两条异面直线的夹角为连杆的关节扭角\alpha _{i},图中双右斜杠对应的两条直线平行,这是DH参数中的第二个参数。

    3.2.2 连杆转角和连杆偏距

    接下来我们来看连杆转角\theta _{i}和连杆偏距d_{i}的定义。这两个参数描述的是一种位置关系。再次强调它们描述的是相邻两个连杆之间的位置关系,不再是连杆的固有属性。就这里来说\theta _{i}d_{i}描述的是Link_{i}相对于Link_{i-1}的位置关系。

    请在回到图1中观察,\{O_{i-1}\}\{O_{i}\}分别是与Link_{i-1}Link_{i}固连的坐标系。根据我们的定义\{O_{i-1}\}x轴建在Axis_{i-1}Axis_{i}的公垂线上,\{O_{i}\}x轴建在Axis_{i}Axis_{i+1}的公垂线上。仔细体会一下这说明了什么。这说明\{O_{i-1}\}x轴和\{O_{i}\}x轴都垂直于Axis_{i},也就是Axis_{i}是异面直线x_{i-1}x_{i}的公垂线。

    图1中单右斜杠对应的两条直线平行,那么\theta _{i}对应的就是直线x_{i-1}x_{i}的夹角。因此我们定义\{O_{i-1}\}\{O_{i}\}x轴夹角为连杆转角\theta _{i}

    我们发现\{O_{i-1}\}沿Axis_{i}(即\{O_{i-1}\}z轴)旋转\theta _{i}\{O_{i-1}\}\{O_{i}\}x轴平行了!我们定义\{O_{i-1}\}\{O_{i}\}x轴之间的公垂线长度为连杆偏距d_{i}

    我们发现\{O_{i-1}\}沿着Axis_{i}旋转\theta _{i},再沿着新坐标系的z轴(其实还是Axis_{i},因为前面的旋转是绕着z轴的,因此z轴方向不会改变)平移d_{i},之后你会发现新的坐标系和\{O_{i}\}x轴已经完全重合了!!

    更进一步,再将新坐标系沿着其x轴旋转\alpha _{i}角,我们发现新坐标系和\{O_{i}\}不仅x轴重合,而且z轴平行了!!!那么如果再沿着x轴平移a_{i}呢?没错两个坐标系这时候完全重合!!!!

    以上描述的过程用数学语言表达就是:

                                                 ^{i-1}\textrm{T}_{i}=rot_{z}\left ( \theta _{i} \right )trans_{z}\left ( d_{i} \right )rot_{x}\left ( \alpha _{i} \right )trans_{x}\left ( a_{i} \right )

    这个变换矩阵可以将\{O_{i}\}中的点映射到\{O_{i-1}\}!有一点需要注意沿同一轴连续的平移和旋转是可以交换位置的,这一点大家从几何的角度思考一下就不难发现,因此沿z的平移和旋转可交换,沿x轴的平移和旋转可交换。

    4. 解决问题

    到这里我们终于可以解决前面提到的关于机器人末端点在基坐标系下的坐标的问题了。方法很简单,就是在每个连杆上都建立一个坐标系,然后用前面提到的变换关系找到相邻连杆之间的变换关系,这样问题就迎刃而解了。如下图所示就是在SCARA机器人的各个连杆上建立的坐标系,为了便于观察添加了一些辅助线。

    在利用DH参数进行机器人正运动学分析时我们习惯上列写DH参数表。有了参数表后我们就已经从机器人中抽象出了数学模型。有人说高手眼中没有机器人,只有坐标系大概就是这种感觉吧。我们把这个机器人的参数列成如下的表格。(依然请各位牢记DH参数中\theta代表两个x轴夹角,d代表两个x轴的公垂线长度,\alpha代表两个z轴夹角,a代表两个z轴的公垂线长度

    SCARA DH参数
    连杆编号 \theta d \alpha a
    1 \theta _{1} d_{1} 0 l_{1}
    2 \theta _{2} 0 0 l_{2}
    3 0 d_{3} 0 0
    4 \theta _{4} 0 0 0

    DH参数表到这里就算是建立完成了,SCARA机器人第三轴是平移关节,DH参数表中的变量为\theta _{1}\theta _{2}d_{3}\theta _{4},其余参数均为固定值。还记得我们在3.2.2介绍的变换关系吗?每相邻两个连杆之间的关系都可以用这个变换加以描述。因此我们可以找到:

                                      ^{0}\textrm{T}_{1}=rot_{z}\left ( \theta _{1} \right )trans_{z}\left ( d_{1} \right )trans_{x}\left ( l_{1} \right )

                                      ^{1}\textrm{T}_{2}=rot_{z}\left ( \theta _{2} \right )trans_{x}\left ( l_{2} \right )

                                      ^{2}\textrm{T}_{3}=trans_{z}\left ( d_{3} \right )

                                      ^{3}\textrm{T}_{4}=rot_{z}\left ( \theta _{4} \right )

    我们要求的P点是不是就是坐标系{4}的原点呢?它在基坐标系下如下表示呢?很简单把所有变换迭乘就可以了:

                                     P^{0}=^{0}\textrm{T}_{1}\cdot ^{1}\textrm{T}_{2}\cdot ^{2}\textrm{T}_{3}\cdot ^{3}\textrm{T}_{4}\cdot \begin{bmatrix} 0\\ 0\\ 0\\ 1 \end{bmatrix}

    因此当我们测量到DH参数中各个变量的值以及已知机器人的结构参数时,只需要代入到上面的方程中,就可以求解末端点P在基坐标系下的坐标。

    5. 总结

    这篇文章我们介绍了DH参数以及其物理意义,有些特殊的连杆如何建立坐标系没有进行相关介绍,比如连杆两个轴线平行/相交时如何建立坐标系。建立DH坐标系有哪些小技巧,这些我们将在下一篇文章进行讨论。由于个人能力有限,所述内容难免存在疏漏,欢迎指出,欢迎讨论。

    下一篇:8. 机器人正运动学---DH坐标系建立技巧

    展开全文
  • 连杆坐标系的规定

    2021-01-06 21:03:55
    建立连杆坐标系的步骤: 1.找出各关节轴,并标出(或画出)这些轴线的延长线。在下面的步骤2至步骤5中,仅考虑两个相邻的轴线(关节轴i和i+1)。 2.找出关节轴i和i+1之间的公垂线或关节轴i和i+1的交点,以关节轴i和i+...

    、
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    z0是沿着关节轴1的方向;(一般l0的坐标轴与l1的坐标轴相同)
    故:两个关节轴间的距离为0;角度为0—— 即初始 a 和 α为0.

    建立连杆坐标系的步骤:

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

    例题:
    在这里插入图片描述

    在这里插入图片描述

    分析:
    1.找出各关节轴,并标出(或画出)这些轴线的延长线。
    3个关节轴,方向:垂直于纸面向外

    2.找出关节轴i和i+1之间的公垂线或关节轴i和i+1的交点,以关节轴i和i+1的交点或公垂
    线与关节轴i的交点作为连杆坐标系{0}的原点。
    公垂线就是连杆

    3.规定Z轴沿关节轴i的指向。即垂直于纸面向外
    4.规定X轴沿公垂线的指向,(即连杆的方向)
    5.按照右手定则确定Y轴。
    在这里插入图片描述

    在这里插入图片描述
    D-H表
    连杆的长度a,即两关节轴线的距离
    连杆的转角α(扭转角),即关节轴线的夹角
    连杆的偏距di:两个连杆长度(空间直线ai-1和ai)的距离 (反映了两个连杆沿着轴i的距离)
    关节角θ:连杆长度ai-1的延长线转动到与上一个连杆长度ai平行所需要的角度。(关节角反映了两个连杆在关节轴处的夹角。)
    在这里插入图片描述

    展开全文
  • 0. 对连杆坐标系的规定 为了描述每个连杆与相邻连杆之间的相对位置关系,我们通常会在每个连杆上定义一个相对连杆固定的坐标系,称为固连坐标系,根据固连坐标系所在的连杆为其命名。因此固连在连杆i上的固连坐标系...

    0. 对连杆坐标系的规定

    为了描述每个连杆与相邻连杆之间的相对位置关系,我们通常会在每个连杆上定义一个相对连杆固定的坐标系,称为固连坐标系,根据固连坐标系所在的连杆为其命名。因此固连在连杆i上的固连坐标系称为坐标系{i}

    0.0 连杆链中的中间连杆

    在这里插入图片描述
    在这里插入图片描述

    0.1 连杆链中的首尾连杆

    固连在机器人基座的坐标系,即固连在连杆0上的坐标系{0},由于该坐标系是始终固定不动的,所以我们通常将其作为参考坐标系,可以在这个参考坐标系里描述所有其他的连杆坐标系。
    参考坐标系{0}可以任意设定,只是为了方便起见,通常设定Z0轴沿关节轴1的方向,当关节变量1为0的时候,设定参考坐标系{0}坐标系{1}重合。
    按照这个规定总有a0 = 0α0 = 0。当关节1为转动关节的时候,d1 = 0,当关节1为移动关节使,θ1 = 0
    对于转动关节n,设θn = 0,此时Xn-1轴与Xn轴的方向相同,选取坐标系{N}的原点使dn = 0,对于移动关节n,设Xn轴方向使θn = 0,当dn = 0时,选取坐标系{N}的原点位于Xn-1轴与关节轴n的交点位置。

    0.2 在连杆坐标系中对连杆参数的归纳

    按照上述规定设置连杆坐标系,则连杆参数可以有如下定义:
    在这里插入图片描述

    0.3 建立连杆坐标系的步骤

    对于一个新机构,我们需要按照如下步骤正确地建立连杆坐标系:

    • 找出各个关节轴,标出这些轴的延长线,方便后续使用
    • 找出关节轴ii+1之间的公垂线或者交点,以两者的交点或者公垂线与关节轴i的交点作为连杆坐标系的原点
    • 规定Zi轴沿关节轴的指向
    • 规定Xi轴沿公垂线的指向,如果关节轴ii+1相交,则规定Xi轴垂直于关节轴ii+1所在平面。
    • 按照右手定则确定Yi
    • 当第一个关节变量0时,规定坐标系{0}和{1}重合。对于坐标系{N},其原点和Xn的方向可以任意选取。但是在选取时,尽量使连杆参数为0。
    展开全文
  • 连杆坐标系3 DH参数3.1 DH参数的介绍3.2 DH参数定义3.2.1 连杆长度和扭角3.2.2 连杆转角和连杆偏距4. 解决问题5. 总结 1. 引言   前面的文章我们一直在介绍坐标系以及它们之间的变换关系,数学的意味还是很浓的。...

    1. 引言

      前面的文章我们一直在介绍坐标系以及它们之间的变换关系,数学的意味还是很浓的。讲了那么多的公式和规律,它们要怎么用在机器人上呢?这篇文章将介绍坐标系和机器人之间的纽带即连杆坐标系。完成这篇文章的介绍之后我们就可以利用一些机器人的开发平台如ROS,Robotic Toolbox,SimMechanics等来进行一些基本的机器人建模与仿真工作了。

    2. 连杆坐标系

      从前面一系列关于坐标系的文章中我们了解到可以利用齐次变换矩阵来计算某个空间点在各个坐标系下的坐标。在机器人正运动学(3)—— 坐标系及其变换文章开头我们提出了一个问题,如何求解一个多连杆机器人(如下图)的末端点P在世界坐标系下的坐标。介绍到这里我们终于可以尝试解决这个问题。

      由于机器人的各个连杆之间可以发生相对运动,我们真的很难直观地看出末端点在世界坐标系的位置。那怎么办呢?其实我们可以把这个问题分解一下让每个子问题求解起来没有那么困难。
    在这里插入图片描述

      如果我们建立一个与末端连杆固连的坐标系,那么 PP 点在该坐标系下的坐标是很容易给出的,因为它只和末端连杆的机械尺寸有关,与机器人的运动无关,这就是一个连杆坐标系。连杆坐标系是一个个与机器人的连杆固连在一起的坐标系。如果我们在机器人的每一个连杆上都建立一个固连坐标系,并且我们想办法求解每相邻两个连杆之间的坐标系变换关系,是不是就能很容易地将P点坐标映射到世界坐标系了呢(相对而言相邻两个连杆之间的坐标变换关系是容易求得的)。

      这时比较关键的问题是怎么求解相邻两个坐标系之间的变换关系。随便建立连杆坐标系肯定是不好的,一方面这将导致坐标系之间的关系复杂多样,难以统一;另一方面我们可能需要进行很多不必要参数的测量。因此建立连杆坐标系需要一套准则。我们希望这套准则尽可能使用较少的参数来描述各个坐标系,同时我们希望这套准则是普适的。

      1995年Jacques DenavitRichard Hartenberg解决了这个问题,他们提出了著名的DH参数法建立连杆坐标系的准则。在这个准则下每个连杆只需四个参数就可以确定它的连杆坐标系。

    3 DH参数

    3.1 DH参数的介绍

      DH参数是一种描述连杆坐标系的方法,如下图所示。可以认为这是机器人中的两个相邻连杆 Linki1Link_{i-1}LinkiLink_{i}。在这里我首先还是希望解释一下图中符号的含义,特别是下标含义,我学习的时候经常弄混。
    在这里插入图片描述

    图1. DH参数

      首先我们来定义两个概念,驱动关节传动关节,这两个概念很容易理解。我们都知道对于电驱动的机器人,各个关节处通常都会有伺服电机驱动。在一个串联机器人中连杆i靠近基座的关节驱动连杆i的运动,称为连杆i的驱动关节; 连杆i靠近末端执行器的关节用于驱动连杆i+1的运动,因此我们称这个关节为连杆i的传动关节。DH参数建立的坐标系又被称为传动轴坐标系。这里需要强调连杆i的坐标系是建立在传动关节也就是靠近末端执行器一侧的关节处,也就是说坐标系Oi1xi1yi1zi1O_{i-1}x_{i-1}y_{i-1}z_{i-1}(简称 {Oi1}\{O_{i-1}\})是与 Linki1Link_{i-1} 固连在一起的,坐标系 {Oi}\{O_{i}\} 是与 LinkiLink_{i} 固连在一起的,在后面的介绍中请各位一定牢记,否则你会觉得整个坐标系变换都很奇怪

      Axisi1Axis_{i-1} 对应的是 Linki1Link_{i-1} 的驱动轴; AxisiAxis_{i} 对应的是 Linki1Link_{i-1} 的传动轴以及 LinkiLink_{i} 的驱动轴; Axisi+1Axis_{i+1}对应的是 LinkiLink_{i} 的传动轴…

      标志右斜杠的两对直线圈1和圈2分别是两对平行直线。图中的 θi\theta_{i}did_{i}αi\alpha _{i}aia_{i} 就是我们要介绍的 LinkiLink_{i} 的DH参数。

    3.2 DH参数定义

      要说DH参数为何如此受青睐我觉得主要有两个原因。第一就是DH参数描述一个连杆坐标系只需要4个参数; 第二这四个参数具备明显的物理意义:

    1. θi\theta _{i} 代表坐标系 {Oi1}\{O_{i-1}\} 和坐标系 {Oi}\{O_{i}\} 之间x轴的夹角,也就是 AxisiAxis_{i} 旋转的角度(这不就是关节i电机旋转的角度吗)
    2. did_{i} 代表坐标系 {Oi}\{O_{i}\} 想对于坐标系 {Oi1}\{O_{i-1}\}zi1z_{i-1} 轴方向的偏移量
    3. αi\alpha _{i} 代表 LinkiLink_{i} 的驱动轴和传动轴之间的夹角
    4. aia_{i} 代表 LinkiLink_{i} 的数学意义上的长度

      从上面的描述我们可以看出1和2是描述的是 Linki1Link_{i-1}LinkiLink_{i} 之间的关系,3和4描述的是 LinkiLink_{i} 的固有属性(因为它们只和 LinkiLink_{i} 有关)。因此要说清楚DH参数,这两组不同含义的参数还是分开来看。

    3.2.1 连杆长度和扭角

      我们先从 αi\alpha _{i}aia_{i} 的定义开始,因为这两个参数比较直观。下图就是连杆固有参数 αi\alpha _{i}aia_{i} 的示意图。再次强调连杆长度和扭角是连杆自身的固有属性,与其他连杆没有任何关系。
    在这里插入图片描述

    图2. 连杆固有属性

      无论这个连杆有多么的复杂,我们都可以对它进行一种统一的描述:两根关节轴线AxisiAxis_{i}Axisi+1Axis_{i+1})以及他们的公垂线(圈1)是对一个连杆最简单的抽象。这里可能需要一点点空间几何的知识,异面直线有且仅有一条公垂线

      在这里我们定义Axis_{i}和Axis_{i+1}的公垂线圈1的长度为连杆长度a_{i},这就是四个DH参数中的第一个参数。

      定义 AxisiAxis_{i}Axisi+1Axis_{i+1} 两条异面直线的夹角为连杆的关节扭角 αi\alpha _{i},图中双右斜杠对应的两条直线平行,这是DH参数中的第二个参数。

    3.2.2 连杆转角和连杆偏距

      接下来我们来看连杆转角 θi\theta _{i}di连杆偏距d_{i} 的定义。这两个参数描述的是一种位置关系。再次强调它们描述的是相邻两个连杆之间的位置关系,不再是连杆的固有属性。就这里来说 θi\theta _{i}did_{i} 描述的是 LinkiLink_{i} 相对于 Linki1Link_{i-1} 的位置关系。

      请在回到图1中观察(这里我把图1放在了下面,方便观看),{Oi1}\{O_{i-1}\}{Oi}\{O_{i}\} 分别是与 Linki1Link_{i-1}LinkiLink_{i} 固连的坐标系。根据我们的定义 {Oi1}\{O_{i-1}\} 的x轴建在 Axisi1Axis_{i-1}AxisiAxis_{i} 的公垂线上,{Oi}\{O_{i}\} 的x轴建在 AxisiAxis_{i}Axisi+1Axis_{i+1} 的公垂线上。仔细体会一下这说明了什么。这说明 {Oi1}\{O_{i-1}\} 的x轴和 {Oi}\{O_{i}\} 的x轴都垂直于 AxisiAxis_{i},也就是 AxisiAxis_{i} 是异面直线 xi1x_{i-1}xix_{i} 的公垂线。

      图1中单右斜杠对应的两条直线平行,那么 θi\theta _{i} 对应的就是直线 xi1x_{i-1}xix_{i} 的夹角。因此我们定义 {Oi1}\{O_{i-1}\}{Oi}\{O_{i}\} 的x轴夹角为连杆转角 θi\theta _{i}
    在这里插入图片描述

    图1. DH参数

      我们发现 {Oi1}\{O_{i-1}\} 沿 AxisiAxis_{i}(即 {Oi1}\{O_{i-1}\} 的z轴)旋转 θi\theta _{i}{Oi1}\{O_{i-1}\}{Oi}\{O_{i}\} 的x轴平行了!我们定义 {Oi1}\{O_{i-1}\}{Oi}\{O_{i}\} 的x轴之间的公垂线长度为连杆偏距 did_{i}

      我们发现 {Oi1}\{O_{i-1}\} 沿着 AxisiAxis_{i} 旋转 θi\theta _{i},再沿着新坐标系的z轴(其实还是 AxisiAxis_{i},因为前面的旋转是绕着z轴的,因此z轴方向不会改变)平移 did_{i},之后你会发现新的坐标系和 {Oi}\{O_{i}\} 的x轴已经完全重合了!!

      更进一步,再将新坐标系沿着其x轴旋转 αi\alpha _{i} 角,我们发现新坐标系和 {Oi}\{O_{i}\} 不仅x轴重合,而且z轴平行了!!!那么如果再沿着x轴平移 aia_{i} 呢?没错两个坐标系这时候完全重合!!!!

      以上描述的过程用数学语言表达就是:i1Ti=rotz(θi)transz(di)rotx(αi)transx(ai)^{i-1}\textrm{T}_{i}=rot_{z}\left ( \theta _{i} \right )trans_{z}\left ( d_{i} \right )rot_{x}\left ( \alpha _{i} \right )trans_{x}\left ( a_{i} \right )

      这个变换矩阵可以将 {Oi}\{O_{i}\} 中的点映射到 {Oi1}\{O_{i-1}\}!有一点需要注意沿同一轴连续的平移和旋转是可以交换位置的,这一点大家从几何的角度思考一下就不难发现,因此沿z的平移和旋转可交换,沿x轴的平移和旋转可交换。

    4. 解决问题

      到这里我们终于可以解决前面提到的关于机器人末端点在基坐标系下的坐标的问题了。方法很简单,就是在每个连杆上都建立一个坐标系,然后用前面提到的变换关系找到相邻连杆之间的变换关系,这样问题就迎刃而解了。如下图所示就是在SCARA机器人的各个连杆上建立的坐标系,为了便于观察添加了一些辅助线。
    在这里插入图片描述
      在利用DH参数进行机器人正运动学分析时我们习惯上列写DH参数表。有了参数表后我们就已经从机器人中抽象出了数学模型。有人说高手眼中没有机器人,只有坐标系大概就是这种感觉吧。我们把这个机器人的参数列成如下的表格。(依然请各位牢记DH参数中\theta代表两个x轴夹角,d代表两个x轴的公垂线长度,\alpha代表两个z轴夹角,a代表两个z轴的公垂线长度

    SCARA DH参数
    连杆编号 θ\theta dd α\alpha aa
    1 θ1\theta _{1} d1d_{1} 00 l1l_{1}
    2 θ2\theta _{2} 00 00 l2l_{2}
    3 0 d3d_{3} 0 0
    4 θ4\theta _{4} 0 0 0

      DH参数表到这里就算是建立完成了,SCARA机器人第三轴是平移关节,DH参数表中的变量为 θ1\theta _{1}θ2\theta _{2}d3d_{3}θ4\theta _{4},其余参数均为固定值。还记得我们在3.2.2介绍的变换关系吗?每相邻两个连杆之间的关系都可以用这个变换加以描述。因此我们可以找到:0T1=rotz(θ1)transz(d1)transx(l1)^{0}\textrm{T}_{1}=rot_{z}\left ( \theta _{1} \right )trans_{z}\left ( d_{1} \right )trans_{x}\left ( l_{1} \right )

    1T2=rotz(θ2)transx(l2)^{1}\textrm{T}_{2}=rot_{z}\left ( \theta _{2} \right )trans_{x}\left ( l_{2} \right )

    2T3=transz(d3)^{2}\textrm{T}_{3}=trans_{z}\left ( d_{3} \right )

    3T4=rotz(θ4)^{3}\textrm{T}_{4}=rot_{z}\left ( \theta _{4} \right )

      我们要求的 PP 点是不是就是坐标系{4}的原点呢?它在基坐标系下如下表示呢?很简单把所有变换迭乘就可以了:P0=0T11T22T33T4[0001]P^{0}=^{0}\textrm{T}_{1}\cdot ^{1}\textrm{T}_{2}\cdot ^{2}\textrm{T}_{3}\cdot ^{3}\textrm{T}_{4}\cdot \begin{bmatrix} 0\\ 0\\ 0\\ 1 \end{bmatrix}

      因此当我们测量到DH参数中各个变量的值以及已知机器人的结构参数时,只需要代入到上面的方程中,就可以求解末端点 PP 在基坐标系下的坐标。

    5. 总结

      这篇文章我们介绍了DH参数以及其物理意义,有些特殊的连杆如何建立坐标系没有进行相关介绍,比如连杆两个轴线平行/相交时如何建立坐标系。建立DH坐标系有哪些小技巧,这些我们将在下一篇文章进行讨论。

      由于个人能力有限,所述内容难免存在疏漏,欢迎指出,欢迎讨论。

    下一篇:机器人正运动学(8)—— DH坐标系建立技巧
    ————————————————
    版权声明:本文为CSDN博主「hitgavin」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/hitgavin/article/details/104442034

    展开全文
  • /* 参考资料:《机器人学导论 Introduction to Robotics Mechanics and Control》——(美)John J.Craig等 */ 注意:不管是Standard DH法还是Modified DH法,下面...一个连杆有2个轴线,对于Link(i-1),其左右两端的
  • 这个机器人一共有6+1个连杆(6个实体连杆+地面作为0号连杆)、7个坐标系(分别与7个连杆对应),其中第i个坐标系以第i个副的轴作为Z轴,第7个坐标系的轴是自由定义的,我们通常把它定义为与第6个副的...
  • 通过机器人运动学方程获得机器人末端连杆坐标系相对基坐标系的变换关系,利用激光跟踪仪测量拟合得到机器人工具坐标系,利用坐标变换初步确定机器人工具参数。通过机器人单轴旋转运动对工具坐标系原点进行修正,最终...
  • 最后通过matlab进行仿真三自由度操作臂1、建立连杆坐标系对于一个新机构,可以按照下面步骤正确建立连杆坐标系1)找出各关节轴,并标出(或画出)这些轴线的延长线。在下面的步骤2至步骤5中,仅考虑两个相邻的轴线...
  • DH坐标系建立

    万次阅读 2017-09-18 09:50:17
    在串联机器人进行正逆解求解的过程中,...图中建立两个坐标系,即XYZ(i-1)和坐标系XYZ(i)。 DH坐标系的建立步骤如下: 对杆件进行编号。底座是Link0,照此依次为杆件进行编号。 对关节进行编号。关节i连接link i 和link
  • Simscape建模笔记urdf开始讲起吧urdf建模过程其实与dh建模本质一样,DH建模是连杆坐标系,建立的是关节与关节之间的变换关系,也就是上图中==黄色主线==所指示的,从joint1(B1)到joint2(F2)之间的变换关系,而这就...
  • DH坐标系建立与计算

    2017-09-20 14:35:50
    用于机器人硬件开发,关节机器人求解运动学方程使用的DH坐标系原理与建立方法,以及方程正解与逆解求解方法
  • ROS中的坐标与坐标系转换

    千次阅读 2020-10-04 15:05:29
    ROS中的TF 官网建议新工作直接使用tf2,因为它有一个更清洁的界面,...ROS中机器人模型包含大量的部件,每一个部件统称之为link(比如手部、头部、某个关节、某个连杆),每一个link上面对应着一个frame(坐标系), 用f
  • scara坐标系

    千次阅读 2018-01-03 14:58:28
  • 连杆间的速度传递

    2020-09-19 23:57:51
    注意线速度是相对于一点的的,而角速度是相对于一个物体的,因此,“连杆的速度”指的是连杆坐标系原点的线速度和连杆的角速度。 如上图所示,将机构的每一个连杆看作为一个刚体,可以用线速度矢量和角速度矢量描述...
  • 机器人运动学——连杆模型参数

    千次阅读 2020-06-07 10:14:52
    目录引言:机器人的运动学什么是连杆怎样连接连杆处于运动链中间的连杆连杆参数和连杆坐标系连杆参数连杆坐标系    引言:机器人的运动学   运动学单纯研究机械臂的运动特性(位置、速度、加速度以及位置变量的...
  • 本帖最后由 妖刀夜 于 2016-12-30 10:02 编辑这里的 r: 表示连杆的质心坐标,猜测应该是以连杆坐标系作为定义坐标,来由此描述出连杆的质心位置;这里的 I: 我就有点搞不懂是以哪个基准为定义惯性张量的,是以质心呀...
  • 02_算法坐标系的建立

    千次阅读 2018-06-11 21:34:48
    为了得出D-H参数表,我们首先需要针对六轴机器人的各个关节建立坐标系,在固定的坐标系下,才能最终得出连杆之间的变换关系,从而建立D-H参数表。 算法坐标系确定的通用方法如下: 1) 坐标系的Z轴,与...
  • 二连杆机器人的动力学参考二连杆机器人DH参数对连杆附加坐标系的规定在连杆坐标系中对连杆参数的归纳三级目录 参考 「ロボット工学入門」高田洋吾著 Matlab 2018b 二连杆机器人 模型如下: DH参数 对连杆附加坐标...
  • Stanford机器人D-H坐标系

    千次阅读 2020-12-27 10:46:37
    机器人坐标系建立的D-H方法是由Denauit和Hertenbery于1956年提出,它严格定义了每个坐标系的坐标轴,并定义了连杆长度ai、连杆距离di、连杆扭脚αi及连杆夹角θi。其中,对于转动关节,θi是关节变量,其他三个参数...
  • 机器人运动学(位姿)正解:预先约定一下,在机器人领域内,一些字母的含义(后面会用得到)大地坐标系(或基坐标系):B末端坐标系:E工具坐标系:T测量坐标系:M坐标系原点:ORG第1小节 物体位姿的表示方法点在三...
  • 在课程3.1,介绍了利用Denavit-Hartenberg方法(D-H方法)建立坐标系,并给出连杆的四元参数组合,最终通过齐次变换建立末端执行器与基座之间的变换关系。在课程3.2中,将以Stanford Scheinman Arm为实例完成计算,...
  • 改进DH坐标系

    2021-03-12 21:06:29
    上述低副的自由度都为1,进行机器人结构设计时应该优先选用低副作为连杆的连接方式,大部分的机器人连接都会采用旋转关节或移动关节。 机械臂的编号 机械臂的编号包括:连杆编号、轴编号。连杆编号从0开始,这通常是...
  • 变换算子右乘:表示该变换是相对动的坐标系(新坐标系)变换。 这一节里Jungle将在上一篇文章和变换算子的基础上,总结一下在机器人运动学分析里面,机器人关节坐标系变换关系。 1.简介 以六自由度工业机器人(6R...
  • ur机器人编程-坐标系

    2020-05-18 23:28:27
    ur机器人编程-坐标系 特征:有三个相互垂直的xyz坐标轴组成 基座特征: 工具特征:tcp Tcp:控制xyz 控制工具围绕每个轴的旋转,Rx:Ry:Rz: 可以设置特征,通过移动特征移动该路点 1.设置特征 1)单击安装设置...
  • 0. 坐标系的标准命名 为了规范起见,我们有必要给机器人和工作空间赋予专门的命名和专门的坐标系。 0.0 基座标系 {B} 0.1 工作台坐标系 {S} 0.2 腕部坐标系 {W} 0.3 工具坐标系 {T} 0.4 目标坐标系 {G} 1. 工具的...
  • ROS的坐标系TF

    千次阅读 2016-05-31 06:46:14
    ROS坐标系ROS坐标系使用右手法则,Z轴朝上, X轴到Y轴是逆时针。教程http://wiki.ros.org/tf/Tutorials/Introduction%20to%20tfdemo一个双龟跟随的游戏,使用 teleop_key node进行第一个龟的导引,第二个龟跟随安装$...
  • 为了让机器人完成指定的任务要求,比如将一杯绿茶从茶几拿到餐桌,机器人首先要知道茶杯相对于自己的位置,然后规划出一条从当前位置-->...整个过程涉及到机器人基坐标系,工具坐标系,关节坐...
  • 机械臂D-H坐标系的建立

    万次阅读 2018-05-03 12:25:33
    正解与逆解的求解需要相应的机器人运动方程,其中关键的就是DH参数表  DH参数表用来描述机器人各关节坐标系之间的关系,有了DH参数表就可以在机器人各...连杆偏距 :2个关节坐标系的X轴之间的距离    关节角度...
  • 六自由度机械臂研究(2)- 机械臂坐标系建立, DH参数表建立 1. 机械臂坐标系建立 机械臂的坐标系建立是未来解析推导运动学算法的基础, 也是机械臂入学者的第一个坑。 坑的原因是网上资料无数, 但是几乎没有任何...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 953
精华内容 381
关键字:

连杆坐标系