py_trees快速实践 (Python Behavior Tree)

最近的项目中涉及机器人任务执行,考虑到直接写if-else虽然前期效率很高,但是随着逻辑复杂度的增加,最后的可读性和可维护性会较差。由于项目是基于Python的,因此研究了一下py_trees这个开源项目。

Why Behavior Tree?

个人总结BT的优势如下:

1.  Model-Based. 基于一种模型的编程范式,在规则的约束下,不容易发生歧义,不会快速地随着问题的复杂度增加而陷入if-else的灾难中。

2. Reactive. 基于tick令牌的轮询运行机制,允许高优先级的事件打断正在运行的action。

3. Visualisation. 在设计上支持事件流的图形化,提高了逻辑的可读性和可维护性。

基本概念

基本概念不过多讲了,可以参看以下几篇文章:

py_trees快速实践

感觉pt_trees的Github教程对初学者不是很友好,没有给出马上就能上手的代码片段。本文的快速实践路线如下:

1. 环境搭建

由于py_trees已经在PyPi上,可直接激活一个虚拟环境,然后下载即可:

:~$ conda activate base
:~$ pip install py_trees

2. 拷贝

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值