hku-mars / Point-LIO

Other
795 stars 133 forks source link

关于启动里程计时,里程计会原地有随机漂移的问题 #86

Open Xyxx3353 opened 6 months ago

Xyxx3353 commented 6 months ago

使用的mid360雷达,具体config为 common: lid_topic: "/livox/lidar" imu_topic: "/livox/imu" con_frame: false # true: if you need to combine several LiDAR frames into one con_frame_num: 1 # the number of frames combined cut_frame: false # true: if you need to cut one LiDAR frame into several subframes cut_frame_time_interval: 0.01 # should be integral fraction of 1 / LiDAR frequency time_lag_imu_to_lidar: 0.0 # Time offset between LiDAR and IMU calibrated by other algorithms, e.g., LI-Init (find in Readme)

the timesample of IMU is transferred from the current timeline to LiDAR's timeline by subtracting this value

preprocess: lidar_type: 1 scan_line: 4 timestamp_unit: 1 # the unit of time/t field in the PointCloud2 rostopic: 0-second, 1-milisecond, 2-microsecond, 3-nanosecond. blind: 0.5

mapping: imu_en: true start_in_aggressive_motion: false # if true, a preknown gravity should be provided in following gravity_init extrinsic_est_en: false # for aggressive motion, set this variable false imu_time_inte: 0.005 # = 1 / frequency of IMU satu_acc: 3.0 # the saturation value of IMU's acceleration. not related to the units satu_gyro: 35 # the saturation value of IMU's angular velocity. not related to the units acc_norm: 1.0 # 1.0 for g as unit, 9.81 for m/s^2 as unit of the IMU's acceleration lidar_meas_cov: 0.001 # 0.001; 0.01 acc_cov_output: 500 gyr_cov_output: 1000 b_acc_cov: 0.0001 b_gyr_cov: 0.0001 imu_meas_acc_cov: 0.1 #0.1 # 0.1 imu_meas_omg_cov: 0.1 #0.01 # 0.1 gyr_cov_input: 0.01 # for IMU as input model acc_cov_input: 0.1 # for IMU as input model plane_thr: 0.1 # 0.05, the threshold for plane criteria, the smaller, the flatter a plane match_s: 81 fov_degree: 360 det_range: 100 gravity_align: true # true to align the z axis of world frame with the direction of gravity, and the gravity direction should be specified below gravity: [0.0, 0.0, -9.810] # [0.0, 9.810, 0.0] # gravity to be aligned gravity_init: [0.0, 0.0, -9.810] # [0.0, 9.810, 0.0] # # preknown gravity in the first IMU body frame, use when imu_en is false or start from a non-stationary state extrinsic_T: [ -0.011, -0.02329, 0.04412 ] extrinsic_R: [ 1, 0, 0, 0, 1, 0, 0, 0, 1 ]

odometry: publish_odometry_without_downsample: false

publish: path_en: true # false: close the path output scan_publish_en: true # false: close all the point cloud output scan_bodyframe_pub_en: false # true: output the point cloud scans in IMU-body-frame

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

使用的master分支的code,mid360的发布频率为100Hz, 在每次启动point lio的时候里程计输出会随机产生大小的漂移,在雷达频率为10Hz的时候不会有类似的情况。 非常期待您的回复!

Joanna-HE commented 6 months ago

你好,感谢你的关注和提问!可以在对应的launch文件中,将init_map_size改为1000.


寄件者: Xyxx3353 @.> 寄件日期: 2024年5月22日 下午 09:12 收件者: hku-mars/Point-LIO @.> 副本: Subscribed @.***> 主旨: [hku-mars/Point-LIO] 关于启动里程计时,里程计会原地有随机漂移的问题 (Issue #86)

使用的mid360雷达,具体config为 common: lid_topic: "/livox/lidar" imu_topic: "/livox/imu" con_frame: false # true: if you need to combine several LiDAR frames into one con_frame_num: 1 # the number of frames combined cut_frame: false # true: if you need to cut one LiDAR frame into several subframes cut_frame_time_interval: 0.01 # should be integral fraction of 1 / LiDAR frequency time_lag_imu_to_lidar: 0.0 # Time offset between LiDAR and IMU calibrated by other algorithms, e.g., LI-Init (find in Readme)

the timesample of IMU is transferred from the current timeline to LiDAR's timeline by subtracting this value

preprocess: lidar_type: 1 scan_line: 4 timestamp_unit: 1 # the unit of time/t field in the PointCloud2 rostopic: 0-second, 1-milisecond, 2-microsecond, 3-nanosecond. blind: 0.5

mapping: imu_en: true start_in_aggressive_motion: false # if true, a preknown gravity should be provided in following gravity_init extrinsic_est_en: false # for aggressive motion, set this variable false imu_time_inte: 0.005 # = 1 / frequency of IMU satu_acc: 3.0 # the saturation value of IMU's acceleration. not related to the units satu_gyro: 35 # the saturation value of IMU's angular velocity. not related to the units acc_norm: 1.0 # 1.0 for g as unit, 9.81 for m/s^2 as unit of the IMU's acceleration lidar_meas_cov: 0.001 # 0.001; 0.01 acc_cov_output: 500 gyr_cov_output: 1000 b_acc_cov: 0.0001 b_gyr_cov: 0.0001 imu_meas_acc_cov: 0.1 #0.1 # 0.1 imu_meas_omg_cov: 0.1 #0.01 # 0.1 gyr_cov_input: 0.01 # for IMU as input model acc_cov_input: 0.1 # for IMU as input model plane_thr: 0.1 # 0.05, the threshold for plane criteria, the smaller, the flatter a plane match_s: 81 fov_degree: 360 det_range: 100 gravity_align: true # true to align the z axis of world frame with the direction of gravity, and the gravity direction should be specified below gravity: [0.0, 0.0, -9.810] # [0.0, 9.810, 0.0] # gravity to be aligned gravity_init: [0.0, 0.0, -9.810] # [0.0, 9.810, 0.0] # # preknown gravity in the first IMU body frame, use when imu_en is false or start from a non-stationary state extrinsic_T: [ -0.011, -0.02329, 0.04412 ] extrinsic_R: [ 1, 0, 0, 0, 1, 0, 0, 0, 1 ]

odometry: publish_odometry_without_downsample: false

publish: path_en: true # false: close the path output scan_publish_en: true # false: close all the point cloud output scan_bodyframe_pub_en: false # true: output the point cloud scans in IMU-body-frame

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

使用的master分支的code,mid360的发布频率为100Hz, 在每次启动point lio的时候里程计输出会随机产生大小的漂移,在雷达频率为10Hz的时候不会有类似的情况。 非常期待您的回复!

― Reply to this email directly, view it on GitHubhttps://github.com/hku-mars/Point-LIO/issues/86, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ANJUIXTDWK4S7OV5B35IEILZDSKVLAVCNFSM6AAAAABIDT64X2VHI2DSMVQWIX3LMV43ASLTON2WKOZSGMYTANJQHAYDCOI. You are receiving this because you are subscribed to this thread.Message ID: @.***>

Xyxx3353 commented 6 months ago

感谢您的帮助,在修改了init_map_size为1000后还是会存在开启后漂移的问题,这是我的launch文件

launch-prefix="gdb -ex run --args"

再次感谢解答