Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: update elevation map loader readme (#785) #207

Merged
merged 2 commits into from
Dec 22, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 25 additions & 23 deletions perception/elevation_map_loader/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# elevation_map_loader package
# elevation_map_loader

This package provides elevation map for compare_map_segmentation.
## Purpose

## elevation_map_loader
This package provides elevation map for compare_map_segmentation.

### Feature
## Inner-workings / Algorithms

Generate elevation_map from subscribed pointcloud_map and vector_map and publish it.
Save the generated elevation_map locally and load it from next time.
Expand All @@ -16,23 +16,25 @@ Cells with No elevation value can be inpainted using the values of neighboring c
<img src="./media/elevation_map.png" width="1500">
</p>

### How to run

`ros2 run elevation_map_loader elevation_map_loader --ros-args -p param_file_path:=path/to/elevation_map_parameters.yaml -p elevation_map_directory:=path/to/elevation_map_directory -p pointcloud_map_path:=path/to/pointcloud.pcd`
## Inputs / Outputs

### Subscribed Topics
### Input

- input/pointcloud_map (sensor_msgs:PointCloud2) : PointCloud Map
- input/vector_map (autoware_auto_mapping_msgs/HADMapBin) : binary data of Lanelet2 Map
| Name | Type | Description |
| ---------------------- | -------------------------------------------- | ------------------------------------------ |
| `input/pointcloud_map` | `sensor_msgs::msg::PointCloud2` | The point cloud map |
| `input/vector_map` | `autoware_auto_mapping_msgs::msg::HADMapBin` | (Optional) The binary data of lanelet2 map |

### Published Topics
### Output

- output/elevation_map (grid_map_msgs/GridMap) : Elevation Map
- output/elevation_map_cloud (sensor_msgs:PointCloud2) : Pointcloud generated from the value of Elevation Map
| Name | Type | Description |
| ---------------------------- | ------------------------------- | -------------------------------------------------------------------- |
| `output/elevation_map` | `grid_map_msgs::msg::GridMap` | The elevation map |
| `output/elevation_map_cloud` | `sensor_msgs::msg::PointCloud2` | (Optional) The point cloud generated from the value of elevation map |

### Parameter description
## Parameters

#### ROS parameters
### Node parameters

| Name | Type | Description | Default value |
| :-------------------------------- | :---------- | :--------------------------------------------------------------------------------------------------------- | :------------ |
Expand All @@ -50,17 +52,17 @@ Cells with No elevation value can be inpainted using the values of neighboring c
| lane_filter_voxel_size_y | float | Voxel size y for calculating point clouds in vector_map [m] | 0.04 |
| lane_filter_voxel_size_z | float | Voxel size z for calculating point clouds in vector_map [m] | 0.04 |

#### GridMap parameters
### GridMap parameters

The parameters are described on `config/elevation_map_parameters.yaml`.

##### General parameters
#### General parameters

| Name | Type | Description | Default value |
| :--------------------------------------------- | :--- | :----------------------------------------------------------------------------------------------------------- | :------------ |
| pcl_grid_map_extraction/num_processing_threads | int | Number of threads for processing grid map cells. Filtering of the raw input point cloud is not parallelized. | 12 |

##### Grid map parameters
#### Grid map parameters

See: <https://github.com/ANYbotics/grid_map/tree/ros2/grid_map_pcl>

Expand All @@ -73,9 +75,9 @@ Resulting grid map parameters.
| pcl_grid_map_extraction/grid_map/height_type | int | The parameter that determine the elevation of a cell `0: Smallest value among the average values of each cluster`, `1: Mean value of the cluster with the most points` | 1 |
| pcl_grid_map_extraction/grid_map/height_thresh | float | Height range from the smallest cluster (Only for height_type 1) | 1.0 |

#### Point Cloud Pre-processing Parameters
### Point Cloud Pre-processing Parameters

##### Rigid body transform parameters
#### Rigid body transform parameters

Rigid body transform that is applied to the point cloud before computing elevation.

Expand All @@ -84,7 +86,7 @@ Rigid body transform that is applied to the point cloud before computing elevati
| pcl_grid_map_extraction/cloud_transform/translation | float | Translation (xyz) that is applied to the input point cloud before computing elevation. | 0.0 |
| pcl_grid_map_extraction/cloud_transform/rotation | float | Rotation (intrinsic rotation, convention X-Y'-Z'') that is applied to the input point cloud before computing elevation. | 0.0 |

##### Cluster extraction parameters
#### Cluster extraction parameters

Cluster extraction is based on pcl algorithms. See <https://pointclouds.org/documentation/tutorials/cluster_extraction.html> for more details.

Expand All @@ -94,7 +96,7 @@ Cluster extraction is based on pcl algorithms. See <https://pointclouds.org/docu
| pcl_grid_map_extraction/cluster_extraction/min_num_points | int | Min number of points that a cluster needs to have (otherwise it will be discarded). | 3 |
| pcl_grid_map_extraction/cluster_extraction/max_num_points | int | Max number of points that a cluster can have (otherwise it will be discarded). | 1000000 |

##### Outlier removal parameters
#### Outlier removal parameters

See <https://pointclouds.org/documentation/tutorials/statistical_outlier.html> for more explanation on outlier removal.

Expand All @@ -104,7 +106,7 @@ See <https://pointclouds.org/documentation/tutorials/statistical_outlier.html> f
| pcl_grid_map_extraction/outlier_removal/mean_K | float | Number of neighbours to analyze for estimating statistics of a point. | 10 |
| pcl_grid_map_extraction/outlier_removal/stddev_threshold | float | Number of standard deviations under which points are considered to be inliers. | 1.0 |

##### Subsampling parameters
#### Subsampling parameters

See <https://pointclouds.org/documentation/tutorials/voxel_grid.html> for more explanation on point cloud downsampling.

Expand Down