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();
65 public: msgs::IMU ImuMessage()
const;
71 public: ignition::math::Vector3d AngularVelocity(
72 const bool _noiseFree =
false)
const;
79 public: ignition::math::Vector3d LinearAcceleration(
80 const bool _noiseFree =
false)
const;
89 public: ignition::math::Quaterniond Orientation()
const;
95 public:
void SetReferencePose();
98 public:
virtual bool IsActive()
const;
109 public:
void SetWorldToReferencePose(
110 const ignition::math::Pose3d &_pose = ignition::math::Pose3d())
121 public:
void SetWorldToReferenceOrientation(
122 const ignition::math::Quaterniond &_orientation);
126 private:
void OnLinkData(ConstLinkDataPtr &_msg);
130 private: std::unique_ptr<ImuSensorPrivate> dataPtr;
#define GAZEBO_DEPRECATED(version)
Definition: system.hh:302
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:51
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system.hh:58