Class inertialsim::sensors::Accelerometer¶
ClassList > inertialsim > sensors > Accelerometer
Simulate accelerometer sensors. More...
#include <accelerometer.h>
Inherits the following classes: inertialsim::sensors::AccelerometerImuComponents, inertialsim::sensors::InertialSensor
Public Attributes inherited from inertialsim::sensors::AccelerometerImuComponents¶
See inertialsim::sensors::AccelerometerImuComponents
| Type | Name |
|---|---|
| std::optional< AccelerometerModel > | owned_model_ |
| std::optional< AccelerometerSpecification > | owned_spec_ |
Public Functions¶
| Type | Name |
|---|---|
| Accelerometer (const AccelerometerModel & model, const AccelerometerSpecification & specification, std::optional< uint64_t > seed=std::nullopt, SimulationMode mode=SimulationMode::BATCH, std::optional< double > max_duration=std::nullopt) Construct an Accelerometer from a model and specification. |
|
| Accelerometer (const IMUModel & model, const IMUSpecification & specification, std::optional< uint64_t > seed=std::nullopt, SimulationMode mode=SimulationMode::BATCH, std::optional< double > max_duration=std::nullopt) Construct an Accelerometer from anIMU model and specification. |
|
| AccelerometerData | Simulate (const geometry::Vector & specific_force, const std::optional< Scalar1D > & temperature=std::nullopt) Simulate accelerometer measurements from specific force Vector. |
| AccelerometerData | Simulate (const geometry::Vector & acceleration, const geodesy::GlobalPose & global_pose, const std::optional< Scalar1D > & temperature=std::nullopt) Simulate accelerometer measurements from acceleration and pose. |
| AccelerometerData | Simulate (const geodesy::GlobalPose & global_pose, const std::optional< Scalar1D > & temperature=std::nullopt) Simulate accelerometer measurements from global pose. |
| virtual const AccelerometerSpecification & | specification () override const Get the accelerometer specification (covariant override). |
| ~Accelerometer () override |
Public Functions inherited from inertialsim::sensors::AccelerometerImuComponents¶
See inertialsim::sensors::AccelerometerImuComponents
| Type | Name |
|---|---|
| AccelerometerImuComponents () = default |
|
| AccelerometerImuComponents (const IMUModel & model, const IMUSpecification & specification) |
Public Functions inherited from inertialsim::sensors::InertialSensor¶
See inertialsim::sensors::InertialSensor
| Type | Name |
|---|---|
| InertialSensor (const InertialSensorModel & model, const InertialSensorSpecification & specification, std::optional< uint64_t > seed=std::nullopt, SimulationMode mode=SimulationMode::BATCH, std::optional< double > max_duration=std::nullopt) Construct an InertialSensor . |
|
| virtual const InertialSensorModel & | model () override const Get the inertial sensor model. |
| virtual const InertialSensorSpecification & | specification () override const Get the inertial sensor specification. |
| virtual InertialSensorState & | state () override Get the inertial sensor state. |
| virtual const InertialSensorState & | state () override const |
| ~InertialSensor () override |
Public Functions inherited from inertialsim::sensors::Sensor¶
See inertialsim::sensors::Sensor
| Type | Name |
|---|---|
| Sensor (const SensorModel & model, const SensorSpecification & specification, std::optional< uint64_t > seed=std::nullopt, SimulationMode mode=SimulationMode::BATCH, std::optional< double > max_duration=std::nullopt) Construct a Sensor . |
|
| virtual const SensorModel & | model () const Get the sensor model. |
| const std::mt19937_64 & | rng () const Get the rng generator. |
| virtual const SensorSpecification & | specification () const Get the sensor specification. |
| virtual SensorState & | state () Get the sensor state. |
| virtual const SensorState & | state () const |
| virtual | ~Sensor () = default |
Public Static Functions inherited from inertialsim::sensors::Sensor¶
See inertialsim::sensors::Sensor
| Type | Name |
|---|---|
| Array | ApplyQuantization (const Array & signal, const SpecificationArray & quantization) Apply quantization to a signal. |
Protected Attributes inherited from inertialsim::sensors::InertialSensor¶
See inertialsim::sensors::InertialSensor
| Type | Name |
|---|---|
| std::optional< Array > | bias_instability_buffer_ |
| InertialSensorState | inertial_state_ |
| std::optional< Array > | quantization_noise_buffer_ |
| std::vector< Measurement > | rate_buffer_ |
| std::optional< Array > | rate_ramp_buffer_ |
| std::optional< Array > | rate_random_walk_buffer_ |
Protected Attributes inherited from inertialsim::sensors::Sensor¶
See inertialsim::sensors::Sensor
| Type | Name |
|---|---|
| bool | initialized_ |
| std::optional< double > | max_duration_ |
| SimulationMode | mode_ |
| const SensorModel & | model_ |
| int | noise_index_ |
| std::mt19937_64 | rng_ |
| double | sample_rate_ |
| const SensorSpecification & | specification_ |
| SensorState | state_ |
| std::optional< Array > | wgn_buffer_ |
Protected Functions inherited from inertialsim::sensors::InertialSensor¶
See inertialsim::sensors::InertialSensor
| Type | Name |
|---|---|
| virtual void | Initialize (int samples, double sample_rate) override Initialize the sensor for simulation. |
Protected Functions inherited from inertialsim::sensors::Sensor¶
See inertialsim::sensors::Sensor
| Type | Name |
|---|---|
| virtual void | Initialize (int samples, double sample_rate) Initialize the sensor for simulation. |
| void | SetBias () Set bias parameters. |
| void | SetInputLimits () Set input limit parameters. |
| void | SetMisalignment () Set misalignment parameters. |
| virtual void | SetNoise (Eigen::Index samples, double sample_rate) Set noise parameters. |
| virtual void | SetQuantization () Set quantization parameters. |
| void | SetScaleFactor () Set scale factor parameters. |
| void | SimulateBias (Array & signal, const std::optional< Scalar1D > & temperature=std::nullopt) Simulate bias. |
| Measurement | SimulateFromRate (const geometry::Vector & signal, const std::optional< Scalar1D > & temperature=std::nullopt) Simulate sensor errors on a rate signal. |
| void | SimulateInputLimits (Array & signal) Simulate input limits. |
| Array | SimulateMisalignment (const Vector3D & signal) Simulate axis misalignment. |
| virtual void | SimulateNoise (Array & signal) Simulate noise. |
| void | SimulateScaleFactor (Array & signal) Simulate scale factor. |
| geometry::Vector | ValidateInput (const geometry::Vector & signal) Validate and potentially interpolate input signal. |
Detailed Description¶
An accelerometer is "an inertial sensor that measures the component of translational acceleration minus the component of gravitational acceleration along its input axis(es)." [Standard 03].
Public Functions Documentation¶
function Accelerometer [½]¶
Construct an Accelerometer from a model and specification.
inertialsim::sensors::Accelerometer::Accelerometer (
const AccelerometerModel & model,
const AccelerometerSpecification & specification,
std::optional< uint64_t > seed=std::nullopt,
SimulationMode mode=SimulationMode::BATCH,
std::optional< double > max_duration=std::nullopt
)
Parameters:
modelAccelerometer model options.specificationAccelerometer specification.seedRandom number generator seed (0 for random).modeSimulation mode (batch or real-time).max_durationMaximum simulation duration in seconds (required for real-time mode).
function Accelerometer [2/2]¶
Construct an Accelerometer from anIMU model and specification.
inertialsim::sensors::Accelerometer::Accelerometer (
const IMUModel & model,
const IMUSpecification & specification,
std::optional< uint64_t > seed=std::nullopt,
SimulationMode mode=SimulationMode::BATCH,
std::optional< double > max_duration=std::nullopt
)
Parameters:
modelIMU model options.specificationIMU specification.seedRandom number generator seed (0 for random).modeSimulation mode (batch or real-time).max_durationMaximum simulation duration in seconds.
function Simulate [⅓]¶
Simulate accelerometer measurements from specific force Vector.
AccelerometerData inertialsim::sensors::Accelerometer::Simulate (
const geometry::Vector & specific_force,
const std::optional< Scalar1D > & temperature=std::nullopt
)
Parameters:
specific_forceSpecific force Vector with time.temperatureOptional temperature array.
Returns:
AccelerometerData with simulated measurements.
function Simulate [⅔]¶
Simulate accelerometer measurements from acceleration and pose.
AccelerometerData inertialsim::sensors::Accelerometer::Simulate (
const geometry::Vector & acceleration,
const geodesy::GlobalPose & global_pose,
const std::optional< Scalar1D > & temperature=std::nullopt
)
The input must be the total acceleration (including gravity) acting on the accelerometer as measured in accelerometer coordinates. The effect of Earth's gravity (not measured by the accelerometer) will be compensated based on the global_pose data to produce specific force.
Parameters:
accelerationTotal acceleration Vector with time.global_poseGlobalPose with attitude, position, and time.temperatureOptional temperature array.
Returns:
AccelerometerData with simulated measurements.
function Simulate [3/3]¶
Simulate accelerometer measurements from global pose.
AccelerometerData inertialsim::sensors::Accelerometer::Simulate (
const geodesy::GlobalPose & global_pose,
const std::optional< Scalar1D > & temperature=std::nullopt
)
Specific force is computed from the pose's specific_force() method, which accounts for acceleration and gravity.
Parameters:
global_poseGlobalPose with attitude, position, velocity, and time.temperatureOptional temperature array.
Returns:
AccelerometerData with simulated measurements.
function specification¶
Get the accelerometer specification (covariant override).
inline virtual const AccelerometerSpecification & inertialsim::sensors::Accelerometer::specification () override const
Returns:
Accelerometer specification.
Implements inertialsim::sensors::Sensor::specification
function ~Accelerometer¶
The documentation for this class was generated from the following file cpp/include/inertialsim/sensors/accelerometer.h