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.
Install / Use
npx skills add ShisatoYano/AutonomousVehicleControlBeginnersGuideInstalls into whichever agent you are using.
README
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.

Table of Contents
- What is this?
- Goal of this project
- Requirements
- How to use
- Examples of Simulation
- Documents
- License
- Use Case
- Contribution
- Author
What is this?
This is a sample codes collections about Autonomous vehicle control algorithm. Each source codes are implemented with Python to help your understanding. You can fork this repository and use for studying, education or work freely.
Goal of this project
I want to release my own technical book about Autonomous Vehicle algorithms in the future. The book will include all of codes and documents in this repository as contents.
Requirements
Please satisfy with the following requirements on native or VM Linux in advance.
For running each sample codes:
For development:
- pytest (for unit tests)
- pytest-cov (for coverage measurement)
For setting up the environment with Docker:
How to use
-
Clone this repository
$ git clone https://github.com/ShisatoYano/AutonomousVehicleControlBeginnersGuide -
Set up the environment for running each codes
- Set up with Docker on WSL:
- Before cloning thi repo, install Docker in advance
- Clone this repo following the above Step 1
- Open this repo's folder by VSCode
- Create Dev Container
- And then, all required libraries are installed automatically
- Set up with Docker on WSL:
-
Execute unit tests to confirm the environment were installed successfully
$ . run_test_suites.sh -
Execute a python script at src/simulations directory
- For example, when you want to execute localization simulation of Extended Kalman Filter:
$ python src/simulations/localization/extended_kalman_filter_localization/extended_kalman_filter_localization.py
- For example, when you want to execute localization simulation of Extended Kalman Filter:
-
Add star to this repository if you like it!!
Code completion / import resolution in your editor
Each simulation script adds its own module search paths at runtime with
sys.path.append(...), since this project doesn't use a standard Python
package layout. Static analysis tools (Pylance/pyright) can't see those
runtime sys.path.append(...) calls, so without extra configuration your
editor will show false "import could not be resolved" errors and code
completion won't work for these modules.
To fix this, pyrightconfig.json (for pyright/Pylance, e.g. Neovim or VS
Code without Dev Containers) and .devcontainer/devcontainer.json's
python.analysis.extraPaths (for VS Code + Dev Containers) list every
directory under src/components and src/simulations that directly
contains a .py file.
Whenever you add a new module (a new directory under src/components or
src/simulations), regenerate both files by running:
$ python generate_pyrightconfig.py
This scans the project and rewrites both files automatically, so you don't need to edit them by hand.
Run this script on your host machine, not inside the container. It only
uses the Python standard library (json, pathlib), and since the project
directory is bind-mounted into the container as-is, the files it writes are
the same on both sides either way. Running it on the host is simplest since
it doesn't depend on the container's Python environment at all.
Examples of Simulation
Localization
Extended Kalman Filter Localization

Unscented Kalman Filter Localization

Particle Filter Localization

Mapping
Binary Occupancy Grid Map

Cost Map

Potential Field Map

NDT Map

Path Planning
A*
Planning

Bidirectional A*
Planning

Hybrid A*
Planning

D*
Planning with dynamic obstacle replanning

Dijkstra
Planning(Reduce frames by sampling every nth node to prevent memory exhaustion)

ACO
Ant Colony Optimization
Author: Banaan Kiamanesh

Q-Learning
Reinforcement learning with a Q-table policy

PSO
Particle Swarm Optimization

PRM
Planning

Elastic Bands
A* seed path smoothed with Elastic Bands optimisation

RRT
Planning

Bidirectional RRT*
Planning

RRT*
Planning

Informed RRT*
Planning

Path Tracking
Pure pursuit Path Tracking
![]()
Adaptive Pure pursuit Path Tracking
![]()
Rear wheel feedback Path Tracking
![]()
LQR(Linear Quadratic Regulator) Path Tracking
![]()
Stan
Related Skills
node-connect
385.6kDiagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.
python-debugpy
385.6kDebug Python with pdb, breakpoint(), post-mortem inspection, and debugpy remote attach.
skill-creator
385.6kCreate, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.
claude-opus-4-5-migration
140.7kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
Languages
Security Score
Audited on Aug 8, 2026
