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++.