zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Nav2极简笔记02-导航概念

2023-03-31 10:32:15 时间

本节简要介绍机器人导航常接触的概念。

ROS2

第二代机器人操作系统,是Nav2的核心中间件,不熟悉可以参考博客关于ROS2的课程。

行动服务器

导航是长期任务,必然采用行动,一次行动可以取消,中途要汇报进展,和人类完成行动概念是相似的。在 ROS 2中定义.action以及请求和结果类型。

生命周期节点

生命周期节点是 ROS 2 独有的。当一个节点启动时,它是在未配置状态。通过启动系统或提供的生命周期管理器,需要通过配置将节点转换为非活动状态。之后,可以通过过渡到激活阶段来激活节点。

此状态将允许节点处理信息并完全设置为运行。触发该on_configure()方法的配置阶段将设置所有参数、ROS 网络接口、安全系统和所有动态分配的内存。触发该on_activate()方法的激活阶段将激活 ROS 网络接口并设置程序中的任何状态以开始处理信息。

开启关闭,过渡到停用、清理、关闭并以最终状态结束。网络接口分别在这些阶段被停用和停止处理、释放内存、干净地退出。

整个项目中广泛使用生命周期节点框架,所有服务器都使用它。如果可能,所有 ROS2 系统最好使用生命周期节点。

如果服务器崩溃,它会让生命周期管理器知道并关闭系统以防止发生严重故障。

*ROS1无此功能!

行为树

行为树 (BT) 在复杂的机器人任务中变得越来越普遍。它们是要完成的任务的树形结构。它为定义多步骤或多状态应用程序创建了一个更具可扩展性和人类可理解性的框架。这与有限状态机 (FSM) 相比,行为树可能有几十个或多个状态和数百个转换。

例如,足球机器人,如果选择有限状态机(FSM),要涵盖所有状态和规则非常困难,逻辑嵌入也极具挑战性,但是使用行为树,可以创建和复用基本原语。

导航服务器

规划器和控制器是导航任务的核心。恢复功能用于使机器人摆脱不良情况或尝试处理各种形式的问题以使系统具有容错能力。

规划器、控制器和恢复服务器

项目中的三个行动服务器是规划、恢复和控制服务器。

规划器

  • 计算最短路径
  • 计算完整的覆盖路径
  • 沿着稀疏或预定义的路线计算路径

控制器

在 ROS 1 中也称为局部规划器,Nav2 中控制器的一般任务是计算有效的控制并遵循全局规划。

恢复器

恢复是容错系统的支柱。恢复的目标是处理系统的未知或故障情况并自主处理它们。机器人由于动态障碍物或控制不佳而被卡住。在允许的情况下,倒退或原地旋转可以让机器人从恶劣的位置移动到它可以成功导航的自由空间。

航迹跟随

导航系统的基本特征实现导航到达多个目的地。

状态估计

机器人构建包含完整map-> odom-> base_link->的 TF 树。

环境表征

环境表征是机器人感知环境的方式。

案例学习: