Skip to content

main repository for config files (includes all needed modules & libs as git submodules)

Notifications You must be signed in to change notification settings

lms-org/config_auto_drive

Repository files navigation

Main Configuration for TUM Phoenix Drive Software

Configuration which includes all necessary configuration files and includes components as git submodules.

We use LMS (https://github.com/lms-org/lms) as Middleware Framework.

We require some packages:

  • basic build stuff
  • automake is needed for protobuffers
  • libsdl2 because of mac
  • qt because we have some fancy viz stuff going on
  • currently only support for specific compiler versions: gcc-4.8 and g++-4.8

Tip: HowTo change compiler in ubuntu: https://askubuntu.com/questions/466651/how-do-i-use-the-latest-gcc-on-ubuntu

Additionally we use Conan (https://conan.io/) to build some more libs (like openCV, ...) from source. This makes sure that we always have the correct version. We have our own Conan Server running at http://mineforce.de:9300

Achievements

How to install

  1. install extra ubuntu packages
sudo apt-get update
sudo apt-get install python python-pip build-essential make git cmake automake libtool libsdl2-dev gcc-4.8 g++-4.8 qt5-default
  1. install conan via pip

sudo pip install conan

  1. add remote to conan

conan remote add lms http://mineforce.de:9300

  1. go to your working direktory

cd <your working direktory>

  1. clone config_auto_drive
git clone https://github.com/lms-org/config_auto_drive
cd config_auto_drive
  1. set up submodules
git submodule init
git submodule update
  1. set up extra submodule in trajectory controller (TODO: remove in future)
cd external/modules/trajectory_controller/
git submodule init
git submodule update
cd ../../../
  1. install ximea_driver

sudo external/modules/ximea_importer/ximea_driver/install

  1. create build directory
mkdir build
cd build
  1. install conan dependencies (grab a coffee ☕) preperations:
  • make sure gcc-4.8 and g++-4.8 are installed.
  • in ~/.conan/profiles/default change the compiler to gcc and the version to 4.8
  • use following command to modify the systems compilers:
  • sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100
  • sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 100

then you are ready for:

conan install .. --build=outdated --build=missing

  1. turn on optimization (optional)

You may want to turn on code optimization (its faster, but debug may not work). Add an optimization flag (e.g. -O2) in the top level CMakeLists to the CMAKE_CXX_FLAGS flags.

  1. compile it
cmake ..
make -j<number of cores>
  1. add /dev/* symlinks for hokuyo lidar and senseboard and change mode of ximea
echo 'ACTION=="add", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="5740", MODE="0666", SYMLINK+="senseboard"' | sudo tee /etc/udev/rules.d/98-senseboard.rules
echo 'KERNEL=="ttyACM[0-9]*", SUBSYSTEM=="tty", SUBSYSTEMS=="usb", ATTRS{idVendor}=="15d1", ATTRS{idProduct}=="0000", MODE="0666", SYMLINK+="hokuyo_lidar"' | sudo tee /etc/udev/rules.d/97-hokuyo_lidar.rules
sudo sed -i -e 's/ATTRS{idProduct}=="3001", GROUP="plugdev"/ATTRS{idProduct}=="3001", MODE="0666", GROUP="plugdev"/g' /etc/udev/rules.d/99-ximea.rules

How to start it?

Look at the *.sh scripts