Skip to content

[PV][feat] Add MiniSlam filter

Tong Fu requested to merge feat/AddMiniSlamInPV into master

Goal

The aim of this MR is to add a MiniSLAM filter inside the paraview_wrapping as a separate filer and consider it as an alternative of the SLAM in order to improve the efficiency of this processing, so that it directly outputs the last N aggregated frames. It would also simplify the interface of the SLAM to remove some of its functionalities that are not relevant to the MiniSLAM use case : Loop Closure detection, Pose graph optimization, overall map.

Changes

  • A class called vtkMiniSlam is added to PV_wrapping. It heritages from vtkSlam class.

Results

A demo of mini slam: minislam

LidarView interface of MiniSlam filter

default mode:

Screenshot_from_2024-12-04_14-38-27

advanced mode:

Screenshot_from_2024-12-04_14-38-32

Checklist

  • Camel case everywhere except for ROS variables/parameters
  • Lower case for local variables and lambda functions
  • Upper case for members, methods and tool functions (in Utils)
  • Precise namespace when calling a function (or this->X or classe.X)
  • Align code (for multiline if and while, "&&" or "||" go in upper line to ensure alignement)
  • Check your spaces
    • between if, while, for and parenthesis
    • between operators and variables: e.g. a + b
    • after ","
  • Mind your commit titles/desc (plurals, he/she + "s", correct tags, title should begin by a verb...)
  • Function names should start with a verb, variable names should start with a name
  • Macros should be between {}
  • Do not use negative boolean (i.e. noJoe)
  • Check minimal size of the types (double -> float -> int -> uint)
  • Check const and ref in functions arguments
  • References should be written "type& name", not "type &name"
  • Update documentation
  • Add MR labels [ROS]/[ROS2]/[PV]
  • If ros/ros2, update task table here
  • Add a comment over each non trivial function in header files
  • Add a header to each new file

What remains to solve

  • Make mini slam property group before slam parameters when advanced mode (use subProxy)
  • Check runtime when number of slam frames is set large (Use function transform of pcl)
Edited by Tong Fu

Merge request reports

Loading