Engineering Notes

Technical Notes

Writeups on robotics systems, algorithm implementations, and lessons learned while building competition hardware and navigation software. Raw technical notes — no fluff.

ROS2 Path Planning SLAM Hardware Robocon
Mar 2026 · Path Planning
Implementing Hybrid A* as a Nav2 Global Planner Plugin

How to implement the nav2_core::GlobalPlanner interface in C++, wire into the Nav2 lifecycle, and use Costmap2D for collision checking — from scratch.

Read note
Feb 2026 · Kinematics
3-Wheel Swerve Inverse Kinematics — Derivation

Full derivation of the 3WD holonomic inverse kinematics model — from Twist (Vx, Vy, Vθ) to individual wheel speed and steering angle commands.

Read note
Jan 2026 · Localisation
Tuning AMCL for Competition Field Conditions

Practical guide to tuning AMCL particle count, motion model noise parameters, and sensor models for the reflective floor surfaces common in Robocon competition arenas.

Read note
Dec 2025 · Sensor Fusion
EKF Sensor Fusion with robot_localization — Setup Guide

Step-by-step configuration of robot_localization's EKF node to fuse wheel odometry and IMU data for a reliable odom→base_link transform under competition conditions.

Read note
Nov 2025 · SLAM
SLAM Toolbox Online vs Lifelong Mapping Modes

When to use online SLAM vs lifelong SLAM in competition, and how to serialize/deserialize maps between rounds to save mapping time at the event.

Read note
Oct 2025 · Mechanical
Bearing Selection for Competition Robot Drivetrains

How to calculate radial and axial loads on drivetrain shafts and select the appropriate bearing type, size, and preload for the dynamic loads seen in competition.

Read note
Sep 2025 · Robocon
BehaviorTree.CPP Mission Sequencing for Multi-Phase Tasks

Using Nav2's built-in BT framework and BehaviorTree.CPP to sequence autonomous field tasks — navigation, docking, payload handling — with fallback and retry logic.

Read note
Aug 2025 · Path Planning
Dubins Paths vs Reeds-Shepp — When to Use Which

Practical comparison of Dubins and Reeds-Shepp path primitives for non-holonomic robots — forward-only vs reversible, and why it matters for Robocon field tasks.

Read note
Jul 2025 · Hardware
STM32 Motor Driver Communication over USB-Serial with ROS2

Protocol design for reliable bidirectional communication between STM32 motor drivers and ROS2 nodes — checksum framing, timeout recovery, and encoder data streaming.

Read note

More notes on specific topics below

ROS2 Notes
Lifecycle nodes, TF2, ros2_control
Path Planning
Hybrid A*, Dubins, splines
SLAM Notes
SLAM Toolbox, occupancy grids, AMCL
Hardware Notes
STM32, encoders, motor drivers
Robocon Notes
Competition strategy, tuning, lessons