3. 多机协调控制中的坐标系与位姿描述
在多机协调控制中,所有“位置”和“姿态”都不是孤立存在的,它们必须挂靠在某个坐标系下才有意义。KUKA 机器人系统里最常出现的四类坐标系是:世界坐标系(World)、基坐标系(Base/Root)、工具坐标系(Tool)和工件坐标系(Work/Object)。多机协调的本质,就是把这四类坐标系之间的变换关系理清楚,让两台甚至多台机器人对同一个空间点、同一条轨迹、同一个工件有一致的理解。
四类坐标系的定义与作用
世界坐标系是整条产线或整个机器人工作单元的绝对参考系,通常固定在地面或设备底板上,原点由集成商在标定时确定。它不随任何一台机器人运动而改变,是多机之间共享的“公共语言”。当两台机器人需要协同搬运同一个工件时,它们各自的轨迹最终都要能换算到世界坐标系下比较。
基坐标系是每台机器人自身的根坐标系,原点一般位于机器人底座安装面中心,Z 轴通常与机器人第一轴回转中心重合。KUKA 的 $BASE 数据描述的就是基坐标系相对于世界坐标系的位姿。单机编程时我们常把基坐标系当作“地面”,但在多机场景中,必须明确每台机器人的基坐标系在世界系中的实际位置,否则两台机器人对同一工件的理解会相差一个底座安装偏差。
工具坐标系(KUKA 中称 TOOL)定义在末端法兰上,描述 TCP(工具中心点)相对于法兰坐标系的位置和姿态。焊接枪、夹爪、吸盘的工具坐标系各不相同。多机协调时,如果一台机器人用夹爪抓工件、另一台用焊枪焊接,两者必须通过各自 TOOL 把动作点统一到工件上的同一物理点。
工件坐标系(KUKA 中称 $WORK 或工件基准)固定在工件或工装上,描述工件相对于世界或基坐标系的位姿。它的价值在于:当工件在变位机上翻转或移动时,只要更新工件坐标系,所有基于工件坐标系编写的轨迹点会自动跟随,无需逐点重算。
位姿的统一表达与变换链
KUKA 用位置矢量 (X, Y, Z) 加姿态角 (A, B, C) 描述一个位姿,其中 A 绕 Z 轴、B 绕 Y 轴、C 绕 X 轴,旋转顺序为 Z→Y→X,即先 A 后 B 再 C。这个约定在多机编程中必须全文一致,否则两台机器人对同一组角度会解出不同姿态。
多机协调的核心计算是坐标变换链。若已知工件上一点 P 在工件坐标系中的坐标,要让它被机器人 1 的 TCP 到达,需要经过:工件坐标系→世界坐标系→机器人 1 基坐标系→机器人 1 法兰→机器人 1 工具坐标系。用齐次变换矩阵表示就是:
T_world_tcp1 = T_world_base1 · T_base1_flange1 · T_flange1_tool1
P_world = T_world_work · P_work
P_tcp1 = inv(T_world_tcp1) · P_world
机器人 2 同理得到 P_tcp2。只要两台机器人的变换链都正确标定,同一个 P_world 就能被两台机器人分别到达,实现协同。实际工程中,我们通常把公共部分(世界系到工件系)标定一次,各机器人只需维护自己的基坐标系和工具坐标系。
多机位姿统一表达的实操要点
以两台 KR 10 协同搬运一个 800 mm × 600 mm 工装板为例。假设工装板上有四个抓取点,机器人 1 抓左侧两点,机器人 2 抓右侧两点。操作流程如下:
- 用激光跟踪仪或 KUKA 三点法标定世界坐标系,原点设在工装板中心正下方的地面点,X 轴指向产线流动方向。
- 分别标定两台机器人的基坐标系,记录 $BASE 数据。示例:机器人 1 的 $BASE = {X 1200, Y -800, Z 0, A 0, B 0, C 0},机器人 2 的 $BASE = {X 1200, Y 800, Z 0, A 0, B 0, C 180},表示两台机器人相对世界系对称布置且朝向相反。
- 标定各自工具坐标系。夹爪 TCP 设在夹爪中心,示例 TOOL = {X 0, Y 0, Z 180, A 0, B 0, C 0},Z 向偏移 180 mm 为夹爪长度。
- 标定工件坐标系,原点设在工装板中心,X 轴沿板长方向。示例 $WORK = {X 1200, Y 0, Z 400, A 0, B 0, C 0}。
- 在工件坐标系下示教四个抓取点,例如 P1 = {X -300, Y -200, Z 0},P2 = {X -300, Y 200, Z 0},P3 = {X 300, Y -200, Z 0},P4 = {X 300, Y 200, Z 0}。机器人 1 执行 P1、P2,机器人 2 执行 P3、P4。
运行前用 KUKA 的 $POS_ACT 或示教器上的“实际位置”显示,把两台机器人分别移动到各自抓取点,观察世界坐标系下的实际坐标是否与理论值一致。若偏差超过 2 mm,优先检查基坐标系标定和工具坐标系 Z 向偏移,而不是直接修改轨迹点。
常见问题与判断依据
多机协调中坐标系问题往往表现为“单机示教没问题,双机一起动就撞”或“抓取点总是偏一个固定量”。前者通常是两台机器人对世界坐标系的理解不一致,后者多半是工具坐标系或工件坐标系标定有误。排查时按变换链从外向内逐级验证:先确认两台机器人对同一世界点读数一致,再确认各自 $BASE 正确,最后检查 $TOOL 和 $WORK。