FAST-LIVO2 icon indicating copy to clipboard operation
FAST-LIVO2 copied to clipboard

使用l515传感器复现

Open nit-xhg opened this issue 8 months ago • 11 comments

Image

你好,郑博,我在配置文件和参数都替换后,LIO和VIO都出现No point的情况,如上图,但是点云数据和图像数据都是有的,如下图所是。请问一下我是哪个步骤出现了问题吗。

Image

nit-xhg avatar Apr 01 '25 06:04 nit-xhg

你的数据可以分享给我下,我帮你看看

xuankuzcr avatar Apr 02 '25 09:04 xuankuzcr

你的数据可以分享给我下,我帮你看看 感谢!请问是参数还是传感器数据呢,请问可以给我个你的邮箱吗

nit-xhg avatar Apr 02 '25 14:04 nit-xhg

郑博 @xuankuzcr 您好!我有类似的问题想请教一下 。

我使用了一个类似L515的传感器(噪声比较大,最大量程2.5m左右,标定结果在这里,且可以认为Lidar frame和cam frame是一致的),正在试图运行LIVO2在自己的数据集上,但是不成功。

https://github.com/user-attachments/assets/3e2572a1-c23a-418f-8db5-9dec0cb16751

相机配置文件我是这么写的:

cam_model: Pinhole
cam_width: 320
cam_height: 240
scale: 0.5 # 这是什么?没改
cam_fx: 227.46204253
cam_fy: 227.42116608
cam_cx: 159.92612471
cam_cy: 120.20147916
cam_d0: 0.03141088 # 应该是k1?
cam_d1: -0.09764829 # k2?
cam_d2: -0.00008679 # p1?
cam_d3: -0.00000261 # p2?

其他配置是从avia抄过来的,只改动了topic,TF,和lidar type:

common:
  img_topic: "/dolphin/image/ir/processed"
  lid_topic: "/dolphin/pcd/processed"
  imu_topic: "/wit/imu"
  img_en: 1
  lidar_en: 1
  ros_driver_bug_fix: false

extrin_calib:
  extrinsic_T: [0.0442646, -0.00314331, -0.03111024] # translation of LiDAR frame w.r.t. IMU frame
  extrinsic_R: [0.00505849, -0.99981994, 0.01828918,
                -0.9999717, -0.00495573, 0.00565979,
                -0.00556814, -0.0183173, -0.99981672] # rotation matrix of LiDAR frame w.r.t. IMU frame
  Rcl: [1, 0, 0, 0, 1, 0, 0, 0, 1] # rotation matrix of LiDAR frame w.r.t. Camera frame
  Pcl: [0.0, 0.0, 0.0] # translation of LiDAR frame w.r.t. Camera frame

time_offset: 
  imu_time_offset: 0.0
  img_time_offset: 0.0
  exposure_time_init: 0.0

preprocess:
  point_filter_num: 1
  filter_size_surf: 0.1
  lidar_type: 4 # L515
  scan_line: 6
  blind: 0.8

vio:
  max_iterations: 5
  outlier_threshold: 1000 # 78 100 156 #100 200 500 700 infinite
  img_point_cov: 100 # 100 1000 
  patch_size: 8
  patch_pyrimid_level: 4
  normal_en: true
  raycast_en: false
  inverse_composition_en: false
  exposure_estimate_en: true
  inv_expo_cov: 0.1

imu:
  imu_en: true
  imu_int_frame: 30
  acc_cov: 0.5 # 0.2
  gyr_cov: 0.3 # 0.5
  b_acc_cov: 0.0001 # 0.1
  b_gyr_cov: 0.0001 # 0.1

lio:
  max_iterations: 5
  dept_err: 0.02
  beam_err: 0.05
  min_eigen_value: 0.0025 # 0.005
  voxel_size: 0.5
  max_layer: 2
  max_points_num: 50
  layer_init_num: [5, 5, 5, 5, 5]

local_map:  
  map_sliding_en: false
  half_map_size: 100
  sliding_thresh: 8

uav:
  imu_rate_odom: false
  gravity_align_en: false

publish:
  dense_map_en: true
  pub_effect_point_en: false 
  pub_plane_en: false
  pub_scan_num: 1
  blind_rgb_points: 0.0

evo:
  seq_name: "CBD_Building_01"
  pose_output_en: false

pcd_save:
  pcd_save_en: false
  colmap_output_en: false # need to set interval = -1
  filter_size_pcd: 0.15
  interval: -1
  # how many LiDAR frames saved in each pcd file;
  # -1 : all frames will be saved in ONE pcd file, may lead to memory crash when having too much frames.

这里问题是什么?是参数没设置对(BTW参数的意义在哪儿可以找到)?还是点云质量太差了?

期待您的答复!

ErcBunny avatar Apr 09 '25 10:04 ErcBunny

@ErcBunny 您好,你的数据有以下问题:

  1. 静止时间太短(只有0.2s),系统未完全初始化
  2. LiDAR点云质量太差了,图1可以看出静止时点云厚度
  3. 相机和LiDAR外参有问题,图2可以看到静止时上色效果
  4. 运动剧烈时数据飞掉,看起来是IMU和Camera时差也没标准

Image Image

xuankuzcr avatar Apr 11 '25 15:04 xuankuzcr

@xuankuzcr 感谢回复。想顺势追问几个问题:

  1. 关于初始化:是否需要让系统完全静止,手持时的抖动是否会有不好的影响?
  2. 关于点云质量:如果在所有其他参数准确的情况下,这种点云能够work吗?我的理解是在点云匹配时平面很难找准,所以可能还是有点困难,对吗?如果可以work的话对于参数调节有什么其他建议么?
  3. 关于相机外参:点云是直接从深度图反投影得到的,这样TF应该是单位矩阵没错?然后图2是如何看出来是外参而不是点云本身质量问题导致的不和谐呢?
  4. 关于内参:d0到d3对应的是k1, k2, p1, p2吗?
  5. 关于其他提供点云的传感器:点云质量方面L515优于我这个数据集,那D435和D455之类的呢?这方面有进一步评论吗?

谢谢您看到这里,问的问题或许有点naive,望指教~

ErcBunny avatar Apr 11 '25 15:04 ErcBunny

  1. 可以手抖,是初始化时间太短了,最好超过3s
  2. 平面厚度快半米了,不能work
  3. 原始的深度图和灰度图就没有对得很准,因为你反投影操恢复的有色点云棋盘格边缘就很不锐利
  4. 深度相机没有测过

xuankuzcr avatar Apr 11 '25 16:04 xuankuzcr

  1. 可以手抖,是初始化时间太短了,最好超过3s
  2. 平面厚度快半米了,不能work
  3. 原始的深度图和灰度图就没有对得很准,因为你反投影操恢复的有色点云棋盘格边缘就很不锐利
  4. 深度相机没有测过

谢谢解答~ @xuankuzcr

ErcBunny avatar Apr 12 '25 04:04 ErcBunny

你的数据可以分享给我下,我帮你看看

是数据集还是配置文件呢,可以提供个邮箱吗,我直接打包发给你

nit-xhg avatar Apr 12 '25 09:04 nit-xhg

@ErcBunny 哥,你这边也是在尝试就采用rgbd相机来运行fast-livo2吗?我理解是就点云就直接利用深度图反投影获得点云,然后rgb和深度图本身就是硬同步的,相机本身也有imu?然后输入到算法中进行测试吗

smittenx avatar Apr 14 '25 14:04 smittenx

@ErcBunny 哥,你这边也是在尝试就采用rgbd相机来运行fast-livo2吗?我理解是就点云就直接利用深度图反投影获得点云,然后rgb和深度图本身就是硬同步的,相机本身也有imu?然后输入到算法中进行测试吗

@smittenx Hi,差不多是这样。只不过我这里深度数据质量比较差,很好奇其他realsense深度相机运行效果如何。

ErcBunny avatar Apr 15 '25 05:04 ErcBunny

@ErcBunny 你用的深度相机精度大概如何,我最近也有点想尝试利用rgbd去做尝试,但有些担心这块东西能不能跑起来。我现在这个相机工作理想范围0.26-3m,精度差不多2m以内+-2%,不过我这边相机imu和rgb depth没做硬同步,但imu本身频率较高(200hz)情况下,这个能跑吗?以你现在跑的经验判断

smittenx avatar Apr 15 '25 06:04 smittenx