tilt-estimator-humanoid.hpp
Go to the documentation of this file.
1 
13 #ifndef TILTESTIMATORHUMANOIDHPP
14 #define TILTESTIMATORHUMANOIDHPP
15 
16 #include <state-observation/api.h>
19 
20 namespace stateObservation
21 {
22 
28 class STATE_OBSERVATION_DLLAPI TiltEstimatorHumanoid : public TiltEstimator
29 {
30 public:
36  TiltEstimatorHumanoid(double alpha, double beta, double gamma);
37 
39  void setSensorPositionInC(const Vector3 & p)
40  {
41  p_S_C_ = p;
42  }
43 
45  {
46  return p_S_C_;
47  }
48 
51  {
52  R_S_C_ = R;
53  }
55  {
56  return R_S_C_;
57  }
58 
60  {
61  return x1_;
62  }
63 
66  {
67  v_S_C_ = v;
68  }
69 
71  {
72  return v_S_C_;
73  }
74 
77  {
78  w_S_C_ = w;
79  }
81  {
82  return w_S_C_;
83  }
84 
88  {
89  v_C_ = v;
90  }
92  {
93  return v_C_;
94  }
95 
99  void resetImuLocVelHat();
100 
102 #if defined(__clang__)
103 # pragma clang diagnostic push
104 # pragma clang diagnostic ignored "-Woverloaded-virtual"
105 #else
106 # if defined(__GNUC__)
107 # pragma GCC diagnostic push
108 # pragma GCC diagnostic ignored "-Woverloaded-virtual"
109 # endif
110 #endif
111 
112  // we also want to use the function setMeasurement from the TiltEstimator class, that is hidden by the following
115  void setMeasurement(const Vector3 & ya_k, const Vector3 & yg_k, TimeIndex k);
116 
117 #if defined(__clang__)
118 # pragma clang diagnostic pop
119 #else
120 # if defined(__GNUC__)
121 # pragma GCC diagnostic pop
122 # endif
123 #endif
124 
125 public:
126 protected:
129 
132 
135 
138 
141 
143  bool resetX1hat_ = false;
144 
148  void checkResetX1hat();
149 };
150 
151 } // namespace stateObservation
152 
153 #endif // TILTESTIMATORHUMANOIDHPP
stateObservation::TiltEstimatorHumanoid::setSensorLinearVelocityInC
void setSensorLinearVelocityInC(const Vector3 &v)
sets teh linear velocity of the IMU sensor in the control frame
Definition: tilt-estimator-humanoid.hpp:65
stateObservation::TiltEstimatorHumanoid::p_S_C_
Vector3 p_S_C_
Position of the IMU in the control frame.
Definition: tilt-estimator-humanoid.hpp:128
stateObservation::TiltEstimatorHumanoid::w_S_C_
Vector3 w_S_C_
Angular velocity of the IMU in the control frame.
Definition: tilt-estimator-humanoid.hpp:137
stateObservation::TiltEstimatorHumanoid::v_C_
Vector3 v_C_
Linear velocity of the control frame.
Definition: tilt-estimator-humanoid.hpp:140
stateObservation::TiltEstimatorHumanoid::setSensorPositionInC
void setSensorPositionInC(const Vector3 &p)
sets the position of the IMU sensor in the control frame
Definition: tilt-estimator-humanoid.hpp:39
stateObservation::TiltEstimatorHumanoid::v_S_C_
Vector3 v_S_C_
Linear velocity of the IMU in the control frame.
Definition: tilt-estimator-humanoid.hpp:134
stateObservation::TiltEstimator::setMeasurement
void setMeasurement(const Vector3 &yv_k, const Vector3 &ya_k, const Vector3 &yg_k, TimeIndex k)
sets ths measurement (accelero and gyro stacked in one vector)
stateObservation::TiltEstimatorHumanoid::getSensorPositionInC
Vector3 getSensorPositionInC()
Definition: tilt-estimator-humanoid.hpp:44
stateObservation::TimeIndex
long int TimeIndex
Definition: definitions.hpp:139
stateObservation::TiltEstimatorHumanoid::setSensorAngularVelocityInC
void setSensorAngularVelocityInC(const Vector3 &w)
sets the angular velocity of the IMU sensor in the control frame
Definition: tilt-estimator-humanoid.hpp:76
stateObservation::TiltEstimatorHumanoid::getSensorAngularVelocityInC
Vector3 getSensorAngularVelocityInC()
Definition: tilt-estimator-humanoid.hpp:80
stateObservation::Matrix3
Eigen::Matrix3d Matrix3
3x3 Scalar Matrix
Definition: definitions.hpp:109
stateObservation::TiltEstimatorHumanoid::getControlOriginVelocityInW
Vector3 getControlOriginVelocityInW()
Definition: tilt-estimator-humanoid.hpp:91
stateObservation::TiltEstimatorHumanoid::getVirtualLocalVelocityMeasurement
Vector3 getVirtualLocalVelocityMeasurement()
Definition: tilt-estimator-humanoid.hpp:59
stateObservation::TiltEstimatorHumanoid::setControlOriginVelocityInW
void setControlOriginVelocityInW(const Vector3 &v)
Definition: tilt-estimator-humanoid.hpp:87
stateObservation::TiltEstimatorHumanoid::setSensorOrientationInC
void setSensorOrientationInC(const Matrix3 &R)
sets the oriantation of the IMU sensor in the control frame
Definition: tilt-estimator-humanoid.hpp:50
zero-delay-observer.hpp
Defines the base class of online zero delay observers. Zero delay observers are the classical state o...
tilt-estimator.hpp
Version of the Tilt Estimator that implements all the necessary functions to perform the estimation f...
stateObservation::Vector3
Eigen::Vector3d Vector3
3D vector
Definition: definitions.hpp:85
stateObservation::TiltEstimatorHumanoid::R_S_C_
Matrix3 R_S_C_
Orientation of the IMU in the control frame.
Definition: tilt-estimator-humanoid.hpp:131
stateObservation::TiltEstimatorHumanoid::getSensorOrientationInC
Matrix3 getSensorOrientationInC()
Definition: tilt-estimator-humanoid.hpp:54
stateObservation
Definition: bidim-elastic-inv-pendulum-dyn-sys.hpp:20
stateObservation::TiltEstimatorHumanoid
Version of the Tilt Estimator for humanoid robots.
Definition: tilt-estimator-humanoid.hpp:28
stateObservation::TiltEstimatorHumanoid::getSensorLinearVelocityInC
Vector3 getSensorLinearVelocityInC()
Definition: tilt-estimator-humanoid.hpp:70
stateObservation::TiltEstimator
Description is pending.
Definition: tilt-estimator.hpp:35