TB2: Inspection Testbed

The objective of this testbed is to validate the CoreSense architecture with a Drone Swarm Autonomous Inspection. In this guide we present a configurable simulation environment that will be used for validate in simulation the architecture developed in this project.

In this testbed we leverage on the Aerostack2 framework, a ROS 2 based framework for the development of autonomous aerial systems.

Setup

Aerostack2 Installation

Follow the instructions in Aerostack2 Getting Started.

An additional ROS2 package shall be installed for this project:

Attention

We encourage users to use the github ssh keys for cloning the repo. More information can be found at github ssh docs

mkdir ~/aerostack2_ws/src -p # avoid if aerostack2 has been installed from source
cd ~/aerostack2_ws/src
git clone git@github.com:CoreSenseEU/TB2_Panel_Inspection_Simulation.git
cd ..
rosdep install -y -r -q --from-paths src --ignore-src
colcon build --symlink-install

AS2 project requirements

Additionally install the project execution dependencies, in Aerostack2 project prerequisites.

Inspection Testbed project

First clone the project repo with:

git clone git@github.com:CoreSenseEU/TB2_Panel_Inspection_Simulation.git

To start using this project, please go to the root folder of the project.

Simulation Environment

../../_images/GazeboView2.png

Execution

The execution will open a simulation in Gazebo and the Aerostack2 components will use simulation time.

In order to launch the simulation for the photovoltaic inspection launch:

./launch_as2.bash -n 4 -p 5 -r 4

The flags for the launcher are:

  • -n: especify the number of drones.

  • -p: the number of pannel per row

  • -r: the number of rows

This will open a simulation for N drones alongside the Aerostack2 components necessary for the mission execution (one per drone). We use tmux for handling the execution of multiple sessions one per drone.

Each drone is equipped with:
  1. GPS

  2. RGB Camera

  3. Gimbal

See Aerostack2 Common Interfaces Documentation for more information about them. Below an example of an image retrieved from one drone can be found.

../../_images/PanelImage.png

An example mission can be launch for making the drones go to a target panel by launching:

python3 mission.py

To do a clean exit of tmux, execute:

./stop.bash