The client requires Python 2 to be installed.
-
Install ROS Indigo for ARM by following instructions 2.1-2.7 here.
-
Create a catkin workspace:
$ mkdir -p ~/catkin_ws/src $ cd ~/catkin_ws/src $ catkin_init_workspace
-
Compile ardrone_autonomy:
$ cd ~/catkin_ws/src $ git clone https://github.com/AutonomyLab/ardrone_autonomy.git -b indigo-devel $ cd ~/catkin_ws $ rosdep install --from-paths src -i $ catkin_make
The build will fail with a message about an invalid instruction due to being on ARM.
-
Patch ardrone_autonomy build files and recompile:
$ cd ~/catkin_ws $ wget https://gist.githubusercontent.com/euclio/2d4a8cbcb4433853a510/raw/b691bdc59ae3e05164e17a620d33424604eff11e/armv7_catkin.patch $ patch -p1 < armv7_catkin.patch $ catkin_make
-
Compile ardrone_tutorials:
$ cd ~/catkin_ws/src $ git clone https://github.com/mikehamer/ardrone_tutorials $ cd ~/catkin_ws $ catkin_make
-
Install additional ROS packages:
$ sudo apt-get install ros-indigo-joy ros-indigo-cv-bridge
-
Install CUDA. Download the CUDA toolkit for toolkit for the version of Linux4Tegra you're running, and then follow the instructions.
-
Install OpenCV. Download OpenCV4Tegra for the version of Linux4Tegra you're running, and then follow the instructions.
-
Install the OpenCV4Tegra Python bindings:
$ sudo apt-get install libopencv4tegra-python
-
Install Qt and Python bindings:
$ sudo apt-get install python-pyside
-
Install adb.
$ sudo apt-get install android-tools-adb
-
Install the protobuf library.
$ sudo easy_install pip $ sudo pip install protobuf
-
Connect to the drone's Wi-Fi.
-
Prepare ROS.
$ source ~/catkin_ws/devel/setup.bash $ roscore $ rosrun ardrone_autonomy ardrone_driver
-
Run the client.
$ python launch.py