|
EIGEN_MAKE_ALIGNED_OPERATOR_NEW | DdpProblem (double horizon_dt, double mass, const WeightParam &weight_param) |
| Constructor. More...
|
|
void | setRefDataFunc (const std::function< RefData(double)> &ref_data_func) |
| Set function of reference data. More...
|
|
virtual StateDimVector | stateEq (double t, const StateDimVector &x, const InputDimVector &u) const override |
| Calculate discrete state equation. More...
|
|
virtual double | runningCost (double t, const StateDimVector &x, const InputDimVector &u) const override |
| Calculate running cost. More...
|
|
virtual double | terminalCost (double t, const StateDimVector &x) const override |
| Calculate terminal cost. More...
|
|
virtual void | calcStateEqDeriv (double t, const StateDimVector &x, const InputDimVector &u, Eigen::Ref< StateStateDimMatrix > state_eq_deriv_x, Eigen::Ref< StateInputDimMatrix > state_eq_deriv_u) const override |
| Calculate first-order derivatives of discrete state equation. More...
|
|
virtual void | calcStateEqDeriv (double, const StateDimVector &, const InputDimVector &, Eigen::Ref< StateStateDimMatrix >, Eigen::Ref< StateInputDimMatrix >, std::vector< StateStateDimMatrix > &, std::vector< InputInputDimMatrix > &, std::vector< StateInputDimMatrix > &) const override |
| Calculate first-order and second-order derivatives of discrete state equation. More...
|
|
virtual void | calcRunningCostDeriv (double t, const StateDimVector &x, const InputDimVector &u, Eigen::Ref< StateDimVector > running_cost_deriv_x, Eigen::Ref< InputDimVector > running_cost_deriv_u) const override |
| Calculate first-order derivatives of running cost. More...
|
|
virtual void | calcRunningCostDeriv (double t, const StateDimVector &x, const InputDimVector &u, Eigen::Ref< StateDimVector > running_cost_deriv_x, Eigen::Ref< InputDimVector > running_cost_deriv_u, Eigen::Ref< StateStateDimMatrix > running_cost_deriv_xx, Eigen::Ref< InputInputDimMatrix > running_cost_deriv_uu, Eigen::Ref< StateInputDimMatrix > running_cost_deriv_xu) const override |
| Calculate first-order and second-order derivatives of running cost. More...
|
|
virtual void | calcTerminalCostDeriv (double t, const StateDimVector &x, Eigen::Ref< StateDimVector > terminal_cost_deriv_x) const override |
| Calculate first-order derivatives of terminal cost. More...
|
|
virtual void | calcTerminalCostDeriv (double t, const StateDimVector &x, Eigen::Ref< StateDimVector > terminal_cost_deriv_x, Eigen::Ref< StateStateDimMatrix > terminal_cost_deriv_xx) const override |
| Calculate first-order and second-order derivatives of terminal cost. More...
|
|
DDP problem of CoM-ZMP model.
Dynamics is expressed by the following equation.
\begin{align*} \begin{bmatrix} \ddot{c}_x \\ \ddot{c}_y \\ \ddot{c}_z \end{bmatrix} = \begin{bmatrix} \dfrac{(c_x - z_x) f_z}{m (c_z - z_z)} \\ \dfrac{(c_y - z_y) f_z}{m (c_z - z_z)} \\ \dfrac{f_z}{m} - g \end{bmatrix} \end{align*}
\(\boldsymbol{c}\) and \(\boldsymbol{z}\) are CoM and ZMP.
State and control input are expressed by the following equations.
\begin{align*} \boldsymbol{x} = \begin{bmatrix} c_x \\ \dot{c}_x \\ c_y \\ \dot{c}_y \\ c_z \\ \dot{c}_z \end{bmatrix}, \boldsymbol{u} = \begin{bmatrix} z_x \\ z_y \\ f_z \end{bmatrix} \end{align*}
Definition at line 101 of file DdpZmp.h.