This project is built as part of our master thesis, and aims to discover the theisability of controlling a drone using Reinforcement Learning. The main task of the drone is to map an entire unkown room, as well as finding points of interest (POI).
This installation guide will explain how to run the PX4 part of the software, as well as the Turtlebot 3 demo.
-
ROS2 Humble which can be installed here.
-
UPPAAL 5
-
Stratego UTILS, installed by the following command
pip install strategoutil
-
Install PX4 and Gazebo using this guide.
-
Add SLAM Toolbox to your ROS2 workspace using this guide.
-
Add ROS_GZ to your ROS2 workspace using this guide.
-
Install PSUTIL running the command below
pip install psutil
- Install Pointcloud to LaserScan using this guide.
Start the DEMO by running the following code
cd ~/ws_ros2
source install/local_setup.bash
cd ~/Reinforcement-Learning-for-Drone-Navigation-and-Pump-Localization/stompc
python3 stompc.py
[OPTIONAL]
rviz2 -d ~/RL-Controlled-Drone-Using-UPPAAL-ROS/rviz2_cfg/basic_cfg.rviz
-
You need a configured Turtlebot3 robot. Follow this guide to set it up (Remember to select Humble).
-
Install SLAM Cartographer using their own guide. A guide to start Cartographer can be found here (Remember to select Humble).
-
Checkout this branch.
-
Run the following code
cd ~/ws_ros2
source install/local_setup.bash
export TURTLEBOT3_MODEL=burger
ros2 launch turtlebot3_cartographer cartographer.launch.py
cd ~/Reinforcement-Learning-for-Drone-Navigation-and-Pump-Localization/stompc
python3 stompc_turtle.py
[OPTIONAL]
rviz2 -d ~/RL-Controlled-Drone-Using-UPPAAL-ROS/rviz2_cfg/basic_cfg.rviz