Robotics Library

Frequently Asked Questions

We are very glad you are checking the frequently asked questions first. If your question is not answered by this list, please send us an email.

General Project-related, License, Citations

How do I get started really quickly and see if RL suits my project's needs?

If you are new to RL, we recommend to choose the Ubuntu Installation, which is the most convenient way to try out RL. We would even recommend to set up a virtual machine with Ubuntu just for trying out and inspecting RL. You can add the Launchpad repository, install the latest version with your package manager and run the examples. Then, follow the tutorials and learn how to develop with RL.

May I use RL in my project or in my company?

Almost certainly yes. It is used in many research projects and commercial companies. RL itself uses the very permissive BSD 2-clause license. Depending on your application, you may need to link dependencies that have other open source licenses, please check the license page for details.

Why is the last source code update so long ago?

RL is actually developed in an internal SVN, which contains very little but some undisclosed software. For that reason, we publish only rather stable versions and then take the time to branch the 99% of it which are open source. The visible SourceForge and GitHub activity is centered around these publications.

How can I cite RL in my scientific publication?

Thank you! The most recent overview can be found in our IROS paper from 2017. The reference is

Markus Rickert and Andre Gaschler. Robotics Library: An object-oriented approach to robot applications. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pages 733–740, Vancouver, BC, Canada, September 2017. DOI PDF BibTeX

  author    = {Markus Rickert and Andre Gaschler},
  title     = {{R}obotics {L}ibrary: An Object-Oriented Approach to Robot Applications},
  booktitle = {Proceedings of the {IEEE}/{RSJ} International Conference on Intelligent Robots and Systems ({IROS})},
  year      = {2017},
  pages     = {733--740},
  address   = {Vancouver, BC, Canada},
  month     = sep,
  doi       = {10.1109/IROS.2017.8202232},

Building and Dependencies

CMake asks for Intel IPP: What do I really need - IPP or Eigen?

In short: You only need Eigen 3 and the latest Robotics Library. From version 0.5.1 on, Robotics Library moved from IPP to Eigen. Eigen is much easier to install and to use, and its performance is comparable. You do not need Intel IPP, and it is no longer used. Please make sure your source is at least version 0.5.1.

Eigen throws assert errors when compiling?

Eigen makes heavy use of vector functions and therefore needs 128 bit aligned data. If that happens within your code (usually on 32-bit systems), please follow the explanation of the assertion on unaligned arrays. If you are sure the mistake is within our code, please let us know.

Applications or visualization examples of RL segfault or crash shortly after or when a visualization window is opened? More precisely: Segfaults with SOLID in the stack trace are thrown. Or, SOLID does not compile or crashes.

This is a bug within SOLID that does not show up until runtime. Make sure you use a proper version of SOLID, either one from our PPA or built from GitHub via CMake. Have a look at the build instructions for Ubuntu to see how to build a correct binary.

Error when compiling with MinGW: Can't write x bytes to section .text, file too big, too many sections

Some versions of MinGW may show this error when compiling RL with the FCL dependency in a debug build. Please try adding -Wa,-mbig-obj to CMAKE_CXX_FLAGS as a workaround.

Running Programs

Executables or demos cannot run because the file QtOpenGL4.dll or similar is not found, even though I installed everything correctly? (Windows)

Please make sure you correctly set the environment variables PATH and CMAKE_PREFIX_PATH according to the installation instructions.

Executables or demos cannot run because the shared object or similar is not found, even though I installed everything correctly? (Linux, often Ubuntu >= 12.04)

CMake may by default install into specific folders like /usr/local/lib/x86_64-linux-gnu which may not be automatically indexed. You can add that directory to ldconfig following this Stackoverflow answer.