你好!欢迎来到深圳市品慧电子有限公司!
语言
当前位置:首页 >> 技术中心 >> 传感技术 >> 机器人坐标系用法和算法原理

机器人坐标系用法和算法原理


【导读】一般都会定义机器人第一轴的旋转轴为基坐标系Z轴,旋转中心即是坐标系原点,X和Y的方向是的电机零点确定,所以只要你不更换电机的零点和机械结构,单个机器人里这个基坐标系是永远不会变的!


10.jpg


机器人坐标系


基坐标系


机器人都有一个不会变的坐标系,叫基坐标系或世界坐标系(每家叫法不同,原理一样)。


基坐标系是怎么来的呢?


拿6轴机器人举例:


11.jpg


第一轴的旋转轴


一般都会定义机器人第一轴的旋转轴为基坐标系Z轴,旋转中心即是坐标系原点,X和Y的方向是的电机零点确定,所以只要你不更换电机的零点和机械结构,单个机器人里这个基坐标系是永远不会变的!


12.jpg


机器人外部轴


有一种情况会重新设定新(基)坐标系,新坐标系为世界坐标系(每家不同的叫法,你可以认为就是一个基坐标系),那就是机器人加外部行走轴,或外部旋转轴,用行走轴举例,这种情况会把基坐标设在行走轴的零点位置,如果有多个行走轴,那就把基坐标设定到最底层那根轴的零点处,所以机器人配置外部轴的原理就是测量一些机械参数,把机器人1轴上的基坐标系变换到外部行走轴上,这种变换也叫D-H变换,下面讲工具坐标系时候详细说明。


用户坐标系


上面内容确定了一个(基)坐标系,就可以通过齐次变换推算出工具坐标系和用户坐标系了!


13.jpg


用户坐标系


先说用户坐标系,用户坐标系的本质是把(基)坐标系旋转偏移到工件上,是为了方便编程,让机器人的移动方向和工件表面的方向一致!例如,有个倾斜45度的工件表面,如果你用基坐标系,机器人就是沿着基座系方向行走,横平竖直的,很难沿着45度的表面行走,对编程来说难操作。所以就通过齐次变换偏移旋转(基)坐标系,得到新的用户坐标系!


14.jpg


其次变换旋转算法


15.jpg


齐次变换平移加旋转算法


16.jpg


齐次变换后得到新的用户坐标系


工具坐标系


工具坐标系又叫TCP,机器人的精度和这个关系很大。它是在机器人末端执行器,也就是抓手或焊枪上的。这个坐标系是相对于六轴不动,但是实际机器人六轴会不停动作,这个坐标系也就跟随6轴实时变换!


17.jpg


工具坐标系


我们常说的机器人在什么位置,坐标数据是多少?实际就是工具坐标系(TCP)原点在基坐标系或者用户坐标系下的X、Y、Z、A、B、C的数值,X、Y、Z就是坐标系的三个坐标轴,A、B、C是以工具坐标系原点(TCP)为旋转中心,绕坐标系X,绕Y,绕Z旋转的角度数据(有的机器人,比如KUKA旋转是A、B、C对应绕Z,绕Y,绕X;标准欧拉角也是ZYX这样旋转的。),这里注意这个旋转中心,机器人都用欧拉角,它的旋转中心是TCP,不是绕着基坐标或者用户坐标的轴旋转,这里说的绕X旋转,其实是把坐标系平移到TCP位置,再绕坐标系X旋转!懂向量的就很容易理解为什么这样了,因为转换计算都是单位向量矩阵的形式!


怎么得到TCP的呢?其实也和不会变的基坐标有很大关系,确定了基坐标,基坐标的Z轴可以想象成一轴电机的旋转轴,一轴电机的零点就可以确定X和Y方向,这样就把一轴的关节坐标数据转换成笛卡尔XYZ坐标系的形式!同样的道理,二轴的电机相对于一轴机械位置和零点也是固定的,通过机械参数就可以把二轴的关节也转换成坐标系形式,三轴相对于二轴,四轴相对于三轴,五轴相对于四轴,六轴相对于五轴,都是有相对位置和零点固定不变的情况,这个就是6轴串联机器人,这样一轴一轴转换到六轴,六轴再转换到工具(焊枪或抓手)上,得出的坐标系就是相对于六轴固定不变的工具坐标系也就是TCP,如下图。


18.jpg


TCP计算图示


关节坐标系


19.jpg


关节坐标系


这个坐标系 很简单,就是六个电机的旋转角度!在关节坐标下,我们通过改变六个电机的数据,单独动作每个关节!实际它的最大用处是逆运算,也就是我们用用户坐标系或者基坐标系加TCP运动机器人的时候,机器人内部要把坐标系的数据,反推成六个关节电机的数据,这个非常复杂,而且解还不是唯一的(我上一篇里讲的机器人姿态参数),这里就不细说了,以后有空单独讲!


所以说,机器人最重要的坐标系其实就是(基)坐标系。


机器人还有一些坐标系相关的延伸应用


例如,外部TCP,连续轨迹,圆滑过渡这些!


我讲个外部TCP的程序原理,其它的应用多数是标准应用,不需要更改啥,但是外部TCP用的比较多,有的需要在标准外部TCP的程序基础上做些改进,以满足现场需求!


啥是外部TCP呢?我们前面所说的TCP(工具坐标系),可以理解成机器人的旋转中心,你拿着焊枪的时候,把TCP定义在枪尖,机器人旋转就会绕着枪尖转,机器人角度动作而枪尖位置不动,这样对于焊接需要拐弯的时候特别有用,焊枪拐弯了,但是焊丝还在焊接位置,不会跑偏!


外部TCP正好是和TCP相反的操作,如果焊枪没有装在机器人上,机器人是拿着工件去焊接的,那你把机器人的旋转中心定义在哪里好呢,定义在哪里都不行,如果定义了机器人只能绕着定义那个TCP位置旋转,但是焊接轨迹是移动的,移动到其它位置你再旋转,机器人固定的焊枪就不在焊接轨迹上了,严重的会碰撞!


外部TCP的算法原理是这样的:


比如我知道第一个焊接点位,根据点位的坐标齐次变换算出一个TCP,TCP和这个焊接点位重合。


焊接移动过程中的下一个点位坐标换算出新的TCP,和当前点位重合。这样每个点位自动生成一个TCP,比如焊接100mm长的焊缝,机器人内部算法把这100mm,分割成10000份,每份都有个TCP,这样就实现了TCP的动态赋值,也就是外部TCP的原理了!


总结一下:


基座标是固定不动的,可以换算出用户坐标和工具坐标;其它的外部TCP属于扩展应用,离不开前面三种坐标系!



免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理。


推荐阅读:


高能效、小外形的240W电源适配器参考设计

高功率降压转换的散热评估测试原理概述

电源模块输出为何振荡?

应对汽车ADAS电源管理设计挑战,谁是你心仪的“芯”方案?

ADI助力变送器从传统环路供电到工业4.0智能化转变

相关文章

    用户评论

    发评论送积分,参与就有奖励!

    发表评论

    评论内容:发表评论不能请不要超过250字;发表评论请自觉遵守互联网相关政策法规。

    深圳市品慧电子有限公司