GithubHelp home page GithubHelp logo

Comments (10)

 avatar commented on July 28, 2024 1

Thanks @Pallav1299, I managed to combine the produced results with KITTI ground truth through TUM format. However, it seems that there is a clear misalignment issue. Have you experienced something similar?

Screenshot from 2021-05-13 17-45-55

from lio-sam.

TixiaoShan avatar TixiaoShan commented on July 28, 2024

There are still some unsolved problems in LIO-SAM when a loop is closed or a GPS measurement is received. Any inputs are welcome from the community.

from lio-sam.

Pallav1299 avatar Pallav1299 commented on July 28, 2024

@TixiaoShan, my use-case requires creating globally correct point cloud maps. I haven't read the code thoroughly. Can you please list down the issues with including GPS measurements and loop closure, so as to keep track of the required changes and improvements?

from lio-sam.

Pallav1299 avatar Pallav1299 commented on July 28, 2024

Screenshot from 2020-07-21 22-11-38
Screenshot from 2020-07-22 17-20-35

Initial misalignment causes the /lio_sam/mapping/path to drift away from /odometry/gps. Further, when GPS data should be added to the pose graph, there is sudden jump in the pose. Hence leading to imperfect global poses.
I am trying with the default params on the Kitti_raw_data "2011_10_03_drive_0042 (4.5 GB)" dataset while it doesn't have position covariance in the /gps/fix data. Am I doing something wrong here?

from lio-sam.

TixiaoShan avatar TixiaoShan commented on July 28, 2024

You should tune the function that adds GPS factor in mapOptimization.cpp carefully. KITTI dataset doesn't give GPS covariance, so you have to change the threshold to figure out the best settings. When a GPS factor is added, imuPreintegration will be reset and cause a loss of initial guess in updateInitialGuess(). If the vehicle is moving very fast, the scan-matching may fail. You can disable these lines to help this problem. But it's not perfect. I am still trying to figure out solving matching failure when a GPS factor is added.

from lio-sam.

Pallav1299 avatar Pallav1299 commented on July 28, 2024
  1. I tried with the above mentioned changes. I noticed that at points where positionCovariance is greater than the threshold, most of the GPS values though being correct, are neglected due to being relatively old or new w.r.t the pointcloud timestamp. This leads to error accumulation.
    Later when a new GPS factor is added, heavy ISAM optimization takes place on a large number of nodes. During this time the imuPreintegration gets reset.
    I tried on the kitti dataset. Please correct me if I am wrong.

  2. I tried with and without GPS elevation integrated on KITTI dataset and tested with the ground truth data from Odometry sequences(I've less no. of keyposes so the data is scaled down, but the trend is almost same for X and Y axes)

  • Without using elevation from GPS, the Z axis has following results:
    Screenshot 2020-07-28 00:38:53

  • With GPS elevation, the following result is obtained for elevation in the final trajectory as compared to groundtruth :
    Screenshot 2020-07-28 00:44:12

Dotted line is ground truth

Should we use elevation from GPS or not?

from lio-sam.

stale avatar stale commented on July 28, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

from lio-sam.

 avatar commented on July 28, 2024
  1. I tried with the above mentioned changes. I noticed that at points where positionCovariance is greater than the threshold, most of the GPS values though being correct, are neglected due to being relatively old or new w.r.t the pointcloud timestamp. This leads to error accumulation.
    Later when a new GPS factor is added, heavy ISAM optimization takes place on a large number of nodes. During this time the imuPreintegration gets reset.
    I tried on the kitti dataset. Please correct me if I am wrong.
  2. I tried with and without GPS elevation integrated on KITTI dataset and tested with the ground truth data from Odometry sequences(I've less no. of keyposes so the data is scaled down, but the trend is almost same for X and Y axes)
  • Without using elevation from GPS, the Z axis has following results:
    Screenshot 2020-07-28 00:38:53
  • With GPS elevation, the following result is obtained for elevation in the final trajectory as compared to groundtruth :
    Screenshot 2020-07-28 00:44:12

Dotted line is ground truth

Should we use elevation from GPS or not?

@Pallav1299 You mentioned that the number of keyframes was different from the KITTI's ground truth.
I actually have the same problem. Did you evaluate the results using tum format for the trajectories?

from lio-sam.

Pallav1299 avatar Pallav1299 commented on July 28, 2024

@polbolso I didn't try visualizing in TUM or EUROC formats using EVO. I used KITTI format data. With KITTI format you would have to maintain the same number of poses to evaluate relative and absolute pose errors. This issue is solved by using timestamps in TUM format if I am not wrong. I'd suggest converting KITTI format poses to TUM for evaluation
in EVO.

from lio-sam.

berkaysahinaskar avatar berkaysahinaskar commented on July 28, 2024

Thanks @Pallav1299, I managed to combine the produced results with KITTI ground truth through TUM format. However, it seems that there is a clear misalignment issue. Have you experienced something similar?

Screenshot from 2021-05-13 17-45-55

I experienced same issue. There is a difference between vehicle axis and yours. You need to change the x y z poses reference to KITTI vehicle setup.

from lio-sam.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.