Skip to content

Framework for autonomous precision landing of Unmanned Aerial Vehicles

Notifications You must be signed in to change notification settings

hamdaan19/mav_precision_landing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mav_precision_landing

gazebo simulation disparity and raw image from VI sensor

This repository contains code for autonomous precision landing for Unmanned Aerial Vehicles. It has been simulated and tested on ROS-Noetic with the help of RotorS Simulator developed by ETH-ASL. The framework works on the basis of detecting an AR marker in the vicinity, estimating the position of the marker and finally planning its approach for landing.

Demo Video

Dependencies

  1. rotors_simulator by ETH-ASL
  2. opencv-contrib-python
  3. Klampt
  4. stereo_image_proc

ArUco Tags

These are fiducial markers used for the purpose of camera pose estimation. The framework developed uses ArUco markers for detection and landing. It contains an array of binary sqaures (black or white) and encodes a number. Each marker can be uniquely identified using this encoded number. They are most commonly used for augmented reality and related applications.

Getting Started

  1. Install rotors_simulator by following the instructions on the (linked) page.
  2. Install opencv-contrib-python.
pip install opencv-contrib-python
  1. Install Klampt from source by following the instructions here.
  2. Create a folder for your catkin workspace
mkdir -p <YOUR_WORKSPACE>/src
cd <YOUR_WORKSPACE>
catkin init
  1. Clone this repository into the src folder of your workspace.
cd src
git clone https://github.com/hamdaan19/mav_precision_landing.git
  1. Extending your workspace to the workspace where you have installed rotors_simulator.
cd ..
catkin config --extend ~/<PATH_TO_ROTORS_SIMULATOR_WS>/devel
  1. Build and then source your workspace
catkin build
source devel/setup.bash

Usage

To run a basic simulation of a Firefly drone performing autonomous precision landing:

roslaunch mav_precision_landing basic.launch

Note

  • Once you've installed rotors_simulator, change line 33 of the following file rotors_simulator/rotors_description/urdf/mav_with_vi_sensor.gazebo to "<origin xyz="0.1 0.0 -0.03" rpy="0.0 1.55 0.0" />" This changes the orientation of the VI-Sensor from front-facing to down-facing.

Citations

rotors_simulator

Fadri Furrer, Micheal Burri, Markus Achtelik, and Roland Siegwart, "RotorS---A Modular Gazebo MAV Simulator Framework in Robot Operating System (ROS): The Complete Reference (Volume 1)", pages: 595--625. In "Springer International Publishing" 2016.

Releases

No releases published

Packages

No packages published