第1章 轨迹输出指标概述

各位工程师朋友,大家好。我是老周,在自动驾驶与机器人规划领域摸爬滚打了快十年。今天咱们开始聊《轨迹输出指标解读指南》这门课。第一堂课,我不会上来就扔公式,而是先带大家理清楚:我们到底在聊什么?为什么要聊?这些东西跟你的日常工作怎么挂钩?

你想想看,我们做轨迹规划,辛辛苦苦算出一条路径,往控制器里一扔,结果车却跑得歪歪扭扭,或者机器人抖得像帕金森。这时候你拿什么来评判这条轨迹好不好?凭感觉吗?当然不行。我们需要一套统一的、可量化的尺子,这就是 轨迹输出指标。说白了,它们就是用来回答「这条轨迹到底行不行」的那些数字。

我个人习惯,在接手任何一个新项目时,第一件事不是调算法参数,而是先把评估指标定义清楚。指标定歪了,后面的工作全是白费。我曾经在一个项目中,团队只顾着优化跟踪误差,结果轨迹确实准了,但舒适度一塌糊涂,乘客投诉说「像坐过山车」。你看,指标选错了,方向就错了。

1.1 课程目标:学完你能带走什么?

这门课不讲虚的。学完之后,我希望你具备三种能力:

  • 看得懂 —— 面对一堆轨迹输出日志,能准确理解每个指标的含义,知道它反映了轨迹的哪个侧面。
  • 判得准 —— 能根据指标数值判断一条轨迹的优劣,找出问题出在平滑度上、连续性上,还是可行域约束上。
  • 用得上 —— 能把指标分析嵌入到你的开发调试流程中,用它来指导参数调优、算法选型甚至硬件选型。

我记得刚带新人时,有个小伙子盯着一条轨迹的曲率图看了半天,问我:「这个峰值到底算不算大?」我告诉他,光看绝对值没用,得结合车辆的最小转弯半径和当前车速来综合判断。这就是「判得准」——指标不是孤立的数字,它们是相互关联的。

一句话总结课程目标:把轨迹输出指标从「黑盒数字」变成你手里的调试工具。

1.2 适用对象:这门课为谁而写?

说实话,这门课的门槛并不高。只要你是跟轨迹打交道的工程师,基本都能从中找到有用的东西。按照我的经验,来听课的主要是这三类人:

角色 日常工作场景 能从本课获得什么
规划算法工程师 每天写轨迹生成器,调优化器参数 科学的指标反哺算法迭代,告别「调参靠猜」
系统集成与测试工程师 跑仿真、路测,分析失败案例 快速定位问题根因,区分是规划问题还是控制问题
项目/技术管理者 制定技术方案,验收交付成果 建立团队统一的评价标准,减少扯皮

嗯,这里要注意。如果你是刚入行的新人,也别怕。虽然部分章节会涉及一些数学公式,但我会尽量用项目里遇到的真实场景来解释,保证你能跟得上。

一个小建议:学习过程中,最好打开你自己项目里的一段轨迹数据,边学边对着看。效果会比只看教材好很多。

1.3 核心概念与术语:先把话说清楚

在深入每个指标之前,我们得先把几个最基础的概念对齐。这些术语会在后续的课程里反复出现,现在花几分钟搞清楚,后面会顺畅得多。

为什么会这么看重术语统一?我遇到过不止一次,团队里两个人争论一个轨迹问题,争了半天发现大家对「平滑度」的定义根本不是一回事。所以,咱们先把词典定好。

1.3.1 什么是「轨迹」?

轨迹,就是物体在时空中的运动路径。它包含两层信息:

  • 空间路径 —— 从A点走到B点,经过哪些位置。
  • 时间信息 —— 什么时刻到达哪个位置,速度、加速度怎么变化。

一条完整的轨迹,通常用一系列带时间戳的状态点来表示。比如:

t=0.0s,  x=0.0,  y=0.0,  v=0.0,  a=0.0
t=0.1s,  x=0.05, y=0.01, v=1.0,  a=0.5
t=0.2s,  x=0.12, y=0.04, v=1.8,  a=0.4
...

每一行就是一个轨迹点。我们后面要聊的所有指标,都是从这一串数字里算出来的。

1.3.2 什么是「输出指标」?

指标,就是对轨迹某方面特性的量化描述。你可以把它理解成给轨迹做「体检」——测体温、量血压、查心率,每一项指标反映一个维度的健康状况。

在轨迹领域,常用的输出指标主要分成三大类:

  • 平滑性指标 —— 轨迹拐得急不急?抖不抖?
  • 可行性指标 —— 轨迹上的速度、加速度、曲率是否在物理极限内?
  • 精度指标 —— 实际走出来的轨迹跟规划的偏差有多大?

这三类指标互相制约。你想想看,如果把精度压得太狠,轨迹可能会变得很生硬,平滑性就差了;反过来,一味追求平滑,又可能牺牲跟踪精度。好的轨迹规划,本质就是在这些指标之间找到平衡。

1.3.3 关键术语速查表

下面这几个术语,是整门课的「通用语言」。我建议你收藏这张表,后面用到的时候回来翻一翻。

术语 英文 一句话定义 我的备注
平滑度 Smoothness 轨迹在几何和运动上的顺滑程度 常用Jerk(加加速度)来量化
连续性 Continuity 轨迹在各阶导数上的连续阶次 C0:位置连续;C1:速度连续;C2:加速度连续……
曲率 Curvature 路径弯曲的剧烈程度 曲率过大意味着急转弯
加加速度 Jerk 加速度的变化率 Jerk越大,体感越颠簸
跟踪误差 Tracking Error 实际轨迹与参考轨迹的偏差 包含横向、纵向和航向角误差
可行域 Feasible Region 满足所有物理约束的轨迹空间 超出可行域的轨迹不可执行

避坑指南:我曾经在写技术报告时,把「平滑度」和「连续性」混着用,结果被评审专家逮住一顿批。这两个概念确实相关,但不是一个东西。连续性描述的是「有没有断点」,平滑度描述的是「拐得顺不顺」。记住这个区别,后面会省掉很多麻烦。

1.4 知识体系总览:一张图看清全局

好了,概念都说完了,我用一张图把第1章的脉络串起来。这张图也是整门课的核心框架。后面每个章节都会对应到图上的某个分支。

轨迹输出指标知识体系框架 轨迹输出指标知识体系总览 轨迹输出指标 基础概念层 核心指标维度 应用场景层 轨迹 输出 指标定义 平滑性 可行性 精度 连续性 曲率 跟踪误差 规划评估 系统调试 性能优化 课程组织逻辑 第2-5章:基础概念 → 第6-18章:核心指标逐个详解 → 第19-28章:多指标综合与场景应用 每章均包含「指标定义 → 计算方法 → 案例分析 → 避坑指南」四个模块

从上图可以看到,整门课分三条线展开。左边是基础概念,帮你打好底;中间是核心指标维度,这是我们花最多篇幅的地方;右边是应用场景,告诉你这些指标到底用在哪儿。我建议你每次学完一个章节,回到这张图上看看自己处在哪个位置,这样不容易迷路。

1.5 几个开课前的心里话

写这门课之前,我翻了很多教材和论文,发现一个普遍问题:它们都把指标讲得太「干净」了。好像每条轨迹都是完美的、噪声是可控的、约束是标准的。但你在项目里遇到的情况呢?传感器有延迟、执行器有死区、地面有颠簸……真实世界的轨迹永远是脏的。

所以这门课里,我会刻意把那些「脏」的东西拿出来讲。比如:实际轨迹里曲率为什么会毛刺?Jerk指标明明很小为什么体感还是很晃?这些课本上很少提,但恰恰是你在调试台上最头疼的问题。

实用建议:准备一个笔记本(电子版也行),把你在项目中遇到的「指标异常」案例记下来。学到后面相关章节时拿出来对照,理解会深很多。这也是我个人一直保持的习惯。