/Robotics_Navigation

[ISRR'22, Oral] Source code for paper, Monocular Camera and Single-Beam Sonar-Based Underwater Collision-Free Navigation with Domain Randomization.

Primary LanguagePython

Underwater Navigation

Source code for paper Monocular Camera and Single-Beam Sonar-Based Underwater Collision-Free Navigation with Domain Randomization. You could also check this as the project's official implementation repo in the lab. We referred to PyTorch-RL, and Optically-Realistic-Water for the PPO implementation and the underwater simulation respectively.

Installation

virtualenv --no-site-packages UW_nav --python=python3.6
source ~/UW_nav/bin/activate
pip install -r requirements.txt
cd ./
git clone --branch release_18 https://github.com/Unity-Technologies/ml-agents.git
cd ./ml-agents
pip install -e ./ml-agents-envs
pip install gym-unity==0.27.0

To build the Unity environment, clone this repository (indicated as a submodule named Unity in our repository). Build the SampleScene and choose ./Robotics_Navigation/underwater_env/ as the path. Besides, download dpt_large-midas-2f21e586.pt to the path ./Robotics_Navigation/DPT/weights.

Training

python3 ppo_gym.py --save-model-interval 5 --env-name navigation --eval-batch-size 0 --min-batch-size 2048 --num-threads 1 --hist-length 5

Testing

python3 ppo_gym_test.py --env-name navigation --eval-batch-size 2000 --hist-length 5