Package symbol

autoware_ground_filter package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_admission autoware_component_interface_specs autoware_component_interface_utils autoware_geography_utils autoware_global_parameter_loader autoware_interface_spec_lint autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_test_manager autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.10.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-10-07
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The ROS 2 autoware_ground_filter package

Maintainers

  • amc-nu
  • Yukihiro Saito
  • Dai Nguyen
  • Yoshi Ri
  • Junya Sasaki

Authors

  • Open Perception
  • Julius Kammerl
  • William Woodall

autoware_ground_filter

Purpose

The autoware_ground_filter is a node that remove the ground points from the input pointcloud.

Inner-workings / Algorithms

Detail description of each ground segmentation algorithm is in the following links.

Filter Name Description Detail
ground_filter A method of removing the ground based on the geometrical relationship between points lined up on radiation link

Inputs / Outputs

The interfaces below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_interfaces_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameters

Node Parameters

The node launch parameters below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_param_values_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameter files

{{ node_param_files_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

The ground segmentation parameters are described in ground-filter.md.

Assumptions / Known limits

Implemented based on pcl_perception [1] because of this issue.

[1] https://github.com/ros-perception/perception_pcl/blob/ros2/pcl_ros/src/pcl_ros/filters/filter.cpp

CHANGELOG

Changelog for package autoware_ground_filter

1.1.0 (2025-05-01)

  • feat(autoware_utils): remove managed transform buffer (#360)

    • feat(autoware_utils): remove managed transform buffer

    * fix(autoware_ground_filter): redundant inclusion ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>

  • Contributors: Amadeusz Szymko

1.10.0 (2026-09-28)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • docs(mkdocs_macros): render README interfaces and parameters from node design files (#1399)

    • feat(mkdocs_macros): render node design files and resolve schema $ref
    • build(pre-commit): bump autoware_system_designer to v0.4.2 for design format 0.4.0

    * docs(autoware_ground_filter): generate README interfaces and parameters from the node design file ---------

  • fix(perception): declare the dependencies these packages use (#1371) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.

  • feat: [codecov/refactoring] [ground_filter] Step 3 - Unit test revamp (#1216)

    • designated unit test suite in step 3 to be a friend class to allow access to private maths and ensure strict encapsulation
    • also expose the same for new Radial related unit tests
    • lock legacy 11 test cases for grid mode, and add new calss for radial mode unit testing
    • add test 1 of radial mode unit test
    • add test 2 of radial mode unit test
    • add test 3 of radial mode unit test
    • add test 4 of radial mode unit test
    • add test 5 of radial mode unit test
    • addressed the floating point rounding error in test 3, all good now
    • refactor([downsample_filters]{.title-ref}): simplify core logic (#1219)
    • bug: remove unused [transform_info]{.title-ref}

    * cosmetic: improve comments for readability ---------

    • moved setDataAccessor and process helper funcs back to private
    • removed the friend exposers of test classes
    • removed the friend class references in test_ground_filter
    • removed test 1 and 2 since they are basic math checkings, also revamped test 4 to be more sense
    • revamped test 5 to use the newly revamped group filter architecture:
    • also removed test 3 cuz it is too much of testing basic maths and won't really stand in the future when someone changes algo
    • added new test to verify a case when points in different azimuths towering above ground
    • within the 11 original tests, for every test involving legacy combo of setDataAcessor and process, replace it with comprehensive filter func

    * fixed the indexing issue in test ClassifyLocalAndGlobalSlopes, now all good wonderful yayyyy ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • Tran ground filter step2 core logic isolation (#1214)

    • added TEST 2 as a consolidate of 5/25 previous test_node (btw just realized precommit wont accept your commits until you fix em, damn
    • added 3rd test under indices publishing
    • added 4rd test under approximate sync functionality
    • strengthen TEST 2 with an incomparable point cloud
    • added TEST 5 to verify elevation_grid_mode is good and cool
    • rename node to ground_filter_node
    • also update node include to ground filter node include
    • updated GroundFilterParameter struct to envision the new core logic isolation

File truncated at 100 lines see the full file

Launch files

  • launch/ground_filter.launch.xml
      • ground_segmentation_param_file [default: $(find-pkg-share autoware_ground_filter)/config/ground_filter.param.yaml]
      • vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
      • input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
      • output/pointcloud [default: /perception/obstacle_segmentation/pointcloud]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_ground_filter at Robotics Stack Exchange

Package symbol

autoware_ground_filter package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_admission autoware_component_interface_specs autoware_component_interface_utils autoware_geography_utils autoware_global_parameter_loader autoware_interface_spec_lint autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_test_manager autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
jazzy

Package Summary

Version 1.10.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-10-07
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The ROS 2 autoware_ground_filter package

Maintainers

  • amc-nu
  • Yukihiro Saito
  • Dai Nguyen
  • Yoshi Ri
  • Junya Sasaki

Authors

  • Open Perception
  • Julius Kammerl
  • William Woodall

autoware_ground_filter

Purpose

The autoware_ground_filter is a node that remove the ground points from the input pointcloud.

Inner-workings / Algorithms

Detail description of each ground segmentation algorithm is in the following links.

Filter Name Description Detail
ground_filter A method of removing the ground based on the geometrical relationship between points lined up on radiation link

Inputs / Outputs

The interfaces below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_interfaces_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameters

Node Parameters

The node launch parameters below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_param_values_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameter files

{{ node_param_files_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

The ground segmentation parameters are described in ground-filter.md.

Assumptions / Known limits

Implemented based on pcl_perception [1] because of this issue.

[1] https://github.com/ros-perception/perception_pcl/blob/ros2/pcl_ros/src/pcl_ros/filters/filter.cpp

CHANGELOG

Changelog for package autoware_ground_filter

1.1.0 (2025-05-01)

  • feat(autoware_utils): remove managed transform buffer (#360)

    • feat(autoware_utils): remove managed transform buffer

    * fix(autoware_ground_filter): redundant inclusion ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>

  • Contributors: Amadeusz Szymko

1.10.0 (2026-09-28)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • docs(mkdocs_macros): render README interfaces and parameters from node design files (#1399)

    • feat(mkdocs_macros): render node design files and resolve schema $ref
    • build(pre-commit): bump autoware_system_designer to v0.4.2 for design format 0.4.0

    * docs(autoware_ground_filter): generate README interfaces and parameters from the node design file ---------

  • fix(perception): declare the dependencies these packages use (#1371) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.

  • feat: [codecov/refactoring] [ground_filter] Step 3 - Unit test revamp (#1216)

    • designated unit test suite in step 3 to be a friend class to allow access to private maths and ensure strict encapsulation
    • also expose the same for new Radial related unit tests
    • lock legacy 11 test cases for grid mode, and add new calss for radial mode unit testing
    • add test 1 of radial mode unit test
    • add test 2 of radial mode unit test
    • add test 3 of radial mode unit test
    • add test 4 of radial mode unit test
    • add test 5 of radial mode unit test
    • addressed the floating point rounding error in test 3, all good now
    • refactor([downsample_filters]{.title-ref}): simplify core logic (#1219)
    • bug: remove unused [transform_info]{.title-ref}

    * cosmetic: improve comments for readability ---------

    • moved setDataAccessor and process helper funcs back to private
    • removed the friend exposers of test classes
    • removed the friend class references in test_ground_filter
    • removed test 1 and 2 since they are basic math checkings, also revamped test 4 to be more sense
    • revamped test 5 to use the newly revamped group filter architecture:
    • also removed test 3 cuz it is too much of testing basic maths and won't really stand in the future when someone changes algo
    • added new test to verify a case when points in different azimuths towering above ground
    • within the 11 original tests, for every test involving legacy combo of setDataAcessor and process, replace it with comprehensive filter func

    * fixed the indexing issue in test ClassifyLocalAndGlobalSlopes, now all good wonderful yayyyy ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • Tran ground filter step2 core logic isolation (#1214)

    • added TEST 2 as a consolidate of 5/25 previous test_node (btw just realized precommit wont accept your commits until you fix em, damn
    • added 3rd test under indices publishing
    • added 4rd test under approximate sync functionality
    • strengthen TEST 2 with an incomparable point cloud
    • added TEST 5 to verify elevation_grid_mode is good and cool
    • rename node to ground_filter_node
    • also update node include to ground filter node include
    • updated GroundFilterParameter struct to envision the new core logic isolation

File truncated at 100 lines see the full file

Launch files

  • launch/ground_filter.launch.xml
      • ground_segmentation_param_file [default: $(find-pkg-share autoware_ground_filter)/config/ground_filter.param.yaml]
      • vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
      • input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
      • output/pointcloud [default: /perception/obstacle_segmentation/pointcloud]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_ground_filter at Robotics Stack Exchange

No version for distro kilted showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_ground_filter package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_admission autoware_component_interface_specs autoware_component_interface_utils autoware_geography_utils autoware_global_parameter_loader autoware_interface_spec_lint autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_test_manager autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.10.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-10-07
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The ROS 2 autoware_ground_filter package

Maintainers

  • amc-nu
  • Yukihiro Saito
  • Dai Nguyen
  • Yoshi Ri
  • Junya Sasaki

Authors

  • Open Perception
  • Julius Kammerl
  • William Woodall

autoware_ground_filter

Purpose

The autoware_ground_filter is a node that remove the ground points from the input pointcloud.

Inner-workings / Algorithms

Detail description of each ground segmentation algorithm is in the following links.

Filter Name Description Detail
ground_filter A method of removing the ground based on the geometrical relationship between points lined up on radiation link

Inputs / Outputs

The interfaces below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_interfaces_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameters

Node Parameters

The node launch parameters below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_param_values_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameter files

{{ node_param_files_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

The ground segmentation parameters are described in ground-filter.md.

Assumptions / Known limits

Implemented based on pcl_perception [1] because of this issue.

[1] https://github.com/ros-perception/perception_pcl/blob/ros2/pcl_ros/src/pcl_ros/filters/filter.cpp

CHANGELOG

Changelog for package autoware_ground_filter

1.1.0 (2025-05-01)

  • feat(autoware_utils): remove managed transform buffer (#360)

    • feat(autoware_utils): remove managed transform buffer

    * fix(autoware_ground_filter): redundant inclusion ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>

  • Contributors: Amadeusz Szymko

1.10.0 (2026-09-28)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • docs(mkdocs_macros): render README interfaces and parameters from node design files (#1399)

    • feat(mkdocs_macros): render node design files and resolve schema $ref
    • build(pre-commit): bump autoware_system_designer to v0.4.2 for design format 0.4.0

    * docs(autoware_ground_filter): generate README interfaces and parameters from the node design file ---------

  • fix(perception): declare the dependencies these packages use (#1371) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.

  • feat: [codecov/refactoring] [ground_filter] Step 3 - Unit test revamp (#1216)

    • designated unit test suite in step 3 to be a friend class to allow access to private maths and ensure strict encapsulation
    • also expose the same for new Radial related unit tests
    • lock legacy 11 test cases for grid mode, and add new calss for radial mode unit testing
    • add test 1 of radial mode unit test
    • add test 2 of radial mode unit test
    • add test 3 of radial mode unit test
    • add test 4 of radial mode unit test
    • add test 5 of radial mode unit test
    • addressed the floating point rounding error in test 3, all good now
    • refactor([downsample_filters]{.title-ref}): simplify core logic (#1219)
    • bug: remove unused [transform_info]{.title-ref}

    * cosmetic: improve comments for readability ---------

    • moved setDataAccessor and process helper funcs back to private
    • removed the friend exposers of test classes
    • removed the friend class references in test_ground_filter
    • removed test 1 and 2 since they are basic math checkings, also revamped test 4 to be more sense
    • revamped test 5 to use the newly revamped group filter architecture:
    • also removed test 3 cuz it is too much of testing basic maths and won't really stand in the future when someone changes algo
    • added new test to verify a case when points in different azimuths towering above ground
    • within the 11 original tests, for every test involving legacy combo of setDataAcessor and process, replace it with comprehensive filter func

    * fixed the indexing issue in test ClassifyLocalAndGlobalSlopes, now all good wonderful yayyyy ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • Tran ground filter step2 core logic isolation (#1214)

    • added TEST 2 as a consolidate of 5/25 previous test_node (btw just realized precommit wont accept your commits until you fix em, damn
    • added 3rd test under indices publishing
    • added 4rd test under approximate sync functionality
    • strengthen TEST 2 with an incomparable point cloud
    • added TEST 5 to verify elevation_grid_mode is good and cool
    • rename node to ground_filter_node
    • also update node include to ground filter node include
    • updated GroundFilterParameter struct to envision the new core logic isolation

File truncated at 100 lines see the full file

Launch files

  • launch/ground_filter.launch.xml
      • ground_segmentation_param_file [default: $(find-pkg-share autoware_ground_filter)/config/ground_filter.param.yaml]
      • vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
      • input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
      • output/pointcloud [default: /perception/obstacle_segmentation/pointcloud]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_ground_filter at Robotics Stack Exchange

No version for distro lyrical showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_ground_filter package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_admission autoware_component_interface_specs autoware_component_interface_utils autoware_geography_utils autoware_global_parameter_loader autoware_interface_spec_lint autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_test_manager autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.10.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-10-07
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The ROS 2 autoware_ground_filter package

Maintainers

  • amc-nu
  • Yukihiro Saito
  • Dai Nguyen
  • Yoshi Ri
  • Junya Sasaki

Authors

  • Open Perception
  • Julius Kammerl
  • William Woodall

autoware_ground_filter

Purpose

The autoware_ground_filter is a node that remove the ground points from the input pointcloud.

Inner-workings / Algorithms

Detail description of each ground segmentation algorithm is in the following links.

Filter Name Description Detail
ground_filter A method of removing the ground based on the geometrical relationship between points lined up on radiation link

Inputs / Outputs

The interfaces below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_interfaces_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameters

Node Parameters

The node launch parameters below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_param_values_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameter files

{{ node_param_files_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

The ground segmentation parameters are described in ground-filter.md.

Assumptions / Known limits

Implemented based on pcl_perception [1] because of this issue.

[1] https://github.com/ros-perception/perception_pcl/blob/ros2/pcl_ros/src/pcl_ros/filters/filter.cpp

CHANGELOG

Changelog for package autoware_ground_filter

1.1.0 (2025-05-01)

  • feat(autoware_utils): remove managed transform buffer (#360)

    • feat(autoware_utils): remove managed transform buffer

    * fix(autoware_ground_filter): redundant inclusion ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>

  • Contributors: Amadeusz Szymko

1.10.0 (2026-09-28)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • docs(mkdocs_macros): render README interfaces and parameters from node design files (#1399)

    • feat(mkdocs_macros): render node design files and resolve schema $ref
    • build(pre-commit): bump autoware_system_designer to v0.4.2 for design format 0.4.0

    * docs(autoware_ground_filter): generate README interfaces and parameters from the node design file ---------

  • fix(perception): declare the dependencies these packages use (#1371) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.

  • feat: [codecov/refactoring] [ground_filter] Step 3 - Unit test revamp (#1216)

    • designated unit test suite in step 3 to be a friend class to allow access to private maths and ensure strict encapsulation
    • also expose the same for new Radial related unit tests
    • lock legacy 11 test cases for grid mode, and add new calss for radial mode unit testing
    • add test 1 of radial mode unit test
    • add test 2 of radial mode unit test
    • add test 3 of radial mode unit test
    • add test 4 of radial mode unit test
    • add test 5 of radial mode unit test
    • addressed the floating point rounding error in test 3, all good now
    • refactor([downsample_filters]{.title-ref}): simplify core logic (#1219)
    • bug: remove unused [transform_info]{.title-ref}

    * cosmetic: improve comments for readability ---------

    • moved setDataAccessor and process helper funcs back to private
    • removed the friend exposers of test classes
    • removed the friend class references in test_ground_filter
    • removed test 1 and 2 since they are basic math checkings, also revamped test 4 to be more sense
    • revamped test 5 to use the newly revamped group filter architecture:
    • also removed test 3 cuz it is too much of testing basic maths and won't really stand in the future when someone changes algo
    • added new test to verify a case when points in different azimuths towering above ground
    • within the 11 original tests, for every test involving legacy combo of setDataAcessor and process, replace it with comprehensive filter func

    * fixed the indexing issue in test ClassifyLocalAndGlobalSlopes, now all good wonderful yayyyy ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • Tran ground filter step2 core logic isolation (#1214)

    • added TEST 2 as a consolidate of 5/25 previous test_node (btw just realized precommit wont accept your commits until you fix em, damn
    • added 3rd test under indices publishing
    • added 4rd test under approximate sync functionality
    • strengthen TEST 2 with an incomparable point cloud
    • added TEST 5 to verify elevation_grid_mode is good and cool
    • rename node to ground_filter_node
    • also update node include to ground filter node include
    • updated GroundFilterParameter struct to envision the new core logic isolation

File truncated at 100 lines see the full file

Launch files

  • launch/ground_filter.launch.xml
      • ground_segmentation_param_file [default: $(find-pkg-share autoware_ground_filter)/config/ground_filter.param.yaml]
      • vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
      • input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
      • output/pointcloud [default: /perception/obstacle_segmentation/pointcloud]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_ground_filter at Robotics Stack Exchange

No version for distro rolling showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_ground_filter package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_admission autoware_component_interface_specs autoware_component_interface_utils autoware_geography_utils autoware_global_parameter_loader autoware_interface_spec_lint autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_test_manager autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.10.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-10-07
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The ROS 2 autoware_ground_filter package

Maintainers

  • amc-nu
  • Yukihiro Saito
  • Dai Nguyen
  • Yoshi Ri
  • Junya Sasaki

Authors

  • Open Perception
  • Julius Kammerl
  • William Woodall

autoware_ground_filter

Purpose

The autoware_ground_filter is a node that remove the ground points from the input pointcloud.

Inner-workings / Algorithms

Detail description of each ground segmentation algorithm is in the following links.

Filter Name Description Detail
ground_filter A method of removing the ground based on the geometrical relationship between points lined up on radiation link

Inputs / Outputs

The interfaces below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_interfaces_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameters

Node Parameters

The node launch parameters below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_param_values_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameter files

{{ node_param_files_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

The ground segmentation parameters are described in ground-filter.md.

Assumptions / Known limits

Implemented based on pcl_perception [1] because of this issue.

[1] https://github.com/ros-perception/perception_pcl/blob/ros2/pcl_ros/src/pcl_ros/filters/filter.cpp

CHANGELOG

Changelog for package autoware_ground_filter

1.1.0 (2025-05-01)

  • feat(autoware_utils): remove managed transform buffer (#360)

    • feat(autoware_utils): remove managed transform buffer

    * fix(autoware_ground_filter): redundant inclusion ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>

  • Contributors: Amadeusz Szymko

1.10.0 (2026-09-28)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • docs(mkdocs_macros): render README interfaces and parameters from node design files (#1399)

    • feat(mkdocs_macros): render node design files and resolve schema $ref
    • build(pre-commit): bump autoware_system_designer to v0.4.2 for design format 0.4.0

    * docs(autoware_ground_filter): generate README interfaces and parameters from the node design file ---------

  • fix(perception): declare the dependencies these packages use (#1371) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.

  • feat: [codecov/refactoring] [ground_filter] Step 3 - Unit test revamp (#1216)

    • designated unit test suite in step 3 to be a friend class to allow access to private maths and ensure strict encapsulation
    • also expose the same for new Radial related unit tests
    • lock legacy 11 test cases for grid mode, and add new calss for radial mode unit testing
    • add test 1 of radial mode unit test
    • add test 2 of radial mode unit test
    • add test 3 of radial mode unit test
    • add test 4 of radial mode unit test
    • add test 5 of radial mode unit test
    • addressed the floating point rounding error in test 3, all good now
    • refactor([downsample_filters]{.title-ref}): simplify core logic (#1219)
    • bug: remove unused [transform_info]{.title-ref}

    * cosmetic: improve comments for readability ---------

    • moved setDataAccessor and process helper funcs back to private
    • removed the friend exposers of test classes
    • removed the friend class references in test_ground_filter
    • removed test 1 and 2 since they are basic math checkings, also revamped test 4 to be more sense
    • revamped test 5 to use the newly revamped group filter architecture:
    • also removed test 3 cuz it is too much of testing basic maths and won't really stand in the future when someone changes algo
    • added new test to verify a case when points in different azimuths towering above ground
    • within the 11 original tests, for every test involving legacy combo of setDataAcessor and process, replace it with comprehensive filter func

    * fixed the indexing issue in test ClassifyLocalAndGlobalSlopes, now all good wonderful yayyyy ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • Tran ground filter step2 core logic isolation (#1214)

    • added TEST 2 as a consolidate of 5/25 previous test_node (btw just realized precommit wont accept your commits until you fix em, damn
    • added 3rd test under indices publishing
    • added 4rd test under approximate sync functionality
    • strengthen TEST 2 with an incomparable point cloud
    • added TEST 5 to verify elevation_grid_mode is good and cool
    • rename node to ground_filter_node
    • also update node include to ground filter node include
    • updated GroundFilterParameter struct to envision the new core logic isolation

File truncated at 100 lines see the full file

Launch files

  • launch/ground_filter.launch.xml
      • ground_segmentation_param_file [default: $(find-pkg-share autoware_ground_filter)/config/ground_filter.param.yaml]
      • vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
      • input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
      • output/pointcloud [default: /perception/obstacle_segmentation/pointcloud]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_ground_filter at Robotics Stack Exchange

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_ground_filter package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_admission autoware_component_interface_specs autoware_component_interface_utils autoware_geography_utils autoware_global_parameter_loader autoware_interface_spec_lint autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_test_manager autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.10.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-10-07
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The ROS 2 autoware_ground_filter package

Maintainers

  • amc-nu
  • Yukihiro Saito
  • Dai Nguyen
  • Yoshi Ri
  • Junya Sasaki

Authors

  • Open Perception
  • Julius Kammerl
  • William Woodall

autoware_ground_filter

Purpose

The autoware_ground_filter is a node that remove the ground points from the input pointcloud.

Inner-workings / Algorithms

Detail description of each ground segmentation algorithm is in the following links.

Filter Name Description Detail
ground_filter A method of removing the ground based on the geometrical relationship between points lined up on radiation link

Inputs / Outputs

The interfaces below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_interfaces_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameters

Node Parameters

The node launch parameters below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_param_values_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameter files

{{ node_param_files_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

The ground segmentation parameters are described in ground-filter.md.

Assumptions / Known limits

Implemented based on pcl_perception [1] because of this issue.

[1] https://github.com/ros-perception/perception_pcl/blob/ros2/pcl_ros/src/pcl_ros/filters/filter.cpp

CHANGELOG

Changelog for package autoware_ground_filter

1.1.0 (2025-05-01)

  • feat(autoware_utils): remove managed transform buffer (#360)

    • feat(autoware_utils): remove managed transform buffer

    * fix(autoware_ground_filter): redundant inclusion ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>

  • Contributors: Amadeusz Szymko

1.10.0 (2026-09-28)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • docs(mkdocs_macros): render README interfaces and parameters from node design files (#1399)

    • feat(mkdocs_macros): render node design files and resolve schema $ref
    • build(pre-commit): bump autoware_system_designer to v0.4.2 for design format 0.4.0

    * docs(autoware_ground_filter): generate README interfaces and parameters from the node design file ---------

  • fix(perception): declare the dependencies these packages use (#1371) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.

  • feat: [codecov/refactoring] [ground_filter] Step 3 - Unit test revamp (#1216)

    • designated unit test suite in step 3 to be a friend class to allow access to private maths and ensure strict encapsulation
    • also expose the same for new Radial related unit tests
    • lock legacy 11 test cases for grid mode, and add new calss for radial mode unit testing
    • add test 1 of radial mode unit test
    • add test 2 of radial mode unit test
    • add test 3 of radial mode unit test
    • add test 4 of radial mode unit test
    • add test 5 of radial mode unit test
    • addressed the floating point rounding error in test 3, all good now
    • refactor([downsample_filters]{.title-ref}): simplify core logic (#1219)
    • bug: remove unused [transform_info]{.title-ref}

    * cosmetic: improve comments for readability ---------

    • moved setDataAccessor and process helper funcs back to private
    • removed the friend exposers of test classes
    • removed the friend class references in test_ground_filter
    • removed test 1 and 2 since they are basic math checkings, also revamped test 4 to be more sense
    • revamped test 5 to use the newly revamped group filter architecture:
    • also removed test 3 cuz it is too much of testing basic maths and won't really stand in the future when someone changes algo
    • added new test to verify a case when points in different azimuths towering above ground
    • within the 11 original tests, for every test involving legacy combo of setDataAcessor and process, replace it with comprehensive filter func

    * fixed the indexing issue in test ClassifyLocalAndGlobalSlopes, now all good wonderful yayyyy ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • Tran ground filter step2 core logic isolation (#1214)

    • added TEST 2 as a consolidate of 5/25 previous test_node (btw just realized precommit wont accept your commits until you fix em, damn
    • added 3rd test under indices publishing
    • added 4rd test under approximate sync functionality
    • strengthen TEST 2 with an incomparable point cloud
    • added TEST 5 to verify elevation_grid_mode is good and cool
    • rename node to ground_filter_node
    • also update node include to ground filter node include
    • updated GroundFilterParameter struct to envision the new core logic isolation

File truncated at 100 lines see the full file

Launch files

  • launch/ground_filter.launch.xml
      • ground_segmentation_param_file [default: $(find-pkg-share autoware_ground_filter)/config/ground_filter.param.yaml]
      • vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
      • input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
      • output/pointcloud [default: /perception/obstacle_segmentation/pointcloud]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_ground_filter at Robotics Stack Exchange

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_ground_filter package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_admission autoware_component_interface_specs autoware_component_interface_utils autoware_geography_utils autoware_global_parameter_loader autoware_interface_spec_lint autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_test_manager autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.10.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-10-07
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The ROS 2 autoware_ground_filter package

Maintainers

  • amc-nu
  • Yukihiro Saito
  • Dai Nguyen
  • Yoshi Ri
  • Junya Sasaki

Authors

  • Open Perception
  • Julius Kammerl
  • William Woodall

autoware_ground_filter

Purpose

The autoware_ground_filter is a node that remove the ground points from the input pointcloud.

Inner-workings / Algorithms

Detail description of each ground segmentation algorithm is in the following links.

Filter Name Description Detail
ground_filter A method of removing the ground based on the geometrical relationship between points lined up on radiation link

Inputs / Outputs

The interfaces below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_interfaces_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameters

Node Parameters

The node launch parameters below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_param_values_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameter files

{{ node_param_files_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

The ground segmentation parameters are described in ground-filter.md.

Assumptions / Known limits

Implemented based on pcl_perception [1] because of this issue.

[1] https://github.com/ros-perception/perception_pcl/blob/ros2/pcl_ros/src/pcl_ros/filters/filter.cpp

CHANGELOG

Changelog for package autoware_ground_filter

1.1.0 (2025-05-01)

  • feat(autoware_utils): remove managed transform buffer (#360)

    • feat(autoware_utils): remove managed transform buffer

    * fix(autoware_ground_filter): redundant inclusion ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>

  • Contributors: Amadeusz Szymko

1.10.0 (2026-09-28)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • docs(mkdocs_macros): render README interfaces and parameters from node design files (#1399)

    • feat(mkdocs_macros): render node design files and resolve schema $ref
    • build(pre-commit): bump autoware_system_designer to v0.4.2 for design format 0.4.0

    * docs(autoware_ground_filter): generate README interfaces and parameters from the node design file ---------

  • fix(perception): declare the dependencies these packages use (#1371) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.

  • feat: [codecov/refactoring] [ground_filter] Step 3 - Unit test revamp (#1216)

    • designated unit test suite in step 3 to be a friend class to allow access to private maths and ensure strict encapsulation
    • also expose the same for new Radial related unit tests
    • lock legacy 11 test cases for grid mode, and add new calss for radial mode unit testing
    • add test 1 of radial mode unit test
    • add test 2 of radial mode unit test
    • add test 3 of radial mode unit test
    • add test 4 of radial mode unit test
    • add test 5 of radial mode unit test
    • addressed the floating point rounding error in test 3, all good now
    • refactor([downsample_filters]{.title-ref}): simplify core logic (#1219)
    • bug: remove unused [transform_info]{.title-ref}

    * cosmetic: improve comments for readability ---------

    • moved setDataAccessor and process helper funcs back to private
    • removed the friend exposers of test classes
    • removed the friend class references in test_ground_filter
    • removed test 1 and 2 since they are basic math checkings, also revamped test 4 to be more sense
    • revamped test 5 to use the newly revamped group filter architecture:
    • also removed test 3 cuz it is too much of testing basic maths and won't really stand in the future when someone changes algo
    • added new test to verify a case when points in different azimuths towering above ground
    • within the 11 original tests, for every test involving legacy combo of setDataAcessor and process, replace it with comprehensive filter func

    * fixed the indexing issue in test ClassifyLocalAndGlobalSlopes, now all good wonderful yayyyy ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • Tran ground filter step2 core logic isolation (#1214)

    • added TEST 2 as a consolidate of 5/25 previous test_node (btw just realized precommit wont accept your commits until you fix em, damn
    • added 3rd test under indices publishing
    • added 4rd test under approximate sync functionality
    • strengthen TEST 2 with an incomparable point cloud
    • added TEST 5 to verify elevation_grid_mode is good and cool
    • rename node to ground_filter_node
    • also update node include to ground filter node include
    • updated GroundFilterParameter struct to envision the new core logic isolation

File truncated at 100 lines see the full file

Launch files

  • launch/ground_filter.launch.xml
      • ground_segmentation_param_file [default: $(find-pkg-share autoware_ground_filter)/config/ground_filter.param.yaml]
      • vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
      • input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
      • output/pointcloud [default: /perception/obstacle_segmentation/pointcloud]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_ground_filter at Robotics Stack Exchange

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_ground_filter package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_admission autoware_component_interface_specs autoware_component_interface_utils autoware_geography_utils autoware_global_parameter_loader autoware_interface_spec_lint autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_test_manager autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.10.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-10-07
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The ROS 2 autoware_ground_filter package

Maintainers

  • amc-nu
  • Yukihiro Saito
  • Dai Nguyen
  • Yoshi Ri
  • Junya Sasaki

Authors

  • Open Perception
  • Julius Kammerl
  • William Woodall

autoware_ground_filter

Purpose

The autoware_ground_filter is a node that remove the ground points from the input pointcloud.

Inner-workings / Algorithms

Detail description of each ground segmentation algorithm is in the following links.

Filter Name Description Detail
ground_filter A method of removing the ground based on the geometrical relationship between points lined up on radiation link

Inputs / Outputs

The interfaces below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_interfaces_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameters

Node Parameters

The node launch parameters below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_param_values_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameter files

{{ node_param_files_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

The ground segmentation parameters are described in ground-filter.md.

Assumptions / Known limits

Implemented based on pcl_perception [1] because of this issue.

[1] https://github.com/ros-perception/perception_pcl/blob/ros2/pcl_ros/src/pcl_ros/filters/filter.cpp

CHANGELOG

Changelog for package autoware_ground_filter

1.1.0 (2025-05-01)

  • feat(autoware_utils): remove managed transform buffer (#360)

    • feat(autoware_utils): remove managed transform buffer

    * fix(autoware_ground_filter): redundant inclusion ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>

  • Contributors: Amadeusz Szymko

1.10.0 (2026-09-28)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • docs(mkdocs_macros): render README interfaces and parameters from node design files (#1399)

    • feat(mkdocs_macros): render node design files and resolve schema $ref
    • build(pre-commit): bump autoware_system_designer to v0.4.2 for design format 0.4.0

    * docs(autoware_ground_filter): generate README interfaces and parameters from the node design file ---------

  • fix(perception): declare the dependencies these packages use (#1371) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.

  • feat: [codecov/refactoring] [ground_filter] Step 3 - Unit test revamp (#1216)

    • designated unit test suite in step 3 to be a friend class to allow access to private maths and ensure strict encapsulation
    • also expose the same for new Radial related unit tests
    • lock legacy 11 test cases for grid mode, and add new calss for radial mode unit testing
    • add test 1 of radial mode unit test
    • add test 2 of radial mode unit test
    • add test 3 of radial mode unit test
    • add test 4 of radial mode unit test
    • add test 5 of radial mode unit test
    • addressed the floating point rounding error in test 3, all good now
    • refactor([downsample_filters]{.title-ref}): simplify core logic (#1219)
    • bug: remove unused [transform_info]{.title-ref}

    * cosmetic: improve comments for readability ---------

    • moved setDataAccessor and process helper funcs back to private
    • removed the friend exposers of test classes
    • removed the friend class references in test_ground_filter
    • removed test 1 and 2 since they are basic math checkings, also revamped test 4 to be more sense
    • revamped test 5 to use the newly revamped group filter architecture:
    • also removed test 3 cuz it is too much of testing basic maths and won't really stand in the future when someone changes algo
    • added new test to verify a case when points in different azimuths towering above ground
    • within the 11 original tests, for every test involving legacy combo of setDataAcessor and process, replace it with comprehensive filter func

    * fixed the indexing issue in test ClassifyLocalAndGlobalSlopes, now all good wonderful yayyyy ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • Tran ground filter step2 core logic isolation (#1214)

    • added TEST 2 as a consolidate of 5/25 previous test_node (btw just realized precommit wont accept your commits until you fix em, damn
    • added 3rd test under indices publishing
    • added 4rd test under approximate sync functionality
    • strengthen TEST 2 with an incomparable point cloud
    • added TEST 5 to verify elevation_grid_mode is good and cool
    • rename node to ground_filter_node
    • also update node include to ground filter node include
    • updated GroundFilterParameter struct to envision the new core logic isolation

File truncated at 100 lines see the full file

Launch files

  • launch/ground_filter.launch.xml
      • ground_segmentation_param_file [default: $(find-pkg-share autoware_ground_filter)/config/ground_filter.param.yaml]
      • vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
      • input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
      • output/pointcloud [default: /perception/obstacle_segmentation/pointcloud]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_ground_filter at Robotics Stack Exchange

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_ground_filter package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_admission autoware_component_interface_specs autoware_component_interface_utils autoware_geography_utils autoware_global_parameter_loader autoware_interface_spec_lint autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_test_manager autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.10.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-10-07
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The ROS 2 autoware_ground_filter package

Maintainers

  • amc-nu
  • Yukihiro Saito
  • Dai Nguyen
  • Yoshi Ri
  • Junya Sasaki

Authors

  • Open Perception
  • Julius Kammerl
  • William Woodall

autoware_ground_filter

Purpose

The autoware_ground_filter is a node that remove the ground points from the input pointcloud.

Inner-workings / Algorithms

Detail description of each ground segmentation algorithm is in the following links.

Filter Name Description Detail
ground_filter A method of removing the ground based on the geometrical relationship between points lined up on radiation link

Inputs / Outputs

The interfaces below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_interfaces_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameters

Node Parameters

The node launch parameters below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_param_values_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameter files

{{ node_param_files_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

The ground segmentation parameters are described in ground-filter.md.

Assumptions / Known limits

Implemented based on pcl_perception [1] because of this issue.

[1] https://github.com/ros-perception/perception_pcl/blob/ros2/pcl_ros/src/pcl_ros/filters/filter.cpp

CHANGELOG

Changelog for package autoware_ground_filter

1.1.0 (2025-05-01)

  • feat(autoware_utils): remove managed transform buffer (#360)

    • feat(autoware_utils): remove managed transform buffer

    * fix(autoware_ground_filter): redundant inclusion ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>

  • Contributors: Amadeusz Szymko

1.10.0 (2026-09-28)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • docs(mkdocs_macros): render README interfaces and parameters from node design files (#1399)

    • feat(mkdocs_macros): render node design files and resolve schema $ref
    • build(pre-commit): bump autoware_system_designer to v0.4.2 for design format 0.4.0

    * docs(autoware_ground_filter): generate README interfaces and parameters from the node design file ---------

  • fix(perception): declare the dependencies these packages use (#1371) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.

  • feat: [codecov/refactoring] [ground_filter] Step 3 - Unit test revamp (#1216)

    • designated unit test suite in step 3 to be a friend class to allow access to private maths and ensure strict encapsulation
    • also expose the same for new Radial related unit tests
    • lock legacy 11 test cases for grid mode, and add new calss for radial mode unit testing
    • add test 1 of radial mode unit test
    • add test 2 of radial mode unit test
    • add test 3 of radial mode unit test
    • add test 4 of radial mode unit test
    • add test 5 of radial mode unit test
    • addressed the floating point rounding error in test 3, all good now
    • refactor([downsample_filters]{.title-ref}): simplify core logic (#1219)
    • bug: remove unused [transform_info]{.title-ref}

    * cosmetic: improve comments for readability ---------

    • moved setDataAccessor and process helper funcs back to private
    • removed the friend exposers of test classes
    • removed the friend class references in test_ground_filter
    • removed test 1 and 2 since they are basic math checkings, also revamped test 4 to be more sense
    • revamped test 5 to use the newly revamped group filter architecture:
    • also removed test 3 cuz it is too much of testing basic maths and won't really stand in the future when someone changes algo
    • added new test to verify a case when points in different azimuths towering above ground
    • within the 11 original tests, for every test involving legacy combo of setDataAcessor and process, replace it with comprehensive filter func

    * fixed the indexing issue in test ClassifyLocalAndGlobalSlopes, now all good wonderful yayyyy ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • Tran ground filter step2 core logic isolation (#1214)

    • added TEST 2 as a consolidate of 5/25 previous test_node (btw just realized precommit wont accept your commits until you fix em, damn
    • added 3rd test under indices publishing
    • added 4rd test under approximate sync functionality
    • strengthen TEST 2 with an incomparable point cloud
    • added TEST 5 to verify elevation_grid_mode is good and cool
    • rename node to ground_filter_node
    • also update node include to ground filter node include
    • updated GroundFilterParameter struct to envision the new core logic isolation

File truncated at 100 lines see the full file

Launch files

  • launch/ground_filter.launch.xml
      • ground_segmentation_param_file [default: $(find-pkg-share autoware_ground_filter)/config/ground_filter.param.yaml]
      • vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
      • input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
      • output/pointcloud [default: /perception/obstacle_segmentation/pointcloud]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_ground_filter at Robotics Stack Exchange

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_ground_filter package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_admission autoware_component_interface_specs autoware_component_interface_utils autoware_geography_utils autoware_global_parameter_loader autoware_interface_spec_lint autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_test_manager autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.10.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-10-07
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The ROS 2 autoware_ground_filter package

Maintainers

  • amc-nu
  • Yukihiro Saito
  • Dai Nguyen
  • Yoshi Ri
  • Junya Sasaki

Authors

  • Open Perception
  • Julius Kammerl
  • William Woodall

autoware_ground_filter

Purpose

The autoware_ground_filter is a node that remove the ground points from the input pointcloud.

Inner-workings / Algorithms

Detail description of each ground segmentation algorithm is in the following links.

Filter Name Description Detail
ground_filter A method of removing the ground based on the geometrical relationship between points lined up on radiation link

Inputs / Outputs

The interfaces below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_interfaces_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameters

Node Parameters

The node launch parameters below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_param_values_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameter files

{{ node_param_files_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

The ground segmentation parameters are described in ground-filter.md.

Assumptions / Known limits

Implemented based on pcl_perception [1] because of this issue.

[1] https://github.com/ros-perception/perception_pcl/blob/ros2/pcl_ros/src/pcl_ros/filters/filter.cpp

CHANGELOG

Changelog for package autoware_ground_filter

1.1.0 (2025-05-01)

  • feat(autoware_utils): remove managed transform buffer (#360)

    • feat(autoware_utils): remove managed transform buffer

    * fix(autoware_ground_filter): redundant inclusion ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>

  • Contributors: Amadeusz Szymko

1.10.0 (2026-09-28)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • docs(mkdocs_macros): render README interfaces and parameters from node design files (#1399)

    • feat(mkdocs_macros): render node design files and resolve schema $ref
    • build(pre-commit): bump autoware_system_designer to v0.4.2 for design format 0.4.0

    * docs(autoware_ground_filter): generate README interfaces and parameters from the node design file ---------

  • fix(perception): declare the dependencies these packages use (#1371) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.

  • feat: [codecov/refactoring] [ground_filter] Step 3 - Unit test revamp (#1216)

    • designated unit test suite in step 3 to be a friend class to allow access to private maths and ensure strict encapsulation
    • also expose the same for new Radial related unit tests
    • lock legacy 11 test cases for grid mode, and add new calss for radial mode unit testing
    • add test 1 of radial mode unit test
    • add test 2 of radial mode unit test
    • add test 3 of radial mode unit test
    • add test 4 of radial mode unit test
    • add test 5 of radial mode unit test
    • addressed the floating point rounding error in test 3, all good now
    • refactor([downsample_filters]{.title-ref}): simplify core logic (#1219)
    • bug: remove unused [transform_info]{.title-ref}

    * cosmetic: improve comments for readability ---------

    • moved setDataAccessor and process helper funcs back to private
    • removed the friend exposers of test classes
    • removed the friend class references in test_ground_filter
    • removed test 1 and 2 since they are basic math checkings, also revamped test 4 to be more sense
    • revamped test 5 to use the newly revamped group filter architecture:
    • also removed test 3 cuz it is too much of testing basic maths and won't really stand in the future when someone changes algo
    • added new test to verify a case when points in different azimuths towering above ground
    • within the 11 original tests, for every test involving legacy combo of setDataAcessor and process, replace it with comprehensive filter func

    * fixed the indexing issue in test ClassifyLocalAndGlobalSlopes, now all good wonderful yayyyy ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • Tran ground filter step2 core logic isolation (#1214)

    • added TEST 2 as a consolidate of 5/25 previous test_node (btw just realized precommit wont accept your commits until you fix em, damn
    • added 3rd test under indices publishing
    • added 4rd test under approximate sync functionality
    • strengthen TEST 2 with an incomparable point cloud
    • added TEST 5 to verify elevation_grid_mode is good and cool
    • rename node to ground_filter_node
    • also update node include to ground filter node include
    • updated GroundFilterParameter struct to envision the new core logic isolation

File truncated at 100 lines see the full file

Launch files

  • launch/ground_filter.launch.xml
      • ground_segmentation_param_file [default: $(find-pkg-share autoware_ground_filter)/config/ground_filter.param.yaml]
      • vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
      • input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
      • output/pointcloud [default: /perception/obstacle_segmentation/pointcloud]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_ground_filter at Robotics Stack Exchange

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_ground_filter package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_admission autoware_component_interface_specs autoware_component_interface_utils autoware_geography_utils autoware_global_parameter_loader autoware_interface_spec_lint autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_test_manager autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.10.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-10-07
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The ROS 2 autoware_ground_filter package

Maintainers

  • amc-nu
  • Yukihiro Saito
  • Dai Nguyen
  • Yoshi Ri
  • Junya Sasaki

Authors

  • Open Perception
  • Julius Kammerl
  • William Woodall

autoware_ground_filter

Purpose

The autoware_ground_filter is a node that remove the ground points from the input pointcloud.

Inner-workings / Algorithms

Detail description of each ground segmentation algorithm is in the following links.

Filter Name Description Detail
ground_filter A method of removing the ground based on the geometrical relationship between points lined up on radiation link

Inputs / Outputs

The interfaces below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_interfaces_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameters

Node Parameters

The node launch parameters below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_param_values_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameter files

{{ node_param_files_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

The ground segmentation parameters are described in ground-filter.md.

Assumptions / Known limits

Implemented based on pcl_perception [1] because of this issue.

[1] https://github.com/ros-perception/perception_pcl/blob/ros2/pcl_ros/src/pcl_ros/filters/filter.cpp

CHANGELOG

Changelog for package autoware_ground_filter

1.1.0 (2025-05-01)

  • feat(autoware_utils): remove managed transform buffer (#360)

    • feat(autoware_utils): remove managed transform buffer

    * fix(autoware_ground_filter): redundant inclusion ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>

  • Contributors: Amadeusz Szymko

1.10.0 (2026-09-28)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • docs(mkdocs_macros): render README interfaces and parameters from node design files (#1399)

    • feat(mkdocs_macros): render node design files and resolve schema $ref
    • build(pre-commit): bump autoware_system_designer to v0.4.2 for design format 0.4.0

    * docs(autoware_ground_filter): generate README interfaces and parameters from the node design file ---------

  • fix(perception): declare the dependencies these packages use (#1371) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.

  • feat: [codecov/refactoring] [ground_filter] Step 3 - Unit test revamp (#1216)

    • designated unit test suite in step 3 to be a friend class to allow access to private maths and ensure strict encapsulation
    • also expose the same for new Radial related unit tests
    • lock legacy 11 test cases for grid mode, and add new calss for radial mode unit testing
    • add test 1 of radial mode unit test
    • add test 2 of radial mode unit test
    • add test 3 of radial mode unit test
    • add test 4 of radial mode unit test
    • add test 5 of radial mode unit test
    • addressed the floating point rounding error in test 3, all good now
    • refactor([downsample_filters]{.title-ref}): simplify core logic (#1219)
    • bug: remove unused [transform_info]{.title-ref}

    * cosmetic: improve comments for readability ---------

    • moved setDataAccessor and process helper funcs back to private
    • removed the friend exposers of test classes
    • removed the friend class references in test_ground_filter
    • removed test 1 and 2 since they are basic math checkings, also revamped test 4 to be more sense
    • revamped test 5 to use the newly revamped group filter architecture:
    • also removed test 3 cuz it is too much of testing basic maths and won't really stand in the future when someone changes algo
    • added new test to verify a case when points in different azimuths towering above ground
    • within the 11 original tests, for every test involving legacy combo of setDataAcessor and process, replace it with comprehensive filter func

    * fixed the indexing issue in test ClassifyLocalAndGlobalSlopes, now all good wonderful yayyyy ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • Tran ground filter step2 core logic isolation (#1214)

    • added TEST 2 as a consolidate of 5/25 previous test_node (btw just realized precommit wont accept your commits until you fix em, damn
    • added 3rd test under indices publishing
    • added 4rd test under approximate sync functionality
    • strengthen TEST 2 with an incomparable point cloud
    • added TEST 5 to verify elevation_grid_mode is good and cool
    • rename node to ground_filter_node
    • also update node include to ground filter node include
    • updated GroundFilterParameter struct to envision the new core logic isolation

File truncated at 100 lines see the full file

Launch files

  • launch/ground_filter.launch.xml
      • ground_segmentation_param_file [default: $(find-pkg-share autoware_ground_filter)/config/ground_filter.param.yaml]
      • vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
      • input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
      • output/pointcloud [default: /perception/obstacle_segmentation/pointcloud]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_ground_filter at Robotics Stack Exchange

No version for distro foxy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_ground_filter package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_admission autoware_component_interface_specs autoware_component_interface_utils autoware_geography_utils autoware_global_parameter_loader autoware_interface_spec_lint autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_test_manager autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.10.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-10-07
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The ROS 2 autoware_ground_filter package

Maintainers

  • amc-nu
  • Yukihiro Saito
  • Dai Nguyen
  • Yoshi Ri
  • Junya Sasaki

Authors

  • Open Perception
  • Julius Kammerl
  • William Woodall

autoware_ground_filter

Purpose

The autoware_ground_filter is a node that remove the ground points from the input pointcloud.

Inner-workings / Algorithms

Detail description of each ground segmentation algorithm is in the following links.

Filter Name Description Detail
ground_filter A method of removing the ground based on the geometrical relationship between points lined up on radiation link

Inputs / Outputs

The interfaces below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_interfaces_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameters

Node Parameters

The node launch parameters below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_param_values_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameter files

{{ node_param_files_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

The ground segmentation parameters are described in ground-filter.md.

Assumptions / Known limits

Implemented based on pcl_perception [1] because of this issue.

[1] https://github.com/ros-perception/perception_pcl/blob/ros2/pcl_ros/src/pcl_ros/filters/filter.cpp

CHANGELOG

Changelog for package autoware_ground_filter

1.1.0 (2025-05-01)

  • feat(autoware_utils): remove managed transform buffer (#360)

    • feat(autoware_utils): remove managed transform buffer

    * fix(autoware_ground_filter): redundant inclusion ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>

  • Contributors: Amadeusz Szymko

1.10.0 (2026-09-28)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • docs(mkdocs_macros): render README interfaces and parameters from node design files (#1399)

    • feat(mkdocs_macros): render node design files and resolve schema $ref
    • build(pre-commit): bump autoware_system_designer to v0.4.2 for design format 0.4.0

    * docs(autoware_ground_filter): generate README interfaces and parameters from the node design file ---------

  • fix(perception): declare the dependencies these packages use (#1371) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.

  • feat: [codecov/refactoring] [ground_filter] Step 3 - Unit test revamp (#1216)

    • designated unit test suite in step 3 to be a friend class to allow access to private maths and ensure strict encapsulation
    • also expose the same for new Radial related unit tests
    • lock legacy 11 test cases for grid mode, and add new calss for radial mode unit testing
    • add test 1 of radial mode unit test
    • add test 2 of radial mode unit test
    • add test 3 of radial mode unit test
    • add test 4 of radial mode unit test
    • add test 5 of radial mode unit test
    • addressed the floating point rounding error in test 3, all good now
    • refactor([downsample_filters]{.title-ref}): simplify core logic (#1219)
    • bug: remove unused [transform_info]{.title-ref}

    * cosmetic: improve comments for readability ---------

    • moved setDataAccessor and process helper funcs back to private
    • removed the friend exposers of test classes
    • removed the friend class references in test_ground_filter
    • removed test 1 and 2 since they are basic math checkings, also revamped test 4 to be more sense
    • revamped test 5 to use the newly revamped group filter architecture:
    • also removed test 3 cuz it is too much of testing basic maths and won't really stand in the future when someone changes algo
    • added new test to verify a case when points in different azimuths towering above ground
    • within the 11 original tests, for every test involving legacy combo of setDataAcessor and process, replace it with comprehensive filter func

    * fixed the indexing issue in test ClassifyLocalAndGlobalSlopes, now all good wonderful yayyyy ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • Tran ground filter step2 core logic isolation (#1214)

    • added TEST 2 as a consolidate of 5/25 previous test_node (btw just realized precommit wont accept your commits until you fix em, damn
    • added 3rd test under indices publishing
    • added 4rd test under approximate sync functionality
    • strengthen TEST 2 with an incomparable point cloud
    • added TEST 5 to verify elevation_grid_mode is good and cool
    • rename node to ground_filter_node
    • also update node include to ground filter node include
    • updated GroundFilterParameter struct to envision the new core logic isolation

File truncated at 100 lines see the full file

Launch files

  • launch/ground_filter.launch.xml
      • ground_segmentation_param_file [default: $(find-pkg-share autoware_ground_filter)/config/ground_filter.param.yaml]
      • vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
      • input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
      • output/pointcloud [default: /perception/obstacle_segmentation/pointcloud]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_ground_filter at Robotics Stack Exchange

No version for distro iron showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_ground_filter package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_admission autoware_component_interface_specs autoware_component_interface_utils autoware_geography_utils autoware_global_parameter_loader autoware_interface_spec_lint autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_test_manager autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.10.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-10-07
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The ROS 2 autoware_ground_filter package

Maintainers

  • amc-nu
  • Yukihiro Saito
  • Dai Nguyen
  • Yoshi Ri
  • Junya Sasaki

Authors

  • Open Perception
  • Julius Kammerl
  • William Woodall

autoware_ground_filter

Purpose

The autoware_ground_filter is a node that remove the ground points from the input pointcloud.

Inner-workings / Algorithms

Detail description of each ground segmentation algorithm is in the following links.

Filter Name Description Detail
ground_filter A method of removing the ground based on the geometrical relationship between points lined up on radiation link

Inputs / Outputs

The interfaces below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_interfaces_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameters

Node Parameters

The node launch parameters below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_param_values_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameter files

{{ node_param_files_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

The ground segmentation parameters are described in ground-filter.md.

Assumptions / Known limits

Implemented based on pcl_perception [1] because of this issue.

[1] https://github.com/ros-perception/perception_pcl/blob/ros2/pcl_ros/src/pcl_ros/filters/filter.cpp

CHANGELOG

Changelog for package autoware_ground_filter

1.1.0 (2025-05-01)

  • feat(autoware_utils): remove managed transform buffer (#360)

    • feat(autoware_utils): remove managed transform buffer

    * fix(autoware_ground_filter): redundant inclusion ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>

  • Contributors: Amadeusz Szymko

1.10.0 (2026-09-28)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • docs(mkdocs_macros): render README interfaces and parameters from node design files (#1399)

    • feat(mkdocs_macros): render node design files and resolve schema $ref
    • build(pre-commit): bump autoware_system_designer to v0.4.2 for design format 0.4.0

    * docs(autoware_ground_filter): generate README interfaces and parameters from the node design file ---------

  • fix(perception): declare the dependencies these packages use (#1371) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.

  • feat: [codecov/refactoring] [ground_filter] Step 3 - Unit test revamp (#1216)

    • designated unit test suite in step 3 to be a friend class to allow access to private maths and ensure strict encapsulation
    • also expose the same for new Radial related unit tests
    • lock legacy 11 test cases for grid mode, and add new calss for radial mode unit testing
    • add test 1 of radial mode unit test
    • add test 2 of radial mode unit test
    • add test 3 of radial mode unit test
    • add test 4 of radial mode unit test
    • add test 5 of radial mode unit test
    • addressed the floating point rounding error in test 3, all good now
    • refactor([downsample_filters]{.title-ref}): simplify core logic (#1219)
    • bug: remove unused [transform_info]{.title-ref}

    * cosmetic: improve comments for readability ---------

    • moved setDataAccessor and process helper funcs back to private
    • removed the friend exposers of test classes
    • removed the friend class references in test_ground_filter
    • removed test 1 and 2 since they are basic math checkings, also revamped test 4 to be more sense
    • revamped test 5 to use the newly revamped group filter architecture:
    • also removed test 3 cuz it is too much of testing basic maths and won't really stand in the future when someone changes algo
    • added new test to verify a case when points in different azimuths towering above ground
    • within the 11 original tests, for every test involving legacy combo of setDataAcessor and process, replace it with comprehensive filter func

    * fixed the indexing issue in test ClassifyLocalAndGlobalSlopes, now all good wonderful yayyyy ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • Tran ground filter step2 core logic isolation (#1214)

    • added TEST 2 as a consolidate of 5/25 previous test_node (btw just realized precommit wont accept your commits until you fix em, damn
    • added 3rd test under indices publishing
    • added 4rd test under approximate sync functionality
    • strengthen TEST 2 with an incomparable point cloud
    • added TEST 5 to verify elevation_grid_mode is good and cool
    • rename node to ground_filter_node
    • also update node include to ground filter node include
    • updated GroundFilterParameter struct to envision the new core logic isolation

File truncated at 100 lines see the full file

Launch files

  • launch/ground_filter.launch.xml
      • ground_segmentation_param_file [default: $(find-pkg-share autoware_ground_filter)/config/ground_filter.param.yaml]
      • vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
      • input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
      • output/pointcloud [default: /perception/obstacle_segmentation/pointcloud]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_ground_filter at Robotics Stack Exchange

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_ground_filter package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_admission autoware_component_interface_specs autoware_component_interface_utils autoware_geography_utils autoware_global_parameter_loader autoware_interface_spec_lint autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_test_manager autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.10.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-10-07
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The ROS 2 autoware_ground_filter package

Maintainers

  • amc-nu
  • Yukihiro Saito
  • Dai Nguyen
  • Yoshi Ri
  • Junya Sasaki

Authors

  • Open Perception
  • Julius Kammerl
  • William Woodall

autoware_ground_filter

Purpose

The autoware_ground_filter is a node that remove the ground points from the input pointcloud.

Inner-workings / Algorithms

Detail description of each ground segmentation algorithm is in the following links.

Filter Name Description Detail
ground_filter A method of removing the ground based on the geometrical relationship between points lined up on radiation link

Inputs / Outputs

The interfaces below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_interfaces_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameters

Node Parameters

The node launch parameters below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_param_values_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameter files

{{ node_param_files_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

The ground segmentation parameters are described in ground-filter.md.

Assumptions / Known limits

Implemented based on pcl_perception [1] because of this issue.

[1] https://github.com/ros-perception/perception_pcl/blob/ros2/pcl_ros/src/pcl_ros/filters/filter.cpp

CHANGELOG

Changelog for package autoware_ground_filter

1.1.0 (2025-05-01)

  • feat(autoware_utils): remove managed transform buffer (#360)

    • feat(autoware_utils): remove managed transform buffer

    * fix(autoware_ground_filter): redundant inclusion ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>

  • Contributors: Amadeusz Szymko

1.10.0 (2026-09-28)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • docs(mkdocs_macros): render README interfaces and parameters from node design files (#1399)

    • feat(mkdocs_macros): render node design files and resolve schema $ref
    • build(pre-commit): bump autoware_system_designer to v0.4.2 for design format 0.4.0

    * docs(autoware_ground_filter): generate README interfaces and parameters from the node design file ---------

  • fix(perception): declare the dependencies these packages use (#1371) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.

  • feat: [codecov/refactoring] [ground_filter] Step 3 - Unit test revamp (#1216)

    • designated unit test suite in step 3 to be a friend class to allow access to private maths and ensure strict encapsulation
    • also expose the same for new Radial related unit tests
    • lock legacy 11 test cases for grid mode, and add new calss for radial mode unit testing
    • add test 1 of radial mode unit test
    • add test 2 of radial mode unit test
    • add test 3 of radial mode unit test
    • add test 4 of radial mode unit test
    • add test 5 of radial mode unit test
    • addressed the floating point rounding error in test 3, all good now
    • refactor([downsample_filters]{.title-ref}): simplify core logic (#1219)
    • bug: remove unused [transform_info]{.title-ref}

    * cosmetic: improve comments for readability ---------

    • moved setDataAccessor and process helper funcs back to private
    • removed the friend exposers of test classes
    • removed the friend class references in test_ground_filter
    • removed test 1 and 2 since they are basic math checkings, also revamped test 4 to be more sense
    • revamped test 5 to use the newly revamped group filter architecture:
    • also removed test 3 cuz it is too much of testing basic maths and won't really stand in the future when someone changes algo
    • added new test to verify a case when points in different azimuths towering above ground
    • within the 11 original tests, for every test involving legacy combo of setDataAcessor and process, replace it with comprehensive filter func

    * fixed the indexing issue in test ClassifyLocalAndGlobalSlopes, now all good wonderful yayyyy ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • Tran ground filter step2 core logic isolation (#1214)

    • added TEST 2 as a consolidate of 5/25 previous test_node (btw just realized precommit wont accept your commits until you fix em, damn
    • added 3rd test under indices publishing
    • added 4rd test under approximate sync functionality
    • strengthen TEST 2 with an incomparable point cloud
    • added TEST 5 to verify elevation_grid_mode is good and cool
    • rename node to ground_filter_node
    • also update node include to ground filter node include
    • updated GroundFilterParameter struct to envision the new core logic isolation

File truncated at 100 lines see the full file

Launch files

  • launch/ground_filter.launch.xml
      • ground_segmentation_param_file [default: $(find-pkg-share autoware_ground_filter)/config/ground_filter.param.yaml]
      • vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
      • input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
      • output/pointcloud [default: /perception/obstacle_segmentation/pointcloud]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_ground_filter at Robotics Stack Exchange

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_ground_filter package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_admission autoware_component_interface_specs autoware_component_interface_utils autoware_geography_utils autoware_global_parameter_loader autoware_interface_spec_lint autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_test_manager autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.10.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-10-07
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The ROS 2 autoware_ground_filter package

Maintainers

  • amc-nu
  • Yukihiro Saito
  • Dai Nguyen
  • Yoshi Ri
  • Junya Sasaki

Authors

  • Open Perception
  • Julius Kammerl
  • William Woodall

autoware_ground_filter

Purpose

The autoware_ground_filter is a node that remove the ground points from the input pointcloud.

Inner-workings / Algorithms

Detail description of each ground segmentation algorithm is in the following links.

Filter Name Description Detail
ground_filter A method of removing the ground based on the geometrical relationship between points lined up on radiation link

Inputs / Outputs

The interfaces below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_interfaces_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameters

Node Parameters

The node launch parameters below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_param_values_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameter files

{{ node_param_files_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

The ground segmentation parameters are described in ground-filter.md.

Assumptions / Known limits

Implemented based on pcl_perception [1] because of this issue.

[1] https://github.com/ros-perception/perception_pcl/blob/ros2/pcl_ros/src/pcl_ros/filters/filter.cpp

CHANGELOG

Changelog for package autoware_ground_filter

1.1.0 (2025-05-01)

  • feat(autoware_utils): remove managed transform buffer (#360)

    • feat(autoware_utils): remove managed transform buffer

    * fix(autoware_ground_filter): redundant inclusion ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>

  • Contributors: Amadeusz Szymko

1.10.0 (2026-09-28)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • docs(mkdocs_macros): render README interfaces and parameters from node design files (#1399)

    • feat(mkdocs_macros): render node design files and resolve schema $ref
    • build(pre-commit): bump autoware_system_designer to v0.4.2 for design format 0.4.0

    * docs(autoware_ground_filter): generate README interfaces and parameters from the node design file ---------

  • fix(perception): declare the dependencies these packages use (#1371) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.

  • feat: [codecov/refactoring] [ground_filter] Step 3 - Unit test revamp (#1216)

    • designated unit test suite in step 3 to be a friend class to allow access to private maths and ensure strict encapsulation
    • also expose the same for new Radial related unit tests
    • lock legacy 11 test cases for grid mode, and add new calss for radial mode unit testing
    • add test 1 of radial mode unit test
    • add test 2 of radial mode unit test
    • add test 3 of radial mode unit test
    • add test 4 of radial mode unit test
    • add test 5 of radial mode unit test
    • addressed the floating point rounding error in test 3, all good now
    • refactor([downsample_filters]{.title-ref}): simplify core logic (#1219)
    • bug: remove unused [transform_info]{.title-ref}

    * cosmetic: improve comments for readability ---------

    • moved setDataAccessor and process helper funcs back to private
    • removed the friend exposers of test classes
    • removed the friend class references in test_ground_filter
    • removed test 1 and 2 since they are basic math checkings, also revamped test 4 to be more sense
    • revamped test 5 to use the newly revamped group filter architecture:
    • also removed test 3 cuz it is too much of testing basic maths and won't really stand in the future when someone changes algo
    • added new test to verify a case when points in different azimuths towering above ground
    • within the 11 original tests, for every test involving legacy combo of setDataAcessor and process, replace it with comprehensive filter func

    * fixed the indexing issue in test ClassifyLocalAndGlobalSlopes, now all good wonderful yayyyy ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • Tran ground filter step2 core logic isolation (#1214)

    • added TEST 2 as a consolidate of 5/25 previous test_node (btw just realized precommit wont accept your commits until you fix em, damn
    • added 3rd test under indices publishing
    • added 4rd test under approximate sync functionality
    • strengthen TEST 2 with an incomparable point cloud
    • added TEST 5 to verify elevation_grid_mode is good and cool
    • rename node to ground_filter_node
    • also update node include to ground filter node include
    • updated GroundFilterParameter struct to envision the new core logic isolation

File truncated at 100 lines see the full file

Launch files

  • launch/ground_filter.launch.xml
      • ground_segmentation_param_file [default: $(find-pkg-share autoware_ground_filter)/config/ground_filter.param.yaml]
      • vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
      • input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
      • output/pointcloud [default: /perception/obstacle_segmentation/pointcloud]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_ground_filter at Robotics Stack Exchange

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_ground_filter package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_admission autoware_component_interface_specs autoware_component_interface_utils autoware_geography_utils autoware_global_parameter_loader autoware_interface_spec_lint autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_test_manager autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.10.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-10-07
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The ROS 2 autoware_ground_filter package

Maintainers

  • amc-nu
  • Yukihiro Saito
  • Dai Nguyen
  • Yoshi Ri
  • Junya Sasaki

Authors

  • Open Perception
  • Julius Kammerl
  • William Woodall

autoware_ground_filter

Purpose

The autoware_ground_filter is a node that remove the ground points from the input pointcloud.

Inner-workings / Algorithms

Detail description of each ground segmentation algorithm is in the following links.

Filter Name Description Detail
ground_filter A method of removing the ground based on the geometrical relationship between points lined up on radiation link

Inputs / Outputs

The interfaces below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_interfaces_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameters

Node Parameters

The node launch parameters below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_param_values_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameter files

{{ node_param_files_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

The ground segmentation parameters are described in ground-filter.md.

Assumptions / Known limits

Implemented based on pcl_perception [1] because of this issue.

[1] https://github.com/ros-perception/perception_pcl/blob/ros2/pcl_ros/src/pcl_ros/filters/filter.cpp

CHANGELOG

Changelog for package autoware_ground_filter

1.1.0 (2025-05-01)

  • feat(autoware_utils): remove managed transform buffer (#360)

    • feat(autoware_utils): remove managed transform buffer

    * fix(autoware_ground_filter): redundant inclusion ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>

  • Contributors: Amadeusz Szymko

1.10.0 (2026-09-28)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • docs(mkdocs_macros): render README interfaces and parameters from node design files (#1399)

    • feat(mkdocs_macros): render node design files and resolve schema $ref
    • build(pre-commit): bump autoware_system_designer to v0.4.2 for design format 0.4.0

    * docs(autoware_ground_filter): generate README interfaces and parameters from the node design file ---------

  • fix(perception): declare the dependencies these packages use (#1371) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.

  • feat: [codecov/refactoring] [ground_filter] Step 3 - Unit test revamp (#1216)

    • designated unit test suite in step 3 to be a friend class to allow access to private maths and ensure strict encapsulation
    • also expose the same for new Radial related unit tests
    • lock legacy 11 test cases for grid mode, and add new calss for radial mode unit testing
    • add test 1 of radial mode unit test
    • add test 2 of radial mode unit test
    • add test 3 of radial mode unit test
    • add test 4 of radial mode unit test
    • add test 5 of radial mode unit test
    • addressed the floating point rounding error in test 3, all good now
    • refactor([downsample_filters]{.title-ref}): simplify core logic (#1219)
    • bug: remove unused [transform_info]{.title-ref}

    * cosmetic: improve comments for readability ---------

    • moved setDataAccessor and process helper funcs back to private
    • removed the friend exposers of test classes
    • removed the friend class references in test_ground_filter
    • removed test 1 and 2 since they are basic math checkings, also revamped test 4 to be more sense
    • revamped test 5 to use the newly revamped group filter architecture:
    • also removed test 3 cuz it is too much of testing basic maths and won't really stand in the future when someone changes algo
    • added new test to verify a case when points in different azimuths towering above ground
    • within the 11 original tests, for every test involving legacy combo of setDataAcessor and process, replace it with comprehensive filter func

    * fixed the indexing issue in test ClassifyLocalAndGlobalSlopes, now all good wonderful yayyyy ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • Tran ground filter step2 core logic isolation (#1214)

    • added TEST 2 as a consolidate of 5/25 previous test_node (btw just realized precommit wont accept your commits until you fix em, damn
    • added 3rd test under indices publishing
    • added 4rd test under approximate sync functionality
    • strengthen TEST 2 with an incomparable point cloud
    • added TEST 5 to verify elevation_grid_mode is good and cool
    • rename node to ground_filter_node
    • also update node include to ground filter node include
    • updated GroundFilterParameter struct to envision the new core logic isolation

File truncated at 100 lines see the full file

Launch files

  • launch/ground_filter.launch.xml
      • ground_segmentation_param_file [default: $(find-pkg-share autoware_ground_filter)/config/ground_filter.param.yaml]
      • vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
      • input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
      • output/pointcloud [default: /perception/obstacle_segmentation/pointcloud]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_ground_filter at Robotics Stack Exchange

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_ground_filter package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_admission autoware_component_interface_specs autoware_component_interface_utils autoware_geography_utils autoware_global_parameter_loader autoware_interface_spec_lint autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_test_manager autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.10.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-10-07
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The ROS 2 autoware_ground_filter package

Maintainers

  • amc-nu
  • Yukihiro Saito
  • Dai Nguyen
  • Yoshi Ri
  • Junya Sasaki

Authors

  • Open Perception
  • Julius Kammerl
  • William Woodall

autoware_ground_filter

Purpose

The autoware_ground_filter is a node that remove the ground points from the input pointcloud.

Inner-workings / Algorithms

Detail description of each ground segmentation algorithm is in the following links.

Filter Name Description Detail
ground_filter A method of removing the ground based on the geometrical relationship between points lined up on radiation link

Inputs / Outputs

The interfaces below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_interfaces_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameters

Node Parameters

The node launch parameters below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_param_values_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameter files

{{ node_param_files_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

The ground segmentation parameters are described in ground-filter.md.

Assumptions / Known limits

Implemented based on pcl_perception [1] because of this issue.

[1] https://github.com/ros-perception/perception_pcl/blob/ros2/pcl_ros/src/pcl_ros/filters/filter.cpp

CHANGELOG

Changelog for package autoware_ground_filter

1.1.0 (2025-05-01)

  • feat(autoware_utils): remove managed transform buffer (#360)

    • feat(autoware_utils): remove managed transform buffer

    * fix(autoware_ground_filter): redundant inclusion ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>

  • Contributors: Amadeusz Szymko

1.10.0 (2026-09-28)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • docs(mkdocs_macros): render README interfaces and parameters from node design files (#1399)

    • feat(mkdocs_macros): render node design files and resolve schema $ref
    • build(pre-commit): bump autoware_system_designer to v0.4.2 for design format 0.4.0

    * docs(autoware_ground_filter): generate README interfaces and parameters from the node design file ---------

  • fix(perception): declare the dependencies these packages use (#1371) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.

  • feat: [codecov/refactoring] [ground_filter] Step 3 - Unit test revamp (#1216)

    • designated unit test suite in step 3 to be a friend class to allow access to private maths and ensure strict encapsulation
    • also expose the same for new Radial related unit tests
    • lock legacy 11 test cases for grid mode, and add new calss for radial mode unit testing
    • add test 1 of radial mode unit test
    • add test 2 of radial mode unit test
    • add test 3 of radial mode unit test
    • add test 4 of radial mode unit test
    • add test 5 of radial mode unit test
    • addressed the floating point rounding error in test 3, all good now
    • refactor([downsample_filters]{.title-ref}): simplify core logic (#1219)
    • bug: remove unused [transform_info]{.title-ref}

    * cosmetic: improve comments for readability ---------

    • moved setDataAccessor and process helper funcs back to private
    • removed the friend exposers of test classes
    • removed the friend class references in test_ground_filter
    • removed test 1 and 2 since they are basic math checkings, also revamped test 4 to be more sense
    • revamped test 5 to use the newly revamped group filter architecture:
    • also removed test 3 cuz it is too much of testing basic maths and won't really stand in the future when someone changes algo
    • added new test to verify a case when points in different azimuths towering above ground
    • within the 11 original tests, for every test involving legacy combo of setDataAcessor and process, replace it with comprehensive filter func

    * fixed the indexing issue in test ClassifyLocalAndGlobalSlopes, now all good wonderful yayyyy ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • Tran ground filter step2 core logic isolation (#1214)

    • added TEST 2 as a consolidate of 5/25 previous test_node (btw just realized precommit wont accept your commits until you fix em, damn
    • added 3rd test under indices publishing
    • added 4rd test under approximate sync functionality
    • strengthen TEST 2 with an incomparable point cloud
    • added TEST 5 to verify elevation_grid_mode is good and cool
    • rename node to ground_filter_node
    • also update node include to ground filter node include
    • updated GroundFilterParameter struct to envision the new core logic isolation

File truncated at 100 lines see the full file

Launch files

  • launch/ground_filter.launch.xml
      • ground_segmentation_param_file [default: $(find-pkg-share autoware_ground_filter)/config/ground_filter.param.yaml]
      • vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
      • input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
      • output/pointcloud [default: /perception/obstacle_segmentation/pointcloud]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_ground_filter at Robotics Stack Exchange

No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_ground_filter package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_admission autoware_component_interface_specs autoware_component_interface_utils autoware_geography_utils autoware_global_parameter_loader autoware_interface_spec_lint autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_test_manager autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.10.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-10-07
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The ROS 2 autoware_ground_filter package

Maintainers

  • amc-nu
  • Yukihiro Saito
  • Dai Nguyen
  • Yoshi Ri
  • Junya Sasaki

Authors

  • Open Perception
  • Julius Kammerl
  • William Woodall

autoware_ground_filter

Purpose

The autoware_ground_filter is a node that remove the ground points from the input pointcloud.

Inner-workings / Algorithms

Detail description of each ground segmentation algorithm is in the following links.

Filter Name Description Detail
ground_filter A method of removing the ground based on the geometrical relationship between points lined up on radiation link

Inputs / Outputs

The interfaces below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_interfaces_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameters

Node Parameters

The node launch parameters below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_param_values_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameter files

{{ node_param_files_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

The ground segmentation parameters are described in ground-filter.md.

Assumptions / Known limits

Implemented based on pcl_perception [1] because of this issue.

[1] https://github.com/ros-perception/perception_pcl/blob/ros2/pcl_ros/src/pcl_ros/filters/filter.cpp

CHANGELOG

Changelog for package autoware_ground_filter

1.1.0 (2025-05-01)

  • feat(autoware_utils): remove managed transform buffer (#360)

    • feat(autoware_utils): remove managed transform buffer

    * fix(autoware_ground_filter): redundant inclusion ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>

  • Contributors: Amadeusz Szymko

1.10.0 (2026-09-28)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • docs(mkdocs_macros): render README interfaces and parameters from node design files (#1399)

    • feat(mkdocs_macros): render node design files and resolve schema $ref
    • build(pre-commit): bump autoware_system_designer to v0.4.2 for design format 0.4.0

    * docs(autoware_ground_filter): generate README interfaces and parameters from the node design file ---------

  • fix(perception): declare the dependencies these packages use (#1371) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.

  • feat: [codecov/refactoring] [ground_filter] Step 3 - Unit test revamp (#1216)

    • designated unit test suite in step 3 to be a friend class to allow access to private maths and ensure strict encapsulation
    • also expose the same for new Radial related unit tests
    • lock legacy 11 test cases for grid mode, and add new calss for radial mode unit testing
    • add test 1 of radial mode unit test
    • add test 2 of radial mode unit test
    • add test 3 of radial mode unit test
    • add test 4 of radial mode unit test
    • add test 5 of radial mode unit test
    • addressed the floating point rounding error in test 3, all good now
    • refactor([downsample_filters]{.title-ref}): simplify core logic (#1219)
    • bug: remove unused [transform_info]{.title-ref}

    * cosmetic: improve comments for readability ---------

    • moved setDataAccessor and process helper funcs back to private
    • removed the friend exposers of test classes
    • removed the friend class references in test_ground_filter
    • removed test 1 and 2 since they are basic math checkings, also revamped test 4 to be more sense
    • revamped test 5 to use the newly revamped group filter architecture:
    • also removed test 3 cuz it is too much of testing basic maths and won't really stand in the future when someone changes algo
    • added new test to verify a case when points in different azimuths towering above ground
    • within the 11 original tests, for every test involving legacy combo of setDataAcessor and process, replace it with comprehensive filter func

    * fixed the indexing issue in test ClassifyLocalAndGlobalSlopes, now all good wonderful yayyyy ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • Tran ground filter step2 core logic isolation (#1214)

    • added TEST 2 as a consolidate of 5/25 previous test_node (btw just realized precommit wont accept your commits until you fix em, damn
    • added 3rd test under indices publishing
    • added 4rd test under approximate sync functionality
    • strengthen TEST 2 with an incomparable point cloud
    • added TEST 5 to verify elevation_grid_mode is good and cool
    • rename node to ground_filter_node
    • also update node include to ground filter node include
    • updated GroundFilterParameter struct to envision the new core logic isolation

File truncated at 100 lines see the full file

Launch files

  • launch/ground_filter.launch.xml
      • ground_segmentation_param_file [default: $(find-pkg-share autoware_ground_filter)/config/ground_filter.param.yaml]
      • vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
      • input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
      • output/pointcloud [default: /perception/obstacle_segmentation/pointcloud]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_ground_filter at Robotics Stack Exchange

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_ground_filter package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_admission autoware_component_interface_specs autoware_component_interface_utils autoware_geography_utils autoware_global_parameter_loader autoware_interface_spec_lint autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_test_manager autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.10.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-10-07
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The ROS 2 autoware_ground_filter package

Maintainers

  • amc-nu
  • Yukihiro Saito
  • Dai Nguyen
  • Yoshi Ri
  • Junya Sasaki

Authors

  • Open Perception
  • Julius Kammerl
  • William Woodall

autoware_ground_filter

Purpose

The autoware_ground_filter is a node that remove the ground points from the input pointcloud.

Inner-workings / Algorithms

Detail description of each ground segmentation algorithm is in the following links.

Filter Name Description Detail
ground_filter A method of removing the ground based on the geometrical relationship between points lined up on radiation link

Inputs / Outputs

The interfaces below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_interfaces_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameters

Node Parameters

The node launch parameters below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_param_values_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameter files

{{ node_param_files_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

The ground segmentation parameters are described in ground-filter.md.

Assumptions / Known limits

Implemented based on pcl_perception [1] because of this issue.

[1] https://github.com/ros-perception/perception_pcl/blob/ros2/pcl_ros/src/pcl_ros/filters/filter.cpp

CHANGELOG

Changelog for package autoware_ground_filter

1.1.0 (2025-05-01)

  • feat(autoware_utils): remove managed transform buffer (#360)

    • feat(autoware_utils): remove managed transform buffer

    * fix(autoware_ground_filter): redundant inclusion ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>

  • Contributors: Amadeusz Szymko

1.10.0 (2026-09-28)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • docs(mkdocs_macros): render README interfaces and parameters from node design files (#1399)

    • feat(mkdocs_macros): render node design files and resolve schema $ref
    • build(pre-commit): bump autoware_system_designer to v0.4.2 for design format 0.4.0

    * docs(autoware_ground_filter): generate README interfaces and parameters from the node design file ---------

  • fix(perception): declare the dependencies these packages use (#1371) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.

  • feat: [codecov/refactoring] [ground_filter] Step 3 - Unit test revamp (#1216)

    • designated unit test suite in step 3 to be a friend class to allow access to private maths and ensure strict encapsulation
    • also expose the same for new Radial related unit tests
    • lock legacy 11 test cases for grid mode, and add new calss for radial mode unit testing
    • add test 1 of radial mode unit test
    • add test 2 of radial mode unit test
    • add test 3 of radial mode unit test
    • add test 4 of radial mode unit test
    • add test 5 of radial mode unit test
    • addressed the floating point rounding error in test 3, all good now
    • refactor([downsample_filters]{.title-ref}): simplify core logic (#1219)
    • bug: remove unused [transform_info]{.title-ref}

    * cosmetic: improve comments for readability ---------

    • moved setDataAccessor and process helper funcs back to private
    • removed the friend exposers of test classes
    • removed the friend class references in test_ground_filter
    • removed test 1 and 2 since they are basic math checkings, also revamped test 4 to be more sense
    • revamped test 5 to use the newly revamped group filter architecture:
    • also removed test 3 cuz it is too much of testing basic maths and won't really stand in the future when someone changes algo
    • added new test to verify a case when points in different azimuths towering above ground
    • within the 11 original tests, for every test involving legacy combo of setDataAcessor and process, replace it with comprehensive filter func

    * fixed the indexing issue in test ClassifyLocalAndGlobalSlopes, now all good wonderful yayyyy ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • Tran ground filter step2 core logic isolation (#1214)

    • added TEST 2 as a consolidate of 5/25 previous test_node (btw just realized precommit wont accept your commits until you fix em, damn
    • added 3rd test under indices publishing
    • added 4rd test under approximate sync functionality
    • strengthen TEST 2 with an incomparable point cloud
    • added TEST 5 to verify elevation_grid_mode is good and cool
    • rename node to ground_filter_node
    • also update node include to ground filter node include
    • updated GroundFilterParameter struct to envision the new core logic isolation

File truncated at 100 lines see the full file

Launch files

  • launch/ground_filter.launch.xml
      • ground_segmentation_param_file [default: $(find-pkg-share autoware_ground_filter)/config/ground_filter.param.yaml]
      • vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
      • input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
      • output/pointcloud [default: /perception/obstacle_segmentation/pointcloud]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_ground_filter at Robotics Stack Exchange

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

autoware_ground_filter package from autoware_core repo

autoware_adapi_adaptors autoware_adapi_specs autoware_core_api autoware_default_adapi autoware_core autoware_agnocast_wrapper autoware_component_interface_admission autoware_component_interface_specs autoware_component_interface_utils autoware_geography_utils autoware_global_parameter_loader autoware_interface_spec_lint autoware_interpolation autoware_kalman_filter autoware_lanelet2_utils autoware_marker_utils autoware_motion_utils autoware_node autoware_object_recognition_utils autoware_osqp_interface autoware_point_types autoware_qos_utils autoware_qp_interface autoware_signal_processing autoware_trajectory autoware_vehicle_info_utils autoware_command_gate autoware_core_control autoware_simple_pure_pursuit autoware_awsim_sensor_kit_description autoware_sample_sensor_kit_description autoware_sample_vehicle_description autoware_core_localization autoware_ekf_localizer autoware_gyro_odometer autoware_localization_util autoware_ndt_scan_matcher autoware_pose_initializer autoware_stop_filter autoware_twist2accel autoware_core_map autoware_lanelet2_map_visualizer autoware_map_height_fitter autoware_map_loader autoware_map_projection_loader autoware_core_perception autoware_euclidean_cluster_object_detector autoware_ground_filter autoware_perception_objects_converter autoware_core_planning autoware_mission_planner autoware_objects_of_interest_marker_interface autoware_path_generator autoware_planning_factor_interface autoware_planning_test_manager autoware_planning_topic_converter autoware_route_handler autoware_velocity_smoother autoware_behavior_velocity_planner autoware_behavior_velocity_planner_common autoware_behavior_velocity_stop_line_module autoware_motion_velocity_obstacle_stop_module autoware_motion_velocity_planner autoware_motion_velocity_planner_common autoware_core_sensing autoware_crop_box_filter autoware_downsample_filters autoware_gnss_poser autoware_vehicle_velocity_converter autoware_pyplot autoware_test_node autoware_test_utils autoware_testing autoware_core_vehicle

ROS Distro
humble

Package Summary

Version 1.10.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/autowarefoundation/autoware_core.git
VCS Type git
VCS Version main
Last Updated 2026-10-07
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The ROS 2 autoware_ground_filter package

Maintainers

  • amc-nu
  • Yukihiro Saito
  • Dai Nguyen
  • Yoshi Ri
  • Junya Sasaki

Authors

  • Open Perception
  • Julius Kammerl
  • William Woodall

autoware_ground_filter

Purpose

The autoware_ground_filter is a node that remove the ground points from the input pointcloud.

Inner-workings / Algorithms

Detail description of each ground segmentation algorithm is in the following links.

Filter Name Description Detail
ground_filter A method of removing the ground based on the geometrical relationship between points lined up on radiation link

Inputs / Outputs

The interfaces below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_interfaces_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameters

Node Parameters

The node launch parameters below are generated from the node design file design/GroundFilter.node.yaml.

{{ node_param_values_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

Parameter files

{{ node_param_files_to_markdown(“perception/autoware_ground_filter/design/GroundFilter.node.yaml”) }}

The ground segmentation parameters are described in ground-filter.md.

Assumptions / Known limits

Implemented based on pcl_perception [1] because of this issue.

[1] https://github.com/ros-perception/perception_pcl/blob/ros2/pcl_ros/src/pcl_ros/filters/filter.cpp

CHANGELOG

Changelog for package autoware_ground_filter

1.1.0 (2025-05-01)

  • feat(autoware_utils): remove managed transform buffer (#360)

    • feat(autoware_utils): remove managed transform buffer

    * fix(autoware_ground_filter): redundant inclusion ---------Co-authored-by: Yutaka Kondo <<yutaka.kondo@youtalk.jp>>

  • Contributors: Amadeusz Szymko

1.10.0 (2026-09-28)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • docs(mkdocs_macros): render README interfaces and parameters from node design files (#1399)

    • feat(mkdocs_macros): render node design files and resolve schema $ref
    • build(pre-commit): bump autoware_system_designer to v0.4.2 for design format 0.4.0

    * docs(autoware_ground_filter): generate README interfaces and parameters from the node design file ---------

  • fix(perception): declare the dependencies these packages use (#1371) Each of these packages uses a package it never declares. Either it includes a header of that package, or it names a symbol of it while the header arrives through another dependency. Both build today only because some declared dependency re-exports the owner, so a change in an unrelated repository can break them without anything here changing. The tag follows where the dependency is used: a use in an installed header or in code compiled into the library takes <depend>, one reached only from test/ takes <test_depend>. System libraries are named by the rosdep key this workspace already prefers.

  • feat: [codecov/refactoring] [ground_filter] Step 3 - Unit test revamp (#1216)

    • designated unit test suite in step 3 to be a friend class to allow access to private maths and ensure strict encapsulation
    • also expose the same for new Radial related unit tests
    • lock legacy 11 test cases for grid mode, and add new calss for radial mode unit testing
    • add test 1 of radial mode unit test
    • add test 2 of radial mode unit test
    • add test 3 of radial mode unit test
    • add test 4 of radial mode unit test
    • add test 5 of radial mode unit test
    • addressed the floating point rounding error in test 3, all good now
    • refactor([downsample_filters]{.title-ref}): simplify core logic (#1219)
    • bug: remove unused [transform_info]{.title-ref}

    * cosmetic: improve comments for readability ---------

    • moved setDataAccessor and process helper funcs back to private
    • removed the friend exposers of test classes
    • removed the friend class references in test_ground_filter
    • removed test 1 and 2 since they are basic math checkings, also revamped test 4 to be more sense
    • revamped test 5 to use the newly revamped group filter architecture:
    • also removed test 3 cuz it is too much of testing basic maths and won't really stand in the future when someone changes algo
    • added new test to verify a case when points in different azimuths towering above ground
    • within the 11 original tests, for every test involving legacy combo of setDataAcessor and process, replace it with comprehensive filter func

    * fixed the indexing issue in test ClassifyLocalAndGlobalSlopes, now all good wonderful yayyyy ---------Co-authored-by: Junya Sasaki <<j2sasaki1990@gmail.com>>

  • Tran ground filter step2 core logic isolation (#1214)

    • added TEST 2 as a consolidate of 5/25 previous test_node (btw just realized precommit wont accept your commits until you fix em, damn
    • added 3rd test under indices publishing
    • added 4rd test under approximate sync functionality
    • strengthen TEST 2 with an incomparable point cloud
    • added TEST 5 to verify elevation_grid_mode is good and cool
    • rename node to ground_filter_node
    • also update node include to ground filter node include
    • updated GroundFilterParameter struct to envision the new core logic isolation

File truncated at 100 lines see the full file

Launch files

  • launch/ground_filter.launch.xml
      • ground_segmentation_param_file [default: $(find-pkg-share autoware_ground_filter)/config/ground_filter.param.yaml]
      • vehicle_info_param_file [default: $(find-pkg-share autoware_vehicle_info_utils)/config/vehicle_info.param.yaml]
      • input/pointcloud [default: /sensing/lidar/concatenated/pointcloud]
      • output/pointcloud [default: /perception/obstacle_segmentation/pointcloud]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_ground_filter at Robotics Stack Exchange