Go to the documentation of this file.
15 #include <SpaceVecAlg/SpaceVecAlg>
17 #include <Eigen/StdVector>
23 namespace lipm_stabilizer
26 using HrepXd = std::pair<Eigen::MatrixXd, Eigen::VectorXd>;
45 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
70 const std::string & surfaceName,
71 const sva::PTransformd & surfacePose,
89 const Eigen::Matrix<double, 16, 6> &
wrenchFaceMatrix()
const {
return wrenchFaceMatrix_; }
94 Eigen::Vector3d
sagittal()
const {
return surfacePose_.rotation().row(0); }
99 Eigen::Vector3d
lateral()
const {
return surfacePose_.rotation().row(1); }
104 Eigen::Vector3d
normal()
const {
return surfacePose_.rotation().row(2); }
108 const Eigen::Vector3d &
position()
const {
return surfacePose_.translation(); }
120 const sva::PTransformd &
anklePose()
const {
return anklePose_; }
122 Eigen::Vector3d
sagital() {
return surfacePose_.rotation().row(0); }
124 Eigen::Vector3d
lateral() {
return surfacePose_.rotation().row(1); }
126 Eigen::Vector3d
vertical() {
return surfacePose_.rotation().row(2); }
130 const sva::PTransformd &
surfacePose()
const {
return surfacePose_; }
136 const std::vector<Eigen::Vector3d> &
polygon()
const {
return contactPolygon_; }
142 double xmin()
const {
return xyMin_.x(); }
148 double xmax()
const {
return xyMax_.x(); }
154 double ymin()
const {
return xyMin_.y(); }
160 double ymax()
const {
return xyMax_.y(); }
170 std::string surfaceName_;
171 sva::PTransformd anklePose_;
172 sva::PTransformd surfacePose_;
174 double halfLength_ = 0.;
175 double halfWidth_ = 0.;
176 double friction_ = 0.7;
178 Eigen::Matrix<double, 16, 6> wrenchFaceMatrix_;
179 Eigen::Matrix<double, 12, 6>
180 wrenchFaceMatrixCoPFree_;
182 std::vector<Eigen::Vector3d>
185 Eigen::Vector2d xyMin_ = Eigen::Vector2d::Zero();
186 Eigen::Vector2d xyMax_ = Eigen::Vector2d::Zero();
193 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
212 using ContactState = mc_tasks::lipm_stabilizer::ContactState;
213 const std::string & s = config;
215 else if(s ==
"Right") {
return ContactState::Right; }
221 using ContactState = mc_tasks::lipm_stabilizer::ContactState;
228 case ContactState::Right:
Simplify access to values hold within a JSON file.
Definition: Configuration.h:165
std::vector< ContactDescription, Eigen::aligned_allocator< ContactDescription > > ContactDescriptionVector
Definition: Contact.h:199
const Eigen::Vector3d vertical
Definition: constants.h:17
#define MC_TASKS_DLLAPI
Definition: api.h:50
std::pair< Eigen::MatrixXd, Eigen::VectorXd > HrepXd
Definition: Contact.h:26
void error_and_throw(Args &&... args)
Definition: logging.h:47
mc_control::Contact Contact
Definition: Controller.h:22
Definition: Configuration.h:55
Definition: StabilizerStandingState.h:11