gogojjh / M-LOAM

Robust Odometry and Mapping for Multi-LiDAR Systems with Online Extrinsic Calibration
http://gofile.me/4jm56/zU2yvg3bH
473 stars 88 forks source link

calTimestamp function in feature_extract.cpp #25

Open minwoo0611 opened 2 years ago

minwoo0611 commented 2 years ago

Thanks to your project, M-LOAM. I am really interested in your paper and code, so I studied your code narrowly.

Firstly, I have a question about calTimestamp function in feature_extract.cpp which calculates rel_time.

When I tested your code with SR2 sequence, it shows various values whose sign are minus and plus. Also, it does not show continuous rel_time. For example, SR2 sequence's start_ori and end_ori are pi and 3pi(-pi+2pi+2pi). Because atan2 is utilized to measure the angle, ori gets value from -pi to pi.

1) When the value is between pi and pi/2, rel_time has a minus value because there is no change in the value of ori. 2) For values ​​between pi/2 and 0, ori is smaller than start_ori by pi/2, 2pi is added, and half_passed is passed. This translates to a range between 5pi/2 and 2pi to calculate rel_time. 3) When it has a value between 0 and -pi/2, 2pi is added and converted to a value between 2pi and 3/2pi to calculate rel_time. 4) Values ​​between -pi/2 and -pi are converted to values ​​between 3/2pi and pi by adding 2pi. Also, since it is more than 3/2pi less than end_ori, it converts to a value between 7/2pi and 3pi. At this time, rel_time is calculated.

The calculated rel_time is discontinuous, producing values ​​greater than SCAN_PERIOD or negative values.

Q1) Can you explain exactly the criteria for calculating rel_time?

Second, After the calculation of rel_time, it is injected to intensity filed. However, this intensity filed is utilized to save row_index by merging in image_segment function.

Q2) Is row_index is related with rel_time?

I'm looking forward to receiving your answer.

Thank you.