Git Product home page Git Product logo

faster-lio's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

faster-lio's Issues

Arm architecture

Hi @gaoxiang12 . Thanks for your great work and continuously managing issues.

I am trying to build faster-lio on Jetson Xavier NX and found your comment on other issue: #3 (comment)
Can you kindly let us know which version of tbb you used? If you can, can you please give me the link?

thanks.

Computation and memory usage surge after running for a long time (10-20 mins)

Thanks for releasing this powerful LIDAR odometry stack!

We have been trying to incorporate this into our autonomy stack (see here: https://github.com/KumarRobotics/kr_autonomous_flight), and performing lots of experiments onboard our UAVs. We have been very impressed by the accuracy and robustness of this odometry system. However, we did observe some abnormal computation and memory surges when we performed long-duration (10-20 mins) operations.

The LIDAR odometry alone takes up to 16 GB of memory, and up to 4-6 threads of our 12-thread intel i7-10710U processor. As a result, the frequency of the odometry sometimes reduces to below 10Hz (sometimes the odometry stops outputting any estimates for more than 1-2 seconds), which leads to the unstable behaviors of the UAV. This problem is especially severe when the LIDAR stays at the same location for a long time.

I would like to know if this is expected behavior. If yes, is there any change to the code that I can make to alleviate the problem? If not, we can help look into the potential causes, could you please provide any suggestions on where to debug?

More details that might be helpful:

We are using an Intel NUC as our onboard computer (model intel-nuc10i7fnk with [Intel® Core™ i7-10710U Processor (12M Cache, up to 4.70 GHz)] https://www.intel.com/content/www/us/en/products/sku/196448/intel-core-i7-10710u-processor-12m-cache-up-to-4-70-ghz/specifications.html)).

We are using ouster OS1-64 (gen 2) as our sensor and the default ouster64.yaml file in this stack as the configuration.

有关重力对齐的问题

高博您好!首先非常感谢您这么优秀的工作。想问一下faster-lio中是否做了像vins-mono中重力对齐的处理呢?我在看了一遍代码后并没有找到。

iVox modularizing

Hi. Thank you for sharing your great work. The SLAM works super well and super fast in real-world video.

I am also separately using iVox for mapping purpose, since this seems the core for the fast mapping of your algorithm.
I just wonder if you are planning to create a separate, new repository for soley iVox itself.
If so, I guess many researchers can utilize your great library with Forks and as Submodules and improve it by many PRs.

I am also trying to add some functions such as GetAllPoints for visualizing, RadiusSearch, and BoxSearch.
and I guess may others are trying to develop more.

Thanks.

faster-lio迭代次数与点云残差收敛性

高博您好:
感谢faster-lio的Contribution。

有两个疑问想咨询一下:

  1. 迭代次数设置为3的时候,我打印IEKF的循环次数发现很多帧在3次循环内很难收敛,迭代次数设置为10的时候发现有一些lidar帧4-5次可以收敛,但是即使是收敛了发现精度和迭代次数设置为3次也没有明显提高,这是因为什么。
  2. 在计算点到平面残差的时候,和优化不一样的是,优化每迭代一次都计算一次残差,为什么fast-lio系列要每次收敛才要重新计算残差,为什么这样选取线性化点。

谢谢高博。

std::pair<_FIter, _FIter> MTK::cos_sinc_sqrt(const scalar&) [with scalar = double]: Assertion `x2 >= 0 && "argument must be non-negative"' failed

Hello Dr. Gao and all authors,
Thanks for sharing this excellent work firstly. Downloaded nclt bag: 20130110.bag, roslaunch faster_lio mapping_velodyne.launch, crashed with the following infos. All the code are cloned with git clone. How to run demo with nclt bag? Thanks for your help and time a lot !

faster-lio/include/IKFoM_toolkit/esekfom/../mtk/types/../src/mtkmath.hpp:157: std::pair<_FIter, _FIter> MTK::cos_sinc_sqrt(const scalar&) [with scalar = double]: Assertion `x2 >= 0 && "argument must be non-negative"' failed.
[laserMapping-2] process has died [pid 835148, exit code -6, cmd /home/jxl/jxl_code/dlo_ws/devel/lib/faster_lio/run_mapping_online __name:=laserMapping __log:=/home/jxl/.ros/log/3ebb6572-a694-11ec-a628-ff1c388ae2a2/laserMapping-2.log].
log file: /home/jxl/.ros/log/3ebb6572-a694-11ec-a628-ff1c388ae2a2/laserMapping-2*.log

回环问题

整个代码的框架里是没有看到有回环的体现,是设计之初就没有考虑到回环的问题吗?

AA-IEKF

AA-IEKF是集成到faster-lio中了吗?对应那一部分呐。

Question about creating the NCLT sample bag file.

@xiaotaw
Hi, I have some questions about NCLT sample dataset.

On the original NCLT homepage, there are no official bag files but, tar.gz files.
So I use nclt2ros repository to make the bag file.

For example, when I make my own bag file for 2013-01-10seuquence, I was able to create a ros topic like below.

I execute the sequence(2013-01-10) and the config file (just change the topic name).

And I got a weird result. 😭

The output of the terminal is below.


And I exectue the same sequence with same config file with your sample Dataset, it works fine!

On the sample dataset, ros topic is like below.

Result is like below.

The output of the terminal is below.

I think the difference between two terminals are

Failed to find match for field 'time'
Failed to find match for field 'ring'

What causes this result? Any help would be greatly appreciated.

Thanks,

论文中的对比试验

请问在于ikdtree对比的实验中,在每帧点云的搜索最近邻时,faster-lio有使用并行吗?这块ikdtree用的不是并行

Question about executing faster-lio with LIO-SAM dataset

@gaoxiang12
Hi, Thanks for your great work!
I have 2 questions about faster-lio executing with Velodyne VLP 16.

  1. In paper, there is an experiment with LIO-SAM dataset.

On the LIO-SAM repository, some sample datasets are provided.
Then, which sequence did you use to write a paper?
Do you make ground-truth trajectories with gps/fix topic in the sample dataset?

  1. I want to test Faster-lio algorithm with aggressive motion using Velodyne LiDAR.
    I find the simple dataset provided in Rotation dataset in LIO-SAM.
    But I got a wired result with provided velodyne_liosam.yaml.

Do I need to fix other parameters?
Does it right that the faster-lio algorithm doesn't work well in this rotation dataset?

I'll look forward to your reply.
Thanks,

faster-lio融合RTK

可以,如果RTK和激光同步,那么就在观测方程中添加几行对R和T的观测即可,推导一下相应的雅可比阵。RTK单独观测也可以。
不过原版FastLIO2基于MTK来表达状态变量,改起来可能麻烦一些。

Originally posted by @gaoxiang12 in #13 (comment)

Increasing scan detail

Hi,
Which parameter(s) are responsible for the overall scan detail? - currently its very sparse compared with a static scan.
I tested a walk with the map in memory and the accuracy was amazing, but I'd like to increase the density/details.
The Avia lidar is in non-repeating mode and I'm not sure how to start it in repeating via the config if this would help ?

Thank you.

处理时间异常长

录制了一个室外的数据包,同样的参数,在fast-lio2上跑,update_iterated_dyn_share_modified函数迭代一次大约50ms,在faster-lio上跑一次迭代大约300-600ms,使用狭小场景的数据包却没有这个问题,不知道哪里出了问题。
我的系统是ubuntu16.04, 配置了gcc、g++、cmake3.8.2等环境。

关于左乘扰动和右乘扰动

高翔老师:
您好,我在您的代码中ObsModel看到对旋转的求导用的好像是右乘扰动,在您的书上的推导看到是左乘扰动,有点不一样,我也看到说左乘扰动和右乘扰动都可以,但是得到的雅可比是不一样的。所以想请教一下:
1.为什么雅可比不一样的情况下,能得到差不多的优化结果?
2.是否左乘扰动和右乘扰动可以任意替换,或者在某些情况下用某种扰动会更好一些呢?

请问有没有相应的ivox使用手册

高博好!

请问你们研发的ivox有没有相应的api使用手册,想用ivox替换某个框架里的kdtree,有文档的话可能方便点,感谢。

最邻近严格性的问题

你好高博:
我想问问NearBy26是不是就是严格的最邻近了。另外论文中对于LIO在平面残差的情况下不需要严格的最邻近,是不是可以理解成就算不是严格最邻近的5个点,可能构成的平面也一样,那是否有可能因为不严格的最邻近导致构成平面不一致。经过测试,我发现Fasterlio和fastlio在某些退化环境下有一些精度上的差异,所以我想是不是最邻近的问题,但是我使用NearBy26出来的结果和nearby18差别不是很大,故而很困惑。

Can we check the Livox Internal IMU working good or not?

Hi,
Hope you are doing well.

I used Livox Avia with Fast-LIO and faster-LIO algorithms (no External IMU) with my laptop.

Issue-
Picture below this is a top view of 3 sides scanned pillar with your as well as Fast_LIO algorithm just after start.
WhatsApp Image 2022-05-18 at 5 35 04 PM

This is correctly mapped as all 3 edges are alighned.

But after sometime (around 30 mins of run), my pillar starts appearing like this-
WhatsApp Image 2022-05-14 at 10 25 06 PM

Here you can see the double wall effect. Its like after few mins, the IMU alighnment is getting OFF hence mapping is getting OFF.

I suspect internal IMU got off.
Is there any utility so that i can check whether the interanal IMU is working within a perfect range? Do i need to recalibrate the IMU?
I checked the Livox-viewer utility. Raw data from Livox is fine.
Basically i want to get proof if IMU is the main culpit or something else.

Thanks.

[laserMapping-2] process has died [pid 13020, exit code 3221226356, cmd C:\ws\ws_fast-lio\devel\lib\faster_lio\run_mapping_online.exe __name:=laserMapping __log:=

请问这个是什么问题?

[rosmaster.main][INFO] 2022-07-21 17:10:48,567: initialization complete, waiting for shutdown
[rosmaster.main][INFO] 2022-07-21 17:10:48,567: Starting ROS Master Node
[xmlrpc][INFO] 2022-07-21 17:10:48,567: XML-RPC server binding to 127.0.0.1:11311
[xmlrpc][INFO] 2022-07-21 17:10:48,567: Started XML-RPC server [http://127.0.0.1:11311/]
[xmlrpc][INFO] 2022-07-21 17:10:48,567: xml rpc node: starting XML-RPC server
[rosmaster.master][INFO] 2022-07-21 17:10:48,579: Master initialized: port[11311], uri[http://127.0.0.1:11311/]
[rosmaster.master][INFO] 2022-07-21 17:10:48,940: +PARAM [/run_id] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:48,940: +PARAM [/roslaunch/uris/host_127_0_0_1__60276] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/rosversion] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/rosdistro] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/common/lid_topic] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/common/imu_topic] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/common/time_sync_en] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/preprocess/lidar_type] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/preprocess/scan_line] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/preprocess/blind] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/preprocess/time_scale] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/mapping/acc_cov] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/mapping/gyr_cov] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/mapping/b_acc_cov] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/mapping/b_gyr_cov] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/mapping/fov_degree] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/mapping/det_range] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/mapping/extrinsic_est_en] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/mapping/extrinsic_T] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/mapping/extrinsic_R] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/publish/path_publish_en] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/publish/scan_publish_en] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/publish/scan_effect_pub_en] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/publish/dense_publish_en] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/publish/scan_bodyframe_pub_en] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/path_save_en] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/pcd_save/pcd_save_en] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/pcd_save/interval] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/feature_extract_enable] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/point_filter_num] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/max_iteration] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/filter_size_surf] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/filter_size_map] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/cube_side_length] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/ivox_grid_resolution] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/ivox_nearby_type] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/esti_plane_threshold] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/point_filter_num_] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,285: +PARAM [/runtime_pos_log_enable] by /roslaunch
[rosmaster.master][INFO] 2022-07-21 17:10:49,316: +SERVICE [/rosout/get_loggers] /rosout http://127.0.0.1:60294/
[rosmaster.master][INFO] 2022-07-21 17:10:49,316: +SERVICE [/rosout/set_logger_level] /rosout http://127.0.0.1:60294/
[rosmaster.master][INFO] 2022-07-21 17:10:49,316: +PUB [/rosout_agg] /rosout http://127.0.0.1:60294/
[rosmaster.master][INFO] 2022-07-21 17:10:49,316: +SUB [/rosout] /rosout http://127.0.0.1:60294/
[rosmaster.master][INFO] 2022-07-21 17:10:49,584: +PUB [/rosout] /laserMapping http://127.0.0.1:60299/
[rosmaster.master][INFO] 2022-07-21 17:10:49,584: +SERVICE [/laserMapping/get_loggers] /laserMapping http://127.0.0.1:60299/
[rosmaster.master][INFO] 2022-07-21 17:10:49,584: +SERVICE [/laserMapping/set_logger_level] /laserMapping http://127.0.0.1:60299/
[rosmaster.master][INFO] 2022-07-21 17:10:49,646: +SUB [/livox/lidar] /laserMapping http://127.0.0.1:60299/
[rosmaster.master][INFO] 2022-07-21 17:10:49,646: +SUB [/livox/imu] /laserMapping http://127.0.0.1:60299/
[rosmaster.master][INFO] 2022-07-21 17:10:49,646: +PUB [/cloud_registered] /laserMapping http://127.0.0.1:60299/
[rosmaster.master][INFO] 2022-07-21 17:10:49,646: +PUB [/cloud_registered_body] /laserMapping http://127.0.0.1:60299/
[rosmaster.master][INFO] 2022-07-21 17:10:49,646: +PUB [/cloud_registered_effect_world] /laserMapping http://127.0.0.1:60299/
[rosmaster.master][INFO] 2022-07-21 17:10:49,646: +PUB [/Odometry] /laserMapping http://127.0.0.1:60299/
[rosmaster.master][INFO] 2022-07-21 17:10:49,646: +PUB [/path] /laserMapping http://127.0.0.1:60299/
[rosmaster.master][INFO] 2022-07-21 17:10:49,678: publisherUpdate[/rosout] -> http://127.0.0.1:60294/ ['http://127.0.0.1:60299/']
[rosmaster.master][INFO] 2022-07-21 17:10:49,678: publisherUpdate[/rosout] -> http://127.0.0.1:60294/ ['http://127.0.0.1:60299/']: sec=0.00, result=[1, '', 0]
[rosmaster.master][INFO] 2022-07-21 17:10:50,148: +PUB [/rosout] /rviz http://127.0.0.1:60308/
[rosmaster.master][INFO] 2022-07-21 17:10:50,148: +SERVICE [/rviz/get_loggers] /rviz http://127.0.0.1:60308/
[rosmaster.master][INFO] 2022-07-21 17:10:50,164: +SERVICE [/rviz/set_logger_level] /rviz http://127.0.0.1:60308/
[rosmaster.master][INFO] 2022-07-21 17:10:50,164: +CACHEDPARAM [/rosout_disable_topics_generation] by /rviz
[rosmaster.master][INFO] 2022-07-21 17:10:50,227: publisherUpdate[/rosout] -> http://127.0.0.1:60294/ ['http://127.0.0.1:60299/', 'http://127.0.0.1:60308/']
[rosmaster.master][INFO] 2022-07-21 17:10:50,227: publisherUpdate[/rosout] -> http://127.0.0.1:60294/ ['http://127.0.0.1:60299/', 'http://127.0.0.1:60308/']: sec=0.00, result=[1, '', 0]
[rosmaster.master][INFO] 2022-07-21 17:10:52,561: +CACHEDPARAM [/rosout/omit_topics] by /rosout
[rosmaster.master][INFO] 2022-07-21 17:10:52,640: +SUB [/tf] /rviz http://127.0.0.1:60308/
[rosmaster.master][INFO] 2022-07-21 17:10:52,640: +SUB [/tf_static] /rviz http://127.0.0.1:60308/
[rosmaster.master][INFO] 2022-07-21 17:10:52,687: +PUB [/initialpose] /rviz http://127.0.0.1:60308/
[rosmaster.master][INFO] 2022-07-21 17:10:52,687: +PUB [/goal] /rviz http://127.0.0.1:60308/
[rosmaster.master][INFO] 2022-07-21 17:10:52,703: +SUB [/cloud_registered] /rviz http://127.0.0.1:60308/
[rosmaster.master][INFO] 2022-07-21 17:10:52,703: -SUB [/cloud_registered] /rviz http://127.0.0.1:60308/
[rosmaster.master][INFO] 2022-07-21 17:10:52,718: +SUB [/cloud_registered] /rviz http://127.0.0.1:60308/
[rosmaster.master][INFO] 2022-07-21 17:10:52,734: +SUB [/Odometry] /rviz http://127.0.0.1:60308/
[rosmaster.master][INFO] 2022-07-21 17:10:52,750: +SUB [/path] /rviz http://127.0.0.1:60308/
[rosmaster.master][INFO] 2022-07-21 17:10:52,750: -PUB [/goal] /rviz http://127.0.0.1:60308/
[rosmaster.master][INFO] 2022-07-21 17:10:52,750: -PUB [/initialpose] /rviz http://127.0.0.1:60308/
[rosmaster.master][INFO] 2022-07-21 17:10:52,750: +PUB [/initialpose] /rviz http://127.0.0.1:60308/
[rosmaster.master][INFO] 2022-07-21 17:10:52,765: +PUB [/goal] /rviz http://127.0.0.1:60308/
[rosmaster.master][INFO] 2022-07-21 17:10:52,765: +PUB [/move_base_simple/goal] /rviz http://127.0.0.1:60308/
[rosmaster.master][INFO] 2022-07-21 17:10:52,765: -PUB [/goal] /rviz http://127.0.0.1:60308/
[rosmaster.master][INFO] 2022-07-21 17:10:52,765: +PUB [/clicked_point] /rviz http://127.0.0.1:60308/
[rosmaster.master][INFO] 2022-07-21 17:10:52,813: +SERVICE [/rviz/reload_shaders] /rviz http://127.0.0.1:60308/
[rosmaster.master][INFO] 2022-07-21 17:10:52,813: +SERVICE [/rviz/load_config] /rviz http://127.0.0.1:60308/
[rosmaster.master][INFO] 2022-07-21 17:10:52,813: +SERVICE [/rviz/save_config] /rviz http://127.0.0.1:60308/
[rosmaster.master][INFO] 2022-07-21 17:11:24,533: -PUB [/clock] /play_1658394608131832300 http://127.0.0.1:60211/
[rosmaster.master][INFO] 2022-07-21 17:11:24,533: -PUB [/camera/image_color] /play_1658394608131832300 http://127.0.0.1:60211/
[rosmaster.master][INFO] 2022-07-21 17:11:24,533: -PUB [/livox/imu] /play_1658394608131832300 http://127.0.0.1:60211/
[rosmaster.master][INFO] 2022-07-21 17:11:24,533: -PUB [/livox/lidar] /play_1658394608131832300 http://127.0.0.1:60211/
[rosmaster.master][INFO] 2022-07-21 17:11:24,533: -SERVICE [/play_1658394608131832300/get_loggers] /play_1658394608131832300 rosrpc://127.0.0.1:60210
[rosmaster.master][INFO] 2022-07-21 17:11:24,533: -SERVICE [/play_1658394608131832300/set_logger_level] /play_1658394608131832300 rosrpc://127.0.0.1:60210
[rosmaster.master][INFO] 2022-07-21 17:11:24,533: -SERVICE [/play_1658394608131832300/pause_playback] /play_1658394608131832300 rosrpc://127.0.0.1:60210
[rosmaster.master][INFO] 2022-07-21 17:11:24,533: -CACHEDPARAM [/rosout_disable_topics_generation] by /play_1658394608131832300
[rosmaster.master][INFO] 2022-07-21 17:11:31,466: +PUB [/rosout] /play_1658394691461547500 http://127.0.0.1:60352/
[rosmaster.master][INFO] 2022-07-21 17:11:31,466: +SERVICE [/play_1658394691461547500/get_loggers] /play_1658394691461547500 http://127.0.0.1:60352/
[rosmaster.master][INFO] 2022-07-21 17:11:31,466: +SERVICE [/play_1658394691461547500/set_logger_level] /play_1658394691461547500 http://127.0.0.1:60352/
[rosmaster.master][INFO] 2022-07-21 17:11:31,466: +PUB [/clock] /play_1658394691461547500 http://127.0.0.1:60352/
[rosmaster.master][INFO] 2022-07-21 17:11:31,466: +SERVICE [/play_1658394691461547500/pause_playback] /play_1658394691461547500 http://127.0.0.1:60352/
[rosmaster.master][INFO] 2022-07-21 17:11:31,466: +CACHEDPARAM [/rosout_disable_topics_generation] by /play_1658394691461547500
[rosmaster.master][INFO] 2022-07-21 17:11:31,560: publisherUpdate[/rosout] -> http://127.0.0.1:60294/ ['http://127.0.0.1:60299/', 'http://127.0.0.1:60308/', 'http://127.0.0.1:60352/']
[rosmaster.master][INFO] 2022-07-21 17:11:31,560: publisherUpdate[/rosout] -> http://127.0.0.1:60294/ ['http://127.0.0.1:60299/', 'http://127.0.0.1:60308/', 'http://127.0.0.1:60352/']: sec=0.00, result=[1, '', 0]
[rosmaster.master][INFO] 2022-07-21 17:11:32,567: +PUB [/camera/image_color] /play_1658394691461547500 http://127.0.0.1:60352/
[rosmaster.master][INFO] 2022-07-21 17:11:32,567: +PUB [/livox/imu] /play_1658394691461547500 http://127.0.0.1:60352/
[rosmaster.master][INFO] 2022-07-21 17:11:32,567: +PUB [/livox/lidar] /play_1658394691461547500 http://127.0.0.1:60352/
[rosmaster.master][INFO] 2022-07-21 17:11:32,661: publisherUpdate[/livox/imu] -> http://127.0.0.1:60299/ ['http://127.0.0.1:60352/']
[rosmaster.master][INFO] 2022-07-21 17:11:32,661: publisherUpdate[/livox/imu] -> http://127.0.0.1:60299/ ['http://127.0.0.1:60352/']: sec=0.00, result=[1, '', 0]
[rosmaster.master][INFO] 2022-07-21 17:11:32,661: publisherUpdate[/livox/lidar] -> http://127.0.0.1:60299/ ['http://127.0.0.1:60352/']
[rosmaster.master][INFO] 2022-07-21 17:11:32,661: publisherUpdate[/livox/lidar] -> http://127.0.0.1:60299/ ['http://127.0.0.1:60352/']: sec=0.00, result=[1, '', 0]
[xmlrpc][ERROR] 2022-07-21 17:11:39,292: Traceback (most recent call last):
File "socketserver.py", line 650, in process_request_thread
File "socketserver.py", line 360, in finish_request
File "socketserver.py", line 720, in init
File "http\server.py", line 429, in handle
File "http\server.py", line 395, in handle_one_request
File "socket.py", line 669, in readinto
ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。

[rosmaster.master][INFO] 2022-07-21 17:12:59,900: -PUB [/rosout] /play_1658394691461547500 http://127.0.0.1:60352/
[rosmaster.master][INFO] 2022-07-21 17:12:59,900: -PUB [/clock] /play_1658394691461547500 http://127.0.0.1:60352/
[rosmaster.master][INFO] 2022-07-21 17:12:59,900: -PUB [/camera/image_color] /play_1658394691461547500 http://127.0.0.1:60352/
[rosmaster.master][INFO] 2022-07-21 17:12:59,900: -PUB [/livox/imu] /play_1658394691461547500 http://127.0.0.1:60352/
[rosmaster.master][INFO] 2022-07-21 17:12:59,900: -PUB [/livox/lidar] /play_1658394691461547500 http://127.0.0.1:60352/
[rosmaster.master][INFO] 2022-07-21 17:12:59,900: -SERVICE [/play_1658394691461547500/get_loggers] /play_1658394691461547500 rosrpc://127.0.0.1:60351
[rosmaster.master][INFO] 2022-07-21 17:12:59,900: -SERVICE [/play_1658394691461547500/set_logger_level] /play_1658394691461547500 rosrpc://127.0.0.1:60351
[rosmaster.master][INFO] 2022-07-21 17:12:59,900: -SERVICE [/play_1658394691461547500/pause_playback] /play_1658394691461547500 rosrpc://127.0.0.1:60351
[rosmaster.master][INFO] 2022-07-21 17:12:59,900: -CACHEDPARAM [/rosout_disable_topics_generation] by /play_1658394691461547500
[rosmaster.master][INFO] 2022-07-21 17:12:59,946: publisherUpdate[/rosout] -> http://127.0.0.1:60294/ ['http://127.0.0.1:60299/', 'http://127.0.0.1:60308/']
[rosmaster.master][INFO] 2022-07-21 17:12:59,946: publisherUpdate[/livox/imu] -> http://127.0.0.1:60299/ []
[rosmaster.master][INFO] 2022-07-21 17:12:59,946: publisherUpdate[/rosout] -> http://127.0.0.1:60294/ ['http://127.0.0.1:60299/', 'http://127.0.0.1:60308/']: sec=0.00, result=[1, '', 0]
[rosmaster.master][INFO] 2022-07-21 17:13:01,956: publisherUpdate[/livox/imu] -> http://127.0.0.1:60299/ []: sec=2.01, exception=[WinError 10061] 由于目标计算机积极拒绝,无法连接。
[rosmaster.threadpool][ERROR] 2022-07-21 17:13:01,956: Traceback (most recent call last):
File "C:\opt\ros\noetic\x64\lib\site-packages\rosmaster\threadpool.py", line 218, in run
result = cmd(*args)
File "C:\opt\ros\noetic\x64\lib\site-packages\rosmaster\master_api.py", line 210, in publisher_update_task
ret = xmlrpcapi(api).publisherUpdate('/master', topic, pub_uris)
File "xmlrpc\client.py", line 1109, in call
File "xmlrpc\client.py", line 1450, in __request
File "xmlrpc\client.py", line 1153, in request
File "xmlrpc\client.py", line 1165, in single_request
File "xmlrpc\client.py", line 1278, in send_request
File "xmlrpc\client.py", line 1308, in send_content
File "http\client.py", line 1235, in endheaders
File "http\client.py", line 1006, in _send_output
File "http\client.py", line 946, in send
File "http\client.py", line 917, in connect
File "socket.py", line 808, in create_connection
File "socket.py", line 796, in create_connection
ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。

[rosmaster.master][INFO] 2022-07-21 17:13:01,956: publisherUpdate[/livox/lidar] -> http://127.0.0.1:60299/ []
[rosmaster.master][INFO] 2022-07-21 17:13:03,980: publisherUpdate[/livox/lidar] -> http://127.0.0.1:60299/ []: sec=2.02, exception=[WinError 10061] 由于目标计算机积极拒绝,无法连接。
[rosmaster.threadpool][ERROR] 2022-07-21 17:13:03,980: Traceback (most recent call last):
File "C:\opt\ros\noetic\x64\lib\site-packages\rosmaster\threadpool.py", line 218, in run
result = cmd(*args)
File "C:\opt\ros\noetic\x64\lib\site-packages\rosmaster\master_api.py", line 210, in publisher_update_task
ret = xmlrpcapi(api).publisherUpdate('/master', topic, pub_uris)
File "xmlrpc\client.py", line 1109, in call
File "xmlrpc\client.py", line 1450, in __request
File "xmlrpc\client.py", line 1153, in request
File "xmlrpc\client.py", line 1165, in single_request
File "xmlrpc\client.py", line 1278, in send_request
File "xmlrpc\client.py", line 1308, in send_content
File "http\client.py", line 1235, in endheaders
File "http\client.py", line 1006, in _send_output
File "http\client.py", line 946, in send
File "http\client.py", line 917, in connect
File "socket.py", line 808, in create_connection
File "socket.py", line 796, in create_connection
ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。

ivox 扩展,体素点、增、删查

高博老师好!
我是想实现对特定体素点进行,查找删除的的释放操作
ivox 我看到只有 对体素点进行增添的实现
fast_lio2 中 ikd-tree 有对点进行增加删的实现,也比较容易自己扩展查询指定帧点搜索的实现
我阅读 ivox 相比 ikd-tree 比较难理解与扩展
希望老师可以扩展 ivox 查找删除的实现
也希望老师可以提供一些注释资料,方便理解

catkin_make failing

Hey, I'm unable to compile the code for some reason using catkin_make. I'm compiling this on an Nvidia Jetson Xavier running the Ubuntu 18.04. I've followed the instructions to install gcc and g++ 9 and unzip the tbb. The command I use is catkin_make -DCUSTOM_TBB_DIR=pwd/src/faster-lio/thirdparty/tbb2018_20170726oss , I also tried once with adding -DCMAKE_CXX_FLAGS="-ltbb" as well but both times I got the same error:

[100%] Linking CXX executable /home/user/catkin_ws/devel/lib/faster_lio/run_mapping_online /usr/bin/ld: skipping incompatible /home/user/catkin_ws/src/faster-lio/thirdparty/tbb2018_20170726oss/lib/intel64/gcc4.7/libtbb.so.2 when searching for libtbb.so.2 /usr/bin/ld: skipping incompatible /home/user/catkin_ws/src/faster-lio/thirdparty/tbb2018_20170726oss/lib/intel64/gcc4.7/libtbb.so.2 when searching for libtbb.so.2 /usr/bin/ld: skipping incompatible /home/user/catkin_ws/src/faster-lio/thirdparty/tbb2018_20170726oss/lib/intel64/gcc4.7/libtbb.so.2 when searching for libtbb.so.2 /home/user/catkin_ws/devel/lib/libfaster_lio.so: undefined reference to tbb::interface7::internal::isolate_within_arena(tbb::interface7::internal::delegate_base&, long)'
collect2: error: ld returned 1 exit status
faster-lio/app/CMakeFiles/run_mapping_online.dir/build.make:682: recipe for target '/home/user/catkin_ws/devel/lib/faster_lio/run_mapping_online' failed
make[2]: *** [/home/user/catkin_ws/devel/lib/faster_lio/run_mapping_online] Error 1
CMakeFiles/Makefile2:8294: recipe for target 'faster-lio/app/CMakeFiles/run_mapping_online.dir/all' failed
make[1]: *** [faster-lio/app/CMakeFiles/run_mapping_online.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[100%] Linking CXX executable /home/user/catkin_ws/devel/lib/faster_lio/run_mapping_offline
/usr/bin/ld: skipping incompatible /home/user/catkin_ws/src/faster-lio/thirdparty/tbb2018_20170726oss/lib/intel64/gcc4.7/libtbb.so.2 when searching for libtbb.so.2
/usr/bin/ld: skipping incompatible /home/user/catkin_ws/src/faster-lio/thirdparty/tbb2018_20170726oss/lib/intel64/gcc4.7/libtbb.so.2 when searching for libtbb.so.2
/usr/bin/ld: skipping incompatible /home/user/catkin_ws/src/faster-lio/thirdparty/tbb2018_20170726oss/lib/intel64/gcc4.7/libtbb.so.2 when searching for libtbb.so.2
/home/user/catkin_ws/devel/lib/libfaster_lio.so: undefined reference to tbb::interface7::internal::isolate_within_arena(tbb::interface7::internal::delegate_base&, long)' collect2: error: ld returned 1 exit status faster-lio/app/CMakeFiles/run_mapping_offline.dir/build.make:682: recipe for target '/home/user/catkin_ws/devel/lib/faster_lio/run_mapping_offline' failed make[2]: *** [/home/user/catkin_ws/devel/lib/faster_lio/run_mapping_offline] Error 1 CMakeFiles/Makefile2:8320: recipe for target 'faster-lio/app/CMakeFiles/run_mapping_offline.dir/all' failed make[1]: *** [faster-lio/app/CMakeFiles/run_mapping_offline.dir/all] Error 2 Makefile:145: recipe for target 'all' failed make: *** [all] Error 2
and I am not sure what's causing this issue? My guess is I need a different version of the tbb library installed perhaps? Any ideas or suggestions?

ba收敛性讨论

高博好,想问下我在faster-lio里面固定重力后,跑开源数据集ba的x y两个维度还是有发散的趋势,是不是LIO在车载场景无法让ba收敛呢?非常疑惑,希望高博解答下谢谢~

z轴漂移

高博好,想问下在公开道路、高速场景下,Z轴漂移比较严重,呈现点云一端翘起,有没有什么好的解决方法呢?感谢!

融合RTK相关

高博您好,
想把rtk信息融合到前端建图,目前我将位置信息融合进去但是旋转信息没有,发现里程计的位置和rtk的位置能够匹配,但是建模的效果反而比没有融合前效果好,请问这种只融合位置信息,不融合旋转信息是不是不可以,必然会产生问题?
rviz_screenshot_2022_04_29-20_55_07
rviz_screenshot_2022_04_29-20_53_50

Failed to find match for field 'intensity'

高博,你好!
我下载了所提供了nclt的rosbag包,运行fastlio的时候,出现了Failed to find match for field 'intensity'的提示
而且系统也无法产生有效轨迹估计

请问,是数据的问题吗?

IMU & Extrinsic estimation?

extrinsic_est_en: true # true: enable the online estimation of IMU-LiDAR extrinsic

When true - is there any output to show the estimation?

I'm testing the mid-40 with external IMU mounted on the top (wit motion 901C).
Does Livox publish this? e.g how were the Avia extrinsic values derived?

Meaning of valid_corr in laser_mapping.cc

I've got a lot of help from slambook. I am always grateful.
While I was studying ieskf-based slam with reference to faster-lio, I had a question.

I don't understand what the variable valid_corr means in the ObsModel function.

bool valid_corr = p_body.norm() > 81 * pd2 * pd2;

When I commented out that lines for valid_corr, the results seem to be bad.
So I thought it is important for the performance of algorithm.
Could you please explain the meaning and role of the variable valid_corr?

关于NCLT数据集轨迹真值的问题

高博您好,我有一个关于NCLT数据集轨迹真值的问题想向您请教。

  1. 想请教下NCLT轨迹真值是定义在哪个坐标系下的,它和imu间的转换矩阵是怎样的?

恳请指导~

谢谢!

如何进一步提升mapping效果?

高博你好:
rviz_screenshot_2022_05_26-17_34_53

       我在自己的数据集上测试faster-lio效果,发现在机器人静止时,存在这种情况:当前帧点云并不稳定,在来回跳动,保存的历史点云就存在一个长长的拖影,这个问题影响了建图的精度,导致墙壁会比较厚。但是我在查看fastlio和faster-lio视频的时候,发现建图效果还是不错的,当然也可能是一些细节没有看到,我想问下这个情况是什么因素引起的?有没有什么方法能够减小这个影响。

如何融合RTK数据

高博,如果想在目前的fster_lio中加入rtk信息,主要是想用RTK 来修正里程计的位姿。这个RTK信息的使用可以放在IEKF中一起迭代么,还是做一个后融合就可以了呢。

External IMU and mean acceleration normalisation?

For the Avia the mean norm is 1.0, other IMU's use 9.805 is this considered when using an external IMU?

I'm using LiDAR_IMU_Init (mars hku) to find the rotation and translation from Lidar to IMU.

The mean normalization for the acceleration is a parameter which is present in LiDAR_IMU_Init.

It is not present in Faster_Lio. Does Faster_Lio assume 1.0 always or is this irrelevant?

坐标系的问题

高博您好!很抱歉再次打扰您,我想问一下,如果我想让雷达坐标系和重力方向对齐(也就是让z轴一直竖直向下),在初始化的时候估计旋转矩阵,进行补偿,那这个初始的雷达坐标系是和imu系一致的吗?雷达坐标系是什么呢?

Test on Nvidia TX2

Thanks for your newly released excellent work "Faster-Lio"! But I have some questions about the time consumption on Nvidia TX2. We have conducted several experiments with Zvision ML30SB1 Lidar, and MTi-3DK imu.
Here are the results:

I0220 23:57:42.142266 19196 utils.h:52] >>> ===== Printing run time =====
I0220 23:57:42.142282 19196 utils.h:54] > [ IVox Add Points ] average time usage: 5.36792 ms , called times: 7
I0220 23:57:42.142361 19196 utils.h:54] > [ Incremental Mapping ] average time usage: 16.9356 ms , called times: 7
I0220 23:57:42.142395 19196 utils.h:54] > [ ObsModel (IEKF Build Jacobian) ] average time usage: 9.74618 ms , called times: 28
I0220 23:57:42.142417 19196 utils.h:54] > [ ObsModel (Lidar Match) ] average time usage: 24.7205 ms , called times: 28
I0220 23:57:42.142438 19196 utils.h:54] > [ Downsample PointCloud ] average time usage: 0.524399 ms , called times: 7
I0220 23:57:42.142462 19196 utils.h:54] > [ IEKF Solve and Update ] average time usage: 174.88 ms , called times: 7
I0220 23:57:42.142488 19196 utils.h:54] > [ Preprocess (Standard) ] average time usage: 30.2425 ms , called times: 12
I0220 23:57:42.142508 19196 utils.h:54] > [ Undistort Pcl ] average time usage: 235.434 ms , called times: 8
I0220 23:57:42.142529 19196 utils.h:59] >>> ===== Printing run time end =====

From the experimental results, we can see that faster-lio cannot achieve 10hz on tx2. But Fast-lio2 usually consumes 50ms in our test with same down sampling rate. We guess it is because the system architecture is different and the relevant Intel acceleration libraries are not well adapted on the arm architecture. How should we improve the efficiency of running on tx2? Thanks a lot!

About degeneracy detection

Thank you for your excellent work! I have a question about detecting degeneracy.

[1] has claimed that smallest eigenvalue and it corresponding eigenvector of information matrix indicates degeneracy and degenerate direction. [2] also finds log determinant of information matrix can act as degeneracy factor. However, they are all optimization-based LIO system.

Do you have any idea about degeneracy detection of your filter-based system?

[1] On degeneracy of optimization-based state estimation problems
[2] Greedy-Based Feature Selection for Efficient LiDAR SLAM

ivox地图点到达一定的数量后程序崩溃

高博:
您好!
我在测试长时间rosbag包时发现当ivox地图到达约33w个点后,程序就莫名的崩溃。我修改ivox类型为PHC,也有类似的情况产生(ivox地图点为37w个点后崩溃)。从我测试的情况来看,这个问题是必现的。
我尝试修改ivox3d.h文件中Options结构体的capacity_值,把它减小为30w,地图的点上限被限制了,但是崩溃的情况还是发生。上述情况崩溃前的建图结果都是正常的。我在不同的硬件平台上都测试了一下,x86和arm都出现了这个情况。您那边可以看下这个问题吗?

Question about visualize NCLT dataset

@gaoxiang12
Hi, Thanks for your great work!
I have some questions about visualizing NCLT dataset with faster-lio.
Actually, my question is not really related to faster-lio algorithm but visualizing the NCLT dataset's ground pose.

I want to visualize the result plot like faster-lio paper,

Screenshot from 2022-05-06 16-50-09

However, when I download the groundtruth.csv on the original NCLT homepage,
The data format is quite different from traj.txt(Estimated trajectory).

How could I align groundtruth.csv and traj.txt?
Any resources or tips to help align the timestamp and align with the GT and LiDAR coordinate system?

Thanks,

Error when saving map (trajectory)

I0110 14:15:01.096560 22425 utils.h:54] > [     IVox Add Points ] average time usage: 0.764414 ms , called times: 6529
I0110 14:15:01.096596 22425 utils.h:54] > [     Incremental Mapping ] average time usage: 0.982128 ms , called times: 6529
I0110 14:15:01.096621 22425 utils.h:54] > [     ObsModel (IEKF Build Jacobian) ] average time usage: 0.0511552 ms , called times: 25725
I0110 14:15:01.096670 22425 utils.h:54] > [     ObsModel (Lidar Match) ] average time usage: 1.38457 ms , called times: 25725
I0110 14:15:01.096735 22425 utils.h:54] > [ Downsample PointCloud ] average time usage: 0.328895 ms , called times: 6529
I0110 14:15:01.096755 22425 utils.h:54] > [ IEKF Solve and Update ] average time usage: 6.86808 ms , called times: 6529
I0110 14:15:01.096771 22425 utils.h:54] > [ Preprocess (Livox) ] average time usage: 0.254262 ms , called times: 6533
I0110 14:15:01.096788 22425 utils.h:54] > [ Undistort Pcl ] average time usage: 0.947902 ms , called times: 6528
I0110 14:15:01.096829 22425 utils.h:59] >>> ===== Printing run time end =====
I0110 14:15:01.096832 22425 run_mapping_online.cc:46] save trajectory to: ./Log/traj.txt
E0110 14:15:01.096866 22425 laser_mapping.cc:785] Failed to open traj_file: ./Log/traj.txt
I0110 14:15:01.097010 22425 laser_mapping.h:34] laser mapping deconstruct
shutting down processing monitor...
... shutting down processing monitor complete

I can see in Cloud Compare or Meshlab report that the point clouds has normals, but they are empty and both witll crash if try to mesh or will do nothing. Maybe both things are related.
Have normals would be great to can mesh the pointclouds.
Thanks by share this great software.

Questions on use & mapping points in the global map with pose per file?

Currently the trajectory is available but this is the whole global map trajectory. Is it possible to also dump the pose (stamp, tx,ty,tz, qx,qy,qz,qw) in another file for each individual .pcd file? (thus it would be possible to load the scans to rtab-map and experiment with loop closure) (or create a pose_01..n.csv file matching the .pcd last written)

Here's a scan made with the Avia mounted on a bicycle handlebar. Quite amazing considering the terrain varied from smooth tarmac to bumpy stones and gravel / dirt road.

If a direction change is made (e.g turn around 180 degrees) within the current working memory are points more accurately registered? E.g is there any impact (besides memory) if the scan frame rate is set high so each .pcd file is e.g 100mb? The map below was made with " interval: 200 # how many LiDAR frames saved in each pcd file;" but does this impact to poor registration or does it improve if returning to the same area? (I understand no loop closure is made)

FasterLIO_Bike

world frame是什么?

高博你好,最近测试了一下faster lio,有个问题比较疑惑,状态量pose是在什么坐标系下?

R_imu_lidar: (激光向下5deg)
[ 0.9961947, 0.0000000, 0.0871557,
0.0000000, 1.0000000, 0.0000000,
-0.0871557, 0.0000000, 0.9961947 ]
t_imu_lidar: [ 1.717, -0.0, 1.138 ]

系统初始化后print_state:
state r: -0.000345237 00-0.0374697 0-0.00386671 000000.99929, t: 0.0423497 0.0939147 -1.02182, off r: 000000000 0.0436194 000000000 00.999048, t: 1.717 00000 1.138, ba: -1.03539e-06 -1.72492e-06 01.88017e-05, bg: -0.000181886 04.04175e-05 06.04094e-05

t = [0.0423497 0.0939147 -1.02182]
第一帧pose就很奇怪; (此时发现R_lidar pitch角接近0deg, R_imu为 pitch角为-5deg左右,仿佛是以第一帧lidar为基准)

如果故意将激光的外参设置错,设置为Identity,则第一帧为:
state r: -0.00214257 00.00397316 00.00080698 0000.999989, t: 00.0879747 -0.0151787 -0.0282642, off r: 0 0 0 1, t: 1.717 00000 1.138, ba: -1.59745e-06 02.96747e-07 05.22169e-07, bg: -0.000144082 07.62581e-06 05.70473e-05

t = [ 0.0879747 -0.0151787 -0.0282642]

系统中的状态量是imu的pose,初始world坐标系不是以第一帧imu为基准?

动态车辆导致SLAM退化

高博您好,
在测试您的算法的时候,发现当一辆视野内的静止车辆突然起步时,因为地图中已有该车辆的许多点云,使得SLAM前端倾向于将该车辆的动态点云匹配到历史的静态地图点上,导致前端退化,表现为原地不动。
想请问您,有没有不用深度学习语义信息的方法可以解决该问题?(如何判断退化出现?如何修改IMU与LIDAR的权重?)

关于论文中的 LIO-SAM 在 nclt_2 上的指标问题

Hello, 首先感谢您们的工作!

我有一个关于您们如何得到 LIO-SAM 在 nclt_2 上的指标的小问题(指标如下):
image

我根据您们的NCLT配置文件 velodyne.yaml 更改了LIO-SAM的配置 params.yaml,具体而言我做了如下更改:

  1. scan_line: 对应 LIO-SAM 配置文件中的 N_SCAN 设置到32;
  2. extrinsic_T: 对应 LIO-SAM 配置文件中的 extrinsicTrans 设置到 [ 0, 0, 0.28 ];
  3. IMU的噪声、随机游走方差也根据您们的 NCLT 配置文件做了相应更改;
  4. time_scale: 由于 LIO-SAM 在 deskew 的时候使用做单位, 而我注意到 nclt_2 (i.e. 20130110.bag) 提供的是 us,因此每个点相对其当前scan第一个点的时间除以了1e6(我确保了每个scan最后一个点的时间是 0.1s,这和LIDAR的10Hz一致);

如果不做上述第三点更改,结果如下(可以看到走出最开始的那个平台(像是一个停车场)后,整个场景就倾斜了):
issue
使用 evo 测出的误差指标(对齐轨迹后)也比论文中的高出一个数量级(不对齐会更高)。

如果做了第三点更改,大约刚刚走出最开始的平台,轨迹就完全飞了。

由于LIO-SAM没有在 NCLT 数据集上实验,所以请允许我在此请教。

我想知道我是否漏掉了某个配置或改动,恳请指导~

谢谢!

Maybe a typo in updating cov_acc_

if (init_iter_num_ > MAX_INI_COUNT) {
cov_acc_ *= pow(common::G_m_s2 / mean_acc_.norm(), 2);
imu_need_init_ = false;
cov_acc_ = cov_acc_scale_;
cov_gyr_ = cov_gyr_scale_;
LOG(INFO) << "IMU Initial Done";
fout_imu_.open(common::DEBUG_FILE_DIR("imu_.txt"), std::ios::out);
}

Why do you compute cov_acc_ in line 305 if you simply set cov_acc_ = cov_acc_scale_ . A typo maybe.
This problem also appears in Fast-LIO code.

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.