Kinematics and Dynamics for Robotics
Getting started

This library comes a long with a Cheatsheet, which shows the mathematical notation and should help you to understand what is implemented.

This is a very short guide on how to get started with this library.


This library is written in C++11.

  • Eigen 3.2.0 (Older versions might also work)
  • GCC 4.7 is required at the minimum.
  • CMake 2.8.3 is required at the minimum.


Build the Library with CMake

mkdir build
cd build
cmake ..

The library can additionally be installed by

sudo make install

This will copy the file FindKindr.cmake to the module path of CMake.

Install the Library from Debian Package for ROS

The maintainers of this project provide binary packages for ROS and Ubuntu LTS releases. To install these packages, you may follow these instructions:

  • Add the project PPA to your APT sources by issuing
sudo add-apt-repository ppa:ethz-asl/common

on the command line

  • To re-synchronize your package index files, run
sudo apt-get update
  • Install all project packages and their dependencies through
sudo apt-get install ros-indigo-kindr-*

or selected packages using your favorite package management tool. The package will be installed to the default ROS directory.

Build the Library with Catkin

Build kindr with catkin:

cd ~/catkin_ws/src
git clone
catkin_make_isolated -C ~/catkin_ws

or with catkin command line tools:

cd ~/catkin_ws/src
git clone
catkin build -w ~/catkin_ws kindr

Kindr can be included in your catkin project with: Add the following to your CMakeLists.txt:

find_package(catkin COMPONENTS kindr)

And to your package.xml:


Build this Documentation

Doxygen needs to be installed to create this documentation.

mkdir build
cd build
cmake ..
make doc

The doxygen documentation can be found here: doc/doxygen/doc/html/index.html

Build Unit Tests

The unit tests depend on google tests. The GTests are built as soon as the folder gtest exists in the root folder.

Download and use GTest:

ln -s gtest-1.7.0 gtest
mkdir build
cd build
cmake .. -DBUILD_TEST=True

How to Continue

See Users to learn how to use this library.

See Developers to learn how to develop this library.