30 #include <mc_rbdyn/Robot.h> 32 #include <SpaceVecAlg/SpaceVecAlg> 45 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
72 void reset(
const sva::PTransformd & X_0_fb);
79 void run(
const mc_rbdyn::Robot & realRobot);
95 return controlRobot_.bodySensor().orientation();
105 leftFootRatio_ = ratio;
114 void estimateOrientation(
const mc_rbdyn::Robot & realRobot);
124 void estimatePosition(
const mc_rbdyn::Robot & realRobot);
127 Eigen::Matrix3d orientation_;
128 Eigen::Vector3d position_;
129 const mc_rbdyn::Robot & controlRobot_;
130 double leftFootRatio_;
EIGEN_MAKE_ALIGNED_OPERATOR_NEW FloatingBaseObserver(const mc_rbdyn::Robot &controlRobot)
Initialize floating base observer.
void reset(const sva::PTransformd &X_0_fb)
Reset floating base estimate.
Kinematics-only floating-base observer.
void run(const mc_rbdyn::Robot &realRobot)
Update floating-base transform of real robot.
void updateRobot(mc_rbdyn::Robot &robot)
Write observed floating-base transform to the robot's configuration.
sva::PTransformd getAnchorFrame(const mc_rbdyn::Robot &robot)
Get anchor frame of a robot for a given contact state.
const Eigen::Quaterniond & imuOrientation()
Get the orientation of the IMU with respect to the inertial frame.
Main controller namespace.
void leftFootRatio(double ratio)
Set fraction of total weight sustained by the left foot.