Smac规划器

源代码和带有设计、解释和指标的 README 可以在Github _ 上找到。简要说明可以在下面找到,但是 README 包含了框架和planner实施的最详细概述。 [待校准@2849]

Smac规划器插件实现了一个基于3、A*的规划算法: 2DA*、混合A*和州晶格路径planner重要的是要知道,在2021年6月和2021年12月,该软件包收到了几次重大更新,将路径质量和运行时间提高了2-3倍。 [待校准@2850]

提供的插件 [待校准@2604]

下面列出的插件在 nav2_smac_planner 包内。有关配置信息,请参阅单独页面。 [校准@小鱼]

描述

参数 nav2_smac_planner 包含一个优化的模板化A*搜索算法,用于为多种类型的机器人平台创建多个基于A*的planner。它使用模板节点类型来开发不同的基于搜索的planner。 [校准@小鱼]

我们支持循环差速全方位驱动机器人使用 SmacPlanner2D planner实现成本感知A*planner。我们使用实现混合-A*planner的 SmacPlannerHybrid 插件来支持类似汽车 (阿克曼) 和有腿汽车。我们支持非圆形、任意形状的任何使用 SmacPlannerLattice 插件的模型车辆,该插件实现了状态晶格planner (例如omni、diff、ackermann、legged、custom)。它包含用于阿克曼,腿,差动驱动和全向车辆的控制装置和发电机,但您可以为其他机器人类型提供自己的控制装置或具有不同的规划行为。 [待校准@2853]

最后两个插件在运动学上是可行的,并且支持逆转。通过高度优化的启发式函数和高效的编程,它们的性能与2D-A*和NavFn等2D计数器部分相似。3planner的一个例子可以在下面看到,规划一条大约75米的路径。 [待校准@2854]

对于某些环境,通常的计划时间低于100毫秒,有时接近200毫秒。所有3个planner的性能大致可与天真的2D搜索算法相媲美,这些算法长期以来一直是ROS导航生态系统的支柱,但也实现了运动学的可行性,支持换向,并使用现代最先进的技术。 [待校准@2859]

由Smac规划器生成的路径     `[待校准@2860] <http://dev.nav2.fishros.com/calibpage/#/home?msgid=2860>`_

Figure 7 2DA* (面板1) 、混合-A* (面板2) 、国格 (面板3) [待校准@2861]