38 research outputs found
Trajectory Optimization Through Contacts and Automatic Gait Discovery for Quadrupeds
In this work we present a trajectory Optimization framework for whole-body
motion planning through contacts. We demonstrate how the proposed approach can
be applied to automatically discover different gaits and dynamic motions on a
quadruped robot. In contrast to most previous methods, we do not pre-specify
contact switches, timings, points or gait patterns, but they are a direct
outcome of the optimization. Furthermore, we optimize over the entire dynamics
of the robot, which enables the optimizer to fully leverage the capabilities of
the robot. To illustrate the spectrum of achievable motions, here we show eight
different tasks, which would require very different control structures when
solved with state-of-the-art methods. Using our trajectory Optimization
approach, we are solving each task with a simple, high level cost function and
without any changes in the control structure. Furthermore, we fully integrated
our approach with the robot's control and estimation framework such that
optimization can be run online. By demonstrating a rough manipulation task with
multiple dynamic contact switches, we exemplarily show how optimized
trajectories and control inputs can be directly applied to hardware.Comment: Video: https://youtu.be/sILuqJBsyK
A Family of Iterative Gauss-Newton Shooting Methods for Nonlinear Optimal Control
This paper introduces a family of iterative algorithms for unconstrained
nonlinear optimal control. We generalize the well-known iLQR algorithm to
different multiple-shooting variants, combining advantages like
straight-forward initialization and a closed-loop forward integration. All
algorithms have similar computational complexity, i.e. linear complexity in the
time horizon, and can be derived in the same computational framework. We
compare the full-step variants of our algorithms and present several simulation
examples, including a high-dimensional underactuated robot subject to contact
switches. Simulation results show that our multiple-shooting algorithms can
achieve faster convergence, better local contraction rates and much shorter
runtimes than classical iLQR, which makes them a superior choice for nonlinear
model predictive control applications.Comment: 8 page
Automatic Differentiation of Rigid Body Dynamics for Optimal Control and Estimation
Many algorithms for control, optimization and estimation in robotics depend
on derivatives of the underlying system dynamics, e.g. to compute
linearizations, sensitivities or gradient directions. However, we show that
when dealing with Rigid Body Dynamics, these derivatives are difficult to
derive analytically and to implement efficiently. To overcome this issue, we
extend the modelling tool `RobCoGen' to be compatible with Automatic
Differentiation. Additionally, we propose how to automatically obtain the
derivatives and generate highly efficient source code. We highlight the
flexibility and performance of the approach in two application examples. First,
we show a Trajectory Optimization example for the quadrupedal robot HyQ, which
employs auto-differentiation on the dynamics including a contact model. Second,
we present a hardware experiment in which a 6 DoF robotic arm avoids a randomly
moving obstacle in a go-to task by fast, dynamic replanning
The Control Toolbox - An Open-Source C++ Library for Robotics, Optimal and Model Predictive Control
We introduce the Control Toolbox (CT), an open-source C++ library for
efficient modeling, control, estimation, trajectory optimization and Model
Predictive Control. The CT is applicable to a broad class of dynamic systems
but features interfaces to modeling tools specifically designed for robotic
applications. This paper outlines the general concept of the toolbox, its main
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 for intuitive
modeling of systems governed by ordinary differential or difference equations.
It supports rapid prototyping of cost functions and constraints and provides
standard interfaces for different optimal control solvers. To date, we support
Single Shooting, the iterative Linear-Quadratic Regulator, Gauss-Newton
Multiple Shooting and classical Direct Multiple Shooting. We provide interfaces
to general purpose NLP solvers and Riccati-based linear-quadratic optimal
control solvers. The CT was designed to solve large-scale optimal control and
estimation problems efficiently and allows for online control of dynamic
systems. Some of the key features to enable fast run-time performance are full
compatibility with Automatic Differentiation, derivative code generation, and
multi-threading. Still, the CT is designed as a modular framework whose
building blocks can also be used for other control and estimation applications
such as inverse dynamics control, extended Kalman filters or kinematic
planning