Skip to content

Commit

Permalink
Merge branch 'anymal_research/rsl/feature/map_from_raw_pointcloud' in…
Browse files Browse the repository at this point in the history
…to 'master'

Rsl/feature/map from raw pointcloud

Piece of code that will generate an elevation map from a raw pointcloud.

To reproduce the results you can download the pointclouds from here:
https://drive.google.com/drive/folders/1TxIN6Ox3JybccqpbKr6KhatylUNDPbRK?usp=sharing

There is a pointcloud from Hoenggerberg field, forest patch and the H floor in LEE building.

To run the node, create a data folder inside the package:
grid_map_pcl/data

copy the pointcloud files into the "data" folder. Change the name in the launch file (the only launch file) and run. Piontclouds are big, so it takes about 5-10 min to get the final result. Once the computation has finished (you will see the total time elapsed), you can run the rviz in another terminal to visualize the map.

You can see an example elevation map of a forest, created from raw pointcloud in the images attached.

![forest_pointcloud](/uploads/2fcd70d0b120b1d414ef8bae26ecef8e/forest_pointcloud.png)![forest](/uploads/5e2c71ddd79968b7c5f6f770f3557a01/forest.png)

Squashed commit:

Import change set of branch rsl/feature/map_from_raw_pointcloud.

Commits:
--
Change 1 of 69 by jelavice <[email protected]>:

Remove the clouds that are generated when you run the tests. Edit the readme.

--
Change 2 of 69 by Edo Jelavic <[email protected]>:

Update README.md
--
Change 3 of 69 by Edo Jelavic <[email protected]>:

Update README.md
--
Change 4 of 69 by Edo Jelavic <[email protected]>:

Update README.md
--
Change 5 of 69 by jelavice <[email protected]>:

Fix the wrong name. Add system clause to Cmake lists include directories

--
Change 6 of 69 by jelavice <[email protected]>:

Fix the affiliation and includes

--
Change 7 of 69 by jelavice <[email protected]>:

Add some comments about the terrain creation

--
Change 8 of 69 by jelavice <[email protected]>:

Sort out the includes a bit

--
Change 9 of 69 by jelavice <[email protected]>:

Fix tests

--
Change 10 of 69 by jelavice <[email protected]>:

Factor out point cloud processing

--
Change 11 of 69 by jelavice <[email protected]>:

Factor out some functions from the Grid Map pcl loader

--
Change 12 of 69 by jelavice <[email protected]>:

remove the dependency on std_utils

--
Change 13 of 69 by jelavice <[email protected]>:

Remove the dependency on yaml tools

--
Change 14 of 69 by jelavice <[email protected]>:

Remove the gtest from the pcl loader code

--
Change 15 of 69 by jelavice <[email protected]>:

Add all the tests

--
Change 16 of 69 by jelavice <[email protected]>:

Add all the tests

--
Change 17 of 69 by jelavice <[email protected]>:

Add another test

--
Change 18 of 69 by jelavice <[email protected]>:

Cleaning tests

--
Change 19 of 69 by jelavice <[email protected]>:

Move the functions outside as yoshua requested

--
Change 20 of 69 by jelavice <[email protected]>:

Add more tests

--
Change 21 of 69 by jelavice <[email protected]>:

Remove verbose outputs

--
Change 22 of 69 by jelavice <[email protected]>:

trying to clean up the tests

--
Change 23 of 69 by jelavice <[email protected]>:

Add randomness into the test

--
Change 24 of 69 by jelavice <[email protected]>:

Fix

--
Change 25 of 69 by jelavice <[email protected]>:

WIP

--
Change 26 of 69 by jelavice <[email protected]>:

WIP

--
Change 27 of 69 by Edo Jelavic <[email protected]>:

Apply suggestion to tools/data_structure/grid_map/grid_map_pcl/CMakeLists.txt
--
Change 28 of 69 by Edo Jelavic <[email protected]>:

Apply suggestion to tools/data_structure/grid_map/grid_map_pcl/src/GridMapPclLoader.cpp
--
Change 29 of 69 by jelavice <[email protected]>:

Adding tests. WIP

--
Change 30 of 69 by jelavice <[email protected]>:

test/FlatGroundTest.cpp

--
Change 31 of 69 by jelavice <[email protected]>:

Add the multiple planes test

--
Change 32 of 69 by jelavice <[email protected]>:

Add somem ghetto tests. WIP

--
Change 33 of 69 by jelavice <[email protected]>:

Add the test

--
Change 34 of 69 by jelavice <[email protected]>:

add docs

--
Change 35 of 69 by jelavice <[email protected]>:

Separate parameter handling from the loader

--
Change 36 of 69 by jelavice <[email protected]>:

Adding the file loader class

--
Change 37 of 69 by jelavice <[email protected]>:

Adding google tests

--
Change 38 of 69 by jelavice <[email protected]>:

Add the comments requested by Max

--
Change 39 of 69 by Edo Jelavic <[email protected]>:

Apply suggestion to tools/data_structure/grid_map/grid_map_pcl/src/GridMapPclLoader.cpp
--
Change 40 of 69 by Edo Jelavic <[email protected]>:

Apply suggestion to tools/data_structure/grid_map/grid_map_pcl/src/GridMapPclLoader.cpp
--
Change 41 of 69 by Edo Jelavic <[email protected]>:

Apply suggestion to tools/data_structure/grid_map/grid_map_pcl/src/GridMapPclLoader.cpp
--
Change 42 of 69 by Edo Jelavic <[email protected]>:

Apply suggestion to tools/data_structure/grid_map/grid_map_pcl/src/GridMapPclLoader.cpp
--
Change 43 of 69 by Edo Jelavic <[email protected]>:

Apply suggestion to tools/data_structure/grid_map/grid_map_pcl/src/GridMapPclLoader.cpp
--
Change 44 of 69 by Edo Jelavic <[email protected]>:

Apply suggestion to tools/data_structure/grid_map/grid_map_pcl/src/GridMapPclLoader.cpp
--
Change 45 of 69 by Edo Jelavic <[email protected]>:

Apply suggestion to tools/data_structure/grid_map/grid_map_pcl/src/GridMapPclLoader.cpp
--
Change 46 of 69 by Edo Jelavic <[email protected]>:

Apply suggestion to tools/data_structure/grid_map/grid_map_pcl/include/grid_map_pcl/GridMapPclLoader.hpp
--
Change 47 of 69 by Edo Jelavic <[email protected]>:

Apply suggestion to tools/data_structure/grid_map/grid_map_pcl/include/grid_map_pcl/GridMapPclLoader.hpp
--
Change 48 of 69 by Edo Jelavic <[email protected]>:

Apply suggestion to tools/data_structure/grid_map/grid_map_pcl/include/grid_map_pcl/GridMapPclLoader.hpp
--
Change 49 of 69 by Edo Jelavic <[email protected]>:

Apply suggestion to tools/data_structure/grid_map/grid_map_pcl/include/grid_map_pcl/GridMapPclLoader.hpp
--
Change 50 of 69 by jelavice <[email protected]>:

Add links in the readme files

--
Change 51 of 69 by Edo Jelavic <[email protected]>:

Update README.md
--
Change 52 of 69 by jelavice <[email protected]>:

Adding docs

--
Change 53 of 69 by Edo Jelavic <[email protected]>:

Some progress on the readme
--
Change 54 of 69 by jelavice <[email protected]>:

Adding readme

--
Change 55 of 69 by jelavice <[email protected]>:

Change the default topic name. It can be remapped now

--
Change 56 of 69 by jelavice <[email protected]>:

Add all the docs

--
Change 57 of 69 by jelavice <[email protected]>:

Adding docs. Long long way.

--
Change 58 of 69 by jelavice <[email protected]>:

sort out the includes. Handle the case when openmp is not found

--
Change 59 of 69 by jelavice <[email protected]>:

Address some comments from PR

--
Change 60 of 69 by jelavice <[email protected]>:

fix the launch file indents

--
Change 61 of 69 by jelavice <[email protected]>:

Addressing PR comments

--
Change 62 of 69 by Edo Jelavic <[email protected]>:

Apply suggestion to tools/data_structure/grid_map/grid_map_pcl/CMakeLists.txt
--
Change 63 of 69 by jelavice <[email protected]>:

Add the working folder path

--
Change 64 of 69 by jelavice <[email protected]>:

Remove comments

--
Change 65 of 69 by Edo Jelavic <[email protected]>:

Apply suggestion to tools/data_structure/grid_map/grid_map_pcl/launch/grid_map_pcl_loader_node.launch
--
Change 66 of 69 by jelavice <[email protected]>:

Add some docs

--
Change 67 of 69 by jelavice <[email protected]>:

Add the launch file. tweak gitignore

--
Change 68 of 69 by jelavice <[email protected]>:

Add publisher

--
Change 69 of 69 by jelavice <[email protected]>:

Compiles

Authors:

Co-authored-by: jelavice <[email protected]>

Co-authored-by: Edo Jelavic <[email protected]>

Co-authored-by: Edo Jelavic <[email protected]>

Co-authored-by: Edo Jelavic <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: Edo Jelavic <[email protected]>

Co-authored-by: Edo Jelavic <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: Edo Jelavic <[email protected]>

Co-authored-by: Edo Jelavic <[email protected]>

Co-authored-by: Edo Jelavic <[email protected]>

Co-authored-by: Edo Jelavic <[email protected]>

Co-authored-by: Edo Jelavic <[email protected]>

Co-authored-by: Edo Jelavic <[email protected]>

Co-authored-by: Edo Jelavic <[email protected]>

Co-authored-by: Edo Jelavic <[email protected]>

Co-authored-by: Edo Jelavic <[email protected]>

Co-authored-by: Edo Jelavic <[email protected]>

Co-authored-by: Edo Jelavic <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: Edo Jelavic <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: Edo Jelavic <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: Edo Jelavic <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: Edo Jelavic <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

Co-authored-by: jelavice <[email protected]>

 **Related ANYmal Research MR:** https://code.anymal.com/anymal-research/anymal_research/merge_requests/98

Authored by: Edo Jelavic

*Note: The MR in ANYmal Research has to be closed manually.*

ANYmal Research issues closed

GitOrigin-RevId: 342063036189362f0495475d864e954df724a446
  • Loading branch information
jelavice authored and anybotics-sync-runner committed Nov 27, 2019
1 parent 8a8a486 commit 1667333
Show file tree
Hide file tree
Showing 30 changed files with 2,343 additions and 19 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,6 @@
*.pydevproject

# OS X
.DS_Store
.DS_Store

grid_map_pcl/data/
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ The source code is released under a [BSD 3-Clause license](LICENSE).
**Author: Péter Fankhauser<br />
Affiliation: [ANYbotics](https://www.anybotics.com/)<br />
Maintainer: Péter Fankhauser, [email protected]<br />**
With contributions by: Tanja Baumann, Jeff Delmerico, Remo Diethelm, Perry Franklin, Dominic Jud, Ralph Kaestner, Philipp Krüsi, Alex Millane, Daniel Stonier, Elena Stumm, Martin Wermelinger, Christos Zalidis
With contributions by: Tanja Baumann, Jeff Delmerico, Remo Diethelm, Perry Franklin, Dominic Jud, Ralph Kaestner, Philipp Krüsi, Alex Millane, Daniel Stonier, Elena Stumm, Martin Wermelinger, Christos Zalidis, Edo Jelavic

This projected was initially developed at ETH Zurich (Autonomous Systems Lab & Robotic Systems Lab).

Expand Down Expand Up @@ -115,7 +115,7 @@ Additional conversion packages:
* ***grid_map_costmap_2d*** provides conversions of grid maps from [costmap_2d] map types.
* ***grid_map_cv*** provides conversions of grid maps from and to [OpenCV] image types.
* ***grid_map_octomap*** provides conversions of grid maps from OctoMap ([OctoMap]) maps.
* ***grid_map_pcl*** provides conversions of grid maps from Point Cloud Library ([PCL]) polygon meshes.
* ***grid_map_pcl*** provides conversions of grid maps from Point Cloud Library ([PCL](http://pointclouds.org/)) polygon meshes and point clouds. For details, see the grid map pcl package [README](grid_map_pcl/README.md).

### Unit Tests

Expand Down
81 changes: 65 additions & 16 deletions grid_map_pcl/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,36 @@
cmake_minimum_required(VERSION 2.8.3)
project(grid_map_pcl)

set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")
set(CMAKE_CXX_STANDARD 14)
add_compile_options(-Wall -Wextra -Wpedantic)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

## Find catkin macros and libraries
find_package(catkin REQUIRED COMPONENTS
set(SRC_FILES
src/GridMapPclConverter.cpp
src/GridMapPclLoader.cpp
src/helpers.cpp
src/PclLoaderParameters.cpp
src/PointcloudProcessor.cpp
)

set(CATKIN_PACKAGE_DEPENDENCIES
grid_map_core
grid_map_msgs
grid_map_ros
pcl_ros
roscpp
)

find_package(OpenMP QUIET)
if (OpenMP_FOUND)
add_compile_options("${OpenMP_CXX_FLAGS}")
add_definitions(-DGRID_MAP_PCL_OPENMP_FOUND=${OpenMP_FOUND})
endif()

## Find catkin macros and libraries
find_package(catkin REQUIRED
COMPONENTS
${CATKIN_PACKAGE_DEPENDENCIES}
)

###################################
Expand All @@ -23,9 +47,9 @@ catkin_package(
include
LIBRARIES
${PROJECT_NAME}
yaml-cpp
CATKIN_DEPENDS
grid_map_core
pcl_ros
${CATKIN_PACKAGE_DEPENDENCIES}
DEPENDS
)

Expand All @@ -36,30 +60,46 @@ catkin_package(
## Specify additional locations of header files
include_directories(
include
${catkin_INCLUDE_DIRS}
${EIGEN3_INCLUDE_DIR}
SYSTEM
${catkin_INCLUDE_DIRS}
${EIGEN3_INCLUDE_DIR}
${OpenMP_CXX_INCLUDE_DIRS}
)

## Declare a cpp library
add_library(${PROJECT_NAME}
src/GridMapPclConverter.cpp
${SRC_FILES}
)

target_link_libraries(${PROJECT_NAME}
${catkin_LIBRARIES}
${OpenMP_CXX_LIBRARIES}
yaml-cpp
)

add_dependencies(${PROJECT_NAME}
${catkin_EXPORTED_TARGETS}
)

add_executable(grid_map_pcl_loader_node
src/grid_map_pcl_loader_node.cpp
)

target_link_libraries(grid_map_pcl_loader_node
${PROJECT_NAME}
${catkin_LIBRARIES}
${OpenMP_CXX_LIBRARIES}
)

#############
## Install ##
#############

# Mark executables and/or libraries for installation
install(
TARGETS ${PROJECT_NAME}
TARGETS
${PROJECT_NAME}
grid_map_pcl_loader_node
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
Expand All @@ -76,13 +116,22 @@ install(
## Testing ##
#############

#if(CATKIN_ENABLE_TESTING)
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
if(CATKIN_ENABLE_TESTING)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
## Add gtest based cpp test target and link libraries
#catkin_add_gtest(${PROJECT_NAME}-test test/test_grid_map_pcl.cpp test/GridMapPclTest.cpp)
#endif()
catkin_add_gtest(${PROJECT_NAME}-test
test/test_grid_map_pcl.cpp
test/GridMapPclLoaderTest.cpp
test/HelpersTest.cpp
test/PointcloudProcessorTest.cpp
test/test_helpers.cpp
test/PointcloudCreator.cpp
)
endif()

#if(TARGET ${PROJECT_NAME}-test)
# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
#endif()
if(TARGET ${PROJECT_NAME}-test)
target_link_libraries(${PROJECT_NAME}-test
${PROJECT_NAME}
${catkin_LIBRARIES})
endif()

85 changes: 85 additions & 0 deletions grid_map_pcl/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# Grid Map Pcl

## Overview

This is a C++ package integrated with ROS for computing 2.5D elevation maps from pcl types. Currently, supported types are point clouds and meshes.

#### Converting a mesh to a grid map
The elevation is computed by raytracing lines coming from the grid map cells and computing their intersection with the mesh.

#### Converting a raw pointcloud to a grid map
The elevation is computed by slicing the point cloud in the x-y plane into columns. Column location and size correspond to the location and size of grid map cells in the point cloud coordinate frame. Subsequently, the clustering of points inside each column is performed and the elevation of the lowest cluster (min z coordinate) is assumed to be the terrain elevation. The elevation of the cluster is computed as a mean of all positions from the points that belong to a cluster. All calculations are performed in the pointcloud frame.


**Authors: Edo Jelavic, Dominic Jud<br />
Affiliation: [ETH Zurich, Robotics Systems Lab](https://rsl.ethz.ch/)<br />**

## Examples

Examples of elevation maps computed from point clouds using this package:

#### Outdoor dataset example
![Example of an outdoor dataset](doc/outdoor.png)

#### Forest dataset example
![Example of a forest dataset](doc/forest.png)

#### Indoor dataset example
![Example of an indoor dataset](doc/indoor.png)


## Usage

The algorithm will open the .pcd file, convert the point cloud to a grid map and save the grid map as a rosbag into the folder specified by the user.

1. Place .pcd files in the package folder or anywhere on the system (e.g. grid_map_pcl/data/example.pcd).
2. Modify the *folder_path* inside the launch file such that the folder file points to the folder containing .pcd files (e.g. /*"path to the grid_map_pcl folder"*/data).
3. Change the *pcd_filename* to the point cloud file that you want to process
4. You can run the algorithm with: *roslaunch grid_map_pcl grid_map_pcl_loader_node.launch*
5. Once the algorithm is done you will see the output in the console, then you can run rviz in a separate terminal (make sure that you have sourced your workspace, **DO NOT CLOSE** the terminal where *grid_map_pcl_loader_node* is running ) and visualize the resulting grid map. Instructions on how to visualize a grid map are in the grid map [README](../README.md).

The resulting grid map will be saved in the folder given by *folder_path* variable in the launch file and will be named with a string contained inside the *output_grid_map* variable. For large point clouds (100M-140M points) the algorithm takes about 30-60 min to finish (with 6 threads). For sizes that are in the range of 40M to 60M points, the runtime varies between 5 and 15 min, depending on the number of points. Point cloud with around 10M points or less can be processed in a minute or two.

## Parameters

### Algorithm Parameters (conversion from raw point clouds)

##### General parameters
* **pcl_grid_map_extraction/num_processing_threads** Number of threads for processing grid map cells. Filtering of the raw input point cloud is not parallelized.

##### Grid map parameters
Resulting grid map parameters.
* **pcl_grid_map_extraction/grid_map/min_num_points_per_cell** Minimum number of points in the point cloud that have to fall within any of the grid map cells. Otherwise the cell elevation will be set to NaN.
* **pcl_grid_map_extraction/grid_map/resolution** Resolution of the grid map. Width and lengts are computed automatically.

### Point Cloud Pre-processing Parameters

##### Rigid body transform parameters

Rigid body transorm that is applied to the point cloud before computing elevation.
* **pcl_grid_map_extraction/cloud_transform/translation** Translation (xyz) that is applied to the input point cloud before computing elevation.
* **pcl_grid_map_extraction/cloud_transform/rotation** Rotation (intrinsic rotation, convention X-Y'-Z'') that is applied to the input point cloud before computing elevation.

##### Cluster extraction parameters
Cluster extraction is based on pcl algorithms. See: http://pointclouds.org/documentation/tutorials/cluster_extraction.php for more details.
* **pcl_grid_map_extraction/cluster_extraction/cluster_tolerance** Distance between points below which they will still be considered part of one cluster.
* **pcl_grid_map_extraction/cluster_extraction/min_num_points** Min number of points that a cluster needs to have (otherwise it will be discarded).
* **pcl_grid_map_extraction/cluster_extraction/max_num_points** Max number of points that a cluster can have (otherwise it will be discarded).

##### Outlier removal parameters
See http://pointclouds.org/documentation/tutorials/statistical_outlier.php for more explanation on outlier removal.
* **pcl_grid_map_extraction/outlier_removal/is_remove_outliers*** Whether to perform statisctical outlier removal.
* **pcl_grid_map_extraction/outlier_removal/mean_K*** Number of neighbours to analyze for estimating statistics of a point.
* **pcl_grid_map_extraction/outlier_removal/stddev_threshold*** Number of standard deviations under which points are considered to be inliers.

##### Subsampling parameters
See http://pointclouds.org/documentation/tutorials/voxel_grid.php for more explanation on point cloud downsampling
* **pcl_grid_map_extraction/downsampling/is_downsample_cloud** Whether to perform downsampling or not.
* **pcl_grid_map_extraction/downsampling/voxel_size** Voxel sizes (xyz) in meters.







31 changes: 31 additions & 0 deletions grid_map_pcl/config/parameters.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
pcl_grid_map_extraction:
num_processing_threads: 4
cloud_transform:
translation:
x: 0.0
y: 0.0
z: 0.0
rotation: #intrinsic rotation X-Y-Z (r-p-y)sequence
r: 0.0
p: 0.0
y: 0.0
cluster_extraction:
cluster_tolerance: 0.05
min_num_points: 4
max_num_points: 1000000
outlier_removal:
is_remove_outliers: true
mean_K: 10
stddev_threshold: 1.0
downsampling:
is_downsample_cloud: true
voxel_size:
x: 0.02
y: 0.02
z: 0.02
grid_map:
min_num_points_per_cell: 4
resolution: 0.1



Binary file added grid_map_pcl/doc/forest.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added grid_map_pcl/doc/indoor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added grid_map_pcl/doc/outdoor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 1667333

Please sign in to comment.