Altimeter Sensor Class. More...
#include <AltimeterSensor.hh>
Public Member Functions | |
AltimeterSensor () | |
constructor | |
virtual | ~AltimeterSensor () |
destructor | |
virtual bool | HasConnections () const override |
Check if there are any subscribers. | |
virtual bool | Init () override |
Initialize values in the sensor. | |
virtual bool | Load (const sdf::Sensor &_sdf) override |
Load the sensor based on data from an sdf::Sensor object. | |
virtual bool | Load (sdf::ElementPtr _sdf) override |
Load the sensor with SDF parameters. | |
void | SetPosition (double _pos) |
Set the current z position of the altimeter. | |
void | SetVerticalReference (double _reference) |
Set the vertical reference position of the altimeter. | |
void | SetVerticalVelocity (double _vel) |
Set the vertical velocity of the altimeter. | |
virtual bool | Update (const std::chrono::steady_clock::duration &_now) override |
Update the sensor and generate data. | |
virtual bool | Update (const std::chrono::steady_clock::duration &_now)=0 |
Force the sensor to generate data. | |
bool | Update (const std::chrono::steady_clock::duration &_now, const bool _force) |
Update the sensor. | |
double | VerticalPosition () const |
Get the vertical position of the altimeter relative to the reference position. | |
double | VerticalReference () const |
Get the vertical reference position of the altimeter. | |
double | VerticalVelocity () const |
Get the vertical velocity of the altimeter. | |
Public Member Functions inherited from Sensor | |
virtual | ~Sensor () |
destructor | |
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. | |
bool | EnableMetrics () const |
Get flag state for enabling performance metrics publication. | |
std::string | FrameId () const |
FrameId. | |
bool | HasPendingTrigger () const |
Whether the sensor has a pending trigger. | |
SensorId | Id () const |
Get the sensor's ID. | |
bool | IsActive () const |
Get whether the sensor is enabled or not. | |
bool | IsTriggered () const |
Whether the sensor trigger mode is enabled. | |
std::string | Name () const |
Get name. | |
std::chrono::steady_clock::duration | NextDataUpdateTime () const |
Return the next time the sensor will generate data. | |
std::string | Parent () const |
Get parent link of the sensor. | |
gz::math::Pose3d | Pose () const |
Get the current pose. | |
void | PublishMetrics (const std::chrono::duration< double > &_now) |
Publishes information about the performance of the sensor. This method is called by Update(). | |
sdf::ElementPtr | SDF () const |
Get the SDF used to load this sensor. | |
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. | |
void | SetEnableMetrics (bool _enableMetrics) |
Set flag to enable publishing performance metrics. | |
void | SetFrameId (const std::string &_frameId) |
Set Frame ID of the sensor. | |
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. | |
virtual void | SetParent (const std::string &_parent) |
Set the parent of the sensor. | |
void | SetPose (const gz::math::Pose3d &_pose) |
Update the pose of the sensor. | |
bool | SetTopic (const std::string &_topic) |
Set topic where sensor data is published. | |
bool | SetTriggered (bool _triggered, const std::string &_triggerTopic="") |
Enable or disable triggered mode. In this mode,. | |
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. | |
std::string | Topic () const |
Get topic where sensor data is published. | |
bool | Update (const std::chrono::steady_clock::duration &_now, const bool _force) |
Update the sensor. | |
double | UpdateRate () const |
Get the update rate of the sensor. | |
Additional Inherited Members | |
Protected Member Functions inherited from Sensor | |
Sensor () | |
constructor | |
Detailed Description
Altimeter Sensor Class.
An altimeter sensor that reports vertical position and velocity readings over gz transport
Constructor & Destructor Documentation
◆ AltimeterSensor()
AltimeterSensor | ( | ) |
constructor
◆ ~AltimeterSensor()
|
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 |
◆ SetPosition()
void SetPosition | ( | double | _pos | ) |
Set the current z position of the altimeter.
- Parameters
-
[in] _pos Z position in meters
◆ SetVerticalReference()
void SetVerticalReference | ( | double | _reference | ) |
Set the vertical reference position of the altimeter.
- Parameters
-
[in] _reference Verical reference position in meters
◆ SetVerticalVelocity()
void SetVerticalVelocity | ( | double | _vel | ) |
Set the vertical velocity of the altimeter.
- Parameters
-
[in] _vel Vertical velocity in meters per second
◆ 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 |
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()
Implements Sensor.
◆ Update() [3/3]
bool Update | ( | const std::chrono::steady_clock::duration & | _now, |
const bool | _force | ||
) |
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.
◆ VerticalPosition()
double VerticalPosition | ( | ) | const |
Get the vertical position of the altimeter relative to the reference position.
- Returns
- Vertical position relative to referene position
◆ VerticalReference()
double VerticalReference | ( | ) | const |
Get the vertical reference position of the altimeter.
- Returns
- Verical reference position in meters
◆ VerticalVelocity()
double VerticalVelocity | ( | ) | const |
Get the vertical velocity of the altimeter.
- Returns
- Vertical velocity in meters per second
The documentation for this class was generated from the following file: