2.6 Reeds Shepp曲线

type
status
slug
date
summary
tags
category
password
icon
我出来打工,我不惦记钱,我惦记什么? — 武林外传 黄豆豆
🏰代码及环境配置:请参考0.2 环境配置和代码运行 | 动手学运动规划!

Reeds Shepp,通常简称为RS曲线,是一种用于路径规划的算法,由J.A.Reeds和L.A.Shepp在1990年的论文《Optimal Paths for a Car That Goes Both Forwards and Backwards》中提出。该算法主要用于描述机器人或车辆在平面上的运动轨迹,特别是在需要考虑车辆前进和后退的情况下,寻找从起点到终点的最短路径。
notion image

2.4.1 Reeds Shepp曲线定义

简单的说, Reeds Shepp曲线在Dubins曲线的基础上,允许切换车辆行驶方向,这在某些情况下能够找到比Dubins曲线更短的路径。
Dubins曲线有6种组合方式, 以LSL为例, Reeds Shepp曲线为每一个运动基元都增加了前进()和后退(), 就有了以下8种组合:
如果用表示车辆运动朝向反转, 可以简写成下表表示所有的组合:
弧线的下标代表旋转的角度, 直线S的下标代表距离.
替换为,或者 ,通过简单的变换,则共有 48 种字段组合

2.4.2 Reeds Shepp曲线公式

由于公式推导与Dubins曲线大体一致, 不再赘述. 由于Reeds Shepp曲线的不同组合曲线之间存在镜像, 翻转的关系, 并不需要对每一种组合都一一计算. 可以只求解12种组合, 通过时间变换反射变换逆向变换 快速计算剩下的情况. 这里大体介绍一下, 具体公式见参考链接.

2.4.2.1 计算技巧

以下技巧都需要先进行上一节提到的, 转换坐标系和正则化.
(1) 时间翻转(timeflip)
将计算出的曲线按照其运动方向进行取反,得到的新的曲线为原曲线相反的曲线。
为例, 如果对其曲线沿着y轴翻转, 也就是x坐标取反, 则会得到曲线.
(2) 反射(reflect)
将计算的曲线按照其沿圆周运动方向取反, 在转换后的坐标系下, 沿着x轴翻转, 也就是y坐标取反.
得到的结果是运动基元取反的组合, L不变.
为例, 如果对其曲线沿着y轴翻转, 也就是x坐标取反, 则会得到曲线.
(3) 向后变换(backwards)
将原曲线的路径逆序转换,得到的曲线与原来的曲线长度相同的新曲线。
得到的结果是运动基元顺序颠倒的组合.
为例, 如果对其曲线沿着y轴翻转, 也就是x坐标取反, 则会得到曲线.

2.4.2.2 不同技巧的组合方式

(1)
即三段圆弧且每段圆弧两两圆弧方向相反, 基于此, 可以扩展出四种曲线形式:
(2)
即三段圆弧且后两段圆弧的圆弧方向相反, 基于此, 可以扩展出四种曲线形式:
(3)
即三段圆弧且前两段圆弧的圆弧方向相反, 基于此, 可以扩展出四种曲线形式:
下一节, 我们会解析和运行代码.

参考链接

动手学运动规划(Motion Planning)动手学运动规划(Motion Planning)
Loading...
目录
文章列表