33 const std::size_t
Ns_;
35 const std::size_t
Nu_;
56 return(getAVel<1>(T));
68 return(getAJerk<1>(T));
78 etools::Vector3
getBs3(
const double T)
const 80 return(getBVel<1>(T));
90 etools::Vector3
getBd3(
const double T)
const 92 return(getBJerk<1>(T));
105 const double base_mass,
106 const double body_mass)
const 111 return(1./(base_mass + body_mass) * D);
124 const double base_mass,
125 const double body_mass)
const 130 return(1./(base_mass + body_mass) * D);
144 return(getDVel<1>(T));
157 return(getEVel<1>(T)(0,0));
220 mpcstate << convertBaseStateRBtoMPC(base_state),
221 convertBodyStateRBtoMPC(body_state);
235 const double base_height)
const 239 base_state.
position_ << mpcstate(0), mpcstate(3), base_height;
240 base_state.
velocity_ << mpcstate(1), mpcstate(4), 0.0;
255 const double body_height)
const 259 body_state.
position_ << mpcstate(6), mpcstate(9), body_height;
260 body_state.
velocity_ << mpcstate(7), mpcstate(10), 0.0;
282 const etools::Vector2 &base_control,
283 const etools::Vector2 &body_control)
const 285 etools::Vector4 control;
287 control << base_control, body_control;
289 return( getA12(T, Ts) * preceding_mpcstate
291 getB12(T, Ts) * control);
305 Eigen::MatrixXd getA12(
const double T,
const double Ts)
const 314 A12_bmi(0) = getAVel<1>(T);
318 A12_bmi(0) = getAsVel<1>(T, Ts);
320 A12_bmi(1) = A12_bmi(0);
322 A12_bmi(2) = getAJerk<1>(Ts);
323 A12_bmi(3) = A12_bmi(2);
337 Eigen::MatrixXd getB12(
const double T,
const double Ts)
const 346 B12_bmi(0) = getBVel<1>(T);
350 B12_bmi(0) = getBsVel<1>(T, Ts);
352 B12_bmi(1) = B12_bmi(0);
354 B12_bmi(2) = getBJerk<1>(Ts);
355 B12_bmi(3) = B12_bmi(2);
369 Eigen::MatrixXd getDj6(
const double T)
const 375 D_bmi(0) = getDVel<1>(T);
388 Eigen::MatrixXd getEjs6(
const double T)
const 393 E(0,0) = getEVel<1>(T)(0,0);
TwoPointMassModel()
Constructor.
Class that groups together parameters related to a robot foot.
etools::Matrix3 getAd3(const double T) const
Create intermediate Ad3 matrix.
Triple integrator class Class supports arbitrary number of integrators in the system.
etools::Matrix1x3 getDps3(const double base_height, const double base_mass, const double body_mass) const
Create Dps3 matrix.
etools::Vector3 position_
etools::Vector3 velocity_
etools::Matrix1x3 getDpd3(const double body_height, const double base_mass, const double body_mass) const
Create Dpd3 matrix.
etools::Vector3 getBd3(const double T) const
Create intermediate Bd3 matrix.
etools::Vector3 acceleration_
etools::Vector3 getBs3(const double T) const
Create intermediate Bs3 matrix.
etools::Matrix3 getAs3(const double T) const
Create intermediate As3 matrix.
The root namespace of HuMoTo.
Class that groups together parmeters related to a robot foot.
double getEjs3(const double T) const
Create intermediate Esc6 matrix of final model.
const double g_gravitational_acceleration
Gravitational acceleration.
etools::Matrix1x3 getDjs3(const double T) const
Create intermediate Dc6 matrix of final model.