GithubHelp home page GithubHelp logo

i2nav-whu / ff-lins Goto Github PK

View Code? Open in Web Editor NEW
139.0 8.0 23.0 6.72 MB

A Consistent Frame-to-Frame Solid-State-LiDAR-Inertial State Estimator

License: GNU General Public License v3.0

CMake 5.43% C++ 94.20% C 0.37%
lidar-inertial-odometry slam

ff-lins's Issues

r3live数据集hku_main_building.bag测试 算法中途挂掉

作者您好,我在使用您提供的ff_lins_r3live.yaml并使用 R3LIVE Campus Dataset中的hku_main_building.bag测试本算法时发现程序出现如下报错,此外,我测试您自测的数据集时(park.bag)程序可以正常运行。

W0617 21:47:51.779225 27323 residual_block.cc:127]

Error in evaluating the ResidualBlock.

There are two possible reasons. Either the CostFunction did not evaluate and fill all
residual and jacobians that were requested or there was a non-finite value (nan/infinite)
generated during the or jacobian computation.

Residual Block size: 4 parameter blocks x 1 residuals

For each parameter block, the value of the parameters are printed in the first column
and the value of the jacobian under the corresponding residual. If a ParameterBlock was
held constant then the corresponding jacobian is printed as 'Not Computed'. If an entry
of the Jacobian/residual array was requested but was not written to by user code, it is
indicated by 'Uninitialized'. This is an error. Residuals or Jacobian values evaluating
to Inf or NaN is also an error.

Residuals: -nan

Parameter Block 0, size: 7

-0.75506 |          nan 
  5.6792 |          nan 
 149.511 |          nan 

-0.0530644 | nan
-0.0743469 | nan
-0.126301 | nan
0.987778 | 0

Parameter Block 1, size: 7

-0.783129 | nan
6.26575 | nan
165.144 | nan
-0.0644445 | nan
-0.0790704 | nan
-0.111678 | nan
0.988495 | 0

Parameter Block 2, size: 7

0.0404252 | nan
-0.0159453 | nan
0.00438504 | nan
0.998268 | nan
0.0117375 | -nan
-0.0505127 | nan
0.0277912 | 0

Parameter Block 3, size: 1

       0 |         -nan 

E0617 21:47:51.779275 27323 trust_region_minimizer.cc:72] Terminating: Initial residual and Jacobian evaluation failed.
I0617 21:47:51.779397 27323 optimizer.cc:156] Remove 58 lidar outliers factors
W0617 21:47:51.787488 27323 residual_block.cc:127]

Error in evaluating the ResidualBlock.

There are two possible reasons. Either the CostFunction did not evaluate and fill all
residual and jacobians that were requested or there was a non-finite value (nan/infinite)
generated during the or jacobian computation.

Residual Block size: 4 parameter blocks x 1 residuals

For each parameter block, the value of the parameters are printed in the first column
and the value of the jacobian under the corresponding residual. If a ParameterBlock was
held constant then the corresponding jacobian is printed as 'Not Computed'. If an entry
of the Jacobian/residual array was requested but was not written to by user code, it is
indicated by 'Uninitialized'. This is an error. Residuals or Jacobian values evaluating
to Inf or NaN is also an error.

Residuals: -nan

Parameter Block 0, size: 7

-0.75506 |          nan 
  5.6792 |          nan 
 149.511 |          nan 

-0.0530644 | nan
-0.0743469 | nan
-0.126301 | nan
0.987778 | 0

Parameter Block 1, size: 7

-0.783129 | nan
6.26575 | nan
165.144 | nan
-0.0644445 | nan
-0.0790704 | nan
-0.111678 | nan
0.988495 | 0

Parameter Block 2, size: 7

0.0404252 | nan
-0.0159453 | nan
0.00438504 | nan
0.998268 | nan
0.0117375 | -nan
-0.0505127 | nan
0.0277912 | 0

Parameter Block 3, size: 1

       0 |         -nan 

W0617 21:47:51.787492 27612 residual_block.cc:127]

Error in evaluating the ResidualBlock.

There are two possible reasons. Either the CostFunction did not evaluate and fill all
residual and jacobians that were requested or there was a non-finite value (nan/infinite)
generated during the or jacobian computation.

Residual Block size: 4 parameter blocks x 1 residuals

For each parameter block, the value of the parameters are printed in the first column
and the value of the jacobian under the corresponding residual. If a ParameterBlock was
held constant then the corresponding jacobian is printed as 'Not Computed'. If an entry
of the Jacobian/residual array was requested but was not written to by user code, it is
indicated by 'Uninitialized'. This is an error. Residuals or Jacobian values evaluating
to Inf or NaN is also an error.

Residuals: -nan

Parameter Block 0, size: 7

-0.75506 |          nan 
  5.6792 |          nan 
 149.511 |          nan 

-0.0530644 | nan
-0.0743469 | nan
-0.126301 | nan
0.987778 | 0

Parameter Block 1, size: 7

-0.783129 | nan
6.26575 | nan
165.144 | nan
-0.0644445 | nan
-0.0790704 | nan
-0.111678 | nan
0.988495 | 0

Parameter Block 2, size: 7

0.0404252 | nan
-0.0159453 | nan
0.00438504 | nan
0.998268 | nan
0.0117375 | -nan
-0.0505127 | nan
0.0277912 | 0

Parameter Block 3, size: 1

       0 |         -nan 

W0617 21:47:51.787515 27608 residual_block.cc:127]

Error in evaluating the ResidualBlock.

There are two possible reasons. Either the CostFunction did not evaluate and fill all
residual and jacobians that were requested or there was a non-finite value (nan/infinite)
generated during the or jacobian computation.

Residual Block size: 4 parameter blocks x 1 residuals

For each parameter block, the value of the parameters are printed in the first column
and the value of the jacobian under the corresponding residual. If a ParameterBlock was
held constant then the corresponding jacobian is printed as 'Not Computed'. If an entry
of the Jacobian/residual array was requested but was not written to by user code, it is
indicated by 'Uninitialized'. This is an error. Residuals or Jacobian values evaluating
to Inf or NaN is also an error.

Residuals: -nan

Parameter Block 0, size: 7

-0.75506 |          nan 
  5.6792 |          nan 
 149.511 |          nan 

-0.0530644 | nan
-0.0743469 | nan
-0.126301 | nan
0.987778 | 0

Parameter Block 1, size: 7

-0.783129 | nan
6.26575 | nan
165.144 | nan
-0.0644445 | nan
-0.0790704 | nan
-0.111678 | nan
0.988495 | 0

Parameter Block 2, size: 7

0.0404252 | nan
-0.0159453 | nan
0.00438504 | nan
0.998268 | nan
0.0117375 | -nan
-0.0505127 | nan
0.0277912 | 0

Parameter Block 3, size: 1

       0 |         -nan 

W0617 21:47:51.787492 27611 residual_block.cc:127]

Error in evaluating the ResidualBlock.

There are two possible reasons. Either the CostFunction did not evaluate and fill all
residual and jacobians that were requested or there was a non-finite value (nan/infinite)
generated during the or jacobian computation.

Residual Block size: 4 parameter blocks x 1 residuals

For each parameter block, the value of the parameters are printed in the first column
and the value of the jacobian under the corresponding residual. If a ParameterBlock was
held constant then the corresponding jacobian is printed as 'Not Computed'. If an entry
of the Jacobian/residual array was requested but was not written to by user code, it is
indicated by 'Uninitialized'. This is an error. Residuals or Jacobian values evaluating
to Inf or NaN is also an error.

Residuals: -nan

Parameter Block 0, size: 7

-0.75506 |          nan 
  5.6792 |          nan 
 149.511 |          nan 

-0.0530644 | nan
-0.0743469 | nan
-0.126301 | nan
0.987778 | 0

Parameter Block 1, size: 7

-0.783129 | nan
6.26575 | nan
165.144 | nan
-0.0644445 | nan
-0.0790704 | nan
-0.111678 | nan
0.988495 | 0

Parameter Block 2, size: 7

0.0404252 | nan
-0.0159453 | nan
0.00438504 | nan
0.998268 | nan
0.0117375 | -nan
-0.0505127 | nan
0.0277912 | 0

Parameter Block 3, size: 1

       0 |         -nan 

E0617 21:47:51.788050 27323 trust_region_minimizer.cc:72] Terminating: Initial residual and Jacobian evaluation failed.
W0617 21:47:51.788703 27323 misc.cc:130] Failed to get state data index at 26136.895397
W0617 21:47:51.788834 27323 optimizer.cc:571] Wrong matching time node 26135.986051 to 26136.895397
E0617 21:47:51.788951 27323 optimizer.cc:207] Wrong matched lidar frame at 26136.895397
I0617 21:47:51.789013 27323 optimizer.cc:182] Optimization costs 0.666075 ms and 9.14415, with iteration 0 and 0
I0617 21:47:51.790398 27323 lidar_map.cc:130] Remove lidar keyframe at 26135.986051
I0617 21:47:51.790422 27323 optimizer.cc:400] Marginalize 1 states, last time 26136.085889, costs 0.249335
I0617 21:47:51.790519 27323 misc.cc:198] Redo INS mechanization at 26137.054532 to 26137.076988 is 0.0224569 s
I0617 21:47:51.795207 27323 lidar_map.cc:82] New lidar keyframe at 26137.154382 with interval 0.0998507 s, translation 8.08335, rotation 0.022616
I0617 21:47:51.796661 27323 ff_lins.cc:242] Accumulate 1 frames at 26137.154382 with 7545 points
I0617 21:47:51.796907 27323 ff_lins.cc:517] Add new lidar time node at 26137.154382 with dt 0.100
I0617 21:47:51.800987 27323 lidar_map.cc:412] Find the newest 130 featureas and average 23 features at 26137.154382, update map cost 1.52139 ms
I0617 21:47:51.801030 27323 optimizer.cc:407] Total 11 pose states from 26136.085889 to 26137.154382
W0617 21:47:51.801221 27323 misc.cc:130] Failed to get state data index at 26136.854064
W0617 21:47:51.801249 27323 optimizer.cc:571] Wrong matching time node 26136.085889 to 26136.854064
E0617 21:47:51.801257 27323 optimizer.cc:459] Wrong matched lidar frame at 26137.154382
I0617 21:47:51.801474 27323 optimizer.cc:127] Add 10 preintegration, 132 lidar factors
I0617 21:47:51.807972 27323 optimizer.cc:156] Remove 41 lidar outliers factors
W0617 21:47:51.819098 27323 misc.cc:130] Failed to get state data index at 26136.854064
W0617 21:47:51.819242 27323 optimizer.cc:571] Wrong matching time node 26136.085889 to 26136.854064
E0617 21:47:51.819252 27323 optimizer.cc:207] Wrong matched lidar frame at 26136.854064
I0617 21:47:51.819380 27323 optimizer.cc:182] Optimization costs 5.61189 ms and 4.33467, with iteration 6 and 11
I0617 21:47:51.819996 27323 lidar_map.cc:130] Remove lidar keyframe at 26136.085889
I0617 21:47:51.820012 27323 optimizer.cc:400] Marginalize 1 states, last time 26136.185716, costs 0.208661
I0617 21:47:51.820065 27323 misc.cc:198] Redo INS mechanization at 26137.154382 to 26137.176993 is 0.0226109 s
I0617 21:47:51.823982 27323 lidar_map.cc:82] New lidar keyframe at 26137.349442 with interval 0.19506 s, translation 16.3481, rotation 0.0114846
I0617 21:47:51.825424 27323 ff_lins.cc:242] Accumulate 1 frames at 26137.349442 with 7612 points
I0617 21:47:51.825774 27323 ff_lins.cc:517] Add new lidar time node at 26137.349442 with dt 0.195
I0617 21:47:51.828315 27323 lidar_map.cc:412] Find the newest 7 featureas and average 1 features at 26137.349442, update map cost 0.763283 ms
I0617 21:47:51.828336 27323 optimizer.cc:407] Total 11 pose states from 26136.185716 to 26137.349442
W0617 21:47:51.828460 27323 misc.cc:130] Failed to get state data index at 26136.854064
W0617 21:47:51.828493 27323 optimizer.cc:571] Wrong matching time node 26136.185716 to 26136.854064
E0617 21:47:51.828502 27323 optimizer.cc:459] Wrong matched lidar frame at 26137.349442
I0617 21:47:51.828572 27323 optimizer.cc:127] Add 10 preintegration, 7 lidar factors
I0617 21:47:51.830756 27323 optimizer.cc:156] Remove 1 lidar outliers factors
W0617 21:47:51.837357 27323 misc.cc:130] Failed to get state data index at 26136.854064
W0617 21:47:51.837385 27323 optimizer.cc:571] Wrong matching time node 26136.185716 to 26136.854064
E0617 21:47:51.837391 27323 optimizer.cc:207] Wrong matched lidar frame at 26136.854064
I0617 21:47:51.837455 27323 optimizer.cc:182] Optimization costs 2.16741 ms and 6.50056, with iteration 6 and 11
I0617 21:47:51.838855 27323 lidar_map.cc:130] Remove lidar keyframe at 26136.185716
I0617 21:47:51.838872 27323 optimizer.cc:400] Marginalize 1 states, last time 26136.289211, costs 0.177864
I0617 21:47:51.838920 27323 misc.cc:198] Redo INS mechanization at 26137.349442 to 26137.372995 is 0.0235529 s
I0617 21:47:51.840654 27323 lidar_map.cc:82] New lidar keyframe at 26137.445552 with interval 0.0961102 s, translation 8.32611, rotation 0.00942272
I0617 21:47:51.842090 27323 ff_lins.cc:242] Accumulate 1 frames at 26137.445552 with 8022 points
I0617 21:47:51.842305 27323 ff_lins.cc:517] Add new lidar time node at 26137.445552 with dt 0.096
I0617 21:47:51.847918 27323 lidar_map.cc:412] Find the newest 88 featureas and average 16 features at 26137.445552, update map cost 1.51543 ms
I0617 21:47:51.847950 27323 optimizer.cc:407] Total 11 pose states from 26136.289211 to 26137.445552
W0617 21:47:51.848065 27323 misc.cc:130] Failed to get state data index at 26136.895397
W0617 21:47:51.848090 27323 optimizer.cc:571] Wrong matching time node 26136.289211 to 26136.895397
E0617 21:47:51.848098 27323 optimizer.cc:459] Wrong matched lidar frame at 26137.445552
I0617 21:47:51.848284 27323 optimizer.cc:127] Add 10 preintegration, 88 lidar factors
I0617 21:47:51.861635 27323 optimizer.cc:156] Remove 39 lidar outliers factors
W0617 21:47:51.866465 27323 misc.cc:130] Failed to get state data index at 26136.895397
W0617 21:47:51.866633 27323 optimizer.cc:571] Wrong matching time node 26136.289211 to 26136.895397
E0617 21:47:51.866647 27323 optimizer.cc:207] Wrong matched lidar frame at 26136.895397
I0617 21:47:51.866735 27323 optimizer.cc:182] Optimization costs 13.1406 ms and 4.57755, with iteration 6 and 11
I0617 21:47:51.868084 27323 lidar_map.cc:130] Remove lidar keyframe at 26136.289211
I0617 21:47:51.868110 27323 optimizer.cc:400] Marginalize 1 states, last time 26136.353686, costs 0.206422
I0617 21:47:51.868170 27323 misc.cc:198] Redo INS mechanization at 26137.445552 to 26137.467985 is 0.0224325 s
I0617 21:47:51.871656 27322 lidar_viewer_rviz.cc:76] Lidar viewer thread is exited
I0617 21:47:51.872114 27323 lidar_map.cc:82] New lidar keyframe at 26137.587645 with interval 0.142093 s, translation 12.6332, rotation 0.00967779
I0617 21:47:51.873627 27323 ff_lins.cc:242] Accumulate 1 frames at 26137.587645 with 7934 points
I0617 21:47:51.873909 27323 ff_lins.cc:517] Add new lidar time node at 26137.587645 with dt 0.142
I0617 21:47:51.876935 27323 lidar_map.cc:412] Find the newest 25 featureas and average 4 features at 26137.587645, update map cost 1.05871 ms
I0617 21:47:51.876965 27323 optimizer.cc:407] Total 11 pose states from 26136.353686 to 26137.587645
W0617 21:47:51.877079 27323 misc.cc:130] Failed to get state data index at 26136.854064
W0617 21:47:51.877108 27323 optimizer.cc:571] Wrong matching time node 26136.353686 to 26136.854064
E0617 21:47:51.877118 27323 optimizer.cc:459] Wrong matched lidar frame at 26137.587645
I0617 21:47:51.877233 27323 optimizer.cc:127] Add 10 preintegration, 25 lidar factors
I0617 21:47:51.886273 27323 optimizer.cc:156] Remove 21 lidar outliers factors
W0617 21:47:51.890851 27323 optimizer.cc:199] Estimate large td_b_l 0.931364, and td_b_l is reset
W0617 21:47:51.890969 27323 misc.cc:130] Failed to get state data index at 26136.854064
W0617 21:47:51.890977 27323 optimizer.cc:571] Wrong matching time node 26136.353686 to 26136.854064
E0617 21:47:51.890985 27323 optimizer.cc:207] Wrong matched lidar frame at 26136.854064
I0617 21:47:51.891065 27323 optimizer.cc:182] Optimization costs 8.97178 ms and 4.54072, with iteration 6 and 11
I0617 21:47:51.892428 27323 lidar_map.cc:130] Remove lidar keyframe at 26136.353686
I0617 21:47:51.892447 27323 optimizer.cc:400] Marginalize 1 states, last time 26136.590054, costs 0.2043
I0617 21:47:51.892488 27323 misc.cc:198] Redo INS mechanization at 26137.587645 to 26137.609012 is 0.0213668 s
I0617 21:47:51.892500 27323 ff_lins.cc:295] Fusion thread is exited
W0617 21:47:51.892607 27316 ff_lins.cc:159] Estimated lidar extrinsics: (0.999911, 0.003695, -0.000529, 0.012788), (0.035, -0.024, 0.029), 0.0000
W0617 21:47:51.892743 27316 ff_lins.cc:163] LINS has finished processing
I0617 21:47:52.121268 27305 main.cc:57] FF-LINS process costs 1.24986 seconds

livox horizon数据集一运行就程序就died

在铁轨火车运行,柴油机震动较大,收集的livox horizon数据集一运行程序就died,也按照要求imu修改成front 、right、down,在fusion.cc如下
// IMU measurements, Front-Right-Down
imu_.dtheta[0] = imumsg->angular_velocity.x * imu_.dt;
imu_.dtheta[1] = -imumsg->angular_velocity.y * imu_.dt;
imu_.dtheta[2] = -imumsg->angular_velocity.z * imu_.dt;
imu_.dvel[0] = imumsg->linear_acceleration.x * imu_.dt;
imu_.dvel[1] = -imumsg->linear_acceleration.y * imu_.dt;
imu_.dvel[2] = -imumsg->linear_acceleration.z * imu_.dt;
运行结果如下
PARAMETERS

  • /ff_lins_node/configfile: /home/yijing/pack...
  • /ff_lins_node/imu_topic: /livox/imu_3WEDJB...
  • /ff_lins_node/lidar_topic: /livox/lidars_3WE...
  • /imu/ab_prior_std: 30000
  • /imu/abstd: 500
  • /imu/arw: 2.0
  • /imu/corrtime: 1.0
  • /imu/gb_prior_std: 1500
  • /imu/gbstd: 200
  • /imu/imudatarate: 200
  • /imu/vrw: 5.0
  • /is_make_outputdir: True
  • /is_use_visualization: True
  • /lidar/downsample_size: 0.5
  • /lidar/farthest_distance: 250.0
  • /lidar/frame_rate: 10
  • /lidar/is_save_pointcloud: False
  • /lidar/is_use_lidar: False
  • /lidar/minimum_keyframe_translation: 0.4
  • /lidar/nearest_distance: 1
  • /lidar/plane_estimation_threshold: 0.1
  • /lidar/point_filter_num: 10
  • /lidar/q_b_l: [1, 0, 0, 0]
  • /lidar/scan_line: 6
  • /lidar/t_b_l: [0.05512, 0.02226...
  • /lidar/td_b_l: 0.0
  • /optimizer/optimize_estimate_lidar_extrinsic: True
  • /optimizer/optimize_estimate_lidar_td: True
  • /optimizer/optimize_lidar_extrinsic_accurate: False
  • /optimizer/optimize_point_to_plane_std: 0.1
  • /optimizer/optimize_window_size: 10
  • /outputpath: /home/yijing/pack...
  • /rosdistro: noetic
  • /rosversion: 1.16.0

NODES
/
ff_lins_node (ff_lins/ff_lins_ros)
visualisation (rviz/rviz)
world_to_map_broadcaster (tf2_ros/static_transform_publisher)

auto-starting new master
process[master]: started with pid [252783]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to f4d060a2-de13-11ee-a3fc-73eac6e823a8
process[rosout-1]: started with pid [252808]
started core service [/rosout]
process[ff_lins_node-2]: started with pid [252815]
process[world_to_map_broadcaster-3]: started with pid [252816]
process[visualisation-4]: started with pid [252817]
Fusion process is started...
Check thread is started...
I0309 20:52:59.303265 252815 lidar_map.cc:65] Lidar mapping is constructed
I0309 20:52:59.303401 252832 lidar_viewer_rviz.cc:50] Lidar viewer thread is started
I0309 20:52:59.303548 252815 optimizer.cc:83] Optimizer is constructed
I0309 20:52:59.303622 252833 ff_lins.cc:176] Fusion thread is started
I0309 20:52:59.305052 252815 fusion.cc:138] Waiting ROS message...
I0309 20:53:13.214826 252833 misc.cc:198] Redo INS mechanization at 353296.000000 to 353297.000355 is 1.00036 s
W0309 20:53:13.214896 252833 ff_lins.cc:629] Get roll 0.107047, pitch -0.0958466 without zero velocity
I0309 20:53:13.215011 252833 misc.cc:198] Redo INS mechanization at 353296.000000 to 353297.000355 is 1.00036 s
I0309 20:53:13.215032 252833 ff_lins.cc:674] Initialization at 353296.000000
I0309 20:53:13.216490 252833 ff_lins.cc:506] Add new IMU time node at 353297.000000 with dt 1.000
I0309 20:53:13.236536 252833 ff_lins.cc:450] Append lidar frame to node 353297.000000
I0309 20:53:13.252902 252833 ff_lins.cc:794] Accumulate 10 frames at 353297.000000 with 13405 points
I0309 20:53:13.392108 252833 lidar_map.cc:83] New lidar keyframe at 353297.117165 with interval 0.117165 s, translation 1.09229, rotation 0.000750995
I0309 20:53:13.393277 252833 ff_lins.cc:237] Accumulate 2 frames at 353297.117165 with 4093 points
I0309 20:53:13.393476 252833 ff_lins.cc:506] Add new lidar time node at 353297.117165 with dt 0.117
I0309 20:53:13.407680 252833 lidar_map.cc:406] Find the newest 42 featureas and average 42 features at 353297.117165, update map cost 0.443458 ms
I0309 20:53:13.407718 252833 optimizer.cc:408] Total 3 pose states from 353296.000000 to 353297.117165
I0309 20:53:13.407793 252833 optimizer.cc:128] Add 2 preintegration, 42 lidar factors
I0309 20:53:13.408572 252833 optimizer.cc:157] Remove 12 lidar outliers factors
I0309 20:53:13.408805 252833 optimizer.cc:183] Optimization costs 0.742338 ms and 0.148943, with iteration 1 and 1
I0309 20:53:13.409003 252833 misc.cc:198] Redo INS mechanization at 353297.117165 to 353297.117335 is 0.000169754 s
I0309 20:53:13.492069 252833 lidar_map.cc:83] New lidar keyframe at 353297.217165 with interval 0.0999994 s, translation 1.0223, rotation 0.000909034
I0309 20:53:13.492628 252833 ff_lins.cc:237] Accumulate 1 frames at 353297.217165 with 2411 points
[ff_lins_node-2] process has died [pid 252815, exit code -11, cmd /home/yijing/packagegit/ff_lins/devel/lib/ff_lins/ff_lins_ros __name:=ff_lins_node __log:=/home/yijing/.ros/log/f4d060a2-de13-11ee-a3fc-73eac6e823a8/ff_lins_node-2.log].
log file: /home/yijing/.ros/log/f4d060a2-de13-11ee-a3fc-73eac6e823a8/ff_lins_node-2*.log

A problem about covariance

Thanks for sharing the great work!
But I have a question. In the paper, I saw that the standard deviation of some dimensions increases over time (such as yaw), but when optimizing with ceres, how to get the covariance of the estimated result (or the standard deviation of the corresponding dimension)?
中文:
但是有个疑问想请教一下,在论文中看到了一些维度的标准差在随时间增长(比如yaw的标准差),但是用ceres进行优化时,是如何得到估计结果的协方差(或对应维度的标准差呢)

Can't find explaination of why frame to map data association resulting in inconsistency in the reference

Screenshot from 2023-08-30 10-45-00
The reference 10 is VISUAL-INERTIAL NAVIGATION: A CONCISE REVIEW. Within it, I find no explaination. Maybe I somehow missed it. Could you help me by pointing it out.
According to my own understanding, if there is a big difference between the drifts of old and new keyframes, the built local map would be inconsistent, and it is likely the scan to map registration would be unstable or even fail. When we use keyframes that are close in terms of time, there is no such worry. However, we should use GPS and loop closure information to keep drift small anyway. When there is a big drift, inconsistency within local map is not my biggest concern, there is no point to continue the slam anyway. When we build local map using spatial information instead of a simple time window, it provides mid-term and long-term data association that is good to reduce drift. And slide-window approach introduces too many keyframes into the map its memory footprint grows quickly and unboundedly. So In my opinion, spatially local map is good for global consistency but bad for local consistency, slide window good for local consistency but bad for global consistency, and the former beats the latter hands-down in memory footprint.

lixov-avia

Hello, which LIVOX lidar is the author using, the IMU orientation of the three axes of the 3D map I built after running with livox-avia does not seem to be quite right. Where should I change the configuration file, and what configuration should I change to?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.