PJLab-ADG / SensorsCalibration

OpenCalib: A Multi-sensor Calibration Toolbox for Autonomous Driving
Apache License 2.0
2.29k stars 545 forks source link

SensorX2Car calib yaw with Segmentation fault #73

Closed lyw615 closed 1 year ago

lyw615 commented 1 year ago

Environment: xiaokyan/opencalib:v1 and scllovewkf/opencalib:v1

Following the readMe to operate , and the program calculates roll and pitch successfully with the example lidar data. The program break down at the line BSpline bspline_x = BSpline::Builder(sample_x).degree(bspine_degree_).smoothing(BSpline::Smoothing::PSPLINE).alpha(0.03).build(); of function GetYawSegs. The debug information as followings. Any reply is appreciated.

` BSpline bspline_x = BSpline::Builder(sample_x).degree(bspinedegree).smoothing(BSpline::Smoothing::PSPLINE).alpha(0.03).build(); (gdb) n

Thread 1 "run_lidar2car" received signal SIGSEGV, Segmentation fault. 0x0000000001c298b9 in Eigen::SparseCompressedBase<Eigen::SparseMatrix<double, 0, int> >::InnerIterator::InnerIterator (this=0x7fff49359340, mat=..., outer=0) at /usr/include/eigen3/Eigen/src/SparseCore/SparseCompressedBase.h:120 120 m_id = mat.outerIndexPtr()[outer]; `

sisyphus-99 commented 1 year ago

It may be because the integrated SLAM algorithm(FAST-LOAM) doesn't run well. Could you see the trajectory image in the output folder to check if the x-y trajectory is right ?

lyw615 commented 1 year ago

It may be because the integrated SLAM algorithm(FAST-LOAM) doesn't run well. Could you see the trajectory image in the output folder to check if the x-y trajectory is right ?

The program break down with the example data offered in readme. I have checked the x-y trajectory is right. It's same as trajectory in demo picture.

sisyphus-99 commented 1 year ago

Sorry but we haven't met this error before. It looks to be related to the SPLINTER library. Here is an example provided by the library: https://github.com/bgrimstad/splinter/blob/master/docs/cpp_interface.md Maybe you can test it first to see if the library works well.

lyw615 commented 1 year ago

Before compiling run_lidar2car, SPLINTER should be compiled and set .so file to lib directory.

lyw615 commented 1 year ago

Before compiling run_lidar2car, SPLINTER should be compiled and set .so file to lib directory.

pangkaka2010 commented 1 year ago

Before compiling run_lidar2car, SPLINTER should be compiled and set .so file to lib directory.

I also encountered the same problem, how did you solve it at that time?

sisyphus-99 commented 1 year ago

Sorry, it's a mistake. SPLINTER was used as a static library but the .a file is missed to be uploaded. We will change the code later.

sisyphus-99 commented 1 year ago

Before compiling run_lidar2car, SPLINTER should be compiled and set .so file to lib directory.

I also encountered the same problem, how did you solve it at that time?

The lib file libsplinter-static-3-0.a was now uploaded. See here. Putting it under lib directory should solve this problem.