Back to Systems System 03

ROS2 Navigation
Stack

ROS2 Humble SLAM Toolbox AMCL EKF Nav2 BehaviorTree.CPP robot_localization Completed
Overview

Complete ROS2 autonomous navigation stack built for competition robots at DD Robocon. Designed to operate on unknown competition fields under real-time pressure, the stack chains SLAM, localisation, sensor fusion, and mission planning into a single deployable system that runs on the robot hardware without modification from simulation to field.

System Architecture
Sensors โ”œโ”€โ”€ LIDAR โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ†’ SLAM Toolbox (online mapping) โ”‚ (occupancy grid) โ””โ†’ /map topic โ”‚ โ”œโ”€โ”€ IMU โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”œโ”€โ”€โ†’ robot_localization (EKF) โ””โ”€โ”€ Wheel Odom โ”€โ”˜ โ””โ†’ /odometry/filtered โ†’ /tf: odom โ†’ base_link (encoders) โ†“ AMCL Localisation (Monte Carlo, 500 particles) โ””โ†’ /tf: map โ†’ odom (pose in map frame) โ†“ Nav2 Stack โ”œโ”€โ”€ BT Navigator (mission sequencer) โ”‚ โ””โ”€โ”€ BehaviorTree.CPP XML trees โ”œโ”€โ”€ Planner Server (global path) โ””โ”€โ”€ Controller Server (cmd_vel โ†’ /cmd_vel) โ†“ Jetson Nano โ†’ STM32 โ†’ Motors
Stack Components
SLAM Toolbox

Runs online to build a live occupancy grid of the competition field from LIDAR scans. Lifelong mapping mode allows the map to be refined continuously as the robot navigates.

AMCL

Adaptive Monte Carlo Localisation provides probabilistic pose estimates within the established map. Particle filter converges reliably even from a poor initial pose estimate on competition fields.

Extended Kalman Filter

robot_localization package fuses wheel odometry and IMU data into a robust, low-drift pose estimate at high frequency โ€” providing the stable odomโ†’base_link transform required by the navigation stack.

BehaviorTree.CPP

Nav2's BT-based mission executor handles high-level task sequencing โ€” waypoint following, recovery behaviors, and task re-attempts โ€” through composable XML behavior trees.

Field Testing
Drop screenshots/photos into assets/images/testing/
Result

The full stack was tuned, tested, and deployed on hardware. It contributed directly to back-to-back national podium finishes at DD Robocon 2024 (National Champions) and DD Robocon 2025 (1st Runners Up). The system ran reliably under competition conditions โ€” real-time, on unknown fields, with full autonomous navigation handling task sequences that previously required manual driving.

View on GitHub Next: Mechanical Design โ†’