Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

MizuhoAOKI/path_tracking_catalog

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License: MIT Poetry

Path Tracking Catalog

25 path-tracking algorithms are (goint to be) implemented with python.

nine_pathtracking_algorithms.mp4

Setup

git clone https://github.com/MizuhoAOKI/path_tracking_catalog.git
cd path_tracking_catalog
poetry install

Vehicle Models for Simulation

Definition of Coordinate Systems

definition_of_frames

Dynamic Bicycle Model

$$\begin{align} &\frac{\mathrm{d}}{\mathrm{d}t} \begin{bmatrix} p^G_x \\\ p^G_y \\\ \phi \\\ v^B_x \\\ v^B_y \\\ \omega \\\ \end{bmatrix} = \begin{bmatrix} v^B_x \cos\phi - v^B_y \sin\phi \\\ v^B_x \sin\phi + v^B_y \cos\phi \\\ \omega \\\ {a}\cos\beta - (F_{f}^{\rm{lat}}\sin {{\delta}})/m + v^B_y \omega \\\ {a}\sin\beta + F_{r}^{\rm{lat}}/m + F_{f}^{\rm{lat}} \cos{\delta}/m - v^B_x \omega \\\ (F_{f}^{\rm{lat}}l_f\cos{\delta} - F_{r}^{\rm{lat}}l_r)/I_z\\ \end{bmatrix}, \\ \\\ & F_{f}^{\rm{lat}} = - C_f \left( \frac{v^B_y + l_f \omega}{v^B_x} - {\delta} \right), \\ \\\ & F_{r}^{\rm{lat}} = - C_r \left( \frac{v^B_y - l_r \omega}{v^B_x} \right), \\ \\\ & \beta = \tan^{-1} \left( \frac{v^B_y}{v^B_x} \right) \approx \frac{v^B_y}{v^B_x} \ \ \ (\because v^B_y \ll v^B_x ). \end{align}$$

DBM

dbm_demo.mp4
cd path_tracking_catalog
poetry run jupyter notebook notebooks/dynamic_bicycle_model.ipynb

Kinematic Bicycle Model

$$\begin{align} & \frac{\mathrm{d}}{\mathrm{d}t} \begin{bmatrix} p^G_x \\\ p^G_y \\\ \phi \\\ V \end{bmatrix} = \begin{bmatrix} V \cos(\phi + \beta) \\\ V \sin(\phi + \beta) \\\ (V/l_r) \sin\beta \\\ {a} \end{bmatrix},\\ \\\ & \beta = \tan^{-1} \left( \frac{l_r}{l_f + l_r} \tan({\delta}) \right). \end{align}$$

KBM

kbm_demo.mp4
cd path_tracking_catalog
poetry run jupyter notebook notebooks/kinematic_bicycle_model.ipynb

Unicycle Model

$$\begin{align} \frac{\mathrm{d}}{\mathrm{d}t} \begin{bmatrix} p^G_x \\\ p^G_y \\\ \phi \\\ V \end{bmatrix} = \begin{bmatrix} V \cos\phi \\\ V \sin\phi \\\ ( V / l ) \tan{\delta} \\\ {a} \end{bmatrix}. \end{align}$$

UM

ucm_demo.mp4
cd path_tracking_catalog
poetry run jupyter notebook notebooks/unicycle_model.ipynb

Control Algorithms

Bang-Bang Control

bangbang_pathtracking_demo.mp4
cd path_tracking_catalog
poetry run jupyter notebook notebooks/bangbang.ipynb

PID Control

pid_pathtracking_demo.mp4
cd path_tracking_catalog
poetry run jupyter notebook notebooks/pid.ipynb

Pure-Pursuit Control

purepursuit_pathtracking_demo.mp4
cd path_tracking_catalog
poetry run jupyter notebook notebooks/purepursuit.ipynb

Stanley Control

stanley_pathtracking_demo.mp4
cd path_tracking_catalog
poetry run jupyter notebook notebooks/stanley.ipynb

Fuzzy Logic Control

fuzzy_pathtracking_demo.mp4
cd path_tracking_catalog
poetry run jupyter notebook notebooks/fuzzy.ipynb

Dynamic Window Approach

Simple Path Tracking

dwa_pathtracking_demo.mp4
cd path_tracking_catalog
poetry run jupyter notebook notebooks/dwa_pathtracking.ipynb

Path Tracking with Obstacle Avoidance

dwa_obstacle_avoidance_demo.mp4
cd path_tracking_catalog
poetry run jupyter notebook notebooks/dwa_obstacle_avoidance.ipynb

State Lattice Planner

State Feedback Control

state_feedback_pathtracking_demo.mp4
cd path_tracking_catalog
poetry run jupyter notebook notebooks/state_feedback.ipynb

Linear Quadratic Regulator

lqr_pathtracking_demo.mp4
cd path_tracking_catalog
poetry run jupyter notebook notebooks/lqr.ipynb

Model Predictive Control

Model Predictive Path-Integral Control

Simple Path Tracking

mppi_pathtracking_demo.mp4
cd path_tracking_catalog
poetry run jupyter notebook notebooks/mppi_pathtracking.ipynb

Path Tracking with Obstacle Avoidance

mppi_obstacle_avoidance_demo.mp4
cd path_tracking_catalog
poetry run jupyter notebook notebooks/mppi_obstacle_avoidance.ipynb

Sliding Mode Control

Q-Learning

Morty Proxy This is a proxified and sanitized view of the page, visit original site.