[PV][feat] Add MiniSlam filter
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
LidarView interface of MiniSlam filter
default mode:
advanced mode:
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