YWL0720 / FAST-LIO-COLOR-MAPPING

A modified version of FAST-LIO2 that can generate RGB point cloud maps
GNU General Public License v2.0
79 stars 12 forks source link

FAST-LIO-COLOR-MAPPING/ doesn't exist #3

Open hdcq666 opened 10 months ago

hdcq666 commented 10 months ago

你好,感谢开源代码 我在运行的时候会显示/catkin_ws/src/FAST-LIO-COLOR-MAPPING/ doesn't exist之后播放数据包也没有显示,运行原版fastlio就不会报错,因为我是刚接触slam算法和Ubuntu,不太清楚是什么问题,不知可否为我解答,感谢:)

YWL0720 commented 10 months ago

可以先检查下,确定数据包中的消息话题名与对应的yaml文件中的话题名一致,并且外参配置正确

hdcq666 commented 10 months ago

感谢回复,我已经检查了我的topic和yaml中的是一致的,与我运行fastlio时的topic也一致,我在运行该项目时显示的是

/catkin_ws/src/FAST-LIO-COLOR-MAPPING/ doesn't exist
QObject::connect: Cannot queue arguments of type 'QVector<int>'
(Make sure 'QVector<int>' is registered using qRegisterMetaType().)
QObject::connect: Cannot queue arguments of type 'QVector<int>'
(Make sure 'QVector<int>' is registered using qRegisterMetaType().)
[rviz-3] process has finished cleanly
log file: /home/wxf228/.ros/log/f659e152-a9f0-11ee-a866-08beac2f6d21/rviz-3*.log
^C[laserMapping-2] killing on exit

但是在运行原版fastlio时显示的是

 /catkin_ws/src/FAST_LIO-main/ file opened
[ INFO] [1704256594.573287673]: IMU Initial Done
[ WARN] [1704256594.574616272]: No point, skip this scan!
QObject::connect: Cannot queue arguments of type 'QVector<int>'
(Make sure 'QVector<int>' is registered using qRegisterMetaType().)
QObject::connect: Cannot queue arguments of type 'QVector<int>'
(Make sure 'QVector<int>' is registered using qRegisterMetaType().)
^C[rviz-3] killing on exit
[laserMapping-2] killing on exit

并且可以正常进行建图,所以我不确定是不是这个FAST-LIO-COLOR-MAPPING/ doesn't exist这里导致的问题

YWL0720 commented 10 months ago

这里应该不是主要的原因,可以再检查下点云消息和图像消息的时间戳,是否时间源不同,差别过大

MattiasTancred commented 8 months ago

I think I am having the same issue. AVIA + D435i, Noetic Ubuntu 20.04. Maybe you could see any problems?

Multi thread started p_pre->lidar_type 1


[ INFO] [1709389473.793572084]: IMU Initial Done
[ WARN] [1709389473.796820843]: No point, skip this scan!

^C[rviz-3] killing on exit
[laserMapping-2] killing on exit
[ WARN] [1709389486.852680155]: catch sig 2
current scan saved to /PCD/scans.pcd
terminate called after throwing an instance of 'pcl::IOException'
  what():  : [pcl::PCDWriter::writeBinary] Error during open!
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done

I did the lidar/camera-calibration with livox_camera_calib

First message on topic /livox/imu: 1709387222.8314004
First message on topic /livox/lidar: 1709387222.8252034
First message on topic /camera/color/image_raw: 1709387222.8495474
Time difference between lidar and image is 0.02434396743774414 seconds, which is within acceptable range.

avia.yaml

common:
    lid_topic:  "/livox/lidar"
    imu_topic:  "/livox/imu"
    camera_topic: "/camera/color/image_raw/"
    time_sync_en: false         # ONLY turn on when external time synchronization is really not possible
    time_offset_lidar_to_imu: 0.0 # Time offset between lidar and IMU calibrated by other algorithms, e.g. LI-Init (can be found in README).
                                  # This param will take effect no matter what time_sync_en is. So if the time offset is not known exactly, please set as                       0.0

preprocess:
    lidar_type: 1                # 1 for Livox serials LiDAR, 2 for Velodyne LiDAR, 3 for ouster LiDAR, 
    scan_line: 6
    blind: 4

color_mapping:
    K_camera: [912.8489, 0.0, 645.4302,
               0.0,  914.2524, 365.8008,
               0.0, 0.0, 1.0]
    D_camera: [0.0, 0.0, 0.0, 0.0, 0.0]
    time_offset_lidar_to_camera: 0.0                # ms
    extrinsic_T: [0.0654379, 0.0423589, 0.0349723]  # lidar to camera
    extrinsic_R: [-0.0128796, -0.999705, -0.0206083,
                  0.00363695, 0.0205631, -0.999782,
                  0.99991, -0.0129517, 0.00337103]

mapping:
    acc_cov: 0.1
    gyr_cov: 0.1
    b_acc_cov: 0.0001
    b_gyr_cov: 0.0001
    fov_degree:    70
    det_range:     200
    extrinsic_est_en:  false      # true: enable the online estimation of IMU-LiDAR extrinsic
    extrinsic_T: [ 0.04165, 0.02326, -0.0284 ]
    extrinsic_R: [ 1, 0, 0,
                   0, 1, 0,
                   0, 0, 1]

publish:
    path_en:  false
    scan_publish_en:  true       # false: close all the point cloud output
    dense_publish_en: true       # false: low down the points number in a global-frame point clouds scan.
    scan_bodyframe_pub_en: true  # true: output the point cloud scans in IMU-body-frame

pcd_save:
    pcd_save_en: true
    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.

test .bag. 

path:        calib_1.bag
version:     2.0
duration:    43.9s
start:       Mar 02 2024 14:47:02.85 (1709387222.85)
end:         Mar 02 2024 14:47:46.71 (1709387266.71)
size:        3.6 GB
messages:    10680
compression: none [1315/1315 chunks]
types:       livox_ros_driver/CustomMsg [e4d6829bdfe657cb6c21a746c86b21a6]
             sensor_msgs/Image          [060021388200f6f0f447d0fcd9c64743]
             sensor_msgs/Imu            [6a62c6daae103f4ff57a132d6f95cec2]
topics:      /camera/color/image_raw   1315 msgs    : sensor_msgs/Image         
             /livox/imu                8926 msgs    : sensor_msgs/Imu           
             /livox/lidar               439 msgs    : livox_ros_driver/CustomMsg
slam@slam-HP-ZBook-17-G4:~/ros/catkin_ws/src/livox_camera_calib/avia_calib$ 
hdcq666 commented 8 months ago

I think I am having the same issue. AVIA + D435i, Noetic Ubuntu 20.04. Maybe you could see any problems?

Multi thread started p_pre->lidar_type 1

[ INFO] [1709389473.793572084]: IMU Initial Done
[ WARN] [1709389473.796820843]: No point, skip this scan!

^C[rviz-3] killing on exit
[laserMapping-2] killing on exit
[ WARN] [1709389486.852680155]: catch sig 2
current scan saved to /PCD/scans.pcd
terminate called after throwing an instance of 'pcl::IOException'
  what():  : [pcl::PCDWriter::writeBinary] Error during open!
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done

I did the lidar/camera-calibration with livox_camera_calib

First message on topic /livox/imu: 1709387222.8314004
First message on topic /livox/lidar: 1709387222.8252034
First message on topic /camera/color/image_raw: 1709387222.8495474
Time difference between lidar and image is 0.02434396743774414 seconds, which is within acceptable range.

avia.yaml

common:
    lid_topic:  "/livox/lidar"
    imu_topic:  "/livox/imu"
    camera_topic: "/camera/color/image_raw/"
    time_sync_en: false         # ONLY turn on when external time synchronization is really not possible
    time_offset_lidar_to_imu: 0.0 # Time offset between lidar and IMU calibrated by other algorithms, e.g. LI-Init (can be found in README).
                                  # This param will take effect no matter what time_sync_en is. So if the time offset is not known exactly, please set as                         0.0

preprocess:
    lidar_type: 1                # 1 for Livox serials LiDAR, 2 for Velodyne LiDAR, 3 for ouster LiDAR, 
    scan_line: 6
    blind: 4

color_mapping:
    K_camera: [912.8489, 0.0, 645.4302,
               0.0,  914.2524, 365.8008,
               0.0, 0.0, 1.0]
    D_camera: [0.0, 0.0, 0.0, 0.0, 0.0]
    time_offset_lidar_to_camera: 0.0                # ms
    extrinsic_T: [0.0654379, 0.0423589, 0.0349723]  # lidar to camera
    extrinsic_R: [-0.0128796, -0.999705, -0.0206083,
                  0.00363695, 0.0205631, -0.999782,
                  0.99991, -0.0129517, 0.00337103]

mapping:
    acc_cov: 0.1
    gyr_cov: 0.1
    b_acc_cov: 0.0001
    b_gyr_cov: 0.0001
    fov_degree:    70
    det_range:     200
    extrinsic_est_en:  false      # true: enable the online estimation of IMU-LiDAR extrinsic
    extrinsic_T: [ 0.04165, 0.02326, -0.0284 ]
    extrinsic_R: [ 1, 0, 0,
                   0, 1, 0,
                   0, 0, 1]

publish:
    path_en:  false
    scan_publish_en:  true       # false: close all the point cloud output
    dense_publish_en: true       # false: low down the points number in a global-frame point clouds scan.
    scan_bodyframe_pub_en: true  # true: output the point cloud scans in IMU-body-frame

pcd_save:
    pcd_save_en: true
    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.

test .bag. 

path:        calib_1.bag
version:     2.0
duration:    43.9s
start:       Mar 02 2024 14:47:02.85 (1709387222.85)
end:         Mar 02 2024 14:47:46.71 (1709387266.71)
size:        3.6 GB
messages:    10680
compression: none [1315/1315 chunks]
types:       livox_ros_driver/CustomMsg [e4d6829bdfe657cb6c21a746c86b21a6]
             sensor_msgs/Image          [060021388200f6f0f447d0fcd9c64743]
             sensor_msgs/Imu            [6a62c6daae103f4ff57a132d6f95cec2]
topics:      /camera/color/image_raw   1315 msgs    : sensor_msgs/Image         
             /livox/imu                8926 msgs    : sensor_msgs/Imu           
             /livox/lidar               439 msgs    : livox_ros_driver/CustomMsg
slam@slam-HP-ZBook-17-G4:~/ros/catkin_ws/src/livox_camera_calib/avia_calib$ 

sorry, but I didn't solve the problem. I use [Livox_Color_View_And_Mpping] (https://github.com/kahowang/Livox_Color_View_And_Mpping) instead , maybe you can try this.

cyhunblr commented 3 months ago

Just create a folder called Log into the package.