Skip to content

harshmahesheka/AutoNavRL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Robot Navigation with Reinforcement Learning

This project implements a reinforcement learning-based robot navigation system that enables autonomous navigation in complex environments with obstacles. The work was done as part of my Master Thesis Submission.

The code uses IRSim to train reinforcement learning policies (using Stable-Baselines3) which can be deployed both in the simulator and on real hardware. We have deployed a policy on the physical QBot platform. The hardware implementation of ROS-based code can be found in the ros-deployment/ folder.

Real Robot Demo

The system enables a robot to navigate from a start position to a goal while avoiding obstacles. The reinforcement learning agent learns to output linear and angular velocities based on laser scan observations. The trained policy demonstrates robust navigation behavior in both simulated and real-world environments.

Simulation Demo

🛠️ Installation

  1. Clone the repository:
git clone https://github.com/harshmahesheka/rl-nav
cd rl-nav
  1. Install the required dependencies (The code was tested with python 3.10):
pip install -r requirements.txt

🎮 Usage

Training

To train a new model:

python train.py --num-envs 7 \
                --total-timesteps 200000 \
                --model-path models/td3_robot_nav_model \
                --tensorboard-log ./td3_robot_nav_tensorboard/ \
                --eval-episodes 10 \
                --render

Evaluation

To evaluate a trained model:

python run.py --model-path models/your_model.zip \
              --num-episodes 10 \

📁 Project Structure

  • train.py: Contains the custom Gym environment for training
  • sim.py: Core simulation environment wrapper
  • run.py: Training and evaluation scripts
  • models/: Directory for storing trained models
  • robot_world.yaml: World configuration file
  • ros-deployment/: Package for deploying trained policies on physical robot

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages