Crate aspen [] [src]

This crate is an implementation of behavior trees in Rust. It is largely based on behavior trees as described by Marzinotto et al. 1 and was designed to be used on an actual robot using LCM for communication.

A nice overview of behavior trees can be found on Craft AI's website.

1: Marzinotto, Alejandro, et al. "Towards a unified behavior trees framework for robot control." Robotics and Automation (ICRA), 2014 IEEE International Conference on. IEEE, 2014.

Modules

node

Behavior tree nodes and internal node logic.

std_nodes

Contains a set of commonly used behavior tree nodes.

Macros

Action

Convenience macro for creating Action nodes.

ActiveSelector

Convenience macro for creating ActiveSelector nodes.

ActiveSequence

Convenience macro for creating ActiveSequence nodes.

AlwaysFail

Convenience macro for creating AlwaysFail nodes.

AlwaysRunning

Convenience macro for creating AlwaysRunning nodes.

AlwaysSucceed

Convenience macro for creating AlwaysSucceed nodes.

Condition

Convenience macro for creating Condition nodes.

InlineAction

Convenience macro for creating InlineAction nodes.

Invert

Convenience macro for creating Invert nodes.

Parallel

Convenience macro for creating Parallel nodes.

Repeat

Convenience macro for creating Repeat nodes.

Selector

Convenience macro for creating Selector nodes.

Sequence

Convenience macro for creating Selector nodes.

UntilFail

Convenience macro for creating UntilFail nodes.

UntilSuccess

Convenience macro for creating UntilSuccess nodes.

Structs

BehaviorTree

Main behavior tree struct.

Enums

Status

Represents the status of a given node in the behavior tree.