factorIMU
Description
The factorIMU object converts raw inertial measurement unit (IMU)
readings into constraints between poses, velocities, and IMU biases for a factorGraph object.
You can connect the factorIMU object to a gravity rotation node to enable
pose representation in the sensor frame, then transform the pose from the sensor frame to the
local navigation reference frame of the IMU by performing left multiplication of the inverse
of the gravity rotation value with the sensor pose. To estimate the gravity rotation value,
use the estimateGravityRotation function.
To refine the gravity rotation estimate during factor graph optimization, free the gravity
rotation node by using the fixNode function
with the flag argument
specified as false.
You can also connect the factorIMU object to a sensor transform node to
enable estimation and refinement of the sensor transform. This is useful when calibrating the
extrinsic transform between an IMU and another sensor. For details about these processes, see
Multi-Sensor Extrinsic Calibration using Factor Graph.
Creation
Syntax
Description
creates a F = factorIMU(nodeID,GyroscopeReadings,AccelerometerReadings)factorIMU object, F, with the specified
node identification numbers property NodeID set to
nodeID, and with the gyroscope readings and accelerometer
readings properties set to the values of their corresponding arguments.
specifies IMU parameters, such as sampling rate, gyroscope bias noise, and accelerometer
bias noise, as a F = factorIMU(nodeID,GyroscopeReadings,AccelerometerReadings,imuparams)factorIMUParameters object.
creates a F = factorIMU(nodeID,SampleRate,GyroscopeBiasNoise,AccelerometerBiasNoise,GyroscopeNoise,AccelerometerNoise,GyroscopeReadings,AccelerometerReadings)factorIMU object, F, with the specified
node identification numbers property NodeID set to
nodeID, and with a sample rate, gyroscope bias noise,
accelerometer bias noise, gyroscope noise, accelerometer noise, gyroscope readings, and
accelerometer readings set to their corresponding values, respectively.
sets writable properties using one or more name-value arguments. For example,
F = factorIMU(___,Name=Value)ReferenceFrame="NED" sets the ReferenceFrame
property of the factorIMU object to "NED".
Input Arguments
Name-Value Arguments
Output Arguments
Properties
Object Functions
Examples
More About
References
[1] Forster, Christian, Luca Carlone, Frank Dellaert, and Davide Scaramuzza. “On-Manifold Preintegration for Real-Time Visual-Inertial Odometry.” IEEE Transactions on Robotics 33, no. 1 (February 2017): 1–21. https://doi.org/10.1109/TRO.2016.2597321.