引言:当数学遇见自动驾驶
想象你正在驾驶一辆汽车行驶在蜿蜒的山路上。前方是一个急转弯,你需要减速、打方向、保持车道——这一系列看似简单的动作,实际上涉及复杂的几何判断:道路的曲率如何?转弯半径是多少?轮胎与地面的摩擦力能否提供足够的向心力?
现在,把驾驶员换成自动驾驶系统。它没有了人类的直觉和经验,必须依靠数学模型来理解这个世界。微分几何——这门研究曲线、曲面和弯曲空间的数学分支,正是自动驾驶系统的"眼睛"和"大脑"背后的理论基础。
从古希腊欧几里得研究直线和平面,到高斯发现曲面可以"内蕴地"研究,再到黎曼建立起 $n$ 维弯曲空间的一般理论,微分几何经历了两千多年的发展。而今天,这门古老的数学正以全新的方式赋能现代科技:它帮助自动驾驶汽车理解道路的几何结构,规划平滑的行驶轨迹,感知周围环境的三维形态。
本文将带你走进微分几何与自动驾驶的交汇点,看看抽象的数学概念如何在现实世界中大放异彩。
第一章:微分几何的核心概念回顾
1.1 曲线:道路的一维模型
一条道路可以抽象为三维空间中的一条参数曲线:
$$ \mathbf{r}(t) = (x(t), y(t), z(t)) $$
其中 $t$ 是参数,可以是时间,也可以是弧长。对于自动驾驶而言,我们最关心的是曲线的两个几何量:切向量和曲率。
切向量告诉我们道路在每一点的"方向":
$$ \mathbf{T}(t) = \frac{d\mathbf{r}/dt}{\lVert d\mathbf{r}/dt \rVert} $$
汽车的前进方向应该与切向量对齐,这是最基本的控制要求。
曲率则告诉我们道路弯曲的程度。对于以弧长 $s$ 参数化的曲线,曲率定义为:
$$ \kappa(s) = \left\lVert \frac{d\mathbf{T}}{ds} \right\rVert = \left\lVert \frac{d^2\mathbf{r}}{ds^2} \right\rVert $$
曲率的倒数 $\rho = 1/\kappa$ 称为曲率半径。当汽车以速度 $v$ 通过曲率为 $\kappa$ 的路段时,所需的向心加速度为 $a = v^2 \kappa$。这就是为什么急转弯需要减速——曲率越大,所需的向心力越大。
1.2 曲面:路面的二维模型
实际的道路不是一个简单的曲线,而是一个曲面。我们可以用参数方程描述:
$$ \mathbf{r}(u, v) = (x(u, v), y(u, v), z(u, v)) $$
曲面的局部几何由第一基本形式(度量张量)决定:
$$ I = E , du^2 + 2F , du , dv + G , dv^2 $$
其中:
- $E = \mathbf{r}_u \cdot \mathbf{r}_u$
- $F = \mathbf{r}_u \cdot \mathbf{r}_v$
- $G = \mathbf{r}_v \cdot \mathbf{r}_v$
第一基本形式告诉我们如何在曲面上测量距离和角度。对于自动驾驶,这意味着:即使道路在三维空间中起伏不平,我们仍然可以准确地计算"沿着道路走了多远"。
曲面的弯曲程度由第二基本形式刻画:
$$ II = L , du^2 + 2M , du , dv + N , dv^2 $$
结合第一和第二基本形式,我们得到高斯曲率:
$$ K = \frac{LN - M^2}{EG - F^2} $$
高斯曲率是曲面的"内蕴"性质——生活在曲面上的生物(比如蚂蚁)可以通过测量距离和角度来确定它,而无需跳到三维空间中观察。
1.3 测地线:最短的行驶路径
在平直的欧几里得空间中,两点之间最短的路径是直线。但在弯曲的曲面上,“直线"的概念被推广为测地线。
测地线满足测地线方程:
$$ \frac{d^2 u^k}{dt^2} + \Gamma^k_{ij} \frac{du^i}{dt} \frac{du^j}{dt} = 0 $$
其中 $\Gamma^k_{ij}$ 是克里斯托费尔符号(Christoffel symbols),由度量张量的导数计算得到:
$$ \Gamma^k_{ij} = \frac{1}{2} g^{kl} \left( \frac{\partial g_{jl}}{\partial u^i} + \frac{\partial g_{il}}{\partial u^j} - \frac{\partial g_{ij}}{\partial u^l} \right) $$
对于自动驾驶,测地线的概念非常重要:如果我们希望在保持车道的前提下找到最短路径,或者在能耗最小的前提下到达目标点,本质上都是在寻找某种意义上的测地线。
第二章:路径规划中的微分几何
2.1 道路曲率与速度规划
自动驾驶系统的路径规划模块需要根据道路几何特征来决定行驶速度。核心的物理原理是:向心力由轮胎与地面的摩擦力提供,而摩擦力有上限。
向心力公式为:
$$ F_c = m \cdot \frac{v^2}{\rho} = m \cdot v^2 \cdot \kappa $$
其中 $m$ 是车辆质量,$v$ 是速度,$\rho$ 是曲率半径,$\kappa$ 是曲率。最大可用摩擦力为:
$$ F_{\max} = \mu \cdot m \cdot g $$
其中 $\mu$ 是摩擦系数,$g$ 是重力加速度。安全行驶要求:
$$ m \cdot v^2 \cdot \kappa \leq \mu \cdot m \cdot g $$
化简得到最大安全速度:
$$ v_{\max} = \sqrt{\frac{\mu \cdot g}{\kappa}} $$
这个公式揭示了一个重要事实:最大安全速度与曲率的平方根成反比。曲率加倍,最大速度需要降至原来的 $1/\sqrt{2} \approx 0.707$ 倍。

图 1:道路曲率与最大安全速度的关系。不同摩擦系数(路面状况)对应不同的速度限制曲线。曲率越大(弯道越急),允许的最大速度越低。
2.2 Dubins 曲线与 Reeds-Shepp 曲线
对于车辆路径规划,一个经典问题是:给定起点和终点的位置与朝向,找到最短的可行路径。这里的"可行"意味着满足车辆的运动学约束——汽车不能原地旋转,只能前进或后退,且有最小转弯半径限制。
Dubins 曲线解决了只能前进的情况。Dubins 在 1957 年证明了最短路径由三段组成,每段要么是圆弧(转弯),要么是直线。具体来说,最短路径必然是以下六种形式之一:
- LSL:左转-直行-左转
- LSR:左转-直行-右转
- RSL:右转-直行-左转
- RSR:右转-直行-右转
- LRL:左转-右转-左转
- RLR:右转-左转-右转
其中 L 表示左转(逆时针圆弧),R 表示右转(顺时针圆弧),S 表示直行。
Reeds-Shepp 曲线扩展了 Dubins 的结果,允许车辆倒车。这时最短路径可能包含最多五段,形式更加复杂,但仍然是圆弧和直线的组合。
这些曲线在自动驾驶的泊车场景中特别有用。当车辆需要在狭窄的空间内调整位置时,规划算法会搜索 Reeds-Shepp 路径空间,找到可行的最短轨迹。

图 2:Dubins 路径示例(LSL 类型)。从起点到终点,路径由左转圆弧、直线段和右转圆弧组成,满足车辆的运动学约束。
2.3 贝塞尔曲线与样条插值
虽然 Dubins 曲线给出了理论上的最短路径,但实际驾驶中我们需要更平滑的轨迹。贝塞尔曲线和B 样条提供了灵活的曲线表示方法。
$n$ 次贝塞尔曲线定义为:
$$ \mathbf{B}(t) = \sum_{i=0}^{n} \binom{n}{i} (1-t)^{n-i} t^i \mathbf{P}_i, \quad t \in [0, 1] $$
其中 $\mathbf{P}_i$ 是控制点。贝塞尔曲线的优点是:曲线始终位于控制点的凸包内,且端点处的切线方向与控制多边形的边一致。
对于自动驾驶,三次贝塞尔曲线($n=3$)特别常用,因为它提供了足够的自由度来调整曲线的位置和切向,同时计算量可控。
更一般地,B 样条(Basis Spline)允许用多个控制点定义分段多项式曲线,并保证段与段之间的连续性。$k$ 次 B 样条曲线具有 $C^{k-1}$ 连续性,即位置、速度、加速度等直到 $k-1$ 阶导数都是连续的。
在轨迹规划中,B 样条常用于:
- 拟合离散的参考路径点
- 生成平滑的速度曲线
- 优化避障轨迹(在障碍物之间"滑过”)

图 3:三次贝塞尔曲线用于轨迹规划。控制点 $P_0$ 到 $P_3$ 定义了曲线的形状,端点处的切线方向由控制多边形的边决定,保证轨迹的平滑性。
第三章:感知与定位的几何方法
3.1 点云配准:ICP 算法的几何本质
激光雷达(LiDAR)是自动驾驶的关键传感器,它输出的是三维点云——空间中大量离散点的集合。点云配准的任务是:给定两个点云,找到它们之间的刚体变换(旋转和平移),使得它们对齐。
ICP 算法(Iterative Closest Point,迭代最近点)是最经典的点云配准方法。其核心思想是迭代执行以下两步:
- 对应点匹配:对于源点云中的每个点,在目标点云中找到最近的点
- 变换估计:基于这些对应点,计算最优的刚体变换
从微分几何的角度看,ICP 算法在特殊欧几里得群 $SE(3)$ 上进行优化。$SE(3)$ 是三维空间中所有刚体变换的集合,可以表示为:
$$ SE(3) = \{ (\mathbf{R}, \mathbf{t}) \mid \mathbf{R} \in SO(3), \mathbf{t} \in \mathbb{R}^3 \} $$
其中 $SO(3)$ 是三维旋转群(特殊正交群),满足 $\mathbf{R}^T \mathbf{R} = \mathbf{I}$ 且 $\det(\mathbf{R}) = 1$。
矩阵形式的表示:$\begin{pmatrix} \mathbf{R} & \mathbf{t} \ \mathbf{0} & 1 \end{pmatrix}$
ICP 算法的优化目标是最小化点云之间的距离:
$$ \min_{\mathbf{R}, \mathbf{t}} \sum_{i=1}^{N} \left\lVert \mathbf{R} \mathbf{p}_i + \mathbf{t} - \mathbf{q}_i \right\rVert^2 $$
其中 $\mathbf{p}_i$ 是源点云中的点,$\mathbf{q}_i$ 是对应的目标点云中的点。
旋转矩阵的优化需要特别注意:旋转矩阵构成一个流形(manifold),而非普通的向量空间。直接在矩阵空间中进行梯度下降会破坏旋转矩阵的约束(正交性和行列式为1)。正确的做法是使用流形优化技术,如:
- 在切空间中进行优化,然后通过指数映射回到流形
- 使用四元数或旋转向数参数化旋转
- 使用李群-李代数方法

图 4:点云配准示意图。左图显示配准前的两个点云(目标和源),右图显示经过 ICP 算法配准后的结果,源点云被变换到与目标点云对齐。
3.2 视觉 SLAM:几何约束下的状态估计
SLAM(Simultaneous Localization and Mapping,同步定位与建图)是自动驾驶的核心技术之一。视觉 SLAM 利用相机图像来估计相机运动(定位)并构建环境地图(建图)。
从几何角度看,SLAM 的本质是从多视图几何中恢复三维结构。当相机在不同位置拍摄同一场景时,图像中的特征点之间存在几何约束。
对极几何(Epipolar Geometry)描述了两个视图之间的几何关系。给定两个相机位置拍摄的图像,对于第一幅图像中的一个点 $\mathbf{x}$,它在第二幅图像中的对应点 $\mathbf{x}’$ 必然位于一条特定的直线上——这条直线称为极线(epipolar line)。这个约束可以用本质矩阵 $\mathbf{E}$ 或基础矩阵 $\mathbf{F}$ 表示:
$$ \mathbf{x}’^T \mathbf{E} \mathbf{x} = 0 $$
本质矩阵 $\mathbf{E}$ 编码了两个相机之间的相对位姿(旋转和平移)。一旦估计出 $\mathbf{E}$,就可以分解得到相机运动。
捆集调整(Bundle Adjustment)是 SLAM 中优化相机位姿和三维点位置的核心算法。它最小化重投影误差:
$$ \min_{\mathbf{R}_i, \mathbf{t}_j, \mathbf{X}k} \sum{i,j,k} \left\lVert \pi(\mathbf{R}_i \mathbf{X}_k + \mathbf{t}j) - \mathbf{x}{ijk} \right\rVert^2 $$
其中 $\pi$ 是相机投影函数,$\mathbf{X}k$ 是三维点,$\mathbf{x}{ijk}$ 是在第 $i$ 个相机位姿下第 $k$ 个点的观测。
捆集调整是一个大规模的非线性最小二乘问题,通常使用列文伯格-马夸特(Levenberg-Marquardt)算法求解。从微分几何的角度看,这是在测量空间中寻找最优的相机位姿和三维点配置,使得重投影误差最小。
3.3 曲率流与点云去噪
点云数据往往包含噪声,需要进行平滑处理。曲率流(Curvature Flow)是一种基于几何的平滑方法。
曲率流的基本思想是:让曲面沿着其法向量的方向,以曲率为速度演化。数学上,曲面的演化方程为:
$$ \frac{\partial \mathbf{r}}{\partial t} = \kappa \mathbf{n} $$
其中 $\mathbf{r}$ 是曲面上的点,$\kappa$ 是平均曲率,$\mathbf{n}$ 是单位法向量,$t$ 是演化时间。
这种演化有一个重要的性质:它倾向于减小曲面的面积,同时磨平尖锐的凸起和凹陷。对于点云去噪,我们可以将离散点视为曲面上的采样点,应用曲率流的离散版本来平滑数据。
另一种相关的技术是均值曲率流(Mean Curvature Flow),它在几何处理中广泛用于曲面平滑、孔洞填充等任务。
第四章:决策与控制的几何视角
4.1 配置空间与运动规划
在机器人学和自动驾驶中,配置空间(Configuration Space)是一个核心概念。配置空间是所有可能的机器人状态的集合。
对于一辆汽车,其配置通常由以下参数描述:
- $(x, y)$:在地面平面上的位置
- $\theta$:航向角(车头方向)
- $\phi$:方向盘转角
因此,配置空间是一个 4 维空间(忽略 $z$ 坐标)。但这个空间不是简单的欧几里得空间 $\mathbb{R}^4$,因为航向角 $\theta$ 是周期性的($0$ 和 $2\pi$ 表示相同的方向),实际上构型空间包含一个圆 $S^1$。
更精确地说,汽车的配置空间是:
$$ \mathcal{C} = \mathbb{R}^2 \times S^1 \times [-\phi_{\max}, \phi_{\max}] $$
在配置空间中,障碍物映射为配置空间障碍物(C-obstacles)。如果一个位姿会导致车辆与物理障碍物碰撞,那么这个位姿就属于配置空间障碍物。
运动规划问题可以重新表述为:在配置空间中找到一条从初始位姿到目标位姿的路径,且路径完全位于自由空间(配置空间减去 C-obstacles)内。

图 5:配置空间与运动规划。绿色区域表示自由空间,红色区域表示配置空间障碍物(C-obstacles)。蓝色曲线是规划的可行路径,连接起点和终点同时避开障碍物。
4.2 李群与李代数在控制中的应用
车辆的运动可以看作是位姿在特殊欧几里得群 $SE(2)$(二维情形)或 $SE(3)$(三维情形)上的演化。这为控制理论提供了强大的数学工具。
李群是同时具有群结构和光滑流形结构的数学对象。$SE(3)$ 是一个李群,其群运算是刚体变换的复合,流形结构使得我们可以在上面进行微积分运算。
每个李群都有一个关联的李代数,记作 $\mathfrak{se}(3)$。李代数是李群在单位元处的切空间,可以看作是无穷小变换的集合。对于 $SE(3)$,其李代数 $\mathfrak{se}(3)$ 的元素可以表示为:
$$ \hat{\xi} = \begin{pmatrix} \hat{\omega} & \mathbf{v} \ \mathbf{0}^T & 0 \end{pmatrix} $$
其中 $\hat{\omega}$ 是角速度的斜对称矩阵,$\mathbf{v}$ 是线速度。
李群和李代数之间的联系通过指数映射和对数映射建立:
$$ \exp: \mathfrak{se}(3) \to SE(3) $$
$$ \log: SE(3) \to \mathfrak{se}(3) $$
在自动驾驶控制中,这些数学工具的应用包括:
- 误差计算:计算当前位姿与目标位姿之间的"差"(在李代数中进行)
- 轨迹插值:在李代数空间中进行线性插值,然后映射回李群
- 卡尔曼滤波:在李群上定义状态空间,使用几何方法进行状态估计
4.3 最优控制与变分法
自动驾驶的控制问题可以表述为最优控制问题:在满足车辆动力学约束的前提下,找到控制输入(油门、刹车、方向盘)使得某个性能指标最优。
数学上,最优控制问题可以表述为:
$$ \min_{\mathbf{u}(t)} J = \int_{0}^{T} L(\mathbf{x}(t), \mathbf{u}(t), t) , dt + \Phi(\mathbf{x}(T)) $$
约束条件为:
$$ \dot{\mathbf{x}}(t) = f(\mathbf{x}(t), \mathbf{u}(t), t) $$
其中 $\mathbf{x}$ 是状态向量(位置、速度、朝向等),$\mathbf{u}$ 是控制向量,$L$ 是运行成本函数,$\Phi$ 是终端成本函数。
解决最优控制问题的经典方法是庞特里亚金最大值原理(Pontryagin’s Maximum Principle),它给出了最优解的必要条件。从变分法的角度看,最优控制问题等价于在函数空间中寻找极值曲线——这正是微分几何中测地线概念的推广。
模型预测控制(MPC, Model Predictive Control)是自动驾驶中广泛使用的控制策略。MPC 在每个时间步求解一个有限时域的最优控制问题,然后只执行第一个控制输入,再重新求解。这种"滚动时域"的方法能够处理约束和不确定性,是微分几何与最优控制理论在工程中的成功结合。
第五章:从理论到实践
5.1 自动驾驶系统中的几何模块
在一个完整的自动驾驶系统中,微分几何的概念分布在各个模块:
感知模块:
- 点云配准(ICP、NDT)在 $SE(3)$ 上进行优化
- 目标检测后的位姿估计
- 多传感器融合(激光雷达、相机、毫米波雷达)的几何对齐
定位模块:
- GPS/IMU 融合的卡尔曼滤波在流形上定义
- 高精地图匹配的点云配准
- SLAM 中的捆集调整优化
规划模块:
- 全局路径规划(A*、Dijkstra 在配置空间上)
- 局部轨迹优化(基于贝塞尔曲线或 B 样条)
- 避障轨迹生成(配置空间障碍物检测)
控制模块:
- 纯跟踪(Pure Pursuit)算法基于圆弧几何
- Stanley 控制器利用横向误差的几何定义
- MPC 优化控制输入
5.2 实际挑战与解决方案
尽管理论优美,将微分几何应用于自动驾驶仍面临诸多挑战:
计算复杂度:流形优化比欧几里得空间优化更复杂。解决方案包括:
- 使用近似方法(如将旋转矩阵松弛为正交约束)
- 采用高效的数值算法(如流形上的共轭梯度法)
- 利用问题的特殊结构(如稀疏性)
鲁棒性:实际环境充满不确定性。几何方法需要提供:
- 概率化的位姿估计(如 SE(3) 上的概率分布)
- 异常值鲁棒的配准算法(如 RANSAC 与 ICP 结合)
- 对传感器噪声的几何建模
实时性:自动驾驶要求毫秒级响应。优化策略包括:
- 预计算和查表
- 并行计算(GPU 加速)
- 模型简化(如降低 B 样条的阶数)
5.3 前沿研究方向
微分几何与自动驾驶的交叉仍在不断发展:
几何深度学习:将神经网络与几何结构结合
- 在 $SE(3)$ 上定义等变神经网络
- 点云处理的集合深度学习(如 PointNet、DGCNN)
- 图神经网络用于轨迹预测
不确定性量化:几何不确定性的传播
- SE(3) 上的概率分布(如高斯分布、Bingham 分布)
- 协方差传播的几何方法
- 安全关键决策的不确定性边界
多智能体几何:考虑多车交互的几何方法
- 配置空间中的多智能体规划
- 基于微分博弈的交互建模
- 几何方法在 V2X(车联网)中的应用
结语:数学之美,工程之力
微分几何,这门起源于对曲线和曲面研究的古老数学,正在自动驾驶技术中焕发新的生机。从高斯研究地球表面的内蕴几何,到黎曼建立起 $n$ 维弯曲空间的理论,再到今天它指导着自动驾驶汽车的每一个决策——数学的力量跨越了时空。
在自动驾驶系统中,微分几何不仅是理论工具,更是实践指南。它帮助我们:
- 理解道路的弯曲特性,规划安全的行驶速度
- 处理传感器数据,准确地感知周围环境
- 优化控制策略,实现平滑舒适的驾驶体验
更重要的是,微分几何提供了一种思维方式——从几何的视角看世界。在这个视角下,自动驾驶不再是简单的传感器融合和规则编程,而是在弯曲的配置空间中寻找最优路径,在几何约束下做出智能决策。
正如爱因斯坦借助黎曼几何描述引力,今天的工程师们借助微分几何赋予机器"理解"空间的能力。这或许就是数学的永恒魅力:抽象的概念终将在现实世界中找到应用,而每一次应用又反过来深化我们对数学的理解。
弯曲的道路上,微分几何正指引着自动驾驶的未来方向。
参考文献
- Choset, H., et al. (2005). Principles of Robot Motion: Theory, Algorithms, and Implementations. MIT Press.
- Dubins, L. E. (1957). “On Curves of Minimal Length with a Constraint on Average Curvature”. American Journal of Mathematics, 79(3), 497-516.
- Reeds, J. A., & Shepp, L. A. (1990). “Optimal Paths for a Car that Goes both Forwards and Backwards”. Pacific Journal of Mathematics, 145(2), 367-393.
- Besl, P. J., & McKay, N. D. (1992). “A Method for Registration of 3-D Shapes”. IEEE Transactions on Pattern Analysis and Machine Intelligence, 14(2), 239-256.
- Hartley, R., & Zisserman, A. (2004). Multiple View Geometry in Computer Vision (2nd ed.). Cambridge University Press.
- LaValle, S. M. (2006). Planning Algorithms. Cambridge University Press.
- Murray, R. M., Li, Z., & Sastry, S. S. (1994). A Mathematical Introduction to Robotic Manipulation. CRC Press.
- do Carmo, M. P. (1976). Differential Geometry of Curves and Surfaces. Prentice-Hall.
