All Projects → MikeS96 → autonomous_landing_uav

MikeS96 / autonomous_landing_uav

Licence: MIT License
ROS packages of the Autonomous landing system of a UAV in Gazebo

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to autonomous landing uav

Autonomus Indoor Drone
Final year project, autonomus indoor drone developed in ROS using DWM1001 dev-board
Stars: ✭ 26 (-40.91%)
Mutual labels:  gazebo, mavros
grvc-ual
An abstraction layer for unmanned aerial vehicles
Stars: ✭ 35 (-20.45%)
Mutual labels:  uav, mavros
Px4 Autopilot
PX4 Autopilot Software
Stars: ✭ 5,090 (+11468.18%)
Mutual labels:  uav, mavros
rmua19 ignition simulator
Gazebo Simulator for RoboMaster University AI Challenge 2019
Stars: ✭ 15 (-65.91%)
Mutual labels:  gazebo
QGISFMV
QGIS Full Motion Video (FMV)
Stars: ✭ 104 (+136.36%)
Mutual labels:  uav
GazeboWorldDesigner
A visual tool for laying out Gazebo simulation world files.
Stars: ✭ 12 (-72.73%)
Mutual labels:  gazebo
YAMSPy
Yet Another Multiwii Serial Protocol Python Interface... for Betaflight, iNAV, etc...
Stars: ✭ 47 (+6.82%)
Mutual labels:  uav
conde simulator
Autonomous Driving Simulator for the Portuguese Robotics Open
Stars: ✭ 31 (-29.55%)
Mutual labels:  gazebo
mavp2p
flexible and efficient Mavlink router
Stars: ✭ 41 (-6.82%)
Mutual labels:  uav
ign-physics
Abstract physics interface designed to support simulation and rapid development of robot applications.
Stars: ✭ 40 (-9.09%)
Mutual labels:  gazebo
gazebo tutorials
Tutorials for gazebo
Stars: ✭ 78 (+77.27%)
Mutual labels:  gazebo
PROBOT Anno
ROS Packages for PROBOT Anno.
Stars: ✭ 75 (+70.45%)
Mutual labels:  gazebo
zubax gnss
Zubax GNSS module
Stars: ✭ 45 (+2.27%)
Mutual labels:  uav
UAV-Stereo-Vision
A program for controlling a micro-UAV for obstacle detection and collision avoidance using disparity mapping
Stars: ✭ 30 (-31.82%)
Mutual labels:  uav
raspimouse sim
ROS package suite for Raspberry Pi Mouse Simulator
Stars: ✭ 23 (-47.73%)
Mutual labels:  gazebo
wpr simulation
No description or website provided.
Stars: ✭ 24 (-45.45%)
Mutual labels:  gazebo
Pavilion
Unreal-based Gazebo Alternative
Stars: ✭ 30 (-31.82%)
Mutual labels:  gazebo
katana driver
This stack contains hardware drivers, Gazebo plugins and other basic functionalities for the Neuronics Katana family of robot arms.
Stars: ✭ 16 (-63.64%)
Mutual labels:  gazebo
aws-robomaker-robotics-curriculum
Introductory robotics curriculum
Stars: ✭ 78 (+77.27%)
Mutual labels:  gazebo
roboticsknowledgebase.github.io
Robotics Knowledgebase. The Wiki for Robot Builders.
Stars: ✭ 85 (+93.18%)
Mutual labels:  uav

Autonomous landing of a UAV

ROS packages developed for the autonomous landing of a UAV on a stationary platform.

Description

The autonomous landing system has been tested in Simulation with Gazebo and with a modified DJI F450 with an onboard computer. The workflow of the system is a simulated environment is as follows. The system is launched in Gazebo and communicated with the Firmware of PX4. Then, the vehicle takeoff from the ground and moves to a position where the landing platform is visible. The detection module starts working and with a feature-based detector and a Kalman Filter, the landing pad is tracking thoroughly. Once the first estimation of the landing platform is made, the landing controller begins to work and moves the vehicle towards the center of the platform while it is descending. Finally, the vehicle lands and ends its mission.

This system can be used in more complex tasks where the landing phase wants to be automated. Precision agriculture, Patrolling and building inspection are just few examples where a system like this might be used to land the vehicle.

The following diagram illustrates the general workflow of the system. First the homography matrix is computed between the current image frame and the predefined template, using a feature-based detector. Then, the homography matrix is used to compute the corners and the centroid of the object. These points are then passed to a Kalman filter estimation module. Finally, the Kalman filter estimations are used to track the template in the image frame, and passed as input for a set of three PID-based controllers that perform the safe landing of the vehicle

There are three main packages that compose this project, these are:

  1. mavros_off_board
  2. object_detector
  3. drone_controller

In the package mavros_off_board are the launch files, world file, description files (urdf, xacro, sdf) and basic scripts to control the aircraft. The package object_detector is the detection and tracking (Kalman Filter) pipeline of the system, this module allows the tracking of a landing template. Finally, drone_controller has the proportional and PID controllers developed to land the vehicle based on the estimations made with the object_detector package.

Setting up the project

  1. Installation and environment configuration.

  2. Testing the SITL.

  3. Usage and deployment

The repository containing the evaluation of this work can be found here.

Note: This work was done as BEng degree project entitled "Autonomous landing system for a UAV on a ground vehicle" in "Universidad Autonóma de Occidente", Colombia.

Citation

If you use this code, please cite our paper as:

@article{alsuav,
	title        = {Monocular Visual Autonomous Landing System for Quadcopter Drones using Software in the Loop},
	author       = {Saavedra-Ruiz, Miguel and Pinto-Vargas, Ana Maria and Romero-Cano, Victor},
	year         = 2021,
	journal      = {IEEE Aerospace and Electronic Systems Magazine},
	volume       = {},
	number       = {},
	pages        = {1--1},
	doi          = {10.1109/MAES.2021.3115208}
}

Bibliography

This work used the find_object_2d package developed by introlab, the citation can be seen below

@misc{labbe11findobject,
   Author = {{Labb\'{e}, M.}},
   Howpublished = {\url{http://introlab.github.io/find-object}},
   Note = {accessed 2019-04-02},
   Title = {{Find-Object}},
   Year = 2011
}
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].