17 #ifndef _GAZEBO_SENSORS_IMUSENSOR_HH_
18 #define _GAZEBO_SENSORS_IMUSENSOR_HH_
22 #include <ignition/math/Quaternion.hh>
23 #include <ignition/math/Vector3.hh>
33 class ImuSensorPrivate;
49 protected:
void Load(
const std::string &_worldName, sdf::ElementPtr _sdf);
52 protected:
virtual void Load(
const std::string &_worldName);
55 public:
virtual void Init();
58 protected:
virtual bool UpdateImpl(
const bool _force);
61 protected:
virtual void Fini();
70 public: msgs::IMU ImuMessage()
const;
76 public: ignition::math::Vector3d AngularVelocity(
77 const bool _noiseFree =
false)
const;
83 public: ignition::math::Vector3d LinearAcceleration(
84 const bool _noiseFree =
false)
const;
89 public: ignition::math::Quaterniond Orientation()
const;
92 public:
void SetReferencePose();
95 public:
virtual bool IsActive()
const;
99 private:
void OnLinkData(ConstLinkDataPtr &_msg);
103 private: std::unique_ptr<ImuSensorPrivate> dataPtr;
#define GAZEBO_DEPRECATED(version)
Definition: CommonTypes.hh:48
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.
An IMU sensor.
Definition: ImuSensor.hh:40
Base class for sensors.
Definition: Sensor.hh:50
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system.hh:59