APRIL-ZJU / lidar_IMU_calib

[IROS 2020] Targetless Calibration of LiDAR-IMU System Based on Continuous-time Batch Estimation
GNU General Public License v3.0
942 stars 224 forks source link

ceres fails to run well with imu data #10

Open petersong1905 opened 3 years ago

petersong1905 commented 3 years ago

I try to use my data with HDL32E and SBG Ellipse-A (6 axis). The only thing i change is data import and scan undistortion.

Everything is good before TrajectoryManager::trajInitFromSurfel ,include EstimateRotation() and undistortScanInMap with NDT odom pose.I got a nice map but not sharp enough.

Screenshot from 2020-10-17 11-49-24

And i got 500 surfels,but when i added addGyroscopeMeasurementst() or addAccelerometerMeasurement() into ceres by TrajectoryManager::trajInitFromSurfel(),the map would mess up(laser pose was totally calculate by Bspline, addSurfMeasurement is ok). And ceres log like following.

WARNING: Logging before InitGoogleLogging() is written to STDERR W20201017 20:57:45.519047 11140 levenberg_marquardt_strategy.cc:114] Linear solver failure. Failed to compute a step: CHOLMOD warning: Matrix not positive definite.

Screenshot from 2020-10-17 11-59-44

Is it any problem with my imu data? and how can i solve it?

petersong1905 commented 3 years ago

even i got a point cloud map with Plane type :961 335 198; Plane number: 1494 in first associating , the problem still Screenshot from 2020-10-21 14-26-05

Cracks-ll commented 2 years ago

even i got a point cloud map with Plane type :961 335 198; Plane number: 1494 in first associating , the problem still Screenshot from 2020-10-21 14-26-05

I always have a mistake at this step:DataAssociation fails. plane type: 0 0 0;plane number 0.Do you know how to solve this problem?

Cracks-ll commented 2 years ago

I try to use my data with HDL32E and SBG Ellipse-A (6 axis). The only thing i change is data import and scan undistortion.

Everything is good before TrajectoryManager::trajInitFromSurfel ,include EstimateRotation() and undistortScanInMap with NDT odom pose.I got a nice map but not sharp enough.

Screenshot from 2020-10-17 11-49-24

And i got 500 surfels,but when i added addGyroscopeMeasurementst() or addAccelerometerMeasurement() into ceres by TrajectoryManager::trajInitFromSurfel(),the map would mess up(laser pose was totally calculate by Bspline, addSurfMeasurement is ok). And ceres log like following.

WARNING: Logging before InitGoogleLogging() is written to STDERR W20201017 20:57:45.519047 11140 levenberg_marquardt_strategy.cc:114] Linear solver failure. Failed to compute a step: CHOLMOD warning: Matrix not positive definite.

Screenshot from 2020-10-17 11-59-44

Is it any problem with my imu data? and how can i solve it?

I always have a mistake at this step:DataAssociation fails. plane type: 0 0 0;plane number 0.Do you know how to solve this problem?

qyj1996 commented 2 years ago

我尝试将我的数据与HDL32E和SBG椭圆A(6轴)一起使用。我唯一改变的是数据导入和扫描取消失真。 在 TrajectoryManager::trajInitFromSurfel 之前,一切都很好,包括 EstimateRotation() 和 undistortScanInMap with NDT odom pose。我得到了一张漂亮的地图,但不够清晰。 Screenshot from 2020-10-17 11-49-24 我得到了500个surels,但是当我添加GyroscopeMeasurementst()或addAccelerometerMeasurement()到Ceres通过TrajectoryManager::trajInitFromSurfel()时,地图会搞砸(激光姿势完全由Bspline计算,addSurfMeasurement是可以的)。谷神星的日志如下。 WARNING: Logging before InitGoogleLogging() is written to STDERR W20201017 20:57:45.519047 11140 levenberg_marquardt_strategy.cc:114] Linear solver failure. Failed to compute a step: CHOLMOD warning: Matrix not positive definite. Screenshot from 2020-10-17 11-59-44 我的 imu 数据有问题吗?我该如何解决它?

我在此步骤中总是有一个错误:数据关联失败。平面类型:0 0 0;平面编号 0.Do 你知道怎么解决这个问题吗?

即使我得到了一个点云图与在第一个关联,问题仍然存在Plane type :961 335 198; Plane number: 1494 截图来自 2020-10-21 14-26-05

您好,请问您是如何适配自己的数据集的呢,我尝试了很久,还是不能成功,如果您能指点一二,我将不胜感激!

qyj1996 commented 2 years ago

我尝试将我的数据与HDL32E和SBG椭圆A(6轴)一起使用。我唯一改变的是数据导入和扫描取消失真。 在 TrajectoryManager::trajInitFromSurfel 之前,一切都很好,包括 EstimateRotation() 和 undistortScanInMap with NDT odom pose。我得到了一张漂亮的地图,但不够清晰。 截图来自 2020-10-17 11-49-24 我得到了500个surels,但是当我添加GyroscopeMeasurementst()或addAccelerometerMeasurement()到Ceres通过TrajectoryManager::trajInitFromSurfel()时,地图会搞砸(激光姿势完全由Bspline计算,addSurfMeasurement是可以的)。谷神星的日志如下。

截图来自 2020-10-17 11-59-44 我的 imu 数据有问题吗?我该如何解决它?WARNING: Logging before InitGoogleLogging() is written to STDERR W20201017 20:57:45.519047 11140 levenberg_marquardt_strategy.cc:114] Linear solver failure. Failed to compute a step: CHOLMOD warning: Matrix not positive definite.

我在此步骤中总是有一个错误:数据关联失败。平面类型:0 0 0;平面编号 0.Do 你知道怎么解决这个问题吗?

即使我得到了一个点云图与在第一个关联,问题仍然存在Plane type :961 335 198; Plane number: 1494 截图来自 2020-10-21 14-26-05

您好,请问您是如何适配自己的数据集的呢,我尝试了很久,还是不能成功,如果您能指点一二,我将不胜感激!

您好,请问您是如何适配自己的数据集的呢,我尝试了很久,还是不能成功,如果您能指点一二,我将不胜感激!

我尝试将我的数据与HDL32E和SBG椭圆A(6轴)一起使用。我唯一改变的是数据导入和扫描取消失真。 在 TrajectoryManager::trajInitFromSurfel 之前,一切都很好,包括 EstimateRotation() 和 undistortScanInMap with NDT odom pose。我得到了一张漂亮的地图,但不够清晰。 截图来自 2020-10-17 11-49-24 我得到了500个surels,但是当我添加GyroscopeMeasurementst()或addAccelerometerMeasurement()到Ceres通过TrajectoryManager::trajInitFromSurfel()时,地图会搞砸(激光姿势完全由Bspline计算,addSurfMeasurement是可以的)。谷神星的日志如下。 WARNING: Logging before InitGoogleLogging() is written to STDERR W20201017 20:57:45.519047 11140 levenberg_marquardt_strategy.cc:114] Linear solver failure. Failed to compute a step: CHOLMOD warning: Matrix not positive definite. 截图来自 2020-10-17 11-59-44 我的 imu 数据有问题吗?我该如何解决它?

我在此步骤中总是有一个错误:数据关联失败。平面类型:0 0 0;平面编号 0.Do 你知道怎么解决这个问题吗?

您好,请问您是如何适配自己的数据集的呢,我尝试了很久,还是不能成功,如果您能指点一二,我将不胜感激!

我尝试将我的数据与HDL32E和SBG椭圆A(6轴)一起使用。我唯一改变的是数据导入和扫描取消失真。

在 TrajectoryManager::trajInitFromSurfel 之前,一切都很好,包括 EstimateRotation() 和 undistortScanInMap with NDT odom pose。我得到了一张漂亮的地图,但不够清晰。

截图来自 2020-10-17 11-49-24

我得到了500个surels,但是当我添加GyroscopeMeasurementst()或addAccelerometerMeasurement()到Ceres通过TrajectoryManager::trajInitFromSurfel()时,地图会搞砸(激光姿势完全由Bspline计算,addSurfMeasurement是可以的)。谷神星的日志如下。

WARNING: Logging before InitGoogleLogging() is written to STDERR W20201017 20:57:45.519047 11140 levenberg_marquardt_strategy.cc:114] Linear solver failure. Failed to compute a step: CHOLMOD warning: Matrix not positive definite.

截图来自 2020-10-17 11-59-44

我的 imu 数据有问题吗?我该如何解决它?

您好,请问您是如何适配自己的数据集的呢,我尝试了很久,还是不能成功,如果您能指点一二,我将不胜感激!

qyj1996 commented 2 years ago

即使我得到了一个点云图与在第一个关联,问题仍然存在Plane type :961 335 198; Plane number: 1494 截图来自 2020-10-21 14-26-05

您好,请问您是如何适配自己的数据集的呢,我尝试了很久,还是不能成功,如果您能指点一二,我将不胜感激!

qyj1996 commented 2 years ago

即使我得到了一个点云图与在第一个关联,问题仍然存在Plane type :961 335 198; Plane number: 1494截图来自 2020-10-21 14-26-05

我在此步骤中总是有一个错误:数据关联失败。平面类型:0 0 0;平面编号 0.Do 你知道怎么解决这个问题吗?

您好,请问您是如何适配自己的数据集的呢,我尝试了很久,还是不能成功,如果您能指点一二,我将不胜感激!