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

State-space model of one-dimensional centroidal dynamics with jerk input and position and wrench output. More...

#include <PreviewControlCentroidal.h>

Inheritance diagram for CCC::PreviewControlCentroidal1d::CentroidalModel1d:
Inheritance graph
[legend]
Collaboration diagram for CCC::PreviewControlCentroidal1d::CentroidalModel1d:
Collaboration graph
[legend]

Public Member Functions

 CentroidalModel1d (double inertia_param)
 Constructor. More...
 
- Public Member Functions inherited from CCC::StateSpaceModel< 3, 1, 2 >
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, 2 >
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, 2 >
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 one-dimensional centroidal dynamics with jerk input and position and wrench output.

Dynamics is expressed by the following equation.

\begin{align*} m \ddot{c} = f \end{align*}

\(c\) is position (CoM position or base link orientation). \(f\) is wrench (force for the position components, moment for the orientation components). \(m\) is inertia parameter (mass for the position components, moment of inertia for the orientation components).

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 \\ \boldsymbol{y} &= \begin{bmatrix} 1 & 0 & 0 \\ 0 & 0 & m \end{bmatrix} \boldsymbol{x} \end{align*}

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

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

Definition at line 94 of file PreviewControlCentroidal.h.

Constructor & Destructor Documentation

◆ CentroidalModel1d()

CCC::PreviewControlCentroidal1d::CentroidalModel1d::CentroidalModel1d ( double  inertia_param)

Constructor.

Parameters
inertia_paraminertia parameter (mass [kg] for the position components, moment of inertia [kg m^2] for the orientation components)

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