magnetometer_pipeline::MagnetometerBiasRemover Class Reference

Remove known bias from 3-axis magnetometer. More...

#include <bias_remover.h>

Inheritance diagram for magnetometer_pipeline::MagnetometerBiasRemover:

Public Member Functions

void configFromParams (const cras::BoundParamHelper &params)
 Configure the bias remover from ROS parameters. More...
 
bool hasBias () const
 Whether bias has already been set. More...
 
bool hasScale () const
 Whether bias has already been set and is different from identity. More...
 
 MagnetometerBiasRemover (const cras::LogHelperPtr &log)
 
cras::expected< sensor_msgs::MagneticField, std::string > removeBias (const sensor_msgs::MagneticField &mag)
 Callback for magnetometer measurements. More...
 
void setBias (const sensor_msgs::MagneticField &bias)
 Callback for magnetometer bias. More...
 
virtual ~MagnetometerBiasRemover ()
 
- Public Member Functions inherited from cras::HasLogger
::cras::LogHelperConstPtr getCrasLogger () const
 
 HasLogger (const ::cras::LogHelperPtr &log)
 
void setCrasLogger (const ::cras::LogHelperPtr &log)
 

Private Attributes

std::unique_ptr< MagnetometerBiasRemoverPrivate > data
 PIMPL. More...
 

Additional Inherited Members

- Protected Attributes inherited from cras::HasLogger
::cras::LogHelperPtr log
 

Detailed Description

Remove known bias from 3-axis magnetometer.

Definition at line 26 of file bias_remover.h.

Constructor & Destructor Documentation

◆ MagnetometerBiasRemover()

magnetometer_pipeline::MagnetometerBiasRemover::MagnetometerBiasRemover ( const cras::LogHelperPtr log)
explicit

◆ ~MagnetometerBiasRemover()

virtual magnetometer_pipeline::MagnetometerBiasRemover::~MagnetometerBiasRemover ( )
virtual

Member Function Documentation

◆ configFromParams()

void magnetometer_pipeline::MagnetometerBiasRemover::configFromParams ( const cras::BoundParamHelper params)

Configure the bias remover from ROS parameters.

Parameters
[in]paramsThe parameters.

The following parameters are read:

  • ~initial_mag_bias_x (double, no default, optional): Magnetometer bias in the X axis.
  • ~initial_mag_bias_y (double, no default, optional): Magnetometer bias in the Y axis.
  • ~initial_mag_bias_z (double, no default, optional): Magnetometer bias in the Z axis.
  • ~initial_scaling_matrix (double[9], optional): Magnetometer scaling matrix (row-major).

◆ hasBias()

bool magnetometer_pipeline::MagnetometerBiasRemover::hasBias ( ) const

Whether bias has already been set.

Returns
Whether bias has already been set.

◆ hasScale()

bool magnetometer_pipeline::MagnetometerBiasRemover::hasScale ( ) const

Whether bias has already been set and is different from identity.

Returns
Whether bias has already been set.

◆ removeBias()

cras::expected<sensor_msgs::MagneticField, std::string> magnetometer_pipeline::MagnetometerBiasRemover::removeBias ( const sensor_msgs::MagneticField &  mag)

Callback for magnetometer measurements.

Parameters
[in]magThe raw measured magnetic field strength.
Returns
The measured magnetic field corrected for bias, or error message.

◆ setBias()

void magnetometer_pipeline::MagnetometerBiasRemover::setBias ( const sensor_msgs::MagneticField &  bias)

Callback for magnetometer bias.

Parameters
[in]biasThe bias value. If magnetic_field_covariance has non-zero elements, it is interpreted as a row-wise scaling matrix.

Member Data Documentation

◆ data

std::unique_ptr<MagnetometerBiasRemoverPrivate> magnetometer_pipeline::MagnetometerBiasRemover::data
private

PIMPL.

Definition at line 71 of file bias_remover.h.


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


magnetometer_pipeline
Author(s): Martin Pecka
autogenerated on Wed Jan 8 2025 04:03:14