We describe a whole-body dynamic walking controller implemented as a convex quadratic program. The controller solves an optimal control problem using an approximate value function derived from a simple walking model while respecting the dynamic, input, and contact constraints of the full robot dynamics. By exploiting sparsity and temporal structure in the optimization with a custom active-set algorithm, we surpass the performance of the best available off-the-shelf solvers and achieve 1kHz control rates for a 34-DOF humanoid. We describe applications to balancing and walking tasks using the simulated Atlas robot in the DARPA Virtual Robotics Challenge.
The evaluation of a control-Lyapunov policy, with quadratic Lyapunov function, requires the solution of a quadratic program (QP) at each time step. For small problems this QP can be solved explicitly; for larger problems an online optimization method can be used. For this reason the control-Lyapunov control policy is considered a computationally intensive control law, as opposed to an “analytical” control law, such as conventional linear state feedback, linear quadratic Gaussian control, or H∞, too complex or slow to be used in high speed control applications. In this note we show that by precomputing certain quantities, the control-Lyapunov policy can be evaluated extremely efficiently. We will show that when the number of inputs is on the order of the square-root of the state dimension, the cost of evaluating a control-Lyapunov policy is on the same order as the cost of evaluating a simple linear state feedback policy, and less (in order) than the cost of updating a Kalman filter state estimate. To give an idea of the speeds involved, for a problem with 100 states and 10 inputs, the control-Lyapunov policy can be evaluated in around 67 μs, on a 2 GHz AMD processor; the same processor requires 40 μs to carry out a Kalman filter update. We consider a comparison of active set vs. interior point strategies for the solution of receding time horizon problems in nonlinear model predictive control (NMPC). For this study we consider a control algorithm where we form quadratic programs (QPs) in each time horizon by linearizing the model. We also ignore second order information on the model and constraints. This approach can be viewed as a direct nonlinear extension of MPC with linear models and is easily tailored to include stabilizing constraints. Using this framework we consider the application of three active set strategies as well as interior point methods applied to both the NMPC and the QP subproblem. The first two active set methods (QPOPT and and QKWIK) are general purpose solvers that have been incorporated into SQP algorithms previously, while the third is a Schur complement approach that can easily exploit the sparse structure of the KKT matrix in MPC.