Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop v2.7 - IMU Intrinsic Support #337

Merged
merged 68 commits into from
Jun 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
efa542b
add parameters reading from configure
yangyulin Nov 19, 2021
97827c5
add the IMU configure
yangyulin Nov 19, 2021
b04bd95
Merge branch 'develop_v2.4.1' of https://github.com/rpng/open_vins_pr…
yangyulin Nov 19, 2021
e3f7af0
fix imu_config
yangyulin Nov 19, 2021
7460522
add the imu intrinsic calibration
yangyulin Dec 14, 2021
d7448a6
add the evaluation part for the IMU intrinsics
yangyulin Dec 14, 2021
714941f
add perturbation to simulation for imu intrinsics
yangyulin Dec 14, 2021
a8d48ec
debuging and tesing the imu intrinsic calibrtion with sim
yangyulin Dec 14, 2021
78cda81
debuging and testing ...
yangyulin Dec 14, 2021
694f932
the intrinsic calibration with analytic jacobians is done
yangyulin Dec 14, 2021
9f5a642
modify the config
yangyulin Dec 14, 2021
518f660
Merge branch 'develop_v2.5' of https://github.com/rpng/open_vins_priv…
yangyulin Dec 14, 2021
7261b75
add comments
yangyulin Dec 14, 2021
7fbf212
make the launch file good to go
yangyulin Dec 14, 2021
3dec739
increase the prior of cam-imu calibration
yangyulin Dec 14, 2021
8333026
fix comments
yangyulin Dec 19, 2021
fd92e1c
fix comments and update the config files
yangyulin Dec 19, 2021
2f4a1a3
add more comments for the intergration functions
yangyulin Dec 20, 2021
63aebb7
small cleanups, add default identities to state init
goldbattle Jan 6, 2022
3a1718a
start of cleanup
goldbattle Jan 6, 2022
eb1e8a4
Merge branch 'master' into develop_v2.6
goldbattle Jan 6, 2022
aa5a0af
more cleanup
goldbattle Jan 6, 2022
29f17bd
small cleanup
goldbattle Jan 6, 2022
ba67239
more cleanup and formating
goldbattle Jan 6, 2022
765db5d
more cleanup, add enum
goldbattle Jan 6, 2022
0eaac53
small changes
goldbattle Jan 6, 2022
44a2bfd
fix error in X3, more formating, mono is inconsistent still...
goldbattle Jan 6, 2022
5623173
fix mask relative paths
goldbattle Jan 7, 2022
a09695e
add mask matrix size check, small cleanups
goldbattle Jan 7, 2022
1d10d12
more cleanup and renamings
goldbattle Jan 7, 2022
2f6d355
fix a small bug
yangyulin Jan 8, 2022
9cf4dbd
Merge branch 'develop_v2.6' of https://github.com/rpng/open_vins_priv…
yangyulin Jan 8, 2022
92eeb9e
as long as turn on the td calibriaton, always consistent
yangyulin Jan 8, 2022
46131d7
fix a bug in ov_eval
yangyulin Jan 8, 2022
8069b02
switch to explictly setting integration method, cleanup parameter sto…
goldbattle Jan 10, 2022
0870013
Merge branch 'develop_v2.6' of github.com:rpng/open_vins_private into…
goldbattle Jan 10, 2022
b5300ce
Merge branch 'master' into develop_v2.6
goldbattle Jan 10, 2022
1f733b5
simplify simulation plots, convert Da/Dw and Tg state functions to st…
goldbattle Jan 10, 2022
57ad3b1
reorder propagation class, make intrinic jacobs static
goldbattle Jan 10, 2022
c6b9f5e
correct imu in zvupt
goldbattle Jan 10, 2022
fa70006
start updating prop docs
goldbattle Jan 11, 2022
88e2c4d
more propagation doc updates
goldbattle Jan 11, 2022
084835f
more prop doc additions
goldbattle Jan 11, 2022
4599bd7
finish analytical docs, switch DeltaR_k and Jr_ktok1 to transposed di…
goldbattle Jan 13, 2022
14211e2
Merge branch 'master' into develop_v2.7
goldbattle Jul 19, 2022
e274c65
Merge remote-tracking branch 'open_source/master' into develop_v2.7
goldbattle May 9, 2023
068490c
update configs to 2.7 format with intrinsics
goldbattle May 9, 2023
eb463b2
fix #333 documention typos
goldbattle May 9, 2023
9d499db
fix #332 chance reject problem, fix index bug in closest feat map for…
goldbattle May 9, 2023
a824660
documentation improvments
goldbattle May 9, 2023
5b1194c
small fixes to propagation docs
yangyulin May 10, 2023
e0ba712
update quat docs, expand some details about manifold types in ov_type…
goldbattle May 10, 2023
5d6f558
documentation updates throughout
goldbattle May 10, 2023
f6f0bd1
working on fej page
ccchu0816 May 9, 2023
97aae2e
improve FEJ doc
ccchu0816 May 10, 2023
d37dfe2
cleanup fej doc page wording
goldbattle May 10, 2023
dc09c66
pr fixes
goldbattle May 11, 2023
4034281
ensure to free memory, reduce strictness of num feature percent to do…
goldbattle May 13, 2023
f10ce28
we have only init'ed once we have updated (fix messy viz in beginning)
goldbattle May 13, 2023
4492d09
only dynamic init if we have good disparity
goldbattle May 14, 2023
78987b1
update configs a bit
goldbattle May 14, 2023
022b633
update package version
goldbattle May 18, 2023
2b506ee
label how to get imu intrinsics from kalibr result file
goldbattle May 18, 2023
7e4dd43
2d ate in comparison eval, report bad trajectory distance ratios to h…
goldbattle May 22, 2023
456907c
compute ratio before associating
goldbattle May 23, 2023
54e483e
fix #340 feat init jacob error
goldbattle Jun 8, 2023
2d5ed9a
fix #296 more comments and switch to sparse qr recovery for speed
goldbattle Jun 8, 2023
ef899cd
fix 16.04 compile, default should be SPARSE_QR
goldbattle Jun 8, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -1761,7 +1761,7 @@ LATEX_BIB_STYLE = plainnat
# The default value is: NO.
# This tag requires that the tag GENERATE_LATEX is set to YES.

LATEX_TIMESTAMP = NO
LATEX_TIMESTAMP = YES

#---------------------------------------------------------------------------
# Configuration options related to the RTF output
Expand Down
5 changes: 3 additions & 2 deletions ReadMe.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ details on what the system supports.

## News / Events


* **May 11, 2023** - Inertial intrinsic support released as part of v2.7 along with a few bug fixes and improvements to stereo KLT tracking. Please check out the [release page](https://github.com/rpng/open_vins/releases/tag/v2.7) for details.
* **April 15, 2023** - Minor update to v2.6.3 to support incremental feature triangulation of active features for downstream applications, faster zero-velocity update, small bug fixes, some example realsense configurations, and cached fast state prediction. Please check out the [release page](https://github.com/rpng/open_vins/releases/tag/v2.6.3) for details.
* **April 3, 2023** - We have released a monocular plane-aided VINS, termed [ov_plane](https://github.com/rpng/ov_plane), which leverages the OpenVINS project. Both now support the released [Indoor AR Table](https://github.com/rpng/ar_table_dataset) dataset.
* **July 14, 2022** - Improved feature extraction logic for >100hz tracking, some bug fixes and updated scripts. See v2.6.1 [PR#259](https://github.com/rpng/open_vins/pull/259) and v2.6.2 [PR#264](https://github.com/rpng/open_vins/pull/264).
Expand Down Expand Up @@ -79,6 +79,7 @@ details on what the system supports.
* Camera to IMU transform
* Camera to IMU time offset
* Camera intrinsics
* Inertial intrinsics (including g-sensitivity)
* Environmental SLAM feature
* OpenCV ARUCO tag SLAM features
* Sparse feature SLAM features
Expand All @@ -90,7 +91,7 @@ details on what the system supports.
* Masked tracking
* Static and dynamic state initialization
* Zero velocity detection and updates
* Out of the box evaluation on EurocMav, TUM-VI, UZH-FPV, KAIST Urban and VIO datasets
* Out of the box evaluation on EuRocMav, TUM-VI, UZH-FPV, KAIST Urban and other VIO datasets
* Extensive evaluation suite (ATE, RPE, NEES, RMSE, etc..)

## Codebase Extensions
Expand Down
8 changes: 4 additions & 4 deletions config/euroc_mav/estimator_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@
verbosity: "INFO" # ALL, DEBUG, INFO, WARNING, ERROR, SILENT

use_fej: true # if first-estimate Jacobians should be used (enable for good consistency)
use_imuavg: true # if using discrete integration, if we should average sequential IMU measurements to "smooth" it
use_rk4int: true # if rk4 integration should be used (overrides imu averaging)

integration: "rk4" # discrete, rk4, analytical (if rk4 or analytical used then analytical covariance propagation is used)
use_stereo: true # if we have more than 1 camera, if we should try to track stereo constraints between pairs
max_cameras: 2 # how many cameras we have 1 = mono, 2 = stereo, >2 = binocular (all mono tracking)

calib_cam_extrinsics: true # if the transform between camera and IMU should be optimized R_ItoC, p_CinI
calib_cam_intrinsics: true # if camera intrinsics should be optimized (focal, center, distortion)
calib_cam_timeoffset: true # if timeoffset between camera and IMU should be optimized
calib_imu_intrinsics: false # if imu intrinsics should be calibrated (rotation and skew-scale matrix)
calib_imu_g_sensitivity: false # if gyroscope gravity sensitivity (Tg) should be calibrated

max_clones: 11 # how many clones in the sliding window
max_slam: 50 # number of features in our state vector
Expand Down Expand Up @@ -40,7 +40,7 @@ zupt_only_at_beginning: false
init_window_time: 2.0 # how many seconds to collect initialization information
init_imu_thresh: 1.5 # threshold for variance of the accelerometer to detect a "jerk" in motion
init_max_disparity: 10.0 # max disparity to consider the platform stationary (dependent on resolution)
init_max_features: 75 # how many features to track during initialization (saves on computation)
init_max_features: 50 # how many features to track during initialization (saves on computation)

init_dyn_use: false # if dynamic initialization should be used
init_dyn_mle_opt_calib: false # if we should optimize calibration during intialization (not recommended)
Expand Down
32 changes: 30 additions & 2 deletions config/euroc_mav/kalibr_imu_chain.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,35 @@ imu0:
accelerometer_random_walk: 3.0000e-3 # [ m / s^3 / sqrt(Hz) ]. ( accel bias diffusion )
gyroscope_noise_density: 1.6968e-04 # [ rad / s / sqrt(Hz) ] ( gyro "white noise" )
gyroscope_random_walk: 1.9393e-05 # [ rad / s^2 / sqrt(Hz) ] ( gyro bias diffusion )
model: calibrated
rostopic: /imu0
time_offset: 0.0
update_rate: 200.0
update_rate: 200.0
# three different modes supported:
# "calibrated" (same as "kalibr"), "kalibr", "rpng"
model: "kalibr"
# how to get from Kalibr imu.yaml result file:
# - Tw is imu0:gyroscopes:M:
# - R_IMUtoGYRO: is imu0:gyroscopes:M:
# - Ta is imu0:accelerometers:M:
# - R_IMUtoACC not used by Kalibr
# - Tg is imu0:gyroscopes:A:
Tw:
- [ 1.0, 0.0, 0.0 ]
- [ 0.0, 1.0, 0.0 ]
- [ 0.0, 0.0, 1.0 ]
R_IMUtoGYRO:
- [ 1.0, 0.0, 0.0 ]
- [ 0.0, 1.0, 0.0 ]
- [ 0.0, 0.0, 1.0 ]
Ta:
- [ 1.0, 0.0, 0.0 ]
- [ 0.0, 1.0, 0.0 ]
- [ 0.0, 0.0, 1.0 ]
R_IMUtoACC:
- [ 1.0, 0.0, 0.0 ]
- [ 0.0, 1.0, 0.0 ]
- [ 0.0, 0.0, 1.0 ]
Tg:
- [ 0.0, 0.0, 0.0 ]
- [ 0.0, 0.0, 0.0 ]
- [ 0.0, 0.0, 0.0 ]
14 changes: 7 additions & 7 deletions config/kaist/estimator_config.yaml
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
%YAML:1.0 # need to specify the file type at the top!

verbosity: "DEBUG" # ALL, DEBUG, INFO, WARNING, ERROR, SILENT

use_fej: true # if we should use first-estimate Jacobians (enable for good consistency)
use_imuavg: true # for our discrete integration, if we should average sequential IMU measurements to "smooth" it
use_rk4int: true # if rk4 integration should be used (overrides imu averaging)
verbosity: "INFO" # ALL, DEBUG, INFO, WARNING, ERROR, SILENT

use_fej: true # if first-estimate Jacobians should be used (enable for good consistency)
integration: "rk4" # discrete, rk4, analytical (if rk4 or analytical used then analytical covariance propagation is used)
use_stereo: true # if we have more than 1 camera, if we should try to track stereo constraints
max_cameras: 2
max_cameras: 2 # how many cameras we have 1 = mono, 2 = stereo, >2 = binocular (all mono tracking)

calib_cam_extrinsics: false # degenerate motion
calib_cam_intrinsics: true
calib_cam_timeoffset: true # degenerate motion
calib_imu_intrinsics: false
calib_imu_g_sensitivity: false

max_clones: 11
max_slam: 50
Expand Down Expand Up @@ -40,7 +40,7 @@ zupt_only_at_beginning: false
init_window_time: 2.0
init_imu_thresh: 0.5
init_max_disparity: 1.5
init_max_features: 75
init_max_features: 50

init_dyn_use: true
init_dyn_mle_opt_calib: false
Expand Down
32 changes: 30 additions & 2 deletions config/kaist/kalibr_imu_chain.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,35 @@ imu0:
accelerometer_random_walk: 1.0000e-04 # [ m / s^3 / sqrt(Hz) ]. ( accel bias diffusion )
gyroscope_noise_density: 1.7453e-04 # [ rad / s / sqrt(Hz) ] ( gyro "white noise" )
gyroscope_random_walk: 1.0000e-05 # [ rad / s^2 / sqrt(Hz) ] ( gyro bias diffusion )
model: calibrated
rostopic: /imu/data_raw
time_offset: 0.0
update_rate: 500.0
update_rate: 500.0
# three different modes supported:
# "calibrated" (same as "kalibr"), "kalibr", "rpng"
model: "kalibr"
# how to get from Kalibr imu.yaml result file:
# - Tw is imu0:gyroscopes:M:
# - R_IMUtoGYRO: is imu0:gyroscopes:M:
# - Ta is imu0:accelerometers:M:
# - R_IMUtoACC not used by Kalibr
# - Tg is imu0:gyroscopes:A:
Tw:
- [ 1.0, 0.0, 0.0 ]
- [ 0.0, 1.0, 0.0 ]
- [ 0.0, 0.0, 1.0 ]
R_IMUtoGYRO:
- [ 1.0, 0.0, 0.0 ]
- [ 0.0, 1.0, 0.0 ]
- [ 0.0, 0.0, 1.0 ]
Ta:
- [ 1.0, 0.0, 0.0 ]
- [ 0.0, 1.0, 0.0 ]
- [ 0.0, 0.0, 1.0 ]
R_IMUtoACC:
- [ 1.0, 0.0, 0.0 ]
- [ 0.0, 1.0, 0.0 ]
- [ 0.0, 0.0, 1.0 ]
Tg:
- [ 0.0, 0.0, 0.0 ]
- [ 0.0, 0.0, 0.0 ]
- [ 0.0, 0.0, 0.0 ]
8 changes: 4 additions & 4 deletions config/kaist_vio/estimator_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@
verbosity: "INFO" # ALL, DEBUG, INFO, WARNING, ERROR, SILENT

use_fej: true # if first-estimate Jacobians should be used (enable for good consistency)
use_imuavg: true # if using discrete integration, if we should average sequential IMU measurements to "smooth" it
use_rk4int: true # if rk4 integration should be used (overrides imu averaging)

integration: "rk4" # discrete, rk4, analytical (if rk4 or analytical used then analytical covariance propagation is used)
use_stereo: true # NEED TO USE STEREO! OTHERWISE CAN'T RECOVER SCALE!!!!!! DEGENERATE MOTION!!!
max_cameras: 2 # NEED TO USE STEREO! OTHERWISE CAN'T RECOVER SCALE!!!!!! DEGENERATE MOTION!!!

calib_cam_extrinsics: false # disable since this is a degenerate motion
calib_cam_intrinsics: true
calib_cam_timeoffset: false # disable since this is a degenerate motion
calib_imu_intrinsics: false
calib_imu_g_sensitivity: false

max_clones: 11 # how many clones in the sliding window
max_slam: 50 # number of features in our state vector
Expand Down Expand Up @@ -40,7 +40,7 @@ zupt_only_at_beginning: false
init_window_time: 2.0 # how many seconds to collect initialization information
init_imu_thresh: 0.60 # threshold for variance of the accelerometer to detect a "jerk" in motion
init_max_disparity: 5.0 # max disparity to consider the platform stationary (dependent on resolution)
init_max_features: 75 # how many features to track during initialization (saves on computation)
init_max_features: 50 # how many features to track during initialization (saves on computation)

init_dyn_use: false
init_dyn_mle_opt_calib: false
Expand Down
32 changes: 30 additions & 2 deletions config/kaist_vio/kalibr_imu_chain.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,35 @@ imu0:
accelerometer_random_walk: 0.009 # [ m / s^3 / sqrt(Hz) ]. ( accel bias diffusion )
gyroscope_noise_density: 0.001 # [ rad / s / sqrt(Hz) ] ( gyro "white noise" )
gyroscope_random_walk: 0.0003 # [ rad / s^2 / sqrt(Hz) ] ( gyro bias diffusion )
model: calibrated
rostopic: /mavros/imu/data
time_offset: 0.0
update_rate: 100.0
update_rate: 100.0
# three different modes supported:
# "calibrated" (same as "kalibr"), "kalibr", "rpng"
model: "kalibr"
# how to get from Kalibr imu.yaml result file:
# - Tw is imu0:gyroscopes:M:
# - R_IMUtoGYRO: is imu0:gyroscopes:M:
# - Ta is imu0:accelerometers:M:
# - R_IMUtoACC not used by Kalibr
# - Tg is imu0:gyroscopes:A:
Tw:
- [ 1.0, 0.0, 0.0 ]
- [ 0.0, 1.0, 0.0 ]
- [ 0.0, 0.0, 1.0 ]
R_IMUtoGYRO:
- [ 1.0, 0.0, 0.0 ]
- [ 0.0, 1.0, 0.0 ]
- [ 0.0, 0.0, 1.0 ]
Ta:
- [ 1.0, 0.0, 0.0 ]
- [ 0.0, 1.0, 0.0 ]
- [ 0.0, 0.0, 1.0 ]
R_IMUtoACC:
- [ 1.0, 0.0, 0.0 ]
- [ 0.0, 1.0, 0.0 ]
- [ 0.0, 0.0, 1.0 ]
Tg:
- [ 0.0, 0.0, 0.0 ]
- [ 0.0, 0.0, 0.0 ]
- [ 0.0, 0.0, 0.0 ]
12 changes: 6 additions & 6 deletions config/rpng_aruco/estimator_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@

verbosity: "INFO" # ALL, DEBUG, INFO, WARNING, ERROR, SILENT

use_fej: true # if we should use first-estimate Jacobians (enable for good consistency)
use_imuavg: true # for our discrete integration, if we should average sequential IMU measurements to "smooth" it
use_rk4int: true # if rk4 integration should be used (overrides imu averaging)

use_fej: true # if first-estimate Jacobians should be used (enable for good consistency)
integration: "rk4" # discrete, rk4, analytical (if rk4 or analytical used then analytical covariance propagation is used)
use_stereo: true # if we have more than 1 camera, if we should try to track stereo constraints
max_cameras: 2
max_cameras: 2 # how many cameras we have 1 = mono, 2 = stereo, >2 = binocular (all mono tracking)

calib_cam_extrinsics: true
calib_cam_intrinsics: true
calib_cam_timeoffset: true
calib_imu_intrinsics: false
calib_imu_g_sensitivity: false

max_clones: 11
max_slam: 50
Expand Down Expand Up @@ -40,7 +40,7 @@ zupt_only_at_beginning: true
init_window_time: 2.0
init_imu_thresh: 1.2
init_max_disparity: 2.0
init_max_features: 75
init_max_features: 50

init_dyn_use: false
init_dyn_mle_opt_calib: false
Expand Down
32 changes: 30 additions & 2 deletions config/rpng_aruco/kalibr_imu_chain.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,35 @@ imu0:
accelerometer_random_walk: 3.0000e-3 # [ m / s^3 / sqrt(Hz) ]. ( accel bias diffusion )
gyroscope_noise_density: 1.6968e-04 # [ rad / s / sqrt(Hz) ] ( gyro "white noise" )
gyroscope_random_walk: 1.9393e-05 # [ rad / s^2 / sqrt(Hz) ] ( gyro bias diffusion )
model: calibrated
rostopic: /imu0
time_offset: 0.0
update_rate: 200.0
update_rate: 200.0
# three different modes supported:
# "calibrated" (same as "kalibr"), "kalibr", "rpng"
model: "kalibr"
# how to get from Kalibr imu.yaml result file:
# - Tw is imu0:gyroscopes:M:
# - R_IMUtoGYRO: is imu0:gyroscopes:M:
# - Ta is imu0:accelerometers:M:
# - R_IMUtoACC not used by Kalibr
# - Tg is imu0:gyroscopes:A:
Tw:
- [ 1.0, 0.0, 0.0 ]
- [ 0.0, 1.0, 0.0 ]
- [ 0.0, 0.0, 1.0 ]
R_IMUtoGYRO:
- [ 1.0, 0.0, 0.0 ]
- [ 0.0, 1.0, 0.0 ]
- [ 0.0, 0.0, 1.0 ]
Ta:
- [ 1.0, 0.0, 0.0 ]
- [ 0.0, 1.0, 0.0 ]
- [ 0.0, 0.0, 1.0 ]
R_IMUtoACC:
- [ 1.0, 0.0, 0.0 ]
- [ 0.0, 1.0, 0.0 ]
- [ 0.0, 0.0, 1.0 ]
Tg:
- [ 0.0, 0.0, 0.0 ]
- [ 0.0, 0.0, 0.0 ]
- [ 0.0, 0.0, 0.0 ]
12 changes: 6 additions & 6 deletions config/rpng_ironsides/estimator_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@

verbosity: "INFO" # ALL, DEBUG, INFO, WARNING, ERROR, SILENT

use_fej: true # if we should use first-estimate Jacobians (enable for good consistency)
use_imuavg: true # for our discrete integration, if we should average sequential IMU measurements to "smooth" it
use_rk4int: true # if rk4 integration should be used (overrides imu averaging)

use_fej: true # if first-estimate Jacobians should be used (enable for good consistency)
integration: "rk4" # discrete, rk4, analytical (if rk4 or analytical used then analytical covariance propagation is used)
goldbattle marked this conversation as resolved.
Show resolved Hide resolved
use_stereo: true # if we have more than 1 camera, if we should try to track stereo constraints
max_cameras: 2
max_cameras: 2 # how many cameras we have 1 = mono, 2 = stereo, >2 = binocular (all mono tracking)

calib_cam_extrinsics: false # degenerate motion
calib_cam_intrinsics: true
calib_cam_timeoffset: false # degenerate motion
calib_imu_intrinsics: false
calib_imu_g_sensitivity: false

max_clones: 11
max_slam: 50
Expand Down Expand Up @@ -40,7 +40,7 @@ zupt_only_at_beginning: false
init_window_time: 2.0
init_imu_thresh: 0.5
init_max_disparity: 1.5
init_max_features: 75
init_max_features: 50

init_dyn_use: false
init_dyn_mle_opt_calib: false
Expand Down
32 changes: 30 additions & 2 deletions config/rpng_ironsides/kalibr_imu_chain.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,35 @@ imu0:
accelerometer_random_walk: 1.3054568211204843e-04 # [ m / s^3 / sqrt(Hz) ]. ( accel bias diffusion )
gyroscope_noise_density: 1.1186830841306218e-04 # [ rad / s / sqrt(Hz) ] ( gyro "white noise" )
gyroscope_random_walk: 8.997530210630026e-07 # [ rad / s^2 / sqrt(Hz) ] ( gyro bias diffusion )
model: calibrated
rostopic: /imu0
time_offset: 0.0
update_rate: 200.0
update_rate: 200.0
# three different modes supported:
# "calibrated" (same as "kalibr"), "kalibr", "rpng"
model: "kalibr"
# how to get from Kalibr imu.yaml result file:
# - Tw is imu0:gyroscopes:M:
# - R_IMUtoGYRO: is imu0:gyroscopes:M:
# - Ta is imu0:accelerometers:M:
# - R_IMUtoACC not used by Kalibr
# - Tg is imu0:gyroscopes:A:
Tw:
- [ 1.0, 0.0, 0.0 ]
- [ 0.0, 1.0, 0.0 ]
- [ 0.0, 0.0, 1.0 ]
R_IMUtoGYRO:
- [ 1.0, 0.0, 0.0 ]
- [ 0.0, 1.0, 0.0 ]
- [ 0.0, 0.0, 1.0 ]
Ta:
- [ 1.0, 0.0, 0.0 ]
- [ 0.0, 1.0, 0.0 ]
- [ 0.0, 0.0, 1.0 ]
R_IMUtoACC:
- [ 1.0, 0.0, 0.0 ]
- [ 0.0, 1.0, 0.0 ]
- [ 0.0, 0.0, 1.0 ]
Tg:
- [ 0.0, 0.0, 0.0 ]
- [ 0.0, 0.0, 0.0 ]
- [ 0.0, 0.0, 0.0 ]
Loading