SubT UAV Code Release

Published: by
AirLab

SubT UAV Code Release

This is the code accompanying the paper Resilient Multi-Sensor Exploration of Multifarious Environments with a Team of Aerial Robots [1]. This paper describes team Explorer’s exploration strategy for a team of UAVs in the DARPA SubT competition. The code should be run on an Ubuntu 18.04 system with ROS melodic and OpenCL installed. The procedure for installing OpenCL depends on which type of GPU your system has. If you have an NVIDIA GPU and have CUDA installed, then you should already have OpenCL. You can check by doing sudo apt install clinfo and running clinfo. If it outputs a number of platforms found higher than 0, then OpenCL is installed.

uav

Building the Code Natively

Download and build the code by running the following:

git clone git@bitbucket.org:castacks/subt_uav.git
cd subt_uav/
./install_dependencies.sh
./build.sh

Running Examples Natively

The following commands can be used to launch the UAV in different environments. The first time you launch everything, the gui below will not have the buttons highlighted in blue. To load the buttons, press the Open Config button highlighted in red and select gui.yaml from the open file dialog box. To avoid doing this each time you laucnh the sim, save the perspective using the the Perspectives drop down menu at the top, then selecting Export, and overwriting the core.perspective file.

GUI

First run

source devel/setup.bash

To launch the UAV in a small room run:

mon launch core_central sim_main.launch world:=~/subt/final_ws/src/core_gazebo_sim/worlds/room.world

To launch the UAV in an indoor hallway environment run:

mon launch core_central sim_main.launch world:=~/subt/final_ws/src/core_gazebo_sim/worlds/hawkins_qualification.world

To launch the UAV in an indoor two story buliding run:

mon launch core_central sim_main.launch world:=~/subt/final_ws/src/core_gazebo_sim/worlds/filmmakers2.world

In addition to the gui shown above, rviz and gazebo windows will also launch and should look like the following:

rviz_gazebo

Building the Code in Docker

Run:

cd subt_uav
./docker_build.sh

Running Examples in Docker

Run:

cd subt_uav ./docker_run.sh

Inside docker, enter the workspace and source it:

cd /home/ws
source devel/setup.bash

Run a roscore. This can be done from outside docker.

When you launch the following examples, add buttons to the gui the same way as described at the beginning of the Running Examples Natively section.

To launch the UAV in a small room run:

mon launch core_central sim_main.launch world:=/home/ws/src/core_gazebo_sim/worlds/room.world

To launch the UAV in an indoor hallway environment run:

mon launch core_central sim_main.launch world:=/home/ws/src/core_gazebo_sim/worlds/hawkins_qualification.world

To launch the UAV in an indoor two story buliding run:

mon launch core_central sim_main.launch world:=/home/ws/src/core_gazebo_sim/worlds/filmmakers2.world

[1] G. Best, R. Garg, J. Keller, G. A. Hollinger, S. Scherer. “Resilient Multi-Sensor Exploration of Multifarious Environments with a Team of Aerial Robots”. Proc. Robotics: Science and Systems, 2022

Project Overview

Latest Research

RayFronts: Open-Set Semantic Ray Frontiers for Online Scene Understanding and Exploration
RayFronts: Open-Set Semantic Ray Frontiers for Online Scene Understanding and Exploration

RayFronts is a real-time semantic mapping system that enables fine-grained scene understanding bo...

Autonomous Off-road driving | Learning-Based Navigation

Autonomous off-road driving, a key challenge in robotics, has broad applications in agriculture, ...

Amelia: A Large Model and Dataset for Airport Surface Movement Forecasting
Amelia: A Large Model and Dataset for Airport Surface Movement Forecasting

To improve airport safety and efficiency and encourage further research in this direction we intr...