1. 轨迹规划基础:从路径到轨迹的数学建模

大家好,欢迎来到这门实战课的第一章。

做机器人运动控制这些年,我见过太多人一上来就调PID、整参数,结果机器人要么抖得像筛子,要么撞得叮当响。为什么?说白了,他们跳过了最基础的一步——轨迹规划。

今天我们就来聊聊:路径和轨迹到底有什么区别?位置、速度、加速度之间藏着哪些约束?

1.1 路径 vs 轨迹:一字之差,天壤之别

先问个问题:你让机器人从A点走到B点,中间画一条线——这是路径还是轨迹?

答案是:路径。

路径只关心空间几何,不关心时间。而轨迹,是路径加上时间信息。换句话说,轨迹告诉机器人:什么时候到达哪个位置,以及速度和加速度是多少。

核心公式:

轨迹 = 路径 + 时间律

用数学语言表达:
q(t) = [x(t), y(t), z(t), θ(t), ...]

其中 t 是时间,q(t) 是每个关节或末端的位置向量。

我个人习惯把路径比作地图上的路线,轨迹则是开车时的油门、刹车和方向盘操作。你想想看,光有路线没有速度控制,车要么停着不动,要么冲下悬崖——这就是轨迹规划要解决的问题。

1.2 位置、速度、加速度的数学关系

搞清楚了轨迹的定义,接下来就是三个核心物理量:位置、速度、加速度。它们之间是微积分关系,但别怕,我们一步步来。

物理量 符号 定义 单位
位置 q(t) 随时间变化的坐标 m 或 rad
速度 v(t) = dq/dt 位置对时间的一阶导数 m/s 或 rad/s
加速度 a(t) = dv/dt = d²q/dt² 速度对时间的一阶导数 m/s² 或 rad/s²

反过来,从加速度积分得到速度,再积分得到位置:

v(t) = v₀ + ∫ a(t) dt
q(t) = q₀ + ∫ v(t) dt

嗯,这里要注意:实际工程中,加速度往往是受限的。电机有最大扭矩,关节有最大力矩,这些都直接限制了加速度的上限。

我的经验: 在项目中,我习惯先确定加速度约束,再反推速度和位置曲线。因为加速度决定了机器人会不会「急刹车」或「猛起步」,直接影响机械寿命和安全性。

1.3 约束关系:为什么不能随便规划?

你可能会想:我直接让机器人以最大速度跑过去不就行了?

不行。原因有三:

  1. 电机力矩有限:加速度太大,电机可能过载或烧毁。
  2. 机械结构有极限:关节有最大转速,超过会损坏减速器。
  3. 运动平滑性:速度突变会产生冲击,导致振动或精度下降。

所以,轨迹规划本质上是一个带约束的优化问题。我们需要在满足所有约束的前提下,找到一条平滑、高效、安全的轨迹。

避坑指南: 我曾经在一个六轴机器人项目里,直接用了梯形速度曲线,结果末端执行器在拐角处剧烈抖动。后来才发现,加速度突变导致关节力矩跳变,引发了共振。从那以后,我再也不敢忽略加速度的连续性了。

1.4 知识体系总览

为了让你对本章内容有个整体印象,我画了一张图:

轨迹规划基础:知识体系 轨迹规划 路径 vs 轨迹 位置·速度·加速度 约束条件 空间几何 时间律 微分关系 积分关系 力矩/速度/平滑 核心思想 轨迹 = 路径 + 时间律 约束决定可行性,平滑决定性能

1.5 一个简单的例子:点到点轨迹

假设机器人末端要从位置 q₀ = 0 运动到 q₁ = 10,总时间 T = 2 秒,初末速度都为 0。

最简单的方案是三次多项式轨迹:

q(t) = a₀ + a₁·t + a₂·t² + a₃·t³

边界条件:
q(0) = 0,   q(T) = 10
v(0) = 0,   v(T) = 0

求解系数:
a₀ = 0
a₁ = 0
a₂ = 3·(q₁ - q₀)/T² = 3·10/4 = 7.5
a₃ = -2·(q₁ - q₀)/T³ = -2·10/8 = -2.5

最终轨迹:
q(t) = 7.5·t² - 2.5·t³
v(t) = 15·t - 7.5·t²
a(t) = 15 - 15·t

你看,位置、速度、加速度都是连续的,没有突变。这就是平滑轨迹的基本要求。

小技巧: 在实际代码中,我习惯把轨迹系数提前算好存成数组,运行时直接查表插值,比实时计算快得多。尤其是嵌入式系统,能省不少CPU周期。

1.6 本章小结

今天我们做了三件事:

  • 理清了路径和轨迹的区别——路径是几何,轨迹是几何+时间。
  • 掌握了位置、速度、加速度的微积分关系,以及它们在实际工程中的约束意义。
  • 通过一个三次多项式的例子,看到了平滑轨迹的数学本质。

记住一句话:轨迹规划不是画线,而是设计运动过程。约束条件决定了机器人能不能动,平滑性决定了它动得好不好。