Revision as of 19:54, 21 January 2011 by WikiSheriff (talk | contribs)

Jump to: navigation, search


The current work with AR.Drone from Parrot consists on evaluating different ways to interface a PC with AR.Drone.

Interfacing with AR.Drone

Controlling the AR.Drone using the Wii-mote on ROS


  • Download the Mobile Robotics Lab at SIUE repository [siue-ros-pkg]. This repository contains two packages ardrone_driver and ardrone_teleop which must to be installed in the stacks directory.


  • Verify AR.Drone boot sequence is completed and we can observe green leds on the bottom.
  • Enable the WIFI connection with the AR.Drone.
  • Launching ROS kernel:
      :~$ roscore
  • Loading drone driver:
      :~$ rosrun ardrone_driver ardrone_driver

This command connects drone at localhost address.

  • Running the node to operate the drone
       :~$ rosrun ardrone_teleop ardrone_teleop.

In ardrone_driver directory we can find a script to launch both nodes, the driver and remote operating. To launch this script use:

       :~$ roslaunch <$ROS_ARDRONE_DRIVER_PATH>/ardrone_wiimote_teleop.launch
  • To use the wiimote, run the python script into the wiimote packages
       :~$ rosrun wiimote
  • Wiimote application is waiting to press buttons 1 and 2 during at least 6 seconds. Next image describes the control layout
Control layout.jpeg

ARDRone Driver Properties


To obtain the topic list for node use the followed command:

       :~$ rostopic list -v

The list of topic for ARDrone driver is:

Published topics:

       /ardrone/imu/data [sensor_msgs/Imu] 1 publisher
       /ardrone/state [ardrone_driver/ARDroneState] 1 publisher
       /cmd_vel [geometry_msgs/Twist] 1 publisher

Subscribed topics:

       /cmd_vel [geometry_msgs/Twist] 1 subscriber


To obtain the message list for a topic (ex /cmd_vel) use the followed command:

       :~$ rostopic type /cmd_vel

The message list for topic is



To obtain the service list use the followed command:

       :~$ rosservice list

The service list for topic is

  • Finally the drone flying:

<wikiflv width="300" height="250" logo="true">/videos/Ar.drone.ros.flv</wikiflv>

Using URBI to monitor and control AR.Drone

URBI balltracking.png
  • Video trial:

<wikiflv width="300" height="250" logo="true">/videos/Ar.drone.urbi.flv</wikiflv>

Controlling drone with joystick or joypad using SDK Application


  • There are some packages required to compile the SDK code.
       :~$ sudo apt-get install libgtk2.0-dev
       :~$ sudo apt-get install libsdl1.2-dev
       :~$ sudo apt-get install libiw-dev


  • Download the SDK from the ARDrone development Wiki
  • Unpack to a folder of your choice
  • First we need to compile the base SDK.
       :~$ cd ARDroneAPI/ARDroneLib/Soft/Build
       :~$ make

and let it build. Within ARDroneLib there will now be a targets_versions folder with the compiled code.

  • Now we will compile the navigation example as it is the most verbose and has support for a PS3 controller o joystick
       :~$ cd ARDroneAPI/Examples/Linux/Navigation/Build
       :~$ make
       :~$ cd ARDroneAPI/ARDroneLib/Version/Release
  • Run the example
       :~$ ./ardrone_navigation
SDK application.png