imu_lidar_calibration icon indicating copy to clipboard operation
imu_lidar_calibration copied to clipboard

Could I use this tool on the Ground robot dataset?

Open Taeyoung96 opened this issue 2 years ago • 12 comments

@SubMishMar
Thanks for your great work.

I have a question.

I want to know the extrinsic calibration of Velodyne VLP 16 and Bosch BMI055(built-in IMU on realsense D435i).

Since it is attached to the ground robot, so it is difficult to obtain the same motion as the Data collection procedure video.

Can I use this tool to get an extrinsic parameter with the dataset I got from moving the Ground robot?

Thanks,

Taeyoung96 avatar Jun 24 '22 12:06 Taeyoung96

I understand the problem... you cannot recover the full 6 DoF pose between the sensors if you cannot perform rotation about at-least two orthogonal axes. In your case, if you drive in a plane the best you can do is you can recover two translation and 1 rotation parameter between the axes. The other need to be tape measured or should be figured out using some other method. Can you share a picture of your setup?

SubMishMar avatar Jul 01 '22 15:07 SubMishMar

@SubMishMar
It's attached to the husky robot, and I couldn't show the robot's setup right now. :cry:
Thanks for your help.

BTW, When I run the roslaunch linkalibr linkalibr_ouster_vectornav.launch with my own dataset.
I got this error.

SUMMARY
========

CLEAR PARAMETERS
 * /ros_test_node/

PARAMETERS
 * /ros_test_node/accelerometer_noise_density: 0.1
 * /ros_test_node/accelerometer_random_walk: 0.001
 * /ros_test_node/bag_durr: -1
 * /ros_test_node/bag_start: 0.0
 * /ros_test_node/calib_extrinsics: True
 * /ros_test_node/calib_lidar_timeoffset: False
 * /ros_test_node/calib_lidarimu_dt: 0.0
 * /ros_test_node/calibration_result_velodyne_filename: /home/catkin_ws/s...
 * /ros_test_node/deskewed_scan_folder_name: /home/catkin_ws/s...
 * /ros_test_node/do_planar_update: False
 * /ros_test_node/do_undistortion: True
 * /ros_test_node/downsample_for_mapping: True
 * /ros_test_node/gen_data_for_optimization: False
 * /ros_test_node/gravity: [0.0, 0.0, 9.81]
 * /ros_test_node/gyroscope_noise_density: 0.01
 * /ros_test_node/gyroscope_random_walk: 2e-05
 * /ros_test_node/imu_measurements_filename: /home/catkin_ws/s...
 * /ros_test_node/imu_trajectory_filename: /home/catkin_ws/s...
 * /ros_test_node/init_calibration_result_velodyne_filename: /home/catkin_ws/s...
 * /ros_test_node/init_imu_thresh: 0.25
 * /ros_test_node/init_window_time: 0.5
 * /ros_test_node/lidar_trajectory_filename: /home/catkin_ws/s...
 * /ros_test_node/limit_map_size: True
 * /ros_test_node/lin_bias_filename: /home/catkin_ws/s...
 * /ros_test_node/lin_calib_dt_filename: /home/catkin_ws/s...
 * /ros_test_node/lin_calib_extrinsic_filename: /home/catkin_ws/s...
 * /ros_test_node/lin_trajectory_filename: /home/catkin_ws/s...
 * /ros_test_node/lin_velocity_filename: /home/catkin_ws/s...
 * /ros_test_node/lo_trajectory_filename: /home/catkin_ws/s...
 * /ros_test_node/max_clones: 2
 * /ros_test_node/ndt_resolution: 0.25
 * /ros_test_node/no_of_scans_for_map: 200
 * /ros_test_node/path_bag: /home/catkin_ws/s...
 * /ros_test_node/planar_points_deskewed_map_filename: /home/catkin_ws/s...
 * /ros_test_node/planar_points_raw_scans_filename: /home/catkin_ws/s...
 * /ros_test_node/plane_params_filename: /home/catkin_ws/s...
 * /ros_test_node/raw_scan_folder_name: /home/catkin_ws/s...
 * /ros_test_node/state_init_rx_noise: 0.1
 * /ros_test_node/state_init_ry_noise: 0.1
 * /ros_test_node/state_init_rz_noise: 0.1
 * /ros_test_node/state_init_timeoffset_noise: 0.01
 * /ros_test_node/state_init_x_noise: 0.5
 * /ros_test_node/state_init_y_noise: 0.5
 * /ros_test_node/state_init_z_noise: 0.5
 * /ros_test_node/surfel_map_filename: /home/catkin_ws/s...
 * /ros_test_node/topic_imu: /camera/imu
 * /ros_test_node/topic_lidar: /velodyne_points
 * /ros_test_node/updater_chi2_multiplier: 1
 * /ros_test_node/updater_do_chi2_check: False
 * /ros_test_node/updater_rotation_noise: 0.1
 * /ros_test_node/updater_translation_noise: 0.1
 * /ros_test_node/use_fej: False
 * /ros_test_node/use_imuavg: True
 * /ros_test_node/use_rk4int: True
 * /ros_test_node/view_surfel_map: True
 * /rosdistro: melodic
 * /rosversion: 1.14.13

NODES
  /
    ros_test_node (linkalibr/ros_test_node)

ROS_MASTER_URI=http://localhost:11311

WARNING: Package name "imuPacket" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits, underscores, and dashes.
process[ros_test_node-1]: started with pid [289]
[ INFO] [1656905314.652394785]: Reading General Estimator Parameters
[ INFO] [1656905314.671143998]: Reading Filter Initialization Parameters
[ INFO] [1656905314.674103560]: Reading IMU Noise Parameters
[ INFO] [1656905314.679096047]: Reading Updater Chi2 Multiplier
[ INFO] [1656905314.681942442]: Reading Rotation and Noise Update
[ INFO] [1656905314.684720351]: Reading Gravity
[ INFO] [1656905314.686208364]: Reading initial Timeoffset
[ INFO] [1656905314.687658026]: Reading NDT Resolution
[ INFO] [1656905314.689400570]: Reading Undistortion Flag
[ INFO] [1656905314.690871117]: Reading lin output file names
[ INFO] [1656905314.698841100]: Reading lo output trajectory file name
[ INFO] [1656905314.700299175]: Reading the filename to read the initial calibration result to
[ INFO] [1656905314.701118070]: Reading initial I_T_L
[ INFO] [1656905314.701166720]: Reading the filename to write the final calibration result to
[ INFO] [1656905314.701882422]: Reading the folder name to write the raw and deskewed scan
=======================================
Lidar Inertial Calibration ON-MANIFOLD EKF IS STARTING
=======================================
ESTIMATOR PARAMETERS:
	- use_fej: 0
	- use_imuavg: 1
	- use_rk4int: 1
	- do_calib_lidar_timeoffset?: 0
	- max_clone_size: 2
	- do_calib_extrinsic?: 1
	- rot_x_noise: 0.100000
	- rot_y_noise: 0.100000
	- rot_z_noise: 0.100000
	- trans_x_noise: 0.500000
	- trans_y_noise: 0.500000
	- trans_z_noise: 0.500000
	- time_offset_noise: 0.010000
	- init_window_time: 0.50
	- init_imu_thresh: 0.25
NOISE PARAMETERS:
	- gyroscope_noise white noise: 0.010000
	- accelerometer_noise white noise: 0.10000
	- gyroscope_random_walk noise: 0.0000200
	- accelerometer_random_walk noise: 0.0010000
	Updater Estimator Feats:
	- chi2 multiplier: 1
	- Noise translation: 0.100000
	- Noise rotation: 0.100000
	- Do chi2 check during update: 0
STATE PARAMETERS:
	- gravity: 0.000, 0.000, 9.810
	- calib_lidarimu_dt: 0.0000
lidar_imu_extrinsic(0:3):
0 0 0 1
lidar_imu_extrinsic(4:6):
0 0 0
LIDAR Odometry PARAMETERS:
	- ndtResolution: 0.250
Rot_cov 

0.01    0    0
   0 0.01    0
   0    0 0.01
Trans_cov 

0.25    0    0
   0 0.25    0
   0    0 0.25
[ INFO] [1656905314.726494241]: ROS BAG PATH is: /home/catkin_ws/src/linkalibr/bagfile/2022-05-31-20-08-31.bag
[ INFO] [1656905314.727888686]: bag start: 0
[ INFO] [1656905314.727924370]: bag duration: -1
[ INFO] [1656905315.629709693]: Time start = 1.654e+09
[ INFO] [1656905315.629738526]: Time end = 1.654e+09
Propagator::select_IMU_readings(): No IMU measurements.
Propagator::select_imu_readings(): No IMU measurement to propgate with (0 of 2) 
Propagator::select_imu_readings(): No IMU measurements to propagate with (1 of 2).
[ INFO] [1656905315.638317953]: No of imu measurements: 3
[InertialInitializer::initialize_with_imu] One of the windows is empty, not enough readings 
[ INFO] [1656905315.641302358]: Input point cloud size : 0
[ INFO] [1656905315.641367257]: Lidar scan no: 0
[ INFO] [1656905315.641508813]: No of lodom: 0
[ INFO] [1656905315.658680912]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] One of the windows is empty, not enough readings 
[ INFO] [1656905315.661874924]: Input point cloud size : 0
[ INFO] [1656905315.661954548]: Lidar scan no: 1
[ INFO] [1656905315.662017536]: No of lodom: 0
[ INFO] [1656905315.684441031]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] One of the windows is empty, not enough readings 
[ INFO] [1656905315.685750518]: Input point cloud size : 0
[ INFO] [1656905315.685786736]: Lidar scan no: 2
[ INFO] [1656905315.685885913]: No of lodom: 0
[ INFO] [1656905315.708131728]: No of imu measurements: 41
[InertialInitializer::initialize_with_imu] One of the windows is empty, not enough readings 
[ INFO] [1656905315.708642030]: Input point cloud size : 0
[ INFO] [1656905315.708664122]: Lidar scan no: 3
[ INFO] [1656905315.708689699]: No of lodom: 0
[ INFO] [1656905315.725856027]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] One of the windows is empty, not enough readings 
[ INFO] [1656905315.726210398]: Input point cloud size : 0
[ INFO] [1656905315.726225196]: Lidar scan no: 4
[ INFO] [1656905315.726263737]: No of lodom: 0
[ INFO] [1656905315.742937522]: No of imu measurements: 41
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0015 < 0.2500
[ INFO] [1656905315.743252049]: Input point cloud size : 0
[ INFO] [1656905315.743264439]: Lidar scan no: 5
[ INFO] [1656905315.743279103]: No of lodom: 0
[ INFO] [1656905315.761795155]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0012 < 0.2500
[ INFO] [1656905315.762113598]: Input point cloud size : 0
[ INFO] [1656905315.762127028]: Lidar scan no: 6
[ INFO] [1656905315.762145174]: No of lodom: 0
[ INFO] [1656905315.781754097]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0010 < 0.2500
[ INFO] [1656905315.782099425]: Input point cloud size : 0
[ INFO] [1656905315.782111453]: Lidar scan no: 7
[ INFO] [1656905315.782161995]: No of lodom: 0
[ INFO] [1656905315.835650958]: No of imu measurements: 41
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0009 < 0.2500
[ INFO] [1656905315.836178220]: Input point cloud size : 0
[ INFO] [1656905315.836199715]: Lidar scan no: 8
[ INFO] [1656905315.836225280]: No of lodom: 0
[ INFO] [1656905315.861863893]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0008 < 0.2500
[ INFO] [1656905315.862339532]: Input point cloud size : 0
[ INFO] [1656905315.862379562]: Lidar scan no: 9
[ INFO] [1656905315.862397602]: No of lodom: 0
[ INFO] [1656905315.887346669]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0008 < 0.2500
[ INFO] [1656905315.888047651]: Input point cloud size : 0
[ INFO] [1656905315.888066133]: Lidar scan no: 10
[ INFO] [1656905315.888084162]: No of lodom: 0
[ INFO] [1656905315.914224734]: No of imu measurements: 41
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0008 < 0.2500
[ INFO] [1656905315.914664874]: Input point cloud size : 0
[ INFO] [1656905315.914692340]: Lidar scan no: 11
[ INFO] [1656905315.914710497]: No of lodom: 0
[ INFO] [1656905315.943755968]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0007 < 0.2500
[ INFO] [1656905315.944239575]: Input point cloud size : 0
[ INFO] [1656905315.944267568]: Lidar scan no: 12
[ INFO] [1656905315.944284792]: No of lodom: 0
[ INFO] [1656905315.974399044]: No of imu measurements: 41
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0007 < 0.2500
[ INFO] [1656905315.974970334]: Input point cloud size : 0
[ INFO] [1656905315.974996712]: Lidar scan no: 13
[ INFO] [1656905315.975028849]: No of lodom: 0
[ INFO] [1656905316.005782140]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0008 < 0.2500
[ INFO] [1656905316.006211191]: Input point cloud size : 0
[ INFO] [1656905316.006226119]: Lidar scan no: 14
[ INFO] [1656905316.006277475]: No of lodom: 0
[ INFO] [1656905316.050017370]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0008 < 0.2500
[ INFO] [1656905316.050484684]: Input point cloud size : 0
[ INFO] [1656905316.050523066]: Lidar scan no: 15
[ INFO] [1656905316.050539218]: No of lodom: 0
[ INFO] [1656905316.096254468]: No of imu measurements: 41
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0007 < 0.2500
[ INFO] [1656905316.096723616]: Input point cloud size : 0
[ INFO] [1656905316.096764255]: Lidar scan no: 16
[ INFO] [1656905316.096779189]: No of lodom: 0
[ INFO] [1656905316.144096420]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0008 < 0.2500
[ INFO] [1656905316.144538680]: Input point cloud size : 0
[ INFO] [1656905316.144550018]: Lidar scan no: 17
[ INFO] [1656905316.144582841]: No of lodom: 0
[ INFO] [1656905316.183116916]: No of imu measurements: 41
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0008 < 0.2500
[ INFO] [1656905316.183587407]: Input point cloud size : 0
[ INFO] [1656905316.183601362]: Lidar scan no: 18
[ INFO] [1656905316.183631155]: No of lodom: 0
[ INFO] [1656905316.223758893]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0007 < 0.2500
[ INFO] [1656905316.224273936]: Input point cloud size : 0
[ INFO] [1656905316.224314698]: Lidar scan no: 19
[ INFO] [1656905316.224331906]: No of lodom: 0
[ INFO] [1656905316.266117347]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0007 < 0.2500
[ INFO] [1656905316.266645468]: Input point cloud size : 0
[ INFO] [1656905316.266660097]: Lidar scan no: 20
[ INFO] [1656905316.266678427]: No of lodom: 0
[ INFO] [1656905316.309554409]: No of imu measurements: 41
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0007 < 0.2500
[ INFO] [1656905316.310040867]: Input point cloud size : 0
[ INFO] [1656905316.310080100]: Lidar scan no: 21
[ INFO] [1656905316.310125413]: No of lodom: 0
[ INFO] [1656905316.357894729]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0007 < 0.2500
[ INFO] [1656905316.358429064]: Input point cloud size : 0
[ INFO] [1656905316.358441382]: Lidar scan no: 22
[ INFO] [1656905316.358518605]: No of lodom: 0
[ INFO] [1656905316.406761884]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0007 < 0.2500
[ INFO] [1656905316.407310807]: Input point cloud size : 0
[ INFO] [1656905316.407321980]: Lidar scan no: 23
[ INFO] [1656905316.407362975]: No of lodom: 0
[ INFO] [1656905316.459818907]: No of imu measurements: 41
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0007 < 0.2500
[ INFO] [1656905316.460330329]: Input point cloud size : 0
[ INFO] [1656905316.460355809]: Lidar scan no: 24
[ INFO] [1656905316.460484992]: No of lodom: 0
[ INFO] [1656905316.510322219]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Initialization done!!!!
terminate called after throwing an instance of 'pcl::IsNotDenseException'
  what():  : Can't use 2D indexing with a unorganized point cloud
================================================================================REQUIRED process [ros_test_node-1] has died!
process has died [pid 289, exit code -6, cmd /home/catkin_ws/devel/lib/linkalibr/ros_test_node __name:=ros_test_node __log:=/root/.ros/log/e4b51258-f792-11ec-b3fc-3497f6927eaa/ros_test_node-1.log].
log file: /root/.ros/log/e4b51258-f792-11ec-b3fc-3497f6927eaa/ros_test_node-1*.log
Initiating shutdown!
================================================================================
[ros_test_node-1] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done

I put in the initial value I_T_L_init.txt and I matched all the paths with my custom dataset and executed it.
I use Velodyne VLP 16 and Bosch BMI055(built-in IMU on realsense D435i).
The problem is I couldn't get LiDAR odometry with Velodyne VLP 16.
I'd appreciate your help.

Thanks,

Taeyoung96 avatar Jul 04 '22 03:07 Taeyoung96

@Taeyoung96 I encountered the same problem. How did you solve it?

huanghqc avatar Jul 04 '22 11:07 huanghqc

@huanghqc
Hi, I haven't solved it yet. :cry:

Taeyoung96 avatar Jul 04 '22 12:07 Taeyoung96

@huanghqc 嗨,我还没有解决它。😢

@Taeyoung96 你解决了吗

huanghqc avatar Jul 19 '22 02:07 huanghqc

@huanghqc I didn't solve it, so I use another tool

Taeyoung96 avatar Jul 19 '22 04:07 Taeyoung96

@huanghqc我没有解决它,所以我使用另一个工具

这个工具好像只能标定旋转矩阵,并不能标定平移矩阵

huanghqc avatar Jul 19 '22 04:07 huanghqc

@huanghqc
Yes, You are right. The translation vector has not been found accurately yet. :cry:

Taeyoung96 avatar Jul 19 '22 06:07 Taeyoung96

@Taeyoung96 have you able to find translation vector?

arjunskumar avatar Aug 16 '22 08:08 arjunskumar

@arjunskumar Unfortunately, In the case of the translation vector, I got it by manual.
I looked directly at the sensor attached to the robot and calculated for it.

Taeyoung96 avatar Aug 16 '22 09:08 Taeyoung96

@Taeyoung96 thanks, for the rotation matrix, you used which package?

arjunskumar avatar Aug 16 '22 10:08 arjunskumar

@arjunskumar I mentioned above, I use this tool! :smile:

Taeyoung96 avatar Aug 16 '22 11:08 Taeyoung96

@SubMishMar It's attached to the husky robot, and I couldn't show the robot's setup right now.cry Thanks for your help.

BTW, When I run the roslaunch linkalibr linkalibr_ouster_vectornav.launch with my own dataset. I got this error.

SUMMARY
========

CLEAR PARAMETERS
 * /ros_test_node/

PARAMETERS
 * /ros_test_node/accelerometer_noise_density: 0.1
 * /ros_test_node/accelerometer_random_walk: 0.001
 * /ros_test_node/bag_durr: -1
 * /ros_test_node/bag_start: 0.0
 * /ros_test_node/calib_extrinsics: True
 * /ros_test_node/calib_lidar_timeoffset: False
 * /ros_test_node/calib_lidarimu_dt: 0.0
 * /ros_test_node/calibration_result_velodyne_filename: /home/catkin_ws/s...
 * /ros_test_node/deskewed_scan_folder_name: /home/catkin_ws/s...
 * /ros_test_node/do_planar_update: False
 * /ros_test_node/do_undistortion: True
 * /ros_test_node/downsample_for_mapping: True
 * /ros_test_node/gen_data_for_optimization: False
 * /ros_test_node/gravity: [0.0, 0.0, 9.81]
 * /ros_test_node/gyroscope_noise_density: 0.01
 * /ros_test_node/gyroscope_random_walk: 2e-05
 * /ros_test_node/imu_measurements_filename: /home/catkin_ws/s...
 * /ros_test_node/imu_trajectory_filename: /home/catkin_ws/s...
 * /ros_test_node/init_calibration_result_velodyne_filename: /home/catkin_ws/s...
 * /ros_test_node/init_imu_thresh: 0.25
 * /ros_test_node/init_window_time: 0.5
 * /ros_test_node/lidar_trajectory_filename: /home/catkin_ws/s...
 * /ros_test_node/limit_map_size: True
 * /ros_test_node/lin_bias_filename: /home/catkin_ws/s...
 * /ros_test_node/lin_calib_dt_filename: /home/catkin_ws/s...
 * /ros_test_node/lin_calib_extrinsic_filename: /home/catkin_ws/s...
 * /ros_test_node/lin_trajectory_filename: /home/catkin_ws/s...
 * /ros_test_node/lin_velocity_filename: /home/catkin_ws/s...
 * /ros_test_node/lo_trajectory_filename: /home/catkin_ws/s...
 * /ros_test_node/max_clones: 2
 * /ros_test_node/ndt_resolution: 0.25
 * /ros_test_node/no_of_scans_for_map: 200
 * /ros_test_node/path_bag: /home/catkin_ws/s...
 * /ros_test_node/planar_points_deskewed_map_filename: /home/catkin_ws/s...
 * /ros_test_node/planar_points_raw_scans_filename: /home/catkin_ws/s...
 * /ros_test_node/plane_params_filename: /home/catkin_ws/s...
 * /ros_test_node/raw_scan_folder_name: /home/catkin_ws/s...
 * /ros_test_node/state_init_rx_noise: 0.1
 * /ros_test_node/state_init_ry_noise: 0.1
 * /ros_test_node/state_init_rz_noise: 0.1
 * /ros_test_node/state_init_timeoffset_noise: 0.01
 * /ros_test_node/state_init_x_noise: 0.5
 * /ros_test_node/state_init_y_noise: 0.5
 * /ros_test_node/state_init_z_noise: 0.5
 * /ros_test_node/surfel_map_filename: /home/catkin_ws/s...
 * /ros_test_node/topic_imu: /camera/imu
 * /ros_test_node/topic_lidar: /velodyne_points
 * /ros_test_node/updater_chi2_multiplier: 1
 * /ros_test_node/updater_do_chi2_check: False
 * /ros_test_node/updater_rotation_noise: 0.1
 * /ros_test_node/updater_translation_noise: 0.1
 * /ros_test_node/use_fej: False
 * /ros_test_node/use_imuavg: True
 * /ros_test_node/use_rk4int: True
 * /ros_test_node/view_surfel_map: True
 * /rosdistro: melodic
 * /rosversion: 1.14.13

NODES
  /
    ros_test_node (linkalibr/ros_test_node)

ROS_MASTER_URI=http://localhost:11311

WARNING: Package name "imuPacket" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits, underscores, and dashes.
process[ros_test_node-1]: started with pid [289]
[ INFO] [1656905314.652394785]: Reading General Estimator Parameters
[ INFO] [1656905314.671143998]: Reading Filter Initialization Parameters
[ INFO] [1656905314.674103560]: Reading IMU Noise Parameters
[ INFO] [1656905314.679096047]: Reading Updater Chi2 Multiplier
[ INFO] [1656905314.681942442]: Reading Rotation and Noise Update
[ INFO] [1656905314.684720351]: Reading Gravity
[ INFO] [1656905314.686208364]: Reading initial Timeoffset
[ INFO] [1656905314.687658026]: Reading NDT Resolution
[ INFO] [1656905314.689400570]: Reading Undistortion Flag
[ INFO] [1656905314.690871117]: Reading lin output file names
[ INFO] [1656905314.698841100]: Reading lo output trajectory file name
[ INFO] [1656905314.700299175]: Reading the filename to read the initial calibration result to
[ INFO] [1656905314.701118070]: Reading initial I_T_L
[ INFO] [1656905314.701166720]: Reading the filename to write the final calibration result to
[ INFO] [1656905314.701882422]: Reading the folder name to write the raw and deskewed scan
=======================================
Lidar Inertial Calibration ON-MANIFOLD EKF IS STARTING
=======================================
ESTIMATOR PARAMETERS:
	- use_fej: 0
	- use_imuavg: 1
	- use_rk4int: 1
	- do_calib_lidar_timeoffset?: 0
	- max_clone_size: 2
	- do_calib_extrinsic?: 1
	- rot_x_noise: 0.100000
	- rot_y_noise: 0.100000
	- rot_z_noise: 0.100000
	- trans_x_noise: 0.500000
	- trans_y_noise: 0.500000
	- trans_z_noise: 0.500000
	- time_offset_noise: 0.010000
	- init_window_time: 0.50
	- init_imu_thresh: 0.25
NOISE PARAMETERS:
	- gyroscope_noise white noise: 0.010000
	- accelerometer_noise white noise: 0.10000
	- gyroscope_random_walk noise: 0.0000200
	- accelerometer_random_walk noise: 0.0010000
	Updater Estimator Feats:
	- chi2 multiplier: 1
	- Noise translation: 0.100000
	- Noise rotation: 0.100000
	- Do chi2 check during update: 0
STATE PARAMETERS:
	- gravity: 0.000, 0.000, 9.810
	- calib_lidarimu_dt: 0.0000
lidar_imu_extrinsic(0:3):
0 0 0 1
lidar_imu_extrinsic(4:6):
0 0 0
LIDAR Odometry PARAMETERS:
	- ndtResolution: 0.250
Rot_cov 

0.01    0    0
   0 0.01    0
   0    0 0.01
Trans_cov 

0.25    0    0
   0 0.25    0
   0    0 0.25
[ INFO] [1656905314.726494241]: ROS BAG PATH is: /home/catkin_ws/src/linkalibr/bagfile/2022-05-31-20-08-31.bag
[ INFO] [1656905314.727888686]: bag start: 0
[ INFO] [1656905314.727924370]: bag duration: -1
[ INFO] [1656905315.629709693]: Time start = 1.654e+09
[ INFO] [1656905315.629738526]: Time end = 1.654e+09
Propagator::select_IMU_readings(): No IMU measurements.
Propagator::select_imu_readings(): No IMU measurement to propgate with (0 of 2) 
Propagator::select_imu_readings(): No IMU measurements to propagate with (1 of 2).
[ INFO] [1656905315.638317953]: No of imu measurements: 3
[InertialInitializer::initialize_with_imu] One of the windows is empty, not enough readings 
[ INFO] [1656905315.641302358]: Input point cloud size : 0
[ INFO] [1656905315.641367257]: Lidar scan no: 0
[ INFO] [1656905315.641508813]: No of lodom: 0
[ INFO] [1656905315.658680912]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] One of the windows is empty, not enough readings 
[ INFO] [1656905315.661874924]: Input point cloud size : 0
[ INFO] [1656905315.661954548]: Lidar scan no: 1
[ INFO] [1656905315.662017536]: No of lodom: 0
[ INFO] [1656905315.684441031]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] One of the windows is empty, not enough readings 
[ INFO] [1656905315.685750518]: Input point cloud size : 0
[ INFO] [1656905315.685786736]: Lidar scan no: 2
[ INFO] [1656905315.685885913]: No of lodom: 0
[ INFO] [1656905315.708131728]: No of imu measurements: 41
[InertialInitializer::initialize_with_imu] One of the windows is empty, not enough readings 
[ INFO] [1656905315.708642030]: Input point cloud size : 0
[ INFO] [1656905315.708664122]: Lidar scan no: 3
[ INFO] [1656905315.708689699]: No of lodom: 0
[ INFO] [1656905315.725856027]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] One of the windows is empty, not enough readings 
[ INFO] [1656905315.726210398]: Input point cloud size : 0
[ INFO] [1656905315.726225196]: Lidar scan no: 4
[ INFO] [1656905315.726263737]: No of lodom: 0
[ INFO] [1656905315.742937522]: No of imu measurements: 41
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0015 < 0.2500
[ INFO] [1656905315.743252049]: Input point cloud size : 0
[ INFO] [1656905315.743264439]: Lidar scan no: 5
[ INFO] [1656905315.743279103]: No of lodom: 0
[ INFO] [1656905315.761795155]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0012 < 0.2500
[ INFO] [1656905315.762113598]: Input point cloud size : 0
[ INFO] [1656905315.762127028]: Lidar scan no: 6
[ INFO] [1656905315.762145174]: No of lodom: 0
[ INFO] [1656905315.781754097]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0010 < 0.2500
[ INFO] [1656905315.782099425]: Input point cloud size : 0
[ INFO] [1656905315.782111453]: Lidar scan no: 7
[ INFO] [1656905315.782161995]: No of lodom: 0
[ INFO] [1656905315.835650958]: No of imu measurements: 41
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0009 < 0.2500
[ INFO] [1656905315.836178220]: Input point cloud size : 0
[ INFO] [1656905315.836199715]: Lidar scan no: 8
[ INFO] [1656905315.836225280]: No of lodom: 0
[ INFO] [1656905315.861863893]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0008 < 0.2500
[ INFO] [1656905315.862339532]: Input point cloud size : 0
[ INFO] [1656905315.862379562]: Lidar scan no: 9
[ INFO] [1656905315.862397602]: No of lodom: 0
[ INFO] [1656905315.887346669]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0008 < 0.2500
[ INFO] [1656905315.888047651]: Input point cloud size : 0
[ INFO] [1656905315.888066133]: Lidar scan no: 10
[ INFO] [1656905315.888084162]: No of lodom: 0
[ INFO] [1656905315.914224734]: No of imu measurements: 41
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0008 < 0.2500
[ INFO] [1656905315.914664874]: Input point cloud size : 0
[ INFO] [1656905315.914692340]: Lidar scan no: 11
[ INFO] [1656905315.914710497]: No of lodom: 0
[ INFO] [1656905315.943755968]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0007 < 0.2500
[ INFO] [1656905315.944239575]: Input point cloud size : 0
[ INFO] [1656905315.944267568]: Lidar scan no: 12
[ INFO] [1656905315.944284792]: No of lodom: 0
[ INFO] [1656905315.974399044]: No of imu measurements: 41
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0007 < 0.2500
[ INFO] [1656905315.974970334]: Input point cloud size : 0
[ INFO] [1656905315.974996712]: Lidar scan no: 13
[ INFO] [1656905315.975028849]: No of lodom: 0
[ INFO] [1656905316.005782140]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0008 < 0.2500
[ INFO] [1656905316.006211191]: Input point cloud size : 0
[ INFO] [1656905316.006226119]: Lidar scan no: 14
[ INFO] [1656905316.006277475]: No of lodom: 0
[ INFO] [1656905316.050017370]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0008 < 0.2500
[ INFO] [1656905316.050484684]: Input point cloud size : 0
[ INFO] [1656905316.050523066]: Lidar scan no: 15
[ INFO] [1656905316.050539218]: No of lodom: 0
[ INFO] [1656905316.096254468]: No of imu measurements: 41
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0007 < 0.2500
[ INFO] [1656905316.096723616]: Input point cloud size : 0
[ INFO] [1656905316.096764255]: Lidar scan no: 16
[ INFO] [1656905316.096779189]: No of lodom: 0
[ INFO] [1656905316.144096420]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0008 < 0.2500
[ INFO] [1656905316.144538680]: Input point cloud size : 0
[ INFO] [1656905316.144550018]: Lidar scan no: 17
[ INFO] [1656905316.144582841]: No of lodom: 0
[ INFO] [1656905316.183116916]: No of imu measurements: 41
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0008 < 0.2500
[ INFO] [1656905316.183587407]: Input point cloud size : 0
[ INFO] [1656905316.183601362]: Lidar scan no: 18
[ INFO] [1656905316.183631155]: No of lodom: 0
[ INFO] [1656905316.223758893]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0007 < 0.2500
[ INFO] [1656905316.224273936]: Input point cloud size : 0
[ INFO] [1656905316.224314698]: Lidar scan no: 19
[ INFO] [1656905316.224331906]: No of lodom: 0
[ INFO] [1656905316.266117347]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0007 < 0.2500
[ INFO] [1656905316.266645468]: Input point cloud size : 0
[ INFO] [1656905316.266660097]: Lidar scan no: 20
[ INFO] [1656905316.266678427]: No of lodom: 0
[ INFO] [1656905316.309554409]: No of imu measurements: 41
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0007 < 0.2500
[ INFO] [1656905316.310040867]: Input point cloud size : 0
[ INFO] [1656905316.310080100]: Lidar scan no: 21
[ INFO] [1656905316.310125413]: No of lodom: 0
[ INFO] [1656905316.357894729]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0007 < 0.2500
[ INFO] [1656905316.358429064]: Input point cloud size : 0
[ INFO] [1656905316.358441382]: Lidar scan no: 22
[ INFO] [1656905316.358518605]: No of lodom: 0
[ INFO] [1656905316.406761884]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0007 < 0.2500
[ INFO] [1656905316.407310807]: Input point cloud size : 0
[ INFO] [1656905316.407321980]: Lidar scan no: 23
[ INFO] [1656905316.407362975]: No of lodom: 0
[ INFO] [1656905316.459818907]: No of imu measurements: 41
[InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0007 < 0.2500
[ INFO] [1656905316.460330329]: Input point cloud size : 0
[ INFO] [1656905316.460355809]: Lidar scan no: 24
[ INFO] [1656905316.460484992]: No of lodom: 0
[ INFO] [1656905316.510322219]: No of imu measurements: 40
[InertialInitializer::initialize_with_imu] Initialization done!!!!
terminate called after throwing an instance of 'pcl::IsNotDenseException'
  what():  : Can't use 2D indexing with a unorganized point cloud
================================================================================REQUIRED process [ros_test_node-1] has died!
process has died [pid 289, exit code -6, cmd /home/catkin_ws/devel/lib/linkalibr/ros_test_node __name:=ros_test_node __log:=/root/.ros/log/e4b51258-f792-11ec-b3fc-3497f6927eaa/ros_test_node-1.log].
log file: /root/.ros/log/e4b51258-f792-11ec-b3fc-3497f6927eaa/ros_test_node-1*.log
Initiating shutdown!
================================================================================
[ros_test_node-1] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done

I put in the initial value I_T_L_init.txt and I matched all the paths with my custom dataset and executed it. I use Velodyne VLP 16 and Bosch BMI055(built-in IMU on realsense D435i). The problem is I couldn't get LiDAR odometry with Velodyne VLP 16. I'd appreciate your help.

Thanks,

I am having similar problem with Velodyne 16

If you have any solution... please share

[ INFO] [1676007320.087536270]: Time start = 1.67584e+09 [ INFO] [1676007320.087550987]: Time end = 1.67584e+09 Propagator::select_IMU_readings(): No IMU measurements. Propagator::select_imu_readings(): No IMU measurement to propgate with (0 of 2) [ INFO] [1676007320.088277752]: No of imu measurements: 2 Failed to find match for field 't'. [InertialInitializer::initialize_with_imu] One of the windows is empty, not enough readings [ INFO] [1676007320.088748826]: Lidar scan no: 0 [ INFO] [1676007320.088770116]: No of lodom: 0 Propagator::select_imu_readings(): No IMU measurements to propagate with (1 of 2). [ INFO] [1676007320.089149218]: No of imu measurements: 11 Failed to find match for field 't'. [InertialInitializer::initialize_with_imu] One of the windows is empty, not enough readings [ INFO] [1676007320.089447328]: Lidar scan no: 1 [ INFO] [1676007320.089459882]: No of lodom: 0 [ INFO] [1676007320.089643226]: No of imu measurements: 11 Failed to find match for field 't'. [InertialInitializer::initialize_with_imu] One of the windows is empty, not enough readings [ INFO] [1676007320.089944301]: Lidar scan no: 2 [ INFO] [1676007320.089951645]: No of lodom: 0 [ INFO] [1676007320.090369560]: No of imu measurements: 9 Failed to find match for field 't'. [InertialInitializer::initialize_with_imu] One of the windows is empty, not enough readings [ INFO] [1676007320.090645358]: Lidar scan no: 3 [ INFO] [1676007320.090653222]: No of lodom: 0 [ INFO] [1676007320.091115180]: No of imu measurements: 9 Failed to find match for field 't'. [InertialInitializer::initialize_with_imu] One of the windows is empty, not enough readings [ INFO] [1676007320.091388473]: Lidar scan no: 4 [ INFO] [1676007320.091396218]: No of lodom: 0 [ INFO] [1676007320.091837927]: No of imu measurements: 10 Failed to find match for field 't'. [InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0021 < 0.2000 [ INFO] [1676007320.092113354]: Lidar scan no: 5 [ INFO] [1676007320.092120959]: No of lodom: 0 [ INFO] [1676007320.092796046]: No of imu measurements: 12 Failed to find match for field 't'. [InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0022 < 0.2000 [ INFO] [1676007320.093071233]: Lidar scan no: 6 [ INFO] [1676007320.093082003]: No of lodom: 0 [ INFO] [1676007320.093734378]: No of imu measurements: 9 Failed to find match for field 't'. [InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0022 < 0.2000 [ INFO] [1676007320.094170527]: Lidar scan no: 7 [ INFO] [1676007320.094179745]: No of lodom: 0 [ INFO] [1676007320.094768049]: No of imu measurements: 10 Failed to find match for field 't'. [InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0020 < 0.2000 [ INFO] [1676007320.094987031]: Lidar scan no: 8 [ INFO] [1676007320.094994214]: No of lodom: 0 [ INFO] [1676007320.095711130]: No of imu measurements: 10 Failed to find match for field 't'. [InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0018 < 0.2000 [ INFO] [1676007320.095928108]: Lidar scan no: 9 [ INFO] [1676007320.095935121]: No of lodom: 0 [ INFO] [1676007320.096769638]: No of imu measurements: 10 Failed to find match for field 't'. [InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0017 < 0.2000 [ INFO] [1676007320.096986665]: Lidar scan no: 10 [ INFO] [1676007320.096993779]: No of lodom: 0 [ INFO] [1676007320.097789012]: No of imu measurements: 10 Failed to find match for field 't'. [InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0017 < 0.2000 [ INFO] [1676007320.098006560]: Lidar scan no: 11 [ INFO] [1676007320.098013153]: No of lodom: 0 [ INFO] [1676007320.098940323]: No of imu measurements: 10 Failed to find match for field 't'. [InertialInitializer::initialize_with_imu] Not enough IMU excitation, below threshold 0.0095 < 0.2000 [ INFO] [1676007320.099154866]: Lidar scan no: 12 [ INFO] [1676007320.099161529]: No of lodom: 0 [ INFO] [1676007320.100221549]: No of imu measurements: 10 Failed to find match for field 't'. [InertialInitializer::initialize_with_imu] Initialization done!!!! terminate called after throwing an instance of 'pcl::IsNotDenseException' what(): : Can't use 2D indexing with a unorganized point cloud ================================================================================REQUIRED process [ros_test_node-1] has died! process has died [pid 11649, exit code -6, cmd /home/a/target_free_imu_lidar/devel/lib/linkalibr/ros_test_node __name:=ros_test_node __log:=/home/a/.ros/log/cf850076-a8f6-11ed-80d5-88aedd1681ad/ros_test_node-1.log]. log file: /home/a/.ros/log/cf850076-a8f6-11ed-80d5-88aedd1681ad/ros_test_node-1*.log Initiating shutdown!

[ros_test_node-1] killing on exit shutting down processing monitor... ... shutting down processing monitor complete done

narayanlongani avatar Feb 10 '23 05:02 narayanlongani