首页 > 编程语言 >(笔记)机器人坐标系用法和算法原理

(笔记)机器人坐标系用法和算法原理

时间:2023-09-20 20:36:16浏览次数:50  
标签:外部 机器人 TCP 旋转 算法 坐标 用法 坐标系

 

机器人坐标系

 

一、基坐标系

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

基坐标系是怎么来的呢?

 

拿6轴机器人举例:

 

第一轴的旋转轴

 

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

 

机器人外部轴

 

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

 

二、用户坐标系

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

 

用户坐标系

 

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

 

齐次变换旋转算法

 

齐次变换平移加旋转算法

 

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

 

三、工具坐标系

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

 

工具坐标系

 

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

 

TCP计算图示

 

四、关节坐标系

 

关节坐标系

 

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

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

 

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

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

 

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

 

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

 

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

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

 

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

 

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

 

五、总结

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

 

注:本人部分内容参考:https://mp.weixin.qq.com/s/ppXUoAMBKJvNr3x4ELy1Ow

 

标签:外部,机器人,TCP,旋转,算法,坐标,用法,坐标系
From: https://www.cnblogs.com/tdyizhen1314/p/17718325.html

相关文章

  • 算法学习笔记(29):分块
    分块这是一种基于根号的算法,核心为大块标记,散块暴力,做到复杂度的平衡。可能第一个想到于此相关的就是莫队吧,这是利用分块优化暴力的方法。目录分块RmqProblem/mex[国家集训队]排队-洛谷[TJOI2009]开关-洛谷[Violet]蒲公英-洛谷小小总结RmqProblem/mex这本不......
  • pandas学习-函数drop_duplicates的用法
    pandas函数drop_duplicates用于去除DataFrame中的重复行。语法:DataFrame.drop_duplicates(subset=None,keep='first',inplace=False)参数说明:subset:指定要考虑的列名或列名的列表。默认值为None,表示考虑所有列。keep:指定保留哪个重复的行。可选值为'first'(保留第一个出现......
  • 《算法的乐趣》高清高质量PDF 电子书 附源码
    本书从一系列有趣的生活实例出发,全面介绍了构造算法的基础方法及其广泛应用,生动地展现了算法的趣味性和实用性。全书分为两个部分,第一部分介绍了算法的概念、常用的算法结构以及实现方法,第二部分介绍了算法在各个领域的应用,如物理实验、计算机图形学、数字音频处理等。其中,既有各种......
  • 【目标检测】Fast R-CNN算法实现
    一、前言2014年,RossGirshick提出RCNN,成为目标检测领域的开山之作。一年后,借鉴空间金字塔池化思想,RossGirshick推出设计更为巧妙的FastRCNN(https://github.com/rbgirshick/fast-rcnn),极大地提高了检测速度。FastRCNN的提出解决了RCNN结构固有的三个弊端:繁琐的多阶段训练:RCNN......
  • 视频监控/视频AI智能分析网关:持刀检测算法场景汇总
    TSINGSEE青犀AI智能分析网关——持刀检测算法,是一种利用计算机AI分析算法技术来检测和辨别视频中是否存在刀具的算法,用来保障群众安全,维护公共治安,还可以与“人员跌倒”、“人员聚集”、“人员跌倒”等算法结合,制定一体化的安全监管体系,可以应用于各种场景,主要包括以下几个方面:1、......
  • 《落实算法安全主体责任基本情况》范文,修改主体即可提交5
    在数字化时代,算法已经成为了商业竞争和创新的关键要素。然而,算法的广泛应用也引发了对其安全性和合规性的关切。《落实算法安全主体责任基本情况》作为算法备案过程中的一环,具有极高的专业性,需要企业全面考虑算法的隐私保护、数据合规、风险预防等一系列关键问题。正因如此,许多......
  • Lnton羚通机器视觉算法平台禁区闯入识别系统 危险区域AI智能分析预警系统
    Lnton羚通的算法算力云平台是一款出色的解决方案,具备突出的特点。该平台提供高性能、高可靠性、高可扩展性和低成本的功能,使用户能够高效地执行各种复杂的计算任务。此外,平台还提供了丰富的算法库和工具,支持用户上传和部署自定义算法,提高了平台的灵活性和个性化能力。禁区闯入识别......
  • 一键实现冒泡排序算法,代码质量有保障!
    近年来,深度学习和神经语言模型作为提高开发人员生产力的手段,尤其是2022年11月30日,ChatGPT这一现象级热点得出横空出世,在全球范围内形成了热烈的讨论,其中关于自动化代码生成和其它软件工程方面受到了极大的关注。 软件开发过程涵盖了各种代码生成任务,包括代码自动生成、代码翻......
  • 算法学习 |Day 1 数组基础 704. 二分查找,27. 移除元素
    704.二分查找思路:二分查找的前置条件是数组有序且无重复元素,每次通过改变边界值来缩小查找范围。自己写的:可以看到对边界的判断存在问题,基本思路是左闭右闭,但是while循环的判断是按照左闭右开来写的。对于数组中仅包含一个元素且该元素是目标函数的情况会出错。重新调试后......
  • 视频监控系统/安防监控/视频AI智能分析网关:持刀检测算法场景汇总
    TSINGSEE青犀AI智能分析网关——持刀检测算法,是一种利用计算机AI分析算法技术来检测和辨别视频中是否存在刀具的算法,用来保障群众安全,维护公共治安,还可以与“人员跌倒”、“人员聚集”、“人员跌倒”等算法结合,制定一体化的安全监管体系,可以应用于各种场景,主要包括以下几个方面:......