Robotics & Open Science

New browser-based BehaviorTree.CPP editor supports Nav2 and AI integration

Key Takeaway

A web-based visual editor for BehaviorTree.CPP allows for rapid sketching, sharing, and validation of robotics logic without local installation.

Summary

A new open-source, browser-based visual editor for BehaviorTree.CPP has been released to streamline the development of robotics logic. The tool, hosted at behaviortrees.com, provides a zero-install environment for designing and reviewing behavior trees used in ROS 2 environments.

The editor specifically supports BehaviorTree.CPP XML formats, including version 4 for ROS 2 Jazzy and version 3.8 for Humble. It features specialized support for Nav2's navigate-to-pose trees and includes a suite of command-line tools and an MCP server to facilitate integration with AI assistants and CI/CD pipelines.

Technical features and workflow integration

  • Format Compatibility: Supports BehaviorTree.CPP XML v4 (Jazzy/Groot2) and v3.8 (Humble), including specialized Nav2 navigation trees.
  • Validation CLI: Includes an npx behaviortrees validate command to detect structural errors such as dangling children, cycles, nodes with multiple parents, and malformed decorators.
  • Conversion Utilities: Provides an npx behaviortrees convert tool to transform data between BT.CPP v3, v4 XML, and behavior3 JSON formats.
  • AI and Collaboration: Features a Model Context Protocol (MCP) server allowing AI assistants like Claude to draft and validate trees, and uses URL-based state sharing for easy inclusion in GitHub issues or pull requests.
  • CI/CD Verification: Uses Docker-based continuous integration to ensure editor exports remain compatible with the actual BehaviorTree.CPP v4 and v3.8 libraries.

Why it matters

This tool lowers the barrier for robotics engineers to share and review complex logic by enabling tree sharing via simple links. By providing CLI validation and AI-ready MCP support, it integrates behavior tree design directly into modern automated development workflows and LLM-assisted coding.

Original reference: discourse.openrobotics.org →