机器人运动学仿真笔记
机器人运动学仿真笔记
- 安川机器人当前(基座)位姿是工具坐标系在基座下的位姿,欧拉角zyx。
- SFTON一般用于四自由度x、y、z、Rz的补偿。
- 内部计算指令:MULMAT(取数据 2 和数据 3 的矩阵积,结果保存到数据 1 里)可以进行矩阵运算。但是一般情况下两种方式,
- 建立用户坐标系然后输入目标位姿;
- 利用基座坐标系,返回最终目的。
分析:1、用户坐标系与与基座坐标系是平行关系。
六自由度的一般是
新生代的杜尔、ABB的编程和接口最简单,原生TCP坐标,但是很多客户用的是90年代日本的机器人,比如川崎、安川等。这里不对编程细节做解释,只讲讲一些基础的数学模型,便于机器人运动学开发工作。
1. 坐标变换
不管你用什么机器人,或是做计算机图形学的研究,都涉及到坐标变换问题。对于机器人编程来说,什么大地坐标系、机器人坐标系、工具坐标系、工件坐标系……其实他们在数学上可以看做一个位置矩阵不断的平移、旋转,而这个位置矩阵是由一个旋转矩阵和一个平移向量组成。在讲这个矩阵之前,我们先来看看什么是旋转矩阵:
旋转矩阵,是一个3*3的矩阵,从简单的数学上来看,一个点[Bx,By,Bz]我们绕x、y、z轴进行旋转,那么旋转后的位置[Ax,Ay,Az],可以写成:
Ax Bx
Ay = RotMatrix * By
Az Bz
而绕x,y,z旋转一个角度theta后,这个旋转矩阵可以写为:
好了,上图这个矩阵是分量形式,通常一个点经过旋转都可以分解为在至少两个方向上进行三次旋转,而根据不同机器人的设计,有XYX,XZX,YXY,YZY,ZXZ,ZYZ等等形式。
比较有名的机器人比如杜尔采用ZYZ,安川采用ZYX。这种表示旋转的形式,通常称为欧拉角Euler angle,读者可以自行维基相关概念。当然也有使用四元数做旋转的,比如ABB。
不管哪种机器人在欧拉角和四元数上都有坑,为啥这么说呢,因为对于欧拉角你要搞清楚依次绕哪个轴进行旋转,对四元数你要搞清楚它是qw,qx,qy,qz还是qx,qy,qz,qw的排列顺序。
当然这里不讨论哪种方法表示角度更好,但是不管哪种方式,最清晰的旋转表示还是3*3的旋转矩阵。至于它怎么计算出来的,哈哈哈,乘一乘就好了呀。我刚接触机器人的时候,开始是很抵触看3*3矩阵的,但是后面的编程让我知道,如果想控制所有机器人,还是尽量用矩阵,因为用它做坐标变换和逆解实在是太方便了。
好了,上面提到坐标变换就是将旋转矩阵和一个平移向量组合。这里的计算方法就是
Ax Bx
Ay = [RotMatrix t * By
Az 0 1] Bz
1 1
t是一个1*3的列向量,将平移距离 x,y,z丢进去即可。
2. 机器人手臂运动学
机器人手臂可以理解为一些杆子绕着z轴旋转或伸缩,因此根据每个轴的链接方式,都可以写成一个坐标变换矩阵,这个矩阵的数学形式为:
这就是著名的DH矩阵,对于旋转型手臂theta可变,对于平移型手臂dj可变。偷个懒,将我的LUA程序片段截了个屏,如果想研究更细致的,请维基和Youtube,讲的比较细,多看几遍就明白了。
3. 机器人正解
首先将各轴的DH矩阵相乘,然后得到的位置矩阵,前3*3表示旋转,后1*3表示平移后坐标。
4. 特殊机器人手臂
额,毕竟是自学的,可能对DH矩阵的偏移和轴角理解可能还是有偏差,当我遇到这种机器人手臂时,着实用了点精力去研究。
这个红蓝的两个机器手臂,不是典型的DH手臂,为啥这么说呢,因为不管你是用theta还是alpha进行转,单次都是无法完成坐标变换的,因此,在这段非典型的手臂,我又添加了两个辅助DH矩阵完成转置,经过转置后,坐标和姿态终于都对了。
5. 正解计算
其实对于绝大多数正解是不需要计算的,直接进行转译即可,但对于川崎机器人,它的坐标系需要参考传送带和机器人坐标系,机器人程序默认坐标是相对机器人的,但是它又引入传送带参考坐标,以控制其间的相对位置关系。此外,这里吐槽一下,小日本的机器人是左手坐标系,重审一遍是左手坐标系。
对于脉冲型机器人控制程序,需要将各轴旋转极限找出来,然后等差分配脉冲值和角度,这一点逻辑还是比较简单的,当然,组装机器人手臂及参考点还是比较烦人的。
此外还需要考虑是否要乘以工具坐标转换。
附图,川崎机器人转译后的机器人路径:
机器人运动学仿真笔记相关推荐
- simulink仿真实例_MATLAB机器人运动学仿真入门
之前有小伙伴想了解MATLAB运动学仿真的知识,这两天特地作了整理.最近在找工作,所以文章更新频率会慢一些,时间仓促,如果错误还请指正. 1. 准备知识 在学习用MATLAB仿真之前,应该先去了解一下 ...
- V-rep运动学仿真笔记(二)——固定四轮小车,URDF模型导入
v-rep内提供简单的建模,但是复杂的则需要导入,简单的导入obj等格式这里就略过,这里说一下导入URDF模型,摘录:URDF(Universal Robot Description Format)- ...
- article-六轴码垛机器人admas正逆运动学仿真
基座自由度.大臂摆动自由度.小臂摆动自由度.腕部Y轴摆动自由度.腕部Z轴摆动自由度及其腕部末端X轴旋转自由度 其导入过程为: 机器人三维模型总体有6个部分.打开机器人的SolidWork三维模型,依次 ...
- SCARA机器人运动学模型建立
1 DH模型 DH模型是目前机器人建模过程中使用最多的方法.此方法不仅简单好用,且适用范围广.如图表达了通用关节-连杆之间相对位置关系. 关节-连杆组合之间位置关系 D-H 建模第一步便是为关节定义坐 ...
- python计算机器人运动学分析_V-rep学习笔记:机器人逆运动学数值解法(The Jacobian Transpose Method)...
机器人运动学逆解的问题经常出现在动画仿真和工业机器人的轨迹规划中:We want to know how the upper joints of the hierarchy would rotate ...
- 【四足机器人】学习笔记 单腿逆运动学和站立姿态控制
[四足机器人]学习笔记 单腿逆运动学和站立姿态控制 一.四足机器人单腿逆运动学原理 二.四足机器人站立姿态控制原理 近期,博主在古月居学习关于四足机器人的相关部分知识,从阳炼老师的四足机器人控制与仿真 ...
- matlab 4轴机器人建模,SCARA机器人运动学分析及MATLAB建模仿真.pdf
SCARA机器人运动学分析及MATLAB建模仿真.pdf 100 SCARA机器人运动学分析及 MATLAB建模仿真 SCARA机器人运动学分析及MATLAB建模仿真 KinematicAnalysi ...
- 六自由度方程组 matlab,采用Matlab的六自由度机器人三维运动学仿真_李庆.pdf
采用Matlab的六自由度机器人三维运动学仿真_李庆 第 ( ) 3 卷 第 期 华侨大学学报 自然科学版 7 3 Vol.37 No.3 年 月 ( ) 2016 5 JournalofHua ia ...
- MATLAB仿真Gough-Stewart并联机器人斯图尔特6自由度并联机器人逆运动学仿真 动力学控制pid控制
MATLAB仿真Gough-Stewart并联机器人斯图尔特6自由度并联机器人逆运动学仿真 动力学控制pid控制 1.搭建了六自由度Stewart并联机器人simulink simscape仿真模型 ...
最新文章
- 中端存储趋势:x86、SSD缓存和虚拟化
- PHPStorm无法保存个人设置 ctrl左键无法找到类
- Python IDE 详细攻略,拿来吧你~
- 【codeforces 534D】Handshakes
- 通用mapper 如何处理多表条件查询通过list封装(一对多)
- 【优化算法】自私羊群优化算法(SHO)【含Matlab源码 1569期】
- 12款高质量的免费 HTML 网页模板下载
- java星座出生日期_求一个会java fx的大神 编写一个输入日期输出星座的代码 急急急...
- 优化算法之粒子群优化
- Zynga旗下魔法三消手机游戏《Harry Potter: Puzzles Spells》邀请玩家一起参加最新推出的游戏内系列活动——俱乐部挑战赛
- 流体力学基础——粘性
- 创建zemax非序列光学系统
- JNI/NDK开发指南(十一)——JNI异常处理
- 华为p10 android几,华为P10测评:市场上真心没有比华为更强劲的安卓机了
- Python+经济学:柯布道格拉斯生产函数相关
- 搜狗浏览器默认皮肤无法修改问题
- 深入理解JAVA虚拟机学习笔记11——JDK可视化工具-VisualVM以及案例分析
- 使用Typora工具绘制流程图
- 黑马程序员Javaweb学习笔记01
- 计算机博弈大赛php,全国计算机博弈大赛