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

State-space model for non-contact phase. More...

#include <LinearMpcZ.h>

Inheritance diagram for CCC::LinearMpcZ::ModelNoncontactPhase:
Inheritance graph
[legend]
Collaboration diagram for CCC::LinearMpcZ::ModelNoncontactPhase:
Collaboration graph
[legend]

Public Member Functions

 ModelNoncontactPhase (double mass)
 Constructor. More...
 
- Public Member Functions inherited from CCC::StateSpaceModel< StateDim, InputDim, OutputDim >
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< StateDim, InputDim, OutputDim >
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< StateDim, InputDim, OutputDim >
const int state_dim_ = 0
 State dimension. More...
 
const int input_dim_ = 0
 Input dimension. More...
 
const int output_dim_ = 0
 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_ = 0
 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 for non-contact phase.

Dynamics is expressed by the following equation.

\begin{align*} P_z &= m \dot{c}_z \\ \dot{P}_z &= - m g \end{align*}

\(c_z\) and \(P_z\) are CoM height and vertical linear momentum, respectively.

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

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

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

\begin{align*} \boldsymbol{x} = \begin{bmatrix} m c_z \\ P_z \end{bmatrix}, u = \emptyset, y = c_z \end{align*}

Definition at line 108 of file LinearMpcZ.h.

Constructor & Destructor Documentation

◆ ModelNoncontactPhase()

CCC::LinearMpcZ::ModelNoncontactPhase::ModelNoncontactPhase ( double  mass)

Constructor.

Parameters
massrobot mass [kg]

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