Skip to content

MeghnaSDesai/mrs_uav_system

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multi-robot Systems Group UAV system

logos

thumbnail

The Multi-robot Systems Group is a robotics lab at the Czech Technical University in Prague. We specialize in multi-rotor helicopters, and for them specifically, we develop this control, estimation, and simulation system. We think real-world and replicable experiments should support excellent research and science in robotics. Thus, our platform is built to allow safe real-world experimental validation of approaches in planning, control, estimation, computer vision, tracking, and more.

⚠️ Attention please: This README needs work.

The MRS UAV System 1.5 is being released, and this page needs updating. Please remember that the information on this page might not be valid. Check this WIP Google Document for the latest news and changes.

TL;DR What has changed from the old system

Note: The MRS UAV system v1.5 is still a Work-In-Progress and the documentation is undergoing maintanance (Issue#169). You can find the changes and new instructions in here WIP Google Document. Any feedback is welcome (you can use the issues in this repo or comment on the Google Doc)!

System properties

The system is

  • built on the Robot Operating System Noetic,
  • meant to be executed entirely onboard on a companion computer,
  • can control underactuated multirotor helicopters,
  • contains control, state estimation, mapping, and planning pipelines.

The primary documentation source is here: https://ctu-mrs.github.io/. However, the website only scratches the surface of what it should contain (and we know it). Our system is a research-oriented platform, and it evolves rapidly. Most of our users are either researchers (who already know the platform) or freshmen students (who might not know ROS). Maintaining up-to-date documentation for such an audience is hard work since we mostly develop the system while using it for our research. So, instead, we aim at educating our students to look around the packages (each contains its own README), explore the launch files, and be able to read the code, which we strive to keep readable.

The control and estimation system are described in the article doi.org/10.1007/s10846-021-01383-5, pdf:

Baca, T., Petrlik, M., Vrba, M., Spurny, V., Penicka, R., Hert, D., and Saska, M.,
"The MRS UAV System: Pushing the Frontiers of Reproducible Research, Real-world Deployment, and
Education with Autonomous Unmanned Aerial Vehicles", J Intell Robot Syst 102, 26 (2021).

Installation

Native installation

  1. Install the Robot Operating System (Noetic):
curl https://ctu-mrs.github.io/ppa-unstable/add_ros_ppa.sh | bash
sudo apt install ros-noetic-desktop-full
  1. Configure your ROS environment according to http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment

  2. Select which version of the MRS UAV System you want to install.

For stable version, add the stable PPA:

curl https://ctu-mrs.github.io/ppa-stable/add_ppa.sh | bash

For unstable (nightly-build) of the system, add the unstable PPA:

curl https://ctu-mrs.github.io/ppa-unstable/add_ppa.sh | bash
  1. Install the MRS UAV System:
sudo apt install ros-noetic-mrs-uav-system-full
  1. Start the example Gazebo simulation session:
roscd mrs_uav_gazebo_simulation/tmux/one_drone
./start.sh

Singularity Containers

Please follow this link to learn how to run our system using Singularity.

System components

Main metapackages Contents Repository Package
MRS UAV System UAV Core & UAV Modules mrs_uav_system ros-noetic-mrs-uav-system
MRS UAV System - Full All of the bellow mrs_uav_system ros-noetic-mrs-uav-system-full
Metapackages Repository Package
UAV Core mrs_uav_core ros-noetic-mrs-uav-core
UAV Modules mrs_uav_modules ros-noetic-mrs-uav-modules
Octomap Mapping+Planning mrs_octomap_mapping_planning ros-noetic-mrs-octomap-mapping-planning
ALOAM Core mrs_aloam_core ros-noetic-mrs-aloam-core
Hector Core mrs_hector_core ros-noetic-mrs-hector-core
OpenVINS Core mrs_open_vins_core ros-noetic-mrs-open-vins-core
Simulators Repository Package
Gazebo Simulation mrs_uav_gazebo_simulation ros-noetic-mrs-uav-gazebo-simulation
MRS Simulation mrs_multirotor_simulator ros-noetic-mrs-multirotor-simulator
Coppelia Simulation mrs_uav_coppelia_simulation ros-noetic-mrs-uav-coppelia-simulation
Hardware API plugins Repository Package
PX4 API mrs_uav_px4_api ros-noetic-mrs-uav-px4-api
DJI Tello API mrs_uav_dji_tello_api ros-noetic-mrs-uav-dji-tello-api

Example packages

Examples Repository Build status
MRS Core examples mrs_core_examples ros_build_test
MRS Computer Vision examples mrs_computer_vision_examples ros_build_test

Build status (Buildfarm)

PPAs

Stable Unstable
stable-ppa-build unstable-ppa-build

x86-64/AMD64

Stable Unstable
MRS ROS Packages stable-mrs-amd64 unstable-mrs-amd64
Thirdparty ROS packages stable-thirdparty-amd64 unstable-thirdparty-amd64
Non-ROS packages stable-nonbloom-amd64 unstable-nonbloom-amd64

AARCH64/ARM64

Stable Unstable
MRS ROS Packages stable-mrs-arm64 unstable-mrs-arm64
Thirdparty ROS packages stable-thirdparty-arm64 unstable-thirdparty-arm64
Non-ROS packages stable-nonbloom-arm64 unstable-nonbloom-arm64

Unmanned Aerial Vehicles

The MRS UAV system is pre-configured for the following UAV platforms operated by the MRS. The UAV platforms can be purchased from our partner company Fly4Future.

Model Simulation Real UAV
DJI f330
DJI f450
Holybro x500
DJI f550
Tarot t650
T-Drones m690
NAKI II

Backwards Compatibility and updates

We do not guarantee backward compatibility at any time. The platform is evolving according to the needs of the MRS group. Updates can be made that will not be compatible with users' local configs, simulation worlds, tmux sessions, etc. However, when we change something that requires user action to maintain compatibility, we will create an issue in this repository labeled users-read-me. Subscribe to this repository updates and issues by clicking the Watch button in the top-right corner of this page. Recent changes requiring user action:

Disclaimer

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

About

The entry point to the MRS UAV system.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 94.6%
  • CMake 5.4%