使用l515传感器复现
你好,郑博,我在配置文件和参数都替换后,LIO和VIO都出现No point的情况,如上图,但是点云数据和图像数据都是有的,如下图所是。请问一下我是哪个步骤出现了问题吗。
你的数据可以分享给我下,我帮你看看
你的数据可以分享给我下,我帮你看看 感谢!请问是参数还是传感器数据呢,请问可以给我个你的邮箱吗
郑博 @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 您好,你的数据有以下问题:
- 静止时间太短(只有0.2s),系统未完全初始化
- LiDAR点云质量太差了,图1可以看出静止时点云厚度
- 相机和LiDAR外参有问题,图2可以看到静止时上色效果
- 运动剧烈时数据飞掉,看起来是IMU和Camera时差也没标准
@xuankuzcr 感谢回复。想顺势追问几个问题:
- 关于初始化:是否需要让系统完全静止,手持时的抖动是否会有不好的影响?
- 关于点云质量:如果在所有其他参数准确的情况下,这种点云能够work吗?我的理解是在点云匹配时平面很难找准,所以可能还是有点困难,对吗?如果可以work的话对于参数调节有什么其他建议么?
- 关于相机外参:点云是直接从深度图反投影得到的,这样TF应该是单位矩阵没错?然后图2是如何看出来是外参而不是点云本身质量问题导致的不和谐呢?
- 关于内参:d0到d3对应的是k1, k2, p1, p2吗?
- 关于其他提供点云的传感器:点云质量方面L515优于我这个数据集,那D435和D455之类的呢?这方面有进一步评论吗?
谢谢您看到这里,问的问题或许有点naive,望指教~
- 可以手抖,是初始化时间太短了,最好超过3s
- 平面厚度快半米了,不能work
- 原始的深度图和灰度图就没有对得很准,因为你反投影操恢复的有色点云棋盘格边缘就很不锐利
- 是
- 深度相机没有测过
- 可以手抖,是初始化时间太短了,最好超过3s
- 平面厚度快半米了,不能work
- 原始的深度图和灰度图就没有对得很准,因为你反投影操恢复的有色点云棋盘格边缘就很不锐利
- 是
- 深度相机没有测过
谢谢解答~ @xuankuzcr
你的数据可以分享给我下,我帮你看看
是数据集还是配置文件呢,可以提供个邮箱吗,我直接打包发给你
@ErcBunny 哥,你这边也是在尝试就采用rgbd相机来运行fast-livo2吗?我理解是就点云就直接利用深度图反投影获得点云,然后rgb和深度图本身就是硬同步的,相机本身也有imu?然后输入到算法中进行测试吗
@ErcBunny 哥,你这边也是在尝试就采用rgbd相机来运行fast-livo2吗?我理解是就点云就直接利用深度图反投影获得点云,然后rgb和深度图本身就是硬同步的,相机本身也有imu?然后输入到算法中进行测试吗
@smittenx Hi,差不多是这样。只不过我这里深度数据质量比较差,很好奇其他realsense深度相机运行效果如何。
@ErcBunny 你用的深度相机精度大概如何,我最近也有点想尝试利用rgbd去做尝试,但有些担心这块东西能不能跑起来。我现在这个相机工作理想范围0.26-3m,精度差不多2m以内+-2%,不过我这边相机imu和rgb depth没做硬同步,但imu本身频率较高(200hz)情况下,这个能跑吗?以你现在跑的经验判断