Skip to content

Latest commit

 

History

History
113 lines (71 loc) · 4.44 KB

README.md

File metadata and controls

113 lines (71 loc) · 4.44 KB

imav2019

A ROS package for the International Micro Air Vehicle(IMAV) Competition, an yearly international aerial vehicle competition and conference

Overview

This package contains the following components:

  • Planner: A Finite State Machine implementation using the Boost C++ libraries for decision making, state transitions and actions during the mission.

  • Detector: A detection and pose estimation module to detect the colored mailboxes in the field.

  • Helipad Detector: A Helipad Detection module for accurate and precise landing on a helipad.

  • Router: A message reception, checks and feedback system for keeping track of the detected mailboxes between the UAVs. Implemented with help of the multimaster_fkie package used to sync messages among the UAVs.

  • Collision Avoidance: A collision avoidance module for a multi-UAV system.

  • Feature Detector: A feature detection module for detection of a house roof and a crashed UAV.

Dependencies

Installation

  • Create and initialize a workspace if you have not done so already. Clone the repository and initialize the package
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
catkin init  # initialize your catkin workspace
cd ~/catkin_ws/src
git clone [email protected]:gajena/imav2019.git
init . ./imav2019/install/install_https.rosinstall
wstool update

If you have a workspace, then just clone and initialize the package

cd <your-workspace>/src
git clone [email protected]:gajena/imav2019.git
init . ./imav2019/install/install_https.rosinstall
wstool update

Build using either catkin build imav2019 (requires python-catkin-tools) or catkin_make after cloning and initializing repository

Software Architecture

This module detects the centre of a helipad by detecting the two circles around the 'H' by using the ratio of their radii and the 'H' itself.

The image is first converted to a grayscale image which is then blurred to reduce noise. Edges are then detected in the image which is morphologically opened to remove some false detections. Contours are then extracted from this.

  • Circle Detection: Circles are detected and the ratio of the radii of the circles are matched to the expected ratio to detect accurately the circles enclosing the 'H'.

  • 'H' Detection: The 'H' is detected by finding the corners and the distances between them and matching them to the expected ratio.

For a more detailed description, have a look at the wiki of the repository.

References

(Maintain a list of references here that would be useful for documentation later.)

Misc. References (To be documented in detail later)

Planner

MultiMaster

DroneNet

Mosh - SSH's Superior Substitute

  • Mobile Shell
  • Can be fired up simply by sudo apt install mosh