Livox-SDK / Livox_automatic_calibration

An automatic calibration algorithm for livox LiDAR
Other
233 stars 61 forks source link

terminate called after throwing an instance of 'std::length_error' what(): vector::reserve #7

Closed Q3B0 closed 3 years ago

Q3B0 commented 3 years ago

Start building local map... Loaded 1182 frames from Base-LiDAR 100% [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||] Saving submap... Mapping done! Start calibration... Reading H-LiDAR map data... Loaded 1085713 data points from H_LiDAR_Map.pcd Loaded 1182 frames from Target-LiDAR 0% [ ]terminate called after throwing an instance of 'std::length_error' what(): vector::reserve Aborted (core dumped) Read 1 data

RANSAC Result (x,y,z,roll,pitch,yaw): 2.52813e-320, 6.91513e-310, 6.91513e-310, 4.02248e-315, 6.95319e-310, 6.28513e-317

Result Matrix: 1 -6.28513e-317 6.95319e-310 2.52813e-320 6.28513e-317 1 -4.02248e-315 6.91513e-310 -6.95319e-310 4.02248e-315 1 6.91513e-310 0 0 0 1

Livox-SDK commented 3 years ago

Hi Q3B0, Please check the length of data

sicong-li commented 2 years ago

@Q3B0 Hi How do you solve this problem?

iweigele commented 2 years ago

@Q3B0 "The function throws length_error if n is greater than [max_size]"(https://www.cplusplus.com/vector::max_size). So check the number of elements you are trying to reserve. Note that max_size() is a vector method.

charlietorf commented 1 year ago

I am getting the same error using the examples without modifying anything. Can you be more precise with the error's source? Should I try the example with less data, less .pcd files?. I tried it with just 11 frames but the result is the #same.

algorithmsummer commented 1 year ago

https://github.com/PointCloudLibrary/pcl/pull/4017/commits/2bde1ec950ca8a14c92ac7b50aad1c66b216eac7