No version for distro humble showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

btick repository

btick

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/SherifFathey/btick.git
VCS Type git
VCS Version main
Last Updated 2026-11-01
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
btick 1.0.0

README

BTick

BTick integrates with ROS 2 to provide real-time Behavior Tree monitoring and interactive debugging for BehaviorTree.CPP v4 applications.

Overview & Capabilities

The integration connects BTick to the BehaviorTree.CPP execution and monitoring interfaces to expose tree structure, runtime state transitions, and supported debugging controls.

BTick Demo

Prerequisites & Dependencies

Ensure ROS 2 and the required BehaviorTree.CPP dependencies are installed and available in your environment.

Building the btick Package

Clone the repository into a ROS 2 workspace:

mkdir -p ~/robot_ws/src
cd ~/robot_ws/src
git clone https://github.com/SherifFathey/btick.git

Install dependencies and build the package:

cd ~/robot_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select btick --symlink-install
source install/setup.bash

Package Configuration

CMakeLists.txt

Add btick to your project’s dependencies:

cmake_minimum_required(VERSION 3.8)
project(my_robot_behavior)

find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(behaviortree_cpp REQUIRED)
find_package(btick REQUIRED)

add_executable(my_bt_runner src/my_bt_runner.cpp)

ament_target_dependencies(my_bt_runner
  rclcpp
  behaviortree_cpp
  btick
)

install(TARGETS my_bt_runner
  DESTINATION lib/${PROJECT_NAME}
)

package.xml

Declare the dependencies in package.xml:

<depend>rclcpp</depend>
<depend>behaviortree_cpp</depend>
<depend>btick</depend>

C++ Integration Example

The following steps show how to integrate BTick into an existing BehaviorTree.CPP application.

Step 1: Include the BTick Header

#include <btick/btick.hpp>

Step 2: Attach the BTick Monitor

After creating your behavior tree, instantiate btick::Monitor to enable monitoring and supported debugging features in BTick:

btick::Monitor monitor(node, tree, "MainRobotTree", xml_path);

Constructor arguments:

  • node: The ROS 2 node used for communication.
  • tree: The BT::Tree instance to monitor.
  • "MainRobotTree": The tree name displayed in the BTick interface.
  • xml_path: The XML file path, used to retrieve tree definition details such as port metadata.

Step 3: Enable Optional Logging

To record execution data to a JSON file, optionally create a btick::Logs instance:

File truncated at 100 lines see the full file

Repo symbol

btick repository

btick

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/SherifFathey/btick.git
VCS Type git
VCS Version main
Last Updated 2026-11-01
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
btick 1.0.0

README

BTick

BTick integrates with ROS 2 to provide real-time Behavior Tree monitoring and interactive debugging for BehaviorTree.CPP v4 applications.

Overview & Capabilities

The integration connects BTick to the BehaviorTree.CPP execution and monitoring interfaces to expose tree structure, runtime state transitions, and supported debugging controls.

BTick Demo

Prerequisites & Dependencies

Ensure ROS 2 and the required BehaviorTree.CPP dependencies are installed and available in your environment.

Building the btick Package

Clone the repository into a ROS 2 workspace:

mkdir -p ~/robot_ws/src
cd ~/robot_ws/src
git clone https://github.com/SherifFathey/btick.git

Install dependencies and build the package:

cd ~/robot_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select btick --symlink-install
source install/setup.bash

Package Configuration

CMakeLists.txt

Add btick to your project’s dependencies:

cmake_minimum_required(VERSION 3.8)
project(my_robot_behavior)

find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(behaviortree_cpp REQUIRED)
find_package(btick REQUIRED)

add_executable(my_bt_runner src/my_bt_runner.cpp)

ament_target_dependencies(my_bt_runner
  rclcpp
  behaviortree_cpp
  btick
)

install(TARGETS my_bt_runner
  DESTINATION lib/${PROJECT_NAME}
)

package.xml

Declare the dependencies in package.xml:

<depend>rclcpp</depend>
<depend>behaviortree_cpp</depend>
<depend>btick</depend>

C++ Integration Example

The following steps show how to integrate BTick into an existing BehaviorTree.CPP application.

Step 1: Include the BTick Header

#include <btick/btick.hpp>

Step 2: Attach the BTick Monitor

After creating your behavior tree, instantiate btick::Monitor to enable monitoring and supported debugging features in BTick:

btick::Monitor monitor(node, tree, "MainRobotTree", xml_path);

Constructor arguments:

  • node: The ROS 2 node used for communication.
  • tree: The BT::Tree instance to monitor.
  • "MainRobotTree": The tree name displayed in the BTick interface.
  • xml_path: The XML file path, used to retrieve tree definition details such as port metadata.

Step 3: Enable Optional Logging

To record execution data to a JSON file, optionally create a btick::Logs instance:

File truncated at 100 lines see the full file

No version for distro kilted showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

btick repository

btick

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/SherifFathey/btick.git
VCS Type git
VCS Version main
Last Updated 2026-11-01
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
btick 1.0.0

README

BTick

BTick integrates with ROS 2 to provide real-time Behavior Tree monitoring and interactive debugging for BehaviorTree.CPP v4 applications.

Overview & Capabilities

The integration connects BTick to the BehaviorTree.CPP execution and monitoring interfaces to expose tree structure, runtime state transitions, and supported debugging controls.

BTick Demo

Prerequisites & Dependencies

Ensure ROS 2 and the required BehaviorTree.CPP dependencies are installed and available in your environment.

Building the btick Package

Clone the repository into a ROS 2 workspace:

mkdir -p ~/robot_ws/src
cd ~/robot_ws/src
git clone https://github.com/SherifFathey/btick.git

Install dependencies and build the package:

cd ~/robot_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select btick --symlink-install
source install/setup.bash

Package Configuration

CMakeLists.txt

Add btick to your project’s dependencies:

cmake_minimum_required(VERSION 3.8)
project(my_robot_behavior)

find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(behaviortree_cpp REQUIRED)
find_package(btick REQUIRED)

add_executable(my_bt_runner src/my_bt_runner.cpp)

ament_target_dependencies(my_bt_runner
  rclcpp
  behaviortree_cpp
  btick
)

install(TARGETS my_bt_runner
  DESTINATION lib/${PROJECT_NAME}
)

package.xml

Declare the dependencies in package.xml:

<depend>rclcpp</depend>
<depend>behaviortree_cpp</depend>
<depend>btick</depend>

C++ Integration Example

The following steps show how to integrate BTick into an existing BehaviorTree.CPP application.

Step 1: Include the BTick Header

#include <btick/btick.hpp>

Step 2: Attach the BTick Monitor

After creating your behavior tree, instantiate btick::Monitor to enable monitoring and supported debugging features in BTick:

btick::Monitor monitor(node, tree, "MainRobotTree", xml_path);

Constructor arguments:

  • node: The ROS 2 node used for communication.
  • tree: The BT::Tree instance to monitor.
  • "MainRobotTree": The tree name displayed in the BTick interface.
  • xml_path: The XML file path, used to retrieve tree definition details such as port metadata.

Step 3: Enable Optional Logging

To record execution data to a JSON file, optionally create a btick::Logs instance:

File truncated at 100 lines see the full file

No version for distro lyrical showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

btick repository

btick

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/SherifFathey/btick.git
VCS Type git
VCS Version main
Last Updated 2026-11-01
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
btick 1.0.0

README

BTick

BTick integrates with ROS 2 to provide real-time Behavior Tree monitoring and interactive debugging for BehaviorTree.CPP v4 applications.

Overview & Capabilities

The integration connects BTick to the BehaviorTree.CPP execution and monitoring interfaces to expose tree structure, runtime state transitions, and supported debugging controls.

BTick Demo

Prerequisites & Dependencies

Ensure ROS 2 and the required BehaviorTree.CPP dependencies are installed and available in your environment.

Building the btick Package

Clone the repository into a ROS 2 workspace:

mkdir -p ~/robot_ws/src
cd ~/robot_ws/src
git clone https://github.com/SherifFathey/btick.git

Install dependencies and build the package:

cd ~/robot_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select btick --symlink-install
source install/setup.bash

Package Configuration

CMakeLists.txt

Add btick to your project’s dependencies:

cmake_minimum_required(VERSION 3.8)
project(my_robot_behavior)

find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(behaviortree_cpp REQUIRED)
find_package(btick REQUIRED)

add_executable(my_bt_runner src/my_bt_runner.cpp)

ament_target_dependencies(my_bt_runner
  rclcpp
  behaviortree_cpp
  btick
)

install(TARGETS my_bt_runner
  DESTINATION lib/${PROJECT_NAME}
)

package.xml

Declare the dependencies in package.xml:

<depend>rclcpp</depend>
<depend>behaviortree_cpp</depend>
<depend>btick</depend>

C++ Integration Example

The following steps show how to integrate BTick into an existing BehaviorTree.CPP application.

Step 1: Include the BTick Header

#include <btick/btick.hpp>

Step 2: Attach the BTick Monitor

After creating your behavior tree, instantiate btick::Monitor to enable monitoring and supported debugging features in BTick:

btick::Monitor monitor(node, tree, "MainRobotTree", xml_path);

Constructor arguments:

  • node: The ROS 2 node used for communication.
  • tree: The BT::Tree instance to monitor.
  • "MainRobotTree": The tree name displayed in the BTick interface.
  • xml_path: The XML file path, used to retrieve tree definition details such as port metadata.

Step 3: Enable Optional Logging

To record execution data to a JSON file, optionally create a btick::Logs instance:

File truncated at 100 lines see the full file

No version for distro rolling showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

btick repository

btick

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/SherifFathey/btick.git
VCS Type git
VCS Version main
Last Updated 2026-11-01
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
btick 1.0.0

README

BTick

BTick integrates with ROS 2 to provide real-time Behavior Tree monitoring and interactive debugging for BehaviorTree.CPP v4 applications.

Overview & Capabilities

The integration connects BTick to the BehaviorTree.CPP execution and monitoring interfaces to expose tree structure, runtime state transitions, and supported debugging controls.

BTick Demo

Prerequisites & Dependencies

Ensure ROS 2 and the required BehaviorTree.CPP dependencies are installed and available in your environment.

Building the btick Package

Clone the repository into a ROS 2 workspace:

mkdir -p ~/robot_ws/src
cd ~/robot_ws/src
git clone https://github.com/SherifFathey/btick.git

Install dependencies and build the package:

cd ~/robot_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select btick --symlink-install
source install/setup.bash

Package Configuration

CMakeLists.txt

Add btick to your project’s dependencies:

cmake_minimum_required(VERSION 3.8)
project(my_robot_behavior)

find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(behaviortree_cpp REQUIRED)
find_package(btick REQUIRED)

add_executable(my_bt_runner src/my_bt_runner.cpp)

ament_target_dependencies(my_bt_runner
  rclcpp
  behaviortree_cpp
  btick
)

install(TARGETS my_bt_runner
  DESTINATION lib/${PROJECT_NAME}
)

package.xml

Declare the dependencies in package.xml:

<depend>rclcpp</depend>
<depend>behaviortree_cpp</depend>
<depend>btick</depend>

C++ Integration Example

The following steps show how to integrate BTick into an existing BehaviorTree.CPP application.

Step 1: Include the BTick Header

#include <btick/btick.hpp>

Step 2: Attach the BTick Monitor

After creating your behavior tree, instantiate btick::Monitor to enable monitoring and supported debugging features in BTick:

btick::Monitor monitor(node, tree, "MainRobotTree", xml_path);

Constructor arguments:

  • node: The ROS 2 node used for communication.
  • tree: The BT::Tree instance to monitor.
  • "MainRobotTree": The tree name displayed in the BTick interface.
  • xml_path: The XML file path, used to retrieve tree definition details such as port metadata.

Step 3: Enable Optional Logging

To record execution data to a JSON file, optionally create a btick::Logs instance:

File truncated at 100 lines see the full file

No version for distro ardent showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

btick repository

btick

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/SherifFathey/btick.git
VCS Type git
VCS Version main
Last Updated 2026-11-01
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
btick 1.0.0

README

BTick

BTick integrates with ROS 2 to provide real-time Behavior Tree monitoring and interactive debugging for BehaviorTree.CPP v4 applications.

Overview & Capabilities

The integration connects BTick to the BehaviorTree.CPP execution and monitoring interfaces to expose tree structure, runtime state transitions, and supported debugging controls.

BTick Demo

Prerequisites & Dependencies

Ensure ROS 2 and the required BehaviorTree.CPP dependencies are installed and available in your environment.

Building the btick Package

Clone the repository into a ROS 2 workspace:

mkdir -p ~/robot_ws/src
cd ~/robot_ws/src
git clone https://github.com/SherifFathey/btick.git

Install dependencies and build the package:

cd ~/robot_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select btick --symlink-install
source install/setup.bash

Package Configuration

CMakeLists.txt

Add btick to your project’s dependencies:

cmake_minimum_required(VERSION 3.8)
project(my_robot_behavior)

find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(behaviortree_cpp REQUIRED)
find_package(btick REQUIRED)

add_executable(my_bt_runner src/my_bt_runner.cpp)

ament_target_dependencies(my_bt_runner
  rclcpp
  behaviortree_cpp
  btick
)

install(TARGETS my_bt_runner
  DESTINATION lib/${PROJECT_NAME}
)

package.xml

Declare the dependencies in package.xml:

<depend>rclcpp</depend>
<depend>behaviortree_cpp</depend>
<depend>btick</depend>

C++ Integration Example

The following steps show how to integrate BTick into an existing BehaviorTree.CPP application.

Step 1: Include the BTick Header

#include <btick/btick.hpp>

Step 2: Attach the BTick Monitor

After creating your behavior tree, instantiate btick::Monitor to enable monitoring and supported debugging features in BTick:

btick::Monitor monitor(node, tree, "MainRobotTree", xml_path);

Constructor arguments:

  • node: The ROS 2 node used for communication.
  • tree: The BT::Tree instance to monitor.
  • "MainRobotTree": The tree name displayed in the BTick interface.
  • xml_path: The XML file path, used to retrieve tree definition details such as port metadata.

Step 3: Enable Optional Logging

To record execution data to a JSON file, optionally create a btick::Logs instance:

File truncated at 100 lines see the full file

No version for distro bouncy showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

btick repository

btick

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/SherifFathey/btick.git
VCS Type git
VCS Version main
Last Updated 2026-11-01
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
btick 1.0.0

README

BTick

BTick integrates with ROS 2 to provide real-time Behavior Tree monitoring and interactive debugging for BehaviorTree.CPP v4 applications.

Overview & Capabilities

The integration connects BTick to the BehaviorTree.CPP execution and monitoring interfaces to expose tree structure, runtime state transitions, and supported debugging controls.

BTick Demo

Prerequisites & Dependencies

Ensure ROS 2 and the required BehaviorTree.CPP dependencies are installed and available in your environment.

Building the btick Package

Clone the repository into a ROS 2 workspace:

mkdir -p ~/robot_ws/src
cd ~/robot_ws/src
git clone https://github.com/SherifFathey/btick.git

Install dependencies and build the package:

cd ~/robot_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select btick --symlink-install
source install/setup.bash

Package Configuration

CMakeLists.txt

Add btick to your project’s dependencies:

cmake_minimum_required(VERSION 3.8)
project(my_robot_behavior)

find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(behaviortree_cpp REQUIRED)
find_package(btick REQUIRED)

add_executable(my_bt_runner src/my_bt_runner.cpp)

ament_target_dependencies(my_bt_runner
  rclcpp
  behaviortree_cpp
  btick
)

install(TARGETS my_bt_runner
  DESTINATION lib/${PROJECT_NAME}
)

package.xml

Declare the dependencies in package.xml:

<depend>rclcpp</depend>
<depend>behaviortree_cpp</depend>
<depend>btick</depend>

C++ Integration Example

The following steps show how to integrate BTick into an existing BehaviorTree.CPP application.

Step 1: Include the BTick Header

#include <btick/btick.hpp>

Step 2: Attach the BTick Monitor

After creating your behavior tree, instantiate btick::Monitor to enable monitoring and supported debugging features in BTick:

btick::Monitor monitor(node, tree, "MainRobotTree", xml_path);

Constructor arguments:

  • node: The ROS 2 node used for communication.
  • tree: The BT::Tree instance to monitor.
  • "MainRobotTree": The tree name displayed in the BTick interface.
  • xml_path: The XML file path, used to retrieve tree definition details such as port metadata.

Step 3: Enable Optional Logging

To record execution data to a JSON file, optionally create a btick::Logs instance:

File truncated at 100 lines see the full file

No version for distro crystal showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

btick repository

btick

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/SherifFathey/btick.git
VCS Type git
VCS Version main
Last Updated 2026-11-01
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
btick 1.0.0

README

BTick

BTick integrates with ROS 2 to provide real-time Behavior Tree monitoring and interactive debugging for BehaviorTree.CPP v4 applications.

Overview & Capabilities

The integration connects BTick to the BehaviorTree.CPP execution and monitoring interfaces to expose tree structure, runtime state transitions, and supported debugging controls.

BTick Demo

Prerequisites & Dependencies

Ensure ROS 2 and the required BehaviorTree.CPP dependencies are installed and available in your environment.

Building the btick Package

Clone the repository into a ROS 2 workspace:

mkdir -p ~/robot_ws/src
cd ~/robot_ws/src
git clone https://github.com/SherifFathey/btick.git

Install dependencies and build the package:

cd ~/robot_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select btick --symlink-install
source install/setup.bash

Package Configuration

CMakeLists.txt

Add btick to your project’s dependencies:

cmake_minimum_required(VERSION 3.8)
project(my_robot_behavior)

find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(behaviortree_cpp REQUIRED)
find_package(btick REQUIRED)

add_executable(my_bt_runner src/my_bt_runner.cpp)

ament_target_dependencies(my_bt_runner
  rclcpp
  behaviortree_cpp
  btick
)

install(TARGETS my_bt_runner
  DESTINATION lib/${PROJECT_NAME}
)

package.xml

Declare the dependencies in package.xml:

<depend>rclcpp</depend>
<depend>behaviortree_cpp</depend>
<depend>btick</depend>

C++ Integration Example

The following steps show how to integrate BTick into an existing BehaviorTree.CPP application.

Step 1: Include the BTick Header

#include <btick/btick.hpp>

Step 2: Attach the BTick Monitor

After creating your behavior tree, instantiate btick::Monitor to enable monitoring and supported debugging features in BTick:

btick::Monitor monitor(node, tree, "MainRobotTree", xml_path);

Constructor arguments:

  • node: The ROS 2 node used for communication.
  • tree: The BT::Tree instance to monitor.
  • "MainRobotTree": The tree name displayed in the BTick interface.
  • xml_path: The XML file path, used to retrieve tree definition details such as port metadata.

Step 3: Enable Optional Logging

To record execution data to a JSON file, optionally create a btick::Logs instance:

File truncated at 100 lines see the full file

No version for distro eloquent showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

btick repository

btick

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/SherifFathey/btick.git
VCS Type git
VCS Version main
Last Updated 2026-11-01
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
btick 1.0.0

README

BTick

BTick integrates with ROS 2 to provide real-time Behavior Tree monitoring and interactive debugging for BehaviorTree.CPP v4 applications.

Overview & Capabilities

The integration connects BTick to the BehaviorTree.CPP execution and monitoring interfaces to expose tree structure, runtime state transitions, and supported debugging controls.

BTick Demo

Prerequisites & Dependencies

Ensure ROS 2 and the required BehaviorTree.CPP dependencies are installed and available in your environment.

Building the btick Package

Clone the repository into a ROS 2 workspace:

mkdir -p ~/robot_ws/src
cd ~/robot_ws/src
git clone https://github.com/SherifFathey/btick.git

Install dependencies and build the package:

cd ~/robot_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select btick --symlink-install
source install/setup.bash

Package Configuration

CMakeLists.txt

Add btick to your project’s dependencies:

cmake_minimum_required(VERSION 3.8)
project(my_robot_behavior)

find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(behaviortree_cpp REQUIRED)
find_package(btick REQUIRED)

add_executable(my_bt_runner src/my_bt_runner.cpp)

ament_target_dependencies(my_bt_runner
  rclcpp
  behaviortree_cpp
  btick
)

install(TARGETS my_bt_runner
  DESTINATION lib/${PROJECT_NAME}
)

package.xml

Declare the dependencies in package.xml:

<depend>rclcpp</depend>
<depend>behaviortree_cpp</depend>
<depend>btick</depend>

C++ Integration Example

The following steps show how to integrate BTick into an existing BehaviorTree.CPP application.

Step 1: Include the BTick Header

#include <btick/btick.hpp>

Step 2: Attach the BTick Monitor

After creating your behavior tree, instantiate btick::Monitor to enable monitoring and supported debugging features in BTick:

btick::Monitor monitor(node, tree, "MainRobotTree", xml_path);

Constructor arguments:

  • node: The ROS 2 node used for communication.
  • tree: The BT::Tree instance to monitor.
  • "MainRobotTree": The tree name displayed in the BTick interface.
  • xml_path: The XML file path, used to retrieve tree definition details such as port metadata.

Step 3: Enable Optional Logging

To record execution data to a JSON file, optionally create a btick::Logs instance:

File truncated at 100 lines see the full file

No version for distro dashing showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

btick repository

btick

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/SherifFathey/btick.git
VCS Type git
VCS Version main
Last Updated 2026-11-01
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
btick 1.0.0

README

BTick

BTick integrates with ROS 2 to provide real-time Behavior Tree monitoring and interactive debugging for BehaviorTree.CPP v4 applications.

Overview & Capabilities

The integration connects BTick to the BehaviorTree.CPP execution and monitoring interfaces to expose tree structure, runtime state transitions, and supported debugging controls.

BTick Demo

Prerequisites & Dependencies

Ensure ROS 2 and the required BehaviorTree.CPP dependencies are installed and available in your environment.

Building the btick Package

Clone the repository into a ROS 2 workspace:

mkdir -p ~/robot_ws/src
cd ~/robot_ws/src
git clone https://github.com/SherifFathey/btick.git

Install dependencies and build the package:

cd ~/robot_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select btick --symlink-install
source install/setup.bash

Package Configuration

CMakeLists.txt

Add btick to your project’s dependencies:

cmake_minimum_required(VERSION 3.8)
project(my_robot_behavior)

find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(behaviortree_cpp REQUIRED)
find_package(btick REQUIRED)

add_executable(my_bt_runner src/my_bt_runner.cpp)

ament_target_dependencies(my_bt_runner
  rclcpp
  behaviortree_cpp
  btick
)

install(TARGETS my_bt_runner
  DESTINATION lib/${PROJECT_NAME}
)

package.xml

Declare the dependencies in package.xml:

<depend>rclcpp</depend>
<depend>behaviortree_cpp</depend>
<depend>btick</depend>

C++ Integration Example

The following steps show how to integrate BTick into an existing BehaviorTree.CPP application.

Step 1: Include the BTick Header

#include <btick/btick.hpp>

Step 2: Attach the BTick Monitor

After creating your behavior tree, instantiate btick::Monitor to enable monitoring and supported debugging features in BTick:

btick::Monitor monitor(node, tree, "MainRobotTree", xml_path);

Constructor arguments:

  • node: The ROS 2 node used for communication.
  • tree: The BT::Tree instance to monitor.
  • "MainRobotTree": The tree name displayed in the BTick interface.
  • xml_path: The XML file path, used to retrieve tree definition details such as port metadata.

Step 3: Enable Optional Logging

To record execution data to a JSON file, optionally create a btick::Logs instance:

File truncated at 100 lines see the full file

No version for distro galactic showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

btick repository

btick

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/SherifFathey/btick.git
VCS Type git
VCS Version main
Last Updated 2026-11-01
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
btick 1.0.0

README

BTick

BTick integrates with ROS 2 to provide real-time Behavior Tree monitoring and interactive debugging for BehaviorTree.CPP v4 applications.

Overview & Capabilities

The integration connects BTick to the BehaviorTree.CPP execution and monitoring interfaces to expose tree structure, runtime state transitions, and supported debugging controls.

BTick Demo

Prerequisites & Dependencies

Ensure ROS 2 and the required BehaviorTree.CPP dependencies are installed and available in your environment.

Building the btick Package

Clone the repository into a ROS 2 workspace:

mkdir -p ~/robot_ws/src
cd ~/robot_ws/src
git clone https://github.com/SherifFathey/btick.git

Install dependencies and build the package:

cd ~/robot_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select btick --symlink-install
source install/setup.bash

Package Configuration

CMakeLists.txt

Add btick to your project’s dependencies:

cmake_minimum_required(VERSION 3.8)
project(my_robot_behavior)

find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(behaviortree_cpp REQUIRED)
find_package(btick REQUIRED)

add_executable(my_bt_runner src/my_bt_runner.cpp)

ament_target_dependencies(my_bt_runner
  rclcpp
  behaviortree_cpp
  btick
)

install(TARGETS my_bt_runner
  DESTINATION lib/${PROJECT_NAME}
)

package.xml

Declare the dependencies in package.xml:

<depend>rclcpp</depend>
<depend>behaviortree_cpp</depend>
<depend>btick</depend>

C++ Integration Example

The following steps show how to integrate BTick into an existing BehaviorTree.CPP application.

Step 1: Include the BTick Header

#include <btick/btick.hpp>

Step 2: Attach the BTick Monitor

After creating your behavior tree, instantiate btick::Monitor to enable monitoring and supported debugging features in BTick:

btick::Monitor monitor(node, tree, "MainRobotTree", xml_path);

Constructor arguments:

  • node: The ROS 2 node used for communication.
  • tree: The BT::Tree instance to monitor.
  • "MainRobotTree": The tree name displayed in the BTick interface.
  • xml_path: The XML file path, used to retrieve tree definition details such as port metadata.

Step 3: Enable Optional Logging

To record execution data to a JSON file, optionally create a btick::Logs instance:

File truncated at 100 lines see the full file

No version for distro foxy showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

btick repository

btick

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/SherifFathey/btick.git
VCS Type git
VCS Version main
Last Updated 2026-11-01
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
btick 1.0.0

README

BTick

BTick integrates with ROS 2 to provide real-time Behavior Tree monitoring and interactive debugging for BehaviorTree.CPP v4 applications.

Overview & Capabilities

The integration connects BTick to the BehaviorTree.CPP execution and monitoring interfaces to expose tree structure, runtime state transitions, and supported debugging controls.

BTick Demo

Prerequisites & Dependencies

Ensure ROS 2 and the required BehaviorTree.CPP dependencies are installed and available in your environment.

Building the btick Package

Clone the repository into a ROS 2 workspace:

mkdir -p ~/robot_ws/src
cd ~/robot_ws/src
git clone https://github.com/SherifFathey/btick.git

Install dependencies and build the package:

cd ~/robot_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select btick --symlink-install
source install/setup.bash

Package Configuration

CMakeLists.txt

Add btick to your project’s dependencies:

cmake_minimum_required(VERSION 3.8)
project(my_robot_behavior)

find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(behaviortree_cpp REQUIRED)
find_package(btick REQUIRED)

add_executable(my_bt_runner src/my_bt_runner.cpp)

ament_target_dependencies(my_bt_runner
  rclcpp
  behaviortree_cpp
  btick
)

install(TARGETS my_bt_runner
  DESTINATION lib/${PROJECT_NAME}
)

package.xml

Declare the dependencies in package.xml:

<depend>rclcpp</depend>
<depend>behaviortree_cpp</depend>
<depend>btick</depend>

C++ Integration Example

The following steps show how to integrate BTick into an existing BehaviorTree.CPP application.

Step 1: Include the BTick Header

#include <btick/btick.hpp>

Step 2: Attach the BTick Monitor

After creating your behavior tree, instantiate btick::Monitor to enable monitoring and supported debugging features in BTick:

btick::Monitor monitor(node, tree, "MainRobotTree", xml_path);

Constructor arguments:

  • node: The ROS 2 node used for communication.
  • tree: The BT::Tree instance to monitor.
  • "MainRobotTree": The tree name displayed in the BTick interface.
  • xml_path: The XML file path, used to retrieve tree definition details such as port metadata.

Step 3: Enable Optional Logging

To record execution data to a JSON file, optionally create a btick::Logs instance:

File truncated at 100 lines see the full file

No version for distro iron showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

btick repository

btick

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/SherifFathey/btick.git
VCS Type git
VCS Version main
Last Updated 2026-11-01
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
btick 1.0.0

README

BTick

BTick integrates with ROS 2 to provide real-time Behavior Tree monitoring and interactive debugging for BehaviorTree.CPP v4 applications.

Overview & Capabilities

The integration connects BTick to the BehaviorTree.CPP execution and monitoring interfaces to expose tree structure, runtime state transitions, and supported debugging controls.

BTick Demo

Prerequisites & Dependencies

Ensure ROS 2 and the required BehaviorTree.CPP dependencies are installed and available in your environment.

Building the btick Package

Clone the repository into a ROS 2 workspace:

mkdir -p ~/robot_ws/src
cd ~/robot_ws/src
git clone https://github.com/SherifFathey/btick.git

Install dependencies and build the package:

cd ~/robot_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select btick --symlink-install
source install/setup.bash

Package Configuration

CMakeLists.txt

Add btick to your project’s dependencies:

cmake_minimum_required(VERSION 3.8)
project(my_robot_behavior)

find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(behaviortree_cpp REQUIRED)
find_package(btick REQUIRED)

add_executable(my_bt_runner src/my_bt_runner.cpp)

ament_target_dependencies(my_bt_runner
  rclcpp
  behaviortree_cpp
  btick
)

install(TARGETS my_bt_runner
  DESTINATION lib/${PROJECT_NAME}
)

package.xml

Declare the dependencies in package.xml:

<depend>rclcpp</depend>
<depend>behaviortree_cpp</depend>
<depend>btick</depend>

C++ Integration Example

The following steps show how to integrate BTick into an existing BehaviorTree.CPP application.

Step 1: Include the BTick Header

#include <btick/btick.hpp>

Step 2: Attach the BTick Monitor

After creating your behavior tree, instantiate btick::Monitor to enable monitoring and supported debugging features in BTick:

btick::Monitor monitor(node, tree, "MainRobotTree", xml_path);

Constructor arguments:

  • node: The ROS 2 node used for communication.
  • tree: The BT::Tree instance to monitor.
  • "MainRobotTree": The tree name displayed in the BTick interface.
  • xml_path: The XML file path, used to retrieve tree definition details such as port metadata.

Step 3: Enable Optional Logging

To record execution data to a JSON file, optionally create a btick::Logs instance:

File truncated at 100 lines see the full file

No version for distro lunar showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

btick repository

btick

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/SherifFathey/btick.git
VCS Type git
VCS Version main
Last Updated 2026-11-01
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
btick 1.0.0

README

BTick

BTick integrates with ROS 2 to provide real-time Behavior Tree monitoring and interactive debugging for BehaviorTree.CPP v4 applications.

Overview & Capabilities

The integration connects BTick to the BehaviorTree.CPP execution and monitoring interfaces to expose tree structure, runtime state transitions, and supported debugging controls.

BTick Demo

Prerequisites & Dependencies

Ensure ROS 2 and the required BehaviorTree.CPP dependencies are installed and available in your environment.

Building the btick Package

Clone the repository into a ROS 2 workspace:

mkdir -p ~/robot_ws/src
cd ~/robot_ws/src
git clone https://github.com/SherifFathey/btick.git

Install dependencies and build the package:

cd ~/robot_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select btick --symlink-install
source install/setup.bash

Package Configuration

CMakeLists.txt

Add btick to your project’s dependencies:

cmake_minimum_required(VERSION 3.8)
project(my_robot_behavior)

find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(behaviortree_cpp REQUIRED)
find_package(btick REQUIRED)

add_executable(my_bt_runner src/my_bt_runner.cpp)

ament_target_dependencies(my_bt_runner
  rclcpp
  behaviortree_cpp
  btick
)

install(TARGETS my_bt_runner
  DESTINATION lib/${PROJECT_NAME}
)

package.xml

Declare the dependencies in package.xml:

<depend>rclcpp</depend>
<depend>behaviortree_cpp</depend>
<depend>btick</depend>

C++ Integration Example

The following steps show how to integrate BTick into an existing BehaviorTree.CPP application.

Step 1: Include the BTick Header

#include <btick/btick.hpp>

Step 2: Attach the BTick Monitor

After creating your behavior tree, instantiate btick::Monitor to enable monitoring and supported debugging features in BTick:

btick::Monitor monitor(node, tree, "MainRobotTree", xml_path);

Constructor arguments:

  • node: The ROS 2 node used for communication.
  • tree: The BT::Tree instance to monitor.
  • "MainRobotTree": The tree name displayed in the BTick interface.
  • xml_path: The XML file path, used to retrieve tree definition details such as port metadata.

Step 3: Enable Optional Logging

To record execution data to a JSON file, optionally create a btick::Logs instance:

File truncated at 100 lines see the full file

No version for distro jade showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

btick repository

btick

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/SherifFathey/btick.git
VCS Type git
VCS Version main
Last Updated 2026-11-01
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
btick 1.0.0

README

BTick

BTick integrates with ROS 2 to provide real-time Behavior Tree monitoring and interactive debugging for BehaviorTree.CPP v4 applications.

Overview & Capabilities

The integration connects BTick to the BehaviorTree.CPP execution and monitoring interfaces to expose tree structure, runtime state transitions, and supported debugging controls.

BTick Demo

Prerequisites & Dependencies

Ensure ROS 2 and the required BehaviorTree.CPP dependencies are installed and available in your environment.

Building the btick Package

Clone the repository into a ROS 2 workspace:

mkdir -p ~/robot_ws/src
cd ~/robot_ws/src
git clone https://github.com/SherifFathey/btick.git

Install dependencies and build the package:

cd ~/robot_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select btick --symlink-install
source install/setup.bash

Package Configuration

CMakeLists.txt

Add btick to your project’s dependencies:

cmake_minimum_required(VERSION 3.8)
project(my_robot_behavior)

find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(behaviortree_cpp REQUIRED)
find_package(btick REQUIRED)

add_executable(my_bt_runner src/my_bt_runner.cpp)

ament_target_dependencies(my_bt_runner
  rclcpp
  behaviortree_cpp
  btick
)

install(TARGETS my_bt_runner
  DESTINATION lib/${PROJECT_NAME}
)

package.xml

Declare the dependencies in package.xml:

<depend>rclcpp</depend>
<depend>behaviortree_cpp</depend>
<depend>btick</depend>

C++ Integration Example

The following steps show how to integrate BTick into an existing BehaviorTree.CPP application.

Step 1: Include the BTick Header

#include <btick/btick.hpp>

Step 2: Attach the BTick Monitor

After creating your behavior tree, instantiate btick::Monitor to enable monitoring and supported debugging features in BTick:

btick::Monitor monitor(node, tree, "MainRobotTree", xml_path);

Constructor arguments:

  • node: The ROS 2 node used for communication.
  • tree: The BT::Tree instance to monitor.
  • "MainRobotTree": The tree name displayed in the BTick interface.
  • xml_path: The XML file path, used to retrieve tree definition details such as port metadata.

Step 3: Enable Optional Logging

To record execution data to a JSON file, optionally create a btick::Logs instance:

File truncated at 100 lines see the full file

No version for distro indigo showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

btick repository

btick

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/SherifFathey/btick.git
VCS Type git
VCS Version main
Last Updated 2026-11-01
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
btick 1.0.0

README

BTick

BTick integrates with ROS 2 to provide real-time Behavior Tree monitoring and interactive debugging for BehaviorTree.CPP v4 applications.

Overview & Capabilities

The integration connects BTick to the BehaviorTree.CPP execution and monitoring interfaces to expose tree structure, runtime state transitions, and supported debugging controls.

BTick Demo

Prerequisites & Dependencies

Ensure ROS 2 and the required BehaviorTree.CPP dependencies are installed and available in your environment.

Building the btick Package

Clone the repository into a ROS 2 workspace:

mkdir -p ~/robot_ws/src
cd ~/robot_ws/src
git clone https://github.com/SherifFathey/btick.git

Install dependencies and build the package:

cd ~/robot_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select btick --symlink-install
source install/setup.bash

Package Configuration

CMakeLists.txt

Add btick to your project’s dependencies:

cmake_minimum_required(VERSION 3.8)
project(my_robot_behavior)

find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(behaviortree_cpp REQUIRED)
find_package(btick REQUIRED)

add_executable(my_bt_runner src/my_bt_runner.cpp)

ament_target_dependencies(my_bt_runner
  rclcpp
  behaviortree_cpp
  btick
)

install(TARGETS my_bt_runner
  DESTINATION lib/${PROJECT_NAME}
)

package.xml

Declare the dependencies in package.xml:

<depend>rclcpp</depend>
<depend>behaviortree_cpp</depend>
<depend>btick</depend>

C++ Integration Example

The following steps show how to integrate BTick into an existing BehaviorTree.CPP application.

Step 1: Include the BTick Header

#include <btick/btick.hpp>

Step 2: Attach the BTick Monitor

After creating your behavior tree, instantiate btick::Monitor to enable monitoring and supported debugging features in BTick:

btick::Monitor monitor(node, tree, "MainRobotTree", xml_path);

Constructor arguments:

  • node: The ROS 2 node used for communication.
  • tree: The BT::Tree instance to monitor.
  • "MainRobotTree": The tree name displayed in the BTick interface.
  • xml_path: The XML file path, used to retrieve tree definition details such as port metadata.

Step 3: Enable Optional Logging

To record execution data to a JSON file, optionally create a btick::Logs instance:

File truncated at 100 lines see the full file

No version for distro hydro showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

btick repository

btick

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/SherifFathey/btick.git
VCS Type git
VCS Version main
Last Updated 2026-11-01
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
btick 1.0.0

README

BTick

BTick integrates with ROS 2 to provide real-time Behavior Tree monitoring and interactive debugging for BehaviorTree.CPP v4 applications.

Overview & Capabilities

The integration connects BTick to the BehaviorTree.CPP execution and monitoring interfaces to expose tree structure, runtime state transitions, and supported debugging controls.

BTick Demo

Prerequisites & Dependencies

Ensure ROS 2 and the required BehaviorTree.CPP dependencies are installed and available in your environment.

Building the btick Package

Clone the repository into a ROS 2 workspace:

mkdir -p ~/robot_ws/src
cd ~/robot_ws/src
git clone https://github.com/SherifFathey/btick.git

Install dependencies and build the package:

cd ~/robot_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select btick --symlink-install
source install/setup.bash

Package Configuration

CMakeLists.txt

Add btick to your project’s dependencies:

cmake_minimum_required(VERSION 3.8)
project(my_robot_behavior)

find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(behaviortree_cpp REQUIRED)
find_package(btick REQUIRED)

add_executable(my_bt_runner src/my_bt_runner.cpp)

ament_target_dependencies(my_bt_runner
  rclcpp
  behaviortree_cpp
  btick
)

install(TARGETS my_bt_runner
  DESTINATION lib/${PROJECT_NAME}
)

package.xml

Declare the dependencies in package.xml:

<depend>rclcpp</depend>
<depend>behaviortree_cpp</depend>
<depend>btick</depend>

C++ Integration Example

The following steps show how to integrate BTick into an existing BehaviorTree.CPP application.

Step 1: Include the BTick Header

#include <btick/btick.hpp>

Step 2: Attach the BTick Monitor

After creating your behavior tree, instantiate btick::Monitor to enable monitoring and supported debugging features in BTick:

btick::Monitor monitor(node, tree, "MainRobotTree", xml_path);

Constructor arguments:

  • node: The ROS 2 node used for communication.
  • tree: The BT::Tree instance to monitor.
  • "MainRobotTree": The tree name displayed in the BTick interface.
  • xml_path: The XML file path, used to retrieve tree definition details such as port metadata.

Step 3: Enable Optional Logging

To record execution data to a JSON file, optionally create a btick::Logs instance:

File truncated at 100 lines see the full file

No version for distro kinetic showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

btick repository

btick

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/SherifFathey/btick.git
VCS Type git
VCS Version main
Last Updated 2026-11-01
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
btick 1.0.0

README

BTick

BTick integrates with ROS 2 to provide real-time Behavior Tree monitoring and interactive debugging for BehaviorTree.CPP v4 applications.

Overview & Capabilities

The integration connects BTick to the BehaviorTree.CPP execution and monitoring interfaces to expose tree structure, runtime state transitions, and supported debugging controls.

BTick Demo

Prerequisites & Dependencies

Ensure ROS 2 and the required BehaviorTree.CPP dependencies are installed and available in your environment.

Building the btick Package

Clone the repository into a ROS 2 workspace:

mkdir -p ~/robot_ws/src
cd ~/robot_ws/src
git clone https://github.com/SherifFathey/btick.git

Install dependencies and build the package:

cd ~/robot_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select btick --symlink-install
source install/setup.bash

Package Configuration

CMakeLists.txt

Add btick to your project’s dependencies:

cmake_minimum_required(VERSION 3.8)
project(my_robot_behavior)

find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(behaviortree_cpp REQUIRED)
find_package(btick REQUIRED)

add_executable(my_bt_runner src/my_bt_runner.cpp)

ament_target_dependencies(my_bt_runner
  rclcpp
  behaviortree_cpp
  btick
)

install(TARGETS my_bt_runner
  DESTINATION lib/${PROJECT_NAME}
)

package.xml

Declare the dependencies in package.xml:

<depend>rclcpp</depend>
<depend>behaviortree_cpp</depend>
<depend>btick</depend>

C++ Integration Example

The following steps show how to integrate BTick into an existing BehaviorTree.CPP application.

Step 1: Include the BTick Header

#include <btick/btick.hpp>

Step 2: Attach the BTick Monitor

After creating your behavior tree, instantiate btick::Monitor to enable monitoring and supported debugging features in BTick:

btick::Monitor monitor(node, tree, "MainRobotTree", xml_path);

Constructor arguments:

  • node: The ROS 2 node used for communication.
  • tree: The BT::Tree instance to monitor.
  • "MainRobotTree": The tree name displayed in the BTick interface.
  • xml_path: The XML file path, used to retrieve tree definition details such as port metadata.

Step 3: Enable Optional Logging

To record execution data to a JSON file, optionally create a btick::Logs instance:

File truncated at 100 lines see the full file

No version for distro melodic showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

btick repository

btick

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/SherifFathey/btick.git
VCS Type git
VCS Version main
Last Updated 2026-11-01
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
btick 1.0.0

README

BTick

BTick integrates with ROS 2 to provide real-time Behavior Tree monitoring and interactive debugging for BehaviorTree.CPP v4 applications.

Overview & Capabilities

The integration connects BTick to the BehaviorTree.CPP execution and monitoring interfaces to expose tree structure, runtime state transitions, and supported debugging controls.

BTick Demo

Prerequisites & Dependencies

Ensure ROS 2 and the required BehaviorTree.CPP dependencies are installed and available in your environment.

Building the btick Package

Clone the repository into a ROS 2 workspace:

mkdir -p ~/robot_ws/src
cd ~/robot_ws/src
git clone https://github.com/SherifFathey/btick.git

Install dependencies and build the package:

cd ~/robot_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select btick --symlink-install
source install/setup.bash

Package Configuration

CMakeLists.txt

Add btick to your project’s dependencies:

cmake_minimum_required(VERSION 3.8)
project(my_robot_behavior)

find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(behaviortree_cpp REQUIRED)
find_package(btick REQUIRED)

add_executable(my_bt_runner src/my_bt_runner.cpp)

ament_target_dependencies(my_bt_runner
  rclcpp
  behaviortree_cpp
  btick
)

install(TARGETS my_bt_runner
  DESTINATION lib/${PROJECT_NAME}
)

package.xml

Declare the dependencies in package.xml:

<depend>rclcpp</depend>
<depend>behaviortree_cpp</depend>
<depend>btick</depend>

C++ Integration Example

The following steps show how to integrate BTick into an existing BehaviorTree.CPP application.

Step 1: Include the BTick Header

#include <btick/btick.hpp>

Step 2: Attach the BTick Monitor

After creating your behavior tree, instantiate btick::Monitor to enable monitoring and supported debugging features in BTick:

btick::Monitor monitor(node, tree, "MainRobotTree", xml_path);

Constructor arguments:

  • node: The ROS 2 node used for communication.
  • tree: The BT::Tree instance to monitor.
  • "MainRobotTree": The tree name displayed in the BTick interface.
  • xml_path: The XML file path, used to retrieve tree definition details such as port metadata.

Step 3: Enable Optional Logging

To record execution data to a JSON file, optionally create a btick::Logs instance:

File truncated at 100 lines see the full file

No version for distro noetic showing jazzy. Known supported distros are highlighted in the buttons above.
Repo symbol

btick repository

btick

ROS Distro
jazzy

Repository Summary

Checkout URI https://github.com/SherifFathey/btick.git
VCS Type git
VCS Version main
Last Updated 2026-11-01
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
btick 1.0.0

README

BTick

BTick integrates with ROS 2 to provide real-time Behavior Tree monitoring and interactive debugging for BehaviorTree.CPP v4 applications.

Overview & Capabilities

The integration connects BTick to the BehaviorTree.CPP execution and monitoring interfaces to expose tree structure, runtime state transitions, and supported debugging controls.

BTick Demo

Prerequisites & Dependencies

Ensure ROS 2 and the required BehaviorTree.CPP dependencies are installed and available in your environment.

Building the btick Package

Clone the repository into a ROS 2 workspace:

mkdir -p ~/robot_ws/src
cd ~/robot_ws/src
git clone https://github.com/SherifFathey/btick.git

Install dependencies and build the package:

cd ~/robot_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build --packages-select btick --symlink-install
source install/setup.bash

Package Configuration

CMakeLists.txt

Add btick to your project’s dependencies:

cmake_minimum_required(VERSION 3.8)
project(my_robot_behavior)

find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(behaviortree_cpp REQUIRED)
find_package(btick REQUIRED)

add_executable(my_bt_runner src/my_bt_runner.cpp)

ament_target_dependencies(my_bt_runner
  rclcpp
  behaviortree_cpp
  btick
)

install(TARGETS my_bt_runner
  DESTINATION lib/${PROJECT_NAME}
)

package.xml

Declare the dependencies in package.xml:

<depend>rclcpp</depend>
<depend>behaviortree_cpp</depend>
<depend>btick</depend>

C++ Integration Example

The following steps show how to integrate BTick into an existing BehaviorTree.CPP application.

Step 1: Include the BTick Header

#include <btick/btick.hpp>

Step 2: Attach the BTick Monitor

After creating your behavior tree, instantiate btick::Monitor to enable monitoring and supported debugging features in BTick:

btick::Monitor monitor(node, tree, "MainRobotTree", xml_path);

Constructor arguments:

  • node: The ROS 2 node used for communication.
  • tree: The BT::Tree instance to monitor.
  • "MainRobotTree": The tree name displayed in the BTick interface.
  • xml_path: The XML file path, used to retrieve tree definition details such as port metadata.

Step 3: Enable Optional Logging

To record execution data to a JSON file, optionally create a btick::Logs instance:

File truncated at 100 lines see the full file