一、运动控制基础:多轴系统概述、坐标系与位姿描述、运动学与动力学基础

各位同学,大家好。我是你们这门课的老朋友。今天咱们正式开篇,聊聊运动控制里最底层的那些东西。说实话,我做了十几年运动控制,见过太多人一上来就扎进插补算法里,结果连坐标系都没搞明白,最后调试时各种撞限位、跑飞车。嗯,咱们先把地基打牢。

核心观点:多轴运动控制,说白了就是让多个电机“商量着来”,协同完成一个空间轨迹。而坐标系、位姿、运动学与动力学,就是它们“商量”的语言和规则。

1.1 多轴系统概述

什么叫多轴系统?你想想看,一台三轴雕刻机,X、Y、Z三个轴各干各的,但最终刀尖要走出一个“S”形。这就是多轴协同。我最早接触多轴系统是在一台老式的五轴点胶机上,那会儿还是用脉冲+方向控制,每个轴一个驱动器,全靠上位机发脉冲串。说实话,那时候的同步精度全靠硬件定时器,稍微有点抖动,胶水就歪了。

多轴系统的分类,我习惯按结构来分:

  • 串联结构:像工业机器人,每个关节依次连接。优点是工作空间大,缺点是末端精度会累积误差。我在项目里遇到过,六轴机器人末端重复定位精度能做到±0.02mm,但绝对定位精度可能差到0.1mm,这就是串联的“通病”。
  • 并联结构:像Delta机器人,多个支链共同支撑末端。刚度高、速度快,但工作空间小。我记得有一次做高速分拣,Delta机器人每分钟能抓取120次,但稍微偏离工作区中心,精度就下降得厉害。
  • 混联结构:比如一些五轴机床,既有串联的旋转轴,又有并联的直线轴。这种结构最考验控制器的解算能力。

我个人建议,初学者先从两轴或三轴的直角坐标系系统入手。为什么?因为简单、直观,没有复杂的坐标变换。等你把直线插补、圆弧插补玩熟了,再碰旋转轴和关节臂。

小提示:选型时,别只看电机功率和扭矩。多轴系统里,惯量匹配比扭矩更重要。我曾经因为电机惯量比负载惯量小了太多,导致系统在高速启停时剧烈震荡,最后不得不换大一级的电机。

1.2 坐标系与位姿描述

坐标系,是运动控制的“世界观”。你描述一个点的位置,总得有个参考系吧?

常用的坐标系有:

  • 世界坐标系:也叫基坐标系,固定在设备底座上。所有运动都相对于它。我习惯把世界坐标系的原点设在设备底座的几何中心,这样后续标定方便。
  • 工具坐标系:固定在末端执行器上,比如焊枪的尖端、夹爪的中心。为什么要单独定义?因为你要控制的是“工具”到达目标点,而不是机器人法兰盘。
  • 工件坐标系:固定在工件上。比如你要在电路板上焊十个点,每个点的坐标都是相对于电路板的一个角。这样即使电路板放歪了,只要重新标定工件坐标系,程序不用改。

位姿描述,就是“位置+姿态”。位置用三维坐标 (x, y, z) 表示,姿态用欧拉角或四元数表示。我个人更偏爱四元数,因为它没有万向节死锁的问题。有一次做六轴机器人姿态规划,用欧拉角在接近90°俯仰时突然跳变,整个轨迹都乱了。换成四元数后,平滑得像丝绸。

这里给出一个简单的齐次变换矩阵示例,用于描述一个坐标系相对于另一个坐标系的位姿:

// 齐次变换矩阵 T = [R | t; 0 0 0 | 1]
// 其中 R 是 3x3 旋转矩阵,t 是 3x1 平移向量
// 例如:绕Z轴旋转45度,再平移 (100, 200, 50) mm

double T[4][4] = {
    {0.707, -0.707, 0, 100},
    {0.707,  0.707, 0, 200},
    {0,      0,     1,  50},
    {0,      0,     0,   1}
};

注意:坐标系变换的顺序很重要!先旋转后平移,和先平移后旋转,结果完全不同。我见过有人把这两个顺序搞反,结果机器人直接撞到工件上。还好有软限位保护,不然就出事故了。

1.3 运动学与动力学基础

运动学,研究“怎么动”,不关心“为什么能动”。动力学,研究“力与运动的关系”。

运动学分为:

  • 正运动学:已知关节角度,求末端位姿。说白了,就是“我给了每个轴一个角度,末端在哪?” 这个相对简单,就是矩阵连乘。
  • 逆运动学:已知末端位姿,求关节角度。这是难点。因为解不唯一,甚至可能无解。我做过一个六轴机器人的逆解,用解析法求出了8组解,还得根据当前关节位置选最近的一组,避免关节超限。

动力学呢? 它告诉你:要让末端以多大的加速度运动,每个关节需要输出多大的扭矩。我建议初学者先别碰动力学,太复杂。但你要知道,高速高精度运动控制,动力学补偿是绕不开的。比如,一个重负载的机器人,在加速时如果不做前馈补偿,轨迹末端会明显滞后。

下面我用一张图来总结本章的知识体系:

多轴插补路径规划与避障 - 第1章知识体系 多轴系统概述 坐标系与位姿描述 运动学与动力学基础 串联结构 并联结构 混联结构 世界坐标系 工具坐标系 工件坐标系 正运动学 逆运动学 动力学 核心:多轴协同 → 坐标系统一 → 运动学解算 → 动力学补偿 这是后续所有插补与避障算法的基础

嗯,这张图把本章的三个核心模块串起来了。多轴系统是硬件基础,坐标系是数学工具,运动学与动力学是算法核心。三者缺一不可。

个人经验:我建议你在学习后续章节时,随时回头看看这张图。比如讲到插补时,你要想:插补是在哪个坐标系下进行的?是关节空间还是笛卡尔空间?这决定了算法的复杂度。

最后,留个思考题:一个三轴直角机器人,要在工件上画一个圆。工件坐标系相对于世界坐标系有30°的旋转。请问,你需要在哪个坐标系下规划圆的轨迹?为什么?

答案其实很简单:在工件坐标系下规划,然后通过齐次变换矩阵转换到世界坐标系。这样即使工件位置变了,程序也不用改。这就是坐标系抽象的魅力。


公众号:蓝海资料掘金营,微信deep3321