Magnetometer Sensor Class. More...
#include <MagnetometerSensor.hh>
Public Member Functions | |
MagnetometerSensor () | |
constructor More... | |
virtual | ~MagnetometerSensor () |
destructor More... | |
virtual bool | HasConnections () const override |
Check if there are any subscribers. More... | |
virtual bool | Init () override |
Initialize values in the sensor. More... | |
virtual bool | Load (const sdf::Sensor &_sdf) override |
Load the sensor based on data from an sdf::Sensor object. More... | |
virtual bool | Load (sdf::ElementPtr _sdf) override |
Load the sensor with SDF parameters. More... | |
math::Vector3d | MagneticField () const |
Get the magnetic field vector in body frame. More... | |
void | SetWorldMagneticField (const math::Vector3d &_field) |
Set the magnetic field vector in world frame. More... | |
void | SetWorldPose (const math::Pose3d _pose) |
Set the world pose of the sensor. More... | |
virtual bool | Update (const std::chrono::steady_clock::duration &_now) override |
Update the sensor and generate data. More... | |
virtual bool | Update (const std::chrono::steady_clock::duration &_now)=0 |
Force the sensor to generate data. More... | |
bool | Update (const std::chrono::steady_clock::duration &_now, const bool _force) |
Update the sensor. More... | |
math::Vector3d | WorldMagneticField () const |
Get the magnetic field vector in world frame. More... | |
math::Pose3d | WorldPose () const |
Get the world pose of the sensor. More... | |
Public Member Functions inherited from Sensor | |
virtual | ~Sensor () |
destructor More... | |
void | AddSequence (gz::msgs::Header *_msg, const std::string &_seqKey="default") |
Add a sequence number to a gz::msgs::Header. This function can be called by a sensor that wants to add a sequence number to a sensor message in order to have improved accountability for generated sensor data. More... | |
bool | EnableMetrics () const |
Get flag state for enabling performance metrics publication. More... | |
std::string | FrameId () const |
FrameId. More... | |
bool | HasPendingTrigger () const |
Whether the sensor has a pending trigger. More... | |
SensorId | Id () const |
Get the sensor's ID. More... | |
bool | IsActive () const |
Get whether the sensor is enabled or not. More... | |
bool | IsTriggered () const |
Whether the sensor trigger mode is enabled. More... | |
std::string | Name () const |
Get name. More... | |
std::chrono::steady_clock::duration | NextDataUpdateTime () const |
Return the next time the sensor will generate data. More... | |
std::string | Parent () const |
Get parent link of the sensor. More... | |
gz::math::Pose3d | Pose () const |
Get the current pose. More... | |
void | PublishMetrics (const std::chrono::duration< double > &_now) |
Publishes information about the performance of the sensor. This method is called by Update(). More... | |
sdf::ElementPtr | SDF () const |
Get the SDF used to load this sensor. More... | |
void | SetActive (bool _active) |
Enable or disable the sensor. Disabled sensors will not generate or publish data unless Update is called with the '_force' argument set to true. More... | |
void | SetEnableMetrics (bool _enableMetrics) |
Set flag to enable publishing performance metrics. More... | |
void | SetFrameId (const std::string &_frameId) |
Set Frame ID of the sensor. More... | |
void | SetNextDataUpdateTime (const std::chrono::steady_clock::duration &_time) |
Manually set the next time the sensor will generate data Useful for accomodating jumps backwards in time as well as specifying updates for non-uniformly updating sensors. More... | |
virtual void | SetParent (const std::string &_parent) |
Set the parent of the sensor. More... | |
void | SetPose (const gz::math::Pose3d &_pose) |
Update the pose of the sensor. More... | |
bool | SetTopic (const std::string &_topic) |
Set topic where sensor data is published. More... | |
bool | SetTriggered (bool _triggered, const std::string &_triggerTopic="") |
Enable or disable triggered mode. In this mode,. More... | |
void | SetUpdateRate (const double _hz) |
Set the update rate of the sensor. An update rate of zero means that the sensor is updated every cycle. It's zero by default. More... | |
std::string | Topic () const |
Get topic where sensor data is published. More... | |
bool | Update (const std::chrono::steady_clock::duration &_now, const bool _force) |
Update the sensor. More... | |
double | UpdateRate () const |
Get the update rate of the sensor. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Sensor | |
Sensor () | |
constructor More... | |
Detailed Description
Magnetometer Sensor Class.
A magnetometer reports the magnetic field vector
Constructor & Destructor Documentation
◆ MagnetometerSensor()
constructor
◆ ~MagnetometerSensor()
|
virtual |
destructor
Member Function Documentation
◆ HasConnections()
|
overridevirtual |
Check if there are any subscribers.
- Returns
- True if there are subscribers, false otherwise
Reimplemented from Sensor.
◆ Init()
|
overridevirtual |
◆ Load() [1/2]
|
overridevirtual |
◆ Load() [2/2]
|
overridevirtual |
◆ MagneticField()
math::Vector3d MagneticField | ( | ) | const |
Get the magnetic field vector in body frame.
- Returns
- Magnetic field vector in body frame
◆ SetWorldMagneticField()
void SetWorldMagneticField | ( | const math::Vector3d & | _field | ) |
Set the magnetic field vector in world frame.
- Parameters
-
[in] _field Magnetic field vector in world frame.
◆ SetWorldPose()
void SetWorldPose | ( | const math::Pose3d | _pose | ) |
Set the world pose of the sensor.
- Parameters
-
[in] _pose Pose in world frame
◆ Update() [1/3]
|
overridevirtual |
Update the sensor and generate data.
- Parameters
-
[in] _now The current time
- Returns
- true if the update was successfull
Implements Sensor.
◆ Update() [2/3]
virtual bool Update |
Force the sensor to generate data.
This method must be overridden by sensors. Subclasses should not not make a decision about whether or not they need to update. The Sensor class will make sure Update() is called at the correct time.
If a subclass wants to have a variable update rate it should call SetUpdateRate().
A subclass should return false if there was an error while updating
- Parameters
-
[in] _now The current time
- Returns
- true if the update was successfull
- See also
- SetUpdateRate()
◆ Update() [3/3]
bool Update |
Update the sensor.
This is called by the manager, and is responsible for determining if this sensor needs to generate data at this time. If so, the subclasses' Update() method will be called.
- Parameters
-
[in] _now The current time [in] _force Force the update to happen even if it's not time
- Returns
- True if the update was performed (_force was true or _now >= next_update_time or sensor had a pending trigger) and the sensor's bool Sensor::Update(std::chrono::steady_clock::time_point) function returned true. False otherwise.
- Remarks
- If forced the NextUpdateTime() will be unchanged.
◆ WorldMagneticField()
math::Vector3d WorldMagneticField | ( | ) | const |
Get the magnetic field vector in world frame.
- Returns
- Magnetic field vector in world frame
◆ WorldPose()
math::Pose3d WorldPose | ( | ) | const |
Get the world pose of the sensor.
- Returns
- Pose in world frame.
The documentation for this class was generated from the following file: