机器人学导论 二、正运动学

  • 前言
  • 关节与连杆
    • 编号
  • 连杆参数
    • 连杆的描述
    • 连杆连接的描述
    • 关节变量
  • 连杆坐标系
    • 中间连杆坐标系建立
    • 首尾连杆坐标系建立
      • 首坐标系
      • 尾坐标系
    • 连杆参数与连杆坐标系
    • 连杆变换
  • MDH法使用步骤
  • 后记

前言

本篇学习机械臂的正运动学,MDH法。

关节与连杆

关节joint,连杆link,是机械臂的基本组成结构。

关节包括转动关节和移动关节,一般仅有一个自由度。

一个关节把相邻两连杆连接,n个关节把n+1个连杆连接起来,具有n个自由度。

编号

把固定基座作为第0个连杆,机械臂末端的连杆作为第n个连杆。

连杆参数

连杆的描述

两个相邻关节轴之间的公垂线的长度,称为连杆的长度。

两个相邻关节轴之间形成的角度,称为连杆的转角。

上图中,连杆i-1的长度是其近端关节轴i-1与远端关节轴i之间的公垂线长度ai−1a_{i-1}ai−1​

连杆i-1的转角是其近端关节轴i-1与远端关节轴i形成的角度αi−1\alpha_{i-1}αi−1​,至于角度的正负号,可以根据后面建立坐标系时再确定。

连杆连接的描述

两个相邻连杆之间的距离,称为连杆偏距。

两个相邻连杆绕公共关节轴旋转的夹角,称为关节角。


上图中,关节i是连杆i-1和连杆i的公共关节。

由于实际的连杆是弯曲的,可以将公垂线段ai−1a_{i-1}ai−1​和aia_iai​ 看作代替曲连杆的直连杆i-1,i

直连杆i-1,i之间的距离是关节i的连杆偏距did_idi​

直连杆i-1沿关节轴i旋转到直连杆i的角度是关节角θi\theta_iθi​

关节变量

一个连杆可以使用上面的连杆长度、连杆转角、连杆偏距、关节角四个参数确定。

对于转动关节,关节角可变,另三个参数不变。

对于移动关节,连杆偏距可变,另三个参数不变。

可变的参数称为关节变量。

连杆坐标系

连杆坐标系用于描述相邻连杆之间的相对位置关系。

连杆坐标系编号与连杆编号相同,称为{i}\{i\}{i}。

中间连杆坐标系建立

为连杆i建立坐标系:

以关节轴i作为Z轴,以连杆iZ轴的交点作为原点,以连杆i作为X轴指向关节轴i+1,以右手定则确定Y轴

例外:如果连杆i的长度ai=0a_i=0ai​=0(此时连杆i,i+1Z轴相交),以交点作为原点,以两个Z轴所在平面的垂线作为X轴,方向可以有两种选择,而αi\alpha_iαi​的符号就由X轴方向决定。

每个坐标轴的建立都要满足右手定则。

上图中,可以按这个顺序来建立坐标系:

首先找到所有的关节轴i-1,i

然后确定坐标系{i−1}\{i-1\}{i−1},以关节轴作为Z^i−1\hat Z_{i-1}Z^i−1​,直连杆i-1作为X^i−1\hat X_{i-1}X^i−1​,再右手定则确定Y^i−1\hat Y_{i-1}Y^i−1​。

然后确定坐标系{i}\{i\}{i}。

首尾连杆坐标系建立

对于首尾连杆0,n,有特殊的建系方法。

首坐标系

坐标系{0}\{0\}{0}在基座上,一般作为参考系。

第一个关节变量为0时,规定坐标系{0}\{0\}{0}于{1}\{1\}{1}重合。

当第一个关节为转动关节,d1=0d_1=0d1​=0;第一个关节为移动关节,θ1=0\theta_1=0θ1​=0

尾坐标系

坐标系{n}\{n\}{n}的原点和x轴方向可以任意选取,但要尽量使得连杆参数为0。

连杆参数与连杆坐标系

按照上面的建系方法,可以把连杆参数重新定义:

  • aia_iai​连杆长度:沿X^i\hat X_iX^i​,从Z^i\hat Z_iZ^i​移动到Z^i+1\hat Z_{i+1}Z^i+1​的距离
  • αi\alpha_iαi​连杆扭转角:绕X^i\hat X_iX^i​轴,把Z^i\hat Z_iZ^i​旋转到Z^i+1\hat Z_{i+1}Z^i+1​的角度
  • did_idi​连杆偏距:沿Z^i\hat Z_iZ^i​,从X^i−1\hat X_{i-1}X^i−1​移动到X^i1\hat X_{i1}X^i1​的距离
  • θi\theta_iθi​关节角:绕Z^i\hat Z_iZ^i​轴,把X^i−1\hat X_{i-1}X^i−1​旋转到X^i\hat X_{i}X^i​的角度

设定ai>0a_i>0ai​>0,其它参数可正可负。

上面建立连杆坐标系和连杆参数的方式称为MDH法(Modified Denavit–Hartenberg)。

DH法建立的坐标系并不是唯一的。

连杆变换

连杆参数可用于相邻杆之间的相对位姿计算。

上图中,考虑坐标系{i−1},{i}\{i-1\},\{i\}{i−1},{i}之间的变换i−1iT^i_{i-1}Ti−1i​T,建立中间坐标系{P},{Q},{R}\{P\},\{Q\},\{R\}{P},{Q},{R},则有:
ii−1T=Ri−1TQRTPQTiPT^{i-1}_iT = \ ^{i-1}_RT \ ^R_{Q}T \ ^Q_PT \ ^P_{i}T ii−1​T= Ri−1​T QR​T PQ​T iP​T
上面的变换,可以看作是把X^i\hat X_iX^i​变换为X^i−1\hat X_{i-1}X^i−1​,则有:
ii−1T=RX(αi−1)DX(ai−1)RZ(θi)DZ(di)^{i-1}_iT = R_X(\alpha_{i-1})D_X(a_{i-1})R_Z(\theta_i)D_Z(d_i) ii−1​T=RX​(αi−1​)DX​(ai−1​)RZ​(θi​)DZ​(di​)
或者将每个中间坐标系的变换都写出来:
iPT=[10000100001di0001]PQT=[cos⁡θ1−sin⁡θ100sin⁡θ1cos⁡θ10000100001]QRT=[1000010ai−100100001]Ri−1T=[10000cos⁡αi−1−sin⁡αi−100sin⁡αi−1cos⁡αi−100001]^P_iT = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & d_i \\ 0 & 0 & 0 & 1 \\ \end{bmatrix} \\ \quad \\ \ ^Q_PT = \begin{bmatrix} \cos \theta_1 & -\sin \theta_1 & 0 & 0 \\ \sin \theta_1 & \cos \theta_1 & 0 & 0 \\ 0 & 0 & 1 &0 \\ 0 & 0 & 0 & 1 \\ \end{bmatrix} \\ \quad \\ \ ^R_QT = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & a_{i-1} \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ \end{bmatrix} \\ \quad \\ \ ^{i-1}_RT = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & \cos \alpha_{i-1} & -\sin \alpha_{i-1} & 0 \\ 0 & \sin \alpha_{i-1} & \cos \alpha_{i-1} & 0 \\ 0 & 0 & 0 & 1 \\ \end{bmatrix} \\ \quad \\ iP​T=⎣⎢⎢⎡​1000​0100​0010​00di​1​⎦⎥⎥⎤​ PQ​T=⎣⎢⎢⎡​cosθ1​sinθ1​00​−sinθ1​cosθ1​00​0010​0001​⎦⎥⎥⎤​ QR​T=⎣⎢⎢⎡​1000​0100​0010​0ai−1​01​⎦⎥⎥⎤​ Ri−1​T=⎣⎢⎢⎡​1000​0cosαi−1​sinαi−1​0​0−sinαi−1​cosαi−1​0​0001​⎦⎥⎥⎤​
得到ii−1T^{i-1}_iTii−1​T的一般形式:

MDH法使用步骤

  1. 找到所有关节轴;
  2. 按顺序依次建立中间连杆的坐标系;
  3. 确定首尾坐标系;
  4. 写出DH参数;
  5. 计算正运动学矩阵。

后记

本篇是机器人学中的正运动学,采用的是MDH法。

后续会有Matlab示例编程。

机器人学导论 二、正运动学,MDH法相关推荐

  1. 中正平和的机器人学笔记——1. 机械臂正运动学(附MATLAB代码)

    中正平和的机器人学笔记--1.正运动学 0. 何为运动学?何为正运动学? 运动学主要研究的就是机械臂的运动特性(位置.速度.加速度等),但是不考虑使机械臂产生运动时施加的力和力矩(这部分是动力学).而 ...

  2. 机器人学回炉重造(1-2):各种典型机械臂的正运动学建模(标准D-H法)

    文章目录 写在前面 三连杆平面机械臂 平行四边形操作臂 闭链结构 例:平行四边形操作臂 球形臂 拟人臂 球腕 斯坦福机械臂 带球形手腕的拟人化机械臂 DLR机械臂 参考文献 写在前面 本文所有机械臂均 ...

  3. 机器人学基础(1)-位置运动学-正运动学、逆运动学方程建立及其求解

    机器人学基础(1)位置运动学:正运动学.逆运动学方程建立及其求解 机器人学基础学了个知识框架入门,以此来写一下总结笔记,便于以后要用到相关知识点进行翻阅. 本次机器人学基础笔记主要分为几个章节:位置运 ...

  4. 【现代机器人学——螺旋理论】UR5机器人正运动学求解

    系列文章目录 [现代机器人学--螺旋理论]UR5机器人正运动学求解 [现代机器人学--螺旋理论]UR5机器人逆运动学求解 提示:本文介绍基于螺旋理论分析的UR5机器人正运动学求解思路,仅供参考. 文章 ...

  5. 机械臂正运动学(1)——MDH下的正解(自编)

    %% 该函数执行 MDH参数下正运动学求解功能 function [result] = myfkine_MDH(q,a,alpha,d,offset) % q为输入的关节转角,a为杆件长度,alpha ...

  6. 机器人学导论(第三版) 第三章 操作臂运动学 3.5操作臂运动学

    机器人学导论(第三版) 学习记录 第三章 操作臂运动学 3.5操作臂运动学 中间坐标系{P},{Q}和{R}的位置 想把坐标系{i}中定义的矢量转化成坐标系{i-1}中的描述,这个变换矩阵可以写成 i ...

  7. 国科大学习资料--机器人学导论(张正涛)--2017年期末考试试卷

    国科大学习资料–机器人学导论(张正涛)–2017年期末考试试卷 国科大学习资料–机器人学导论(张正涛)–2017年期末考试试卷 国科大学习资料–机器人学导论(张正涛)–2017年期末考试试卷

  8. 【机器人学】3-RUU-delta并联机器人正运动学、逆运动学和微分运动学

    文章目录 串联和并联机器人对比 delta机器人 逆运动学 正运动学 微分运动学 工作空间 串联和并联机器人对比 串联机器人和并联机器人各有优缺点. 串联机器人 优点 工作空间大: 可实现的姿态多: ...

  9. 工业机器人——4 正运动学(台大机器人学学习笔记)

    前面几篇文章,我们对于如何描述刚体的运动状态进行了具体的讲解,今天开始我们学习机械手臂的正向运动学. 1)定义 运动学(kinematics):讨论运动状态的本身,不涉及产生运动的力. 具体描述就是位 ...

  10. 中正平和的机器人学笔记——6. 一种气驱型柔性臂的正运动学模型

    1. 前言 柔性臂是当前机器人领域一个比较热的研究方向,国内外高校如MIT.Stanford.JHU和我校.上交.中科大.北航等等都有做研究.大致可以分为三类:气驱/绳驱,超弹性材料,智能材料(DE/ ...

最新文章

  1. Windows下Libvirt Java API使用教程(二)- 接口使用说明
  2. php twig扩展,如何写一个自定义的 Twig 扩展
  3. linux强制踢出用户,Linux下管理员强行踢出用户的命令使用方法
  4. Servlet基础(三) Servlet的多线程同步问题
  5. 收敛标准对卷积核数量最优值的影响
  6. zabbix3监控ESXI主机
  7. centos安装与配置R语言
  8. STP端口状态特点、STP端口角色特点、链路状态发生变化,STP如何重新收敛? TCN何时发?uplinkfast技术、Portfast技术、backbonefast技术、常见的STP调整命令:
  9. Docker 镜像文件的导入和导出
  10. win定时关机_电脑定时关机,你造吗?
  11. 沈逸老师PHP魔鬼特训笔记(3)
  12. 聊聊eureka的preferSameZoneEureka参数 1
  13. 计算机网络安全基础-网络监听基本概念
  14. 08CMS小说搜索型注入 - 漏洞发布 京华志
  15. POI事件模式读取Excel 2003文件
  16. 在法国读计算机研究生的日子开始了
  17. SolidWorks如何编辑今日制造插件生成的齿轮
  18. C语言实现物品竞拍管理系统
  19. 75 [backtrader期货策略]十大经典策略-分时均线交叉策略
  20. 和尚挖井故事给程序员的启示

热门文章

  1. Unity3d随机数生成
  2. 熟练使用win7便签快捷键
  3. 如何在Windows下像Mac一样优雅开发
  4. windows虚拟显示器开发(一)
  5. 【Chrome插件】使用FE助手-百度WEB前端助手
  6. c语言五大常用算法,C语言------五大常用算法总结
  7. 大学论文的研究框架是什么?
  8. Filter -- 过滤敏感词汇
  9. Java的Jsoup爬虫
  10. 第十二届蓝桥杯真题-左孩 子右兄弟(dfs)