Introduction
BeTFSM is a library for "ticking" statemachines and behavior trees. In this unified framework, discrete tasks can be specified with the modularity of behavior trees and at the lower-level precise interaction can be specified using state machines. It targets discrete coordination of robotic systems at both high- and low level.
It consists of multiple packages:
- betfsm contains the core library, only dependent on python packages, e.g. the implementation of a set of state machines and behavior tree nodes, such as Sequence, Fallback, Repeat, ConcurrentSequence, ...
- betfsm_ros contains facilities to use BeTFSM on ROS2, e.g. managing timing using ROS2, calling services, calling actions, ...
- betfsm_crospi contains facilities to use BeTFSM with cROSpi, e.g. communicating with cROSpi over ROS2, managing the lifecycle of a task, sending over parameters to a cROSpi task, ...
In this documentation, you will find the following:
-
Quick overview of behavior trees and state machines
-
A set of tutorials on using BeTFSM
- A technical introduction to BeTFSM
- API documentation, this includes facilities to work with ROS2 and cROSpi
The source of BeTFSM can be found at the following github side.
Copyright
Published under the GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007.
(c) 2024-2026, Erwin Aertbeliën, contributions of Federico Ulloa Rios and Santiago Iregui Rincon
KU Leuven, Department of Mechanical Engineering, ROB-Group. The ROB Group is part of core labs M&A and MPRO of Flanders Make.