Software

I am involved in some open source projects. Here are some of them. I also have a Github account.

slither - A private replacement for online training logs. (Python)
Commercial services that allow you to record your sport activities store your data on some server which you cannot control. You do not know what they use the data for and you cannot write your own tools to analyze your own data. slither tries to change that by replacing online services. It allows you to store your training sessions (import from TCX, GPX, FIT format) and analyze them on your computer.
pytransform3d - A tool for handling transformations (conversions, plotting, editing, ...) (Python)
A Python library for transformations in three dimensions. It makes conversions between rotation and transformation conventions as easy as possible. The library focuses on readability and debugging, not on computational efficiency. If you want to have an efficient implementation of some function from the library you can easily extract the relevant code and implement it more efficiently in a language of your choice.
movement_primitives - Movement primitives for imitation learning. (Python)
Movement primitives are a common group of policy representations in robotics. There are many different types and variations. This repository focuses mainly on imitation learning, generalization, and adaptation of movement primitives. It provides implementations in Python and Cython.
distance3d - Distance computation and collision detection in 3D. (Python)
Various collision detection and distance calculation methods as well as contact normal and force computation.
gmr - An implementation of Gaussian mixture models for clustering and regression. (Python)
There is an implementation of Gaussian Mixture Models for clustering in scikit-learn as well. Regression could not be easily integrated in the interface of sklearn. That is the reason why I put the code in a separate repository.
BOLeRo - Behavior Optimization and Learning for Robots. (C++, Python)
BOLeRo provides tools to learn behaviors for robots. It includes behavior representations as well as reinforcement learning, black-box optimization, evolutionary algorithms, and imitation learning. It provides a C++ and a Python interface to be efficient where this is required and to be flexible and convenient where performance is not an issue. Because the library provides a C++ interface, it is easy to integrate in most robotic frameworks, e.g. the robot operating system (ROS) or the robot construction kit (Rock).
OpenANN - A library for artificial neural networks. (C++, Python)
OpenANN is an open source library for artificial neural networks. It is open for users that want to apply ANN to their problems, developers and researchers that want to implement new technologies and students that want to understand the tricks that are required to implement neural networks. It follows a minimal dependency policy, i.e. we rely on only a few libraries and tools. It is not designed to use the full potential of GPUs though, but it is possible to run it on very limited systems, e.g. robotic platforms.
CMA-ESpp - Implementation of the derivative-free optimization algorithm CMA-ES. (C++)
The code is based on Hansen's ANSI C implementation of CMA-ES.
cythonwrapper - Automatically generates a Cython wrapper for C++ code. (Python, Cython)
This tool is able to parse C++ headers and automatically generate Python bindings from it. It makes use of Clang for parsing and Cython for to build the extension.