-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathekalibr-config.yaml
155 lines (152 loc) · 9.21 KB
/
ekalibr-config.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
Configor:
DataStream:
# key: event camera topic, value: event type. Supported event types:
# (1) PROPHESEE_EVENT: https://github.com/prophesee-ai/prophesee_ros_wrapper.git
# (2) DVS_EVENT: https://github.com/uzh-rpg/rpg_dvs_ros.git
# (3) ...
# If support for other types of event camera messages is required,
# please feel free to contact us through a GitHub issue.
EventTopics:
- key: "/dvs1/events"
value:
Type: "DVS_EVENT"
Width: 346
Height: 260
# It is not particularly critical in intrinsic calibration.
Weight: 10.0
- key: "/dvs2/events"
value:
Type: "DVS_EVENT"
Width: 346
Height: 260
# It is not particularly critical in intrinsic calibration.
Weight: 10.0
- key: "/dvs3/events"
value:
Type: "DVS_EVENT"
Width: 346
Height: 260
# It is not particularly critical in intrinsic calibration.
Weight: 10.0
# ------------------------------------------------------------------------------------ #
# Ignore these fields; they are not used in the intrinsic calibration of event cameras # #
# ------------------------------------------------------------------------------------ #
# key: IMU topic, value: IMU type. Supported IMU types are: #
# (1) SBG_IMU: https://github.com/SBG-Systems/sbg_ros_driver.git #
# (2) SENSOR_IMU: gyro unit (rad/s), acce unit (m/s^2) #
# (3) SENSOR_IMU_G: gyro unit (rad/s), acce unit (G) #
# (4) SENSOR_IMU_G_NEG: gyro unit (rad/s), acce unit (-G) #
# (5) SENSOR_IMU_DEG: gyro unit (deg/s), acce unit (m/s^2) #
# (6) SENSOR_IMU_DEG_G: gyro unit (deg/s), acce unit (G) #
# (7) SENSOR_IMU_DEG_G_NEG: gyro unit (deg/s), acce unit (-G) #
IMUTopics:
RefIMUTopic: "" #
# ------------------------------------------------------------------------------------ #
BagPath: "/the_absolute_path_of_the_ROS_bag_file.bag"
# the time piece: [BegTime, BegTime + Duration], unit: second(s)
# if you want to use all time data for calibration, please set them to negative numbers
# Note that the 'BegTime' here is measured from the start time of bag
# and is not related to the timestamp of the data recorded in the package.
BeginTime: -1
Duration: -1
Prior:
# +---------------+----------------+ +---------------+----------------+
# |SYMMETRIC_GRID | ASYMMETRIC_GRID| |SYMMETRIC_GRID | ASYMMETRIC_GRID|
# +---------------+----------------+ +---------------+----------------+
# | (O) (O) (O) | (O) (O) (O) | | (O) (O) | (O) (O) |
# | (O) (O) (O) | (O) (O) (O) | | |-------| | |--| |
# | (O) (O) (O) | (O) (O) (O) | --> | SpacingMeters | SpacingMeters |
# | (O) (O) (O) | (O) (O) (O) | | |-------| | |--| |
# | (O) (O) (O) | (O) (O) (O) | | (O) (O) | (O) (O) |
# +---------------+----------------+ +---------------+----------------+
# | C=3, R=5 | C=3, R=5 (odd) | | C=3, R=5 | C=3, R=5 (odd) |
# +---------------+----------------+ +---------------+----------------+
# For the symmetric circle grid pattern, the square size is the distance between circle centers
# on a row or column. For the asymmetric circle grid pattern, the square size is half the distance
# between circle centers on a row or column.
#---------------------------------------------------------------------------------------------#
# Attention: symmetric circle grid pattern cannot be used to calibrate inertial-visual suites #
# due to 180-degree ambiguity!!!!!!!!!!!!!!!!!!!!! #
#---------------------------------------------------------------------------------------------#
CirclePattern:
# symmetric and asymmetric circle grids are supported
# (1) SYMMETRIC_GRID: https://www.mathworks.com/help/vision/ug/calibration-patterns.html
# (2) ASYMMETRIC_GRID: https://www.mathworks.com/help/vision/ug/calibration-patterns.html
Type: ASYMMETRIC_GRID
# number of circles (cols)
Cols: 3
# number of circles (rows)
Rows: 7
# distance between circles [m]
SpacingMeters: 0.05
# radius of circles: SpacingMeters / RadiusRate, in this example, it's 0.02 [m]
RadiusRate: 2.5
# -------------------------------------------------------------------#
# The following settings generally do not need to be adjusted unless #
# the chessboard extraction performance is poor. The main reasons for#
# poor chessboard extraction include: #
# (1) small circular patterns on the chessboard. In this case, it is #
# recommended to reprint the chessboard with larger circular holes; #
# (2) insufficient motion leading to sparse norm flow estimates. #
# (3) ... #
# -------------------------------------------------------------------#
# decay of the surface of active events, unit: sec
DecayTimeOfActiveEvents: 0.02
# extraction of circular shapes based on raw events
CircleExtractor:
# clusters with an area greater than the following threshold value are considered valid clusters, unit: pixels.
ValidClusterAreaThd: 10
# two matched circular clusters whose average directional difference of norm flows,
# should be less than the following threshold value, unit: degrees.
CircleClusterPairDirThd: 30
# When fitting a time-varying circular in the spatiotemporal domain,
# the distance from the event to the circle should be less than the following threshold value, unit: pixels.
PointToCircleDistThd: 2.0
NormFlowEstimator:
# The window radius used for solving the norm flow with the local plane, typically set to [1, 3].
WinSizeInPlaneFit: 1
# The number of iterations for fitting a plane using the RANSAC method.
RansacMaxIterations: 2
# The threshold for the required ratio of inliers when fitting a plane using the RANSAC method.
RansacInlierRatioThd: 0.8
# When fitting a plane using the RANSAC method, the distance from a point to the plane
# is computed in the time domain. The following value represents the distance threshold
# for classifying a point as an inlier.
EventToPlaneTimeDistThd: 2E-3
# ------------------------------------------------------------------------------------ #
# Ignore these fields; they are not used in the intrinsic calibration of event cameras # #
# ------------------------------------------------------------------------------------ #
# priori about spatiotemporal parameters, given by corresponding config file path #
SpatTempPrioriPath: "" #
# unit: m/s^2 #
GravityNorm: 9.8 #
# the range where the time offsets would be optimized. #
# make sure this range contains the ground truth of time offsets #
# If you're not sure, make this field large, but this could lead to longer time #
TimeOffsetPadding: 0.10 #
# if sensor are hardware-synchronized, you could choose to fix temporal parameters #
# by setting this field to 'false' #
OptTemporalParams: true #
# the time distance of two neighbor control points, which determines the accuracy #
# of the representation of the B-splines. Smaller distance would lead to longer time #
# common choices: from '0.02' to '0.10' #
KnotTimeDist:
So3Spline: 0.05 #
ScaleSpline: 0.05 #
# ------------------------------------------------------------------------------------ #
Preference:
# currently available output content:
# ParamInEachIter, VisualReprojError, SAEMapClusterNormFlowEvents, SAEMapIdentifyCategory,
# SAEMapSearchMatches, SAEMapExtractCircles, SAEMapExtractCirclesGrid, SAEMap, ALL, NONE
Outputs:
- NONE
# supported data output format:
# (1) JSON
# (2) XML
# (3) YAML
# (4) BINARY
OutputDataFormat: "YAML"
Visualization: true
# the max count of entities to visualize in the viewer, If the visualizer is lagging,
# please consider reducing this value appropriately.
MaxEntityCountInViewer: 2000