Dashing到Eloquent [校准@haisenzeng]

从ROS2 Dashing到Eloquent,增加了一些稳定性改进,在此将不具体讨论。 [校准@haisenzeng]

新软件包 [校准@haisenzeng]

Navigation2 项目现在包括一个新的 nav2_waypoint_follower 软件包。该软件包是一个动作服务器,它将接收一系列的航路点并按顺序跟踪它们。参数 ``stop_on_failure``指在单个航点出现故障时,机器人是否应该继续到下一个航点,或者将故障返回给动作客户端 。waypoint follower软件包也可以作为一个如何使用Navigation2动作服务器来完成基本的自主任务的参考应用程序。 [校准@haisenzeng]

Navigation2现在支持控制和SLAM的新算法。比如Timed-Elastic Band(TEB) 控制器已经实现 在这里可以查阅 。它是自己的控制器插件,可以代替DWB控制器使用。Nav2还支持 SLAM 工具箱作为 ROS 2的默认 SLAM 实现。这取代了制图员(Cartographer)的使用。 [校准@haisenzeng]

New Plugins

Eloquent介绍回到pluginlib插件导航堆栈。 nav2_core 定义插件头接口用于实现控制器、规划器、恢复和目标检查器等插件。所有算法 (NavFn,DWB,recoveries) 都作为插件接口添加并且创建了服务器的通用包。 nav2_planner 是一个用于计划的动作服务器,它为规划器提供一个插件。 nav2_controller 是控制器的动作服务器,为控制器提供一个插件。 nav2_recovery 一个用于恢复的动作服务器,它包含一个恢复插件。 [校准@haisenzeng]

增加了新的恢复插件,包括备份,如果没有碰撞,备份需要一段距离。添加了等待恢复,它将等待一段可配置的时间后再次导航。这个插件特别有助于时间依赖性的障碍物或暂停导航,使场景变得不那么动态。 [校准@haisenzeng]

添加了许多新的行为树节点。这些行为树节点在行为树引擎中进行硬编码。行为树cpp v3支持插件,并将在下一个版本中进行转换。 [待校准@723]