Optimise the calibration parameters of multiple sensors together.
Overview: Optimise the calibration parameters of multiple sensors together.
Steps to use optimise the parameters:
- The Optimiser feature can be launched using the “New Optimisation” button in the top right corner in the Optimisations list page for selected Calibration Workspace.
- On the side menu bar we have Optimisations button which will navigate to the optimisation list page, by default the list will be empty.
- When you launch the Optimiser flow, you will be redirected to the following page which will ask you to enter a minimum of 3 sensor pairs calibrations forming a loop (discussed further below)
- A loop is formed between multiple sensors when all the calibration pairs are calculated such that a random walk from any sensor to itself can be completed. For example, suppose there are three sensors: S1, S2 and S3 capturing the same scene. Our workspace has calibration pairs S1-S2, S2-S3 and S1-S3. A closed loop is formed when you consider three sensors as nodes in a graph network and the calibration between them as edges.
- This feature optimises multiple sensors focusing on the same scene by utilising the power of the loop-closure. Hence, the tool requires a minimum of 3 sensor pairs forming a loop.
- Moving on with the example on the tool, we add a combination of sensor pairs using the “+ Select sensor pair” buttons.
- Select the sensor using the search and calibration type filter from the list of calibrations in the given workspace.
- After selecting the corresponding sensor pair using the “+” sign, rename the sensors according to your convention and click “Add sensors”.
- Although the order of the sensor pairs does not matter, the user has to be extremely careful with the selection of correct sensor pairs, they should close a loop and input consistent custom names across all the sensor pairs.
- Click “Add sensor pair” if there are more than three sensor pairs in the loop
- Click “Done adding” once all the sensor pairs to be optimised are added.
- You will be redirected to the following page with a visualiser and details of the sensor pairs:
- Click the “Optimise” button on the top right of the page to optimise the sensor pairs and visualise the results. The page will look like the following once the results are calculated:
- Understanding the optimised page results and their features:
- Click the Save button on the top right to save the added calibration details and optimisation results.
- Residual Error: These parameters represent the summary of all the sensor pairs given as input. Ideally, all of these parameters should be zero or tend towards zero after optimization.
- Estimated Error Stats: We introduce error values for users to assess the quality of the calibration.- Residual error value: This value is the norm of the residual parameters.- Individual angle error: This is the estimated error in each calibration's angle parameters derived from residual parameters.- Individual position error: This is the estimated error in each calibration's position parameters derived from residual parameters.
- Individual Sensor pair: Following the residual error values are the changes in each of the calibration’s parameters.
- Toggle “Show optimised data” to visualise the sensors after running optimisation algorithm
- “1 degree = 1 meter” indicates that the algorithm considers the units of angles and positions equivalent and optimises changes accordingly. The user can change the value of the meter scale accordingly to get results according to their needs.
- Name the optimization and save the details
- You will see a loader as the results are being saved in the database as an optimisation dataset with a dataset Id.
- You can rename the dataset to the preferred name and click on save
- If you click the back button on the top left, you will be redirected to the optimisations list page.
- Clicking on any of the optimisation datasets, we get the optimisation dataset details and its visualisation that are saved in the database.
We can also use the optimiser tool to roughly estimate the ground truth error. Let say we have taken three sensors A, B, C and their individual pair wise calibrations which forms a loop as described above. We can click on the optimise button to have the residual error.
Ideally when we combine all three pair wise individual calibration results then we should get the residual error close to zero. So using the residual error we can now know the ground truth error for the combined three calibrations. And we observed that the each individual pair-wise ground truth calibration error is close to 1/3 of the total residual error. `
We currently show three different types of the camera sensor coordinate system. On selecting the camera coordinate system, the extrinsic parameters change accordingly. The export option exports the extrinsic parameters based on the selected camera coordinate system.
- Optical coordinate system: Its the default coordinate system which we follow.
- ROS REP 103: It is the coordinate system followed by ROS. On changing to this, you can see the change in the visualization and the extrinsic parameters.
- NED : This follows the north-east-down coordinate system.