Skip to content

Install

Grégoire Roussel [LIX] edited this page Mar 25, 2019 · 7 revisions

Install

Technical requirements and supported versions

The project has been developped and tested for both:

  • Ubuntu 16.04 and ROS Kinetic [Lab PC: 40 CPUs, 64Go RAM, 1To SSD]
  • Ubuntu 18.04 and ROS Melodic [Personal PC: 8 CPUs, 16Go RAM, 128To SSD]

ROS Kinetic being shipped with Gazebo 7, attaching lights to models is not supported in that setup. Gazebo 7 will gracefully ignore the light source. To allow consistency, an enable_light parameter is present to explicitely disable the light sources in Melodic.

The project isn't particularly ressource heavy, most of the processing power was taken by the Gazebo physics engine. All operating rates for sp nodes are defined as parameters, and can be adjusted if needed.

Overview

System Requirements

Git LFS is only required to download big-sized visuals (demo videos). Although not recommended, it is (today) possible to clone the repo without LFS installed. LFS files will be represented as text links.

Additionnal python modules

  • typing (for static code checks)
  • numpy

Other ROS packages

  • wuwushrek/sim_cf
  • whoenig/crazyflie_ros

Optionnally

  • bitcraze/crazyflie-client-python can be useful to setup real experiments and monitor drones

Install script

The following install script was tested on a fresh Ubuntu install.

#!/bin/bash
##
# SP setup procedure
##

# SYSTEM DEPS
sudo apt install git python-pip python-tk
# should setup git-lfs at this point
# visit https://git-lfs.github.com/

# ROS INSTALLATION
# on ubuntu 18
# follow the repo installation procedure from ROS website
sudo apt install ros-melodic-ros-base
sudo apt install ros-melodic-rviz ros-melodic-gazebo-ros ros-melodic-xacro ros-melodic-map-server
# equivalent to catkin_make, but cleaner (and faster)
sudo apt install python-catkin-tools
# additional deps for wuwushrek/sim_cf
sudo apt install libopencv-dev ros-melodic-cv-bridge
# Don't forget to init rosdep if doing a fresh install

# PYTHON DEPS
pip install --user matplotlib numpy typing

# Workspace
source /opt/ros/melodic/setup.bash
mkdir -p rosws/src
cd rosws
catkin init
cd src

# crazyflie_ros
git clone https://github.com/whoenig/crazyflie_ros.git
cd crazyflie_ros
git submodule update --init --recursive
cd ..

# ===========
# sim_cf
git clone https://github.com/wuwushrek/sim_cf.git
# follow installation instructions from README
# currently:
# 
# Basic dependencies
sudo apt-get install git zip qtcreator cmake build-essential genromfs ninja-build -y
# Protobuf , eigen3 and google-glog dependencies
sudo apt-get install protobuf-compiler libgoogle-glog-dev libeigen3-dev libxml2-utils
cd sim_cf/
git submodule update --init --recursive
# build sitl
cd crazyflie-firmware/sitl_make
mkdir build
cd build
cmake ..
make
cd ../../../../ # back to src/

# sp
git clone https://github.com/Arpafaucon/sp.git

catkin build
# re-source ROS setup after changes
# those two setup files should be sourced automatically in .bashrc if you plan a heavy work with ROS
# see http://wiki.ros.org/catkin/Tutorials/create_a_workspace
# and http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment
source /opt/ros/melodic/setup.bash
source ~/rosws/devel/setup.bash