【HybridAtar论文阅读笔记】【Practical Search Techniques in Path Planning for Autonomous Driving】

实用路径规划算法
介绍一种实用的路径规划算法,适用于自动驾驶汽车在未知环境中的平稳路径生成。算法在2007年DARPA城市挑战赛中得到验证,采用改进的A*搜索算法确保路径运动可行性,并通过非线性优化提升路径质量。

Practical Search Techniques in Path Planning for Autonomous Driving

Metadata

  • CiteKey: PracticalSearchTechniques
  • Type: journalArticle
  • Title: Practical Search Techniques in Path Planning for Autonomous Driving,
  • Author: Dolgov, Dmitri; Thrun, Sebastian; Montemerlo, Michael; Diebel, James,

Abstract

🔤我们描述了一种实用的路径规划算法,该算法为在未知环境中运行的自动驾驶汽车生成了平稳的路径,在该环境中,机器人的传感器在线检测到障碍物。这项工作是受到2007年DARPA城市挑战赛的激励和实验验证的,机器人车必须自动驾驶停车场。我们的方法有两个主要步骤。第一步使用了众所周知的A搜索算法的变体,该变体应用于车辆的3D运动状态空间,但具有修改后的状态更高规则,可在A的离散节点中捕获车辆的连续状态。 (从而保证路径的运动可行性)。然后,第二步通过数字非线性优化提高了解决方案的质量,从而导致局部(且经常全局)最佳。斯坦福赛车队Junior在Urban Challenge中使用了本文所述的路径规划算法。初中表现出在复杂的一般路径规划任务中表现出完美的表现,例如在停车场导航和在被阻塞的道路上执行掉头,典型的饱满的重型时间为50-300ms。
We describe a practical path-planning algorithm that generates smooth paths for an autonomous vehicle operating in an unknown environment, where obstacles are detected online by the robot’s sensors. This work was motivated by and experimentally validated in the 2007 DARPA Urban Challenge, where robotic vehicles had to autonomously navigate parking lots. Our approach has two main steps. The first step uses a variant of the well-known A* search algorithm, applied to the 3D kinematic state space of the vehicle, but with a modified state-update rule that captures the continuous state of the vehicle in the discrete nodes of A* (thus guaranteeing kinematic feasibility of the path). The second step then improves the quality of the solution via numeric non-linear optimization, leading to a local (and frequently global) optimum. The path-planning algorithm described in this paper was used by the Stanford Racing Teams robot, Junior, in the Urban Challenge. Junior demonstrated flawless performance in complex general path-planning tasks such as navigating parking lots and executing U-turns on blocked roads, with typical fullcycle replaning times of 50–300ms.

Notes

1. 启发式值

算法使用的启发式算法并不是独有的,而是通用的。文章共使用了3种启发式进行测试:
(1)欧氏距离启发式——图a
(2)取欧氏距离和非完整无障碍代价的最大值的启发式——图b,c
(3)忽略非完整只考虑障碍的启发式与(2)的结合的启发式——图d

在这里插入图片描述

由图可知,单纯用欧几里得距离启发式,扩展了21515个节点(图a)。如果用非完整无障碍启发式,则拓展了1465个节点(图b)。但是非完整无障碍启发式在断头路会耗费很多及节点(图c)。通过非完整无障碍启发式和纯障碍启发式结合,可以将该问题解决(图d)

2. 节点拓展规则

为了解决节点拓展时精度不够的问题,选择了reed-sheep曲线(下面简称为R-S曲线或R-S拓展)作为节点拓展的工具。

具体而言,在拓展一些节点时,通过计算从当前节点到目标节点的reed-shepp曲线来生成一个额外的节点。然后检查该路径是不是存在障碍物冲突,如果没有冲突,就将其增加到搜索树(closed表)中。

至于为什么是部分节点,而不是每个节点,作者认为,在远离目标的区域,大部分的路径都是有障碍物的,没有必要使用R-S拓展。作者采用的方法时:只从N个节点中选择1个节点拓展,而N随着距离目标的代价启发式函数值得增加而减小。

在这里插入图片描述

3. 路径代价的计算

3.1 定义维诺场

本文提出了维诺场(The Voronoi Field)的概念,用来计算障碍物代价。

  • 维诺场值(The Voronoi Field)的计算公式——对应图Fig5(a)
    在这里插入图片描述

公式中的定义:
d O ( x , y ) d_O(x,y) dO(x,y)代表(x,y)距离最近的障碍物(Fig.5(a))的距离
d V ( x , y ) d_V(x,y) dV(x,y)代笔(x,y)距离一般维诺图(GVD)(Fig.5(b))中最近的边的距离。
d O d_O dO 此处应当是 d O ( x , y ) d_O(x,y) dO(x,y),应该是作者笔误。
α \alpha α 是常数,用来控制图中最大影响范围的下降率。
d O m a x d_O^{max} dOmax 也是常数,用来控制场的最大影响范围。

需要注意的是,式(1)需要满足 d O ( x , y ) < = d O m a x d_O(x,y)<=d_O^{max} dO(x,y)<=dOmax,否则的话, ρ V ( x , y ) = 0 \rho_V(x,y)=0 ρV(x,y)=0

举个例子理解这个公式:如果(x,y)取图中蓝色的框标明的位置,那么 d V d_V dV值接近0,代价值很小。最极端的情况,(x,y)刚好位于一般维诺图的边缘上,此时 d V = 0 d_V=0 dV=0,那么整个代价 ρ V ( x , y ) \rho_V(x,y) ρV(x,y)也是0.

  • 简单常规势场值计算公式——对应图Fig5(c)
    ρ ( x , y ) = α ( α + d O ( x , y ) ) − 1 \rho(x,y)=\alpha(\alpha+d_O(x,y))^{-1} ρ(x,y)=α(α+dO(x,y))1
    Fig5:(a)维诺场(2)维诺场对应的维诺图(3)常规势场
    在这里插入图片描述
3.2 维诺场比常规势场的优势:
  • 优势在于:
    维诺场的势场值按照导航中全部可通行的间隙进行了比例缩放。即使狭窄的开口仍然可以导航。而常规的势场则不行。

例如在FIg.5中,(a)是维诺场的2维投影,(b)是相对广义的维诺图。注意到在障碍物之间,总是有一个连续的路径使得场值 ρ V ( x , y ) = 0 \rho_V(x,y)=0 ρV(x,y)=0。与(c)相比,在障碍物之间的狭窄的通道中,总是存在高场值的区域(黄色圆圈区域),会导致规划的时候无法通行。

3.3 维诺场与其他类似的场函数的比较

关于维诺图和势场,在机器人运动规划领域已经提出了很长时间了,例如( Sensor-based exploration: The hierarchical generalized voronoi graph)[[@doi10.117702783640022066770]]中使用分层广义维诺图(HGVG)来对机器人搜索路径。但是对于非完整性约束的汽车,直接使用维诺图规划不可行。本文并不是直接使用维诺场进行全局路径导航,但是注意到对于凸障碍空间,维诺场可以由全局吸引域增强,产生一个没有局部最小值的域,因此也可以适合于全局路径导航。

4. 路径的优化

  • 可以尝试展示路径优化的过程
  • 共轭梯度下降的概念了解:conjugate gradient (CG) descent

采用HybridAStar规划的路径是次优的,而且可能会存在不必要的突然转向,所以作者引入了后处理对路径进行优化。后处理分为两个阶段。

  • 第一个阶段:非线性优化
    在路径顶点坐标上制定了一个非线性优化程序,以改善路径长度和平滑度。

  • 第二个阶段:非线性插值
    第一个阶段得到的路径顶点之间仍然存在间隙,会导致突然转向,所以需要进行非参数的差值,使得路径顶点之间的曲率变化更加平缓。

4.1 第一个阶段:非线性优化

在路径顶点坐标上制定了一个非线性优化程序,以改善路径长度和平滑度。

4.1.1变量的定义:

顶点坐标序列: x i = ( x i , y i ) , i ⊂ [ 1 , N ] \boldsymbol{x_i}=(x_i,y_i),i\subset[1,N] xi=(xi,yi),i[1,N]
障碍物接近顶点的位置: o i \boldsymbol{o_i} oi
顶点移动向量: Δ x i = x i − x i − 1 \boldsymbol{\Delta{x_i}}=\boldsymbol{x_i}-\boldsymbol{x_{i-1}} Δxi

### 多代理任务分配和路径规划算法在自主地面支持设备中的应用 #### 定义与背景 多代理系统(Multi-Agent Systems, MAS)是指由多个相互作用的软件代理组成的计算系统,这些代理能够协调工作来解决问题。对于自主地面支持设备(Autonomous Ground Support Equipment, AGSE),MAS技术可以显著提高操作效率和服务质量。 #### 任务分配机制 针对AGSE的任务分配通常涉及动态环境下的资源优化配置问题。一种常用的方法是基于市场拍卖模型的任务指派方法[^1]。此方法模拟经济市场的运作原理,通过设定价格机制让各代理竞拍任务,从而实现高效的任务分发。这种方法不仅考虑了单个任务的成本效益分析,还兼顾了整体系统的负载均衡需求。 #### 路径规划策略 为了使每台AGSE能够在复杂环境中安全有效地移动到指定位置完成既定任务,需采用先进的路径规划算法。A*搜索算法因其良好的性能而被广泛应用于此类场景中。该算法结合启发式估计函数g(n)+h(n),其中g(n)表示从起点到达节点n的实际代价,h(n)则是预估剩余距离至目标点所需成本。这使得即使面对障碍物密集分布的情况也能找到较优解路径。 ```python def a_star_search(start, goal): frontier = PriorityQueue() came_from = {} cost_so_far = {} frontier.put(start, 0) came_from[start] = None cost_so_far[start] = 0 while not frontier.empty(): current = frontier.get() if current == goal: break for next in neighbors(current): new_cost = cost_so_far[current] + edge_weight(current, next) if next not in cost_so_far or new_cost < cost_so_far[next]: cost_so_far[next] = new_cost priority = new_cost + heuristic(goal, next) frontier.put(next, priority) came_from[next] = current return reconstruct_path(came_from, start, goal) ``` #### 实际案例研究 在一个典型的机场行李处理系统内,利用上述提到的技术框架构建了一套完整的解决方案。通过对不同类型的运输车辆实施智能化调度管理以及精确导航控制,成功实现了货物快速转运的同时减少了人为干预带来的不确定性因素影响。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值