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.ymlCheck if the environment was successfully created (dwa_planner should be listed when running the command below)
conda env listFor activating the environment use the following bash command (Use the Ananconda Prompt if not recognized)
conda activate dwa_plannerBefore 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

