GNSSCalibrationParameters Class Reference

Holds the options used for calibrating GNSS / VIO. More...

Functions

bool save (String filename, SERIALIZATION_FORMAT format=SERIALIZATION_FORMAT::JSON) const
 Saves the current set of parameters into a file to be reloaded with the load() method. More...
 
bool load (String filename, SERIALIZATION_FORMAT format=SERIALIZATION_FORMAT::JSON)
 Loads a set of parameters from the values contained in a previously saved file. More...
 
bool encode (String &serialized_content, SERIALIZATION_FORMAT format=SERIALIZATION_FORMAT::JSON) const
 Generate a JSON Object (with the struct type as a key) containing the serialized struct, converted into a string. More...
 
bool decode (const String &serialized_content, SERIALIZATION_FORMAT format=SERIALIZATION_FORMAT::JSON)
 Fill the structure from the serialized json object contained in the input string. More...
 
bool operator== (const GNSSCalibrationParameters &param1) const
 Comparison operator ==. More...
 
bool operator!= (const GNSSCalibrationParameters &param1) const
 Comparison operator !=. More...
 

Attributes

float target_yaw_uncertainty = 0.1
 This parameter defines the target yaw uncertainty at which the calibration process between GNSS and VIO concludes. The unit of this parameter is in radian. More...
 
bool enable_translation_uncertainty_target = false
 When this parameter is enabled (set to true), the calibration process between GNSS and VIO accounts for the uncertainty in the determined translation, thereby facilitating the calibration termination. The maximum allowable uncertainty is controlled by the 'target_translation_uncertainty' parameter. More...
 
float target_translation_uncertainty = 10e-2
 This parameter defines the target translation uncertainty at which the calibration process between GNSS and VIO concludes. More...
 
bool enable_reinitialization = true
 This parameter determines whether reinitialization should be performed between GNSS and VIO fusion when a significant disparity is detected between GNSS data and the current fusion data. It becomes particularly crucial during prolonged GNSS signal loss scenarios. More...
 
float gnss_vio_reinit_threshold = 5
 This parameter determines the threshold for GNSS/VIO reinitialization. If the fused position deviates beyond out of the region defined by the product of the GNSS covariance and the gnss_vio_reinit_threshold, a reinitialization will be triggered. More...
 
bool enable_rolling_calibration = true
 If this parameter is set to true, the fusion algorithm will used a rough VIO / GNSS calibration at first and then refine it. This allow you to quickly get a fused position. More...
 
sl::float3 gnss_antenna_position
 Define a transform between the GNSS antenna and the camera system for the VIO / GNSS calibration. Default value is [0,0,0], this position can be refined by the calibration if enabled. More...
 

Detailed Description

Holds the options used for calibrating GNSS / VIO.

Functions

◆ save()

bool save ( String  filename,
SERIALIZATION_FORMAT  format = SERIALIZATION_FORMAT::JSON 
) const

Saves the current set of parameters into a file to be reloaded with the load() method.

Parameters
filename: Name of the file which will be created to store the parameters (extension '.yml' will be added if not set).
Returns
True if the file was successfully saved, otherwise false.
Warning
For security reasons, the file must not already exist.
In case a file already exists, the method will return false and existing file will not be updated.

◆ load()

bool load ( String  filename,
SERIALIZATION_FORMAT  format = SERIALIZATION_FORMAT::JSON 
)

Loads a set of parameters from the values contained in a previously saved file.

Parameters
filename: Path to the file from which the parameters will be loaded (extension '.yml' will be added at the end of the filename if not detected).
Returns
True if the file was successfully loaded, otherwise false.

◆ encode()

bool encode ( String serialized_content,
SERIALIZATION_FORMAT  format = SERIALIZATION_FORMAT::JSON 
) const

Generate a JSON Object (with the struct type as a key) containing the serialized struct, converted into a string.

Parameters
serialized_contentoutput string containing the JSON Object
formatserialization format, default is JSON
Returns
True if file was successfully saved, otherwise false.

◆ decode()

bool decode ( const String serialized_content,
SERIALIZATION_FORMAT  format = SERIALIZATION_FORMAT::JSON 
)

Fill the structure from the serialized json object contained in the input string.

Parameters
serialized_contentinput string containing the JSON Object
formatserialization format, default is JSON
Returns
True if the decoding was successful, otherwise false.

◆ operator==()

bool operator== ( const GNSSCalibrationParameters param1) const

Comparison operator ==.

Parameters
GNSSCalibrationParametersto compare
Returns
true if the two struct are identical

◆ operator!=()

bool operator!= ( const GNSSCalibrationParameters param1) const

Comparison operator !=.

Parameters
GNSSCalibrationParametersto compare
Returns
true if the two struct are different

Variables

◆ target_yaw_uncertainty

float target_yaw_uncertainty = 0.1

This parameter defines the target yaw uncertainty at which the calibration process between GNSS and VIO concludes. The unit of this parameter is in radian.

Default: 0.1 radians

◆ enable_translation_uncertainty_target

bool enable_translation_uncertainty_target = false

When this parameter is enabled (set to true), the calibration process between GNSS and VIO accounts for the uncertainty in the determined translation, thereby facilitating the calibration termination. The maximum allowable uncertainty is controlled by the 'target_translation_uncertainty' parameter.

◆ target_translation_uncertainty

float target_translation_uncertainty = 10e-2

This parameter defines the target translation uncertainty at which the calibration process between GNSS and VIO concludes.

Default: 10e-2 (10 centimeters)

◆ enable_reinitialization

bool enable_reinitialization = true

This parameter determines whether reinitialization should be performed between GNSS and VIO fusion when a significant disparity is detected between GNSS data and the current fusion data. It becomes particularly crucial during prolonged GNSS signal loss scenarios.

◆ gnss_vio_reinit_threshold

float gnss_vio_reinit_threshold = 5

This parameter determines the threshold for GNSS/VIO reinitialization. If the fused position deviates beyond out of the region defined by the product of the GNSS covariance and the gnss_vio_reinit_threshold, a reinitialization will be triggered.

◆ enable_rolling_calibration

bool enable_rolling_calibration = true

If this parameter is set to true, the fusion algorithm will used a rough VIO / GNSS calibration at first and then refine it. This allow you to quickly get a fused position.

◆ gnss_antenna_position

sl::float3 gnss_antenna_position

Define a transform between the GNSS antenna and the camera system for the VIO / GNSS calibration. Default value is [0,0,0], this position can be refined by the calibration if enabled.