Direct optimization methods for optimal control are characterized by the minimization of a cost functional which is a function of the system state and the control input u. An example of such a method is the program DIRCOL [14, 15, 16], which can handle implicit or explicit boundary conditions, arbitrary nonlinear equality and inequality constraints on the state variables, and multiple phases where each phase may contain a different set of state equations. DIRCOL functions by packaging the optimal control problem along with its constraints into a constrained, nonlinear minimization problem which is solved by an SQP-based optimization code NPSOL , or SNOPT  which takes advantage of sparsity.
The output of the numerical optimal control program will be the optimal open-loop solution for the control u(t) and the corresponding state trajectory x(t) at the choice of grid points in time. DIRCOL discretizes the state and control variables in time over the trajectory. The fineness or coarseness of the discretization can have a large influence over the time required to generate a solution. The recently released DIRCOL 2.0 using sparse optimization techniques has shown itself to be faster and more robust.
As previously mentioned, there are a total of 14 states, 6 control variables, and 1 control parameter in our control problem. All of these quantities have magnitude saturation bounds placed upon them in the optimization process, though the majority never become active. The control saturations are the most important as in many experiments these will saturate, particularly at higher speeds. The bounds on the ankle torques are also smaller than those at the other joints, as the ankles cannot provide as great a force as the hips and knees can.
In addition to magnitude constraints, there are explicit constraints on the initial and final state of each phase which assign those constrained states and controls a fixed value which may depend on other known values. These are called explicit boundary conditions, while implicit boundary conditions are those for which the states and controls must satisfy a nonlinear algebraic equation. Finally, we have nonlinear inequality constraints which must be satisfied by the states and controls along the duration of the walking step. The constraints outlined in Section result in a total of:
Explicit boundary conditions at initial and final time: 13
Explicit boundary conditions in between phases: 17
Implicit boundary conditions at initial and final time: 7
Implicit boundary conditions in between phases: 3
Nonlinear Inequality Constraints in phase 1: 2
Nonlinear Inequality Constraints in phase 2: 3