Path Planning Algorithms

Custom Path Planning

I design and implement from-scratch path planning algorithms tailored for specific robot kinematics. Rather than relying on generic planners, I build custom Nav2 plugins that exploit the unique capabilities of each robot platform.

Differential Drive

For differential drive robots, my planner generates smooth, curvature-continuous trajectories:

  • A*-based Global Planner โ€” Grid-based graph search with custom cost functions accounting for turn penalties and clearance from obstacles
  • DWA Local Planner โ€” Dynamic Window Approach sampling the velocity space for real-time obstacle avoidance
  • Velocity Profiling โ€” Trapezoidal velocity profiles with configurable acceleration limits for smooth starts, stops, and turns

Swerve Drive

For the three-wheel omnidirectional swerve robot used in DD Robocon 2025:

  • Holonomic Planner โ€” Exploits the swerve drive's ability to translate in any direction independently of heading
  • Trajectory Optimization โ€” Minimum-jerk trajectory generation for optimal module steering coordination
  • Module Synchronization โ€” Coordinated wheel steering to prevent wheel scrub and ensure smooth heading changes
  • Recovery Behaviors โ€” Custom fallback strategies when the robot gets stuck or encounters unexpected obstacles

Implementation as Nav2 Plugins

All planners are implemented as proper Nav2 lifecycle-managed plugins in C++. They follow the Nav2 plugin architecture, making them drop-in replaceable and fully compatible with the Nav2 behavior tree navigator.

View Project Details โ†’