In this tutorial you will learn how to fly the ARDrone from Parrot using ROS. ROS(Robotics Operating System) is an open source tool for creating robot applications. It saves a lot of development time and in the same time help to create robust real time softwares for ones project.
Before you take this tutorial, I suggest you to go through the basics of ROS and also to install ROS itself here. This tutorial uses ROS-ELECTRIC and the OS used is Ubuntu 10.10. After you downloaded ROS go here and download the Brown-ros stack which could be done by opening up a terminal and enter:
svn checkout http://brown-ros-pkg.googlecode.com/svn/trunk/brown-ros-pkg-read-only
Before we go for the test of ARDRONE make sure you have the following packages.In a terminal, type:
roscd ardrone_brown
Make sure you are taken to the respective package's folder if not you have to download the corresponding package.Likewise enter(in the same terminal)
roscd drone_teleop roscd image_view
Now the packages are at place we are going to make it and create a driver file.
Step 1: Go to /brown-ros-pkg-read-only/experimental/ardrone_brown (using the terminal) Step 2: In the terminal enter the following commands(one after the other):
sh build_sdk.sh cmake . rosmake
Make sure you receive 0 failures at the end of rosmake. There are possibilities that you may run into some problems if you are plan to use ROS-Fuerte(latest version of ROS). I personally have not tried that yet.
Step 3: If everything went well right you should be seeing a driver file named “ardrone_driver” in the bin folder.
Step 1: Switch on the ARDRONE and wait for the led lights on the ardrone to turn green Step 2: Open up a terminal(ctrl+alt+T) and enter :
roscore
Step 3:Open up an other terminal and enter:
rosrun ardrone_brown ardrone_driver
Step 4: Again in a new terminal enter:
rosrun drone_teleop drone_teleop.py
Step 5:Open up a terminal and enter :
rosrun image_view image_view image:=/ardrone/image_raw
This should give a video feed from the ardrone
Step 6: If all of the above steps are successful, you should be able to control the drone using the drone_teleop portal. Here is a video of the ARDRONE being controlled using the Brown ROS package