- Notifications
You must be signed in to change notification settings - Fork238
The Robotics Library (RL) is a self-contained C++ library for rigid body kinematics and dynamics, motion planning, and control.
License
roboticslibrary/rl
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
TheRobotics 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.
We offer precompiled Ubuntu packages onLaunchpad as well as Windows binaries onGitHub for the latest release version, whileHomebrew 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
- install the latest release onUbuntu,Windows, ormacOS,
- create your first program using RL onLinux orWindows,
- have a look at our short APIoverview and ourdocumentation,
- create yourrobot model with a kinematics and geometry definition,
- plan a collision-free path in yourpath planning scenario,
- build RL from source onUbuntu,Windows, ormacOS.
RL includes a number of demoapplications and a selection ofkinematics,geometry, andpath 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 aseparate repository.
Among several others, these demo applications include
- a tool forconverting between rotation matrices, angle axis, quaternions, and Euler angles,
- the visualization ofcollision detection queries that can highlight intersections, minimum distance, and penetration depth,
- akinematics simulator that uses a TCP port for joint position updates,
- adynamics simulator that listens for joint torque updates,
- the calculation of a collision-free path using aProbabilistic Roadmap or aRapidly-Exploring Random Tree,
- the visualization ofpath planning queries based on scenario definitions from an XML file,
- robotforward and inverse dynamics using the Recursive Newton-Euler and Articulated-Body Algorithm methods,
- the calculation ofdynamics properties such as mass matrix, centrifugal and Coriolis forces, or gravity compensation,
- the calculation and sending of atrajectory to a robot controller based on a cubic or quintic polynomial.
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. InProceedings 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},}All source code files of RL are licensed under the permissiveBSD 2-clause license. For the licenses of third-party dependencies, please refer to the respective projects.
About
The Robotics Library (RL) is a self-contained C++ library for rigid body kinematics and dynamics, motion planning, and control.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.