STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
fsw::calibration::IMUCalibrationSystem Class Reference

Complete IMU Calibration System. More...

#include <IMUCalibration.hpp>

Collaboration diagram for fsw::calibration::IMUCalibrationSystem:
[legend]

Classes

struct  CalibratedIMU
 Apply calibration to IMU reading. More...
struct  CalibrationStatus
 Get calibration status for all sensors. More...

Public Member Functions

 IMUCalibrationSystem ()
 ~IMUCalibrationSystem ()
std::shared_ptr< IMUCalibration > getCalibrator (SensorType type)
 Get calibrator for specific sensor.
bool calibrateAll (const std::vector< IMUCalibration::RawReading > &accel_readings, const std::vector< IMUCalibration::RawReading > &gyro_readings, const std::vector< IMUCalibration::RawReading > &mag_readings, const Eigen::Vector3d &reference_magnetic_field)
 Calibrate all sensors.
CalibratedIMU calibrateIMU (const IMUCalibration::RawReading &accel, const IMUCalibration::RawReading &gyro, const IMUCalibration::RawReading &mag) const
CalibrationStatus getStatus () const

Private Attributes

std::shared_ptr< IMUCalibration > accel_calibrator_
std::shared_ptr< IMUCalibration > gyro_calibrator_
std::shared_ptr< IMUCalibration > mag_calibrator_
std::mutex mutex_

Detailed Description

Complete IMU Calibration System.

Manages calibration for all three IMU sensors.

Definition at line 195 of file IMUCalibration.hpp.

Constructor & Destructor Documentation

◆ IMUCalibrationSystem()

◆ ~IMUCalibrationSystem()

fsw::calibration::IMUCalibrationSystem::~IMUCalibrationSystem ( )
default

Member Function Documentation

◆ calibrateAll()

bool fsw::calibration::IMUCalibrationSystem::calibrateAll ( const std::vector< IMUCalibration::RawReading > & accel_readings,
const std::vector< IMUCalibration::RawReading > & gyro_readings,
const std::vector< IMUCalibration::RawReading > & mag_readings,
const Eigen::Vector3d & reference_magnetic_field )

Calibrate all sensors.

Parameters
accel_readingsAccelerometer readings
gyro_readingsGyroscope readings
mag_readingsMagnetometer readings
Returns
true if all calibrations successful

Definition at line 389 of file IMUCalibration.cpp.

References accel_calibrator_, gyro_calibrator_, mag_calibrator_, fsw::calibration::IMUCalibration::CalibrationPoint::raw, fsw::calibration::IMUCalibration::CalibrationPoint::reference, fsw::calibration::IMUCalibration::CalibrationPoint::reference_uncertainty, and success.

Referenced by main().

◆ calibrateIMU()

IMUCalibrationSystem::CalibratedIMU fsw::calibration::IMUCalibrationSystem::calibrateIMU ( const IMUCalibration::RawReading & accel,
const IMUCalibration::RawReading & gyro,
const IMUCalibration::RawReading & mag ) const

Definition at line 432 of file IMUCalibration.cpp.

References accel_calibrator_, calibrated, gyro_calibrator_, and mag_calibrator_.

Referenced by main().

◆ getCalibrator()

std::shared_ptr< IMUCalibration > fsw::calibration::IMUCalibrationSystem::getCalibrator ( SensorType type)

Get calibrator for specific sensor.

Definition at line 377 of file IMUCalibration.cpp.

References accel_calibrator_, gyro_calibrator_, and mag_calibrator_.

◆ getStatus()

IMUCalibrationSystem::CalibrationStatus fsw::calibration::IMUCalibrationSystem::getStatus ( ) const

Definition at line 444 of file IMUCalibration.cpp.

References accel_calibrator_, gyro_calibrator_, and mag_calibrator_.

Referenced by main().

Member Data Documentation

◆ accel_calibrator_

std::shared_ptr<IMUCalibration> fsw::calibration::IMUCalibrationSystem::accel_calibrator_
private

◆ gyro_calibrator_

std::shared_ptr<IMUCalibration> fsw::calibration::IMUCalibrationSystem::gyro_calibrator_
private

◆ mag_calibrator_

std::shared_ptr<IMUCalibration> fsw::calibration::IMUCalibrationSystem::mag_calibrator_
private

◆ mutex_

std::mutex fsw::calibration::IMUCalibrationSystem::mutex_
mutableprivate

Definition at line 243 of file IMUCalibration.hpp.


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