机器人导航路径平滑算法:一条符合机器人运动限制的路径

文章转自 帅气的为为 https://zhuanlan.zhihu.com/p/364421182

介绍

机器人通过栅格地图进行路径规划时,根据静态障碍物得到全局路径,本阶段暂不考虑动态障碍物。通过各种路径规划算法,如 Dijkstra’s,A*,D-star,RRT等,规划出的路径都存在直线之间有急剧拐弯(曲率变化大)的问题。

尽管通过将八邻域改为更多邻域,如前文所述,能略微改善曲率变化急剧的问题,但是这样的路径仍然不适于机器人运动模型,尤其是非全向机器人,如阿克曼底盘,所以需要一条符合机器人运动限制的路径。


路径连续性

连续性包括两个部分:几何连续 [公式] ,参数连续 [公式]

几何连续指路径的多个片段的起始点相连,而且切向量的方向相同。

参数连续指路径的多个片段的起始点相连,而且切向量的方向和大小相同。

如果两曲线在点 [公式] 处的第 [公式] 阶导数相等,那么该两曲线在点 [公式] 处是 [公式] 连续,同时也是 [公式] 连续的,对于 [公式] 。总之,曲线 [公式][公式] 阶导数 [公式] 是连续的话,则是 [公式] 连续曲线。

(a)不连续曲线段 (b)C^0连续 (c)C^1连续 (d)C^2连续

如上所述,参数连续意味着曲线和其参数化的平滑,而集合连续仅意味着机器人轨迹平滑。例如 [公式] 连续意味着切向量连续,而 [公式] 连续意味着斜率连续;[公式] 连续意味着加速度矢量连续,而 [公式] 连续意味着曲率连续。对于机器人运动来说,[公式] 连续保持速度, [公式] 连续保持加速度。对于机器人路径规划来说,关键是路径是否 [公式] 或者 [公式] 连续。高阶连续如 [公式] 主要处理面,用于 CAD/CAM 设计。


插值法

  1. 多项式插值

对于 [公式] 个点 [公式] ,可以用拉格朗日(Lagrange)插值 [公式] ,其阶 [公式]

[公式] ,其中 [公式]

另一种是赫米特(Hermite)插值,定义 [公式] 阶的 [公式][公式] 处为0:

[公式][公式] ,其中 [公式]

插值法用于路径平滑十分原始,有两个缺点:计算复杂度高;Runge’s 现象。


2. 贝塞尔曲线

对于 [公式] 个点 [公式] ,对应的贝塞尔曲线定义为:

[公式] ,其中 [公式][公式]


3. 三次样条曲线

样条曲线适合于对任意方程建模,对于低阶曲线也有较好的效果,能防止 Runge’s 现象。

有两个重要特点:用最小阶数就可以产生 [公式] 近似;对于小曲率也是足够平滑。

考虑 [公式] 区间内有序的 [公式] 个点 [公式] ,以及相应的分析 [公式][公式] 。因为该样条曲线是3阶的,其二阶导数必须是连续的,因此定义 [公式][公式][公式] ,于是有:

[公式]

其中 [公式][公式] ,并且

[公式] [公式] 可以从 [公式] 连续系统求得: [公式]


4. B样条曲线

给定 [公式] 个实数 [公式][公式][公式] 阶的 B 样条曲线:

[公式]

由基本的 [公式] 阶 B 样条曲线 [公式] 线性组成:

[公式]

其中 [公式] 称为控制点, [公式] 个控制点形成一个凸包(convex hull),对于 [公式] 这些基本 B 样条曲线定义为:

[公式]

当控制点的个数比阶数多一个时,例如 [公式][公式] ,B 样条曲线退化为贝塞尔曲线。

不同的控制点和阶数


5. NURBS 曲线

直接给定义:

[公式]

其中 [公式] 是阶数, [公式] 是 B 样条曲线基本方程, [公式] 是控制点, [公式] 的权重 [公式] 是齐次点 [公式] 的最后一个维度。


特殊曲线

  1. Dubin’s 曲线

给定平面内两点和运动方向,Dubins 用圆弧和线段在给定曲率范围内找到连接各点的最短平滑路径,如图所示。

Durbin’s 曲线简单但是有效,适用于实时处理因为计算简单,可以用于回环线来满足各种不同限制。

首先介绍一个简单的车,如图所示。

它的 C 空间 [公式] ,定义为 [公式] ,车子运动方程如下:

[公式]

时间间隔 [公式] 极小时,车子大致走后轮指向。 [公式] 趋近于0,意味着 [公式] ,因为 [公式][公式] ,于是有:

[公式]

要满足该限制,方程的解为: [公式][公式][公式] 为常数。

下面解关于 [公式] 的方程, [公式] 为汽车转弯半径, [公式] ,因为 [公式] ,有

[公式]

两边同时除以 [公式] ,因为 [公式] ,有

[公式]

假定速度 [公式] 和转向角 [公式] 等同于动作参数 [公式][公式] ,动作向量 [公式] ,汽车动力学方程为:

[公式]

因为车子有最小转弯半径 [公式] ,而路径规划的任务是最小化起点到终点的车子运动曲线,如果 [公式] 那么就没有曲率限制,走两点间直线距离最短,但实际上需要优化

[公式]

,其中 [公式] 是到达终点 [公式] 的时间,如果没有到达则 [公式]

因为速度恒定,运动方程可以简化为:

[公式]

其中 [公式] 属于区间 [公式] ,对于 [公式] ,以下结果都成立:

Symbol Steering: u
S 0
L 1
R -1

在[1]中已经证明,在任何两个空间之间,Dubins 汽车的最短路径可以由不超过三个基本运动的组合表示,所以动作空间为 [公式] ,只有如下六个关键词是最优的:

[公式]

为了更加准确,要表示每个基本动作的持续时间。对于 [公式][公式] ,加入下标表示转角,对于 [公式] ,加入下标表示距离,因此 Dubins 曲线可以更加精确的表示为:

[公式]

其中 [公式][公式][公式] 。如图所示两种可能情况。

也可以用 [公式] 来代表曲线,即 [公式][公式] ,那么6个词可以简化为仅2个词:

[公式]

更准确的版本为: [公式]

[公式] 时,分割如下图所示:

已有了关键信息,但是对于给定的 [公式][公式] ,仍存在两个问题:

六个词中哪些可以生成最短路径?

对于某个词,相应下标的值 [公式][公式][公式] 是多少?

一个简单的方法就是穷举法,如图所示。


2. Clothoid

Clothoid,也被称为欧拉螺旋线或者 Cornu’s 螺旋线,表示在复平面:

[公式]

其中 [公式][公式] 是菲涅尔函数,有时候也成为菲涅尔余弦积分和菲涅尔正弦积分。

[公式] 时两个菲涅尔函数都趋近于 [公式] ,所以这个曲线逐渐趋近于第一象限 [公式] ,对称的来说,因为两个方程都是奇函数,这个曲线逐渐趋近于第一象限 [公式]

Cornu’s 螺旋线的曲率和曲线距离成正比,因此车子的角加速度恒定,意味着驾驶员匀速转动方向盘即可,更加安全。


3. Hypocycloid

当一个半径 [公式] 小圆在大一点的半径 [公式] 大圆内滚动时,小圆上的某固定点产生:

[公式]

其中 [公式] 是峰点(曲线不可导的地方)的个数, [公式] 是两圆半径比即 [公式] ,例子如图所示

如果在 hypocycloid 内有 [公式] 个峰点,小圆半径则为 [公式] ,因为小圆转 [公式] 圈回到原点,也就生成 [公式] 个峰点。

有一种新的方法成为 Smooth Hypocycloidal Paths(SHP),可以生成任何角度,该算法用来尽量保持直线路径,只平滑急转弯处,例子如图所示


4. Reeds-Shepp Curves

和 Dubins 相似,直接给运动方程:

[公式]

其中 [公式][公式] 。第一个变量 [公式] 决定变速箱向前( [公式] )或向后( [公式] ),为了简化假定 [公式] , 对于所有[公式] 都成立。

因此词袋为:

[公式]

其中 [公式] 表示变速箱逆向,即向前到向后,或向后到向前。

下图举例 [公式]

下表为 Reeds and Shepp 的48种不同曲线,然而第一行的 [公式][公式] 可以被剔除,因此只有46种。


5. Balkcom-Mason 曲线

将动作集定义为 [公式] ,优化方程

[公式]

因此可以有四个基本运动:

可证明得出最短路径最多由五个基本部分组成,因此有9个词即:

准确形式由下表给出:

为了显示的更易懂,给出九种运动模型图:

[公式][公式] 时,最优曲线如图所示:



[1] Dubins, L.E. (1957) On Curves of Minimal Length with a Constraint on Average Curvature, and with Prescribed Initial and Terminal Positions and Tangents. American Journal of Mathematics, 79, 497-516.

猜你喜欢

转载自blog.csdn.net/qq_39266065/article/details/123563347
今日推荐