Skip to content

Class inertialsim::sensors::IMUSpecification

ClassList > inertialsim > sensors > IMUSpecification

IMU sensor specification.More...

  • #include <imu_specification.h>

Classes

Type Name
class DataInterface
IMU unified data interface specification.

Public Attributes

Type Name
AccelerometerSpecificationView accelerometer
GyroSpecificationView gyro
std::string manufacturer = ""
Sensor manufacturer name.
std::string model = ""
Sensor model identifier.
std::string version = ""
Sensor version/revision.

Public Functions

Type Name
IMUSpecification (int axes=geometry::kNumCartesianAxes)
Construct with default or specified number of axes.
AccelerometerSpecification accelerometer_specification () const
Extract a complete accelerometer specification with shared data interface.
int axes () const
The number of independent sensing axes of the sensor.
DataInterface & data_interface ()
Get non-const reference to data interface.
const DataInterface & data_interface () const
Get const reference to data interface.
GyroSpecification gyro_specification () const
Extract a complete gyro specification with shared data interface.

Detailed Description

An IMU sensor specification includes the parameters required to simulate IMU response to ideal inputs. These include input limits, noise coefficients, biases, scale factors, and internal sensor misalignments for both gyro and accelerometer components.

An IMU specification composes gyroscope and accelerometer specifications with a unified data interface. The IMU has a single sample rate and delta sample rate that applies to both sensors, but allows independent quantization settings for each sensor type.

The gyro and accelerometer are accessed through views that expose all specification properties except data_interface, which must be configured through the shared IMUSpecification::data_interface member.

Warning:

IMU Data Interfaces: IMU specifications compose a gyro and an accelerometer specification with a single shared data interface. The individual gyro and accelerometer data interfaces are intentionally hidden through the view pattern and MUST NOT be accessed directly. Always use IMUSpecification::data_interface() for data interface settings. This ensures gyro and accelerometer remain synchronized.

Note:

By default the specification returns a perfect sensor whose output will precisely match its sensed input.

See also: IMUModel for corresponding model options

See also: GyroSpecificationView and AccelerometerSpecificationView for view pattern

Public Attributes Documentation

variable accelerometer

AccelerometerSpecificationView inertialsim::sensors::IMUSpecification::accelerometer;

Accelerometer specification view (do not access underlying data_interface).


variable gyro

GyroSpecificationView inertialsim::sensors::IMUSpecification::gyro;

Gyro specification view (do not access underlying data_interface).


variable manufacturer

Sensor manufacturer name.

std::string inertialsim::sensors::IMUSpecification::manufacturer;


variable model

Sensor model identifier.

std::string inertialsim::sensors::IMUSpecification::model;


variable version

Sensor version/revision.

std::string inertialsim::sensors::IMUSpecification::version;


Public Functions Documentation

function IMUSpecification

Construct with default or specified number of axes.

explicit inertialsim::sensors::IMUSpecification::IMUSpecification (
    int axes=geometry::kNumCartesianAxes
) 

Initializes all nested specification types with matching axes.

Parameters:

  • axes Number of IMU axes (default: 3 for tri-axial sensor).

function accelerometer_specification

Extract a complete accelerometer specification with shared data interface.

AccelerometerSpecification inertialsim::sensors::IMUSpecification::accelerometer_specification () const

Returns a complete AccelerometerSpecification that includes the shared data interface parameters from IMUSpecification::data_interface. This specification can be used independently wherever an AccelerometerSpecification is required.

Returns:

Complete accelerometer specification with shared data interface.


function axes

The number of independent sensing axes of the sensor.

int inertialsim::sensors::IMUSpecification::axes () const


function data_interface [½]

Get non-const reference to data interface.

inline DataInterface & inertialsim::sensors::IMUSpecification::data_interface () 

Returns:

Reference to data interface.


function data_interface [2/2]

Get const reference to data interface.

inline const DataInterface & inertialsim::sensors::IMUSpecification::data_interface () const

Returns:

Const reference to data interface.


function gyro_specification

Extract a complete gyro specification with shared data interface.

GyroSpecification inertialsim::sensors::IMUSpecification::gyro_specification () const

Returns a complete GyroSpecification that includes the shared data interface parameters from IMUSpecification::data_interface. This specification can be used independently wherever a GyroSpecification is required.

Returns:

Complete gyro specification with shared data interface.



The documentation for this class was generated from the following file cpp/include/inertialsim/sensors/imu_specification.h