bt-logging-and-replay

Log and replay ROS 2 behavior tree execution traces.

18|2|Updated Apr 20, 2026
One-click install
npx skills add https://github.com/wimblerobotics/ros2-copilot-skills --skill bt-logging-and-replay
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: bt-logging-and-replay
Source: https://github.com/wimblerobotics/ros2-copilot-skills/tree/main/bt-logging-and-replay
Command: npx skills add https://github.com/wimblerobotics/ros2-copilot-skills --skill bt-logging-and-replay

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

BT logging captures every node status transition with timestamps, enabling post-mortem debugging, performance analysis, regression testing, and compliance verification for ROS 2 behavior trees.

Core Features & Use Cases

  • FileLogger2 for binary btlog recording and Groot2 replay.
  • Support for alternative loggers: MinitraceLogger (.json) and SqliteLogger (.db) for analysis and inspection.
  • Visualization and replay workflow: open logs in Groot2, inspect behavior_tree_log topic, and use ros2 bag for recording.
  • Real-world scenarios: diagnose navigation failures, tune BT policies, and compare traces across changes.

Quick Start

Enable bt logging in your BT navigator to generate a bt_trace.btlog, then open it in Groot2 to replay and analyze node execution.

Frequently Asked Questions about bt-logging-and-replay

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I log and replay behavior tree execution traces in ROS 2 for debugging?

To log and replay ROS 2 behavior tree execution traces, enable logging in your bt_navigator to generate a bt_trace.btlog file, then open that file in Groot2 to inspect node status transitions and replay the execution timeline.

What is the best way to diagnose navigation failures using behavior tree logs?

Diagnosing navigation failures with behavior tree logs involves capturing timestamped node status transitions using FileLogger2, then replaying the binary btlog in Groot2 to pinpoint exactly where the navigation or recovery policies failed.

Does ROS 2 behavior tree logging support alternative formats like JSON or SQLite?

ROS 2 behavior tree logging supports alternative formats including MinitraceLogger for .json output and SqliteLogger for .db output, allowing custom analysis and direct database inspection of node transitions.

Can I record behavior tree execution traces using ros2 bag?

Yes, you can record behavior tree execution traces using ros2 bag by capturing the behavior_tree_log topic, which broadcasts the real-time node status transitions needed for post-mortem debugging and regression testing.

How do I configure bt_navigator to enable behavior tree logging?

Configuring bt_navigator to enable behavior tree logging requires adjusting your navigator parameters to activate a logger such as FileLogger2, which will automatically capture timestamped execution traces into a btlog file.

What are the limitations of using SQLite logging for behavior tree debugging?

While SqliteLogger captures node status transitions in a .db format for programmatic analysis, it does not support the visual replay and timeline inspection capabilities available when using FileLogger2 with Groot2.