Global Optimiser
Last updated
Last updated
The API requires the client to upload the configuration for Global Optimisation in a zip file (.zip extension) in the format defined below. The contents of the zip file are called a dataset.
The client makes a loop_optimisation API call, which runs the loop optimisation algorithm on the calibrations for the given configuration.
The calibration process is completed without errors if the Loop optimisation API call response contains each calibration-id with updated extrinsics and the before and after residual error of the loop
config.json contains configuration details of the loop_optimisation (dataset_ids_for_loop_optimisation, lambda_val, renamed_sensor_names and optimisation_name)
Note
The name of the JSON file should be config.json
(case sensitive)
Key | Type | Description |
---|---|---|
dataset_ids_for_loop_optimisation | list of strings | Calibration ids that form a loop |
optimisation_name ( Optional) | string | name of the optimisation default value: "Untitled_default_name" |
renamed_sensor_names (Optional) | Object | In case the sensor names don't form a loop or there is not sensor name for the calibration this can be used to to define the names of the 1st and 2nd sensor. These names are used for loop optimisation. each key in the object refers to the dataset id for which the loop optimisation will be run. each value for the key is a list of exactly two string values which refers to the new name of the sensor to be used for loop finding in order. |
lamda_val ( Optional) | float | This the approximate co-relation between the the angle and distance . Default value is 1 i.e 1 degree ~ 1 meter |
Before invoking the APIs, the client must obtain the clientId and auth token from Deepen AI. If you are a calibration admin, you can create different Access Tokens using the UI and use those instead. clientId is part of the path parameters in most API calls, and the auth token should be prefixed with “Bearer” and passed to the ‘Authorization’ header in all API requests. How to get Access Tokens can be found on the following link: Access token for APIs
This POST API call sends a zip file to the server and runs the loop optimisation algorithm. As the response, it returns the updated extrinsics and the residual error before the optimisation and after the optimisation to the user.
https://tools.calibrate.deepen.ai/api/v2/external/clients/{clientId}/loop_optimisation
Parameter name | Parameter type | Description |
---|---|---|
clientId | string | ClientId obtained from Deepen AI |
Key | Value | Description |
---|---|---|
file | .zip file | Zip file containing config and pcd in a suitable format |
Key | Description |
---|---|
residual_error | Key for the residual error . Values are the residual error before and after the optimisation. |
roll, pitch, yaw , px, py and pz | These are the extrinsic parameters. roll, pitch, and yaw are given in degrees, and px, py, and pz are given in meters. |
original_extrinsics | Extrinsics of the calibration before optimisation |
optimised_extrinsics | Extrinsics after loop optimisation is done |
first_sensor | first sensor name based on renaming you provided |
second_sensor | second sensor name based on the renaming you provided |
calibration_type | calibration_type of the calibration id |
This GET api call returns the complete dataset information for the global optimisation which is already created.
https://tools.calibrate.deepen.ai/api/v2/external/datasets/{datasetId}/extrinsic_parameters
Parameter name | Parameter type | Description |
---|---|---|
datasetId | string | datasetId obtained from the response of Global Optimisation |
Key | Description |
---|---|
dataset_id | A unique value to identify the dataset. dataset_id can be used to retrieve the extrinsic parameters. |
optimisation_name | The name of the optimisation for the dataset_id |
lambda_value | This the approximate co-relation between the the angle and distance . Default value is 1 i.e 1 degree ~ 1 meter |
original_extrinsics | Extrinsics of the calibration before optimisation |
optimised_extrinsics | Extrinsics after loop optimisation is done |
first_sensor | first sensor name based on renaming you provided |
second_sensor | second sensor name based on the renaming you provided |
calibration_type | calibration_type of the calibration id |
roll, pitch, yaw , px, py and pz | These are the extrinsic parameters. roll, pitch, and yaw are given in degrees, and px, py, and pz are given in meters. |