Installing ROS Kinetic and Connection to Parrot Drone

Step 1:

Setup your computer to accept software from ROS site. For this open the terminal in your computer and type:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' 

Enter password and follow to the next step.

Step 2:

Also in the terminal type:

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

This will set up the keys for the download.

Step 3:

First, make sure your Debian package index is up-to-date:

sudo apt-get update

After this you can install ROS Kinetic by typing:

sudo apt-get install ros-kinetic-desktop

Step 4:

Initialize rosdep, update it and setup the environment (each line is a different input for the terminal):

sudo rosdep init
rosdep updateecho "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

Step 5:

Open the terminal and open .bashrc using the command:

gedit ~/.bashrc

Go to the end of the document and add the line:

source/opt/ros/kinetic/setup.bash

Save it and exit gedit, close terminal and open a new one. Install catkin and build the workspace by following the following lines:

sudo apt-get install ros-kinetic-catkin
cd
mkir -p ~catkin_ws/src
cd ~/catkin_ws
catkin_make
gedit /.bashrc

Add the line at the end of the document, each to be saved in different lines:

source ~/catkin_ws/devel/setup.bash
export ROS_PACKAGE_PATH = ~/catkin_ws:$ROS_PACKAGE_PATH

Save and exit the terminal and open a new one, type:

sudo apt install git
cd ~/catkin_ws/src
git clone https://github.com/AutonomyLab/ardrone_autonomy
cd ..
rosdep install --from-paths src --ignore-src
catkin_make
catking_ws/src
catkin_create_pkg insert_name_here std_msgs rospy roscpp cv_bridge

Copy and paste the following code into a code editor and save it as “dronelaunch.launch” to your package (it should be a folder in your computer):

<launch>
<arg name="droneip" default="192.168.1.1"></arg>
<node name="ardrone_driver" pkg="ardrone_autonomy" type="ardrone_driver" output="screen" args="-ip $(arg droneip)">
<param name="navdata_demo" value="False" /><param name="realtime_navdata" value="True" /><param name="realtime_video" value="True" /><param name="looprate" value="30" /></node>
</launch>

Before testing your code on your drone you must:

  1. Connect your computer to ardrone wifi
  2. Run roscore on one terminal (just type that on the terminal) this initializes ros framework
  3. On another terminal write:
     roslaunch your_folder_name