Displaying 1 to 13 from 13 results

towr - A light-weight, Eigen-based C++ library for trajectory optimization for legged robots.

  •    C++

A light-weight and extensible C++ library for trajectory optimization for legged robots. A base-set of variables, costs and constraints that can be combined and extended to formulate trajectory optimization problems for legged systems. These implementations have been used to generate a variety of motions such as monoped hopping, biped walking, or a complete quadruped trotting cycle, while optimizing over the gait and step durations in less than 100ms (paper).

teb_local_planner - An optimal trajectory planner considering distinctive topologies for mobile robots based on Timed-Elastic-Bands (ROS Package)

  •    C++

The teb_local_planner package implements a plugin to the base_local_planner of the 2D navigation stack. The underlying method called Timed Elastic Band locally optimizes the robot's trajectory with respect to trajectory execution time, separation from obstacles and compliance with kinodynamic constraints at runtime. Refer to http://wiki.ros.org/teb_local_planner for more information and tutorials.

ifopt - An Eigen-based, light-weight C++ Interface to Nonlinear Programming Solvers (Ipopt, Snopt)

  •    C++

A modern, light-weight, Eigen-based C++ interface to Nonlinear Programming solvers, such as Ipopt and Snopt. An optimization problem consists of multiple independent variable- and constraint-sets. Each set represents a common concept, e.g. a set of variables might represents spline coefficients, another footstep positions. Similarly, a constraint-set groups similar constraints together. ifopt allows users to define each of these sets independently in separate classes and then builds the overall problem from these sets. (No more worrying adapting indices when adding or removing sets).

control_box_rst - The control_box_rst package provides C++ libraries for predictive control, direct optimal control, optimization and simulation

  •    C++

Build and installation instructions as well as further documentation are provided in the project wiki. Since a lot of time and effort has gone into the development, please cite at least one of the following publications if you are using the software for published work.

mpc_local_planner - The mpc_local_planner package implements a plugin to the base_local_planner of the 2D navigation stack

  •    C++

The mpc_local_planner package implements a plugin to the base_local_planner of the 2D navigation stack. It provides a generic and versatile model predictive control implementation with minimum-time and quadratic-form receding-horizon configurations. For custom build instructions (e.g. compilation with other third-party solvers) see this wiki.

idocp - Inverse Dynamics based Optimal Control Problem solver for rigid body systems

  •    C++

where "unconstrained" rigid-body systems are systems without any contacts or a floating-base. Examples are found in examples directory. The following animations are the solution trajectory of the idocp::UnconstrOCPSolver for a robot manipulator iiwa14.

ilqr - Iterative Linear Quadratic Regulator with auto-differentiatiable dynamics models

  •    Python

This is an implementation of the Iterative Linear Quadratic Regulator (iLQR) for non-linear trajectory optimization based on Yuval Tassa's paper. It is compatible with both Python 2 and 3 and has built-in support for auto-differentiating both the dynamics model and the cost function using Theano.

pddp - WIP implementation of Probabilistic Differential Dynamic Programming in PyTorch

  •    Jupyter

Probabilistic Differential Dynamic Programming (PDDP) is a data-driven, probabilistic trajectory optimization framework for systems with unknown dynamics. This is an implementation of Yunpeng Pan and Evangelos A. Theodorou's paper in PyTorch, [1]. This is a work in progress and does not work/converge as is yet.

GCOPTER - A General-Purpose Trajectory Optimizer for Multicopters


GCOPTER is a versatile multicopter trajectory optimizer built upon a novel sparse trajectory representation MINCO. Author: Zhepei Wang and Fei Gao from the ZJU FAST Lab.

dymos - Open Source Optimization of Dynamic Multidisciplinary Systems

  •    Python

Dymos is a framework for the simulation and optimization of dynamical systems within the OpenMDAO Multidisciplinary Analysis and Optimization environment. Dymos leverages implicit and explicit simulation techniques to simulate generic dynamic systems of arbitary complexity. More advanced installation instructions are available here.

TopoTraj - A robust UAV local planner based on the ICRA2020 paper: Robust Real-time UAV Replanning Using Guided Gradient-based Optimization and Topological Paths


TopoTraj is a robust planner for quadrotor trajectory replanning. It can support aggressive autonomous flight even in unknown cluttered environments. The key feature of the planner is that it searches for topologically distinctive trajectories, exploring the solution space more thoroughly. The source code is now available! We integrate it into the Fast-Planner.