×
全站搜索
立即搜索
×
提示信息:
确认
新闻资讯

News

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

发布时间:2023-09-11 17:49:29

本文转载自机器人大讲堂

▍机器人坐标系


基坐标系

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

基坐标系是怎么来的呢?


拿6轴机器人举例:

61feb9a6cbafd6beefb34e5db9b80131.png

第一轴的旋转轴

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

e328039c8eff8da46cf6b607b1781226.png

机器人外部轴


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


用户坐标系

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


21b8d529852faf1770e8b2357ede3b57.png

用户坐标系

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

27bfe3d6baf6f52bb8a02be421a072ff.png

其次变换旋转算法

b979852c913571f30768a7e23e3db72f.png

齐次变换平移加旋转算法

636a50a0b62ab6cc06dd03f5a8a47e00.png

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


工具坐标系

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

426e215e1af9faecc6c104f383460954.png

工具坐标系


我们常说的机器人在什么位置,坐标数据是多少?实际就是工具坐标系(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,如下图。

f2d6230cb9ec600a5cdc9e4e7747b2a5.png

TCP计算图示


关节坐标系

d03de29571d035c0ef784f0e81b28418.png

关节坐标系


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

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


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

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


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


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


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

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


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


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


▍总结一下:


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


image.png

山东优宝特智能机器人有限公司(简称“优宝特机器人”)是山东省政府引进的高科技企业。公司核心团队具有山东大学、中国科学院自动化所等知名院校背景,长期进行人工智能、特种机器人研究与开发。公司入选山东省“泰山产业领军人才计划", “济南市引进海内外高层次创业人才计划”。获“国家级高新技术企业”、“山东省专精特新中小企业”、山东省创新型中小企业“济南市瞪羚企业”等荣誉。是应急管理部煤矿机器人协同创新中心、矿山机器人创新应用联盟、山东院士专家联合会人工智能与机器人专业委员会、山东省教育厅机器人与智能系统协同创新中心、山东省自动化学会等组织的成员理事单位。

公司致力于腿足式仿生机器人和液压特种机器人产品开发,产品已应用于煤矿、电力、石化、教育等行业。申报并承担国家级项目2项、省部级项目2项。项目“电动四足机器人关键技术及应用”获山东省技术发明奖二等奖。公司荣获第十一届中国创新创业大赛山东赛区“科创之星”称号。

公司申请专利50多件,已经授权发明专利12件、实用新型专利3件。获第四届山东省专利奖二等奖”。