centroidal_control_collection
Public Member Functions | List of all members
CCC::ComZmpModelJerkInput Class Reference

State-space model of CoM-ZMP dynamics with CoM jerk input and ZMP output. More...

#include <CommonModels.h>

Inheritance diagram for CCC::ComZmpModelJerkInput:
Inheritance graph
[legend]
Collaboration diagram for CCC::ComZmpModelJerkInput:
Collaboration graph
[legend]

Public Member Functions

 ComZmpModelJerkInput (double com_height)
 Constructor. More...
 
- Public Member Functions inherited from CCC::StateSpaceModel< 3, 1, 1 >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW StateSpaceModel (int state_dim=StateDim, int input_dim=InputDim, int output_dim=OutputDim)
 Constructor. More...
 
virtual ~StateSpaceModel ()=default
 Destructor. More...
 
int stateDim () const
 Gets the state dimension. More...
 
int inputDim () const
 Gets the input dimension. More...
 
int outputDim () const
 Gets the output dimension. More...
 
StateDimVector stateEq (const StateDimVector &x, const InputDimVector &u) const
 Calculate the continuous state equation. More...
 
StateDimVector stateEqDisc (const StateDimVector &x, const InputDimVector &u) const
 Calculate the discrete state equation. More...
 
OutputDimVector observEq (const StateDimVector &x) const
 Calculate the observation equation. More...
 
OutputDimVector observEq (const StateDimVector &x, const InputDimVector &u) const
 Calculate the observation equation. More...
 
void calcDiscMatrix (double dt)
 Calculate the discrete system matrices \(\boldsymbol{A}_d, \boldsymbol{B}_d, \boldsymbol{e}_d\). More...
 

Additional Inherited Members

- Public Types inherited from CCC::StateSpaceModel< 3, 1, 1 >
using StateDimVector = Eigen::Matrix< double, StateDim, 1 >
 Type of state vector. More...
 
using InputDimVector = Eigen::Matrix< double, InputDim, 1 >
 Type of input vector. More...
 
using OutputDimVector = Eigen::Matrix< double, OutputDim, 1 >
 Type of output vector. More...
 
- Public Attributes inherited from CCC::StateSpaceModel< 3, 1, 1 >
const int state_dim_
 State dimension. More...
 
const int input_dim_
 Input dimension. More...
 
const int output_dim_
 Output dimension. More...
 
Eigen::Matrix< double, StateDim, StateDim > A_
 Matrix \(\boldsymbol{A}\) of continuous state equation. More...
 
Eigen::Matrix< double, StateDim, InputDim > B_
 Matrix \(\boldsymbol{B}\) of continuous state equation. More...
 
Eigen::Matrix< double, OutputDim, StateDim > C_
 Matrix \(\boldsymbol{C}\) of observation equation. More...
 
Eigen::Matrix< double, OutputDim, InputDim > D_
 Matrix \(\boldsymbol{D}\) of observation equation. More...
 
StateDimVector E_
 Offset vector \(\boldsymbol{e}\) of continuous state equation. More...
 
OutputDimVector F_
 Offset vector \(\boldsymbol{f}\) of observation equation. More...
 
double dt_
 Discretization timestep [sec] (zero if discrete coefficients are not initialized) More...
 
Eigen::Matrix< double, StateDim, StateDim > Ad_
 Matrix \(\boldsymbol{A}_d\) of discrete state equation. More...
 
Eigen::Matrix< double, StateDim, InputDim > Bd_
 Matrix \(\boldsymbol{B}_d\) of discrete state equation. More...
 
StateDimVector Ed_
 Offset vector \(\boldsymbol{e}_d\) of discrete state equation. More...
 

Detailed Description

State-space model of CoM-ZMP dynamics with CoM jerk input and ZMP output.

Dynamics is expressed by the following equation.

\begin{align*} \ddot{c}_x = \dfrac{g}{c_z} (c_x - z_x) \end{align*}

\(\boldsymbol{c}\) and \(\boldsymbol{z}\) are CoM and ZMP.

This can be represented as a linear time-invariant system as follows.

\begin{align*} \boldsymbol{\dot{x}} &= \begin{bmatrix} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 0 & 0 & 0 \end{bmatrix} \boldsymbol{x} + \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix} u \\ y &= \begin{bmatrix} 1 & 0 & - \dfrac{c_z}{g} \end{bmatrix} \boldsymbol{x} \end{align*}

State, control input, and output are expressed as follows.

\begin{align*} \boldsymbol{x} = \begin{bmatrix} c_x \\ \dot{c}_x \\ \ddot{c}_x \end{bmatrix}, u = \dddot{c}_x, y = z_x \end{align*}

Definition at line 32 of file CommonModels.h.

Constructor & Destructor Documentation

◆ ComZmpModelJerkInput()

CCC::ComZmpModelJerkInput::ComZmpModelJerkInput ( double  com_height)

Constructor.

Parameters
com_heightheight of robot CoM [m]

The documentation for this class was generated from the following file: