18 #ifndef _IMUSENSOR_HH_
19 #define _IMUSENSOR_HH_
46 protected:
void Load(
const std::string &_worldName, sdf::ElementPtr _sdf);
49 protected:
virtual void Load(
const std::string &_worldName);
52 public:
virtual void Init();
55 protected:
virtual bool UpdateImpl(
bool _force);
58 protected:
virtual void Fini();
62 public: msgs::IMU GetImuMessage()
const;
78 public:
void SetReferencePose();
81 public:
virtual bool IsActive();
85 private:
void OnLinkData(ConstLinkDataPtr &_msg);
109 private: msgs::IMU imuMsg;
112 private:
mutable boost::mutex mutex;
115 private: boost::shared_ptr<msgs::LinkData const> incomingLinkData[2];
118 private:
unsigned int dataIndex;
121 private:
bool dataDirty;
124 private:
enum NoiseModelType
132 private:
bool noiseActive;
135 private:
enum NoiseModelType noiseType;
139 private:
double accelNoiseMean;
143 private:
double accelNoiseStdDev;
146 private:
double accelBias;
150 private:
double rateNoiseMean;
154 private:
double rateNoiseStdDev;
157 private:
double rateBias;