Skip to content

Exploring Unknown Environments with UPPAAL STRATEGO: Reinforcement Learning for Drone Navigation and Pump Localization

License

Notifications You must be signed in to change notification settings

Maggedelle/Reinforcement-Learning-for-Drone-Navigation-and-Pump-Localization

Repository files navigation

Reinforcement Learning for Drone Navigation and Pump Localization

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).

Authors

Installation

This installation guide will explain how to run the PX4 part of the software, as well as the Turtlebot 3 demo.

Everything runs using ROS2 Humble on a Ubuntu 22.04 LTS

Needed for both demos

  • ROS2 Humble which can be installed here.

  • UPPAAL 5

  • Stratego UTILS, installed by the following command

pip install strategoutil

PX4 Demo

  • 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

Turtlebot3 Demo

  • 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

License

MIT

About

Exploring Unknown Environments with UPPAAL STRATEGO: Reinforcement Learning for Drone Navigation and Pump Localization

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages