Learning-based Active SLAM: Rainbow DQN agent with RTAB-Map for autonomous exploration in indoor environments
Autonomous exploration of indoor environments is a fundamental task in robotics, enabling robots to efficiently build maps of unknown spaces. This repository implements a learning-based active SLAM system, combining a decision-making Rainbow DQN agent with RTAB-Map that performs 2D and 3D mapping.
The implemented system utilizes OpenAI ROS to interface reinforcement learning algorithms with ROS environments. A custom robot equipped with a LIDAR and a RealSense RGB-D camera is used for the mission.
This repository provides the full training and evaluation scripts for the Rainbow DQN agent performing active SLAM in indoor environments.
clone this repository inside your ROS workspace by executing the following commands in terminal
:
cd <your_workspace_directory>/src
git clone https://github.com/RAI-Techno/drl_autonomous_exploration.git
cd ..
catkin_make
source devel/setup.bash
- Configure parameters using YAML files
Check out three configuration files inaslam/config/
:
RtabMap.yaml
– RTAB-Map mapping parametersRL.yaml
– Rainbow DQN hyperparameterstask.yaml
– Task-specific parameters such as action space, initial poses, and exploration thresholds
Feel free to edit these files to adjust parameters according to your environment.
- Launch the slam system (robot + RTAB-Map)
roslaunch lilybot aslam.launch
- Train the agent
Open another terminal and run the training script using:
roslaunch aslam start_training.launch
- Test the trained agent
To evaluate the trained agent, launch the testing script with:
roslaunch aslam start_testing.launch
This work relies on prior open-source contributions: