Calibration Target¶
For extrinsic Multi-Sensor Calibration the toolbox was developed to use an asymmetric calibration target as depicted below. The asymmetry allows to detect a full 6-DOF pose of the target within the sensor data, reducing possible ambiguities in the correspondence search and making the calibration process more robust.
Figure 1: Picture of the asymmetric calibration target used for extrinsic calibration.
The default calibration target used by 'multisensor_calibration' has the following properties:
- Width: 1.2m
-
Height: 0.8m
-
Three Circular Cutouts
- with a Radius: 0.12m
- located plus-minus 0.15m in X-Y direction around the center.
-
Four ArUco Markers from
DICT_6X6_250
- with the IDs: 1, 2, 3, 4 (arranged clockwise, starting from top-left)
- with an Edge Length: 0.18m
- located plus-minus 0.05m in X-Y direction from the respective corner of the board
Using a Custom Calibration Target¶
The Multi-Sensor Calibration the toolbox, however, allows to adjust the parameters of the calibration target by editing them within a yaml file: <repository>/mutlisensor_calibration/cfg/TargetWithCirclesAndAruco.yaml
%YAML:1.0
board_width: 1.2 # width of board in meters
board_height: 0.8 # height of board in meters
marker_size: 0.18 # side length of aruco markers in meters
marker_ids: # ids of marker used as a single column matrix
rows: 4
cols: 1
dt: i
data: [1, 2, 3, 4] # marker order goes clockwise, starting from top left of board
marker_positions: # x,y marker positions (top-left) on board relative to center, stored row-by-row in meters. x: rightwards, y: upwards
rows: 4
cols: 2
dt: f
data: [-0.55, 0.35,
0.37, 0.35,
0.37, -0.17,
-0.55, -0.17]
cutouts: # Cutouts (id + parameters) stored as a single row matrix. x: rightwards, y: upwards
rows: 1
cols: 12
dt: f
data: [1, -0.15, 0.15, 0.12, # Circular cutout: (id: 1, parameters: {X,Y,Radius})
1, 0.15, -0.15, 0.12,
1, -0.15, -0.15, 0.12]
min_marker_detection: 2 # minimum number of markers that need to be detected in the camera image
cad_model_mesh: "calibration_target_3holes_cad_mesh.ply" # relative file path to CAD model of the calibration target as mesh
cad_model_cloud: "calibration_target_3holes_cad_cloud.ply" # relative file path to CAD model of the calibration target as cloud
The CAD model mesh/cloud is used for the optimization of the detected target pose by aligning the model data to the segmented point cloud by means of GICP.