六轴机器人运动学包括运动学正解和运动学逆解,运动学探究的是机器人末端的位姿与六个关节角度的关系。

为了使用C++编写机器人正逆解,我需要知道机器人逆解的各关节角度公式,但查遍全网,大多数的博客都讲的模林两可,许多都直接调用了matlab的工具箱。最后我还是在机器人学导论里找到了我想要的六个公式,注意,第三版的书中有些公式错误需要改正。

机器人学导论书籍的下载地址为:
链接:https://pan.baidu.com/s/1Eea4Im-QXYjRf7_Pbu4nsQ
提取码:pt33

以puma560为例


第一步,计算 θ1

代码表示:

tmp=px*px+py*py-d3*d3;
θ1 = atan2(py, px)-atan2(d3,+sqrt(tmp) );
θ11 = atan2(py, px)-atan2(d3,-sqrt(tmp) );

第二步,计算 θ3



代码表示:

K = ( px*px + py*py + pz*pz - a2*a2 - a3*a3 - d3*d3 - d4*d4) / (2*a2);
tmp = a3*a3 + d4*d4 - K*K;
θ3 = atan2(a3,d4)  - atan2(K, +sqrt(tmp)) ;
θ31 =  atan2(a3,d4) - atan2(K, -sqrt(tmp));

第三步,计算 θ2


代码表示:

c1=cos(θ1);
s1=sin(θ1);
c3=cos(θ3);
s3=sin(θ3);θ23 = atan2( (-a3-a2*c3 )*pz - (c1*px+s1*py)*(d4-a2*s3), ...
(a2*s3-d4)*pz + (a3+a2*c3)*(c1*px + s1*py));θ2 = θ23 - θ3;

第四步,计算 θ4


代码表示:

c23 = cos(θ2+θ3);
s23 = sin(θ2+θ3);θ4 = atan2( (-r13*s1 + r23*c1), (-r13*c1*c23-r23*s1*c23 + r33*s23) );

第五步,计算 θ5


代码表示:

c4 = cos(θ4);
s4 = sin(θ4);s5 = -( r13*(c1*c23*c4 + s1*s4) + r23*(s1*c23*c4 - c1*s4)-r33*(s23*c4) );
c5 = r13*(-c1*s23) + r23*(-s1*s23) + r33*(-c23);θ5 = atan2(s5, c5);

第六步,计算 θ6


代码表示:

s6 = -r11*(c1*c23*s4 - s1*c4) - r21*(s1*c23*s4 + c1*c4) + r31*(s23*s4);
c6 = r11*((c1*c23*c4 + s1*s4)*c5 - c1*s23*s5 )...
+ r21*((s1*c23*c4 - c1*s4)*c5 - s1*s23*s5)...
- r31*(s23*c4*c5 + c23*s5);θ6 = atan2(s6, c6);

第七步,判断8个解需要哪一个

工业6轴机器人逆解(PIEPER)相关推荐

  1. 机器人控制算法四之迭代法求解四轴机器人逆解

    迭代法求解四轴机器人逆解 前提:只知道末端点坐标,分别求出各轴角度,C++实现 思路: 四轴对应四个转角j0,j1,j2,j3,并且已知各个Link的长度 L1,L2,L3 通过已知条件可以列出3个方 ...

  2. 工业机械人运动学正逆解,简单粗暴!!!!!!

    ur机械臂是六自由度机械臂,由D-H参数法确定它的运动学模型,连杆坐标系的建立如上图所示. 转动关节θi是关节变量,连杆偏移di是常数. 关节编号 α(绕x轴) a(沿x轴) θ(绕z轴) d(沿z轴 ...

  3. 机器人逆解matlab程序,MATLAB 机器人逆解 ikine

    到了机器人的第四章便是求逆解 书里给出了很多种方法 哎 实在是蛋疼 好多看的云里雾里的 嘛 出于先完成课程作业的目的 基本只用代数解和几何解的方法就可以了 这里我用代数解 以下是作业题 嘛 就是自己设 ...

  4. 你了解工业6轴机器人的轴指及运动方式吗?

    随着社会进步.科技发展,工业机器人的应用也越来越普遍.工业机器人是能够实现自动控制的.可重复编程的.多自由度的.运动自由度建成空间直角关系的.多用途的操作机.其工作的行为方式主要是通过完成沿着X.Y. ...

  5. SCARA机器人与工业六轴机器人的matlab仿真

    最近因为课程原因对AR4215和FANUC R-0iB两个机械臂做了简单的matlab仿真,贴出来免得以后忘了. 关于Robotic toolbox工具箱的安装与使用请移步CSDN自行查找. SCAR ...

  6. 工业六轴机器人常见的STD(标准)-DH模型建立方法

    文章目录 一.D-H模型 二.形式1 三.形式2 四.形式3 五.形式4 一.D-H模型 二.形式1 利用MATLAB机器人工具箱Matlab-Robotics-Toolbox建立标准Link函数,其 ...

  7. python机器人编程——四轴UARM机械臂的运动控制(逆解)原理及python实现(上)

    目录 1 概要 2 uarm机械臂的结构分析及逆解算式推导 2.1 uarm机械臂的结构分析 (1)俯视--水平面的运动投影 (2)侧视--垂直平面的运动投影 2.2 uarm机械臂逆解公式推导 1 ...

  8. python机器人编程——四轴UARM机械臂的运动控制(逆解)原理及python实现(下)

    目录 1 概要 2 uarm机械臂运动控制程序的python实现 2.1机械结构的python表达 2.2 逆解算法的python表达 2.2.1 俯视图根据目标点(x,y)计算J1,L 2.2.2 ...

  9. (6)六轴机械臂的运动学正、逆解

    下面在前面的ur5机械臂的DH参数基础是对其正逆解进行求解,为了后面能在MATLAB中利用stl文件进行实际显示,这里以标准DH参数为例进行讲解.(修正DH参数在用plot3d函数是显示失败,不知道是 ...

最新文章

  1. 高校选课成绩管理系统
  2. mysql5.6错误代码
  3. Navigation bar - remove recent object
  4. oracle表存储表空间,Oracle的存储信息-表空间信息记录
  5. java给图片坐标描点,记录一下, canvas实现获取图片每个坐标点,以描点方式渲染图片...
  6. linux 设备驱动总结,linux设备驱动归纳总结(三):3面向对象思想和lseek
  7. 使用 jQuery Mobile 与 HTML5 开发 Web App (九) —— jQuery Mobile 页面与对话框
  8. MongoDB(一)-- 简介、安装、CRUD
  9. ECCV 2020 | 比GAN更强,ETH提出新型超分辨率模型SRFlow
  10. Octopress使用中经验总结
  11. 51nod 1009 数字1的数量
  12. express 4.x 获取post提交的数据
  13. Bootstrap 多媒体对象
  14. 分组求和并排序python_python 实现分组求和与分组累加求和代码
  15. 高铁检测试验软件,高铁规划要点及测试情况分析
  16. 微信公众号、订阅号、服务号、企业号的区别
  17. stm32 火灾自动报警及联动控制源码_火灾自动报警系统怎么进行消防联动控制设计...
  18. 集成学习算法策略 Boosting和Bagging
  19. 机器学习实战之信用卡诈骗(二)
  20. 【ReID】EANet: Enhancing Alignment for Cross-Domain Person Re-identification

热门文章

  1. 实时流协议(RTSP) 来自 维基百科
  2. 可视化神器Plotly玩转箱形图
  3. ios的开发语言是c,iOS应用开发语言C++和C的区别
  4. Flink之窗口 (Window) 上篇
  5. WOA基本理论及MATLAB代码
  6. Excel函数应用实例:计算零存整取未来值(转)
  7. 零存整取--笔记整理(以简为主)
  8. 给你讲讲硬件协议栈的那些事儿—WIZnet 员工Christina培训笔记(一)
  9. C语言程序设计第二版呼克佑第一章C语言与程序设计课后习题简答题答案
  10. adnroid studio debug模式提示 Method breakpoints may dramatically slow down debugging