ethz-asl / lidar_align

A simple method for finding the extrinsic calibration between a 3D lidar and a 6-dof pose sensor
803 stars 263 forks source link

How are the results for calibrating sensors mounted to cars #38

Open RichardYann opened 1 year ago

RichardYann commented 1 year ago

The NOTE at the beginning said, "Accurate results require highly non-planar motions, this makes the technique poorly suited for calibrating sensors mounted to cars."

Anyone used this tool on calibrating sensors on cars?

How are the results?

dezhi-l commented 1 year ago
  1. Pole and sign after multiple scans of the vehicle 1677737772692 pole_rtk pole

  2. Mapping

kq_mapping otherrjpg

RichardYann commented 1 year ago

@dezhi-l Well, thank you so much!

ry4nzhu commented 1 year ago

Hi, I am wondering what is the configuration setup for getting the lidar-imu calibration accuracy you mentioned for autonomous vehicles. Are you using the default parameters?

dezhi-l commented 1 year ago

Most of the parameters just use the default parameters. I have pasted my parameters below, and it should be noted:

  1. the cloud rosbag needs to contain loopback data, so as to ensure that the position(x y) and attitude(y p r) of each dimension are constrained,and the calibration accuracy will be better.
  2. Both global optimization and local optimization can be used for calibration,and two different calibration methods, the optimized parameters ​​are almost the same. You just need to pay attention to the following two parameters, and set them as large as possible. @ry4nzhu
    • translation_range ( Search range around the inital_guess during the local optimization stage. ps: If you are using global optimization, the inital_guess are zero )
    • local_knn_max_dist && global_knn_max_dist (Error between points is limited to this value during global optimization.)

launch file <?xml version="1.0" encoding="UTF-8"?>

$(arg inital_guess)
ry4nzhu commented 1 year ago

Thanks a lot for your quick response! I really appreciate it.

I got [lidar_align-2] process has died [pid 23830, exit code -9, cmd /home/ryanzhu/lidar_pose_align/devel/lib/lidar_align/lidar_align_node __name:=lidar_align __log:=/home/ryanzhu/.ros/log/a5456592-1af4-11ee-8eaf-9905337355e7/lidar_align-2.log]. for setting the parameter "keep_points_ratio" any number larger than 0.01. Have you encountered this error before?

dezhi-l commented 1 year ago

sorry, I haven't encountered this issues before. but i think that the node died because the ram is full. You can open system monitor to observe the memory usage @ry4nzhu

ry4nzhu commented 1 year ago

Thanks @dezhi-l. Just one quick follow-up question, in your previous note, you mentioned that the cloud rosbag needs to contain loopback data. Does that mean the vehicle trajectory needs to be circular (i.e. it re-enters its beginning location to form a close loop)?

dezhi-l commented 1 year ago

yes, you are right. the vehicle trajectory needs to be circular. @ry4nzhu I pasted the trajectory example below image

huangwefeng121 commented 11 months ago

你好,你的数据是lidar和纯imu的标定吗,loader.cpp代码中odom坐标系是通过imu积分得到的吗,如果是,积分得到的漂移会不会很大?期待你的回复

dezhi-l commented 11 months ago

我用的是车载组合导航(rtk)和雷达之间的标定,没有用imu做积分。 如果是imu-lidar标定的话,绕8字imu积分误差估计会很大,标定精度无法保证 @huangwefeng121