LPMS-IG1 Firmware Fusion
Node ID: lpmsIg1Fusion · Role: Filter · Realtime config: no
Description
Runs the unmodified LPMS-IG1 on-sensor orientation fusion on a raw IMU stream, so filter parameters can be tested in FusionHub. Add several instances with different settings to compare them on the same data.
Inputs / Outputs
Inputs:
Imu
Outputs:
Imu: Input IMU samples with quaternion and Euler angles replaced by the firmware fusion result.
Config aliases
LpmsIg1FusionFilter, lpmsIg1FusionFilter, lpmsIg1Fusion
Required feature
imu_optical_fusion
Properties
Each row shows the setting’s label in the node’s Properties panel and, in code, its key in the node’s settings object in the config file. A setting omitted from the config file uses the default shown here.
| Property | Type | Default | Description |
|---|---|---|---|
Filter Mode filterMode | select | kalmanGyrAcc | Firmware filter mode. Gyro + Acc (Kalman) is the LPMS-IG1 factory default. Options: kalmanGyrAcc, dcmGyrAcc, gyrOnly. |
Acc Covariance accCovariance | number | 0.1 | Base accelerometer measurement covariance of the Kalman filter. Larger values trust the gyroscope more and correct tilt more slowly. |
Linear Acc Compensation linAccCompValue | number | 2000000.0 | Weight that inflates the accelerometer covariance with the squared deviation of the acceleration magnitude from 1 g. Larger values reject linear acceleration more strongly. |
Centripetal Compensation centriCompValue | number | 100000.0 | Weight that inflates the accelerometer covariance with the angular rate (sum of absolute axis rates in rad/s). Larger values correct tilt less while rotating. |
Acc Magnitude Averaging aModAvgWeight | number | 0.0 | Low-pass weight (0 to 1) on the acceleration magnitude deviation used by the linear acceleration compensation. 0 uses the instantaneous value. |
DCM Kp dcmKp | number | 3.0 | Proportional gain of the DCM filter mode. |
DCM Ki dcmKi | number | 0.0 | Integral gain of the DCM filter mode. |
Offset Mode offsetMode | select | alignment | Orientation offset applied by Set Orientation Offset. Alignment levels the orientation and keeps its heading, Heading zeroes the heading only, Object zeroes the full orientation. Alignment is the LPMS-IG1 factory default. Options: alignment, heading, object. |
Set Orientation Offset setOrientationOffset | button | setOrientationOffset | Capture the orientation offset from the current pose, like the set-offset command of the sensor. |
Reset Orientation Offset resetOrientationOffset | button | resetOrientationOffset | Clear the orientation offset so the unmodified filter orientation is output. |
Output Sender ID outputSenderId | string | "" | Sender identifier stamped on the output IMU stream. Empty uses the node name. |
Example node definition
A minimal entry in config.json looks like the block below. Paste it under the sinks key, keyed by an instance name of your choice. All settings are optional: anything not listed under settings uses the default from the Properties table above. See The configuration file for how the sections and endpoint wiring work.
{
"sinks": {
"lpmsIg1Fusion": {
"dataEndpoint": "inproc://lpmsIg1Fusion_data",
"inputEndpoints": [
"inproc://imu_data"
],
"inputDataFilter": [
"Imu"
],
"settings": {}
}
}
}