四、已知操作臂各连杆的连接方式,计算末端执行器的位姿,建议遵循DH方法的基本原则

Exp.1:如图1所示为3-自由度的机械手,这三个关节都是转动的。关节轴3垂直于关节轴1和关节轴2形成的平面。给出连杆坐标系的D-H参数,并推导出坐标系{3}到坐标系{1}的变换矩阵。

D-H 参数 αi−1\alpha_{i-1}αi−1​ ai−1a_{i-1}ai−1​ did_{i}di​ θi\theta_{i}θi​
1 X X X θ1\theta_{1}θ1​
2 0 a0a_{0}a0​ 0 θ2\theta_{2}θ2​
3 −90∘-90^{\circ}−90∘ a1a_{1}a1​ 0 θ3\theta_{3}θ3​

DH参数法的一般式:
21T=[10000cos⁡α1−sin⁡α100sin⁡α1cos⁡x100001][100a1010000100001][cos⁡θ2−sin⁡θ200sin⁡θ2cos⁡θ20000100001][10000100001d20001]{ }^{1}_{2} T=\left[\begin{array}{cccc} 1 & 0 & 0 & 0 \\ 0 & \cos \alpha_{1} & -\sin \alpha_{1} & 0 \\ 0 & \sin \alpha_{1} & \cos x_{1} & 0 \\ 0 & 0 & 0 & 1 \end{array}\right]\left[\begin{array}{llll} 1 & 0 & 0 & a_{1} \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array}\right]\left[\begin{array}{cccc} \cos \theta_{2} & -\sin \theta_{2} & 0 & 0 \\ \sin \theta_{2} & \cos \theta_{2} & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array}\right]\left[\begin{array}{llll} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & d_{2} \\ 0 & 0 & 0 & 1 \end{array}\right] 21​T=⎣⎢⎢⎡​1000​0cosα1​sinα1​0​0−sinα1​cosx1​0​0001​⎦⎥⎥⎤​⎣⎢⎢⎡​1000​0100​0010​a1​001​⎦⎥⎥⎤​⎣⎢⎢⎡​cosθ2​sinθ2​00​−sinθ2​cosθ2​00​0010​0001​⎦⎥⎥⎤​⎣⎢⎢⎡​1000​0100​0010​00d2​1​⎦⎥⎥⎤​

=[cos⁡θ2−sin⁡θ20a1cos⁡α1sin⁡θ2cos⁡α1cos⁡θ2−sin⁡α1−d2sin⁡α1sin⁡α1sin⁡θ2sin⁡α1cos⁡θ2cos⁡α1d2cos⁡α10001]=\left[\begin{array}{cccc} \cos \theta_{2} & -\sin \theta_{2} & 0 & a_{1} \\ \cos \alpha_{1} \sin \theta_{2} & \cos \alpha_{1} \cos \theta_{2} & -\sin \alpha_{1} & -d_{2} \sin \alpha_{1} \\ \sin \alpha_{1} \sin \theta_{2} & \sin \alpha_{1} \cos \theta_{2} & \cos \alpha_{1} & d_{2} \cos \alpha_{1} \\ 0 & 0 & 0 & 1 \end{array}\right] =⎣⎢⎢⎡​cosθ2​cosα1​sinθ2​sinα1​sinθ2​0​−sinθ2​cosα1​cosθ2​sinα1​cosθ2​0​0−sinα1​cosα1​0​a1​−d2​sinα1​d2​cosα1​1​⎦⎥⎥⎤​

代入参数α1=0,a1=a0,d2=0\alpha_{1}=0, a_{1}=a_{0}, d_{2}=0α1​=0,a1​=a0​,d2​=0
21T=[cos⁡θ2−sin⁡θ20a0sin⁡θ2cos⁡θ20000100001]{ }_{2}^{1} T=\left[\begin{array}{cccc} \cos \theta_{2} & -\sin \theta_{2} & 0 & a_{0} \\ \sin \theta_{2} & \cos \theta_{2} & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array}\right] 21​T=⎣⎢⎢⎡​cosθ2​sinθ2​00​−sinθ2​cosθ2​00​0010​a0​001​⎦⎥⎥⎤​
同理
32T=[cos⁡θ3−sin⁡θ30a2cos⁡α2sin⁡θ3cos⁡α2cos⁡θ3−sin⁡α2−d3sin⁡α2sin⁡α2sin⁡θ3sin⁡α2cos⁡θ3cos⁡α2d3cos⁡α20001]{}^{2}_{3} T=\left[\begin{array}{cccc} \cos \theta_{3} & -\sin \theta_{3} & 0 & a_{2} \\ \cos \alpha_{2} \sin \theta_{3} & \cos \alpha_{2} \cos \theta_{3} & -\sin \alpha_{2} & -d_{3} \sin \alpha_{2} \\ \sin \alpha_{2} \sin \theta_{3} & \sin \alpha_{2} \cos \theta_{3} & \cos \alpha_{2} & d_{3} \cos \alpha_{2} \\ 0 & 0 & 0 & 1 \end{array}\right] 32​T=⎣⎢⎢⎡​cosθ3​cosα2​sinθ3​sinα2​sinθ3​0​−sinθ3​cosα2​cosθ3​sinα2​cosθ3​0​0−sinα2​cosα2​0​a2​−d3​sinα2​d3​cosα2​1​⎦⎥⎥⎤​

α2=−90∘,a2=a1,d3=0\alpha_{2}=-90^{\circ}, \quad a_{2}=a_{1}, \quad d_{3}=0 α2​=−90∘,a2​=a1​,d3​=0

32T=[cos⁡θ3−sin⁡θ30a10010−sin⁡θ3−cos⁡θ3000001]^{2}_{3} T=\left[\begin{array}{cccc} \cos \theta_{3} & -\sin \theta_{3} & 0 & a_{1} \\ 0 & 0 & 1 & 0 \\ -\sin \theta_{3} & -\cos \theta_{3} & 0 & 0 \\ 0 & 0 & 0 & 1 \end{array}\right] 32​T=⎣⎢⎢⎡​cosθ3​0−sinθ3​0​−sinθ3​0−cosθ3​0​0100​a1​001​⎦⎥⎥⎤​

31T=21T32T=[cos⁡θ2−sin⁡θ20a0sin⁡θ2cos⁡θ20000100001][cos⁡θ3−sin⁡θ30a10010−sin⁡θ3−cos⁡θ3000001]^{1}_{3} T={}^{1}_{2}T_{3}^{2} T=\left[\begin{array}{cccc} \cos \theta_{2} & -\sin \theta_{2} & 0 & a_{0} \\ \sin \theta_{2} & \cos \theta_{2} & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array}\right]\left[\begin{array}{cccc} \cos \theta_{3} & -\sin \theta_{3} & 0 & a_{1} \\ 0 & 0 & 1 & 0 \\ -\sin \theta_{3} & -\cos \theta_{3} & 0 & 0 \\ 0 & 0 & 0 & 1 \end{array}\right] 31​T=21​T32​T=⎣⎢⎢⎡​cosθ2​sinθ2​00​−sinθ2​cosθ2​00​0010​a0​001​⎦⎥⎥⎤​⎣⎢⎢⎡​cosθ3​0−sinθ3​0​−sinθ3​0−cosθ3​0​0100​a1​001​⎦⎥⎥⎤​

=[cos⁡θ2cos⁡θ3−cos⁡θ2sin⁡θ3−sin⁡θ2a1cos⁡θ2+a0sin⁡θ2cos⁡θ3−sin⁡θ2sin⁡θ3cos⁡θ2a1sin⁡θ2−sin⁡θ3−cos⁡θ3000001]=\left[\begin{array}{cccc} \cos \theta_{2} \cos \theta_{3} & -\cos \theta_{2} \sin \theta_{3} & -\sin \theta_{2} & a_{1} \cos \theta_{2}+a_{0} \\ \sin \theta_{2} \cos \theta_{3} & -\sin \theta_{2} \sin \theta_{3} & \cos \theta_{2} & a_{1} \sin \theta_{2} \\ -\sin \theta_{3} & -\cos \theta_{3} & 0 & 0 \\ 0 & 0 & 0 & 1 \end{array}\right] =⎣⎢⎢⎡​cosθ2​cosθ3​sinθ2​cosθ3​−sinθ3​0​−cosθ2​sinθ3​−sinθ2​sinθ3​−cosθ3​0​−sinθ2​cosθ2​00​a1​cosθ2​+a0​a1​sinθ2​01​⎦⎥⎥⎤​

出自:机器人学入门必看

DH参数法 例题 机器人学相关推荐

  1. 在D-H参数法里为什么只用四个参数就能完全定义一个具有6自由度的坐标系

    在一个三维空间里,我们知道要表征一个完全自由的坐标系共需要6个自由度: 三个用来表征姿态(orientation)roll-pitch-yaw 三个用来表征位置(position) x-y-z 如此来 ...

  2. DH参数法建立机器人的运动学正解

    DH参数法建立机器人的运动学正解 运用DH参数法时坐标系建立的两个约定: (1)x_i与z_(i-1)垂直 (2)x_i与z_(i-1)相交 坐标系i与坐标系i-1的其次变换矩阵为: a为两z轴的距离 ...

  3. 机器人学D-H参数的建立(改进型与标准型)包括第0杆与第i杆的建立规则,以及针对同一个机械臂采用两种方法的区分

    -改进的dh参数法- 上图是当zi与zi-1垂直时,z,x坐标取向不同所得到的theta不同(始终是以xi-1为大拇指指向,四指由zi-1转向zi,也就是右手螺旋定则,来判断theta的正负) 标准型 ...

  4. 机器人正运动学DH参数表示法

    参考视频(用于理解DH的坐标系): 两分钟学习:四足机器人DH参数法 空间机器人技术-动力学与控制-DH坐标系与DH参数 参考文章: 机器人操作臂运动学入门一–D-H参数标定 关键要理解DH表示法中的 ...

  5. 遨博协作机器人ROS开发 - 遨博E5 DH参数SolidWorks建模

    目录 1.实训目标 2.实训环境 3.实操展示 4.知识储备 5.任务实施 6.任务拓展 7.课堂小结 8.课后练习 1.实训目标 2.实训环境 ※主机系统版本:Windwos10 64位: ※处理器 ...

  6. 仿人型手腕 6R机械臂 D-H参数和运动学逆解

    计算正向运动学通常需要使用D-H参数法对机械臂建模. 第一步: 绘制机械臂模型图 可用手绘机械臂结构简图或者模型图,使用圆柱体代表转动关节和线表示的连杆,当写论文的时候,可以使用PPT或者CAD来绘图 ...

  7. SDH与MDH参数法对比

    MDH 与 SDH 参数法对比 DH (Denavit- Hartenberg) 法在matlab robotics toolbox中有SDH和MDH之分. 我先看的Craig的书,我自己一般习惯用M ...

  8. 机器人学之运动学笔记【3】—— 机械臂DH表示法+正向运动学(Forward Kinematics)

    机器人学之运动学笔记[3]-- 机械臂DH表示法+正向运动学(Forward Kinematics) 1. 手臂几何描述方式 2. 改进DH法 描述机械臂 2.1 在连杆上建立Frame 2.2 D- ...

  9. 机器人学一些概念2——四元数,D-H 参数

    文章目录 机器人学一些概念2 四元数 D-H 参数 机器人学一些概念2 四元数 ​ 这里是机器人旋转中用到的四元数,总结来看主要是用于运算方便,避免θ\thetaθ接近0的时候造成旋转矩阵无法求解. ...

  10. 《机器人学导论》根据DH参数表计算变换矩阵MATLAB代码

    PUMA560的DH参数表如下 根据参数表可以求出每一个连杆变换矩阵,求各连杆变换矩阵的MATLAB函数如下 function trans_matrix = trans_multi(afa,a,d,t ...

最新文章

  1. Oracle 升级10.2.0.5.4 OPatch 报错Patch 12419392 Optional component(s) missing 解决方法
  2. html5水调歌头代码,张惠言的五首《水调歌头》
  3. Linux基础命令---killall
  4. 机器学习--近邻成分分析(NCA)算法 和 度量学习
  5. html开发文档工具栏,添加应用栏和工具栏 (HTML)
  6. bzoj4033 [HAOI2015]树上染色
  7. 【数字信号处理】——Python频谱绘制
  8. 算法-排序-计数排序(包含对非负数和整数的排序)
  9. 牛客练习赛69E-子串【树状数组】
  10. 用python绘制好看的图形_怎么用Python画出好看的词云图?
  11. loj10135. 「一本通 4.4 练习 2」祖孙询问
  12. C#/VB.net/VB 获取系统时间
  13. 初级程序员和二级Java哪个难,软考初级程序员和计算机二级哪个更受欢迎
  14. 【总结】1164- 一篇非常 Nice 的 UmiJS 教程
  15. 如何在pe安装深度linux系统,深度系统(Deepin Linux)U盘安装教程
  16. angularJs1.x 版本中 uib-tabset 如何默认激活不同的标签页
  17. PHP电话号码 区号,中国城市电话区号对照表
  18. 解决“不是有效的win32应用程序”
  19. C++ string类的使用
  20. 绘制神经元的结构模式图,神经元结构示意图简易

热门文章

  1. ug如何复制面_学习UG,要从最基础的做起,初学者必备40条技巧
  2. vue在开发环境中配置本地hosts修改域名
  3. html静态网页制作天天生鲜,天天生鲜 前后台资源
  4. 原生js读取json文件
  5. 推荐一款UI非常Good的 Redis 客户端工具
  6. Vivado 2019.1 使用教程
  7. 乐高mindstormsev3_乐高MINDSTORMSEV3软件程序模块开发-2019年精选文档
  8. python部署阿里云_python部署到阿里云
  9. 西刺代理python_python爬虫西刺代理ip爬取
  10. 下载docker镜像包