2. 坐标系基础与平台运动描述
多轴运动平台的一切控制指令,最终都要落到某个坐标系里才有意义。同一句“移动到 (100, 50, 20)”,在世界坐标系、机架坐标系、工具坐标系或工件坐标系下,指向的物理位置可能完全不同。因此,理解坐标系的层级关系与空间映射,是标定与轨迹执行的第一块基石。
一、四类坐标系及其层级关系
世界坐标系(World)是全局参考,通常固定在地面或车间基准上,用于统一描述多台设备、视觉相机与工件的相对位置。它不随平台运动而改变,是“绝对参照”。
机架坐标系(Base/Frame)固连在平台底座上,原点一般取第一轴回转中心与安装面的交点。它描述的是“平台自身在哪里、朝哪个方向”。当平台被吊装、重新固定后,机架坐标系相对世界坐标系的关系需要重新标定。
工具坐标系(Tool/TCP)固连在末端执行器上,原点即工具中心点(TCP),Z 轴通常沿工具接近方向。它决定了“平台末端拿着的工具,其作用点在哪里、指向何方”。
工件坐标系(Work/Object)固连在被加工或测量的工件上,原点常取工件的一个角点或定位基准。它让轨迹可以按“工件图纸坐标”编写,而不必关心工件被摆放在台面的哪个位置。
四者的关系可以概括为一条变换链:世界 → 机架 → 工具,以及世界 → 工件。控制器内部真正求解的,是工具坐标系与工件坐标系之间的相对位姿。
二、关节空间与笛卡尔空间的映射
多轴平台的运动描述存在两套语言。一套是关节空间:用各轴的角度或位移量 q = [θ₁, θ₂, …, θₙ] 描述平台状态,它直接对应电机编码器读数,是控制器真正下发的量。另一套是笛卡尔空间:用末端位姿 p = [x, y, z, rx, ry, rz] 描述工具在某个参考系下的位置与姿态,它更贴近人的直觉和工艺需求。
两套语言之间靠运动学映射连接。正运动学由关节量算出末端位姿,对给定结构是唯一确定的;逆运动学由目标位姿反求关节量,往往存在多组解,需要结合关节限位、行程余量和避障要求挑选。以常见的三轴直角坐标平台为例,若丝杠导程为 5 mm、电机每转 10000 脉冲,则单轴分辨率约为 0.0005 mm/脉冲,正解就是各轴位移的简单叠加;而六轴串联平台的正解则需按 DH 参数逐级相乘。
三、位姿描述与变换矩阵
工程上普遍用 4×4 齐次变换矩阵统一表达“旋转 + 平移”。一个位姿 T 可写成:
T = [ R t ] R: 3×3 旋转矩阵(姿态)
[ 0 1 ] t: 3×1 平移向量(位置)
例:工具在机架系下的位姿
B T_T = [ 1 0 0 300 ]
[ 0 1 0 120 ]
[ 0 0 1 80 ]
[ 0 0 0 1 ]
含义:TCP 位于机架系 (300, 120, 80) mm,姿态与机架系一致。
姿态的表示方式有三种常见形式:旋转矩阵直观但冗余(9 个元素仅 3 个自由度);欧拉角(如 ZYX 顺序的 rx, ry, rz)便于人读,但存在万向节死锁;四元数 (qw, qx, qy, qz) 无死锁、插值平滑,适合轨迹规划。控制器内部通常用矩阵或四元数运算,仅在示教界面显示欧拉角。
四、坐标变换的复合与方向约定
变换链的复合遵循“从右往左”的乘法顺序。若已知机架系到世界系的变换 ᵂT_B、工具系到机架系的变换 ᴮT_T,则工具在世界系下的位姿为 ᵂT_T = ᵂT_B · ᴮT_T。反过来,若要让工具在工件坐标系下到达目标位姿 ᵒT_T,则需先求工件系到世界系的变换 ᵂT_O,再计算 ᵒT_T = (ᵂT_O)⁻¹ · ᵂT_T。
五、一个可复现的坐标变换示例
假设某三轴平台机架系原点在世界系 (500, 200, 0) mm 处,无旋转;工具 TCP 在机架系下为 (300, 120, 80) mm,姿态绕 Z 轴旋转 90°。工件系原点在世界系 (800, 200, 0) mm 处,无旋转。求 TCP 在工件系下的位置。
步骤 1:ᵂT_T 位置 = (500+300, 200+120, 0+80) = (800, 320, 80) mm
步骤 2:ᵒT_T 位置 = ᵂT_T - ᵂT_O = (800-800, 320-200, 80-0)
= (0, 120, 80) mm
步骤 3:姿态绕 Z 转 90°,在工件系下仍为 Rz(90°)
判断依据:若工件系原点与 TCP 世界坐标的 X 分量相同,
则工件系下 X 应为 0,与步骤 2 结果一致,说明变换链正确。
这个例子说明:坐标变换不是抽象数学,而是把“平台实际在哪、工具指向哪、工件摆在哪”三件事用矩阵串起来。标定的本质,就是把这些变换矩阵中的未知量测准;轨迹执行的本质,就是在这条变换链上做正解与逆解。