Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kosuke Takeuchi
- Taichi Higashide
- Shintaro Tomie
- Akihisa Nagata
Authors
autoware_elevation_map_loader
Purpose
This package provides elevation map for autoware_compare_map_segmentation.
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.
The elevation value of each cell is the average value of z of the points of the lowest cluster.
Cells with No elevation value can be inpainted using the values of neighboring cells.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
input/pointcloud_map |
sensor_msgs::msg::PointCloud2 |
The point cloud map |
input/vector_map |
autoware_map_msgs::msg::LaneletMapBin |
(Optional) The binary data of lanelet2 map |
input/pointcloud_map_metadata |
autoware_map_msgs::msg::PointCloudMapMetaData |
(Optional) The metadata of point cloud map |
Output
| 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 |
Service
| Name | Type | Description |
|---|---|---|
service/get_selected_pcd_map |
autoware_map_msgs::srv::GetSelectedPointCloudMap |
(Optional) service to request point cloud map. If pointcloud_map_loader uses selected pointcloud map loading via ROS 2 service, use this. |
Parameters
Node parameters
| Name | Type | Description | Default value |
|---|---|---|---|
| map_layer_name | std::string | elevation_map layer name | elevation |
| param_file_path | std::string | GridMap parameters config | path_default |
| elevation_map_directory | std::string | elevation_map file (bag2) | path_default |
| map_frame | std::string | map_frame when loading elevation_map file | map |
| use_inpaint | bool | Whether to inpaint empty cells | true |
| inpaint_radius | float | Radius of a circular neighborhood of each point inpainted that is considered by the algorithm [m] | 0.3 |
| use_elevation_map_cloud_publisher | bool | Whether to publish output/elevation_map_cloud
|
false |
| use_lane_filter | bool | Whether to filter elevation_map with vector_map | false |
| lane_margin | float | Margin distance from the lane polygon of the area to be included in the inpainting mask [m]. Used only when use_lane_filter=True. | 0.0 |
| use_sequential_load | bool | Whether to get point cloud map by service | false |
| sequential_map_load_num | int | The number of point cloud maps to load at once (only used when use_sequential_load is set true). This should not be larger than number of all point cloud map cells. | 1 |
GridMap parameters
The parameters are described on config/elevation_map_parameters.yaml.
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
See: https://github.com/ANYbotics/grid_map/tree/ros2/grid_map_pcl
Resulting grid map parameters.
| Name | Type | Description | Default value |
|---|---|---|---|
| pcl_grid_map_extraction/grid_map/min_num_points_per_cell | int | 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. | 3 |
| pcl_grid_map_extraction/grid_map/resolution | float | Resolution of the grid map. Width and length are computed automatically. | 0.3 |
| 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
Rigid body transform parameters
Rigid body transform that is applied to the point cloud before computing elevation.
| Name | Type | Description | Default value |
|---|---|---|---|
| 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 is based on pcl algorithms. See https://pointclouds.org/documentation/tutorials/cluster_extraction.html for more details.
| Name | Type | Description | Default value |
|---|---|---|---|
| pcl_grid_map_extraction/cluster_extraction/cluster_tolerance | float | Distance between points below which they will still be considered part of one cluster. | 0.2 |
File truncated at 100 lines see the full file
Changelog for package autoware_elevation_map_loader
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- fix(design): align the perception node designs with the packages they describe (#13339) The lanelet filter components register under the lanelet_filter:: namespace, and the apollo instance segmentation and transfusion nodes are built with the autoware_ prefix on the executable name. BEVFusion, StreamPetr and LidarFRNet name param file defaults that resolve to nothing: the first two are missing the config/ prefix, and the three files LidarFRNet names are called frnet.param.yaml, ml_package_frnet_ot128.param.yaml and diagnostics_frnet.param.yaml. ElevationMapLoader pins its map_hash input with global:, which keeps the port out of the design graph: link_manager skips any connection whose target is a global input port and the exporter emits no remap. remap_target: keeps the same fixed topic name while letting the port take part in the graph.
- refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(elevation_map_loader): fix jazzy build (#11923)
- Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Sensing, Visualization and Perception Component) (#11785)
- perception component toBinMsg replacement
- visualization component fromBinMsg replacement
- sensing component fromBinMsg replacement
* perception component fromBinMsg replacement ---------
-
fix(autoware_elevation_map_loader): add empty point cloud guards (#11747)
* fix(autoware_elevation_map_loader): add empty point cloud guards Add validation to check for empty point clouds before processing to prevent undefined behavior in PCL functions and potential crashes.
- Add guard in onPointcloudMap callback
- Add guard in receiveMap after concatenation
- fix(autoware_elevation_map_loader): fix state management for empty point cloud
* fix(autoware_elevation_map_loader): use RCLCPP_WARN_THROTTLE for empty point cloud warnings ---------
-
Contributors: Ryohsuke Mitsudome, Sarun MUKDAPITAK, Yutaka Kondo
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(planning, perception): replace wall_timer with generic timer (#11005)
- feat(planning, perception): replace wall_timer with generic timer
- use rclcpp::create_timer
* remove period_ns ---------
-
Contributors: Mamoru Sobue, Ryohsuke Mitsudome
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
- Merge remote-tracking branch 'origin/main' into tmp/notbot/bump_version_base
- feat(elevation_map_loader): improve log message (#10620)
- chore(elevation_map): add \@asa-naki to maitainer (#10621)
- build(autoware_elevation_map_loader): add map_msgs dependency
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| libpcl-all-dev |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_launch | |
| autoware_perception_launch |
Launch files
- launch/elevation_map_loader.launch.xml
-
- elevation_map_directory [default: $(find-pkg-share autoware_elevation_map_loader)/data/elevation_maps]
- param_file_path [default: $(find-pkg-share autoware_elevation_map_loader)/config/elevation_map_parameters.yaml]
- use_lane_filter [default: false]
- use_sequential_load [default: false]
- sequential_map_load_num [default: 1]
- use_inpaint [default: true]
- inpaint_radius [default: 1.0]
Messages
Services
Plugins
Recent questions tagged autoware_elevation_map_loader at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kosuke Takeuchi
- Taichi Higashide
- Shintaro Tomie
- Akihisa Nagata
Authors
autoware_elevation_map_loader
Purpose
This package provides elevation map for autoware_compare_map_segmentation.
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.
The elevation value of each cell is the average value of z of the points of the lowest cluster.
Cells with No elevation value can be inpainted using the values of neighboring cells.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
input/pointcloud_map |
sensor_msgs::msg::PointCloud2 |
The point cloud map |
input/vector_map |
autoware_map_msgs::msg::LaneletMapBin |
(Optional) The binary data of lanelet2 map |
input/pointcloud_map_metadata |
autoware_map_msgs::msg::PointCloudMapMetaData |
(Optional) The metadata of point cloud map |
Output
| 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 |
Service
| Name | Type | Description |
|---|---|---|
service/get_selected_pcd_map |
autoware_map_msgs::srv::GetSelectedPointCloudMap |
(Optional) service to request point cloud map. If pointcloud_map_loader uses selected pointcloud map loading via ROS 2 service, use this. |
Parameters
Node parameters
| Name | Type | Description | Default value |
|---|---|---|---|
| map_layer_name | std::string | elevation_map layer name | elevation |
| param_file_path | std::string | GridMap parameters config | path_default |
| elevation_map_directory | std::string | elevation_map file (bag2) | path_default |
| map_frame | std::string | map_frame when loading elevation_map file | map |
| use_inpaint | bool | Whether to inpaint empty cells | true |
| inpaint_radius | float | Radius of a circular neighborhood of each point inpainted that is considered by the algorithm [m] | 0.3 |
| use_elevation_map_cloud_publisher | bool | Whether to publish output/elevation_map_cloud
|
false |
| use_lane_filter | bool | Whether to filter elevation_map with vector_map | false |
| lane_margin | float | Margin distance from the lane polygon of the area to be included in the inpainting mask [m]. Used only when use_lane_filter=True. | 0.0 |
| use_sequential_load | bool | Whether to get point cloud map by service | false |
| sequential_map_load_num | int | The number of point cloud maps to load at once (only used when use_sequential_load is set true). This should not be larger than number of all point cloud map cells. | 1 |
GridMap parameters
The parameters are described on config/elevation_map_parameters.yaml.
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
See: https://github.com/ANYbotics/grid_map/tree/ros2/grid_map_pcl
Resulting grid map parameters.
| Name | Type | Description | Default value |
|---|---|---|---|
| pcl_grid_map_extraction/grid_map/min_num_points_per_cell | int | 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. | 3 |
| pcl_grid_map_extraction/grid_map/resolution | float | Resolution of the grid map. Width and length are computed automatically. | 0.3 |
| 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
Rigid body transform parameters
Rigid body transform that is applied to the point cloud before computing elevation.
| Name | Type | Description | Default value |
|---|---|---|---|
| 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 is based on pcl algorithms. See https://pointclouds.org/documentation/tutorials/cluster_extraction.html for more details.
| Name | Type | Description | Default value |
|---|---|---|---|
| pcl_grid_map_extraction/cluster_extraction/cluster_tolerance | float | Distance between points below which they will still be considered part of one cluster. | 0.2 |
File truncated at 100 lines see the full file
Changelog for package autoware_elevation_map_loader
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- fix(design): align the perception node designs with the packages they describe (#13339) The lanelet filter components register under the lanelet_filter:: namespace, and the apollo instance segmentation and transfusion nodes are built with the autoware_ prefix on the executable name. BEVFusion, StreamPetr and LidarFRNet name param file defaults that resolve to nothing: the first two are missing the config/ prefix, and the three files LidarFRNet names are called frnet.param.yaml, ml_package_frnet_ot128.param.yaml and diagnostics_frnet.param.yaml. ElevationMapLoader pins its map_hash input with global:, which keeps the port out of the design graph: link_manager skips any connection whose target is a global input port and the exporter emits no remap. remap_target: keeps the same fixed topic name while letting the port take part in the graph.
- refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(elevation_map_loader): fix jazzy build (#11923)
- Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Sensing, Visualization and Perception Component) (#11785)
- perception component toBinMsg replacement
- visualization component fromBinMsg replacement
- sensing component fromBinMsg replacement
* perception component fromBinMsg replacement ---------
-
fix(autoware_elevation_map_loader): add empty point cloud guards (#11747)
* fix(autoware_elevation_map_loader): add empty point cloud guards Add validation to check for empty point clouds before processing to prevent undefined behavior in PCL functions and potential crashes.
- Add guard in onPointcloudMap callback
- Add guard in receiveMap after concatenation
- fix(autoware_elevation_map_loader): fix state management for empty point cloud
* fix(autoware_elevation_map_loader): use RCLCPP_WARN_THROTTLE for empty point cloud warnings ---------
-
Contributors: Ryohsuke Mitsudome, Sarun MUKDAPITAK, Yutaka Kondo
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(planning, perception): replace wall_timer with generic timer (#11005)
- feat(planning, perception): replace wall_timer with generic timer
- use rclcpp::create_timer
* remove period_ns ---------
-
Contributors: Mamoru Sobue, Ryohsuke Mitsudome
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
- Merge remote-tracking branch 'origin/main' into tmp/notbot/bump_version_base
- feat(elevation_map_loader): improve log message (#10620)
- chore(elevation_map): add \@asa-naki to maitainer (#10621)
- build(autoware_elevation_map_loader): add map_msgs dependency
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| libpcl-all-dev |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_launch | |
| autoware_perception_launch |
Launch files
- launch/elevation_map_loader.launch.xml
-
- elevation_map_directory [default: $(find-pkg-share autoware_elevation_map_loader)/data/elevation_maps]
- param_file_path [default: $(find-pkg-share autoware_elevation_map_loader)/config/elevation_map_parameters.yaml]
- use_lane_filter [default: false]
- use_sequential_load [default: false]
- sequential_map_load_num [default: 1]
- use_inpaint [default: true]
- inpaint_radius [default: 1.0]
Messages
Services
Plugins
Recent questions tagged autoware_elevation_map_loader at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kosuke Takeuchi
- Taichi Higashide
- Shintaro Tomie
- Akihisa Nagata
Authors
autoware_elevation_map_loader
Purpose
This package provides elevation map for autoware_compare_map_segmentation.
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.
The elevation value of each cell is the average value of z of the points of the lowest cluster.
Cells with No elevation value can be inpainted using the values of neighboring cells.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
input/pointcloud_map |
sensor_msgs::msg::PointCloud2 |
The point cloud map |
input/vector_map |
autoware_map_msgs::msg::LaneletMapBin |
(Optional) The binary data of lanelet2 map |
input/pointcloud_map_metadata |
autoware_map_msgs::msg::PointCloudMapMetaData |
(Optional) The metadata of point cloud map |
Output
| 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 |
Service
| Name | Type | Description |
|---|---|---|
service/get_selected_pcd_map |
autoware_map_msgs::srv::GetSelectedPointCloudMap |
(Optional) service to request point cloud map. If pointcloud_map_loader uses selected pointcloud map loading via ROS 2 service, use this. |
Parameters
Node parameters
| Name | Type | Description | Default value |
|---|---|---|---|
| map_layer_name | std::string | elevation_map layer name | elevation |
| param_file_path | std::string | GridMap parameters config | path_default |
| elevation_map_directory | std::string | elevation_map file (bag2) | path_default |
| map_frame | std::string | map_frame when loading elevation_map file | map |
| use_inpaint | bool | Whether to inpaint empty cells | true |
| inpaint_radius | float | Radius of a circular neighborhood of each point inpainted that is considered by the algorithm [m] | 0.3 |
| use_elevation_map_cloud_publisher | bool | Whether to publish output/elevation_map_cloud
|
false |
| use_lane_filter | bool | Whether to filter elevation_map with vector_map | false |
| lane_margin | float | Margin distance from the lane polygon of the area to be included in the inpainting mask [m]. Used only when use_lane_filter=True. | 0.0 |
| use_sequential_load | bool | Whether to get point cloud map by service | false |
| sequential_map_load_num | int | The number of point cloud maps to load at once (only used when use_sequential_load is set true). This should not be larger than number of all point cloud map cells. | 1 |
GridMap parameters
The parameters are described on config/elevation_map_parameters.yaml.
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
See: https://github.com/ANYbotics/grid_map/tree/ros2/grid_map_pcl
Resulting grid map parameters.
| Name | Type | Description | Default value |
|---|---|---|---|
| pcl_grid_map_extraction/grid_map/min_num_points_per_cell | int | 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. | 3 |
| pcl_grid_map_extraction/grid_map/resolution | float | Resolution of the grid map. Width and length are computed automatically. | 0.3 |
| 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
Rigid body transform parameters
Rigid body transform that is applied to the point cloud before computing elevation.
| Name | Type | Description | Default value |
|---|---|---|---|
| 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 is based on pcl algorithms. See https://pointclouds.org/documentation/tutorials/cluster_extraction.html for more details.
| Name | Type | Description | Default value |
|---|---|---|---|
| pcl_grid_map_extraction/cluster_extraction/cluster_tolerance | float | Distance between points below which they will still be considered part of one cluster. | 0.2 |
File truncated at 100 lines see the full file
Changelog for package autoware_elevation_map_loader
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- fix(design): align the perception node designs with the packages they describe (#13339) The lanelet filter components register under the lanelet_filter:: namespace, and the apollo instance segmentation and transfusion nodes are built with the autoware_ prefix on the executable name. BEVFusion, StreamPetr and LidarFRNet name param file defaults that resolve to nothing: the first two are missing the config/ prefix, and the three files LidarFRNet names are called frnet.param.yaml, ml_package_frnet_ot128.param.yaml and diagnostics_frnet.param.yaml. ElevationMapLoader pins its map_hash input with global:, which keeps the port out of the design graph: link_manager skips any connection whose target is a global input port and the exporter emits no remap. remap_target: keeps the same fixed topic name while letting the port take part in the graph.
- refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(elevation_map_loader): fix jazzy build (#11923)
- Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Sensing, Visualization and Perception Component) (#11785)
- perception component toBinMsg replacement
- visualization component fromBinMsg replacement
- sensing component fromBinMsg replacement
* perception component fromBinMsg replacement ---------
-
fix(autoware_elevation_map_loader): add empty point cloud guards (#11747)
* fix(autoware_elevation_map_loader): add empty point cloud guards Add validation to check for empty point clouds before processing to prevent undefined behavior in PCL functions and potential crashes.
- Add guard in onPointcloudMap callback
- Add guard in receiveMap after concatenation
- fix(autoware_elevation_map_loader): fix state management for empty point cloud
* fix(autoware_elevation_map_loader): use RCLCPP_WARN_THROTTLE for empty point cloud warnings ---------
-
Contributors: Ryohsuke Mitsudome, Sarun MUKDAPITAK, Yutaka Kondo
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(planning, perception): replace wall_timer with generic timer (#11005)
- feat(planning, perception): replace wall_timer with generic timer
- use rclcpp::create_timer
* remove period_ns ---------
-
Contributors: Mamoru Sobue, Ryohsuke Mitsudome
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
- Merge remote-tracking branch 'origin/main' into tmp/notbot/bump_version_base
- feat(elevation_map_loader): improve log message (#10620)
- chore(elevation_map): add \@asa-naki to maitainer (#10621)
- build(autoware_elevation_map_loader): add map_msgs dependency
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| libpcl-all-dev |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_launch | |
| autoware_perception_launch |
Launch files
- launch/elevation_map_loader.launch.xml
-
- elevation_map_directory [default: $(find-pkg-share autoware_elevation_map_loader)/data/elevation_maps]
- param_file_path [default: $(find-pkg-share autoware_elevation_map_loader)/config/elevation_map_parameters.yaml]
- use_lane_filter [default: false]
- use_sequential_load [default: false]
- sequential_map_load_num [default: 1]
- use_inpaint [default: true]
- inpaint_radius [default: 1.0]
Messages
Services
Plugins
Recent questions tagged autoware_elevation_map_loader at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kosuke Takeuchi
- Taichi Higashide
- Shintaro Tomie
- Akihisa Nagata
Authors
autoware_elevation_map_loader
Purpose
This package provides elevation map for autoware_compare_map_segmentation.
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.
The elevation value of each cell is the average value of z of the points of the lowest cluster.
Cells with No elevation value can be inpainted using the values of neighboring cells.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
input/pointcloud_map |
sensor_msgs::msg::PointCloud2 |
The point cloud map |
input/vector_map |
autoware_map_msgs::msg::LaneletMapBin |
(Optional) The binary data of lanelet2 map |
input/pointcloud_map_metadata |
autoware_map_msgs::msg::PointCloudMapMetaData |
(Optional) The metadata of point cloud map |
Output
| 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 |
Service
| Name | Type | Description |
|---|---|---|
service/get_selected_pcd_map |
autoware_map_msgs::srv::GetSelectedPointCloudMap |
(Optional) service to request point cloud map. If pointcloud_map_loader uses selected pointcloud map loading via ROS 2 service, use this. |
Parameters
Node parameters
| Name | Type | Description | Default value |
|---|---|---|---|
| map_layer_name | std::string | elevation_map layer name | elevation |
| param_file_path | std::string | GridMap parameters config | path_default |
| elevation_map_directory | std::string | elevation_map file (bag2) | path_default |
| map_frame | std::string | map_frame when loading elevation_map file | map |
| use_inpaint | bool | Whether to inpaint empty cells | true |
| inpaint_radius | float | Radius of a circular neighborhood of each point inpainted that is considered by the algorithm [m] | 0.3 |
| use_elevation_map_cloud_publisher | bool | Whether to publish output/elevation_map_cloud
|
false |
| use_lane_filter | bool | Whether to filter elevation_map with vector_map | false |
| lane_margin | float | Margin distance from the lane polygon of the area to be included in the inpainting mask [m]. Used only when use_lane_filter=True. | 0.0 |
| use_sequential_load | bool | Whether to get point cloud map by service | false |
| sequential_map_load_num | int | The number of point cloud maps to load at once (only used when use_sequential_load is set true). This should not be larger than number of all point cloud map cells. | 1 |
GridMap parameters
The parameters are described on config/elevation_map_parameters.yaml.
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
See: https://github.com/ANYbotics/grid_map/tree/ros2/grid_map_pcl
Resulting grid map parameters.
| Name | Type | Description | Default value |
|---|---|---|---|
| pcl_grid_map_extraction/grid_map/min_num_points_per_cell | int | 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. | 3 |
| pcl_grid_map_extraction/grid_map/resolution | float | Resolution of the grid map. Width and length are computed automatically. | 0.3 |
| 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
Rigid body transform parameters
Rigid body transform that is applied to the point cloud before computing elevation.
| Name | Type | Description | Default value |
|---|---|---|---|
| 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 is based on pcl algorithms. See https://pointclouds.org/documentation/tutorials/cluster_extraction.html for more details.
| Name | Type | Description | Default value |
|---|---|---|---|
| pcl_grid_map_extraction/cluster_extraction/cluster_tolerance | float | Distance between points below which they will still be considered part of one cluster. | 0.2 |
File truncated at 100 lines see the full file
Changelog for package autoware_elevation_map_loader
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- fix(design): align the perception node designs with the packages they describe (#13339) The lanelet filter components register under the lanelet_filter:: namespace, and the apollo instance segmentation and transfusion nodes are built with the autoware_ prefix on the executable name. BEVFusion, StreamPetr and LidarFRNet name param file defaults that resolve to nothing: the first two are missing the config/ prefix, and the three files LidarFRNet names are called frnet.param.yaml, ml_package_frnet_ot128.param.yaml and diagnostics_frnet.param.yaml. ElevationMapLoader pins its map_hash input with global:, which keeps the port out of the design graph: link_manager skips any connection whose target is a global input port and the exporter emits no remap. remap_target: keeps the same fixed topic name while letting the port take part in the graph.
- refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(elevation_map_loader): fix jazzy build (#11923)
- Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Sensing, Visualization and Perception Component) (#11785)
- perception component toBinMsg replacement
- visualization component fromBinMsg replacement
- sensing component fromBinMsg replacement
* perception component fromBinMsg replacement ---------
-
fix(autoware_elevation_map_loader): add empty point cloud guards (#11747)
* fix(autoware_elevation_map_loader): add empty point cloud guards Add validation to check for empty point clouds before processing to prevent undefined behavior in PCL functions and potential crashes.
- Add guard in onPointcloudMap callback
- Add guard in receiveMap after concatenation
- fix(autoware_elevation_map_loader): fix state management for empty point cloud
* fix(autoware_elevation_map_loader): use RCLCPP_WARN_THROTTLE for empty point cloud warnings ---------
-
Contributors: Ryohsuke Mitsudome, Sarun MUKDAPITAK, Yutaka Kondo
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(planning, perception): replace wall_timer with generic timer (#11005)
- feat(planning, perception): replace wall_timer with generic timer
- use rclcpp::create_timer
* remove period_ns ---------
-
Contributors: Mamoru Sobue, Ryohsuke Mitsudome
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
- Merge remote-tracking branch 'origin/main' into tmp/notbot/bump_version_base
- feat(elevation_map_loader): improve log message (#10620)
- chore(elevation_map): add \@asa-naki to maitainer (#10621)
- build(autoware_elevation_map_loader): add map_msgs dependency
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| libpcl-all-dev |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_launch | |
| autoware_perception_launch |
Launch files
- launch/elevation_map_loader.launch.xml
-
- elevation_map_directory [default: $(find-pkg-share autoware_elevation_map_loader)/data/elevation_maps]
- param_file_path [default: $(find-pkg-share autoware_elevation_map_loader)/config/elevation_map_parameters.yaml]
- use_lane_filter [default: false]
- use_sequential_load [default: false]
- sequential_map_load_num [default: 1]
- use_inpaint [default: true]
- inpaint_radius [default: 1.0]
Messages
Services
Plugins
Recent questions tagged autoware_elevation_map_loader at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kosuke Takeuchi
- Taichi Higashide
- Shintaro Tomie
- Akihisa Nagata
Authors
autoware_elevation_map_loader
Purpose
This package provides elevation map for autoware_compare_map_segmentation.
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.
The elevation value of each cell is the average value of z of the points of the lowest cluster.
Cells with No elevation value can be inpainted using the values of neighboring cells.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
input/pointcloud_map |
sensor_msgs::msg::PointCloud2 |
The point cloud map |
input/vector_map |
autoware_map_msgs::msg::LaneletMapBin |
(Optional) The binary data of lanelet2 map |
input/pointcloud_map_metadata |
autoware_map_msgs::msg::PointCloudMapMetaData |
(Optional) The metadata of point cloud map |
Output
| 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 |
Service
| Name | Type | Description |
|---|---|---|
service/get_selected_pcd_map |
autoware_map_msgs::srv::GetSelectedPointCloudMap |
(Optional) service to request point cloud map. If pointcloud_map_loader uses selected pointcloud map loading via ROS 2 service, use this. |
Parameters
Node parameters
| Name | Type | Description | Default value |
|---|---|---|---|
| map_layer_name | std::string | elevation_map layer name | elevation |
| param_file_path | std::string | GridMap parameters config | path_default |
| elevation_map_directory | std::string | elevation_map file (bag2) | path_default |
| map_frame | std::string | map_frame when loading elevation_map file | map |
| use_inpaint | bool | Whether to inpaint empty cells | true |
| inpaint_radius | float | Radius of a circular neighborhood of each point inpainted that is considered by the algorithm [m] | 0.3 |
| use_elevation_map_cloud_publisher | bool | Whether to publish output/elevation_map_cloud
|
false |
| use_lane_filter | bool | Whether to filter elevation_map with vector_map | false |
| lane_margin | float | Margin distance from the lane polygon of the area to be included in the inpainting mask [m]. Used only when use_lane_filter=True. | 0.0 |
| use_sequential_load | bool | Whether to get point cloud map by service | false |
| sequential_map_load_num | int | The number of point cloud maps to load at once (only used when use_sequential_load is set true). This should not be larger than number of all point cloud map cells. | 1 |
GridMap parameters
The parameters are described on config/elevation_map_parameters.yaml.
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
See: https://github.com/ANYbotics/grid_map/tree/ros2/grid_map_pcl
Resulting grid map parameters.
| Name | Type | Description | Default value |
|---|---|---|---|
| pcl_grid_map_extraction/grid_map/min_num_points_per_cell | int | 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. | 3 |
| pcl_grid_map_extraction/grid_map/resolution | float | Resolution of the grid map. Width and length are computed automatically. | 0.3 |
| 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
Rigid body transform parameters
Rigid body transform that is applied to the point cloud before computing elevation.
| Name | Type | Description | Default value |
|---|---|---|---|
| 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 is based on pcl algorithms. See https://pointclouds.org/documentation/tutorials/cluster_extraction.html for more details.
| Name | Type | Description | Default value |
|---|---|---|---|
| pcl_grid_map_extraction/cluster_extraction/cluster_tolerance | float | Distance between points below which they will still be considered part of one cluster. | 0.2 |
File truncated at 100 lines see the full file
Changelog for package autoware_elevation_map_loader
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- fix(design): align the perception node designs with the packages they describe (#13339) The lanelet filter components register under the lanelet_filter:: namespace, and the apollo instance segmentation and transfusion nodes are built with the autoware_ prefix on the executable name. BEVFusion, StreamPetr and LidarFRNet name param file defaults that resolve to nothing: the first two are missing the config/ prefix, and the three files LidarFRNet names are called frnet.param.yaml, ml_package_frnet_ot128.param.yaml and diagnostics_frnet.param.yaml. ElevationMapLoader pins its map_hash input with global:, which keeps the port out of the design graph: link_manager skips any connection whose target is a global input port and the exporter emits no remap. remap_target: keeps the same fixed topic name while letting the port take part in the graph.
- refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(elevation_map_loader): fix jazzy build (#11923)
- Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Sensing, Visualization and Perception Component) (#11785)
- perception component toBinMsg replacement
- visualization component fromBinMsg replacement
- sensing component fromBinMsg replacement
* perception component fromBinMsg replacement ---------
-
fix(autoware_elevation_map_loader): add empty point cloud guards (#11747)
* fix(autoware_elevation_map_loader): add empty point cloud guards Add validation to check for empty point clouds before processing to prevent undefined behavior in PCL functions and potential crashes.
- Add guard in onPointcloudMap callback
- Add guard in receiveMap after concatenation
- fix(autoware_elevation_map_loader): fix state management for empty point cloud
* fix(autoware_elevation_map_loader): use RCLCPP_WARN_THROTTLE for empty point cloud warnings ---------
-
Contributors: Ryohsuke Mitsudome, Sarun MUKDAPITAK, Yutaka Kondo
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(planning, perception): replace wall_timer with generic timer (#11005)
- feat(planning, perception): replace wall_timer with generic timer
- use rclcpp::create_timer
* remove period_ns ---------
-
Contributors: Mamoru Sobue, Ryohsuke Mitsudome
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
- Merge remote-tracking branch 'origin/main' into tmp/notbot/bump_version_base
- feat(elevation_map_loader): improve log message (#10620)
- chore(elevation_map): add \@asa-naki to maitainer (#10621)
- build(autoware_elevation_map_loader): add map_msgs dependency
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| libpcl-all-dev |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_launch | |
| autoware_perception_launch |
Launch files
- launch/elevation_map_loader.launch.xml
-
- elevation_map_directory [default: $(find-pkg-share autoware_elevation_map_loader)/data/elevation_maps]
- param_file_path [default: $(find-pkg-share autoware_elevation_map_loader)/config/elevation_map_parameters.yaml]
- use_lane_filter [default: false]
- use_sequential_load [default: false]
- sequential_map_load_num [default: 1]
- use_inpaint [default: true]
- inpaint_radius [default: 1.0]
Messages
Services
Plugins
Recent questions tagged autoware_elevation_map_loader at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kosuke Takeuchi
- Taichi Higashide
- Shintaro Tomie
- Akihisa Nagata
Authors
autoware_elevation_map_loader
Purpose
This package provides elevation map for autoware_compare_map_segmentation.
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.
The elevation value of each cell is the average value of z of the points of the lowest cluster.
Cells with No elevation value can be inpainted using the values of neighboring cells.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
input/pointcloud_map |
sensor_msgs::msg::PointCloud2 |
The point cloud map |
input/vector_map |
autoware_map_msgs::msg::LaneletMapBin |
(Optional) The binary data of lanelet2 map |
input/pointcloud_map_metadata |
autoware_map_msgs::msg::PointCloudMapMetaData |
(Optional) The metadata of point cloud map |
Output
| 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 |
Service
| Name | Type | Description |
|---|---|---|
service/get_selected_pcd_map |
autoware_map_msgs::srv::GetSelectedPointCloudMap |
(Optional) service to request point cloud map. If pointcloud_map_loader uses selected pointcloud map loading via ROS 2 service, use this. |
Parameters
Node parameters
| Name | Type | Description | Default value |
|---|---|---|---|
| map_layer_name | std::string | elevation_map layer name | elevation |
| param_file_path | std::string | GridMap parameters config | path_default |
| elevation_map_directory | std::string | elevation_map file (bag2) | path_default |
| map_frame | std::string | map_frame when loading elevation_map file | map |
| use_inpaint | bool | Whether to inpaint empty cells | true |
| inpaint_radius | float | Radius of a circular neighborhood of each point inpainted that is considered by the algorithm [m] | 0.3 |
| use_elevation_map_cloud_publisher | bool | Whether to publish output/elevation_map_cloud
|
false |
| use_lane_filter | bool | Whether to filter elevation_map with vector_map | false |
| lane_margin | float | Margin distance from the lane polygon of the area to be included in the inpainting mask [m]. Used only when use_lane_filter=True. | 0.0 |
| use_sequential_load | bool | Whether to get point cloud map by service | false |
| sequential_map_load_num | int | The number of point cloud maps to load at once (only used when use_sequential_load is set true). This should not be larger than number of all point cloud map cells. | 1 |
GridMap parameters
The parameters are described on config/elevation_map_parameters.yaml.
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
See: https://github.com/ANYbotics/grid_map/tree/ros2/grid_map_pcl
Resulting grid map parameters.
| Name | Type | Description | Default value |
|---|---|---|---|
| pcl_grid_map_extraction/grid_map/min_num_points_per_cell | int | 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. | 3 |
| pcl_grid_map_extraction/grid_map/resolution | float | Resolution of the grid map. Width and length are computed automatically. | 0.3 |
| 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
Rigid body transform parameters
Rigid body transform that is applied to the point cloud before computing elevation.
| Name | Type | Description | Default value |
|---|---|---|---|
| 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 is based on pcl algorithms. See https://pointclouds.org/documentation/tutorials/cluster_extraction.html for more details.
| Name | Type | Description | Default value |
|---|---|---|---|
| pcl_grid_map_extraction/cluster_extraction/cluster_tolerance | float | Distance between points below which they will still be considered part of one cluster. | 0.2 |
File truncated at 100 lines see the full file
Changelog for package autoware_elevation_map_loader
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- fix(design): align the perception node designs with the packages they describe (#13339) The lanelet filter components register under the lanelet_filter:: namespace, and the apollo instance segmentation and transfusion nodes are built with the autoware_ prefix on the executable name. BEVFusion, StreamPetr and LidarFRNet name param file defaults that resolve to nothing: the first two are missing the config/ prefix, and the three files LidarFRNet names are called frnet.param.yaml, ml_package_frnet_ot128.param.yaml and diagnostics_frnet.param.yaml. ElevationMapLoader pins its map_hash input with global:, which keeps the port out of the design graph: link_manager skips any connection whose target is a global input port and the exporter emits no remap. remap_target: keeps the same fixed topic name while letting the port take part in the graph.
- refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(elevation_map_loader): fix jazzy build (#11923)
- Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Sensing, Visualization and Perception Component) (#11785)
- perception component toBinMsg replacement
- visualization component fromBinMsg replacement
- sensing component fromBinMsg replacement
* perception component fromBinMsg replacement ---------
-
fix(autoware_elevation_map_loader): add empty point cloud guards (#11747)
* fix(autoware_elevation_map_loader): add empty point cloud guards Add validation to check for empty point clouds before processing to prevent undefined behavior in PCL functions and potential crashes.
- Add guard in onPointcloudMap callback
- Add guard in receiveMap after concatenation
- fix(autoware_elevation_map_loader): fix state management for empty point cloud
* fix(autoware_elevation_map_loader): use RCLCPP_WARN_THROTTLE for empty point cloud warnings ---------
-
Contributors: Ryohsuke Mitsudome, Sarun MUKDAPITAK, Yutaka Kondo
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(planning, perception): replace wall_timer with generic timer (#11005)
- feat(planning, perception): replace wall_timer with generic timer
- use rclcpp::create_timer
* remove period_ns ---------
-
Contributors: Mamoru Sobue, Ryohsuke Mitsudome
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
- Merge remote-tracking branch 'origin/main' into tmp/notbot/bump_version_base
- feat(elevation_map_loader): improve log message (#10620)
- chore(elevation_map): add \@asa-naki to maitainer (#10621)
- build(autoware_elevation_map_loader): add map_msgs dependency
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| libpcl-all-dev |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_launch | |
| autoware_perception_launch |
Launch files
- launch/elevation_map_loader.launch.xml
-
- elevation_map_directory [default: $(find-pkg-share autoware_elevation_map_loader)/data/elevation_maps]
- param_file_path [default: $(find-pkg-share autoware_elevation_map_loader)/config/elevation_map_parameters.yaml]
- use_lane_filter [default: false]
- use_sequential_load [default: false]
- sequential_map_load_num [default: 1]
- use_inpaint [default: true]
- inpaint_radius [default: 1.0]
Messages
Services
Plugins
Recent questions tagged autoware_elevation_map_loader at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kosuke Takeuchi
- Taichi Higashide
- Shintaro Tomie
- Akihisa Nagata
Authors
autoware_elevation_map_loader
Purpose
This package provides elevation map for autoware_compare_map_segmentation.
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.
The elevation value of each cell is the average value of z of the points of the lowest cluster.
Cells with No elevation value can be inpainted using the values of neighboring cells.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
input/pointcloud_map |
sensor_msgs::msg::PointCloud2 |
The point cloud map |
input/vector_map |
autoware_map_msgs::msg::LaneletMapBin |
(Optional) The binary data of lanelet2 map |
input/pointcloud_map_metadata |
autoware_map_msgs::msg::PointCloudMapMetaData |
(Optional) The metadata of point cloud map |
Output
| 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 |
Service
| Name | Type | Description |
|---|---|---|
service/get_selected_pcd_map |
autoware_map_msgs::srv::GetSelectedPointCloudMap |
(Optional) service to request point cloud map. If pointcloud_map_loader uses selected pointcloud map loading via ROS 2 service, use this. |
Parameters
Node parameters
| Name | Type | Description | Default value |
|---|---|---|---|
| map_layer_name | std::string | elevation_map layer name | elevation |
| param_file_path | std::string | GridMap parameters config | path_default |
| elevation_map_directory | std::string | elevation_map file (bag2) | path_default |
| map_frame | std::string | map_frame when loading elevation_map file | map |
| use_inpaint | bool | Whether to inpaint empty cells | true |
| inpaint_radius | float | Radius of a circular neighborhood of each point inpainted that is considered by the algorithm [m] | 0.3 |
| use_elevation_map_cloud_publisher | bool | Whether to publish output/elevation_map_cloud
|
false |
| use_lane_filter | bool | Whether to filter elevation_map with vector_map | false |
| lane_margin | float | Margin distance from the lane polygon of the area to be included in the inpainting mask [m]. Used only when use_lane_filter=True. | 0.0 |
| use_sequential_load | bool | Whether to get point cloud map by service | false |
| sequential_map_load_num | int | The number of point cloud maps to load at once (only used when use_sequential_load is set true). This should not be larger than number of all point cloud map cells. | 1 |
GridMap parameters
The parameters are described on config/elevation_map_parameters.yaml.
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
See: https://github.com/ANYbotics/grid_map/tree/ros2/grid_map_pcl
Resulting grid map parameters.
| Name | Type | Description | Default value |
|---|---|---|---|
| pcl_grid_map_extraction/grid_map/min_num_points_per_cell | int | 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. | 3 |
| pcl_grid_map_extraction/grid_map/resolution | float | Resolution of the grid map. Width and length are computed automatically. | 0.3 |
| 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
Rigid body transform parameters
Rigid body transform that is applied to the point cloud before computing elevation.
| Name | Type | Description | Default value |
|---|---|---|---|
| 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 is based on pcl algorithms. See https://pointclouds.org/documentation/tutorials/cluster_extraction.html for more details.
| Name | Type | Description | Default value |
|---|---|---|---|
| pcl_grid_map_extraction/cluster_extraction/cluster_tolerance | float | Distance between points below which they will still be considered part of one cluster. | 0.2 |
File truncated at 100 lines see the full file
Changelog for package autoware_elevation_map_loader
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- fix(design): align the perception node designs with the packages they describe (#13339) The lanelet filter components register under the lanelet_filter:: namespace, and the apollo instance segmentation and transfusion nodes are built with the autoware_ prefix on the executable name. BEVFusion, StreamPetr and LidarFRNet name param file defaults that resolve to nothing: the first two are missing the config/ prefix, and the three files LidarFRNet names are called frnet.param.yaml, ml_package_frnet_ot128.param.yaml and diagnostics_frnet.param.yaml. ElevationMapLoader pins its map_hash input with global:, which keeps the port out of the design graph: link_manager skips any connection whose target is a global input port and the exporter emits no remap. remap_target: keeps the same fixed topic name while letting the port take part in the graph.
- refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(elevation_map_loader): fix jazzy build (#11923)
- Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Sensing, Visualization and Perception Component) (#11785)
- perception component toBinMsg replacement
- visualization component fromBinMsg replacement
- sensing component fromBinMsg replacement
* perception component fromBinMsg replacement ---------
-
fix(autoware_elevation_map_loader): add empty point cloud guards (#11747)
* fix(autoware_elevation_map_loader): add empty point cloud guards Add validation to check for empty point clouds before processing to prevent undefined behavior in PCL functions and potential crashes.
- Add guard in onPointcloudMap callback
- Add guard in receiveMap after concatenation
- fix(autoware_elevation_map_loader): fix state management for empty point cloud
* fix(autoware_elevation_map_loader): use RCLCPP_WARN_THROTTLE for empty point cloud warnings ---------
-
Contributors: Ryohsuke Mitsudome, Sarun MUKDAPITAK, Yutaka Kondo
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(planning, perception): replace wall_timer with generic timer (#11005)
- feat(planning, perception): replace wall_timer with generic timer
- use rclcpp::create_timer
* remove period_ns ---------
-
Contributors: Mamoru Sobue, Ryohsuke Mitsudome
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
- Merge remote-tracking branch 'origin/main' into tmp/notbot/bump_version_base
- feat(elevation_map_loader): improve log message (#10620)
- chore(elevation_map): add \@asa-naki to maitainer (#10621)
- build(autoware_elevation_map_loader): add map_msgs dependency
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| libpcl-all-dev |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_launch | |
| autoware_perception_launch |
Launch files
- launch/elevation_map_loader.launch.xml
-
- elevation_map_directory [default: $(find-pkg-share autoware_elevation_map_loader)/data/elevation_maps]
- param_file_path [default: $(find-pkg-share autoware_elevation_map_loader)/config/elevation_map_parameters.yaml]
- use_lane_filter [default: false]
- use_sequential_load [default: false]
- sequential_map_load_num [default: 1]
- use_inpaint [default: true]
- inpaint_radius [default: 1.0]
Messages
Services
Plugins
Recent questions tagged autoware_elevation_map_loader at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kosuke Takeuchi
- Taichi Higashide
- Shintaro Tomie
- Akihisa Nagata
Authors
autoware_elevation_map_loader
Purpose
This package provides elevation map for autoware_compare_map_segmentation.
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.
The elevation value of each cell is the average value of z of the points of the lowest cluster.
Cells with No elevation value can be inpainted using the values of neighboring cells.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
input/pointcloud_map |
sensor_msgs::msg::PointCloud2 |
The point cloud map |
input/vector_map |
autoware_map_msgs::msg::LaneletMapBin |
(Optional) The binary data of lanelet2 map |
input/pointcloud_map_metadata |
autoware_map_msgs::msg::PointCloudMapMetaData |
(Optional) The metadata of point cloud map |
Output
| 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 |
Service
| Name | Type | Description |
|---|---|---|
service/get_selected_pcd_map |
autoware_map_msgs::srv::GetSelectedPointCloudMap |
(Optional) service to request point cloud map. If pointcloud_map_loader uses selected pointcloud map loading via ROS 2 service, use this. |
Parameters
Node parameters
| Name | Type | Description | Default value |
|---|---|---|---|
| map_layer_name | std::string | elevation_map layer name | elevation |
| param_file_path | std::string | GridMap parameters config | path_default |
| elevation_map_directory | std::string | elevation_map file (bag2) | path_default |
| map_frame | std::string | map_frame when loading elevation_map file | map |
| use_inpaint | bool | Whether to inpaint empty cells | true |
| inpaint_radius | float | Radius of a circular neighborhood of each point inpainted that is considered by the algorithm [m] | 0.3 |
| use_elevation_map_cloud_publisher | bool | Whether to publish output/elevation_map_cloud
|
false |
| use_lane_filter | bool | Whether to filter elevation_map with vector_map | false |
| lane_margin | float | Margin distance from the lane polygon of the area to be included in the inpainting mask [m]. Used only when use_lane_filter=True. | 0.0 |
| use_sequential_load | bool | Whether to get point cloud map by service | false |
| sequential_map_load_num | int | The number of point cloud maps to load at once (only used when use_sequential_load is set true). This should not be larger than number of all point cloud map cells. | 1 |
GridMap parameters
The parameters are described on config/elevation_map_parameters.yaml.
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
See: https://github.com/ANYbotics/grid_map/tree/ros2/grid_map_pcl
Resulting grid map parameters.
| Name | Type | Description | Default value |
|---|---|---|---|
| pcl_grid_map_extraction/grid_map/min_num_points_per_cell | int | 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. | 3 |
| pcl_grid_map_extraction/grid_map/resolution | float | Resolution of the grid map. Width and length are computed automatically. | 0.3 |
| 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
Rigid body transform parameters
Rigid body transform that is applied to the point cloud before computing elevation.
| Name | Type | Description | Default value |
|---|---|---|---|
| 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 is based on pcl algorithms. See https://pointclouds.org/documentation/tutorials/cluster_extraction.html for more details.
| Name | Type | Description | Default value |
|---|---|---|---|
| pcl_grid_map_extraction/cluster_extraction/cluster_tolerance | float | Distance between points below which they will still be considered part of one cluster. | 0.2 |
File truncated at 100 lines see the full file
Changelog for package autoware_elevation_map_loader
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- fix(design): align the perception node designs with the packages they describe (#13339) The lanelet filter components register under the lanelet_filter:: namespace, and the apollo instance segmentation and transfusion nodes are built with the autoware_ prefix on the executable name. BEVFusion, StreamPetr and LidarFRNet name param file defaults that resolve to nothing: the first two are missing the config/ prefix, and the three files LidarFRNet names are called frnet.param.yaml, ml_package_frnet_ot128.param.yaml and diagnostics_frnet.param.yaml. ElevationMapLoader pins its map_hash input with global:, which keeps the port out of the design graph: link_manager skips any connection whose target is a global input port and the exporter emits no remap. remap_target: keeps the same fixed topic name while letting the port take part in the graph.
- refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(elevation_map_loader): fix jazzy build (#11923)
- Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Sensing, Visualization and Perception Component) (#11785)
- perception component toBinMsg replacement
- visualization component fromBinMsg replacement
- sensing component fromBinMsg replacement
* perception component fromBinMsg replacement ---------
-
fix(autoware_elevation_map_loader): add empty point cloud guards (#11747)
* fix(autoware_elevation_map_loader): add empty point cloud guards Add validation to check for empty point clouds before processing to prevent undefined behavior in PCL functions and potential crashes.
- Add guard in onPointcloudMap callback
- Add guard in receiveMap after concatenation
- fix(autoware_elevation_map_loader): fix state management for empty point cloud
* fix(autoware_elevation_map_loader): use RCLCPP_WARN_THROTTLE for empty point cloud warnings ---------
-
Contributors: Ryohsuke Mitsudome, Sarun MUKDAPITAK, Yutaka Kondo
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(planning, perception): replace wall_timer with generic timer (#11005)
- feat(planning, perception): replace wall_timer with generic timer
- use rclcpp::create_timer
* remove period_ns ---------
-
Contributors: Mamoru Sobue, Ryohsuke Mitsudome
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
- Merge remote-tracking branch 'origin/main' into tmp/notbot/bump_version_base
- feat(elevation_map_loader): improve log message (#10620)
- chore(elevation_map): add \@asa-naki to maitainer (#10621)
- build(autoware_elevation_map_loader): add map_msgs dependency
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| libpcl-all-dev |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_launch | |
| autoware_perception_launch |
Launch files
- launch/elevation_map_loader.launch.xml
-
- elevation_map_directory [default: $(find-pkg-share autoware_elevation_map_loader)/data/elevation_maps]
- param_file_path [default: $(find-pkg-share autoware_elevation_map_loader)/config/elevation_map_parameters.yaml]
- use_lane_filter [default: false]
- use_sequential_load [default: false]
- sequential_map_load_num [default: 1]
- use_inpaint [default: true]
- inpaint_radius [default: 1.0]
Messages
Services
Plugins
Recent questions tagged autoware_elevation_map_loader at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kosuke Takeuchi
- Taichi Higashide
- Shintaro Tomie
- Akihisa Nagata
Authors
autoware_elevation_map_loader
Purpose
This package provides elevation map for autoware_compare_map_segmentation.
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.
The elevation value of each cell is the average value of z of the points of the lowest cluster.
Cells with No elevation value can be inpainted using the values of neighboring cells.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
input/pointcloud_map |
sensor_msgs::msg::PointCloud2 |
The point cloud map |
input/vector_map |
autoware_map_msgs::msg::LaneletMapBin |
(Optional) The binary data of lanelet2 map |
input/pointcloud_map_metadata |
autoware_map_msgs::msg::PointCloudMapMetaData |
(Optional) The metadata of point cloud map |
Output
| 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 |
Service
| Name | Type | Description |
|---|---|---|
service/get_selected_pcd_map |
autoware_map_msgs::srv::GetSelectedPointCloudMap |
(Optional) service to request point cloud map. If pointcloud_map_loader uses selected pointcloud map loading via ROS 2 service, use this. |
Parameters
Node parameters
| Name | Type | Description | Default value |
|---|---|---|---|
| map_layer_name | std::string | elevation_map layer name | elevation |
| param_file_path | std::string | GridMap parameters config | path_default |
| elevation_map_directory | std::string | elevation_map file (bag2) | path_default |
| map_frame | std::string | map_frame when loading elevation_map file | map |
| use_inpaint | bool | Whether to inpaint empty cells | true |
| inpaint_radius | float | Radius of a circular neighborhood of each point inpainted that is considered by the algorithm [m] | 0.3 |
| use_elevation_map_cloud_publisher | bool | Whether to publish output/elevation_map_cloud
|
false |
| use_lane_filter | bool | Whether to filter elevation_map with vector_map | false |
| lane_margin | float | Margin distance from the lane polygon of the area to be included in the inpainting mask [m]. Used only when use_lane_filter=True. | 0.0 |
| use_sequential_load | bool | Whether to get point cloud map by service | false |
| sequential_map_load_num | int | The number of point cloud maps to load at once (only used when use_sequential_load is set true). This should not be larger than number of all point cloud map cells. | 1 |
GridMap parameters
The parameters are described on config/elevation_map_parameters.yaml.
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
See: https://github.com/ANYbotics/grid_map/tree/ros2/grid_map_pcl
Resulting grid map parameters.
| Name | Type | Description | Default value |
|---|---|---|---|
| pcl_grid_map_extraction/grid_map/min_num_points_per_cell | int | 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. | 3 |
| pcl_grid_map_extraction/grid_map/resolution | float | Resolution of the grid map. Width and length are computed automatically. | 0.3 |
| 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
Rigid body transform parameters
Rigid body transform that is applied to the point cloud before computing elevation.
| Name | Type | Description | Default value |
|---|---|---|---|
| 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 is based on pcl algorithms. See https://pointclouds.org/documentation/tutorials/cluster_extraction.html for more details.
| Name | Type | Description | Default value |
|---|---|---|---|
| pcl_grid_map_extraction/cluster_extraction/cluster_tolerance | float | Distance between points below which they will still be considered part of one cluster. | 0.2 |
File truncated at 100 lines see the full file
Changelog for package autoware_elevation_map_loader
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- fix(design): align the perception node designs with the packages they describe (#13339) The lanelet filter components register under the lanelet_filter:: namespace, and the apollo instance segmentation and transfusion nodes are built with the autoware_ prefix on the executable name. BEVFusion, StreamPetr and LidarFRNet name param file defaults that resolve to nothing: the first two are missing the config/ prefix, and the three files LidarFRNet names are called frnet.param.yaml, ml_package_frnet_ot128.param.yaml and diagnostics_frnet.param.yaml. ElevationMapLoader pins its map_hash input with global:, which keeps the port out of the design graph: link_manager skips any connection whose target is a global input port and the exporter emits no remap. remap_target: keeps the same fixed topic name while letting the port take part in the graph.
- refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(elevation_map_loader): fix jazzy build (#11923)
- Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Sensing, Visualization and Perception Component) (#11785)
- perception component toBinMsg replacement
- visualization component fromBinMsg replacement
- sensing component fromBinMsg replacement
* perception component fromBinMsg replacement ---------
-
fix(autoware_elevation_map_loader): add empty point cloud guards (#11747)
* fix(autoware_elevation_map_loader): add empty point cloud guards Add validation to check for empty point clouds before processing to prevent undefined behavior in PCL functions and potential crashes.
- Add guard in onPointcloudMap callback
- Add guard in receiveMap after concatenation
- fix(autoware_elevation_map_loader): fix state management for empty point cloud
* fix(autoware_elevation_map_loader): use RCLCPP_WARN_THROTTLE for empty point cloud warnings ---------
-
Contributors: Ryohsuke Mitsudome, Sarun MUKDAPITAK, Yutaka Kondo
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(planning, perception): replace wall_timer with generic timer (#11005)
- feat(planning, perception): replace wall_timer with generic timer
- use rclcpp::create_timer
* remove period_ns ---------
-
Contributors: Mamoru Sobue, Ryohsuke Mitsudome
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
- Merge remote-tracking branch 'origin/main' into tmp/notbot/bump_version_base
- feat(elevation_map_loader): improve log message (#10620)
- chore(elevation_map): add \@asa-naki to maitainer (#10621)
- build(autoware_elevation_map_loader): add map_msgs dependency
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| libpcl-all-dev |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_launch | |
| autoware_perception_launch |
Launch files
- launch/elevation_map_loader.launch.xml
-
- elevation_map_directory [default: $(find-pkg-share autoware_elevation_map_loader)/data/elevation_maps]
- param_file_path [default: $(find-pkg-share autoware_elevation_map_loader)/config/elevation_map_parameters.yaml]
- use_lane_filter [default: false]
- use_sequential_load [default: false]
- sequential_map_load_num [default: 1]
- use_inpaint [default: true]
- inpaint_radius [default: 1.0]
Messages
Services
Plugins
Recent questions tagged autoware_elevation_map_loader at Robotics Stack Exchange
Package Summary
| Version | 0.53.0 |
| License | Apache License 2.0 |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/autowarefoundation/autoware_universe.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-10-23 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Kosuke Takeuchi
- Taichi Higashide
- Shintaro Tomie
- Akihisa Nagata
Authors
autoware_elevation_map_loader
Purpose
This package provides elevation map for autoware_compare_map_segmentation.
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.
The elevation value of each cell is the average value of z of the points of the lowest cluster.
Cells with No elevation value can be inpainted using the values of neighboring cells.
Inputs / Outputs
Input
| Name | Type | Description |
|---|---|---|
input/pointcloud_map |
sensor_msgs::msg::PointCloud2 |
The point cloud map |
input/vector_map |
autoware_map_msgs::msg::LaneletMapBin |
(Optional) The binary data of lanelet2 map |
input/pointcloud_map_metadata |
autoware_map_msgs::msg::PointCloudMapMetaData |
(Optional) The metadata of point cloud map |
Output
| 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 |
Service
| Name | Type | Description |
|---|---|---|
service/get_selected_pcd_map |
autoware_map_msgs::srv::GetSelectedPointCloudMap |
(Optional) service to request point cloud map. If pointcloud_map_loader uses selected pointcloud map loading via ROS 2 service, use this. |
Parameters
Node parameters
| Name | Type | Description | Default value |
|---|---|---|---|
| map_layer_name | std::string | elevation_map layer name | elevation |
| param_file_path | std::string | GridMap parameters config | path_default |
| elevation_map_directory | std::string | elevation_map file (bag2) | path_default |
| map_frame | std::string | map_frame when loading elevation_map file | map |
| use_inpaint | bool | Whether to inpaint empty cells | true |
| inpaint_radius | float | Radius of a circular neighborhood of each point inpainted that is considered by the algorithm [m] | 0.3 |
| use_elevation_map_cloud_publisher | bool | Whether to publish output/elevation_map_cloud
|
false |
| use_lane_filter | bool | Whether to filter elevation_map with vector_map | false |
| lane_margin | float | Margin distance from the lane polygon of the area to be included in the inpainting mask [m]. Used only when use_lane_filter=True. | 0.0 |
| use_sequential_load | bool | Whether to get point cloud map by service | false |
| sequential_map_load_num | int | The number of point cloud maps to load at once (only used when use_sequential_load is set true). This should not be larger than number of all point cloud map cells. | 1 |
GridMap parameters
The parameters are described on config/elevation_map_parameters.yaml.
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
See: https://github.com/ANYbotics/grid_map/tree/ros2/grid_map_pcl
Resulting grid map parameters.
| Name | Type | Description | Default value |
|---|---|---|---|
| pcl_grid_map_extraction/grid_map/min_num_points_per_cell | int | 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. | 3 |
| pcl_grid_map_extraction/grid_map/resolution | float | Resolution of the grid map. Width and length are computed automatically. | 0.3 |
| 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
Rigid body transform parameters
Rigid body transform that is applied to the point cloud before computing elevation.
| Name | Type | Description | Default value |
|---|---|---|---|
| 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 is based on pcl algorithms. See https://pointclouds.org/documentation/tutorials/cluster_extraction.html for more details.
| Name | Type | Description | Default value |
|---|---|---|---|
| pcl_grid_map_extraction/cluster_extraction/cluster_tolerance | float | Distance between points below which they will still be considered part of one cluster. | 0.2 |
File truncated at 100 lines see the full file
Changelog for package autoware_elevation_map_loader
0.53.0 (2026-09-29)
- Merge remote-tracking branch 'origin/main' into prepare-0.53.0-changelog
- fix(design): align the perception node designs with the packages they describe (#13339) The lanelet filter components register under the lanelet_filter:: namespace, and the apollo instance segmentation and transfusion nodes are built with the autoware_ prefix on the executable name. BEVFusion, StreamPetr and LidarFRNet name param file defaults that resolve to nothing: the first two are missing the config/ prefix, and the three files LidarFRNet names are called frnet.param.yaml, ml_package_frnet_ot128.param.yaml and diagnostics_frnet.param.yaml. ElevationMapLoader pins its map_hash input with global:, which keeps the port out of the design graph: link_manager skips any connection whose target is a global input port and the exporter emits no remap. remap_target: keeps the same fixed topic name while letting the port take part in the graph.
- refactor(perception): move node design files into each package (#13104) Co-authored-by: Claude Opus 5 (1M context) <<noreply@anthropic.com>>
- Contributors: Ryohsuke Mitsudome, Taekjin LEE
0.52.0 (2026-06-30)
0.51.0 (2026-05-01)
0.50.0 (2026-02-14)
- Merge remote-tracking branch 'origin/main' into humble
- fix(elevation_map_loader): fix jazzy build (#11923)
- Contributors: Mete Fatih Cırıt, Ryohsuke Mitsudome
0.49.0 (2025-12-30)
-
Merge remote-tracking branch 'origin/main' into prepare-0.49.0-changelog
-
feat(autoware_lanelet2_utils): replace from/toBinMsg (Sensing, Visualization and Perception Component) (#11785)
- perception component toBinMsg replacement
- visualization component fromBinMsg replacement
- sensing component fromBinMsg replacement
* perception component fromBinMsg replacement ---------
-
fix(autoware_elevation_map_loader): add empty point cloud guards (#11747)
* fix(autoware_elevation_map_loader): add empty point cloud guards Add validation to check for empty point clouds before processing to prevent undefined behavior in PCL functions and potential crashes.
- Add guard in onPointcloudMap callback
- Add guard in receiveMap after concatenation
- fix(autoware_elevation_map_loader): fix state management for empty point cloud
* fix(autoware_elevation_map_loader): use RCLCPP_WARN_THROTTLE for empty point cloud warnings ---------
-
Contributors: Ryohsuke Mitsudome, Sarun MUKDAPITAK, Yutaka Kondo
0.48.0 (2025-11-18)
-
Merge remote-tracking branch 'origin/main' into humble
-
feat(planning, perception): replace wall_timer with generic timer (#11005)
- feat(planning, perception): replace wall_timer with generic timer
- use rclcpp::create_timer
* remove period_ns ---------
-
Contributors: Mamoru Sobue, Ryohsuke Mitsudome
0.47.1 (2025-08-14)
0.47.0 (2025-08-11)
0.46.0 (2025-06-20)
0.45.0 (2025-05-22)
- Merge remote-tracking branch 'origin/main' into tmp/notbot/bump_version_base
- feat(elevation_map_loader): improve log message (#10620)
- chore(elevation_map): add \@asa-naki to maitainer (#10621)
- build(autoware_elevation_map_loader): add map_msgs dependency
File truncated at 100 lines see the full file
Package Dependencies
System Dependencies
| Name |
|---|
| libpcl-all-dev |
Dependant Packages
| Name | Deps |
|---|---|
| autoware_launch | |
| autoware_perception_launch |
Launch files
- launch/elevation_map_loader.launch.xml
-
- elevation_map_directory [default: $(find-pkg-share autoware_elevation_map_loader)/data/elevation_maps]
- param_file_path [default: $(find-pkg-share autoware_elevation_map_loader)/config/elevation_map_parameters.yaml]
- use_lane_filter [default: false]
- use_sequential_load [default: false]
- sequential_map_load_num [default: 1]
- use_inpaint [default: true]
- inpaint_radius [default: 1.0]