- 09 Jun, 2021 13 commits
-
-
Julia Sanchez authored
-
Julia Sanchez authored
-
Julia Sanchez authored
-
Julia Sanchez authored
-
Julia Sanchez authored
-
Julia Sanchez authored
-
Julia Sanchez authored
-
Julia Sanchez authored
* For now, the parameter "a" of the TukeyLoss was sqrt to fit the function description in which a^2 is the threshold. However, the loss functions are applied on the norm2 of the residuals. So the threshold must be a not a^2.
-
Julia Sanchez authored
-
Nicolas Cadart authored
Accelerate outputs transformations See merge request !132
-
Julia Sanchez authored
[feat] Add motion limitations to detect failures See merge request !129
-
Nicolas Cadart authored
Add lazy-transform mechanism for output registered frame. This adds a RegisteredFrame attribute. GetOutputFrame method is renamed to GetRegisteredFrame.
-
Nicolas Cadart authored
Keypoints are now lazy-transformed to WORLD coordinates. They are transformed if: - the current frame is a keyframe, therefore we need to add the current WORLD keypoints to the maps. - the user requests the WORLD keypoints with the GetKeypoints(KP, true) method. Otherwise, they are not transformed, saving some time. Slam::GetKeypoints() is not const anymore. This adds the private helper Slam::TransformPointCloud().
-
- 08 Jun, 2021 10 commits
-
-
Nicolas Cadart authored
Before this, all keypoints were aggregated, no regards of they have to be used or not. Therefore, all blob points were always aggregated, transformed, undistorted etc., uselessly slowing down the whole process. Now, is some keypoints are not needed, the corresponding keypoint cloud is empty.
-
Nicolas Cadart authored
If a frame (raw input cloud or extracted keypoints) is empty, then we cannot access the first point device_id, leading to segfault. Now, if such a frame is empty, it is ignored.
-
Nicolas Cadart authored
Add multithreading to AggregateFrames. Improve multithreading for RefineUndistortion. Improve multithreading in UpdateMapsUsingTworld.
-
Nicolas Cadart authored
This method takes a vector of frames as input, and aggregate them into a single cloud. Each input scan is transformed from its LIDAR coordinate system to BASE using the BaseToLidar offset. The aggregated frame may optionaly be transformed to WORLD coordinate system using the current optimized pose.
-
Julia Sanchez authored
* Before there were 4 values (linear part + roll, pitch, yaw parts) * Now there are 1 linear part and 1 angular part * Uniformization constraint/threshold/limit -> limit
-
Julia Sanchez authored
* Add complyLimitations to debug array * Add parameters to xml
-
Julia Sanchez authored
* Add comply_motion_limits element to message
-
Julia Sanchez authored
* Thresholds for velocity and acceleration
-
Julia Sanchez authored
* Add a CheckMotionLimits function to SLAM * Call the function in AddFrames * Add thresholds as members * If limits not respected, a warning is raised
-
Nicolas Cadart authored
Store rolling grid as unordered_map instead of stacked vectors See merge request !130
-
- 07 Jun, 2021 7 commits
-
-
Julia Sanchez authored
[fix][feat][PV] Update overlap estimator See merge request !131
-
Julia Sanchez authored
-
Julia Sanchez authored
-
Julia Sanchez authored
-
Julia Sanchez authored
* Computation was only performed for the edges map * The points lying farther than the leafsize from their nearest neighbor are considered not to have a match * Good values are >0.5, bad values are <0.4
-
Julia Sanchez authored
* Make them visible and active overlap computation if advanced arrays are enabled * Rename PV overlap output
-
Julia Sanchez authored
* Overlap + keypoints number
-
- 04 Jun, 2021 1 commit
-
-
Nicolas Cadart authored
The voxels of the rolling grid are now stored using an unordered_map instead of vectors of vectors of vectors. This allows to only save the required voxels, leading to a sparse rolling grid. Looping over the 3 dimensions is therefore not needed anymore, as we can directly iterate on non empty voxels. This brings a significant speed performance improvement of the RollingGrid operations: - Roll: 3x - Add (without the roll part): x1.5 - Get (ROI): ~same - Get (all): x10
-
- 03 Jun, 2021 3 commits
-
-
Julia Sanchez authored
-
Julia Sanchez authored
* The blobs kdtree is created but not filled, this causes a problem when accessing leafSizes[blob] which does not exist
-
Julia Sanchez authored
[feat] Add an optional overlap estimator See merge request !127
-
- 02 Jun, 2021 6 commits
-
-
Nicolas Cadart authored
[perf] Add NbPoints attribute to RollingGrid to accelerate Size method See merge request !128
-
Nicolas Cadart authored
The Size method introduced in !124 loops over all voxels of the rolling grid to get its size. If the GridSize is significant (>~50), looping over all voxels can be quite slow (tens of ms). To avoid this loop, NbPoints attribute is added and kept up-to-date. This attribute can be directly used to know the number of points stored in the rolling grid.
-
Julia Sanchez authored
-
Julia Sanchez authored
* Move the LCP estimation part into the new files * Add reduction feature to omp loop to avoid creating a vector * few details were changed while moving this code part (grammar + int->float const)
-
Julia Sanchez authored
* Add it as member of SLAM for it to be kept * Add it to message * Write it in message in ROS wrapping
-
Julia Sanchez authored
-