IMU Source
Node ID: imu · Role: Source · Realtime config: yes
Description
Inertial measurement unit source supporting HID, XREAL Air 2 Ultra, XREAL One Pro, and Stereolabs ZED (ZED-M/ZED2/ZED2i) devices. Outputs ImuData (accelerometer, gyroscope, quaternion orientation).
Inputs / Outputs
- Inputs: (none)
- Outputs:
Imu
Config aliases
ImuSource, imuSource, imu
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 |
|---|---|---|---|
Sender ID id | string | imu | Stream identifier that downstream nodes use to subscribe to this source’s IMU data. |
Subtypes
| Value | Display name | Extra properties |
|---|---|---|
hid | HID IMU | 8 field(s) |
xreal_air2_ultra | XREAL Air 2 Ultra | 7 field(s) |
xreal_one_pro | XREAL One Pro | 12 field(s) |
zed | ZED IMU | 5 field(s) |
Subtype: hid — HID IMU
| Property | Type | Default | Description |
|---|---|---|---|
Accelerometer Axis Config axisConfigAcc | string | +X+Y+Z | Per-axis sign/swizzle for the accelerometer, e.g. ‘+X+Y+Z’ or ‘-Y+X+Z’. Used to rotate raw sensor axes into the expected body frame. |
Gyroscope Axis Config axisConfigGyro | string | +X+Y+Z | Per-axis sign/swizzle for the gyroscope, same format as the accelerometer axis config. |
Enable Gyro Autocalibration enableGyroAutocalibration | boolean | true |
Gyro Autocalibration
| Property | Type | Default | Description |
|---|---|---|---|
Steady motion threshold (deg/s) steadyThresholdAverage | number | 1.5 | |
Steady RMS gate steadyThresholdRms | number | 1.0 | |
Noise RMS limit noiseRmsLimit | number | 0.02 | |
Steady-detection samples nSamplesForSteady | number | 256 | |
Calibration samples nSamplesForAutocalibration | number | 500 |
Subtype: xreal_air2_ultra — XREAL Air 2 Ultra
| Property | Type | Default | Description |
|---|---|---|---|
Sender ID id | string | headsetImu | Stream identifier for the Xreal Air 2 Ultra IMU output. |
Enable Gyro Autocalibration enableGyroAutocalibration | boolean | true |
Gyro Autocalibration
| Property | Type | Default | Description |
|---|---|---|---|
Steady motion threshold (deg/s) steadyThresholdAverage | number | 2.0 | |
Steady RMS gate steadyThresholdRms | number | 1.0 | |
Noise RMS limit noiseRmsLimit | number | 0.02 | |
Steady-detection samples nSamplesForSteady | number | 256 | |
Calibration samples nSamplesForAutocalibration | number | 500 |
Subtype: xreal_one_pro — XREAL One Pro
| Property | Type | Default | Description |
|---|---|---|---|
Sender ID id | string | headsetImu | Stream identifier for the Xreal One Pro IMU output. |
Device IP ip | string | 169.254.2.1 | IPv4 address of the Xreal One Pro device. |
Device Port port | number | 52998 | UDP port on the Xreal One Pro device for the IMU stream. |
Connect timeout (ms) connectTimeoutMs | number | 1000 | Timeout when opening the connection to the device, in milliseconds. |
Receive timeout (ms) recvTimeoutMs | number | 1000 | Timeout on each receive call, in milliseconds. |
IMU Tilt (deg) imuTiltDeg | number | 30.0 | Mechanical tilt of the IMU inside the headset, in degrees; applied to the raw samples. |
Enable Gyro Autocalibration enableGyroAutocalibration | boolean | true |
Gyro Autocalibration
| Property | Type | Default | Description |
|---|---|---|---|
Steady motion threshold (deg/s) steadyThresholdAverage | number | 2.0 | |
Steady RMS gate steadyThresholdRms | number | 1.0 | |
Noise RMS limit noiseRmsLimit | number | 0.02 | |
Steady-detection samples nSamplesForSteady | number | 256 | |
Calibration samples nSamplesForAutocalibration | number | 500 |
Subtype: zed — ZED IMU
| Property | Type | Default | Description |
|---|---|---|---|
Sender ID id | string | zedImu | Stream identifier that downstream nodes use to subscribe to this source’s IMU data. |
Camera Serial cameraSerial | string | "" | Optional ZED serial number. Empty = first ZED MCU found. |
Accelerometer Axis Config axisConfigAcc | string | +Z+Y-X | |
Gyroscope Axis Config axisConfigGyro | string | +Z+Y-X | |
Enable Gyro Autocalibration enableGyroAutocalibration | boolean | true |
Example node definition
A minimal entry in config.json looks like the block below. Paste it under the sources 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.
{
"sources": {
"imu": {
"outEndpoint": "inproc://imu_data",
"type": "hid",
"settings": {}
}
}
}