This repository contains the implementation of the Dynamic Window Approach (DWA) local planner.
DWA is a velocity based planner which considers the robot dynamics to find a feasible path. It's core is really simple, calculate a valid a velocity search space and select an optimal velocity based on some calculations, the following image (Provided by The Dynamic Window Approach to Collision Avoidance) provide a great overview of its algrotihm:
Anaconda or Minicoda is required for this project as you must create a conda environment with the required dependencies.
For creating the environment use the following bash command.
conda env create -f environment.yml
Check if the environment was successfully created (dwa_planner should be listed when running the command below)
conda env list
For activating the environment use the following bash command (Use the Ananconda Prompt if not recognized)
conda activate dwa_planner
Before usage you can modify the dwa.py
to set a new starting pose and a goal location. For running the script you only need to run (Inside the folder if running from a Terminal - Anaconda Prompt):
python dwa.py