Project

General

Profile

Installing simulation environment » History » Revision 21

Revision 20 (Christophe Reymann, 2018-05-18 09:40) → Revision 21/49 (Christophe Reymann, 2018-05-18 13:21)

h1. Installing simulation environment 

 h2. Dependencies 

 * Python3 with setuptools, docopt, numpy, pyaml, rospkg, catkin_pkg 
 * Eigen3 
 * GDAL (version > 2) 
 * CMake 
 * libglew, libglew-dev 
 * ROS kinetic (on ubuntu: ros-kinetic-desktop ros-kinetic-tf2-eigen) 
 * Blender 
 * A c++14 compatible compiler 

 h2. On own computer 

 Make sure ROS environment is sourced, then: 
 <pre> 
 git clone ssh://git@redmine.laas.fr/laas/users/simon/agridrone/precidrones-main.git && cd precidrones-main/dev && rsync -r /net/skyscanner/volume1/data/precidrone/IGN . && make world 
 </pre> 
 And make sure to import the morse simulations before using them, for example (in the precidrones-main/dev folder): 
 <pre> 
 morse import morse/preci1 
 </pre> 

 h3. On LXD vm 

 Install and configure lxd: 
 <pre> 
 sudo snap install --edge lxd 
 sudo lxd init 
 </pre> 
 Lxd will ask for configuration, I used: 
 * clustering: no 
 * new storage pool: yes 
 * name: default 
 * type: zfs 
 * create new zfs pool: yes 
 * use existing block device: no 
 * size in GB of the new loop device: 40 
 * connect to a MAAS server: no 
 * create local network bridge: yes 
 * bridge name: lxdbr0 
 * ipv4 address: auto 
 * ipv6 address: auto 
 * LXD availqble over the network: yes 
 * address to bind lxd to: all 
 * port: 8443 
 * trust password: <password> 
 * auto update stale cached images: yes 
 * print YAML lxd preseed: yes 

 Creating the container: 
 <pre> 
 sudo lxc launch ubuntu:16.04 precidrone-sim 
 </pre> 

 Configuring the container: 

 Installing dependencies: 
 <pre> 
 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 update 
 sudo apt install ros-kinetic-ros-base ros-kinetic-tf2-eigen 

 </pre>