机器人控制框架行为树py_trees <一、行为树介绍>

本文介绍了ROS2中行为树py_trees的使用,作为替代ros1状态机的新选择。内容包括行为树的基本概念如行为、生命周期、黑板和可视化,并通过一个AGV移动底逻辑模块框架展示了行为树在解决复杂逻辑控制中的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        行为树是ros2比较大的改动地方之一,替代了之前ros1中的状态机。行为树和状态机之前的差异这里不在做赘述,感兴趣的可以搜索相关的资料。

        常见的行为树(bt)框架有C++版本的BehaviorTree.CPP库,和python版本的py_tree库。看个人喜好,因为我工作中写逻辑框架的时候需要快速实现并且可视化下框架结构后用于小组讨论,所以我在项目的初期甚至整个项目中也都是使用py_trees。

        使用命令行安装

        sudo apt install ros-foxy-py-trees                     # 树结构包

        sudo apt install ros-foxy-py-trees-ros-viewer   # 查看树的结构脚本文件

        行为树概念大致分为:

        1. 行为 behavior;

        2. 生命周期;

        3. 黑板(blackboard);

        4. 可视化行为树;

        · 其中behavior算是框架中的最小粒度,一切操作逻辑和流程都可以使用behavior来描述(我是这么理解的)。

        · 生命周期,py_tree中的生命周期其实已经涵在行为树中,理解生命周期中的每个节点对于行为树什么时候启动什么时候终止有很大的帮助,因此需要将生命周期概念和行为树放一起。

        实际使用中自定义的behavior基本上会遇到以下7个状态(后面详细说明什么时候触发这些状态)

        __init__

        setup()

        initialise()

        tick()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值