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:
- Connect your computer to ardrone wifi
- Run roscore on one terminal (just type that on the terminal) this initializes ros framework
- On another terminal write:
roslaunch your_folder_name