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:
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
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
install conan via pip
sudo pip install conan
conan remote add lms http://mineforce.de:9300
cd <your working direktory>
clone config_auto_drive
git clone https://github.com/lms-org/config_auto_drive
cd config_auto_drive
set up submodules
git submodule init
git submodule update
set up extra submodule in trajectory controller (TODO: remove in future)
cd external/modules/trajectory_controller/
git submodule init
git submodule update
cd ../../../
install ximea_driver
sudo external/modules/ximea_importer/ximea_driver/install
create build directory
mkdir build
cd build
install conan dependencies (grab a coffee ☕) preperations:
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
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.
cmake ..
make -j<number of cores>
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
Look at the *.sh
scripts