Home

Awesome

Robotics Library

The Robotics Library (RL) is a self-contained C++ library for rigid body kinematics and dynamics, motion planning, and control. It covers spatial vector algebra, multibody systems, hardware abstraction, path planning, collision detection, and visualization. It is being used in research projects and in education, available under a BSD license, and free for use in commercial applications. RL runs on many different systems, including Linux, macOS, and Windows. It uses CMake as a build system and can be compiled with Clang, GCC, and Visual Studio.

Getting Started

We offer precompiled Ubuntu packages on Launchpad as well as Windows binaries on GitHub for the latest release version, while Homebrew can be used on macOS to build corresponding packages. Tutorials on our website provide further information on how to develop applications using RL.

These tutorials include instructions on how to

Next Steps

RL includes a number of demo applications and a selection of kinematics, geometry, and path planning examples that demonstrate how to use it for more advanced applications. Due to their size, a larger set of examples can be found in a separate repository.

Among several others, these demo applications include

Publications

For more detailed information on the design of the Robotics Library, please have a look at our IROS paper. 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.

@InProceedings{Rickert2017a,
  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},
  year      = {2017},
  pages     = {733--740},
  address   = {Vancouver, BC, Canada},
  month     = sep,
  doi       = {10.1109/IROS.2017.8202232},
}

License

All source code files of RL are licensed under the permissive BSD 2-clause license. For the licenses of third-party dependencies, please refer to the respective projects.