2. 数学基础

轨迹规划的本质,是把“机器人/车辆/飞行器该怎么动”这一物理问题,翻译成可计算、可优化、可验证的数学问题。速度约束与动力学约束之所以难,往往不是算法本身复杂,而是数学工具没有选对、没有用透。本节把后续章节反复用到的五类数学工具集中梳理一遍,并说明它们在轨迹规划中各自承担什么角色。

核心认知:向量与矩阵负责“描述几何与变换”,微积分负责“描述变化率与平滑性”,微分方程负责“描述动力学演化”,线性代数负责“求解与分解”,概率统计负责“处理不确定性与噪声”。五者不是并列的知识点,而是一条从建模到求解再到评估的完整链条。

一、核心原理:五类工具在轨迹规划中的分工

轨迹规划中,一条轨迹通常写成关于时间 t 的函数 q(t),其一阶导 q̇(t) 是速度,二阶导 q̈(t) 是加速度,三阶导 q⃛(t) 是加加速度(jerk)。速度约束限制 q̇,动力学约束限制 q̈ 与力矩/推力,平滑性约束则常落在 q⃛ 上。理解这条“导数链”,就理解了为什么微积分是轨迹规划的母语。

向量与矩阵把多自由度系统统一表达:位姿是向量,坐标系变换是矩阵,雅可比矩阵把关节速度映射为末端速度。线性代数则进一步提供求解手段:最小二乘解超定约束,特征值分解判断二次型正定性,QR/SVD 处理病态与奇异。微分方程描述系统在约束下的演化,概率统计则回答“在噪声与扰动下,这条轨迹有多可靠”。

轨迹规划数学工具链:从建模到求解再到评估 物理问题 位姿与几何 速度上限 加速度/力矩 平滑性要求 避障约束 噪声与扰动 实时性要求 数学工具层 向量与矩阵 位姿·变换·雅可比 微积分 导数·积分·平滑 微分方程 动力学演化 线性代数 求解·分解·秩 概率统计 噪声·置信·评估 轨迹规划输出 q(t) 位置曲线 · q̇(t) 速度曲线 · q̈(t) 加速度曲线 约束满足性 · 平滑性指标 · 鲁棒性评估 工程判据 速度不超限 加速度可行 jerk 有界 无碰撞 求解实时 方差可控 数值稳定

二、方法流程:从约束到可执行轨迹的数学步骤

把数学工具落到工程上,通常遵循以下流程。每一步都对应一类数学操作,缺一不可。

  1. 建模:用向量表示位姿 q ∈ Rⁿ,用矩阵表示坐标系变换 T ∈ SE(3),写出运动学关系 x = f(q)。
  2. 求导:对时间求导得到速度与加速度关系 ẋ = J(q)q̇,其中 J 为雅可比矩阵。
  3. 约束表达:把速度上限、力矩上限写成不等式 |q̇| ≤ q̇_max、|τ| ≤ τ_max。
  4. 离散化:将连续轨迹在时间网格上采样,转化为有限维优化问题。
  5. 求解:用线性代数方法(最小二乘、QR、SVD)或二次规划求解。
  6. 评估:用概率统计方法分析噪声传播与轨迹鲁棒性。
# 以五次多项式轨迹为例,展示导数链与约束检查
q(t)   = a0 + a1*t + a2*t^2 + a3*t^3 + a4*t^4 + a5*t^5
q̇(t)  = a1 + 2*a2*t + 3*a3*t^2 + 4*a4*t^3 + 5*a5*t^4
q̈(t)  = 2*a2 + 6*a3*t + 12*a4*t^2 + 20*a5*t^3
q⃛(t)  = 6*a3 + 24*a4*t + 60*a5*t^2

# 约束检查
assert max(|q̇(t)|) <= v_max
assert max(|q̈(t)|) <= a_max
assert max(|q⃛(t)|) <= j_max

三、案例/场景:五类工具在真实任务中的协同

假设一台六轴机械臂需要从点 A 运动到点 B,同时末端速度不超过 0.5 m/s,关节力矩不超过额定值,且路径要避开一个圆柱形障碍物。这个任务中,五类工具是这样协同的:

  • 向量与矩阵:用齐次变换矩阵描述末端位姿,用雅可比矩阵把末端速度约束映射为关节速度约束。
  • 微积分:用五次多项式或 B 样条构造平滑轨迹,保证速度、加速度连续,jerk 有界。
  • 微分方程:用机械臂动力学方程 M(q)q̈ + C(q,q̇)q̇ + G(q) = τ 计算所需力矩,判断是否超限。
  • 线性代数:把多约束优化写成二次规划,用 QR 分解或内点法求解。
  • 概率统计:考虑关节编码器噪声与负载扰动,用协方差传播评估末端定位误差。
工程提示:很多轨迹规划失败,不是算法选错,而是雅可比矩阵在奇异位形附近条件数过大,导致速度映射失真。此时应优先检查 cond(J) 或最小奇异值,而不是盲目调参。

四、误区/复盘:常见数学使用错误

在工程实践中,以下误区出现频率最高,值得逐条对照排查。

误区 表现 数学根因 修正方法
只约束位置不约束速度 轨迹经过障碍物时速度突变 忽略一阶导数约束 显式加入 |q̇| ≤ v_max
用欧拉角直接插值 姿态出现万向节死锁 旋转矩阵非欧氏空间 改用四元数或旋转矩阵插值
忽略雅可比奇异 末端速度指令无法实现 矩阵秩亏,条件数爆炸 用 SVD 截断或阻尼最小二乘
把噪声当确定性处理 实际轨迹偏离规划值 未做协方差传播 引入概率统计评估置信区间
离散化步长过大 约束在采样点之间被违反 连续约束未充分离散 加密网格或使用连续时间约束
特别注意:微分方程描述的是连续时间演化,而计算机求解必须离散化。离散化步长与数值积分方法(欧拉、RK4)会直接影响轨迹精度与稳定性。步长过大时,即使数学推导正确,仿真与实机也会出现明显偏差。