Skip to content

Latest commit

 

History

History
59 lines (46 loc) · 3.64 KB

README.md

File metadata and controls

59 lines (46 loc) · 3.64 KB

ardrone2control

Project: Trajectory Control of AR.Drone ver 2.0 quadrotor model
Authors: Trung Nguyen and Oscar De Silva
Intelligent Systems Lab - Memorial University of Newfoundland - Canada

The project can be used for researching quadrotor with specific topics:

  • Trajectory control or path following
  • State estimation (Attitude and Heading Reference System)
  • Trajectory generation or path planning

Equipments

  1. AR.Drone quadrotor ver 2.0
  2. Ground station (desktop or laptop) with ROS (Fuerte, Hydro or Indigo) installed
  3. Optitrack motion capture system (or camera mounting on the ceiling)
  4. Joystick Logitech Attrack3 (optional)

Driver for AR.Drone ver 2.0

The C code project is in folder ardrone2islab: https://github.com/tn0432/ardrone2islab.git
Steps to complie and upload the code to AR.Drone are presented following:

  1. Prepare your code for attitude control to upload to AR.Drone
  2. [First time install compiler] Please follow the steps in the following link to setup the compiler as well as test simple program uploading to AR.Drone
  3. Open new terminal to setup compiler, codesourcery-arm-2009q3.sh
  4. cd to your folder ardrone2islab, make , it will generate an executive file fly_ardrone_pid
  5. Connect to AR.Drone wifi, the IP of AR.Drone: 192.168.1.1
  6. ftp 192.168.1.1
  7. Until see connection successful, Press Enter
  8. put fly_ardrone_pid. Now your file is in AR.Drone

How to run your file on AR.Drone board?

  1. Open new terminal or Ctrl+Alt+T
  2. telnet 192.168.1.1
  3. cd ./data/video/fly_ardrone_pid

The compiled file uploaded to AR.Drone will temporary kill the original file. The emergency-stop function is still running in AR.Drone. If any collision happens during experiment, the AR.Drone propellers will stop immediately.

How to restart AR.Drone back to original manufacturing? or How to make emergency stop for AR.Drone during flight?
Simple method is unpluging battery from AR.Drone and pluging it in again, or use following commands for emergency stop:

  1. Open new terminal or Ctrl+Alt+T
  2. telnet 192.168.1.1
  3. cd ./sbin/reboot

ROS node for ground station

The optitrack motion capture system will estimate the current position of AR.Drone and send that position to the ground station. The ROS driver for motion capture system is mocap_optitrack. In a ground station (your desktop), a ROS node (communication_node_pid_semitrajectorycontrol3) is used to calculate control signals sent to AR.Drone. The control signals are desired Thrust, Pitch, Roll, Yaw.

In the beginning, AR.Drone is at manual control state with very small value of Thrust. I use joystick for manual control. When it transfers to trajectory control state, the value of Thrust is set by the error of height. AR.Drone will start to track the desired circle trajectory. So, please focus on the safety issues when the flight mode is transfered to trajectory control!

Status

[January 2016] Upload the code project to github

Support or Contact

Trung Nguyen ([email protected])
Intelligent Systems Lab, Memorial University of Newfoundland, Canada

Reference

http://taghof.github.io/Navigation-for-Robots-with-WIFI-and-CV/blog/2012/01/13/Compiling-Code-For-The-ARDrone/
http://wiki.paparazziuav.org/wiki/AR_Drone_2
http://blog.perquin.com/blog/category/ardrone/