10 #include <SpaceVecAlg/SpaceVecAlg>
19 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
36 const Eigen::Vector3d & com = Eigen::Vector3d::Zero(),
37 const Eigen::Vector3d & comd = Eigen::Vector3d::Zero(),
38 const Eigen::Vector3d & comdd = Eigen::Vector3d::Zero());
47 void completeIPM(
const Eigen::Vector3d & p,
const Eigen::Vector3d & n);
75 const Eigen::Vector3d & com,
76 const Eigen::Vector3d & comd = Eigen::Vector3d::Zero(),
77 const Eigen::Vector3d & comdd = Eigen::Vector3d::Zero());
84 void resetCoMHeight(
double height,
const Eigen::Vector3d & p,
const Eigen::Vector3d & n);
87 const Eigen::Vector3d &
com()
const {
return com_; }
90 const Eigen::Vector3d &
comd()
const {
return comd_; }
93 const Eigen::Vector3d &
comdd()
const {
return comdd_; }
96 Eigen::Vector3d
dcm()
const {
return com_ + comd_ / omega_; }
99 double omega()
const {
return omega_; }
106 const Eigen::Vector3d &
zmp()
const {
return zmp_; }
110 const Eigen::Vector3d &
zmpd()
const {
return zmpd_; }
113 Eigen::Vector3d com_ = Eigen::Vector3d::Zero();
114 Eigen::Vector3d comd_ = Eigen::Vector3d::Zero();
115 Eigen::Vector3d comdd_ = Eigen::Vector3d::Zero();
116 Eigen::Vector3d comddd_ = Eigen::Vector3d::Zero();
117 Eigen::Vector3d zmp_ = Eigen::Vector3d::Zero();
118 Eigen::Vector3d zmpd_ = Eigen::Vector3d::Zero();
#define MC_PLANNING_DLLAPI
Definition: api.h:50
Definition: Pendulum.h:13
Eigen::Vector3d MC_RBDYN_DLLAPI zmp(const sva::ForceVecd &netTotalWrench, const Eigen::Vector3d &plane_p, const Eigen::Vector3d &plane_n, double minimalNetNormalForce=1.)
Actual ZMP computation from net total wrench and the ZMP plane.
Definition: Pendulum.h:18
const Eigen::Vector3d & comd() const
Definition: Pendulum.h:90
const Eigen::Vector3d & zmpd() const
Definition: Pendulum.h:110
void integrateIPM(Eigen::Vector3d zmp, double lambda, double dt)
EIGEN_MAKE_ALIGNED_OPERATOR_NEW Pendulum()
Creates an empty pendulum. Call reset.
Pendulum(double lamda, const Eigen::Vector3d &com=Eigen::Vector3d::Zero(), const Eigen::Vector3d &comd=Eigen::Vector3d::Zero(), const Eigen::Vector3d &comdd=Eigen::Vector3d::Zero())
const Eigen::Vector3d & comdd() const
Definition: Pendulum.h:93
void reset(double lambda, const Eigen::Vector3d &com, const Eigen::Vector3d &comd=Eigen::Vector3d::Zero(), const Eigen::Vector3d &comdd=Eigen::Vector3d::Zero())
const Eigen::Vector3d & com() const
Definition: Pendulum.h:87
Eigen::Vector3d dcm() const
Definition: Pendulum.h:96
void integrateCoMJerk(const Eigen::Vector3d &comddd, double dt)
void completeIPM(const Eigen::Vector3d &p, const Eigen::Vector3d &n)
double omega() const
Definition: Pendulum.h:99
const Eigen::Vector3d & zmp() const
Definition: Pendulum.h:106
void resetCoMHeight(double height, const Eigen::Vector3d &p, const Eigen::Vector3d &n)