sea-bass/turtlebot3_behavior_demos
Example repository for autonomous behaviors using TurtleBot robots and behavior trees, as well as Docker workflows in ROS based projects.
What it solves
This project provides a set of demonstrations for implementing autonomous robot behaviors using behavior trees. It specifically solves the problem of coordinating complex tasks—such as navigating to multiple locations to find a specific colored object—for simulated TurtleBot3 and TurtleBot 4 robots.
How it works
The project uses behavior trees to manage the robot's decision-making process. It implements these trees in two different ways:
- Python: Utilizing the
py_treeslibrary. - C++: Utilizing the
BehaviorTree.CPPlibrary.
To detect objects, the system uses simple thresholding in the HSV color space. The entire environment is simulated using Gazebo, ROS 2 Jazzy, and Ubuntu 24.04, with Docker Compose used to simplify the setup and deployment of the simulation and behavior nodes.
Who it’s for
This is primarily for robotics developers and students who want to learn how to implement behavior trees for autonomous navigation and object detection in a ROS 2 environment.
Highlights
- Dual Implementation: Provides examples in both Python and C++.
- Visualization Support: Integrates with
py_trees_ros_viewerandGroot2for real-time behavior tree visualization. - Containerized Workflow: Uses Docker Compose to provide a consistent development environment and ROS 2 workspace.
- Hardware Compatibility: Supports both TurtleBot3 and TurtleBot 4 simulations.
Related
- Project
- Project
- Project
- Project
- Project