48 A3 << 1., sh/omega, (ch - 1)/(omega*omega),
59 static etools::Vector3
getBdz3(
const double T,
const double omega)
83 D3 << 1., 0., -1./(omega*omega);
91 const std::size_t
Ns_;
118 const etools::Vector6 &cstate,
119 const double com_height)
123 com_state.
position_ << cstate(0), cstate(3), com_height;
124 com_state.
velocity_ << cstate(1), cstate(4), 0.0;
136 etools::Vector6 cstate;
150 const double com_height,
151 const etools::Vector6 & cstate,
152 const etools::Vector2 & control)
160 com_state = convertCoMState(A * cstate + B * control, com_height);
172 etools::Vector3 B3 = getBdz3(T, omega);
175 A3 = A3 - B3*D3/Tsample;
185 return getA3(T, omega, T);
197 out << A3, Eigen::Matrix3d::Zero(),
198 Eigen::Matrix3d::Zero(), A3;
208 return ( getA6(T, omega, T) );
215 static etools::Vector3
getB3(
const double T,
const double omega,
const double Tsample)
217 etools::Vector3 B3 = getBdz3(T, omega);
227 static etools::Vector3
getB3(
const double T,
const double omega)
229 return getB3(T, omega, T);
238 etools::Vector3 B3 = getB3(T, omega, Tsample);
241 out << B3, Eigen::Vector3d::Zero(),
242 Eigen::Vector3d::Zero(), B3;
253 return ( getB6(T, omega, T) );
277 out << D3, etools::Matrix1x3::Zero(),
278 etools::Matrix1x3::Zero(), D3;
297 return (getE3(T) * Eigen::Matrix2d::Identity());
308 out << 1., 0., -hg, 0., 0., 0.,
309 0., 0., 0., 1., 0., -hg;
322 out << 0., 1., 1./omega, 0., 0., 0.,
323 0., 0., 0., 0., 1., 1./omega;
static double getE3(const double T)
Create E matrix of final model.
static etools::Matrix6x2 getB6(const double T, const double omega)
Create B matrix of final model.
static etools::Matrix6x2 getB6(const double T, const double omega, const double Tsample)
Create B matrix of final model.
const int Nu_
Number of control variables.
static etools::Matrix6 getA6(const double T, const double omega, const double Tsample)
Create A matrix of final model.
const std::size_t Ns_
Number of state variables.
etools::Vector3 position_
static etools::Matrix3 getAdz3(const double T, const double omega)
Create A matrix of unrefined model.
static double getOmega(const double com_height)
static etools::Matrix3 getA3(const double T, const double omega)
Create A matrix of final model.
etools::Vector3 velocity_
Point Mass Model with piece-wise constant CoP velocity.
static humoto::rigidbody::PointMassState convertCoMState(const etools::Vector6 &cstate, const double com_height)
Converts given cstate vector to CoM state.
static etools::Matrix2 getE6(const double T, const double omega)
Create E matrix of final model.
static humoto::rigidbody::PointMassState evaluate(const double Ts, const double T, const double com_height, const etools::Vector6 &cstate, const etools::Vector2 &control)
static etools::Vector6 convertCoMState(const humoto::rigidbody::PointMassState &com_state)
Get cstate.
static etools::Matrix1x3 getD3(const double T, const double omega)
Create D matrix of final model.
etools::Vector3 acceleration_
static etools::Matrix2x6 getD6(const double T, const double omega)
Create D matrix of final model.
The root namespace of HuMoTo.
Class that groups together parmeters related to a robot foot.
static etools::Vector3 getB3(const double T, const double omega, const double Tsample)
Create B matrix of final model.
static etools::Vector3 getB3(const double T, const double omega)
Create A matrix of final model.
const double g_gravitational_acceleration
Gravitational acceleration.
static etools::Matrix3 getA3(const double T, const double omega, const double Tsample)
Create A matrix of final model.
static etools::Vector3 getBdz3(const double T, const double omega)
Create B matrix of unrefined model.
static etools::Matrix1x3 getDdz3(const double omega)
Create D matrix of unrefined model.
static etools::Matrix2x6 getDcpv6(const double omega)
Create ksi matrix.
static etools::Matrix2x6 getDdz6(const double com_height)
Create Ddz6 matrix.
PointMassModel6z()
Constructor.
static etools::Matrix6 getA6(const double T, const double omega)
Create A matrix of final model.