ros-navigation / navigation2

ROS 2 Navigation Framework and System
https://nav2.org/
Other
2.58k stars 1.29k forks source link

Introducing Reinforcement Learning to ROS2 Navigation Stack #913

Closed mhpanah closed 4 years ago

mhpanah commented 5 years ago

Currently, ROS2 Navigation stack uses Dynamic Window Approach (DWA) as a core obstacle avoidance for the local planner. Though this planner has been widely used over the years, it has several shortcomings such as having many parameters that need to be tuned manually, sensitive to critic parameters, and lack of intelligence to recover from failures.

To overcome these drawbacks, we plan to gradually bring AI to ROS 2 Navigation Stack and replace different components of the Navigation module. First, we introduced the Random Crawl task to navigate around without hitting any obstacles with pseudo-random actions. Now we plan to expand upon this task and investigate different actions to be able to replace the current local planner with AI. This task will be explored and implemented in the following stages:

mhpanah commented 4 years ago

This work is currently halted. I will close for now.

SteveMacenski commented 4 years ago

@mhpanah what should we do with the DQN work inside of nav2_experimental? I'd vote to throw it into another branch nav2_experimental so we stop releasing it if its on hold & doesn't appear to users as an element of the core metapackage.