非常感谢贵团队开源的优秀工作。
目前我想用Point Lio作为我导航无人机的定位算法。
但是我在使用中时发现定位偶尔会出现偏移。
我想要同您讨论一下关于参数、平台、硬件以及运行环境的设置。
激光雷达:Livox-MID360
机载电脑:Jetson orin nx
操作系统:Ubuntu 20
ROS版本:ROS1 Noetic
运行环境:室内场地,但是场地周围有网格(动捕场地的周围网格)
怀疑问题:场地网格干扰、无人机震动、未做时间同步、参数设置不合理
我在使用过程中发现,偶尔会出现一个方向上的漂移,不过漂移速度并不快,应该低于1m/s。
这是我的Point lio的参数
`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.1 # should be integral fraction of 1 / LiDAR frequency
time_diff_lidar_to_imu: 0.0 # Time offset between LiDAR and IMU calibrated by other algorithms, e.g., LI-Init (find in Readme)
preprocess:
lidar_type: 1 # 4
scan_line: 4 # 32
timestamp_unit: 3 # the unit of time/t field in the PointCloud2 rostopic: 0-second, 1-milisecond, 2-microsecond, 3-nanosecond.
blind: 0.1
mapping:
imu_en: true
extrinsic_est_en: false # for aggressive motion, set this variable false
imu_time_inte: 0.005 # = 1 / frequency of IMU
lidar_time_inte: 0.1
satu_acc: 30.0 # the saturation value of IMU's acceleration. not related to the units
satu_gyro: 35.0 # the saturation value of IMU's angular velocity. not related to the units
acc_norm: 1.0 # 9.810 # 1.0 for g as unit, 9.81 for m/s^2 as unit of the IMU's acceleration
lidar_meas_cov: 0.1 # 0.001; 0.01
acc_cov_output: 500.0
gyr_cov_output: 1000.0
b_acc_cov: 0.0001
b_gyr_cov: 0.0001
imu_meas_acc_cov: 0.01 #0.1 # 0.1
imu_meas_omg_cov: 0.01 #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.05 # 0.05, the threshold for plane criteria, the smaller, the flatter a plane
match_s: 81.0
fov_degree: 360
det_range: 70.0
ivox_grid_resolution: 2.0
gravity: [0.0, 0.0, -9.810] # [0.0, 9.810, 0.0] # # [0.0, 0.0, -9.787561] # gvins #
gravity_init: [0.0, 0.0, -9.810] # preknown gravity in the initial IMU frame for unstationary start or in the initial LiDAR frame for using without IMU
extrinsic_T: [ 0.011, 0.02329, -0.04412 ] # avia # [0.011, 0.02329, -0.04412] # mid360
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.`
并且我这套参数在地面端运行似乎没有那么大的问题。
请问我该如何排查相关的问题所在?
我正在努力的复现问题并录制bag。
感谢。
非常感谢贵团队开源的优秀工作。
目前我想用Point Lio作为我导航无人机的定位算法。
但是我在使用中时发现定位偶尔会出现偏移。
我想要同您讨论一下关于参数、平台、硬件以及运行环境的设置。
激光雷达:Livox-MID360
机载电脑:Jetson orin nx
操作系统:Ubuntu 20
ROS版本:ROS1 Noetic
运行环境:室内场地,但是场地周围有网格(动捕场地的周围网格)
怀疑问题:场地网格干扰、无人机震动、未做时间同步、参数设置不合理
我在使用过程中发现,偶尔会出现一个方向上的漂移,不过漂移速度并不快,应该低于1m/s。
这是我的Point lio的参数
`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.1 # should be integral fraction of 1 / LiDAR frequency
time_diff_lidar_to_imu: 0.0 # Time offset between LiDAR and IMU calibrated by other algorithms, e.g., LI-Init (find in Readme)
preprocess:
lidar_type: 1 # 4
scan_line: 4 # 32
timestamp_unit: 3 # the unit of time/t field in the PointCloud2 rostopic: 0-second, 1-milisecond, 2-microsecond, 3-nanosecond.
blind: 0.1
mapping:
imu_en: true
extrinsic_est_en: false # for aggressive motion, set this variable false
imu_time_inte: 0.005 # = 1 / frequency of IMU
lidar_time_inte: 0.1
satu_acc: 30.0 # the saturation value of IMU's acceleration. not related to the units
satu_gyro: 35.0 # the saturation value of IMU's angular velocity. not related to the units
acc_norm: 1.0 # 9.810 # 1.0 for g as unit, 9.81 for m/s^2 as unit of the IMU's acceleration
lidar_meas_cov: 0.1 # 0.001; 0.01
acc_cov_output: 500.0
gyr_cov_output: 1000.0
b_acc_cov: 0.0001
b_gyr_cov: 0.0001
imu_meas_acc_cov: 0.01 #0.1 # 0.1
imu_meas_omg_cov: 0.01 #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.05 # 0.05, the threshold for plane criteria, the smaller, the flatter a plane
match_s: 81.0
fov_degree: 360
det_range: 70.0
ivox_grid_resolution: 2.0
gravity: [0.0, 0.0, -9.810] # [0.0, 9.810, 0.0] # # [0.0, 0.0, -9.787561] # gvins #
gravity_init: [0.0, 0.0, -9.810] # preknown gravity in the initial IMU frame for unstationary start or in the initial LiDAR frame for using without IMU
extrinsic_T: [ 0.011, 0.02329, -0.04412 ] # avia # [0.011, 0.02329, -0.04412] # mid360
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.`
并且我这套参数在地面端运行似乎没有那么大的问题。
请问我该如何排查相关的问题所在?
我正在努力的复现问题并录制bag。
感谢。