Repo symbol

ucl_drone repository

Repo symbol

ucl_drone repository

Repo symbol

ucl_drone repository

Repo symbol

ucl_drone repository

Repo symbol

ucl_drone repository

Repo symbol

ucl_drone repository

Repo symbol

ucl_drone repository

Repo symbol

ucl_drone repository

Repo symbol

ucl_drone repository

Repo symbol

ucl_drone repository

Repo symbol

ucl_drone repository

Repo symbol

ucl_drone repository

Repo symbol

ucl_drone repository

Repo symbol

ucl_drone repository

Repo symbol

ucl_drone repository

ucl_drone ucl_drone_gui

Repository Summary

Checkout URI https://github.com/dronesinma/ucl_drone_2016.git
VCS Type git
VCS Version master
Last Updated 2017-09-22
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
ucl_drone 0.0.1
ucl_drone_gui 0.0.0

README

UCL_DRONE_2016

This repository contains the code related to the two master theses conducted at INMA (UCL) in 2016 using Parrot AR.Drone 2.0.

Please contact drones-inma (AT) uclouvain (DOT) be for more information.

Please read CONTRIBUTING.md to respect code conventions.

Workspace initialisation

Follow these instructions to set up a development ROS workspace containing this repository.

  1. (Install ROS)
  2. Go into the folder where you want to copy this repository.
  3. Clone (git clone).
  4. Follow official ROS workspace initialisation (see ROS Wiki)
  5. Add the folder path into your .bashrc

Open

$ nano ~/.bashrc

Add this line at the end of the file

source <path to your ROS workspace>/devel/setup.bash

Required packages and libraries

  • ardrone_autonomy, if not present in your ROS installation, clone it into <path to your ROS workspace>/src
  • OpenCV 2.4.* is required with non-free modules
  • PCL (PointCloudLibrary)

Build

This package use catkin, type the following command in your terminal at your ROS workspace root:

catkin_make

Edit CMakeLists.txt in packages folder if you want to create new ROS nodes or add some dependencies.

Folders structure

In ucl_drone package:

  • drone_preparation/Appareillage Contains autoconfarparrot to reconfigure AR.Drone for multi-drone missions. (see README in this folder)

  • doc/ Documentation rosdoc (see below).

  • include/ucl_drone/ Contains C++ header files.

  • launch/ Contains all .launch files (see README in this folder).

  • msg/ Contains ROS messages definitions.

  • src/ Contains ROS nodes.

    • controller/

      This node sends Takeoff/Land and velocities commands. This is a simple pose (position+orientation) controller (in the world coordinates).

    • computer_vision/

      This node performs keypoints extraction from the video stream and target detection.

    • map/

      This node builds a map containing observed keypoints and performs pose estimation based on visual keypoints. (see SLAM)

    • path_planning/

      This node sends successive pose to the controller according to the instructions from the strategy node.

    • pose_estimation/

      This node performs a simple sensor fusion for pose estimation.

    • strategy/

      This node determines successive operation and drives the drone to the mission objectives.

    • multi_strategy/

      This node gives a role to each drone before the beginning of the mission.

  • srv/ Contains ROS services defintions.

  • target/ Contains target pictures.

  • CmakeLists.txt Contains instructions to build nodes with catkin.

  • package.xml Package information.

Quick start

With only one drone and without router

File truncated at 100 lines see the full file

CONTRIBUTING

UCL_DRONE CONTRIBUTING

Please read the two reports of master students graduated in 2016.

Please follow the ROS guidelines:

  • http://wiki.ros.org/QAProcess
  • http://wiki.ros.org/CppStyleGuide
  • http://wiki.ros.org/ROSNodeTutorialC%2B%2B
  • https://github.com/davetcoleman/roscpp_code_format

Please document your code and respect the Doxygen syntax:

  • http://wiki.ros.org/rosdoc_lite
  • http://www.stack.nl/~dimitri/doxygen/manual/docblocks.html
  • https://www.stack.nl/~dimitri/doxygen/manual/commands.html

The code contains some TODO tags. These highlight some ideas of new features that can help the future contributors. Here is a summary:

  • Parameters:
    • More parameters need to be tunable from the launch file to avoid compilation delay during the test phases
    • Some of these parameters would be tunable during the runtime using the ROS server to ease development
    • Here some examples:
      • target’s path (also add a selection menu in the ucl_drone_gui)
      • keypoint detection and description
      • thresholds to detect the target
      • thresholds in the mapping node
# UCL_DRONE CONTRIBUTING Please read the two reports of master students graduated in 2016. Please follow the ROS guidelines: * http://wiki.ros.org/QAProcess * http://wiki.ros.org/CppStyleGuide * http://wiki.ros.org/ROSNodeTutorialC%2B%2B * https://github.com/davetcoleman/roscpp_code_format Please document your code and respect the Doxygen syntax: * http://wiki.ros.org/rosdoc_lite * http://www.stack.nl/~dimitri/doxygen/manual/docblocks.html * https://www.stack.nl/~dimitri/doxygen/manual/commands.html The code contains some TODO tags. These highlight some ideas of new features that can help the future contributors. Here is a summary: * Parameters: * More parameters need to be tunable from the launch file to avoid compilation delay during the test phases * Some of these parameters would be tunable during the runtime using the ROS server to ease development * Here some examples: * target's path (also add a selection menu in the `ucl_drone_gui`) * keypoint detection and description * thresholds to detect the target * thresholds in the mapping node
Repo symbol

ucl_drone repository

Repo symbol

ucl_drone repository

Repo symbol

ucl_drone repository

Repo symbol

ucl_drone repository