注:本篇博文全部源码下载地址为:Git Repo。

一、转换矩阵

经过上一篇博客介绍,我们已经获得了Rob一个手臂的D-H参数表,如上表所示,我们要把这些参数转换成相邻坐标系的转换矩阵,D和H两位老前辈已经推导出通用公式了,通用公式如图1,其中cθi = cos(θi) ,sθi =  sin(θi )。这是一个4×4的矩阵,它表征了相邻两个坐标系的位置和姿态两个维度的转换关系,具体说明见上一篇博文。

图1

套用图1中的公式,我们分别得到坐标系{1}相对于坐标系{0}的转换矩阵T1如下:

同理,我们得到坐标系{2}相对于坐标系{1}的转换矩阵T2,{3}相对于{2}的转换矩阵T3,{4}相对于{3}的转换矩阵T4,{5}相对于{4}的转换矩阵T5,{6}相对于{5}的转换矩阵T6,分别如下 :

至此,我们得到了所有相邻坐标系的转换矩阵,由于他们是串联的,我们可以得到坐标系{6}相对于坐标系{0}的转换矩阵T2:

式1

其中(s1指θ1,s2指θ2,以此类推):

nx = – cos(s5)*(cos(s4)*(sin(s1)*sin(s3) – cos(s1)*cos(s2)*cos(s3)) + cos(s1)*sin(s2)*sin(s4)) – sin(s5)*(cos(s3)*sin(s1) + cos(s1)*cos(s2)*sin(s3));

ny = cos(s5)*(cos(s4)*(cos(s1)*sin(s3) + cos(s2)*cos(s3)*sin(s1)) – sin(s1)*sin(s2)*sin(s4)) + sin(s5)*(cos(s1)*cos(s3) – cos(s2)*sin(s1)*sin(s3));

nz = cos(s5)*(cos(s2)*sin(s4) + cos(s3)*cos(s4)*sin(s2)) – sin(s2)*sin(s3)*sin(s5);

ox = sin(s5)*(cos(s4)*(sin(s1)*sin(s3) – cos(s1)*cos(s2)*cos(s3)) + cos(s1)*sin(s2)*sin(s4)) – cos(s5)*(cos(s3)*sin(s1) + cos(s1)*cos(s2)*sin(s3));

oy = cos(s5)*(cos(s1)*cos(s3) – cos(s2)*sin(s1)*sin(s3)) – sin(s5)*(cos(s4)*(cos(s1)*sin(s3) + cos(s2)*cos(s3)*sin(s1)) – sin(s1)*sin(s2)*sin(s4));

oz = – sin(s5)*(cos(s2)*sin(s4) + cos(s3)*cos(s4)*sin(s2)) – cos(s5)*sin(s2)*sin(s3);

ax = sin(s4)*(sin(s1)*sin(s3) – cos(s1)*cos(s2)*cos(s3)) – cos(s1)*cos(s4)*sin(s2);

ay = – sin(s4)*(cos(s1)*sin(s3) + cos(s2)*cos(s3)*sin(s1)) – cos(s4)*sin(s1)*sin(s2);

az = cos(s2)*cos(s4) – cos(s3)*sin(s2)*sin(s4);

Px = 40*cos(s1)*cos(s2) – (764*cos(s1)*sin(s2))/5;

Py = 40*cos(s2)*sin(s1) – (764*sin(s1)*sin(s2))/5;

Pz = (764*cos(s2))/5 + 40*sin(s2);

由于时间关系,暂时先不把具体过程写下来,其实源代码里面全部都有,需要的请先去文章开头的代码仓下载代码来看。

tip:

源码是一个VS工程,基于VS2010创建。

c++运动学正反解 ros_ROS系统MoveIt玩转双臂机器人系列(六)–D-H逆运动学求解程序(C++)...相关推荐

  1. ROS系统MoveIt玩转双臂机器人系列(五)--浅议机器人运动学与D-H建模

    ROS系统MoveIt玩转双臂机器人系列(五)--浅议机器人运动学与D-H建模 一.概述 机器人运动学研究的是机械臂各个连杆之间的位移关系.速度关系和加速度关系.比较经典的一本书推荐大家读读熊有伦的& ...

  2. ROS系统MoveIt玩转双臂机器人系列(二)--生成MoveIt配置包

    ROS系统MoveIt玩转双臂机器人系列(二)--生成MoveIt配置包 注:本篇博文全部源码下载地址为:Git Repo. 1. 下载到本地后解压到当前文件夹然后运行:catkin_make 编译. ...

  3. ROS系统MoveIt玩转双臂机器人系列(三)--利用controller控制实际机器人

    ROS系统MoveIt玩转双臂机器人系列(三)--利用controller控制实际机器人 注:本篇博文全部源码下载地址为:Git Repo. 1. 下载到本地后解压到当前文件夹然后运行:catkin_ ...

  4. ROS系统MoveIt玩转双臂机器人系列(一)--ROS机器人建模

    ROS系统MoveIt玩转双臂机器人系列(一)--ROS机器人建模 注:本篇博文全部源码下载地址为:Git Repo. 1. 下载到本地后解压到当前文件夹然后运行:catkin_make 编译. 2. ...

  5. c++运动学正反解 ros_朔州智能【机器人关节臂】哪家强

    朔州智能[机器人关节臂]哪家强,郑州思想车间智能科技有限公司,成立于2013年,是一家立足于中原地区的专业工业机器人集成应用服务商,专注于机器人焊接.搬运.码垛.打磨.喷涂等应用场景,为客户提供单个工 ...

  6. Delta机器人:运动学正反解分析

    Delta机器人:运动学正反解分析 一.Delta机构简介 Delta机构是并联机构中的一种典型机构,起原始结构如图1所示.Delta机构由R.Clavel 博士在 1985年发明,是现在并联机器人中 ...

  7. (转载)完成端口(CompletionPort)详解 - 手把手教你玩转网络编程系列之三

    手把手叫你玩转网络编程系列之三 完成端口(Completion Port)详解 ----- By PiggyXP(小猪) 前 言 本系列里完成端口的代码在两年前就已经写好了,但是由于许久没有写东西了, ...

  8. UR机械臂学习(7-1):MoveIt简单编程实现机械臂运动(正逆运动学)

    主要参考: MoveIt编程实现关节空间机械臂运动(正运动学) https://blog.csdn.net/zzu_seu/article/details/90611186 MoveIt编程实现关节空 ...

  9. 完成端口(CompletionPort)详解 - 手把手教你玩转网络编程系列之三 1-转

    完成端口(Completion Port)详解 本系列里完成端口的代码在两年前就已经写好了,但是由于许久没有写东西了,不知该如何提笔,所以这篇文档总是在酝酿之中--酝酿了两年之后,终于决定开始动笔了, ...

最新文章

  1. Dubbo标签解析原理
  2. 人脸Pose检测:ASM、AAM、CLM方法总结
  3. 使用SAP Cloud Platform Leonardo机器学习的测试控制台
  4. Css3实现波浪线效果1
  5. linux 下的init 0,1,2,3,4,5,6知识介绍
  6. 视频专辑:Web Service视频教程
  7. AcWing 892. 台阶-Nim游戏(nim博弈变种)
  8. 第二次公共考试,判断错题集
  9. ASCII、Unicode、GBK和UTF-8字符编码的区别联系[转]
  10. Visual Studio2017 MSDN安装
  11. jaxl php,php – jaxl无法连接到Prosody
  12. 关于程序员抵制996的一些想法
  13. 南佛罗里达大学计算机科学硕士,去南佛罗里达大学读硕士好吗
  14. 谷歌 TensorFlow Roadshow 北京站
  15. 计算机体系结构:系统平均无故障时间(MTTF)计算例题
  16. disallow: /index.php?,那位高手知道robots文件的正确写法。我在网上看到两种说法。一种是 user-agent:* Disallow:/flims...
  17. c语言s型曲线方程,电机控制 | S曲线加减速
  18. 卸载Win10右下角资讯和兴趣(天气)
  19. DSPE-PEG-SP2-AA,二硬脂酰基磷脂酰乙醇胺-聚乙二醇-SP2-AA,具有较好的生物相容性和被动靶向性,可应用于药物输送系统
  20. H5-input弹起键盘遮盖输入框(Android)、键盘弹起后不恢复(IOS)

热门文章

  1. 公司绝不会告诉你的20大秘密
  2. 一本通网站 1378:最短路径(shopth)
  3. iOS高仿微信悬浮窗、忍者小猪游戏、音乐播放器、支付宝、今日头条布局滚动效果等源码...
  4. Codeforces 510 E. Fox And Dinner
  5. 大数据之-Hadoop之HDFS_hadoop集群中的安全模式_操作案例---大数据之hadoop工作笔记0075
  6. 大数据之-Hadoop之HDFS_HDFS组成架构---大数据之hadoop工作笔记0050
  7. k8s核心技术-Ingress(对外暴露应用实施)---K8S_Google工作笔记0042
  8. STM32工作笔记0016---MDK开发环境安装
  9. C#.NET验证码智能识别学习笔记---01C#.NET验证码识别介绍
  10. android学习笔记---64_ListView数据异步加载与AsyncTask