Navigation 2 学习02 nav2 行为树概念

行为树定义:

行为树(BT)在复杂的机器人任务中变得越来越普遍。它们是要完成的任务的树形结构。它创建了一个更具可扩展性和人类可理解性的框架,用于定义多步骤或多状态应用程序。这与有限状态机(FSM)相反,有限状态机可能有数十个状态和数百个转换。一个例子是踢足球的机器人。将足球比赛的逻辑嵌入到
FSM 中将具有挑战性,并且容易出错,因为有许多可能的状态和规则。此外,建模选择(例如从左侧、右侧或中心射门)尤其不清楚。通过
BT,可以创建基本原语,如“踢”、“走”、“去球”,并可重复用于许多行为。

行为树为导航逻辑提供了一个正式的结构,它既可以用于创建复杂的系统,也可以使用高级工具进行验证和验证,证明其正确性。将应用程序逻辑集中在行为树中并具有独立的任务服务器(仅通过树通信数据)可以进行形式分析。

对于这个项目,我们使用BehaviorTree CPP V3作为行为树库。我们创建节点插件,可以将其构造成树,在. 节点插件被加载到BT中,并且当解析树的XML文件时,注册的名称被关联。此时,我们可以通过行为树进行导航。BT Navigator

使用该库的原因之一是它能够加载子树。这意味着Nav2行为树可以加载到另一个更高级别的BT中以使用该项目作为节点插件。一个例子是在足球比赛中,使用 Nav2 行为树作为“去球”节点,并将球检测作为更大任务的一部分。此外,我们还NavigateToPoseAction为 BT 提供了一个插件(以及其他插件),以便可以通过常用的操作接口从客户端应用程序调用 Nav2 堆栈。

参考:
https://navigation.ros.org/concepts/index.html#ros-2

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小海聊智造

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值