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

Detailed Description

Definition at line 20 of file model.h.

#include <model.h>

Inheritance diagram for humoto::pepper_mpc::Model:
Inheritance graph

Public Member Functions

 Model ()
 Default constructor. More...
 
 Model (const humoto::pepper_mpc::RobotParameters &robot_parameters)
 Construct and initialize robot parameters. More...
 
 EIGENTOOLS_CONSTANT_SIZE_VECTOR (12) getMPCState() const
 Get MPC state. 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...
 
double getBaseHeight () const
 Get base height. More...
 
double getBaseMass () const
 Get base mass. More...
 
double getBaseOrientation () const
 Get base orientation. More...
 
humoto::rigidbody::RigidBodyState getBaseState () const
 Returns current base state. More...
 
etools::Vector3 getBd3 (const double T) const
 Create intermediate Bd3 matrix. More...
 
double getBodyHeight () const
 Get body height. More...
 
double getBodyMass () const
 Get body mass. More...
 
humoto::rigidbody::PointMassState getBodyState () const
 Returns current body state. More...
 
etools::Vector3 getBs3 (const double T) const
 Create intermediate Bs3 matrix. More...
 
etools::Vector2 getCoP () const
 Get CoP position. More...
 
etools::Vector2 getCoP (const humoto::pepper_mpc::ModelState &model_state) const
 Get CoP position. 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...
 
etools::Vector6 getMPCBaseState () const
 Get base state. More...
 
etools::Vector6 getMPCBaseState (const humoto::pepper_mpc::ModelState &model_state) const
 Get base state. More...
 
etools::Vector6 getMPCBodyState () const
 Get body state. More...
 
etools::Vector6 getMPCBodyState (const humoto::pepper_mpc::ModelState &model_state) const
 Get body state. More...
 
void getNextState (humoto::pepper_mpc::ModelState &model_state, const double T, const double Ts, const etools::Vector2 &base_control, const etools::Vector2 &body_control, const double base_height, const double body_height, const double theta) const
 Get next state from the current state. More...
 
void getNextState (humoto::pepper_mpc::ModelState &model_state, const double T, const double Ts, const EIGENTOOLS_CONSTANT_SIZE_VECTOR(12) &preceding_mpcstate, const etools::Vector2 &base_control, const etools::Vector2 &body_control, const double base_height, const double body_height, const double theta) const
 Get next state from the given state. More...
 
double getTheta () const
 Get theta angle of the current state. More...
 
double getTheta (const humoto::pepper_mpc::ModelState &model_state) const
 Get theta angle of the given state. More...
 
void log (humoto::Logger &logger, const LogEntryName &parent=LogEntryName(), const std::string &name="model") const
 Log. More...
 
void noop () const
 
void setParameters (const humoto::pepper_mpc::RobotParameters &robot_parameters)
 Initialize robot parameters. More...
 
void updateState (const humoto::ModelState &model_state)
 Update model state. More...
 

Public Attributes

etools::Vector2 current_base_position_
 2d position of the base More...
 
const std::size_t Ns_
 
const std::size_t Nu_
 
humoto::pepper_mpc::RobotParameters robot_parameters_
 robot parameters More...
 
humoto::pepper_mpc::ModelState state_
 state of the model More...
 

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...
 

Private Member Functions

void finalize ()
 Determines position of the base. More...
 

Constructor & Destructor Documentation

◆ Model() [1/2]

humoto::pepper_mpc::Model::Model ( )
inline

Default constructor.

Definition at line 48 of file model.h.

◆ Model() [2/2]

humoto::pepper_mpc::Model::Model ( const humoto::pepper_mpc::RobotParameters robot_parameters)
inlineexplicit

Construct and initialize robot parameters.

Definition at line 57 of file model.h.

Member Function Documentation

◆ EIGENTOOLS_CONSTANT_SIZE_VECTOR()

humoto::pepper_mpc::Model::EIGENTOOLS_CONSTANT_SIZE_VECTOR ( 12  ) const
inline

Get MPC state.

Definition at line 99 of file model.h.

◆ finalize()

void humoto::pepper_mpc::Model::finalize ( )
inlineprivate

Determines position of the base.

Definition at line 27 of file model.h.

◆ 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
inlineinherited

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
inlineinherited

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.

◆ getBaseHeight()

double humoto::pepper_mpc::Model::getBaseHeight ( ) const
inline

Get base height.

Returns
base height

Definition at line 311 of file model.h.

◆ getBaseMass()

double humoto::pepper_mpc::Model::getBaseMass ( ) const
inline

Get base mass.

Returns
base mass

Definition at line 334 of file model.h.

◆ getBaseOrientation()

double humoto::pepper_mpc::Model::getBaseOrientation ( ) const
inline

Get base orientation.

Returns
base orientation

Definition at line 345 of file model.h.

◆ getBaseState()

humoto::rigidbody::RigidBodyState humoto::pepper_mpc::Model::getBaseState ( ) const
inline

Returns current base state.

Returns
base state

Definition at line 90 of file model.h.

◆ getBd3()

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

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.

◆ getBodyHeight()

double humoto::pepper_mpc::Model::getBodyHeight ( ) const
inline

Get body height.

Returns
body height

Definition at line 300 of file model.h.

◆ getBodyMass()

double humoto::pepper_mpc::Model::getBodyMass ( ) const
inline

Get body mass.

Returns
body mass

Definition at line 323 of file model.h.

◆ getBodyState()

humoto::rigidbody::PointMassState humoto::pepper_mpc::Model::getBodyState ( ) const
inline

Returns current body state.

Returns
body state

Definition at line 79 of file model.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
inlineinherited

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.

◆ getCoP() [1/2]

etools::Vector2 humoto::pepper_mpc::Model::getCoP ( ) const
inline

Get CoP position.

Returns
CoP position

Definition at line 168 of file model.h.

◆ getCoP() [2/2]

etools::Vector2 humoto::pepper_mpc::Model::getCoP ( const humoto::pepper_mpc::ModelState model_state) const
inline

Get CoP position.

Parameters
[in]model_state
Returns
CoP position

Definition at line 181 of file model.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
inlineinherited

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
inlineinherited

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
inlineinherited

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
inlineinherited

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.

◆ getMPCBaseState() [1/2]

etools::Vector6 humoto::pepper_mpc::Model::getMPCBaseState ( ) const
inline

Get base state.

Returns
base state

Definition at line 113 of file model.h.

◆ getMPCBaseState() [2/2]

etools::Vector6 humoto::pepper_mpc::Model::getMPCBaseState ( const humoto::pepper_mpc::ModelState model_state) const
inline

Get base state.

Parameters
[in]model_state
Returns
base state

Definition at line 138 of file model.h.

◆ getMPCBodyState() [1/2]

etools::Vector6 humoto::pepper_mpc::Model::getMPCBodyState ( ) const
inline

Get body state.

Returns
body state

Definition at line 124 of file model.h.

◆ getMPCBodyState() [2/2]

etools::Vector6 humoto::pepper_mpc::Model::getMPCBodyState ( const humoto::pepper_mpc::ModelState model_state) const
inline

Get body state.

Parameters
[in]model_state
Returns
body state

Definition at line 154 of file model.h.

◆ getNextState() [1/2]

void humoto::pepper_mpc::Model::getNextState ( humoto::pepper_mpc::ModelState model_state,
const double  T,
const double  Ts,
const etools::Vector2 &  base_control,
const etools::Vector2 &  body_control,
const double  base_height,
const double  body_height,
const double  theta 
) const
inline

Get next state from the current state.

Parameters
[out]model_statenext model state
[in]Ttimestep
[in]Tssubsampling timestep (use Ts = T if not needed)
[in]base_controlcontrol vector
[in]body_controlcontrol vector
[in]base_heightbase height
[in]body_heightbody height
[in]thetaorientation of the base

Definition at line 214 of file model.h.

◆ getNextState() [2/2]

void humoto::pepper_mpc::Model::getNextState ( humoto::pepper_mpc::ModelState model_state,
const double  T,
const double  Ts,
const EIGENTOOLS_CONSTANT_SIZE_VECTOR(12) &  preceding_mpcstate,
const etools::Vector2 &  base_control,
const etools::Vector2 &  body_control,
const double  base_height,
const double  body_height,
const double  theta 
) const
inline

Get next state from the given state.

Parameters
[out]model_statenext model state
[in]Ttimestep
[in]Tssubsampling timestep (use Ts = T if not needed)
[in]preceding_mpcstatempc state
[in]base_controlcontrol vector
[in]body_controlcontrol vector
[in]base_heightbase height
[in]body_heightbody height
[in]thetaorientation of the base

Definition at line 249 of file model.h.

◆ getTheta() [1/2]

double humoto::pepper_mpc::Model::getTheta ( ) const
inline

Get theta angle of the current state.

Returns
theta angle

Definition at line 276 of file model.h.

◆ getTheta() [2/2]

double humoto::pepper_mpc::Model::getTheta ( const humoto::pepper_mpc::ModelState model_state) const
inline

Get theta angle of the given state.

Parameters
[in]model_state
Returns
theta angle

Definition at line 289 of file model.h.

◆ log()

void humoto::pepper_mpc::Model::log ( humoto::Logger logger,
const LogEntryName parent = LogEntryName(),
const std::string &  name = "model" 
) const
inlinevirtual

Log.

Parameters
[in,out]loggerlogger
[in]parentparent
[in]namename

Implements humoto::Model.

Definition at line 371 of file model.h.

◆ noop()

void humoto::Model::noop ( ) const
inlineinherited

Definition at line 57 of file model.h.

◆ setParameters()

void humoto::pepper_mpc::Model::setParameters ( const humoto::pepper_mpc::RobotParameters robot_parameters)
inline

Initialize robot parameters.

Definition at line 66 of file model.h.

◆ updateState()

void humoto::pepper_mpc::Model::updateState ( const humoto::ModelState model_state)
inlinevirtual

Update model state.

Parameters
[in]model_statemodel state.

Implements humoto::Model.

Definition at line 356 of file model.h.

Member Data Documentation

◆ current_base_position_

etools::Vector2 humoto::pepper_mpc::Model::current_base_position_

2d position of the base

Definition at line 41 of file model.h.

◆ Ns_

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

Definition at line 33 of file two_point_mass_model.h.

◆ Nu_

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

Definition at line 35 of file two_point_mass_model.h.

◆ robot_parameters_

humoto::pepper_mpc::RobotParameters humoto::pepper_mpc::Model::robot_parameters_

robot parameters

Definition at line 38 of file model.h.

◆ state_

humoto::pepper_mpc::ModelState humoto::pepper_mpc::Model::state_

state of the model

Definition at line 35 of file model.h.


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