当前位置: 华文问答 > 科学

机器人学中旋量和D

2020-05-25科学

前言

  • 之前对机器人机构的建模都是采用的DH参数法,建立坐标,确定参数,确实比较繁琐
  • 这次采用基于旋量的指数积公式之后,意识到运动学建模可以如此优雅简洁
  • 自己也是从机械专业出身,在介绍相关知识方面,尽量通俗易懂
  • 能不彪公式就不彪公式
  • 注:

  • 看完文章,就可以对串联机构进行建模,并且相关代码【现代机器人学】都附带,我将链接放在后面
  • 文章中参考的资料都来自于【现代机器人学】,并且作者也在网站上公开了免费的电子版下载
  • 会持续分享一些机器人相关的知识,欢迎关注Winter
  • 大纲

  • 文章一:举个例子看看基于旋量的机器人指数积POE公式比DH参数法简洁之处
  • 文章二:用机械人能听懂的方式讲解方法的来历,做到心中有数
  • 文章三:用Matlab的仿真模拟实验
  • 直接上例子

    这里的例子只是为了表明指数积公式的简洁之处,只需要三个步骤,至于为什么要这样做,将在下一篇文章中讲解

    (左)通用机器人的UR5 6R机械臂。(右)显示在其零位置。绕所示轴的正旋转由通常的右手规则给出。

    来自【现代机器人学】

    步骤一

  • 先将这个机构摆放在初始位置,也就是关节位置为0
  • 我们只关心两个坐标系,基座坐标系 Xs Ys Zs 如图 和末端坐标系 Xb Yb Zb
  • 确定这两个坐标系后,写出末端坐标系相对基座坐标系的位姿矩阵M
  • 矩阵解读
  • 我圈出来的三个向量分别就是末端坐标系的x轴y轴z轴 这三个向量 在基座坐标系中的向量
  • 而第四列的向量就是末端坐标系的原点在基座坐标系中的位置
  • 步骤二

  • 建立这样一个表
  • 表格
  • 表格的第一列,就是对应着上图中每个旋转关节的轴线,在基座坐标系中的单位向量
  • 第二列: v=r\times w ,r就是对应轴线上任意一点的位置,
  • 拿第3行来说,图中第3个轴的轴线是 w=(0, 1, 0 ) ,他经过了一个点, r=(L1, 0, p) 这个点是不唯一的,只要经过轴线即可, r\times w 进行叉乘为:( -p , 0, L1 )
  • 步骤三

  • 由上面的w v 组成 s
  • S就是指的运动旋量,这里我们先不管它,
  • 上面列出的表格中,每一行都可以得到一个T,这个T具体怎么计算看上面这个公式?
  • \theta 就是你这个关节要转多少度?
  • I 就是一个单位矩阵,
  • \left[ w \right] 长这个样子只要根据上面的w将它填成这样的矩阵就可以,
  • 最难的就是这个,其实就是我们的旋转矩阵,
  • 那你已经能根据旋量计算 每个关节的T矩阵
    这是最终的T矩阵
  • 最终的矩阵,就是把每个旋转矩阵乘起来,最后再乘以我们刚开始的初始配置的末端矩阵M
  • 这个例子中,
  • 所以
  • 最终
  • 你可以根据最终这个答案测试一下自己是否计算正确,
  • 步骤是很顺利的,但有可能公式看起来比较麻烦一点,但在matlab的程序中是有作者写的库文件的,你只需要指定这个轴的方向和这个轴经过的点,以及M,它就可以自己完全计算了,
  • 经过上面三个步骤,我们已经会使用了这种方法,但是为什么好端端的旋转矩阵会跟指数扯上关系?更何况这个指数其中的参数竟然还是一个矩阵,

    下一章节我们就探讨这个问题,用通俗的方法讲清楚这个,让我们心里有个底

    如果觉得对你有帮助,欢迎点赞,或者关注交流

    附录

    这个是可以免费下载这本【现代机器人学】电子书的网址

    http:// hades.mech.northwestern.edu /index.php/Modern_Robotics#Book