ShisatoYano/AutonomousVehicleControlBeginnersGuide

Python sample codes and documents about Autonomous vehicle control algorithm. This project can be used as a technical guide book to study the algorithms and the software architectures for beginners.

What it solves

This project provides a comprehensive collection of Python sample codes and documentation to help beginners understand the complex algorithms and software architectures used in autonomous vehicle control.

How it works

It implements a wide variety of autonomous driving simulations across five key domains:

  • Localization: Uses filters like Extended Kalman Filter (EKF), Unscented Kalman Filter (UKF), and Particle Filters to determine vehicle position.
  • Mapping: Constructs various map types, including Binary Occupancy Grid, Cost Maps, Potential Field Maps, and NDT Maps.
  • Path Planning: Implements numerous search and optimization algorithms such as A*, Hybrid A*, D*, RRT*, and Q-Learning.
  • Path Tracking: Provides control strategies like Pure Pursuit, Stanley steering, LQR, and MPPI to keep the vehicle on a planned path.
  • Perception: Includes tools for rectangle fitting detection and sensor extrinsic parameter estimation.

Who it’s for

Beginners, students, and researchers looking for a practical, code-based guide to studying autonomous vehicle algorithms and software development.

Highlights

  • Broad Algorithm Coverage: Includes everything from classic pathfinding (Dijkstra) to modern reinforcement learning (Q-Learning).
  • Visual Simulations: Provides GIF demonstrations for almost every implemented algorithm to visualize the results.
  • Development Ready: Includes Docker and Dev Container support for easy environment setup on Linux/WSL.

Related

  • Project
  • Project
  • Project
  • Project
  • Project