3. 坐标系与运动学基础

说实话,坐标系这个东西,刚入行时我觉得挺简单的。不就是几个箭头嘛?直到我第一次调试龙门机器人,发现抓取位置总是偏那么几毫米……嗯,那才叫一个头大。后来我才明白,坐标系不是死的,它是你跟机器人沟通的语言。

今天咱们就把坐标系和运动学这块彻底捋清楚。我尽量用大白话讲,但该有的公式和代码一个都不会少。

3.1 世界坐标系

世界坐标系,说白了就是整个工作空间的“绝对参考系”。它通常固定在机器人底座或者地面上,所有其他坐标系都基于它来定义。

我个人习惯把世界坐标系的原点设在龙门机器人的几何中心,X轴指向长边方向,Y轴指向短边方向,Z轴垂直向上。这样后续计算会方便很多。

关键点:世界坐标系一旦设定,尽量不要改动。否则你之前标定的所有点位都会乱套。

举个例子,我在一个3米×2米的龙门机器人项目中,世界坐标系原点就设在龙门架左下角的地面上。所有工位的位置都是相对于这个原点来测量的。

3.2 工具坐标系

工具坐标系,就是定义在机器人末端执行器上的坐标系。比如你装了一个气动夹爪,或者一个焊枪,工具坐标系的原点就在工具的中心点(TCP,Tool Center Point)。

为什么要单独搞个工具坐标系?你想想看,你换了一个夹爪,难道要把所有点位重新标一遍吗?当然不用。你只需要重新标定工具坐标系,机器人会自动补偿。

我的经验:标定TCP时,我习惯用“四点法”或者“六点法”。简单说,就是让机器人以不同姿态去触碰一个固定尖点,然后反算出TCP的位置。我在现场做过几十次,精度能到0.1mm以内。

3.3 工件坐标系

工件坐标系,是定义在工件上的。比如你要在一个电路板上贴片,或者在一个汽车零件上钻孔,工件坐标系就帮你把程序里的点位跟实际工件对齐。

这里有个坑,我踩过。有一次客户换了一批工件,尺寸有微小偏差,结果所有点位都偏了。后来我学乖了,每次换工件前先做一次“三点标定”——在工件上选三个特征点,告诉机器人新的工件坐标系在哪。

注意:工件坐标系和世界坐标系之间的转换,本质是一个平移+旋转的齐次变换矩阵。千万别搞混了顺序,先平移后旋转和先旋转后平移,结果完全不同。

3.4 龙门机器人正逆运动学简介

正运动学,就是已知各个关节的角度(或者位置),求末端执行器的位姿。逆运动学则反过来,已知末端位姿,求各个关节的角度。

龙门机器人的运动学其实比六轴机器人简单得多。为什么?因为龙门机器人的三个轴(X、Y、Z)是正交的,互相独立。说白了,正运动学就是三个坐标直接相加:

// 正运动学:已知关节位置,求末端位置
Px = Jx + tool_offset_x
Py = Jy + tool_offset_y
Pz = Jz + tool_offset_z

// 逆运动学:已知末端位置,求关节位置
Jx = Px - tool_offset_x
Jy = Py - tool_offset_y
Jz = Pz - tool_offset_z

你看,就这么简单。但实际项目中,往往还要考虑旋转轴(比如A轴、C轴),那就稍微复杂一点了。我记得有一次调试一个带旋转头的龙门机器人,逆运动学里多了个三角函数,我愣是调了一下午才把姿态算对。

核心公式:对于带旋转轴的龙门机器人,逆运动学通常需要解一个4×4的齐次变换矩阵。不过别怕,大部分控制器都帮你算好了,你只需要理解原理就行。

3.5 运动范围与奇点

运动范围,就是机器人各个轴能走到的极限位置。这个很好理解,X轴行程3米,Y轴行程2米,Z轴行程1米,那工作空间就是一个3×2×1的长方体。

但奇点就有点意思了。奇点是指机器人在某个位姿下,自由度丢失,或者运动学方程无解。对于龙门机器人,奇点通常出现在旋转轴上。

举个例子,如果你的龙门机器人末端有一个旋转轴(比如A轴),当A轴转到某个角度时,你发现无论怎么调,末端姿态就是不对。嗯,那就是奇点。

避坑指南:我曾经在一个项目中,因为没注意奇点,导致机器人在高速运行时突然卡住,差点把工件撞飞。后来我在路径规划里加了一个“奇点规避”逻辑——当检测到接近奇点时,自动调整路径或者降低速度。

怎么规避奇点?我一般用两种方法:

  • 路径规划时避开:在离线编程阶段,检查路径上是否有奇点,如果有,重新规划路径。
  • 运行时检测:在运动控制中实时计算雅可比矩阵的行列式,如果接近0,说明接近奇点,立即减速或调整。

3.6 知识体系总览

下面这张图,是我自己画的坐标系与运动学的关系图。你看一眼,就能明白它们之间是怎么配合的。

世界坐标系 绝对参考系 工具坐标系 TCP标定 工件坐标系 三点标定 正运动学 关节→末端 逆运动学 末端→关节 奇点 自由度丢失 坐标系是基础,运动学是桥梁,奇点是陷阱

这张图里,世界坐标系是根,工具坐标系和工件坐标系都基于它。正逆运动学负责在关节空间和笛卡尔空间之间来回切换。而奇点,就是运动学里的“地雷”,你得时刻提防。

一个小技巧:在实际调试时,我习惯先用正运动学验证关节位置是否正确,再用逆运动学反算回去,看看误差有多大。如果误差超过0.5mm,那多半是标定有问题。

好了,坐标系与运动学这块就讲到这里。记住一句话:坐标系定天下,运动学通乾坤,奇点要避开。下次咱们聊点更实战的内容。

专注资料整理