===== Combination Configuration Creation =====
How to create combination configurations in SLAM-Hive System.
==== Full Version ====
=== Step 1: Algorihtm & Dataset Selection ===
Select the required SLAM algorithm and dataset.
=== Step 2: Configuration Info ===
Mapping Task Combination Configuration Name: Recommended Name rule: [Algorithm Name]+[Dataset Name]+[Simple Description].
Description: Detailed description of the configuration.
example: Combination name: xxx; each config name: xxx-0, xxx-1...(if not exist before)
=== Step 3: Dataset Uniform Parameters ===
If your configurations refer to the dataset frequency or resolution changing, and you want to unify some topics' frequency or resolution(eg, stereo camera), you show input their IDs following the rules:
id1, id2;
id3, id4; id5;
# explain: id1 and id2 are associated; id3, id4 and id5 are associated.
=== Step 4: Dataset New Value Parameters ===
If your configurations refer to the dataset resolution or frequency changing, you show input the new image size and camera intrinsic and frequency.
Example:
258: # Dataset Resolution param id
1.0: # 1.0 0.8 0.6 the value of the resolution
146: xxx # Dataset resolution intrinsic or size new value
147: xxx
...
0.8: #
xxx: xxx
...
0.6: #
xxx: xxx
...
...
xxx: #
xxx: xxx
xxx: xxx
...
=== Step 5: Parameter Selection ===
There is a table to show all the parameter templates. You can select the needed template and input the value.
The details information can see at [[ parameter:create | create parameter wiki]] and [[ Parameter: | parameter wiki]].
If you want to make a parameter as one of the combinations, then you should input the value as: "**value1|value2|value3|...**". And if some parameters are associated with some topics announced in "Step 4", then the value here will have no effect. If step 3 and 4 is not involved, you do not need to enter anything in it.
------
After all, you can click //save// button to add the configuration to the database.
Note: A comb configuration will be created, which contains all configurations created by this rule (if some configurations already exist, no new configuration will be created, but will be associated with the existing configurations).
------
Finally, we provide a complete example:
Original Dataset Information:
Original Dataset Information:
K Matrix
- [458.654, 0.0, 367.215, 0.0, 457.296, 248.375, 0.0, 0.0, 1.0]
[R t]
- [0.999966347530033, -0.001422739138722922, 0.008079580483432283, 0.001365741834644127, 0.9999741760894847, 0.007055629199258132, -0.008089410156878961, -0.007044357138835809, 0.9999424675829176]
- [0,0,0]
K [R t]
[435.2046959714599, 0, 367.4517211914062, 0, 0, 435.2046959714599, 252.2008514404297, 0, 0, 0, 1, 0]
Rectified Left Camera Matrix:
[[436.24429564 0. 364.44123459 0. ]
[ 0. 436.24429564 256.95167542 0. ]
[ 0. 0. 1. 0. ]]
Rectified Right Camera Matrix:
[[436.24429564 0. 364.44123459 -48.02083068]
[ 0. 436.24429564 256.95167542 0. ]
[ 0. 0. 1. 0. ]]
Rectified Left Camera Rotation:
[[ 0.99996635 -0.00142274 0.00807958]
[ 0.00136574 0.99997418 0.00705563]
[-0.00808941 -0.00704436 0.99994247]]
Rectified Right Camera Rotation:
[[ 0.99996335 -0.00362581 0.00775544]
[ 0.0036804 0.99996848 -0.00703585]
[-0.00772969 0.00706413 0.99994517]]
Input Content:
------ Step 1: Algorihtm & Dataset Selection
orb-slam3-ros-stereo-inertial+MH_01_easy+comb_test
------ Step 2: Configuration Info
Algorithm: orb-slam3-ros-stereo-inertial
Dataset: MH_01_easy
test comb_configurations.
Environment: Desktop (Memory: 32GB; CPU: Intel® Core™ i7-7700 CPU @ 3.60GHz × 8; Disk: 1TB)
------ Step 3: Dataset Uniform Parameters
588,602 (Dataset Image Frequency)
591,603 (Dataset Image Resolution)
------ Step 4: Dataset New Value Parameters
588: (Cam0 image frequency)
1: (how to change this topic: origin frequency / 1)
350: 20 (the value after changing)
2:
350: 10
4:
350: 5
589: (IMU frequency)
1:
575: 200
2:
575: 100
4:
575: 50
591: (Cam0 image resolution)
1:
351: 752 # width
352: 480 # height
436: 436.24429564 # fx
437: 436.24429564 # fy
438: 364.44123459 # cx
439: 256.95167542 # cy
448: 48.02083068 # bf
449: 60 # ThDepth
454: [-0.28340811, 0.07395907, 0.00019359, 1.76187114e-05, 0.0] # D Matrix
455: [458.654, 0.0, 367.215, 0.0, 457.296, 248.375, 0.0, 0.0, 1.0] # K Matrix
456: [ 0.99996635, -0.00142274, 0.00807958, 0.00136574, 0.99997418 , 0.00705563,-0.00808941 ,-0.00704436 , 0.99994247] # R Matrix
457: [436.24429564, 0.0 ,364.44123459, 0.0, 0.0, 436.24429564, 256.95167542, 0.0, 0.0, 0.0, 1.0, 0.0] # P Matrix
0.8:
351: 601
352: 384
436: 349.09731801
437: 349.09731801
438: 291.74860382
439: 205.61695862
448: 38.42787944
449: 75
454: [-0.28340811, 0.07395907, 0.00019359, 1.76187114e-05, 0.0]
455: [366.9232, 0.0, 293.772, 0.0, 365.8368, 198.7, 0.0, 0.0, 1.0]
456: [ 0.99996635 ,-0.00142274 , 0.00807958 ,0.00136574 , 0.99997418 ,0.00705563 ,-0.00808941 ,-0.00704436 , 0.99994247]
457: [349.09731801, 0, 291.74860382, 0, 0, 349.09731801, 205.61695862, 0, 0, 0, 1, 0]
0.6:
351: 451
352: 288
436: 261.91349264
437: 261.91349264
438: 218.81050873
439: 154.26602554
448: 28.83087208
449: 100
454: [-0.28340811, 0.07395907, 0.00019359, 1.76187114e-05, 0.0]
455: [275.1924, 0.0, 220.329, 0.0, 274.3776, 149.025, 0.0, 0.0, 1.0]
456: [ 0.99996635 ,-0.00142274 , 0.00807958 ,0.00136574 , 0.99997418 ,0.00705563 ,-0.00808941 ,-0.00704436 , 0.99994247]
457: [261.91349264, 0, 218.81050873, 0, 0, 261.91349264, 154.26602554 , 0, 0, 0, 1, 0]
0.5:
351: 376
352: 240
436: 218.32162852
437: 218.32162852
438: 182.34145927
439: 128.59058762
448: 24.03237374
449: 120
454: [-0.28340811, 0.07395907, 0.00019359, 1.76187114e-05, 0.0]
455: [229.327, 0.0, 183.6075, 0.0, 228.648, 124.1875, 0.0, 0.0, 1.0]
456: [ 0.99996635 ,-0.00142274 , 0.00807958 ,0.00136574 , 0.99997418 ,0.00705563 ,-0.00808941 ,-0.00704436 , 0.99994247]
457: [218.32162852, 0, 182.34145927, 0, 0, 218.32162852, 128.59058762, 0, 0, 0, 1, 0]
603:
1:
571: [-0.28340811, 0.07395907, 0.00019359, 1.76187114e-05, 0.0]
572: [457.587, 0.0, 379.999, 0.0, 456.134, 255.238, 0.0, 0.0, 1]
573: [0.99996335 ,-0.00362581 , 0.00775544 ,0.0036804 , 0.99996848 ,-0.00703585, -0.00772969 , 0.00706413 , 0.99994517]
574: [436.24429564, 0.0 ,364.44123459, -48.02083068, 0.0, 436.24429564, 256.95167542, 0.0, 0.0, 0.0, 1.0, 0.0]
0.8:
571: [-0.28340811, 0.07395907, 0.00019359, 1.76187114e-05, 0.0]
572: [366.0696, 0.0, 303.9992, 0.0, 364.9072, 204.1904, 0.0, 0.0, 1.0]
573: [ 0.99996335, -0.00362581 , 0.00775544 ,0.0036804 , 0.99996848 ,-0.00703585 ,-0.00772969 , 0.00706413 , 0.99994517]
574: [349.09731801, 0, 291.74860382, -38.42787944, 0, 349.09731801, 205.61695862, 0, 0, 0, 1, 0]
0.6:
571: [-0.28340811, 0.07395907, 0.00019359, 1.76187114e-05, 0.0]
572: [274.5522, 0.0, 227.9994, 0.0, 273.6804, 153.1428, 0.0, 0.0, 1.0]
573: [ 0.99996335, -0.00362581 , 0.00775544 ,0.0036804 , 0.99996848 ,-0.00703585 ,-0.00772969 , 0.00706413 , 0.99994517]
574: [261.91349264, 0, 218.81050873, -28.83087208, 0, 261.91349264, 154.26602554 , 0, 0, 0, 1, 0]
0.5:
571: [-0.28340811, 0.07395907, 0.00019359, 1.76187114e-05, 0.0]
572: [228.7935 , 0.0 , 189.9995 , 0.0 , 228.067 , 127.619 , 0.0 , 0.0,
0.5 ]
573: [ 0.99996335, -0.00362581 , 0.00775544 ,0.0036804 , 0.99996848 ,-0.00703585 ,-0.00772969 , 0.00706413 , 0.99994517]
574: [218.32162852, 0, 182.34145927, -24.03237374, 0, 218.32162852, 128.59058762, 0, 0, 0, 1, 0]
Explanation:
First, parameter can be divided into 3 categories:
- 1 Dateset
- 2 Dataset Frequency; Dataset Resolution
- 3 Dataset Frequency remap; Dataset Resolution size; Dataset Resolution intrinsic
When an algorithm involves Frequency and Resolution
- First consider 2: key (topic name to be modified): value (how to change the value. For example: Frequency: 1|2; Resolution: 1|0.5).
- Then consider 1: After setting 2, some of the original parameters' value need to be modified, for these parameters:
- In comb creation, the value in (key: value) is actually ineffective, only key is effective. (the effective values are in "Step 4")/
- Then consider 3: key (keyName of the parameter to be modified): value (the topic name it corresponds to, that is, the key in 2).
- The main function of 3 is to connect 2 and 1.
If it is created simply, 3 is not needed, just change 1 to the corresponding value.
If it is comb creation:
- Need to combine step3 and step4
- The function of step3 is: for example, for stereo cameras, the images of the two cameras are basically of the same frequency and size, so when modifying, they must be modified at the same time (1, 2, 4), so that the frequency/size of the two cameras are not same.
- The function of step4 is: to provide a new value corresponding to 1 (this approach can have better scalability and can be applied to different camera models)