【源码】机器人开放源码C++库:优化与模型预测控制工具箱

【源码】机器人开放源码C++库:优化与模型预测控制工具箱

本代码是一个高效的C++库,用于机器人的控制、估计、优化和运动规划。

This is the Control Toolbox, an efficient C++ library for control, estimation, optimization and motion planning in robotics.

Link to the wiki, quickstart!
Find the detailed documentation here.

Overview
This is the ADRL Control Toolbox (‘CT’), an open-source C++ library for efficient modelling, control, estimation, trajectory optimization and model predictive control. The CT is applicable to a broad class of dynamic systems, but features additional modelling tools specially designed for robotics. This page outlines its general concept, its major building blocks and highlights selected application examples.

The library contains several tools to design and evaluate controllers, model dynamical systems and solve optimal control problems. The CT was designed with the following features in mind:

Systems and dynamics:

intuitive modelling of systems governed by ordinary differential or difference equations.

Trajectory optimization, optimal control and (nonlinear) model predictive control:

IPOPT (first and second order)

SNOPT

HPIPM

custom Riccati-solver

Classical Single Shooting

iLQR / iLQG (iterative Linear Quadratic Optimal Control)

Multiple-shooting iLQR

Gauss-Newton-Multiple-Shooting (GNMS)

Classical Direct Multiple Shooting (DMS)

intuitive modelling of cost functions and constraints

common interfaces for optimal control solvers and nonlinear model predictive control

currently supported algorithms:

standardized interfaces for the solvers

Performance:

solve large scale optimal control problems in MPC fashion.

Robot Modelling, Rigid Body Kinematics and Dynamics:

straight-forward interface to the state-of the art rigid body dynamics modelling tool RobCoGen.

implementation of a basic nonlinear-programming inverse kinematics solver for fix-base robots.

Automatic Differentiation:

first and second order automatic differentiation of arbitrary vector-valued functions including cost functions and constraints

automatic differentiation and code generation of rigid body dynamics

derivative code generation for maximum efficiency

更多精彩文章请关注公众号:【源码】机器人开放源码C++库:优化与模型预测控制工具箱