Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • S Slam
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 4
    • Issues 4
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 15
    • Merge requests 15
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • KEU-ComputerVision
  • Slam
  • Merge requests
  • !101

[feat] Split Matching and optimization

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Julia Sanchez requested to merge SplitMatchingOptim into master Mar 10, 2021
  • Overview 69
  • Commits 2
  • Pipelines 19
  • Changes 8

In order to be able to integrate external sensors data to the ICP optimization step, the KeypointsRegistration class has to be refactored. The idea is to have an independent optimizer which can receive as many ceres residuals (cost function + robustifier) as required. These residuals could be supplied by any sensor. The optimization would then be solved after each ICP matching step integrating new computed matches and available external sensor constraints for the current studied frame.

Here are the major changes implied by this MR:

  • Split KeypointsRegistration file into LocalOptimizer and KeypointsMatcher files.

  • LocalOptimizer

    • It is an object created locally in Ego-Motion and/or Localization functions.
    • A residual structure is created in this file. It contains pointers to a cost function and a loss function (optimization estimator to remove outliers).
    • It receives the ceres LiDAR residuals.
    • It will be able to receive other sensors' residuals.
    • It is entirely cleared at each registration step.
    • It contains a ceres problem shared pointer. This problem is created and filled after each new matching step of ICP. The problem is maintained in order to be able to recover covariance from the optimization after convergence for last ICP iteration.
  • KeypointsMatcher

    • It is an object created locally in Ego-Motion and/or Localization functions.
    • It builds the LiDAR residuals (as described above) from matching between frame keypoints and map neighborhoods.
    • It contains a vector of residuals (directly added in the matching result structure).
    • A residual is also added to the matching info structure.

@nicolas.cadart @nick.laurenson PTAL

Edited Mar 30, 2021 by Julia Sanchez
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: SplitMatchingOptim