BehaVerify: Verifying Temporal Logic Specifications for Behavior Trees
Abstract
Behavior Trees, which originated in video games as a method for controlling NPCs but have since gained traction within the robotics community, are a framework for describing the execution of a task. BehaVerify is a tool that creates a nuXmv model from a py_tree. For composite nodes, which are standardized, this process is automatic and requires no additional user input. A wide variety of leaf nodes are automatically supported and require no additional user input, but customized leaf nodes will require additional user input to be correctly modeled. BehaVerify can provide a template to make this easier. BehaVerify is able to create a nuXmv model with over 100 nodes and nuXmv was able to verify various non-trivial LTL properties on this model, both directly and via counterexample. The model in question features parallel nodes, selector, and sequence nodes. A comparison with models based on BTCompiler indicates that the models created by BehaVerify perform better.
Cite
@article{arxiv.2208.05360,
title = {BehaVerify: Verifying Temporal Logic Specifications for Behavior Trees},
author = {Serena S. Serbinowska and Taylor T. Johnson},
journal= {arXiv preprint arXiv:2208.05360},
year = {2024}
}