humoto
Public Member Functions | Public Attributes | Static Protected Member Functions | List of all members
humoto::pepper_mpc::TwoPointMassModel Class Reference

Detailed Description

Two Point Mass Model.

This class generates matrices of the following systems:

1) simple: c(k+1) = A c(k) + B cjerk(k+1) p(k) = D c(k)

2) final: c(k+1) = A c(k) + Bs us(k) + Bd RS(k+1) ud(k) p(k) = Dps c(k) cjerk(k) = Dcjerk c(k) + Escjerk us(k) + Edcjerk RS(k+1) ud(k)

Definition at line 29 of file two_point_mass_model.h.

#include <two_point_mass_model.h>

Inheritance diagram for humoto::pepper_mpc::TwoPointMassModel:
Inheritance graph

Public Member Functions

 TwoPointMassModel ()
 Constructor. More...
 
etools::Matrix3 getAd3 (const double T) const
 Create intermediate Ad3 matrix. More...
 
etools::Matrix3 getAs3 (const double T) const
 Create intermediate As3 matrix. More...
 
etools::Vector3 getBd3 (const double T) const
 Create intermediate Bd3 matrix. More...
 
etools::Vector3 getBs3 (const double T) const
 Create intermediate Bs3 matrix. More...
 
etools::Matrix1x3 getDjs3 (const double T) const
 Create intermediate Dc6 matrix of final model. More...
 
etools::Matrix1x3 getDpd3 (const double body_height, const double base_mass, const double body_mass) const
 Create Dpd3 matrix. More...
 
etools::Matrix1x3 getDps3 (const double base_height, const double base_mass, const double body_mass) const
 Create Dps3 matrix. More...
 
double getEjs3 (const double T) const
 Create intermediate Esc6 matrix of final model. More...
 

Public Attributes

const std::size_t Ns_
 
const std::size_t Nu_
 

Static Protected Member Functions

template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX getAAcc (const double T)
 Create A matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position]. More...
 
template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX getAJerk (const double T)
 Create A matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position]. More...
 
template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX getAPos (const double T)
 Create A matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position]. More...
 
template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX getAsAcc (const double T, const double Ts)
 Create A matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position]. More...
 
template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX getAsPos (const double T, const double Ts)
 Create A matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position]. More...
 
template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX getAsVel (const double T, const double Ts)
 Create A matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position]. More...
 
template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX getAVel (const double T)
 Create A matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position]. More...
 
template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX getBAcc (const double T)
 Create B matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position]. More...
 
template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX getBJerk (const double T)
 Create B matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position]. More...
 
template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX getBPos (const double T)
 Create B matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position]. More...
 
template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX getBsAcc (const double T, const double Ts)
 Create B matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position]. More...
 
template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX getBsPos (const double T, const double Ts)
 Create B matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position]. More...
 
template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX getBsVel (const double T, const double Ts)
 Create B matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position]. More...
 
template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX getBVel (const double T)
 Create B matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position]. More...
 
template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX getDAcc (const double T)
 Create D matrix of the model, suffix of the function name indicates the type of control [acc = acceleration, vel = velocity, pos = position]. More...
 
template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX getDPos (const double T)
 Create D matrix of the model, suffix of the function name indicates the type of control [acc = acceleration, vel = velocity, pos = position]. More...
 
template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX getDVel (const double T)
 Create D matrix of the model, suffix of the function name indicates the type of control [acc = acceleration, vel = velocity, pos = position]. More...
 
template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX getEAcc (const double T)
 Create E matrix of the model, suffix of the function name indicates the type of control [acc = acceleration, vel = velocity, pos = position]. More...
 
template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX getEPos (const double T)
 Create E matrix of the model, suffix of the function name indicates the type of control [acc = acceleration, vel = velocity, pos = position]. More...
 
template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX getEVel (const double T)
 Create E matrix of the model, suffix of the function name indicates the type of control [acc = acceleration, vel = velocity, pos = position]. More...
 

Constructor & Destructor Documentation

◆ TwoPointMassModel()

humoto::pepper_mpc::TwoPointMassModel::TwoPointMassModel ( )
inline

Constructor.

Definition at line 42 of file two_point_mass_model.h.

Member Function Documentation

◆ getAAcc()

template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX humoto::rigidbody::TripleIntegrator::getAAcc ( const double  T)
inlinestaticinherited

Create A matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position].

Template Parameters
t_number_of_integratorsnumber of integrators in the system
Parameters
[in]Tsampling time
Returns
A matrix

Definition at line 67 of file triple_integrator.h.

◆ getAd3()

etools::Matrix3 humoto::pepper_mpc::TwoPointMassModel::getAd3 ( const double  T) const
inline

Create intermediate Ad3 matrix.

Parameters
[in]Ttimestep
Returns
3x3 matrix

Definition at line 66 of file two_point_mass_model.h.

◆ getAJerk()

template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX humoto::rigidbody::TripleIntegrator::getAJerk ( const double  T)
inlinestaticinherited

Create A matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position].

Template Parameters
t_number_of_integratorsnumber of integrators in the system
Parameters
[in]Tsampling time
Returns
A matrix

Definition at line 53 of file triple_integrator.h.

◆ getAPos()

template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX humoto::rigidbody::TripleIntegrator::getAPos ( const double  T)
inlinestaticinherited

Create A matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position].

Template Parameters
t_number_of_integratorsnumber of integrators in the system
Parameters
[in]Tsampling time
Returns
A matrix

Definition at line 93 of file triple_integrator.h.

◆ getAs3()

etools::Matrix3 humoto::pepper_mpc::TwoPointMassModel::getAs3 ( const double  T) const
inline

Create intermediate As3 matrix.

Parameters
[in]Ttimestep
Returns
3x3 matrix

Definition at line 54 of file two_point_mass_model.h.

◆ getAsAcc()

template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX humoto::rigidbody::TripleIntegrator::getAsAcc ( const double  T,
const double  Ts 
)
inlinestaticinherited

Create A matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position].

Template Parameters
t_number_of_integratorsnumber of integrators in the system
Parameters
[in]Tsampling time
[in]Tssubsampling time
Returns
A matrix

Definition at line 118 of file triple_integrator.h.

◆ getAsPos()

template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX humoto::rigidbody::TripleIntegrator::getAsPos ( const double  T,
const double  Ts 
)
inlinestaticinherited

Create A matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position].

Template Parameters
t_number_of_integratorsnumber of integrators in the system
Parameters
[in]Tsampling time
[in]Tssubsampling time
Returns
A matrix

Definition at line 146 of file triple_integrator.h.

◆ getAsVel()

template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX humoto::rigidbody::TripleIntegrator::getAsVel ( const double  T,
const double  Ts 
)
inlinestaticinherited

Create A matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position].

Template Parameters
t_number_of_integratorsnumber of integrators in the system
Parameters
[in]Tsampling time
[in]Tssubsampling time
Returns
A matrix

Definition at line 132 of file triple_integrator.h.

◆ getAVel()

template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX humoto::rigidbody::TripleIntegrator::getAVel ( const double  T)
inlinestaticinherited

Create A matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position].

Template Parameters
t_number_of_integratorsnumber of integrators in the system
Parameters
[in]Tsampling time
Returns
A matrix

Definition at line 80 of file triple_integrator.h.

◆ getBAcc()

template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX humoto::rigidbody::TripleIntegrator::getBAcc ( const double  T)
inlinestaticinherited

Create B matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position].

Template Parameters
t_number_of_integratorsnumber of integrators in the system
Parameters
[in]Tsampling time
Returns
B3 matrix

Definition at line 188 of file triple_integrator.h.

◆ getBd3()

etools::Vector3 humoto::pepper_mpc::TwoPointMassModel::getBd3 ( const double  T) const
inline

Create intermediate Bd3 matrix.

Parameters
[in]Ttimestep
Returns
Bd6 matrix

Definition at line 90 of file two_point_mass_model.h.

◆ getBJerk()

template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX humoto::rigidbody::TripleIntegrator::getBJerk ( const double  T)
inlinestaticinherited

Create B matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position].

Template Parameters
t_number_of_integratorsnumber of integrators in the system
Parameters
[in]Tsampling time
Returns
B3 matrix

Definition at line 174 of file triple_integrator.h.

◆ getBPos()

template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX humoto::rigidbody::TripleIntegrator::getBPos ( const double  T)
inlinestaticinherited

Create B matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position].

Template Parameters
t_number_of_integratorsnumber of integrators in the system
Parameters
[in]Tsampling time
Returns
B3 matrix

Definition at line 214 of file triple_integrator.h.

◆ getBs3()

etools::Vector3 humoto::pepper_mpc::TwoPointMassModel::getBs3 ( const double  T) const
inline

Create intermediate Bs3 matrix.

Parameters
[in]Ttimestep
Returns
Bs6 matrix

Definition at line 78 of file two_point_mass_model.h.

◆ getBsAcc()

template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX humoto::rigidbody::TripleIntegrator::getBsAcc ( const double  T,
const double  Ts 
)
inlinestaticinherited

Create B matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position].

Template Parameters
t_number_of_integratorsnumber of integrators in the system
Parameters
[in]Tsampling time
[in]Tssubsampling time
Returns
B3 matrix

Definition at line 238 of file triple_integrator.h.

◆ getBsPos()

template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX humoto::rigidbody::TripleIntegrator::getBsPos ( const double  T,
const double  Ts 
)
inlinestaticinherited

Create B matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position].

Template Parameters
t_number_of_integratorsnumber of integrators in the system
Parameters
[in]Tsampling time
[in]Tssubsampling time
Returns
B3 matrix

Definition at line 266 of file triple_integrator.h.

◆ getBsVel()

template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX humoto::rigidbody::TripleIntegrator::getBsVel ( const double  T,
const double  Ts 
)
inlinestaticinherited

Create B matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position].

Template Parameters
t_number_of_integratorsnumber of integrators in the system
Parameters
[in]Tsampling time
[in]Tssubsampling time
Returns
B3 matrix

Definition at line 252 of file triple_integrator.h.

◆ getBVel()

template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX humoto::rigidbody::TripleIntegrator::getBVel ( const double  T)
inlinestaticinherited

Create B matrix of the model, suffix of the function name indicates the type of control [jerk, acc = acceleration, vel = velocity, pos = position].

Template Parameters
t_number_of_integratorsnumber of integrators in the system
Parameters
[in]Tsampling time
Returns
B3 matrix

Definition at line 201 of file triple_integrator.h.

◆ getDAcc()

template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX humoto::rigidbody::TripleIntegrator::getDAcc ( const double  T)
inlinestaticinherited

Create D matrix of the model, suffix of the function name indicates the type of control [acc = acceleration, vel = velocity, pos = position].

Template Parameters
t_number_of_integratorsnumber of integrators in the system
Parameters
[in]Tsampling time
Returns
A matrix

Definition at line 294 of file triple_integrator.h.

◆ getDjs3()

etools::Matrix1x3 humoto::pepper_mpc::TwoPointMassModel::getDjs3 ( const double  T) const
inline

Create intermediate Dc6 matrix of final model.

Parameters
[in]Ttimestep
Returns
Dcjerk6 matrix

Definition at line 142 of file two_point_mass_model.h.

◆ getDpd3()

etools::Matrix1x3 humoto::pepper_mpc::TwoPointMassModel::getDpd3 ( const double  body_height,
const double  base_mass,
const double  body_mass 
) const
inline

Create Dpd3 matrix.

Parameters
[in]body_heightCoM of body height
[in]base_massbase mass
[in]body_massbody mass
Returns
matrix

Definition at line 123 of file two_point_mass_model.h.

◆ getDPos()

template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX humoto::rigidbody::TripleIntegrator::getDPos ( const double  T)
inlinestaticinherited

Create D matrix of the model, suffix of the function name indicates the type of control [acc = acceleration, vel = velocity, pos = position].

Template Parameters
t_number_of_integratorsnumber of integrators in the system
Parameters
[in]Tsampling time
Returns
A matrix

Definition at line 316 of file triple_integrator.h.

◆ getDps3()

etools::Matrix1x3 humoto::pepper_mpc::TwoPointMassModel::getDps3 ( const double  base_height,
const double  base_mass,
const double  body_mass 
) const
inline

Create Dps3 matrix.

Parameters
[in]base_heightCoM of base height
[in]base_massbase mass
[in]body_massbody mass
Returns
matrix

Definition at line 104 of file two_point_mass_model.h.

◆ getDVel()

template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX humoto::rigidbody::TripleIntegrator::getDVel ( const double  T)
inlinestaticinherited

Create D matrix of the model, suffix of the function name indicates the type of control [acc = acceleration, vel = velocity, pos = position].

Template Parameters
t_number_of_integratorsnumber of integrators in the system
Parameters
[in]Tsampling time
Returns
A matrix

Definition at line 305 of file triple_integrator.h.

◆ getEAcc()

template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX humoto::rigidbody::TripleIntegrator::getEAcc ( const double  T)
inlinestaticinherited

Create E matrix of the model, suffix of the function name indicates the type of control [acc = acceleration, vel = velocity, pos = position].

Template Parameters
t_number_of_integratorsnumber of integrators in the system
Parameters
[in]Tsampling time
Returns
A matrix

Definition at line 340 of file triple_integrator.h.

◆ getEjs3()

double humoto::pepper_mpc::TwoPointMassModel::getEjs3 ( const double  T) const
inline

Create intermediate Esc6 matrix of final model.

Parameters
[in]Ttimestep
Returns
Escjerk6 matrix

Definition at line 155 of file two_point_mass_model.h.

◆ getEPos()

template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX humoto::rigidbody::TripleIntegrator::getEPos ( const double  T)
inlinestaticinherited

Create E matrix of the model, suffix of the function name indicates the type of control [acc = acceleration, vel = velocity, pos = position].

Template Parameters
t_number_of_integratorsnumber of integrators in the system
Parameters
[in]Tsampling time
Returns
A matrix

Definition at line 362 of file triple_integrator.h.

◆ getEVel()

template<std::size_t t_number_of_integrators>
static EIGENTOOLS_CONSTANT_SIZE_MATRIX humoto::rigidbody::TripleIntegrator::getEVel ( const double  T)
inlinestaticinherited

Create E matrix of the model, suffix of the function name indicates the type of control [acc = acceleration, vel = velocity, pos = position].

Template Parameters
t_number_of_integratorsnumber of integrators in the system
Parameters
[in]Tsampling time
Returns
A matrix

Definition at line 351 of file triple_integrator.h.

Member Data Documentation

◆ Ns_

const std::size_t humoto::pepper_mpc::TwoPointMassModel::Ns_

Definition at line 33 of file two_point_mass_model.h.

◆ Nu_

const std::size_t humoto::pepper_mpc::TwoPointMassModel::Nu_

Definition at line 35 of file two_point_mass_model.h.


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