2. 坐标系与运动学基础:世界坐标系、关节坐标系、工具坐标系;正运动学与逆运动学概念

各位同学,欢迎来到第二章。这一章的内容,说白了就是运动控制的“世界观”。你想想看,要让一个机器人或者多轴平台动起来,首先得告诉它“你在哪”、“要去哪”、“怎么去”。这三个问题,就对应着坐标系和运动学。

我个人习惯把坐标系比作“语言的语法”。语法不对,话就说不清楚。坐标系搞混了,机器人就会撞墙。我在项目里见过太多次因为坐标系没搞对,导致调试到半夜的情况。所以,这一章咱们把基础打牢。

2.1 三大坐标系:你总得知道自己在哪

多轴系统里,最常用的就是三个坐标系。它们各有各的用处,也各有各的脾气。

核心概念速览:

  • 世界坐标系: 绝对参考,大地原点。所有东西的最终位置都拿它来算。
  • 关节坐标系: 每个轴自己的角度或位置。电机编码器读出来的就是它。
  • 工具坐标系: 装在末端执行器上的“手眼”坐标。焊枪尖、夹爪中心,都靠它定义。

2.1.1 世界坐标系 (World Coordinate System)

这是最“大”的坐标系。它固定不动,是整个工作空间的绝对参考。你可以把它想象成工厂车间里的一个固定地标。不管机器人怎么动,它的底座在空间中的位置,就是用世界坐标描述的。

嗯,这里要注意:世界坐标系的原点通常选在机器人底座中心,或者工作台的一个固定角上。选在哪取决于你的工艺。我见过有人把原点选在传送带起点,结果每次产线改造都要重新标定,非常痛苦。所以,原点选一个“万年不动”的地方最稳妥。

2.1.2 关节坐标系 (Joint Coordinate System)

这个坐标系最“接地气”。它描述的是每个关节自身的运动。对于旋转关节,就是角度;对于直线关节,就是位移。

举个例子,六轴机器人,关节坐标系就是 J1、J2、J3、J4、J5、J6 这六个角度值。你给电机发指令,本质上就是在操作关节坐标系。但问题是,你很难直观地想象“让J3转30度,同时J5转-45度”之后,末端到底在哪。这就是关节坐标系的局限——不直观。

2.1.3 工具坐标系 (Tool Coordinate System)

这是最“实用”的坐标系。它附着在机器人的末端执行器上。比如你装了一个焊枪,焊枪尖就是工具坐标系的原点。你编程的时候,其实更关心“焊枪尖以什么姿态移动到焊缝位置”,而不是“第六个关节转了多少度”。

工具坐标系让编程变得直观。你只需要告诉机器人:“工具坐标系的原点,沿着世界坐标系的X轴移动100毫米。” 至于每个关节该怎么转,那是控制器的事。

我的经验: 调试时,我习惯先确认工具坐标系是否标定准确。有一次,一个协作机器人抓取总是偏2毫米,查了半天,最后发现是工具坐标系里TCP(工具中心点)的Z方向偏移设错了。标定工具坐标系,是现场调试的第一步,千万别省。

2.2 正运动学与逆运动学:从“想”到“动”的数学桥梁

有了坐标系,我们还得知道怎么在它们之间来回切换。这就是运动学干的事。

  • 正运动学: 已知关节角度,求末端位姿。
  • 逆运动学: 已知末端位姿,求关节角度。

说白了,正运动学是“现实”,逆运动学是“梦想”。

2.2.1 正运动学 (Forward Kinematics)

正运动学很简单。你给每个关节一个角度,通过一系列坐标变换(齐次变换矩阵),就能算出末端在空间中的精确位置和姿态。这个过程是唯一的,也是确定的。

公式长这样(以2轴平面机器人为例):

// 2轴平面机器人正运动学
// 已知:关节角度 θ1, θ2,连杆长度 L1, L2
// 求:末端位置 (x, y)
x = L1 * cos(θ1) + L2 * cos(θ1 + θ2);
y = L1 * sin(θ1) + L2 * sin(θ1 + θ2);

你给一组角度,它就给你一个点。没得商量,没得选择。我在做离线仿真时,经常用正运动学来验证模型对不对。如果模型建对了,仿真结果和实际机器人动起来的位置应该完全一致。

2.2.2 逆运动学 (Inverse Kinematics)

逆运动学就“麻烦”多了。你想让末端走到空间中的某个点,但关节该怎么转?这通常不是唯一的解。比如一个六轴机器人,同一个末端位置,可能有8组甚至16组关节角度解。

为什么会这样?因为机器人可以“弯着胳膊”去够一个点,也可以“伸着胳膊”去够。这就带来了多解问题。

避坑指南: 我曾经在调试一个码垛机器人时,逆运动学算法选错了解。结果机器人每次走到那个点,都会“翻腕”,差点撞到旁边的料架。后来我强制指定了“肘部向上”的解,才解决问题。记住:逆运动学必须结合关节限位和避障来选最优解。

逆运动学的求解方法主要有两种:

  1. 解析法: 速度快,精度高,但只适用于特定构型的机器人(比如有相邻三轴交于一点的机器人)。
  2. 数值法(迭代法): 通用性强,任何构型都能算,但速度慢,且可能不收敛。

实际工程中,对于工业机器人,90%的情况都用解析法。因为它的构型设计就是为了让逆解有解析表达式。

2.3 知识体系总览

下面这张图,把这一章的核心逻辑串起来了。你可以看到,从“关节空间”到“笛卡尔空间”,正逆运动学就是那座桥。

坐标系与运动学知识体系 坐标系与运动学知识体系 世界坐标系 关节坐标系 工具坐标系 正运动学 关节角度 → 末端位姿 逆运动学 末端位姿 → 关节角度 应用:轨迹规划、插补、碰撞检测 依赖正逆运动学进行空间变换 正运动学是唯一解,逆运动学是多解。工程中需结合限位、避障选择最优解。 坐标系是“语言”,运动学是“翻译器”。

2.4 实战中的坐标系变换

在实际项目中,我们很少直接操作关节坐标。通常流程是这样的:

  1. 在世界坐标系下规划目标点。
  2. 通过逆运动学,算出每个关节的目标角度。
  3. 控制器驱动电机,读取编码器反馈的关节坐标。
  4. 通过正运动学,实时计算末端的实际工具坐标系位姿。
  5. 闭环修正。

你看,这一圈下来,三个坐标系和两个运动学全用上了。任何一个环节出错,机器人都会“抽风”。

关键参数对比表:

概念 输入 输出 解的数量 典型应用
正运动学 关节角度/位移 末端位姿 (x, y, z, Rx, Ry, Rz) 唯一 仿真验证、状态监测
逆运动学 末端位姿 (x, y, z, Rx, Ry, Rz) 关节角度/位移 多解 轨迹规划、在线控制
世界坐标系 固定原点 全局位置 — 绝对定位、多机协同
关节坐标系 电机编码器 单轴位置 — 底层驱动、限位保护
工具坐标系 末端工具参数 工具位姿 — 焊接、涂胶、抓取

好了,这一章的内容就这些。记住:坐标系是基础,运动学是工具。搞懂了它们,你就能听懂机器人在“说什么”,也能告诉它“该怎么做”。