Installation#
There are several ways to use sdu_controllers, if you want to try the C++ examples simply follow the steps outlined in the Building sdu_controllers section.
Note
It is not necessary to install the library to be able to run the examples, this is only relevant if you want to use sdu_controllers as a library that you link to your own C++ application.
If you are interested in using the Python module you can follow the instructions given in the Quick install section.
Quick install#
The easiest way if you want to try out sdu_controllers, is to install the python module from PyPI.
pip install sdu_controllers
Building sdu_controllers#
Prerequisites#
Building sdu_controllers requires the following software installed:
A C++17-compliant compiler
CMake >= 3.9
Eigen3 >= 3.3 for linear algebra.
Doxygen (optional, documentation building is skipped if missing)
Python >= 3.8 for building Python bindings
On debian-based linux distributions like Ubuntu, you can install the dependencies with:
sudo apt install build-essential cmake python3-dev python3-pip libeigen3-dev
The following sequence of commands builds sdu_controllers. It assumes that your current working directory is the top-level directory of the freshly cloned repository:
git submodule update --init --recursive
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .
The build process can be customized with the following CMake variables, which can be set by adding -D<var>={ON, OFF} to the cmake call:
BUILD_TESTING: Enable building of the test suite (default: ON)
BUILD_DOCS: Enable building the documentation (default: ON)
BUILD_PYTHON: Enable building the Python bindings (default: ON)
BUILD_EXAMPLES: Enable building the examples (default: ON)
If you wish to build and install the project as a Python project without having access to C++ build artifacts like libraries and executables, you can do so using pip from the root directory:
git submodule update --init --recursive
pip install .
Building hardware specific examples#
To avoid any robot specific dependencies in the library and its examples, any examples targeted to a specific robot have been put in a separate folder which is not built by default. They can be found in the hardware_examples folder.
For building the UR examples ur_rtde is required.
The C++ examples can be build with a CMake option
cd build
cmake -DBUILD_UR_EXAMPLES=ON ..
cmake --build .
For the Python examples, sdu_controllers Python bindings have to be generated at the root directory
pip install .
and the Python dependencies of the examples installed with
pip install -r hardware_examples/python/ur/requirements.txt