1. 轨迹规划概述:从“怎么走”到“怎么走得好”

大家好,欢迎来到《轨迹规划算法原理解析》的第一章。

我是你们这门课的老朋友。在机器人这行摸爬滚打了十几年,我见过太多项目在“动起来”这一步就卡住了。说白了,轨迹规划就是解决一个核心问题:机器人怎么从A点优雅地走到B点。

你可能会说:“这还不简单?直接走过去不就行了?”嗯,要是真这么简单,我们这些工程师早就失业了。实际场景里,你得考虑关节会不会撞到自己、末端执行器能不能避开障碍物、运动够不够平滑、时间能不能再短一点……这些,都是轨迹规划要干的事。

一句话总结:轨迹规划 = 在满足运动学和动力学约束的前提下,生成一条从起点到终点的、时间参数化的位置、速度、加速度曲线。

1.1 什么是轨迹规划?

先拆开看。“轨迹”和“路径”在咱们这行是有区别的。

  • 路径(Path):只描述空间中的几何形状,不关心时间。比如“从门口到桌子前画一条直线”。
  • 轨迹(Trajectory):路径 + 时间信息。比如“从门口到桌子前,用2秒走完,中间速度先快后慢”。

所以,轨迹规划就是给路径加上“时间轴”。它输出的不是一串点,而是一组函数:q(t)、q̇(t)、q̈(t),分别代表位置、速度、加速度随时间的变化。

我记得刚入行时带我的老工程师说过一句话,我一直记到现在:“路径决定你去哪,轨迹决定你怎么去。” 这句话虽然简单,但每次做项目遇到抖动或者冲击时,我都会回头想想——是不是轨迹没规划好?

一个小技巧:在调试阶段,我习惯先把轨迹的速度和加速度设得很保守(比如最大速度的20%),等路径验证没问题了,再慢慢往上提。这样能避免机器人“飞出去”砸坏东西。

1.2 轨迹规划在机器人系统中的地位

如果把机器人系统比作一个人,那各个模块的分工大概是这样的:

模块 类比 职责
感知 眼睛 看世界,识别物体和障碍
决策/规划 大脑 想清楚去哪、怎么走
轨迹规划 小脑 + 运动神经 把“想法”变成具体的“动作指令”
控制 肌肉 执行指令,克服干扰
执行器 手脚 产生实际的力/运动

你看,轨迹规划正好卡在“决策”和“控制”中间。它是个承上启下的关键环节。决策层说“去抓那个杯子”,轨迹规划就得算出来:每个关节在什么时间转到什么角度、转多快。控制层才能照着这个去驱动电机。

我在项目里遇到过好几次这样的情况:上层路径规划得很好,避障也完美,但到了轨迹规划这步,因为没考虑电机最大加速度限制,结果一启动就触发驱动器过流报警。嗯,这就是典型的“大脑想得很好,小脑没跟上”。

避坑指南:我曾经在一个焊接机器人项目里,直接用了路径规划输出的折线作为轨迹输入。结果每个拐角处速度突变,焊枪抖动得厉害,焊缝质量完全不合格。后来老老实实加了圆弧过渡和速度平滑,才解决问题。所以记住:路径规划的输出,不能直接喂给控制器,中间必须经过轨迹规划这层处理。

1.3 轨迹规划的分类:关节空间 vs 笛卡尔空间

这是轨迹规划里最基础、也最重要的一个分类。说白了,就是你在哪个坐标系里描述运动。

1.3.1 关节空间轨迹规划

直接在关节角度(或位置)空间里规划。比如六轴机器人,就是规划 θ₁(t), θ₂(t), ..., θ₆(t) 这六个函数。

优点:

  • 计算简单,不需要做逆运动学(IK)
  • 天然避免关节奇异位形
  • 容易满足关节自身的物理限制(速度、加速度极限)

缺点:

  • 末端执行器的运动路径不可控——你只知道起点和终点的位姿,中间怎么走的,完全取决于机器人构型
  • 可能走出一条在笛卡尔空间里很奇怪的曲线

我个人习惯在以下场景优先使用关节空间规划:

  • 点到点运动(比如从A点抓取到B点放置,中间不关心路径形状)
  • 对末端路径没有严格要求的场合
  • 需要快速计算、实时性要求高的场景

1.3.2 笛卡尔空间轨迹规划

在末端执行器的位姿空间里规划。规划的是 x(t), y(t), z(t), roll(t), pitch(t), yaw(t) 或者齐次变换矩阵 T(t)。

优点:

  • 末端路径直观可控——你可以指定走直线、圆弧、或者任意曲线
  • 便于避障和工艺要求(比如焊接必须走直线)

缺点:

  • 每个轨迹点都需要做逆运动学求解,计算量大
  • 可能遇到奇异点——在奇异位形附近,关节速度会突变甚至趋于无穷
  • 关节空间的约束(如关节限位)需要额外检查

你想想看,如果让机器人用毛笔写字,你肯定得用笛卡尔空间规划——因为你要精确控制笔尖的轨迹。但如果只是让机器人把零件从传送带搬到料箱里,关节空间规划就够用了,还省事。

1.3.3 对比总结

对比维度 关节空间规划 笛卡尔空间规划
规划对象 关节角度/位置 末端位姿
是否需要逆运动学 不需要(只在起点终点算一次) 每个插补点都需要
计算复杂度 低 高
末端路径可控性 不可控 完全可控
奇异点问题 不易遇到 容易遇到,需特殊处理
典型应用 搬运、码垛、简单装配 焊接、涂胶、打磨、写字

1.4 本章知识体系总览

下面这张图,是我自己梳理的本章知识结构。你可以把它当作一个“地图”,后面每学一个新概念,都能在这张图上找到它的位置。

轨迹规划知识体系总览 轨迹规划知识体系总览 轨迹规划 关节空间规划 笛卡尔空间规划 梯形速度规划 S形速度规划 直线插补 圆弧插补 核心区别 关节空间:控制关节角度,末端路径不可控 核心区别 笛卡尔空间:控制末端位姿,需反复求解逆运动学

这张图把本章的核心脉络都串起来了。你可以看到,轨迹规划往下分,就是关节空间和笛卡尔空间两大流派。每个流派又有自己经典的规划方法。后面的章节,我们会一个一个地深入拆解。

好了,第一章就到这里。内容不多,但都是基础中的基础。搞清楚了“在哪个空间规划”,后面学具体算法时就不会迷路。