主题
运动规划和运动控制有什么区别
在机器人系统里,运动规划 (motion planning) 和运动控制 (motion control) 是两个非常基础的概念。它们经常一起出现,也经常被放在同一个模块里讨论。理解这两个概念的区别,有助于我们看懂机器人软件架构,也能更好地理解具身智能时代里规划、控制和学习算法之间的关系。
在传统机器人学里,运动规划和运动控制已经有比较明确的定义。简单说,运动规划更关心机器人应该怎么动,运动控制更关心机器人怎样把这个动作稳定、准确地执行出来。但是在 AI 方法进入机器人系统之后,原来的定义开始不够用了。VLA、世界模型、强化学习等方法正在改变机器人生成动作的方式,也让规划和控制之间出现了更多中间地带。因此,我们需要在传统定义的基础上,重新理解这两个概念。
文章来源于机器人技术笔记
传统机器人学里的运动规划
在传统机器人学中,运动规划通常可以继续分成两类:路径规划 (path planning) 和轨迹规划 (trajectory planning) 。
路径规划主要处理几何问题。它关心的是从起点到终点应该走哪条路,通常不直接考虑时间。比如移动机器人在地图中从 A 点走到 B 点,需要绕开墙、桌子、行人和其他障碍物,这就是典型的路径规划问题。
在机械臂场景中,路径规划也可以理解为在关节空间或笛卡尔空间里找到一条可行路线。机械臂从当前位姿移动到目标位姿,中间不能撞到工件、夹具、桌面或自身结构,这同样是路径规划要解决的问题。
轨迹规划在路径的基础上加入时间。路径只说明从哪里经过,轨迹还要说明什么时候到达每个位置,以及速度、加速度、jerk 等运动量如何变化。
工业机械臂里常说的节拍优化,很多时候就和轨迹规划有关。同样一条路径,如果速度、加速度约束不同,执行时间可能完全不一样。轨迹规划需要在效率、平滑性、机械限制和安全性之间做平衡。
所以,传统意义上的运动规划一般输出的是一条路径或一段轨迹。它给后面的控制模块提供目标。
传统机器人学里的运动控制
运动控制关心的是如何让机器人真实地跟上规划结果。
规划模块给出一条目标轨迹之后,真实机器人并不会自动完美执行。电机有响应延迟,减速器有间隙,连杆有柔性,传感器也会有噪声。控制系统需要不断读取机器人当前状态,计算当前状态和目标状态之间的误差,再输出合适的控制指令。
这些控制指令可以是位置指令、速度指令,也可以是力矩指令。不同机器人、不同控制层级会有不同形式。
在机械臂中,常见的控制问题包括关节位置控制、速度控制、力矩控制、阻抗控制、导纳控制、计算力矩控制等。在移动机器人中,控制可能表现为底盘速度控制、轨迹跟踪控制、姿态稳定控制等。在足式机器人中,控制还会涉及质心、接触力、落足点和全身协调。
如果用一个典型流程来表示,可以写成:
任务目标 → 路径规划 → 轨迹规划 → 运动控制 → 电机与执行机构 → 机器人真实运动
在这个传统链路里,规划偏上层,控制偏下层。规划更像是在生成运动方案,控制更像是在执行和修正运动方案。
到了具身智能时代,边界开始变得模糊
传统机器人系统通常是分层设计的。感知、决策、规划、控制,每个模块负责相对清晰的任务。这样的架构便于调试,也便于工程落地。
具身智能的发展让这个边界出现了变化。VLA、世界模型、强化学习等方法进入机器人系统之后,机器人不一定总是先做明确的符号决策,再生成传统意义上的路径和轨迹。
VLA 指的是视觉-语言-动作模型。它可以接收图像和语言指令,然后输出动作相关的信息。比如用户说把桌上的杯子拿起来,模型可能直接生成一段动作序列,或者生成一系列中间目标。
世界模型则更强调对环境动态的预测。机器人可以在模型中预估某个动作会带来什么结果,再选择更合适的动作。这种方法让规划不再只是几何空间里的搜索,也可能变成对未来状态的预测和选择。
强化学习在机器人运动中也非常常见,尤其是在足式机器人、灵巧手和复杂动态控制任务中。强化学习策略可以直接输出关节目标、关节速度、力矩,或者更抽象的运动命令。它既有规划的味道,也有控制的味道。
这时,如果还用传统定义去硬分,很容易陷入为了区分而区分的误区。今天的机器人系统里,规划和控制的边界已经不只由算法名称决定,还和系统层级、更新频率、输出形式、是否闭环等因素有关。
大脑和小脑架构下的新分工
通用机器人往往会采用大脑和小脑协作的架构。
大脑主要负责感知和决策。它理解环境、理解任务、处理用户指令,并生成高层动作意图。VLA、世界模型、大语言模型相关模块,通常更接近大脑这一层。
这些动作序列还不能直接发给电机。它们通常是离散的、抽象的、不够平滑的,也未必完全满足机器人本体的运动约束。接下来就需要小脑负责生成具体运动。
在新的架构下,可以把小脑里的运动规划理解为:把大脑给出的动作序列或高层运动指令,转化成连续、平滑、满足约束的机器人运动。
这一层会做很多工程处理,比如指令连续化、插值、滤波、速度限制、加速度限制、jerk 限制。对于足式机器人,还可能包含强化学习策略,用来生成步态、身体姿态或关节层面的运动目标。
也就是说,新架构下的运动规划已经不只是传统意义上的路径规划和轨迹规划。它更多是在高层动作意图和底层控制执行之间,生成可执行的运动表达。
而运动控制的职责更加靠近机器人本体和硬件执行。
控制部分要处理运动学逆解,把末端或机身目标转换成关节目标;要处理动力学前馈计算,让机器人在加速、搬运、接触时有更好的动态响应;还要做信号防抖、抑振、误差补偿和闭环反馈。
再往下,控制系统还需要和具体硬件打交道,包括驱动器通信、控制总线主站集成、实时周期管理、安全状态处理等。
所以在大小脑架构下,可以这样重新理解:
大脑负责感知决策,输出动作序列或高层运动意图。
小脑中的运动规划负责把这些动作意图变成连续、平滑、满足约束的运动指令。
运动控制负责把这些运动指令转化为机器人硬件可以稳定执行的关节命令、电机命令或力矩命令,并通过反馈让真实机器人跟上目标。
一个更适合今天的理解
面向今天的机器人系统,运动规划和运动控制可以这样区分:
运动规划关注动作如何生成。它处理的是从高层目标到可执行运动之间的问题,重点是连续性、平滑性、约束、安全性和运动可行性。
运动控制关注动作如何执行。它处理的是从运动指令到真实硬件响应之间的问题,重点是逆解、动力学、反馈、误差、扰动、执行器和控制总线。
这样理解之后,传统机器人学和具身智能并不冲突。传统定义告诉我们路径规划、轨迹规划和控制之间的基本关系;新的定义则帮助我们看懂 VLA、世界模型、强化学习进入系统之后,各个模块在工程上应该承担什么职责。
当然也要提醒大家,不要为了区分概念而强行拆分,这反而会影响我们对机器人系统的判断。做概念辨析的目的,是帮助人理解机器人系统,也帮助项目团队划分职责、设计接口和定位问题。概念应该服务于系统理解和工程协作。