Info |
---|
To make it easier to read, we’ve split the FusionHub documentation into two sub-manuals: LPVR-POS Manual - LPVR-POS Manual Please refer to these for the most up-to-date documentation. |
...
Parameter name | Description | Default |
---|---|---|
echoFusedPose |
| false |
endpoint | Output port for the fusion result 8801(more than one endpoint can be used if needed, check the endpoint parameters below). | 8803 |
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
...
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
...
Code Block |
---|
IMU mounting
x: forward
y: left
z: up |
...
singleEndpoint |
| true |
poseEndpoint | Output port for the |
|
globalPoseEndpoint | Output port for the |
|
outputRawGnssData | Publishes raw Gnss data position instead of the fusion output. Useful for debugging. | false |
outputWhenFilterNotReady | Publishes a temporary raw Gnss data output while the filter is initializing. Useful for a minimal check before moving the vehicle. | false |
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,
...
The WebSocket server can be accessed via 19358
port on the machine hosting the FusionHub service. To accelerate development download the Simple WebSocket Client Chrome plugin. This allows you to manually enter API commands and check the replies from the server.
Command | Sample Requests | Sample Response / Description | |||||
---|---|---|---|---|---|---|---|
getConfig |
| Gets in memory configurations. | |||||
getSavedConfig |
|
{
"command": "getConfig"
}
Get in memory configurations.
getSavedConfig
Code Block | ||
---|---|---|
| ||
{
"command": "getSavedConfig"
} |
Get on disk configurations.
saveConfig
Code Block | ||
---|---|---|
| ||
{
"command": "saveConfig"
} |
Save the in-memory configurations to the disk.
| Gets on disk configurations. | ||||||
saveConfig |
| Saves the in-memory configurations to the disk. | |||||
setConfig |
| Updates in-memory configurations. This API creates new key-value pairs, or updates the existing values. It doesn't save configurations to disk. Note that in | |||||
setConfigJsonPath (available for JVC branch) |
|
|
|
|
|
|
|
|
|
|
Update in-memory configurations. This api create new key-value pairs, or update the existing values.
It does not save configurations to the disk.
Note that in "data"
you just need to specify the path to the json key to update: the exmaple on the right would change the port to 5005 while everything else is left unchanged.
Updates the in-memory configuration given JSON path, and new value. For more info about JSON path, please refer JSON Pointer - JSON for Modern C++ (nlohmann.me). | ||||||
overwriteConfig (disabled in JVC branch) |
|
Overwrites the in-memory configurations. This is suitable when user want to remove a key from the configuration. | ||||||
getIntercalibrationStatus |
|
Gets the current intercalibration status. Useful for refetching current status when the frontnend accidentally disconnects. | ||||||
applyIntercalibrationResults |
|
Applies the current intercalibration quaternion to the in-memory copy of config. This does |
not save to disk. | ||||||
restartBackend |
|
Restarts the backend. Internally the while loop reset the DataBlock, causing all sources and sinks to be freed from memory, and instantiate them again. | ||||||
startRecording |
|
Listens to data published to | |||
stopRecording |
|
Stops the current recording. | ||||||
listRecording |
|
Lists the recorded filenames since the FusionHub booted up. | ||||||||||||
getVersion |
|
|
Sending FusionHub Data to External Applications via the ZeroMQ Interface
...