Camera Calibration
Last updated
Last updated
AuterionOS apps that provide computer vision features typically need to know the intrinsic parameters of the camera in use. These parameters are different for each device, so each camera must be calibrated individually to work with these apps.
For cameras supported by the video2ros service, AuterionOS provides an interface for uploading an existing calibration file and for performing a new calibration and generating a calibration file.
If a camera has already been calibrated and the calibration file is available, it can be uploaded to Skynode.
Open the Apps page of the vehicle web UI on http://10.41.1.1/apps, find the video2ros app under System Services, and click the blue Add calibration file button.
In the calibration webpage that opens, click the button to select a file to upload. Note that only YAML files are accepted. If the file uploads successfully, the Calibration File Exists status on the webpage will be true.
Restart the video2ros app for the uploaded file to be applied. Close the calibration webpage and return to the Apps page of the vehicle UI. Click the grey gear icon of the video2ros app and select Stop. Once stopped, click the gear icon and select Start.
To perform a calibration for a new camera, or when the properties of the camera change, the camera-calibration-service must be installed on Skynode.
Please contact Auterion to obtain a copy of this app.
Download and print the checkerboard calibration pattern in the PDF file below and mount it to a flat, rigid surface.
Measure the width of one square as accurately as possible. If printed on an A4 page, the width should be close to 25mm (0.025m).
Open the Apps page of the vehicle web UI on http://10.41.1.1/apps and find the camera-calibration-service app. Click the gear icon and select Settings. Set the values as follows, then click Save.
Setting | Value |
---|---|
Camera Topic | /camera/image_raw |
Calibrate Camera | 1 |
Pattern | chessboard |
Size | 8x6 |
Square Size | Width of one square on the checkerboard, as measured above, in metres. |
Open the settings for the video2ros app, under System Services.
Set Use Custom Auto Exposure to false, and click Save.
To ensure the calibration runs smoothly, only the camera-calibration-service and video2ros apps must be running.
On the Apps page of the vehicle web UI, stop all other apps by clicking the gear icon and then Stop.
Click the video2ros app's blue Add calibration file button to open the calibration webpage. Check the Show Calibration Tool checkbox and - when you are ready - click the Start Sampling button to begin recording calibration data.
A window will appear with the video stream from the camera. Position the checkerboard such that the entire pattern is visible in the image. If the pattern is recognised, a multi-coloured grid will be drawn on the checkerboard.
Move the checkerboard around in front of the camera, keeping the entire pattern visible. Data must be captured with the pattern at different positions and orientations:
at the top and bottom of the image,
at the left and right sides of the image,
near and far from the camera, and
with different angles of skew (where one corner of the pattern is closer to or further from the camera).
The coloured bars to the right of the image will indicate how many images have been captured at each of these positions. They will turn green when sufficient data have been captured.
Once the data capture is complete, you will be prompted to click Calibrate. This will compute the calibration parameters for the camera, generate a calibration file from them, and save the file on Skynode.
Restart the video2ros app for the new calibration file to be applied.
Skynode should be restored to the state it was in before the calibration procedure was performed.
Stop the camera-calibration-service app.
In the video2ros app settings, set Use Custom Auto Exposure back to true.
Restart all other apps.