User Tools

An Open-Source C++ Library for Robotics and Optimal Control

The ADRL Control Toolbox is a C++ library for efficient modelling, control and estimation for robotics.

The source code is available at

Link to the documentation:

TOWR - Trajectory Optimizer for Walking Robots

Generates physically feasible motions for legged robots by solving an optimization problem. A Centroidal model of the dynamics, physical constraints as well as a desired goal position are given to the solver that then generates the motion plan. TOWR generates e.g. 5 step monoped hopping, biped walking, or a complete quadruped trotting cycle, while optimizing over the gait and step durations, in less than 100ms.


XPP - Visualization of Legged Robot Motions in RVIZ

Xpp is a collection of ROS-packages for the visualization of motion plans for floating-base robots. Apart from drawing support areas, contact forces and motion trajectories in RVIZ, it also displays these plans for specific robots. Current robots include a one-legged, a two-legged hopper, HyQ and a quadrotor.


IFOPT - Eigen-based interface to IPOPT and SNOPT

Ifopt is a unified Eigen-based interface to use Nonlinear Programming solvers, such as Ipopt and Snopt. The user defines the solver independent optimization problem by set of C++ classes resembling variables, cost and constraints. Subsequently, the problem can then be solved with either solver


RCARS: Robot-Centric Absolute Reference System

RCARS (Robot-Centric Absolute Reference System) is a ROS Metapackage that provides a lightweight and easy to use, visual inertial state estimation and/or motion capture system. It uses a Simultaneous Localization And Mapping (SLAM) approach based on aritificual landmarks (“fiducials”) observed by a camera and inertial measurement data retrieved from an IMU. Yet, the system is still fast and easily integratable into existing systems.

Link to the source code:

Link to datasets:

Publication: Michael Neunert, Michael Blösch, Jonas Buchli (2015). An Open Source, Fiducial Based, Visual-Inertial State Estimation System. arXiv, 1507.02081

ROCK* Optimization Algorithm for Policy Learning

The ROCK* algorithm is a sampling-based nonlinear function optimizer which works with many classes of functions. The user should specify the initial search distribution (i.e. the mean and the covariance) then the algorithm finds a minimum of the function. We have shown the performance of ROCK* in very high dimensional systems (500 parameters) as well as low dimensional systems [1]. It outperforms the state-of-the-art algorithm, CMA-ES, sometimes by an order of magnitude. It is also very simple to implement it to different systems and objective functions due to its black-box modeling of the system.

Link to the source code: ROCK* Example Implementation

[1] Jemin Hwangbo, Christian Gehring, Hannes Sommer, Roland Siegwart, Jonas Buchli (2014). ROCK⋆ - Efficient Black-box Optimization for Policy Learning. In Proceedings 2014 IEEE-RAS International Conference on Humanoid Robots PDF

adrl/software.txt · Last modified: 2018/02/01 10:11 by winklera