ImuSensor Class Reference

An IMU sensor. More...

#include <sensors/sensors.hh>

Inherits Sensor.

Public Member Functions

 ImuSensor ()
 Constructor. More...
 
virtual ~ImuSensor ()
 Destructor. More...
 
ignition::math::Vector3d AngularVelocity (const bool _noiseFree=false) const
 Returns the angular velocity in the IMU sensor local frame. More...
 
SensorCategory Category () const
 Get the category of the sensor. More...
 
event::ConnectionPtr ConnectUpdated (std::function< void()> _subscriber)
 Connect a signal that is triggered when the sensor is updated. More...
 
void DisconnectUpdated (event::ConnectionPtr &_c)
 Disconnect from a the updated signal. More...
 
void FillMsg (msgs::Sensor &_msg)
 fills a msgs::Sensor message. More...
 
SensorCategory GetCategory () const GAZEBO_DEPRECATED(7.0)
 Get the category of the sensor. More...
 
uint32_t GetId () const GAZEBO_DEPRECATED(7.0)
 Get the sensor's ID. More...
 
msgs::IMU GetImuMessage () const GAZEBO_DEPRECATED(7.0)
 Returns the imu message. More...
 
common::Time GetLastMeasurementTime () GAZEBO_DEPRECATED(7.0)
 Return last measurement time. More...
 
common::Time GetLastUpdateTime () GAZEBO_DEPRECATED(7.0)
 Return last update time. More...
 
std::string GetName () const GAZEBO_DEPRECATED(7.0)
 Get name. More...
 
NoisePtr GetNoise (const SensorNoiseType _type) const GAZEBO_DEPRECATED(7.0)
 Get the sensor's noise model for a specified noise type. More...
 
uint32_t GetParentId () const GAZEBO_DEPRECATED(7.0)
 Get the sensor's parent's ID. More...
 
std::string GetParentName () const GAZEBO_DEPRECATED(7.0)
 Returns the name of the sensor parent. More...
 
std::string GetScopedName () const GAZEBO_DEPRECATED(7.0)
 Get fully scoped name of the sensor. More...
 
virtual std::string GetTopic () const GAZEBO_DEPRECATED(7.0)
 Returns the topic name as set in SDF. More...
 
std::string GetType () const GAZEBO_DEPRECATED(7.0)
 Get sensor type. More...
 
double GetUpdateRate () GAZEBO_DEPRECATED(7.0)
 Get the update rate of the sensor. More...
 
bool GetVisualize () const GAZEBO_DEPRECATED(7.0)
 Return true if user requests the sensor to be visualized via tag: <visualize>true</visualize> in SDF. More...
 
std::string GetWorldName () const GAZEBO_DEPRECATED(7.0)
 Returns the name of the world the sensor is in. More...
 
uint32_t Id () const
 Get the sensor's ID. More...
 
msgs::IMU ImuMessage () const
 Returns the imu message. More...
 
virtual void Init ()
 Initialize the IMU. More...
 
virtual bool IsActive () const
 Returns true if sensor generation is active. More...
 
common::Time LastMeasurementTime () const
 Return last measurement time. More...
 
common::Time LastUpdateTime () const
 Return last update time. More...
 
ignition::math::Vector3d LinearAcceleration (const bool _noiseFree=false) const
 Returns the imu linear acceleration in the IMU sensor local frame. More...
 
std::string Name () const
 Get name. More...
 
NoisePtr Noise (const SensorNoiseType _type) const
 Get the sensor's noise model for a specified noise type. More...
 
ignition::math::Quaterniond Orientation () const
 get orientation of the IMU relative to a reference pose Initially, the reference pose is the boot up pose of the IMU, but user can call either SetReferencePose to define current pose as the reference frame, or call SetWorldToReferencePose to define transform from world frame to reference frame. More...
 
uint32_t ParentId () const
 Get the sensor's parent's ID. More...
 
std::string ParentName () const
 Returns the name of the sensor parent. More...
 
virtual ignition::math::Pose3d Pose () const
 Get the current pose. More...
 
void ResetLastUpdateTime ()
 Reset the lastUpdateTime to zero. More...
 
std::string ScopedName () const
 Get fully scoped name of the sensor. More...
 
virtual void SetActive (const bool _value)
 Set whether the sensor is active or not. More...
 
void SetParent (const std::string &_name, const uint32_t _id)
 Set the sensor's parent. More...
 
virtual void SetPose (const ignition::math::Pose3d &_pose)
 Set the current pose. More...
 
void SetReferencePose ()
 Sets the current IMU pose as the reference NED pose, i.e. More...
 
void SetUpdateRate (const double _hz)
 Set the update rate of the sensor. More...
 
void SetWorldToReferencePose (const ignition::math::Pose3d &_pose=ignition::math::Pose3d())
 Sets the transform from world frame to IMU's reference frame. More...
 
virtual std::string Topic () const
 Returns the topic name as set in SDF. More...
 
std::string Type () const
 Get sensor type. More...
 
void Update (const bool _force)
 Update the sensor. More...
 
double UpdateRate () const
 Get the update rate of the sensor. More...
 
bool Visualize () const
 Return true if user requests the sensor to be visualized via tag: <visualize>true</visualize> in SDF. More...
 
std::string WorldName () const
 Returns the name of the world the sensor is in. More...
 

Protected Member Functions

virtual void Fini ()
 Finalize the sensor. More...
 
void Load (const std::string &_worldName, sdf::ElementPtr _sdf)
 Load the sensor with SDF parameters. More...
 
virtual void Load (const std::string &_worldName)
 Load the sensor with default parameters. More...
 
bool NeedsUpdate ()
 Return true if the sensor needs to be updated. More...
 
virtual bool UpdateImpl (const bool _force)
 This gets overwritten by derived sensor types. More...
 

Protected Attributes

bool active
 True if sensor generation is active. More...
 
std::vector< event::ConnectionPtrconnections
 All event connections. More...
 
common::Time lastMeasurementTime
 Stores last time that a sensor measurement was generated; this value must be updated within each sensor's UpdateImpl. More...
 
common::Time lastUpdateTime
 Time of the last update. More...
 
transport::NodePtr node
 Node for communication. More...
 
std::map< SensorNoiseType, NoisePtrnoises
 Noise added to sensor data. More...
 
uint32_t parentId
 The sensor's parent ID. More...
 
std::string parentName
 Name of the parent. More...
 
std::vector< SensorPluginPtrplugins
 All the plugins for the sensor. More...
 
ignition::math::Pose3d pose
 Pose of the sensor. More...
 
gazebo::rendering::ScenePtr scene
 Pointer to the Scene. More...
 
sdf::ElementPtr sdf
 Pointer the the SDF element for the sensor. More...
 
common::Time updatePeriod
 Desired time between updates, set indirectly by Sensor::SetUpdateRate. More...
 
gazebo::physics::WorldPtr world
 Pointer to the world. More...
 

Detailed Description

An IMU sensor.

Constructor & Destructor Documentation

§ ImuSensor()

ImuSensor ( )

Constructor.

§ ~ImuSensor()

virtual ~ImuSensor ( )
virtual

Destructor.

Member Function Documentation

§ AngularVelocity()

ignition::math::Vector3d AngularVelocity ( const bool  _noiseFree = false) const

Returns the angular velocity in the IMU sensor local frame.

Parameters
[in]_noiseFreeTrue if the returned measurement should not use noise.
Returns
Angular velocity.

§ Category()

SensorCategory Category ( ) const
inherited

Get the category of the sensor.

Returns
The category of the sensor.
See also
SensorCategory

§ ConnectUpdated()

event::ConnectionPtr ConnectUpdated ( std::function< void()>  _subscriber)
inherited

Connect a signal that is triggered when the sensor is updated.

Parameters
[in]_subscriberCallback that receives the signal.
Returns
A pointer to the connection. This must be kept in scope.
See also
Sensor::DisconnectUpdated

§ DisconnectUpdated()

void DisconnectUpdated ( event::ConnectionPtr _c)
inherited

Disconnect from a the updated signal.

Parameters
[in]_cThe connection to disconnect
See also
Sensor::ConnectUpdated

§ FillMsg()

void FillMsg ( msgs::Sensor &  _msg)
inherited

fills a msgs::Sensor message.

Parameters
[out]_msgMessage to fill.

§ Fini()

virtual void Fini ( )
protectedvirtual

Finalize the sensor.

Reimplemented from Sensor.

§ GetCategory()

SensorCategory GetCategory ( ) const
inherited

Get the category of the sensor.

Returns
The category of the sensor.
See also
SensorCategory
Deprecated:
See Category() function.

§ GetId()

uint32_t GetId ( ) const
inherited

Get the sensor's ID.

Returns
The sensor's ID.
Deprecated:
See Id() function

§ GetImuMessage()

msgs::IMU GetImuMessage ( ) const

Returns the imu message.

Returns
Imu message.
Deprecated:
See ImuMessage()

§ GetLastMeasurementTime()

common::Time GetLastMeasurementTime ( )
inherited

Return last measurement time.

Returns
Time of last measurement.
Deprecated:
See LastMeasurementTime() function.

§ GetLastUpdateTime()

common::Time GetLastUpdateTime ( )
inherited

Return last update time.

Returns
Time of last update.
Deprecated:
See LastUpdateTime() function

§ GetName()

std::string GetName ( ) const
inherited

Get name.

Returns
Name of sensor.
Deprecated:
See Name() function.

§ GetNoise()

NoisePtr GetNoise ( const SensorNoiseType  _type) const
inherited

Get the sensor's noise model for a specified noise type.

Parameters
[in]_typeIndex of the noise type. Refer to SensorNoiseType enumeration for possible indices
Returns
The sensor's noise model for the given noise type
Deprecated:
See Noise(const SensorNoiseType _type) function

§ GetParentId()

uint32_t GetParentId ( ) const
inherited

Get the sensor's parent's ID.

Returns
The sensor's parent's ID.
Deprecated:
See ParentId() function

§ GetParentName()

std::string GetParentName ( ) const
inherited

Returns the name of the sensor parent.

The parent name is set by Sensor::SetParent.

Returns
Name of Parent.
Deprecated:
See ParentName() function.

§ GetScopedName()

std::string GetScopedName ( ) const
inherited

Get fully scoped name of the sensor.

Returns
world_name::model_name::link_name::sensor_name.
Deprecated:
See ScopedName() function

§ GetTopic()

virtual std::string GetTopic ( ) const
virtualinherited

Returns the topic name as set in SDF.

Returns
Topic name.
Deprecated:
See Topic() function.

Reimplemented in AltimeterSensor, LogicalCameraSensor, and MagnetometerSensor.

§ GetType()

std::string GetType ( ) const
inherited

Get sensor type.

Returns
Type of sensor.
Deprecated:
See Type() function.

§ GetUpdateRate()

double GetUpdateRate ( )
inherited

Get the update rate of the sensor.

Returns
_hz update rate of sensor. Returns 0 if unthrottled.
Deprecated:
See UpdateRate() function

§ GetVisualize()

bool GetVisualize ( ) const
inherited

Return true if user requests the sensor to be visualized via tag: <visualize>true</visualize> in SDF.

Returns
True if visualized, false if not.
Deprecated:
See Visualize() function

§ GetWorldName()

std::string GetWorldName ( ) const
inherited

Returns the name of the world the sensor is in.

Returns
Name of the world.
Deprecated:
See WorldName() function.

§ Id()

uint32_t Id ( ) const
inherited

Get the sensor's ID.

Returns
The sensor's ID.

§ ImuMessage()

msgs::IMU ImuMessage ( ) const

Returns the imu message.

Returns
Imu message.

§ Init()

virtual void Init ( )
virtual

Initialize the IMU.

Reimplemented from Sensor.

§ IsActive()

virtual bool IsActive ( ) const
virtual

Returns true if sensor generation is active.

Returns
True if active, false if not.

Reimplemented from Sensor.

§ LastMeasurementTime()

common::Time LastMeasurementTime ( ) const
inherited

Return last measurement time.

Returns
Time of last measurement.
Deprecated:
See LastMeasurementTime() function.

§ LastUpdateTime()

common::Time LastUpdateTime ( ) const
inherited

Return last update time.

Returns
Time of last update.

§ LinearAcceleration()

ignition::math::Vector3d LinearAcceleration ( const bool  _noiseFree = false) const

Returns the imu linear acceleration in the IMU sensor local frame.

Parameters
[in]_noiseFreeTrue if the returned measurement should not use noise.
Returns
Linear acceleration.

§ Load() [1/2]

void Load ( const std::string &  _worldName,
sdf::ElementPtr  _sdf 
)
protectedvirtual

Load the sensor with SDF parameters.

Parameters
[in]_sdfSDF Sensor parameters.
[in]_worldNameName of world to load from.

Reimplemented from Sensor.

§ Load() [2/2]

virtual void Load ( const std::string &  _worldName)
protectedvirtual

Load the sensor with default parameters.

Parameters
[in]_worldNameName of world to load from.

Reimplemented from Sensor.

§ Name()

std::string Name ( ) const
inherited

Get name.

Returns
Name of sensor.

§ NeedsUpdate()

bool NeedsUpdate ( )
protectedinherited

Return true if the sensor needs to be updated.

Returns
True when sensor should be updated.

§ Noise()

NoisePtr Noise ( const SensorNoiseType  _type) const
inherited

Get the sensor's noise model for a specified noise type.

Parameters
[in]_typeIndex of the noise type. Refer to SensorNoiseType enumeration for possible indices
Returns
The sensor's noise model for the given noise type

§ Orientation()

ignition::math::Quaterniond Orientation ( ) const

get orientation of the IMU relative to a reference pose Initially, the reference pose is the boot up pose of the IMU, but user can call either SetReferencePose to define current pose as the reference frame, or call SetWorldToReferencePose to define transform from world frame to reference frame.

Returns
returns the orientation quaternion of the IMU relative to the imu reference pose.

§ ParentId()

uint32_t ParentId ( ) const
inherited

Get the sensor's parent's ID.

Returns
The sensor's parent's ID.

§ ParentName()

std::string ParentName ( ) const
inherited

Returns the name of the sensor parent.

The parent name is set by Sensor::SetParent.

Returns
Name of Parent.

§ Pose()

virtual ignition::math::Pose3d Pose ( ) const
virtualinherited

Get the current pose.

Returns
Current pose of the sensor.
See also
SetPose()

§ ResetLastUpdateTime()

void ResetLastUpdateTime ( )
inherited

Reset the lastUpdateTime to zero.

§ ScopedName()

std::string ScopedName ( ) const
inherited

Get fully scoped name of the sensor.

Returns
world_name::model_name::link_name::sensor_name.

§ SetActive()

virtual void SetActive ( const bool  _value)
virtualinherited

Set whether the sensor is active or not.

Parameters
[in]_valueTrue if active, false if not.

Reimplemented in DepthCameraSensor.

§ SetParent()

void SetParent ( const std::string &  _name,
const uint32_t  _id 
)
inherited

Set the sensor's parent.

Parameters
[in]_nameThe sensor's parent's name.
[in]_idThe sensor's parent's ID.

§ SetPose()

virtual void SetPose ( const ignition::math::Pose3d &  _pose)
virtualinherited

Set the current pose.

Parameters
[in]_poseNew pose of the sensor.
See also
Pose()

§ SetReferencePose()

void SetReferencePose ( )

Sets the current IMU pose as the reference NED pose, i.e.

X axis of the IMU is aligned with North, Y axis of the IMU is aligned with East, Z axis of the IMU is aligned with Downward (gravity) direction.

§ SetUpdateRate()

void SetUpdateRate ( const double  _hz)
inherited

Set the update rate of the sensor.

Parameters
[in]_hzupdate rate of sensor.

§ SetWorldToReferencePose()

void SetWorldToReferencePose ( const ignition::math::Pose3d &  _pose = ignition::math::Pose3d())

Sets the transform from world frame to IMU's reference frame.

For example, if this IMU works with respect to NED frame, then call this function with the transform that transforms world frame to NED frame. Subsequently, ImuSensor::Orientation will return identity transform if the IMU is aligned with the NED frame. This call replaces SetReferencePose.

Parameters
_orientationcurrent IMU orientation in NED

§ Topic()

virtual std::string Topic ( ) const
virtualinherited

Returns the topic name as set in SDF.

Returns
Topic name.

Reimplemented in LogicalCameraSensor, GpuRaySensor, RaySensor, CameraSensor, ForceTorqueSensor, MultiCameraSensor, SonarSensor, and WirelessTransceiver.

§ Type()

std::string Type ( ) const
inherited

Get sensor type.

Returns
Type of sensor.

§ Update()

void Update ( const bool  _force)
inherited

Update the sensor.

Parameters
[in]_forceTrue to force update, false otherwise.

§ UpdateImpl()

virtual bool UpdateImpl ( const bool  )
protectedvirtual

This gets overwritten by derived sensor types.

This function is called during Sensor::Update. And in turn, Sensor::Update is called by SensorManager::Update

Parameters
[in]_forceTrue if update is forced, false if not
Returns
True if the sensor was updated.

Reimplemented from Sensor.

§ UpdateRate()

double UpdateRate ( ) const
inherited

Get the update rate of the sensor.

Returns
_hz update rate of sensor. Returns 0 if unthrottled.

§ Visualize()

bool Visualize ( ) const
inherited

Return true if user requests the sensor to be visualized via tag: <visualize>true</visualize> in SDF.

Returns
True if visualized, false if not.

§ WorldName()

std::string WorldName ( ) const
inherited

Returns the name of the world the sensor is in.

Returns
Name of the world.

Member Data Documentation

§ active

bool active
protectedinherited

True if sensor generation is active.

§ connections

std::vector<event::ConnectionPtr> connections
protectedinherited

All event connections.

§ lastMeasurementTime

common::Time lastMeasurementTime
protectedinherited

Stores last time that a sensor measurement was generated; this value must be updated within each sensor's UpdateImpl.

§ lastUpdateTime

common::Time lastUpdateTime
protectedinherited

Time of the last update.

§ node

transport::NodePtr node
protectedinherited

Node for communication.

§ noises

std::map<SensorNoiseType, NoisePtr> noises
protectedinherited

Noise added to sensor data.

§ parentId

uint32_t parentId
protectedinherited

The sensor's parent ID.

§ parentName

std::string parentName
protectedinherited

Name of the parent.

§ plugins

std::vector<SensorPluginPtr> plugins
protectedinherited

All the plugins for the sensor.

§ pose

ignition::math::Pose3d pose
protectedinherited

Pose of the sensor.

§ scene

gazebo::rendering::ScenePtr scene
protectedinherited

Pointer to the Scene.

§ sdf

sdf::ElementPtr sdf
protectedinherited

Pointer the the SDF element for the sensor.

§ updatePeriod

common::Time updatePeriod
protectedinherited

Desired time between updates, set indirectly by Sensor::SetUpdateRate.

§ world

gazebo::physics::WorldPtr world
protectedinherited

Pointer to the world.


The documentation for this class was generated from the following file: