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

文章转自 帅气的为为 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,意味着 [公式] ,因为 [公式][公式] ,于是有:

[公式]

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

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

[公式]

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

[公式]

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

[公式]

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

[公式]

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

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

[公式]

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

SymbolSteering: u
S0
L1
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.

  • 9
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于阿基米德优化的机器人路径规划算法是一种利用阿基米德螺旋线优化思想来进行路径规划的方法。以下是一种可能的实现步骤: 1. 环境建模:将机器人所在的环境进行建模,包括地图、障碍物、起始点和目标点等信息。这可以通过传感器数据获取或者手动创建。 2. 路径表示:选择阿基米德螺旋线作为路径表示方式。阿基米德螺旋线由参数方程 r = a + bθ 决定,其中 r 是螺旋线上某点到原点的距离,θ 是该点的极角,a 和 b 是常数。 3. 目标函数定义:定义一个目标函数来评估路径的质量。目标函数可以考虑路径的长度、避障能力、平滑性等因素。目标是使目标函数最小化。 4. 初始解生成:根据环境建模和问题要求,选择一个合适的起始解作为初始解。 5. 优化算法:使用阿基米德优化算法路径进行优化。阿基米德优化算法是一种基于连续域优化的方法,通过调整路径参数来最小化目标函数。 6. 参数更新:根据当前路径的目标函数值和梯度信息,更新路径参数。这可以使用梯度下降等优化方法来实现。 7. 终止条件判断:根据预设的终止条件(如达到最大迭代次数或目标函数收敛),判断是否终止优化过程。如果满足条件,则停止优化。 8. 最优解提取:从最终得到的路径参数中提取出最优路径,即机器人的最佳路径。 通过以上步骤,基于阿基米德优化的机器人路径规划算法可以搜索并找到最优或接近最优的机器人路径,以实现高效、安全和可靠的路径规划。具体算法的细节和参数设置可以根据具体问题进行调整和改进。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值