...
Parameter name | Description | Default |
---|---|---|
echoFusedPose |
| false |
endpoint | Output port for the fusion result | 8801 |
fitModel | Model to use for fusion. | ModelGnssImu |
accelError | Acceleration error for Kalman filter. Keep default value. | 0.01 |
omegaError | Omega error for Kalman filter. Keep default value. | 0.02 |
measurementError | Measurement error for Kalman filter. Keep default value. | 0.05 |
imuToCarRotation | Orientation quaternion of IMU relative to car frame | 1, 0, 0, 0 |
smoothFit | Enable this option to prevent filter output from jumping between IMU data and GPS measurement. Keep enabled. | true |
Setting up the ImuToCarRotation parameter
The used car frame is VW coordinate frame,
Code Block |
---|
VW frame
x: back
y: right
z: up |
...
The IMU sensor can be mounted in any way but the ImuToCarRotation
quaternion need to be provided to transform the IMU data into VW frame.
Example
If the IMU is mounted like follows,
Code Block |
---|
IMU mounting
x: forward
y: left
z: up |
To match the VW frame, we need a 180° rotation around the z axis (clockwise). Therefore, the rotation matrix would be,
Code Block |
---|
[ -1, 0, 0;
0, -1, 0;
0, 0, 1 ] |
And the orientation quaternion woud be [x, y, z, w] = [ 0, 0, 1, 0 ]
which can be specified in the configuration like below,
Code Block |
---|
"imuToCarRotation": {
"w": 0,
"x": 0,
"y": 0,
"z": 1
} |
This filter needs as input:
...
This Filter outputs:
fusedVehiclePose (2D pose):
Output equivalent to the LD filter output. Includes position in meters relative to starting point, global position (lon, lat) and heading.fusedPose (3D pose):
x, y (in meters) + z (output latitude) + orientation quaternion.
Output data format
Code Block |
---|
{ "fusedVehiclePose": { "acceleration": { "x": 0.0, "y": 0.0, "z": 0.0 }, "globalPosition": { "x": 0.0, "y": 0.0 }, "lastDataTime": { "timestamp": 0 }, "position": { "x": 0.0, "y": 0.0 }, "timestamp": { "timestamp": 0 }, "utmZone": "31T", "yaw": 0.0 } } |
...