Skip to content

Ubuntu and ROS

Inkyu edited this page Aug 31, 2017 · 7 revisions

This page describes how to install our DJI ROS SDK framework on your machine. In this tutorial, we use Ubuntu 14.04.5 (downloadable from here, image file name is ubuntu-14.04.5-desktop-amd64.iso).

Version Information

$cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.5 LTS"
 
$uname -a
Linux falcon2 4.4.0-31-generic #50~14.04.1-Ubuntu SMP Wed Jul 13 01:07:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

ROS and ROS packages

  1. Install ROS by following the command line instructions below (taken from here).
$sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
 
$sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
 
$sudo apt-get update
 
$sudo apt-get install ros-indigo-desktop-full
 
$mkdir -p ~/indigo_catkin_ws/src
 
$sudo apt-get install python-wstool python-catkin-tools \
ros-indigo-octomap-ros ros-indigo-ompl ros-indigo-fcl \
ros-indigo-dynamic-edt-3d libssh2-1-dev unzip libyaml-cpp0.5 \
liblog4cplus-dev libv4l-dev cimg-dev liblapacke-dev \
ros-indigo-cmake-modules ros-indigo-keyboard ros-indigo-joy \
openssh-client openssh-server ros-indigo-librealsense
  1. Initialize catkin workspace:
$mkdir -p ~/indigo_catkin_ws/src
$cd ~/catkin_ws
$catkin init
$catkin config --extend /opt/ros/indigo
$catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
$catkin config --merge-devel
$catkin build
  1. Install our ROS infrastructure: This section presents installation of our ROS packages with the exact software versions. Although it is possible to use git's submodule to avoid manual versioning, we want to retain the ROS environment structure such that all packages are located under 'src' folder, not under a package folder [TODO: consider to use rosinstall].
$cd src
$git clone https://github.com/ethz-asl/mav_dji_ros_interface
$cd mav_dji_ros_interface
$git reset --hard 4105dd54aef490fa4a12fe7d1d0fbb74a3bc3b43
$cd ..

$cd src
$git clone --recursive https://github.com/ethz-asl/rovio -b fix/MalfunctioningPoseUpdate
$cd rovio
$git reset --hard 230ae42c89014c911b88d0510b7334db2ee7ad65
$cd ..

$git clone https://github.com/ethz-asl/mav_control_rw
$cd mav_control_rw
$git reset --hard 2c4a0547f760dfb806d0b607d1ef088d31f5340f
$cd ..

$git clone https://github.com/ethz-asl/mav_comm.git
$cd mav_comm
$git reset --hard 521b2b21ffb6c86e724a9b6144b0171a371c9ee4
$cd ..

$git clone https://github.com/ethz-asl/eigen_catkin.git
$cd eigen_catkin
$git reset --hard 22711e11a21b3d63b6140ee1891178356017bdcc
$cd ..

$git clone https://github.com/ethz-asl/ethzasl_msf.git
$cd ethzasl_msf
$git reset --hard 44ef3efe6de6dd5cb9866cabdef9769bbcc00d77
$cd ..

$git clone https://github.com/catkin/catkin_simple
$cd catkin_simple
$git reset --hard 0e62848b12da76c8cc58a1add42b4f894d1ac21e
$cd ..

$git clone https://github.com/ethz-asl/glog_catkin
$cd glog_catkin
$git reset --hard 7e357d8253a9dddceda28a7da1c3ed6501f5aede
$cd ..

$git clone https://github.com/ethz-asl/mav_trajectory_generation
$cd mav_trajectory_generation
$git reset --hard cc59cf81c0f9e94a386f7b925ccc69a41e3a8e8b
$cd ..

$git clone https://github.com/ethz-asl/geodetic_utils
$cd geodetic_utils
$git reset --hard 3107249a7c391d34689ba4ecb1ed6f347f594f41
$cd ..

$git clone https://github.com/ethz-asl/nlopt
$cd nlopt
$git reset --hard 04ae2f544b2cb49a7842d0fedf1f36147eddaf08
$cd ..

$git clone https://github.com/ethz-asl/realsense -b fix_image_drops
$cd realsense
$git reset --hard daea534c4f161f0674783924c0a8e347b863b019
$cd ..



  1. To build the workspace, run the following command at your catkin workspace root, '~/catkin_ws'
 $ catkin build

This will take around 10-15min, so have some coffee while waiting for compilation to complete. After the compilation, you should see the console output below:

Clone this wiki locally