/path-planning

2D Path planning algorithms project is consist of A*, Breadth-First Search, Depth-First Search, RRT (Rapidly exploring random tree) and RRT* algorithms.

Primary LanguageC++

2D Pathfinding Algorithms

This project is consist of A*, Breadth-First Search, Depth-First Search, RRT (Rapidly exploring random tree) and RRT* algorithms.

File Structure

path-planning/
├── CMakeLists.txt
├── config/
│   └── main.yaml
├── docker
├── maps/..
├── planning/
│   ├── CmakeLists.txt
│   ├── grid_base
│   │   ├── CmakeLists.txt
│   │   ├── a_star/..
│   │   ├── bfs/..
│   │   └── dfs/..
│   └── tree_base
│   │   ├── CmakeLists.txt
│   │   ├── rrt/..
│   │   └── rrt_star/..
├── test/..
├── third-party/
│   └── yaml-cpp/..
├── tools/..

Requirements

sudo apt-get install libsfml-dev

Run with Docker

git clone --recurse-submodules https://github.com/bilalkah/path-planning.git
cd path-planning/docker

# build Docker image
bash build.sh

# create container
bash run.sh

# after creating container run sample demo
cd path-planning/build && ./main

Coloring

Free: White
Visited: Blue
Occupied: Black
Start: Green
Goal: Yellow
Path: Red

Grid Based

A Star

BFS

Tree Based

RRT

RRT Star