• Diff for "ucl_drone"
Differences between revisions 3 and 4
Revision 3 as of 2016-06-26 11:49:24
Size: 3560
Editor: Felicien93
Comment:
Revision 4 as of 2016-06-26 11:50:26
Size: 3557
Editor: Felicien93
Comment:
Deletions are marked like this. Additions are marked like this.
Line 45: Line 45:
=== 2. Install ucl_drone package: === === Install ucl_drone package: ===

Only released in EOL distros:  

Package Summary

The ucl_drone package

Overview

This package contains the implementation corresponding to the following master thesis:

  • Suivi d'une cible mobile par des drones autonomes. (J. Gérardy, F.Schiltz)

Abstract— In this thesis, we describe a system that enables a low-cost quadrocopter coupled with a ground-based laptop and a router navigate autonomously in previously unknown and GPS- denied environments. The first drone searches for a moving target in a 3 by 3 meters room. when it finds it, it starts following it. When its battery level becomes critical, it calls an other drone to replace him and it goes back to its starting position.

This is a video of two AR.Drone 2.0 executing the mission, using this package:

Quickstart

Installation

It is advised to use "hydro" version of ROS.

1. Install the ardrone_autonomy package. To do this, run:

# cd into ros root dir
roscd

# clone repository
git clone git://github.com/tum-vision/ardrone_autonomy.git ardrone_autonomy

# add to ros path (if required)
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:`pwd`/ardrone_autonomy

# build SDK (might require your confirmation to install some system libraries)
cd ardrone_autonomy
./build_sdk.sh

# build package
rosmake

OpenCV and PointCloudLibrary are also needed. To install them, follow the procedures on their respective websites.

Install ucl_drone package:

# cd into ros root dir
roscd

# clone repository
git clone git:https://github.com/Felicien93/ucl_drone.git

# compile
catkin_make in the root of ucl_drone package

Set up the router

As several drones communicate during this mission, it is mandatory to use a router and make the drones act as clients instead of hosts. The model we used was the "TPlink « TL-WR841N »" but any model should do.

The first step is to collect the MAC addresses of the drone you will use.

#Connect your computer to the drone's network

#Use telnet to access the drone network informations
telnet 192.168.1.1

#Display relevant informations
ifconfig ath0

#Note the drone's MAC address. You will need it later. It is written in the "HWaddr" field. MAC address example: 90:03:B7:2A:DF:11

#Set up your network card
sudo ifconfig eth0 192.168.1.253

#Type the IP address of your router in your internet navigator
192.168.1.254

#Connect on the page using the password and ID of the router

#Go in Network>Interfaces>Edit>LAN and define 192.168.1.254 in the ipv4address field.

#Go in Network>wifi and click add. Use the controller with "BGN" in his description.

#In "general setup" configure the essid fiel on "drone" and hide essid.

#Go back in Network>wifi and click "enable" next to the "drone" network

#Click on "edit". Go in Mac filter, chose "allow listed only" and add the MAC addresses of the drones you connected.

#In your files (not in navigator) go in src>ucl_drone>drone_preparation>Appareillage and add one file per drone. The file name should be the drone's network name (example: ardrone2_00217) and it should contain the IP address you want it to have (example: 192.168.1.5)

Run

# Connect to the drones. Go in src>ucl_drone>drone_preparation>Appareillage
bash autoconfarparrot

# run the program
roslaunch ucl_drone drone_new_with_target.launch 

Wiki: ucl_drone (last edited 2016-09-01 18:17:55 by dronesinma)