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;
Encapsulates a position and rotation in three space.
Definition: Pose.hh:40
The Vector3 class represents the generic vector containing 3 elements.
Definition: Vector3.hh:43
boost::shared_ptr< Subscriber > SubscriberPtr
Definition: TransportTypes.hh:48
default namespace for gazebo
A quaternion class.
Definition: Quaternion.hh:45
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
An IMU sensor.
Definition: ImuSensor.hh:37
boost::shared_ptr< Publisher > PublisherPtr
Definition: TransportTypes.hh:44
Base class for sensors.
Definition: Sensor.hh:67
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system.hh:48
boost::shared_ptr< Link > LinkPtr
Definition: PhysicsTypes.hh:90