All Projects → ctu-mrs → Mrs_uav_system

ctu-mrs / Mrs_uav_system

Licence: bsd-3-clause
The entry point to the MRS UAV system.

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Mrs uav system

Mav control rw
Control strategies for rotary wing Micro Aerial Vehicles using ROS
Stars: ✭ 154 (+140.63%)
Mutual labels:  ros, uav, control
Px4 Autopilot
PX4 Autopilot Software
Stars: ✭ 5,090 (+7853.13%)
Mutual labels:  ros, drone, uav
grvc-ual
An abstraction layer for unmanned aerial vehicles
Stars: ✭ 35 (-45.31%)
Mutual labels:  uav, drone, ros
Ardupilot
ArduPlane, ArduCopter, ArduRover, ArduSub source
Stars: ✭ 6,637 (+10270.31%)
Mutual labels:  ros, drone, uav
multi uav simulator
A quadrotor swarm simulator based on ROS (Robot Operating System).
Stars: ✭ 73 (+14.06%)
Mutual labels:  control, uav, drone
Missionplanner
Mission Planner Ground Control Station (c# .net)
Stars: ✭ 1,059 (+1554.69%)
Mutual labels:  ros, uav, control
FlyingCarUdacity
🛩️⚙️ 3D Planning, PID Control, Extended Kalman Filter for the Udacity Flying Car Nanodegree // FCND-Term1
Stars: ✭ 16 (-75%)
Mutual labels:  control, uav, drone
uav core
The main integrator of MRS UAV packages in ROS, part of the "mrs_uav_system".
Stars: ✭ 28 (-56.25%)
Mutual labels:  uav, drone, ros
M4Depth
Official implementation of the network presented in the paper "M4Depth: A motion-based approach for monocular depth estimation on video sequences"
Stars: ✭ 62 (-3.12%)
Mutual labels:  uav, drone
erdos
Dataflow system for building self-driving car and robotics applications.
Stars: ✭ 135 (+110.94%)
Mutual labels:  drone, ros
Ardrone autonomy
ROS driver for Parrot AR-Drone 1.0 and 2.0 quadrocopters
Stars: ✭ 325 (+407.81%)
Mutual labels:  ros, uav
Quadrotor
Quadrotor control, path planning and trajectory optimization
Stars: ✭ 331 (+417.19%)
Mutual labels:  drone, uav
Spot mini mini
Dynamics and Domain Randomized Gait Modulation with Bezier Curves for Sim-to-Real Legged Locomotion.
Stars: ✭ 426 (+565.63%)
Mutual labels:  ros, control
Scriptsafe
a browser extension to bring security and privacy to chrome, firefox, and opera
Stars: ✭ 434 (+578.13%)
Mutual labels:  tracking, control
olympe
Python controller library for Parrot Drones
Stars: ✭ 62 (-3.12%)
Mutual labels:  uav, drone
Free gait
An Architecture for the Versatile Control of Legged Robots
Stars: ✭ 263 (+310.94%)
Mutual labels:  ros, control
CodeDroneDIY
The most simple, but working, quadricopter flight controller from scratch, using Arduino Uno/Nano.
Stars: ✭ 68 (+6.25%)
Mutual labels:  uav, drone
dji-tello
Java API for the DJI Tello Drone.
Stars: ✭ 13 (-79.69%)
Mutual labels:  uav, drone
Onboard Sdk
DJI Onboard SDK Official Repository
Stars: ✭ 669 (+945.31%)
Mutual labels:  drone, uav
Mavigator
Virtual cockpit for UAVs
Stars: ✭ 8 (-87.5%)
Mutual labels:  drone, uav

Multi-robot Systems Group UAV system

thumbnail

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

Build Status

Component 18.04 20.04
mrs_uav_system Build Status Build Status
uav_core Build Status Build Status
simulation Build Status Build Status
linux-setup Build Status Build Status

System properties

The platform is

  • built using Robot Operating System (Melodic, Noetic),
  • meant to be executed entirely onboard,
  • can be deployed on any multi-rotor vehicle, given it is equipped with a PX4-compatible flight controller,
  • for both indoor and outdoor,
  • supports multi-robot experiments using Nimbro network communication.
  • provides both: agile flying and robust control.

Documentation

The primary source of documentation is here: https://ctu-mrs.github.io/. However, the website only scratches a 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 at all). Maintaining up-to-date documentation for such an audience is hard work, since we mostly spend our time developing 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 system follows a description presented in the preprint arXiv:2008.08050, pdf:

Baca, T., Petrlik, M., Vrba, M., Spurny, V., Penicka, R., Hert, D., and Saska, M. (2020),
"The MRS UAV System: Pushing the Frontiers of Reproducible Research, Real-world Deployment, and
Education with Autonomous Unmanned Aerial Vehicles", 2020, arXiv:2008.08050

Unmanned Aerial Vehicles

The MRS UAV system is currently pre-configured for the following UAV platforms, operated by the MRS. The platforms are order by the size / payload capacity.

Model Simulation Real UAV
DJI f330
DJI f450
Holybro x500
DJI f550
Tarot t650

Related packages

The following packages are not necessarily part of our automated installation. Therefore, you might need to clone them by yorself and place in your ROS workspace. Some of those are forks of third party repositories.

Package Description 18.04 20.04
MRS Gazebo Extra Resources MRS System-depended optional plugins and resources Build Status Build Status
Example ROS packages MRS ROS examples Build Status Build Status
Nimbro network ROS communication layer for multiple independent machines Build Status Build Status
MRS optic flow GPU-accelerated optic flow alorithm for UAV odometry Build Status Build Status
Hector SLAM 2D Laser-based LIDAR SLAM, how to
Hector SLAM - MRS fork + Nodeleted, how to Build Status Build Status
MRS Serial serial line interface to ROS, communicates using the BACA protocol Build Status Build Status
UVDAR mutual localization of UAVs using Ultra-Violet LED blinkers Build Status Build Status
UVDAR gazebo plugin Gazebo plugin for UVDAR Build Status Build Status
trajectory loader Loading UAV trajectories from CSV files Build Status Build Status
Bluefox2 MV Bluefox2 driver, MRS fork Build Status Build Status
Object detection Object detection by color segmentation Build Status
MRS utils Development utils Build Status Build Status
MBZIRC 2020 - Wall Building System for automatic wall-building for MBZIRC 2020 Build Status Build Status
Summer School 2019 Summer School 2019 task - MTSP planning Build Status Build Status
Summer School 2020 Summer School 2020 task - UVDAR leader-follower Build Status Build Status

Backwards compatibility and updates

We do not guarantee backwards compatibility at any time. The platform is evolving according to the needs of the MRS group. Updates can be made that are not going to be compatible with users local configs, simulation worlds, tmux sessions, etc. However, when we change something which requires user action to maintain compatibility, we will create an issue in this repository labelled 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:

Installation

Following options are provided, depending on who you are and what you want to do with the platform. Beware, installing the system into a virtual machine may not be a good idea for you, unless you have a very powerfull computer. Real-time simulations in Gazebo perform very poorly in virtual machines.

"I have fresh Ubuntu install and want it quick and easy"

In this case we provide installation scripts that set everything up for you. Our automated installation will:

  • install Robot Operating System (ROS),
  • install other dependencies such git, gitman,
  • clone uav_core, simulation, example_ros_packages into ~/git,
  • install more dependencies such as tmux and tmuxinator
  • create our ros workspace in ~/mrs_workspace for the uav_core and simulation,
  • create a ros workspace in ~/workspace for examples,
  • link our packages to the workspaces,
  • compile the workspaces,
  • added configuration lines into your ~/.bashrc.

To start the automatic installation, please paste the following code into your terminal and press enter. You might be prompted a few times to confirm something by pressing enter:

cd /tmp
echo '
GIT_PATH=~/git
mkdir -p $GIT_PATH
cd $GIT_PATH
sudo apt-get -y install git
git clone https://github.com/ctu-mrs/mrs_uav_system
cd mrs_uav_system
git checkout master
git pull
./install.sh -g $GIT_PATH
source ~/.bashrc' > clone.sh && source clone.sh

"I already have ROS and just want to peek in"

If you already have ROS installed and if you are fluent with workspaces, .bashrc, catkin tools, etc., feel free to clone our repositories individually. The uav_core repository integrates our UAV control system. Please follow its README for further instructions on how to install its particular dependencies.

The simulation repository provides resources for Gazebo/ROS simulation, including px4 Simulation-in-the-Loop (SITL), UAV models and useful sensor plugins. Please follow its README for further instructions on how to install prerequisities.

"I want the Linux environment people from MRS works with"

Great! In that case you want to install Tomas's Linux-setup. Beware! This might alter your existing configuration of some Linux tools (Vim, Tmux, i3wm, ranger, ...). Refer to its README, for more information. Installation is not obligatory and the MRS UAV system will work without it.

Paste following code into your terminal and press enter

cd /tmp
echo "mkdir -p ~/git
cd ~/git
sudo apt-get -y install git
git clone https://github.com/klaxalk/linux-setup
cd linux-setup
./install.sh" > run.sh && source run.sh

For help with using the system, you can also refer to the MRS Cheatsheet.

Running the simulation

If you have successfully installed the system, you can continue with starting the simulation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].