30 #ifndef TOWR_MODELS_CENTROIDAL_MODEL_H_ 31 #define TOWR_MODELS_CENTROIDAL_MODEL_H_ 63 CentroidalModel (
double mass,
const Eigen::Matrix3d& inertia_b,
int ee_count);
72 double Ixx,
double Iyy,
double Izz,
73 double Ixy,
double Ixz,
double Iyz,
82 const Jac& jac_acc_base_lin)
const override;
84 double t)
const override;
93 Eigen::SparseMatrix<double, Eigen::RowMajor>
I_b;
virtual Jac GetJacobianWrtEEPos(const Jac &jac_ee_pos, EE) const override
How the endeffector positions affect the dynamic violation.
virtual ~CentroidalModel()=default
Eigen::Matrix< double, 6, 1 > BaseAcc
Converts Euler angles and derivatives to angular quantities.
A interface for the the system dynamics of a legged robot.
virtual Jac GetJacobianWrtBaseAng(const EulerConverter &base_angular, double t) const override
How the base orientation affects the dynamic violation.
virtual Jac GetJacobianWrtBaseLin(const Jac &jac_base_lin_pos, const Jac &jac_acc_base_lin) const override
How the base position affects the dynamic violation.
virtual BaseAcc GetDynamicViolation() const override
The violation of the system dynamics incurred by the current values.
Eigen::SparseMatrix< double, Eigen::RowMajor > I_b
Centroidal Dynamics model relating forces to base accelerations.
Eigen::SparseMatrix< double, Eigen::RowMajor > Jac
CentroidalModel(double mass, const Eigen::Matrix3d &inertia_b, int ee_count)
Constructs a specific Centroidal model.
virtual Jac GetJacobianWrtForce(const Jac &jac_force, EE) const override
How the endeffector forces affect the dynamic violation.