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();
61 protected:
virtual void Fini();
72 const bool _noiseFree =
false)
const;
80 const bool _noiseFree =
false)
const;
109 const ignition::math::Quaterniond &_orientation);
113 private:
void OnLinkData(ConstLinkDataPtr &_msg);
117 private: std::unique_ptr<ImuSensorPrivate> dataPtr;
sensors
Definition SensorManager.hh:35
An IMU sensor.
Definition ImuSensor.hh:41
void Load(const std::string &_worldName, sdf::ElementPtr _sdf)
Load the sensor with SDF parameters.
virtual ~ImuSensor()
Destructor.
void SetReferencePose()
Sets the current IMU pose as the reference NED pose, i.e.
virtual void Fini()
Finalize the sensor.
virtual void Init()
Initialize the IMU.
ignition::math::Quaterniond Orientation() const
get orientation of the IMU relative to a reference pose Initially, the reference pose is the boot up ...
virtual void Load(const std::string &_worldName)
Load the sensor with default parameters.
ignition::math::Vector3d AngularVelocity(const bool _noiseFree=false) const
Returns the angular velocity in the IMU sensor local frame.
virtual bool IsActive() const
Returns true if sensor generation is active.
virtual bool UpdateImpl(const bool _force)
This gets overwritten by derived sensor types.
ignition::math::Vector3d LinearAcceleration(const bool _noiseFree=false) const
Returns the imu linear acceleration in the IMU sensor local frame.
msgs::IMU ImuMessage() const
Returns the imu message.
void SetWorldToReferenceOrientation(const ignition::math::Quaterniond &_orientation)
Sets the rotation transform from world frame to IMU's reference frame.
Base class for sensors.
Definition Sensor.hh:53
Forward declarations for the common classes.
Definition Animation.hh:27