Orocos
Introduction
Orocos (http://orocos.org) - the Open Robot Control Software - is a software framework intended for use in robots (or computer-controlled machines in general) and provides a real-time messaging service between the networked components of a robot (e.g., sensors and actuators), a library of 'Orocos components' for various hardware, a kinematics library for simulation of the physical world of the robot, as well as a library for performing common Bayesian inference calculations.
The source code repository is hosted by GitHub.
The latest documentation is hosted by the University of Leuven.
Building the Toolchain as Standalone Libraries
RTT
First of all, download the latest version of Orocos RTT from https://github.com/orocos-toolchain/rtt.git
Then install Xerces and Doxygen if you haven't already:
sudo apt install libxerces-c-dev doxygen
Boost
For robo.fish software we use a specific version of Boost. Therefore the CMake build scripts of RTT need to be modified to pick up this version. Open the file check_depend.cmake in the config subfolder of the RTT root folder and replace
find_package(Boost 1.38 COMPONENTS filesystem system unit_test_framework thread serialization) # Look for boost if ( PLUGINS_ENABLE ) if (NOT Boost_FILESYSTEM_FOUND OR NOT Boost_SYSTEM_FOUND) message(SEND_ERROR "Plugins require Boost Filesystem and System libraries, but they were not found.") endif() list(APPEND OROCOS-RTT_INCLUDE_DIRS ${Boost_FILESYSTEM_INCLUDE_DIRS} ${Boost_SYSTEM_INCLUDE_DIRS} ${Boost_SERIALIZATION_INCLUDE_DIRS}) list(APPEND OROCOS-RTT_LIBRARIES ${Boost_FILESYSTEM_LIBRARIES} ${Boost_SYSTEM_LIBRARIES} ${Boost_SERIALIZATION_LIBRARIES}) endif()
with this
set (BOOST_ROOT "/usr/local/boost_1_67_0") set (Boost_NO_SYSTEM_PATHS ON) set (Boost_USE_MULTITHREADED ON) set (Boost_USE_STATIC_LIBS OFF) set (Boost_USE_STATIC_RUNTIME OFF) set (BOOST_ALL_DYN_LINK ON) find_package(Boost 1.67 COMPONENTS filesystem system unit_test_framework thread serialization) # Look for boost if ( PLUGINS_ENABLE ) if (NOT Boost_FILESYSTEM_FOUND OR NOT Boost_SYSTEM_FOUND) message(SEND_ERROR "Plugins require Boost Filesystem and System libraries, but they were not found.") endif() list(APPEND OROCOS-RTT_INCLUDE_DIRS ${Boost_INCLUDE_DIRS}) list(APPEND OROCOS-RTT_LIBRARIES ${Boost_FILESYSTEM_LIBRARIES} ${Boost_SYSTEM_LIBRARIES} ${Boost_SERIALIZATION_LIBRARIES}) endif()
After configuring Boost, continue by creating the build subfolder and running cmake from there:
mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=/usr/local/orocos -DCMAKE_CXX_FLAGS="-std=c++11" ..
where you can enable compilation for C++11 and set the installation folder prefix, which I assume to be /usr/local/orocos.
Then build and install the libraries via
sudo make -j4 install