custom-bt-action-python

Create Python behavior tree action nodes for ROS 2/Nav2 with py_trees.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Implement custom Python-based behavior tree action nodes for ROS 2/Nav2, enabling rapid prototyping and integration.

Core Features & Use Cases

  • Built-in patterns for creating Python BT action nodes using py_trees or Python wrappers.
  • Examples including NavigateToGoal action node and a battery-check node to demonstrate common BT tasks.
  • Real-world use: prototype and test non-realtime BT logic before porting to C++ for production Nav2 deployments.

Quick Start

Install and configure py_trees on your ROS 2 workspace, then implement a Python BT action node and connect it to a Nav2 BT tree.

Frequently Asked Questions about custom-bt-action-python

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

FAQPage Schema
How do I create custom Python behavior tree action nodes for Nav2?▼

To create custom Python behavior tree action nodes for Nav2, use built-in patterns with py_trees or Python wrappers to implement logic like NavigateToGoal, then connect the node directly into your Nav2 BT tree.

Can I use py_trees to prototype non-realtime behavior tree logic for ROS 2?▼

Yes, you can use py_trees to prototype and test non-realtime behavior tree logic for ROS 2, enabling rapid development of sensor-driven checks and custom actions before porting to C++ for production.

What is the best way to integrate a battery check node into a ROS 2 behavior tree?▼

The best way to integrate a battery check node into a ROS 2 behavior tree is using a Python BT action node pattern, which demonstrates how to handle sensor-driven checks and lifecycle management within Nav2.

Does Nav2 support Python wrappers for custom BT action nodes?▼

Yes, Nav2 supports Python wrappers for custom BT action nodes, allowing developers to build action nodes for prototyping and testing alongside py_trees-based implementations.

When should I not use Python for behavior tree nodes in Nav2?▼

You should avoid using Python for behavior tree nodes in Nav2 for production deployments requiring realtime performance; Python nodes are intended for prototyping, testing, and non-realtime tasks before porting to C++.