Skip to content

michaelwachl/autonomous_drone_plant_detection

Repository files navigation

Flybot: Autonomous Plant Detection and Localization on a Micro-Drone

alt text

This Project is about autonomous navigation of an micro aerial vehicle (MAV) and part of my master thesis. The micro drone Tello EDU is used and controlled in ROS with a remote PC.

TO DO LIST

  • Tello driver and messages
  • RQT GUI implementation
  • Uncompressed video topic
  • Keybord control
  • 3D positions as odom
  • 3D positions and point cloud map with orbslam 2
  • PID position controller and mission commander
  • Object dection with costum data set and YOLOv4
  • Object tracking with costum data set and YOLOv4
  • Scale routine
  • Object localization with YOLOv4 bounding box
  • Object localization with pointclould and bounding box
  • Plausability check and other tests
    • Position drift hover, circle path with odom and slam position
    • Bounding box 3D lines
    • Size of training set
    • Miss or no detections of a video sequenz
    • Induce erros

Table of contents

Introduction

Getting Started

This run this project several packages need to be downloaded and installed.

git clone --recursive mygit

To compile them run:

caktin_make

in from your workspace folder in your terminal.

The minimum required packages are:

  • tello_driver Used for communication with drone (forked and extended)
  • tello_description Used for visualization and links of drone (forked and extended)
  • tello_controller Used to do missions and position control
  • tello_rqt_gui Used to send commands, shoot videos and fotos display states
  • darknet_ros_yolov4 Used to do detection of tomato plants and output bounding boxes (forked and extended)
  • sort_track Used to track objects/bounding boxes (forked and extended)
  • orb_slam_2_ros Used to map environment, output point cloud and pose estimation (forked and extended)
  • localize_plants Used to calculate plant location with bonding box and/or point cloud
  • pointcloud_editor Used to process point cloud

Some other useful packages are:

Visit each package for further instructions and explanations.

Prerequisites and Installing

Tested on System

Python Packages

If you used miniconda for your environment you don't need to pip install libaries like numpy, qt, pyqt. All packages should be covered by creation.

Wiki

For instruction on how to set up your machine, CUDA, Darknet and other useful tip visit the Wiki of this project.

Useful Websites

Tello

SLAM

Object Detection

Object Tracking

Flybot GUI

Authors

Maintainer: Michael Wachl, michael.wachl@tum.de

License

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgments

  • Hat tip to anyone whose code was used
  • Inspiration
  • etc

Similar Projects

Notes

In Empy may be missing, install it

pip install empy

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published