centroidal_control_collection
|
State-space model of one-dimensional centroidal dynamics with jerk input and position and wrench output. More...
#include <PreviewControlCentroidal.h>
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... | |
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.
CCC::PreviewControlCentroidal1d::CentroidalModel1d::CentroidalModel1d | ( | double | inertia_param | ) |
Constructor.
inertia_param | inertia parameter (mass [kg] for the position components, moment of inertia [kg m^2] for the orientation components) |