数学之美——Reeds-Shepp 曲线与 Dubins 曲线

Reeds-Shepp 曲线与 Dubins 曲线是平面内连接指定位姿的两点之间、满足曲率约束的最短路径曲线,在路径规划(Path Planning)领域广泛应用。

特性 Dubins 曲线 Reeds-Shepp 曲线
提出年份 1957 年 1990 年
运动方向 仅允许前进(单向) 允许前进和后退(双向)
路径类型数 6 种 48 种(后简化为 46 种)
路径段数 最多 3 段 最多 5 段
最短路径 通常更长(运动受限) 通常更短(可后退优化)
典型应用 无人机、固定翼飞行器 自动泊车、仓储机器人
碰撞容错 存在无碰撞路径时不一定有 Dubins 无碰撞路径 存在无碰撞路径时一定存在 RS 无碰撞路径

关于 Reeds-Shepp 路径类型数量的说明:不同资料记载有48、46或44种。最新资料指出有44种运动类型组合,另有资料提到Reeds-Shepp基础曲线类型有五种。早期的48种中已有2种被证明冗余,剩余46种。作为基础记忆,48种是常见的原始表述。

1、车辆运动模型

两者的基础车辆模型基本一致,通常使用 简单汽车模型(Simple Car Model)

x˙=vcos⁡θy˙=vsin⁡θθ˙=vLtan⁡ϕ \dot{x} = v \cos \theta \\ \dot{y} = v \sin \theta \\ \dot{\theta} = \frac{v}{L} \tan \phi x˙=vcosθy˙=vsinθθ˙=Lvtanϕ

其中,(x,y)(x, y)(x,y) 为车辆位置,θ\thetaθ 为航向角,vvv 为速度,LLL 为轴距,ϕ\phiϕ 为前轮转向角。曲率 κ\kappaκ 受限于 κmax=1/ρmin\kappa_{\text{max}} = 1/\rho_{\text{min}}κmax=1/ρmin(即车辆存在一个最小转弯半径 ρ\rhoρ)。

Reeds-Shepp 的运动模型 增加了一个方向控制变量 u1∈{−1,1}u_1 \in \{-1, 1\}u1∈{−1,1},表示前进或后退:

x˙=u1cos⁡θy˙=u1sin⁡θθ˙=u1⋅u2(其中 u2∈[−tan⁡ϕmax,tan⁡ϕmax]) \dot{x} = u_1 \cos \theta \\ \dot{y} = u_1 \sin \theta \\ \dot{\theta} = u_1 \cdot u_2 \quad (\text{其中 } u_2 \in [-\tan \phi_{\text{max}}, \tan \phi_{\text{max}}]) x˙=u1cosθy˙=u1sinθθ˙=u1⋅u2(其中 u2∈[−tanϕmax,tanϕmax])

2 、路径描述与分类

2.1、运动基元(Motion Primitives)

两种曲线都由以下基本动作组成,其中 Reeds-Shepp 额外区分了前进与后退:

符号 含义 符号 含义
S (Straight) 直线运动
L (Left) 左转圆弧 R (Right) 右转圆弧
L⁺ 左转前进 L⁻ 左转后退
R⁺ 右转前进 R⁻ 右转后退
S⁺ 直线前进 S⁻ 直线后退

2.2、Dubins 路径类型

Dubins 证明了最短路径不会超过3个运动基元,并可分为两大族:

包含类型
CSC 族(圆弧-直线-圆弧) LSL, RSR, LSR, RSL
CCC 族(圆弧-圆弧-圆弧) LRL, RLR

2.3、Reeds-Shepp 路径类型

Reeds-Shepp 路径最多5段,基础形式更为复杂。其基础词主要包括:

基础词 路径形式
CSC 圆弧 + 直线 + 圆弧
CCC 圆弧 + 圆弧 + 圆弧
CCCC 四段圆弧组合
CCSC 圆弧 + 圆弧 + 直线 + 圆弧
CSCS 其他组合形式

通过在基础词中加入方向符号,共展开为 48 种具体组合 。这些组合分为 CCC、CSC 和 CCSCC 三大类。

3、理论基础

  • Dubins (1957年) :证明了最短路径必为 6 种类型 之一。
  • Reeds & Shepp (1990年) :证明了可后退汽车的 48 种路径词 包含所有最优解。
  • Sussman & Tang :后续将 RS 路径精炼为 46 种有效组合

两者均体现了庞特里亚金极大值原理,时间最优路径均由最大曲率弧段和直线段构成,呈现 bang-bang 控制 特性。

4、计算方法与算法

核心目标:计算连接起点 qIq_IqI 和终点 qGq_GqG 的最小路径长度。

4.1、求解流程

  1. 位姿归一化:计算相对位姿,简化问题。
  2. 候选路径生成:枚举所有可能的路径类型组合。
  3. 长度计算:为每种组合计算具体的弧长和线段长度。
  4. 最优选择:从所有可行路径中选出总长度最短的那一条。

4.2、分类简化

现代实现常利用对称性和分区方案来减少计算量,而非直接枚举所有组合。

对于 Reeds-Shepp 曲线,可利用对称性 将 48 种组合化简,例如只需推导 L⁺S⁺R⁺,其他 CSC 类型可通过对称变换得到,从而降低编码工作量。

5、几何结构与特性

  • 曲率约束 :所有弧段曲率 ≤κmax\leq \kappa_{\text{max}}≤κmax。
  • 长度计算:路径总长为各段弧长与直线段长度之和。
  • Dubins 闭集:6 种路径构成了一个有限闭集,保证最优路径一定在其中。
  • 对称性:利用对称变换(如时间翻转、反射变换、反向变换)可以极大地简化路径的生成和分析。
  • RS 的复杂性:Reeds-Shepp 状态空间的复杂分区使得实时选择最短路径词比 Dubins 更具挑战性。

6、应用场景

  • 自动驾驶/机器人 :RS 曲线广泛用于自动泊车,因为倒车是必要操作。
  • 无人机 (UAV) :Dubins 曲线常用于固定翼无人机,因为其不能悬停或倒飞。
  • 采样规划:作为局部规划器生成符合车辆动力学的平滑路径。
  • 矿区自动驾驶:基于 Dubins 曲线提出无碰撞、平滑的局部路径规划方法。
  • 农业与环境监测:用于非完整约束机器人在狭窄通道中的导航。

7、对比分析

  • 可达性:RS 可达集更大,可完成更紧凑的机动(如泊车)。Dubins 则无法到达某些需要倒车才能进入的区域。
  • 路径长度:RS 路径长度 ≤ Dubins 路径长度,实验验证允许倒车可显著缩短距离。
  • 计算成本:RS 曲线候选集更大(46 vs 6),计算成本更高,但通过对称性技巧可有效缓解。
  • 障碍物环境:在存在障碍物时,起点和终点间存在无碰撞路径,RS 曲线仍一定存在无碰撞的版本;但 Dubins 曲线不一定存在。
  • 度量性质 :Dubins 距离不对称 (d(A,B)≠d(B,A)d(A,B) \neq d(B,A)d(A,B)=d(B,A)),RS 距离是对称的。

8、局限性与扩展

  • 非完整约束:两者均为具有最小转弯半径的非完整约束模型。
  • 障碍物问题:标准模型假设为无障碍物环境,有障碍物时需与搜索算法(如混合A*)结合使用。
  • 曲率连续性 :两者在分段连接处曲率不连续,可能导致车辆需要原地转向,产生了对连续曲率曲线(如回旋曲线/CC Steer)的研究。
  • 动力学扩展 :出现考虑环境流(风/洋流) 的 Dubins 路径规划,以及可变半径的 Reeds-Shepp 曲线,以适应复杂场景。

9、实际案例与实现

  • OMPL/ROSompl::base::DubinsStateSpaceompl::base::ReedsSheppStateSpace 中提供了成熟的实现,可直接作为状态空间的距离函数(State Space Distance)。
  • MATLAB :提供 reedsSheppConnection 函数。
  • Python :PyPI 上的 reeds-sheppdubins 包提供了开箱即用的解决方案。

10、总结

Reeds-Shepp 曲线与 Dubins 曲线是解决平面内两点之间受曲率约束的最短路径问题的经典方法,两者核心对比如下:

  • Dubins 曲线 (1957)是单向运动的经典基础,以有限6种类型高效生成最短路径,在固定翼无人机等无法倒车的场景中具有重要应用价值。
  • Reeds-Shepp 曲线 (1990)通过允许双向运动(倒车)实现了更优路径,虽然候选路径类型增至46-48种,计算复杂度更高,但在自动泊车等需要倒车操作的场景中不可或缺。

两者为现代机器人运动规划奠定了坚实的数学基础。尽管在连续曲率和障碍物处理上存在局限,但通过与搜索算法的结合(如混合A*)以及连续曲率平滑后处理,它们至今仍是采样规划器等复杂系统中最常用的局部规划器之一。

相关推荐
Luhui Dev9 小时前
如何画圆的切线?几何作图技巧
人工智能·数学·ai
databook3 天前
如何灵活设置公式中各个部分的颜色?
python·数学·动效
Tisfy6 天前
LeetCode 3783.整数的镜像距离:数学
数学·算法·leetcode·题解
databook6 天前
Manim如何在数学公式中完美显示中文?
python·数学·动效
EllinY6 天前
扩展欧几里得算法 exgcd 详解
c++·笔记·数学·算法·exgcd
超人小子6 天前
小学数学巧填符号最全攻略|4 种万能解法 + 例题 + 练习题(1-6 年级通用)
数学·教育·小学教育
闻缺陷则喜何志丹8 天前
【高等数学 第八章】向量代数和空间解析几何
数学·高等数学·向量代数·空间解析几何
skywalk816310 天前
仅用一个二元运算符,就能生成所有初等函数All elementary functions from a single binary operator
数学
闻缺陷则喜何志丹11 天前
【高等数学 第六章】定积分的应用
数学·高等数学·定积分·分部积分法·换元法