Why is the pointcloud during mapping separated like grids, and there are very few points in each frame
handshow888 opened this issue · 1 comments
Figure 1 and 2 are the pcd I saved. It looks like many points are clustered into grids.
Figure3 is the screenshot of each frame from rviz2, I subscribe the /cloud_registered
and set Size(pixels)
to 5(default:1), I only managed to see the points after that. No matter which angle I rotate the lidar to, the number of points is always small and sparse.
In figure4, I set Size(pixels)
to 2, Decay Time
to 300, it can be seen that although it is a smooth wall, there are still some points that are particularly dense, while others are very sparse.
Lidar: livox mid360
Due to special requirements, I flipped the roll axis of the radar 180 degrees.
I run ig_lio_mapping.launch.py
, and it loaded livox.yaml
.
here is my params:
/**:
ros__parameters:
#for odom
odom/sendTF: true
#topic names
odom/lidar_topic: /livox/lidar #/points_raw
odom/imu_topic: /livox/imu #/imu_correct
odom/lidar_type: livox # livox velodyne ouster
#frames
odom/odom_frame: lio_odom
odom/robot_frame: base_link
odom/imu_frame: imu_link
odom/lidar_frame: livox_frame
odom/min_radius: 1.0
odom/max_radius: 150.0
odom/point_filter_num: 1
odom/time_scale: 1000.0 # nclt: 0.001 other: 1000.0
odom/enable_ahrs_initalization: false
odom/enable_acc_correct: true
odom/scan_resolution: 0.05
odom/voxel_map_resolution: 0.5
odom/max_iterations: 10
odom/acc_cov: 0.1
odom/gyr_cov: 0.1
odom/ba_cov: 0.000001 #0.000001
odom/bg_cov: 0.000001 #0.000001
odom/init_ori_cov: 0.0001
odom/init_pos_cov: 0.0001
odom/init_vel_cov: 100.0
odom/init_ba_cov: 0.0001
odom/init_bg_cov: 0.0001
odom/gravity: 9.80665
odom/gicp_constraints_gain: 100.0 #100.0
odom/point2plane_constraints_gain: 1000.0 #1000.0
odom/enable_undistort: true
odom/enable_outlier_rejection: true
#for extrinsics
extrinsics/imu2lidar/t: [0.011, -0.02329, 0.04412]
extrinsics/imu2lidar/r: [1.0, 0.0, 0.0,
0.0, 1.0, 0.0,
0.0, 0.0, 1.0 ]
extrinsics/robot2lidar/t: [0.0, 0.0, 0.0]
extrinsics/robot2lidar/r: [1.0, 0.0, 0.0,
0.0, 1.0, 0.0,
0.0, 0.0, 1.0 ]
extrinsics/robot2imu/t: [0.0, 0.0, 0.0]
extrinsics/robot2imu/r: [1.0, 0.0, 0.0,
0.0, 1.0, 0.0,
0.0, 0.0, 1.0 ]
#for map
map/save_map_path: /home/handshow/ig_lio/map #do not put / at the end of line
map/map_name: loc
map/map_frame: map # lio_odom
by the way, I use the ros2 version from pr