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

lidar_euclidean_cluster_detect package from autoware_learn repo

amathutils_lib autoware_build_flags autoware_health_checker emergency_handler gnss lanelet2_extension libvectormap libwaypoint_follower map_file object_map op_planner op_ros_helpers op_simu op_utility ros_observer tvm_utility vector_map vector_map_server vehicle_sim_model autoware_connector ekf_localizer gnss_localizer image_processor imm_ukf_pda_track lidar_apollo_cnn_seg_detect lidar_euclidean_cluster_detect lidar_fake_perception lidar_kf_contour_track lidar_localizer lidar_naive_l_shape_detect lidar_point_pillars lidar_shape_estimation naive_motion_predict ndt_cpu ndt_gpu ndt_tku obj_db pcl_omp_registration pixel_cloud_fusion points_downsampler points_preprocessor pos_db range_vision_fusion road_occupancy_processor roi_object_filter trafficlight_recognizer twist_generator vel_pose_diff_checker vision_beyond_track vision_darknet_detect vision_lane_detect vision_segment_enet_detect vision_ssd_detect astar_search costmap_generator decision_maker dp_planner ff_waypoint_follower freespace_planner lane_planner lattice_planner ll2_global_planner mpc_follower op_global_planner op_local_planner op_simulation_package op_utilities pure_pursuit state_machine_lib twist_filter twist_gate way_planner waypoint_maker waypoint_planner autoware_quickstart_examples autoware_can_msgs autoware_config_msgs autoware_external_msgs autoware_lanelet2_msgs autoware_map_msgs autoware_msgs autoware_system_msgs tablet_socket_msgs vector_map_msgs carla_autoware_bridge gazebo_camera_description gazebo_imu_description lgsvl_simulator_bridge vehicle_gazebo_simulation_interface vehicle_gazebo_simulation_launcher wf_simulator autoware_bag_tools autoware_camera_lidar_calibrator autoware_launcher autoware_launcher_rviz calibration_publisher data_preprocessor graph_tools kitti_box_publisher kitti_launch kitti_player lanelet_aisan_converter log_tools map_tf_generator map_tools marker_downsampler mqtt_socket multi_lidar_calibrator oculus_socket pc2_downsampler rosbag_controller runtime_manager sound_player system_monitor tablet_socket twist2odom udon_socket vehicle_engage_panel vehicle_socket decision_maker_panel detected_objects_visualizer fastvirtualscan gazebo_world_description glviewer integrated_viewer points2image rosinterface autoware_rviz_plugins vehicle_description vehicle_model adi_driver as autoware_driveworks_gmsl_interface autoware_driveworks_interface vlg22c_cam custom_msgs garmin hokuyo javad_navsat_driver kvaser sick_lms5xx memsic_imu microstrain_driver nmea_navsat autoware_pointgrey_drivers sick_ldmrs_description sick_ldmrs_driver sick_ldmrs_laser sick_ldmrs_msgs sick_ldmrs_tools vectacam xsens_driver ymc ds4 ds4_driver ds4_msgs lanelet2 lanelet2_core lanelet2_examples lanelet2_io lanelet2_maps lanelet2_matching lanelet2_projection lanelet2_python lanelet2_routing lanelet2_traffic_rules lanelet2_validation mrt_cmake_modules

ROS Distro
github

Package Summary

Tags No category tags.
Version 1.12.0
License Apache 2
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description autoware.ai perf
Checkout URI https://github.com/is-whale/autoware_learn.git
VCS Type git
VCS Version 1.14
Last Updated 2025-03-14
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The lidar_euclidean_cluster_detect package

Additional Links

No additional links.

Maintainers

  • amc

Authors

No additional authors.

lidar_euclidean_cluster_detect

The purpose of this package is to detect individual objects in pointcloud data. Points are grouped into clusters based on proximity and published as detected objects.

NOTE: A new version of this package is available in autoware.auto.

Process

  1. Pointcloud preprocessing
    • Points closer than a distance of remove_points_upto meters are removed from the cloud.
    • Points are then downsampled if the downsample_cloud parameter is set to true.
    • The pointcloud is trimmed to remove points based on height thresholds (clip_min_height and clip_max_height).
    • Points are further trimmed based on their y position to either side of the vehicle if keep_lanes is set to true. The bounds are defined by keep_lane_left_distance and keep_lane_right_distance.
    • A RANSAC-based algorithm is then used to determine a ground plane and remove any points belonging to the ground. This is activated by the remove_ground parameter.
    • The pointcloud is further filtered using Difference-of-Normals to remove any points that belong to a smooth surface. This is activated by the use_diffnormals parameter.
  2. Pointcloud Clustering
    • The preprocessed pointcloud is then clustered using Euclidean Cluster Extraction, the cluster tolerance is defined by the clustering_distance parameter. This is the only part of the node that provides the option to use the GPU (activated by the use_gpu parameter).
    • Resulting clusters are then checked against neighboring clusters and any clusters which are less than cluster_merge_threshold apart are combined into a single cluster.
    • Rectangluar bounding boxes and polygonal bounds are then fit to the cluster pointclouds.

References

Voxel-based Downsampling
Pointcloud Surface Normal Estimation
Difference of Normals Segmentation
Euclidean Cluster Extraction

ROS API

Subs

Pubs

  • detection/lidar_detector/cloud_clusters (autoware_msgs/CloudClusterArray)
    Array of cloud clusters.
  • detection/lidar_detector/objects (autoware_msgs/DetectedObjectArray)
    Array of all detected objects.
  • cluster_centroids (autoware_msgs/Centroids)
    Centroids of the clusters.
  • points_lanes (sensor_msgs/PointCloud2)
    Pointcloud with all preprocessing performed except Difference-of-Normals filtering.
  • points_cluster (sensor_msgs/PointCloud2)
    Pointcloud colored according to cluster.
  • points_ground (sensor_msgs/PointCloud2)
    Pointcloud of only ground points.

ROS Parameters

See the yaml file in the config folder for all ROS parameters and their descriptions

CHANGELOG

Changelog for package lidar_euclidean_cluster_detect

1.11.0 (2019-03-21)

  • [fix] Install commands for all the packages (#1861)
    • Initial fixes to detection, sensing, semantics and utils

    • fixing wrong filename on install command

    • Fixes to install commands

    • Hokuyo fix name

    • Fix obj db

    • Obj db include fixes

    • End of final cleaning sweep

    • Incorrect command order in runtime manager

    • Param tempfile not required by runtime_manager

      • Fixes to runtime manager install commands
    • Remove devel directory from catkin, if any

    • Updated launch files for robosense

    • Updated robosense

    • Fix/add missing install (#1977)

    • Added launch install to lidar_kf_contour_track

    • Added install to op_global_planner

    • Added install to way_planner

    • Added install to op_local_planner

    • Added install to op_simulation_package

    • Added install to op_utilities

    • Added install to sync

      • Improved installation script for pointgrey packages
    • Fixed nodelet error for gmsl cameras

    • USe install space in catkin as well

    • add install to catkin

    • Fix install directives (#1990)

    • Fixed installation path

    • Fixed params installation path

    • Fixed cfg installation path

    • Delete cache on colcon_release
  • Fix license notice in corresponding package.xml
  • Adaptation of Object Filter with new perception workflow
  • Initial release of object filter
  • Contributors: Abraham Monrroy, Abraham Monrroy Cano, amc-nu

1.10.0 (2019-01-17)

  • Fixes for catkin_make
  • Use colcon as the build tool (#1704)
    • Switch to colcon as the build tool instead of catkin
    • Added cmake-target
    • Added note about the second colcon call
    • Added warning about catkin* scripts being deprecated
    • Fix COLCON_OPTS
    • Added install targets
    • Update Docker image tags
    • Message packages fixes
    • Fix missing dependency
  • Feature/perception visualization cleanup (#1648)
      • Initial commit for visualization package
    • Removal of all visualization messages from perception nodes

    • Visualization dependency removal

    • Launch file modification

      • Fixes to visualization
    • Error on Clustering CPU

File truncated at 100 lines see the full file

Launch files

  • launch/euclidean_clustering_Exp.launch
      • points_node [default: /velodyne16/baselink_velodyne_points]
      • remove_ground [default: true]
      • downsample_cloud [default: false]
      • leaf_size [default: 0.1]
      • cluster_size_min [default: 20]
      • cluster_size_max [default: 10000]
      • sync [default: false]
      • use_diffnormals [default: false]
      • pose_estimation [default: true]
      • clip_min_height [default: -0.3]
      • clip_max_height [default: 0.5]
      • keep_lanes [default: false]
      • keep_lane_left_distance [default: 3]
      • keep_lane_right_distance [default: 3]
      • output_frame [default: map]
      • remove_points_upto [default: 0.0]
  • launch/lidar_euclidean_cluster_detect.launch
      • points_node [default: /points_raw]
      • remove_ground [default: true]
      • downsample_cloud [default: false]
      • leaf_size [default: 0.1]
      • cluster_size_min [default: 20]
      • cluster_size_max [default: 100000]
      • sync [default: false]
      • use_diffnormals [default: false]
      • pose_estimation [default: true]
      • clip_min_height [default: -1.3]
      • clip_max_height [default: 0.5]
      • keep_lanes [default: false]
      • keep_lane_left_distance [default: 5]
      • keep_lane_right_distance [default: 5]
      • cluster_merge_threshold [default: 1.5]
      • clustering_distance [default: 0.75]
      • use_vector_map [default: false]
      • wayarea_gridmap_layer [default: wayarea]
      • output_frame [default: velodyne]
      • remove_points_upto [default: 0.0]
      • use_gpu [default: false]
      • use_multiple_thres [default: false]
      • clustering_ranges [default: [15,30,45,60]]
      • clustering_distances [default: [0.5,1.1,1.6,2.1,2.6]]
  • launch/lidar_euclidean_cluster_detect_param.launch
      • use_vector_map [default: false]
      • wayarea_gridmap_layer [default: wayarea]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged lidar_euclidean_cluster_detect at Robotics Stack Exchange

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

lidar_euclidean_cluster_detect package from autoware_learn repo

amathutils_lib autoware_build_flags autoware_health_checker emergency_handler gnss lanelet2_extension libvectormap libwaypoint_follower map_file object_map op_planner op_ros_helpers op_simu op_utility ros_observer tvm_utility vector_map vector_map_server vehicle_sim_model autoware_connector ekf_localizer gnss_localizer image_processor imm_ukf_pda_track lidar_apollo_cnn_seg_detect lidar_euclidean_cluster_detect lidar_fake_perception lidar_kf_contour_track lidar_localizer lidar_naive_l_shape_detect lidar_point_pillars lidar_shape_estimation naive_motion_predict ndt_cpu ndt_gpu ndt_tku obj_db pcl_omp_registration pixel_cloud_fusion points_downsampler points_preprocessor pos_db range_vision_fusion road_occupancy_processor roi_object_filter trafficlight_recognizer twist_generator vel_pose_diff_checker vision_beyond_track vision_darknet_detect vision_lane_detect vision_segment_enet_detect vision_ssd_detect astar_search costmap_generator decision_maker dp_planner ff_waypoint_follower freespace_planner lane_planner lattice_planner ll2_global_planner mpc_follower op_global_planner op_local_planner op_simulation_package op_utilities pure_pursuit state_machine_lib twist_filter twist_gate way_planner waypoint_maker waypoint_planner autoware_quickstart_examples autoware_can_msgs autoware_config_msgs autoware_external_msgs autoware_lanelet2_msgs autoware_map_msgs autoware_msgs autoware_system_msgs tablet_socket_msgs vector_map_msgs carla_autoware_bridge gazebo_camera_description gazebo_imu_description lgsvl_simulator_bridge vehicle_gazebo_simulation_interface vehicle_gazebo_simulation_launcher wf_simulator autoware_bag_tools autoware_camera_lidar_calibrator autoware_launcher autoware_launcher_rviz calibration_publisher data_preprocessor graph_tools kitti_box_publisher kitti_launch kitti_player lanelet_aisan_converter log_tools map_tf_generator map_tools marker_downsampler mqtt_socket multi_lidar_calibrator oculus_socket pc2_downsampler rosbag_controller runtime_manager sound_player system_monitor tablet_socket twist2odom udon_socket vehicle_engage_panel vehicle_socket decision_maker_panel detected_objects_visualizer fastvirtualscan gazebo_world_description glviewer integrated_viewer points2image rosinterface autoware_rviz_plugins vehicle_description vehicle_model adi_driver as autoware_driveworks_gmsl_interface autoware_driveworks_interface vlg22c_cam custom_msgs garmin hokuyo javad_navsat_driver kvaser sick_lms5xx memsic_imu microstrain_driver nmea_navsat autoware_pointgrey_drivers sick_ldmrs_description sick_ldmrs_driver sick_ldmrs_laser sick_ldmrs_msgs sick_ldmrs_tools vectacam xsens_driver ymc ds4 ds4_driver ds4_msgs lanelet2 lanelet2_core lanelet2_examples lanelet2_io lanelet2_maps lanelet2_matching lanelet2_projection lanelet2_python lanelet2_routing lanelet2_traffic_rules lanelet2_validation mrt_cmake_modules

ROS Distro
github

Package Summary

Tags No category tags.
Version 1.12.0
License Apache 2
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description autoware.ai perf
Checkout URI https://github.com/is-whale/autoware_learn.git
VCS Type git
VCS Version 1.14
Last Updated 2025-03-14
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The lidar_euclidean_cluster_detect package

Additional Links

No additional links.

Maintainers

  • amc

Authors

No additional authors.

lidar_euclidean_cluster_detect

The purpose of this package is to detect individual objects in pointcloud data. Points are grouped into clusters based on proximity and published as detected objects.

NOTE: A new version of this package is available in autoware.auto.

Process

  1. Pointcloud preprocessing
    • Points closer than a distance of remove_points_upto meters are removed from the cloud.
    • Points are then downsampled if the downsample_cloud parameter is set to true.
    • The pointcloud is trimmed to remove points based on height thresholds (clip_min_height and clip_max_height).
    • Points are further trimmed based on their y position to either side of the vehicle if keep_lanes is set to true. The bounds are defined by keep_lane_left_distance and keep_lane_right_distance.
    • A RANSAC-based algorithm is then used to determine a ground plane and remove any points belonging to the ground. This is activated by the remove_ground parameter.
    • The pointcloud is further filtered using Difference-of-Normals to remove any points that belong to a smooth surface. This is activated by the use_diffnormals parameter.
  2. Pointcloud Clustering
    • The preprocessed pointcloud is then clustered using Euclidean Cluster Extraction, the cluster tolerance is defined by the clustering_distance parameter. This is the only part of the node that provides the option to use the GPU (activated by the use_gpu parameter).
    • Resulting clusters are then checked against neighboring clusters and any clusters which are less than cluster_merge_threshold apart are combined into a single cluster.
    • Rectangluar bounding boxes and polygonal bounds are then fit to the cluster pointclouds.

References

Voxel-based Downsampling
Pointcloud Surface Normal Estimation
Difference of Normals Segmentation
Euclidean Cluster Extraction

ROS API

Subs

Pubs

  • detection/lidar_detector/cloud_clusters (autoware_msgs/CloudClusterArray)
    Array of cloud clusters.
  • detection/lidar_detector/objects (autoware_msgs/DetectedObjectArray)
    Array of all detected objects.
  • cluster_centroids (autoware_msgs/Centroids)
    Centroids of the clusters.
  • points_lanes (sensor_msgs/PointCloud2)
    Pointcloud with all preprocessing performed except Difference-of-Normals filtering.
  • points_cluster (sensor_msgs/PointCloud2)
    Pointcloud colored according to cluster.
  • points_ground (sensor_msgs/PointCloud2)
    Pointcloud of only ground points.

ROS Parameters

See the yaml file in the config folder for all ROS parameters and their descriptions

CHANGELOG

Changelog for package lidar_euclidean_cluster_detect

1.11.0 (2019-03-21)

  • [fix] Install commands for all the packages (#1861)
    • Initial fixes to detection, sensing, semantics and utils

    • fixing wrong filename on install command

    • Fixes to install commands

    • Hokuyo fix name

    • Fix obj db

    • Obj db include fixes

    • End of final cleaning sweep

    • Incorrect command order in runtime manager

    • Param tempfile not required by runtime_manager

      • Fixes to runtime manager install commands
    • Remove devel directory from catkin, if any

    • Updated launch files for robosense

    • Updated robosense

    • Fix/add missing install (#1977)

    • Added launch install to lidar_kf_contour_track

    • Added install to op_global_planner

    • Added install to way_planner

    • Added install to op_local_planner

    • Added install to op_simulation_package

    • Added install to op_utilities

    • Added install to sync

      • Improved installation script for pointgrey packages
    • Fixed nodelet error for gmsl cameras

    • USe install space in catkin as well

    • add install to catkin

    • Fix install directives (#1990)

    • Fixed installation path

    • Fixed params installation path

    • Fixed cfg installation path

    • Delete cache on colcon_release
  • Fix license notice in corresponding package.xml
  • Adaptation of Object Filter with new perception workflow
  • Initial release of object filter
  • Contributors: Abraham Monrroy, Abraham Monrroy Cano, amc-nu

1.10.0 (2019-01-17)

  • Fixes for catkin_make
  • Use colcon as the build tool (#1704)
    • Switch to colcon as the build tool instead of catkin
    • Added cmake-target
    • Added note about the second colcon call
    • Added warning about catkin* scripts being deprecated
    • Fix COLCON_OPTS
    • Added install targets
    • Update Docker image tags
    • Message packages fixes
    • Fix missing dependency
  • Feature/perception visualization cleanup (#1648)
      • Initial commit for visualization package
    • Removal of all visualization messages from perception nodes

    • Visualization dependency removal

    • Launch file modification

      • Fixes to visualization
    • Error on Clustering CPU

File truncated at 100 lines see the full file

Launch files

  • launch/euclidean_clustering_Exp.launch
      • points_node [default: /velodyne16/baselink_velodyne_points]
      • remove_ground [default: true]
      • downsample_cloud [default: false]
      • leaf_size [default: 0.1]
      • cluster_size_min [default: 20]
      • cluster_size_max [default: 10000]
      • sync [default: false]
      • use_diffnormals [default: false]
      • pose_estimation [default: true]
      • clip_min_height [default: -0.3]
      • clip_max_height [default: 0.5]
      • keep_lanes [default: false]
      • keep_lane_left_distance [default: 3]
      • keep_lane_right_distance [default: 3]
      • output_frame [default: map]
      • remove_points_upto [default: 0.0]
  • launch/lidar_euclidean_cluster_detect.launch
      • points_node [default: /points_raw]
      • remove_ground [default: true]
      • downsample_cloud [default: false]
      • leaf_size [default: 0.1]
      • cluster_size_min [default: 20]
      • cluster_size_max [default: 100000]
      • sync [default: false]
      • use_diffnormals [default: false]
      • pose_estimation [default: true]
      • clip_min_height [default: -1.3]
      • clip_max_height [default: 0.5]
      • keep_lanes [default: false]
      • keep_lane_left_distance [default: 5]
      • keep_lane_right_distance [default: 5]
      • cluster_merge_threshold [default: 1.5]
      • clustering_distance [default: 0.75]
      • use_vector_map [default: false]
      • wayarea_gridmap_layer [default: wayarea]
      • output_frame [default: velodyne]
      • remove_points_upto [default: 0.0]
      • use_gpu [default: false]
      • use_multiple_thres [default: false]
      • clustering_ranges [default: [15,30,45,60]]
      • clustering_distances [default: [0.5,1.1,1.6,2.1,2.6]]
  • launch/lidar_euclidean_cluster_detect_param.launch
      • use_vector_map [default: false]
      • wayarea_gridmap_layer [default: wayarea]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged lidar_euclidean_cluster_detect at Robotics Stack Exchange

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

lidar_euclidean_cluster_detect package from autoware_learn repo

amathutils_lib autoware_build_flags autoware_health_checker emergency_handler gnss lanelet2_extension libvectormap libwaypoint_follower map_file object_map op_planner op_ros_helpers op_simu op_utility ros_observer tvm_utility vector_map vector_map_server vehicle_sim_model autoware_connector ekf_localizer gnss_localizer image_processor imm_ukf_pda_track lidar_apollo_cnn_seg_detect lidar_euclidean_cluster_detect lidar_fake_perception lidar_kf_contour_track lidar_localizer lidar_naive_l_shape_detect lidar_point_pillars lidar_shape_estimation naive_motion_predict ndt_cpu ndt_gpu ndt_tku obj_db pcl_omp_registration pixel_cloud_fusion points_downsampler points_preprocessor pos_db range_vision_fusion road_occupancy_processor roi_object_filter trafficlight_recognizer twist_generator vel_pose_diff_checker vision_beyond_track vision_darknet_detect vision_lane_detect vision_segment_enet_detect vision_ssd_detect astar_search costmap_generator decision_maker dp_planner ff_waypoint_follower freespace_planner lane_planner lattice_planner ll2_global_planner mpc_follower op_global_planner op_local_planner op_simulation_package op_utilities pure_pursuit state_machine_lib twist_filter twist_gate way_planner waypoint_maker waypoint_planner autoware_quickstart_examples autoware_can_msgs autoware_config_msgs autoware_external_msgs autoware_lanelet2_msgs autoware_map_msgs autoware_msgs autoware_system_msgs tablet_socket_msgs vector_map_msgs carla_autoware_bridge gazebo_camera_description gazebo_imu_description lgsvl_simulator_bridge vehicle_gazebo_simulation_interface vehicle_gazebo_simulation_launcher wf_simulator autoware_bag_tools autoware_camera_lidar_calibrator autoware_launcher autoware_launcher_rviz calibration_publisher data_preprocessor graph_tools kitti_box_publisher kitti_launch kitti_player lanelet_aisan_converter log_tools map_tf_generator map_tools marker_downsampler mqtt_socket multi_lidar_calibrator oculus_socket pc2_downsampler rosbag_controller runtime_manager sound_player system_monitor tablet_socket twist2odom udon_socket vehicle_engage_panel vehicle_socket decision_maker_panel detected_objects_visualizer fastvirtualscan gazebo_world_description glviewer integrated_viewer points2image rosinterface autoware_rviz_plugins vehicle_description vehicle_model adi_driver as autoware_driveworks_gmsl_interface autoware_driveworks_interface vlg22c_cam custom_msgs garmin hokuyo javad_navsat_driver kvaser sick_lms5xx memsic_imu microstrain_driver nmea_navsat autoware_pointgrey_drivers sick_ldmrs_description sick_ldmrs_driver sick_ldmrs_laser sick_ldmrs_msgs sick_ldmrs_tools vectacam xsens_driver ymc ds4 ds4_driver ds4_msgs lanelet2 lanelet2_core lanelet2_examples lanelet2_io lanelet2_maps lanelet2_matching lanelet2_projection lanelet2_python lanelet2_routing lanelet2_traffic_rules lanelet2_validation mrt_cmake_modules

ROS Distro
github

Package Summary

Tags No category tags.
Version 1.12.0
License Apache 2
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description autoware.ai perf
Checkout URI https://github.com/is-whale/autoware_learn.git
VCS Type git
VCS Version 1.14
Last Updated 2025-03-14
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The lidar_euclidean_cluster_detect package

Additional Links

No additional links.

Maintainers

  • amc

Authors

No additional authors.

lidar_euclidean_cluster_detect

The purpose of this package is to detect individual objects in pointcloud data. Points are grouped into clusters based on proximity and published as detected objects.

NOTE: A new version of this package is available in autoware.auto.

Process

  1. Pointcloud preprocessing
    • Points closer than a distance of remove_points_upto meters are removed from the cloud.
    • Points are then downsampled if the downsample_cloud parameter is set to true.
    • The pointcloud is trimmed to remove points based on height thresholds (clip_min_height and clip_max_height).
    • Points are further trimmed based on their y position to either side of the vehicle if keep_lanes is set to true. The bounds are defined by keep_lane_left_distance and keep_lane_right_distance.
    • A RANSAC-based algorithm is then used to determine a ground plane and remove any points belonging to the ground. This is activated by the remove_ground parameter.
    • The pointcloud is further filtered using Difference-of-Normals to remove any points that belong to a smooth surface. This is activated by the use_diffnormals parameter.
  2. Pointcloud Clustering
    • The preprocessed pointcloud is then clustered using Euclidean Cluster Extraction, the cluster tolerance is defined by the clustering_distance parameter. This is the only part of the node that provides the option to use the GPU (activated by the use_gpu parameter).
    • Resulting clusters are then checked against neighboring clusters and any clusters which are less than cluster_merge_threshold apart are combined into a single cluster.
    • Rectangluar bounding boxes and polygonal bounds are then fit to the cluster pointclouds.

References

Voxel-based Downsampling
Pointcloud Surface Normal Estimation
Difference of Normals Segmentation
Euclidean Cluster Extraction

ROS API

Subs

Pubs

  • detection/lidar_detector/cloud_clusters (autoware_msgs/CloudClusterArray)
    Array of cloud clusters.
  • detection/lidar_detector/objects (autoware_msgs/DetectedObjectArray)
    Array of all detected objects.
  • cluster_centroids (autoware_msgs/Centroids)
    Centroids of the clusters.
  • points_lanes (sensor_msgs/PointCloud2)
    Pointcloud with all preprocessing performed except Difference-of-Normals filtering.
  • points_cluster (sensor_msgs/PointCloud2)
    Pointcloud colored according to cluster.
  • points_ground (sensor_msgs/PointCloud2)
    Pointcloud of only ground points.

ROS Parameters

See the yaml file in the config folder for all ROS parameters and their descriptions

CHANGELOG

Changelog for package lidar_euclidean_cluster_detect

1.11.0 (2019-03-21)

  • [fix] Install commands for all the packages (#1861)
    • Initial fixes to detection, sensing, semantics and utils

    • fixing wrong filename on install command

    • Fixes to install commands

    • Hokuyo fix name

    • Fix obj db

    • Obj db include fixes

    • End of final cleaning sweep

    • Incorrect command order in runtime manager

    • Param tempfile not required by runtime_manager

      • Fixes to runtime manager install commands
    • Remove devel directory from catkin, if any

    • Updated launch files for robosense

    • Updated robosense

    • Fix/add missing install (#1977)

    • Added launch install to lidar_kf_contour_track

    • Added install to op_global_planner

    • Added install to way_planner

    • Added install to op_local_planner

    • Added install to op_simulation_package

    • Added install to op_utilities

    • Added install to sync

      • Improved installation script for pointgrey packages
    • Fixed nodelet error for gmsl cameras

    • USe install space in catkin as well

    • add install to catkin

    • Fix install directives (#1990)

    • Fixed installation path

    • Fixed params installation path

    • Fixed cfg installation path

    • Delete cache on colcon_release
  • Fix license notice in corresponding package.xml
  • Adaptation of Object Filter with new perception workflow
  • Initial release of object filter
  • Contributors: Abraham Monrroy, Abraham Monrroy Cano, amc-nu

1.10.0 (2019-01-17)

  • Fixes for catkin_make
  • Use colcon as the build tool (#1704)
    • Switch to colcon as the build tool instead of catkin
    • Added cmake-target
    • Added note about the second colcon call
    • Added warning about catkin* scripts being deprecated
    • Fix COLCON_OPTS
    • Added install targets
    • Update Docker image tags
    • Message packages fixes
    • Fix missing dependency
  • Feature/perception visualization cleanup (#1648)
      • Initial commit for visualization package
    • Removal of all visualization messages from perception nodes

    • Visualization dependency removal

    • Launch file modification

      • Fixes to visualization
    • Error on Clustering CPU

File truncated at 100 lines see the full file

Launch files

  • launch/euclidean_clustering_Exp.launch
      • points_node [default: /velodyne16/baselink_velodyne_points]
      • remove_ground [default: true]
      • downsample_cloud [default: false]
      • leaf_size [default: 0.1]
      • cluster_size_min [default: 20]
      • cluster_size_max [default: 10000]
      • sync [default: false]
      • use_diffnormals [default: false]
      • pose_estimation [default: true]
      • clip_min_height [default: -0.3]
      • clip_max_height [default: 0.5]
      • keep_lanes [default: false]
      • keep_lane_left_distance [default: 3]
      • keep_lane_right_distance [default: 3]
      • output_frame [default: map]
      • remove_points_upto [default: 0.0]
  • launch/lidar_euclidean_cluster_detect.launch
      • points_node [default: /points_raw]
      • remove_ground [default: true]
      • downsample_cloud [default: false]
      • leaf_size [default: 0.1]
      • cluster_size_min [default: 20]
      • cluster_size_max [default: 100000]
      • sync [default: false]
      • use_diffnormals [default: false]
      • pose_estimation [default: true]
      • clip_min_height [default: -1.3]
      • clip_max_height [default: 0.5]
      • keep_lanes [default: false]
      • keep_lane_left_distance [default: 5]
      • keep_lane_right_distance [default: 5]
      • cluster_merge_threshold [default: 1.5]
      • clustering_distance [default: 0.75]
      • use_vector_map [default: false]
      • wayarea_gridmap_layer [default: wayarea]
      • output_frame [default: velodyne]
      • remove_points_upto [default: 0.0]
      • use_gpu [default: false]
      • use_multiple_thres [default: false]
      • clustering_ranges [default: [15,30,45,60]]
      • clustering_distances [default: [0.5,1.1,1.6,2.1,2.6]]
  • launch/lidar_euclidean_cluster_detect_param.launch
      • use_vector_map [default: false]
      • wayarea_gridmap_layer [default: wayarea]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged lidar_euclidean_cluster_detect at Robotics Stack Exchange

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

lidar_euclidean_cluster_detect package from autoware_learn repo

amathutils_lib autoware_build_flags autoware_health_checker emergency_handler gnss lanelet2_extension libvectormap libwaypoint_follower map_file object_map op_planner op_ros_helpers op_simu op_utility ros_observer tvm_utility vector_map vector_map_server vehicle_sim_model autoware_connector ekf_localizer gnss_localizer image_processor imm_ukf_pda_track lidar_apollo_cnn_seg_detect lidar_euclidean_cluster_detect lidar_fake_perception lidar_kf_contour_track lidar_localizer lidar_naive_l_shape_detect lidar_point_pillars lidar_shape_estimation naive_motion_predict ndt_cpu ndt_gpu ndt_tku obj_db pcl_omp_registration pixel_cloud_fusion points_downsampler points_preprocessor pos_db range_vision_fusion road_occupancy_processor roi_object_filter trafficlight_recognizer twist_generator vel_pose_diff_checker vision_beyond_track vision_darknet_detect vision_lane_detect vision_segment_enet_detect vision_ssd_detect astar_search costmap_generator decision_maker dp_planner ff_waypoint_follower freespace_planner lane_planner lattice_planner ll2_global_planner mpc_follower op_global_planner op_local_planner op_simulation_package op_utilities pure_pursuit state_machine_lib twist_filter twist_gate way_planner waypoint_maker waypoint_planner autoware_quickstart_examples autoware_can_msgs autoware_config_msgs autoware_external_msgs autoware_lanelet2_msgs autoware_map_msgs autoware_msgs autoware_system_msgs tablet_socket_msgs vector_map_msgs carla_autoware_bridge gazebo_camera_description gazebo_imu_description lgsvl_simulator_bridge vehicle_gazebo_simulation_interface vehicle_gazebo_simulation_launcher wf_simulator autoware_bag_tools autoware_camera_lidar_calibrator autoware_launcher autoware_launcher_rviz calibration_publisher data_preprocessor graph_tools kitti_box_publisher kitti_launch kitti_player lanelet_aisan_converter log_tools map_tf_generator map_tools marker_downsampler mqtt_socket multi_lidar_calibrator oculus_socket pc2_downsampler rosbag_controller runtime_manager sound_player system_monitor tablet_socket twist2odom udon_socket vehicle_engage_panel vehicle_socket decision_maker_panel detected_objects_visualizer fastvirtualscan gazebo_world_description glviewer integrated_viewer points2image rosinterface autoware_rviz_plugins vehicle_description vehicle_model adi_driver as autoware_driveworks_gmsl_interface autoware_driveworks_interface vlg22c_cam custom_msgs garmin hokuyo javad_navsat_driver kvaser sick_lms5xx memsic_imu microstrain_driver nmea_navsat autoware_pointgrey_drivers sick_ldmrs_description sick_ldmrs_driver sick_ldmrs_laser sick_ldmrs_msgs sick_ldmrs_tools vectacam xsens_driver ymc ds4 ds4_driver ds4_msgs lanelet2 lanelet2_core lanelet2_examples lanelet2_io lanelet2_maps lanelet2_matching lanelet2_projection lanelet2_python lanelet2_routing lanelet2_traffic_rules lanelet2_validation mrt_cmake_modules

ROS Distro
github

Package Summary

Tags No category tags.
Version 1.12.0
License Apache 2
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description autoware.ai perf
Checkout URI https://github.com/is-whale/autoware_learn.git
VCS Type git
VCS Version 1.14
Last Updated 2025-03-14
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The lidar_euclidean_cluster_detect package

Additional Links

No additional links.

Maintainers

  • amc

Authors

No additional authors.

lidar_euclidean_cluster_detect

The purpose of this package is to detect individual objects in pointcloud data. Points are grouped into clusters based on proximity and published as detected objects.

NOTE: A new version of this package is available in autoware.auto.

Process

  1. Pointcloud preprocessing
    • Points closer than a distance of remove_points_upto meters are removed from the cloud.
    • Points are then downsampled if the downsample_cloud parameter is set to true.
    • The pointcloud is trimmed to remove points based on height thresholds (clip_min_height and clip_max_height).
    • Points are further trimmed based on their y position to either side of the vehicle if keep_lanes is set to true. The bounds are defined by keep_lane_left_distance and keep_lane_right_distance.
    • A RANSAC-based algorithm is then used to determine a ground plane and remove any points belonging to the ground. This is activated by the remove_ground parameter.
    • The pointcloud is further filtered using Difference-of-Normals to remove any points that belong to a smooth surface. This is activated by the use_diffnormals parameter.
  2. Pointcloud Clustering
    • The preprocessed pointcloud is then clustered using Euclidean Cluster Extraction, the cluster tolerance is defined by the clustering_distance parameter. This is the only part of the node that provides the option to use the GPU (activated by the use_gpu parameter).
    • Resulting clusters are then checked against neighboring clusters and any clusters which are less than cluster_merge_threshold apart are combined into a single cluster.
    • Rectangluar bounding boxes and polygonal bounds are then fit to the cluster pointclouds.

References

Voxel-based Downsampling
Pointcloud Surface Normal Estimation
Difference of Normals Segmentation
Euclidean Cluster Extraction

ROS API

Subs

Pubs

  • detection/lidar_detector/cloud_clusters (autoware_msgs/CloudClusterArray)
    Array of cloud clusters.
  • detection/lidar_detector/objects (autoware_msgs/DetectedObjectArray)
    Array of all detected objects.
  • cluster_centroids (autoware_msgs/Centroids)
    Centroids of the clusters.
  • points_lanes (sensor_msgs/PointCloud2)
    Pointcloud with all preprocessing performed except Difference-of-Normals filtering.
  • points_cluster (sensor_msgs/PointCloud2)
    Pointcloud colored according to cluster.
  • points_ground (sensor_msgs/PointCloud2)
    Pointcloud of only ground points.

ROS Parameters

See the yaml file in the config folder for all ROS parameters and their descriptions

CHANGELOG

Changelog for package lidar_euclidean_cluster_detect

1.11.0 (2019-03-21)

  • [fix] Install commands for all the packages (#1861)
    • Initial fixes to detection, sensing, semantics and utils

    • fixing wrong filename on install command

    • Fixes to install commands

    • Hokuyo fix name

    • Fix obj db

    • Obj db include fixes

    • End of final cleaning sweep

    • Incorrect command order in runtime manager

    • Param tempfile not required by runtime_manager

      • Fixes to runtime manager install commands
    • Remove devel directory from catkin, if any

    • Updated launch files for robosense

    • Updated robosense

    • Fix/add missing install (#1977)

    • Added launch install to lidar_kf_contour_track

    • Added install to op_global_planner

    • Added install to way_planner

    • Added install to op_local_planner

    • Added install to op_simulation_package

    • Added install to op_utilities

    • Added install to sync

      • Improved installation script for pointgrey packages
    • Fixed nodelet error for gmsl cameras

    • USe install space in catkin as well

    • add install to catkin

    • Fix install directives (#1990)

    • Fixed installation path

    • Fixed params installation path

    • Fixed cfg installation path

    • Delete cache on colcon_release
  • Fix license notice in corresponding package.xml
  • Adaptation of Object Filter with new perception workflow
  • Initial release of object filter
  • Contributors: Abraham Monrroy, Abraham Monrroy Cano, amc-nu

1.10.0 (2019-01-17)

  • Fixes for catkin_make
  • Use colcon as the build tool (#1704)
    • Switch to colcon as the build tool instead of catkin
    • Added cmake-target
    • Added note about the second colcon call
    • Added warning about catkin* scripts being deprecated
    • Fix COLCON_OPTS
    • Added install targets
    • Update Docker image tags
    • Message packages fixes
    • Fix missing dependency
  • Feature/perception visualization cleanup (#1648)
      • Initial commit for visualization package
    • Removal of all visualization messages from perception nodes

    • Visualization dependency removal

    • Launch file modification

      • Fixes to visualization
    • Error on Clustering CPU

File truncated at 100 lines see the full file

Launch files

  • launch/euclidean_clustering_Exp.launch
      • points_node [default: /velodyne16/baselink_velodyne_points]
      • remove_ground [default: true]
      • downsample_cloud [default: false]
      • leaf_size [default: 0.1]
      • cluster_size_min [default: 20]
      • cluster_size_max [default: 10000]
      • sync [default: false]
      • use_diffnormals [default: false]
      • pose_estimation [default: true]
      • clip_min_height [default: -0.3]
      • clip_max_height [default: 0.5]
      • keep_lanes [default: false]
      • keep_lane_left_distance [default: 3]
      • keep_lane_right_distance [default: 3]
      • output_frame [default: map]
      • remove_points_upto [default: 0.0]
  • launch/lidar_euclidean_cluster_detect.launch
      • points_node [default: /points_raw]
      • remove_ground [default: true]
      • downsample_cloud [default: false]
      • leaf_size [default: 0.1]
      • cluster_size_min [default: 20]
      • cluster_size_max [default: 100000]
      • sync [default: false]
      • use_diffnormals [default: false]
      • pose_estimation [default: true]
      • clip_min_height [default: -1.3]
      • clip_max_height [default: 0.5]
      • keep_lanes [default: false]
      • keep_lane_left_distance [default: 5]
      • keep_lane_right_distance [default: 5]
      • cluster_merge_threshold [default: 1.5]
      • clustering_distance [default: 0.75]
      • use_vector_map [default: false]
      • wayarea_gridmap_layer [default: wayarea]
      • output_frame [default: velodyne]
      • remove_points_upto [default: 0.0]
      • use_gpu [default: false]
      • use_multiple_thres [default: false]
      • clustering_ranges [default: [15,30,45,60]]
      • clustering_distances [default: [0.5,1.1,1.6,2.1,2.6]]
  • launch/lidar_euclidean_cluster_detect_param.launch
      • use_vector_map [default: false]
      • wayarea_gridmap_layer [default: wayarea]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged lidar_euclidean_cluster_detect at Robotics Stack Exchange

Package symbol

lidar_euclidean_cluster_detect package from autoware_learn repo

amathutils_lib autoware_build_flags autoware_health_checker emergency_handler gnss lanelet2_extension libvectormap libwaypoint_follower map_file object_map op_planner op_ros_helpers op_simu op_utility ros_observer tvm_utility vector_map vector_map_server vehicle_sim_model autoware_connector ekf_localizer gnss_localizer image_processor imm_ukf_pda_track lidar_apollo_cnn_seg_detect lidar_euclidean_cluster_detect lidar_fake_perception lidar_kf_contour_track lidar_localizer lidar_naive_l_shape_detect lidar_point_pillars lidar_shape_estimation naive_motion_predict ndt_cpu ndt_gpu ndt_tku obj_db pcl_omp_registration pixel_cloud_fusion points_downsampler points_preprocessor pos_db range_vision_fusion road_occupancy_processor roi_object_filter trafficlight_recognizer twist_generator vel_pose_diff_checker vision_beyond_track vision_darknet_detect vision_lane_detect vision_segment_enet_detect vision_ssd_detect astar_search costmap_generator decision_maker dp_planner ff_waypoint_follower freespace_planner lane_planner lattice_planner ll2_global_planner mpc_follower op_global_planner op_local_planner op_simulation_package op_utilities pure_pursuit state_machine_lib twist_filter twist_gate way_planner waypoint_maker waypoint_planner autoware_quickstart_examples autoware_can_msgs autoware_config_msgs autoware_external_msgs autoware_lanelet2_msgs autoware_map_msgs autoware_msgs autoware_system_msgs tablet_socket_msgs vector_map_msgs carla_autoware_bridge gazebo_camera_description gazebo_imu_description lgsvl_simulator_bridge vehicle_gazebo_simulation_interface vehicle_gazebo_simulation_launcher wf_simulator autoware_bag_tools autoware_camera_lidar_calibrator autoware_launcher autoware_launcher_rviz calibration_publisher data_preprocessor graph_tools kitti_box_publisher kitti_launch kitti_player lanelet_aisan_converter log_tools map_tf_generator map_tools marker_downsampler mqtt_socket multi_lidar_calibrator oculus_socket pc2_downsampler rosbag_controller runtime_manager sound_player system_monitor tablet_socket twist2odom udon_socket vehicle_engage_panel vehicle_socket decision_maker_panel detected_objects_visualizer fastvirtualscan gazebo_world_description glviewer integrated_viewer points2image rosinterface autoware_rviz_plugins vehicle_description vehicle_model adi_driver as autoware_driveworks_gmsl_interface autoware_driveworks_interface vlg22c_cam custom_msgs garmin hokuyo javad_navsat_driver kvaser sick_lms5xx memsic_imu microstrain_driver nmea_navsat autoware_pointgrey_drivers sick_ldmrs_description sick_ldmrs_driver sick_ldmrs_laser sick_ldmrs_msgs sick_ldmrs_tools vectacam xsens_driver ymc ds4 ds4_driver ds4_msgs lanelet2 lanelet2_core lanelet2_examples lanelet2_io lanelet2_maps lanelet2_matching lanelet2_projection lanelet2_python lanelet2_routing lanelet2_traffic_rules lanelet2_validation mrt_cmake_modules

ROS Distro
github

Package Summary

Tags No category tags.
Version 1.12.0
License Apache 2
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description autoware.ai perf
Checkout URI https://github.com/is-whale/autoware_learn.git
VCS Type git
VCS Version 1.14
Last Updated 2025-03-14
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The lidar_euclidean_cluster_detect package

Additional Links

No additional links.

Maintainers

  • amc

Authors

No additional authors.

lidar_euclidean_cluster_detect

The purpose of this package is to detect individual objects in pointcloud data. Points are grouped into clusters based on proximity and published as detected objects.

NOTE: A new version of this package is available in autoware.auto.

Process

  1. Pointcloud preprocessing
    • Points closer than a distance of remove_points_upto meters are removed from the cloud.
    • Points are then downsampled if the downsample_cloud parameter is set to true.
    • The pointcloud is trimmed to remove points based on height thresholds (clip_min_height and clip_max_height).
    • Points are further trimmed based on their y position to either side of the vehicle if keep_lanes is set to true. The bounds are defined by keep_lane_left_distance and keep_lane_right_distance.
    • A RANSAC-based algorithm is then used to determine a ground plane and remove any points belonging to the ground. This is activated by the remove_ground parameter.
    • The pointcloud is further filtered using Difference-of-Normals to remove any points that belong to a smooth surface. This is activated by the use_diffnormals parameter.
  2. Pointcloud Clustering
    • The preprocessed pointcloud is then clustered using Euclidean Cluster Extraction, the cluster tolerance is defined by the clustering_distance parameter. This is the only part of the node that provides the option to use the GPU (activated by the use_gpu parameter).
    • Resulting clusters are then checked against neighboring clusters and any clusters which are less than cluster_merge_threshold apart are combined into a single cluster.
    • Rectangluar bounding boxes and polygonal bounds are then fit to the cluster pointclouds.

References

Voxel-based Downsampling
Pointcloud Surface Normal Estimation
Difference of Normals Segmentation
Euclidean Cluster Extraction

ROS API

Subs

Pubs

  • detection/lidar_detector/cloud_clusters (autoware_msgs/CloudClusterArray)
    Array of cloud clusters.
  • detection/lidar_detector/objects (autoware_msgs/DetectedObjectArray)
    Array of all detected objects.
  • cluster_centroids (autoware_msgs/Centroids)
    Centroids of the clusters.
  • points_lanes (sensor_msgs/PointCloud2)
    Pointcloud with all preprocessing performed except Difference-of-Normals filtering.
  • points_cluster (sensor_msgs/PointCloud2)
    Pointcloud colored according to cluster.
  • points_ground (sensor_msgs/PointCloud2)
    Pointcloud of only ground points.

ROS Parameters

See the yaml file in the config folder for all ROS parameters and their descriptions

CHANGELOG

Changelog for package lidar_euclidean_cluster_detect

1.11.0 (2019-03-21)

  • [fix] Install commands for all the packages (#1861)
    • Initial fixes to detection, sensing, semantics and utils

    • fixing wrong filename on install command

    • Fixes to install commands

    • Hokuyo fix name

    • Fix obj db

    • Obj db include fixes

    • End of final cleaning sweep

    • Incorrect command order in runtime manager

    • Param tempfile not required by runtime_manager

      • Fixes to runtime manager install commands
    • Remove devel directory from catkin, if any

    • Updated launch files for robosense

    • Updated robosense

    • Fix/add missing install (#1977)

    • Added launch install to lidar_kf_contour_track

    • Added install to op_global_planner

    • Added install to way_planner

    • Added install to op_local_planner

    • Added install to op_simulation_package

    • Added install to op_utilities

    • Added install to sync

      • Improved installation script for pointgrey packages
    • Fixed nodelet error for gmsl cameras

    • USe install space in catkin as well

    • add install to catkin

    • Fix install directives (#1990)

    • Fixed installation path

    • Fixed params installation path

    • Fixed cfg installation path

    • Delete cache on colcon_release
  • Fix license notice in corresponding package.xml
  • Adaptation of Object Filter with new perception workflow
  • Initial release of object filter
  • Contributors: Abraham Monrroy, Abraham Monrroy Cano, amc-nu

1.10.0 (2019-01-17)

  • Fixes for catkin_make
  • Use colcon as the build tool (#1704)
    • Switch to colcon as the build tool instead of catkin
    • Added cmake-target
    • Added note about the second colcon call
    • Added warning about catkin* scripts being deprecated
    • Fix COLCON_OPTS
    • Added install targets
    • Update Docker image tags
    • Message packages fixes
    • Fix missing dependency
  • Feature/perception visualization cleanup (#1648)
      • Initial commit for visualization package
    • Removal of all visualization messages from perception nodes

    • Visualization dependency removal

    • Launch file modification

      • Fixes to visualization
    • Error on Clustering CPU

File truncated at 100 lines see the full file

Launch files

  • launch/euclidean_clustering_Exp.launch
      • points_node [default: /velodyne16/baselink_velodyne_points]
      • remove_ground [default: true]
      • downsample_cloud [default: false]
      • leaf_size [default: 0.1]
      • cluster_size_min [default: 20]
      • cluster_size_max [default: 10000]
      • sync [default: false]
      • use_diffnormals [default: false]
      • pose_estimation [default: true]
      • clip_min_height [default: -0.3]
      • clip_max_height [default: 0.5]
      • keep_lanes [default: false]
      • keep_lane_left_distance [default: 3]
      • keep_lane_right_distance [default: 3]
      • output_frame [default: map]
      • remove_points_upto [default: 0.0]
  • launch/lidar_euclidean_cluster_detect.launch
      • points_node [default: /points_raw]
      • remove_ground [default: true]
      • downsample_cloud [default: false]
      • leaf_size [default: 0.1]
      • cluster_size_min [default: 20]
      • cluster_size_max [default: 100000]
      • sync [default: false]
      • use_diffnormals [default: false]
      • pose_estimation [default: true]
      • clip_min_height [default: -1.3]
      • clip_max_height [default: 0.5]
      • keep_lanes [default: false]
      • keep_lane_left_distance [default: 5]
      • keep_lane_right_distance [default: 5]
      • cluster_merge_threshold [default: 1.5]
      • clustering_distance [default: 0.75]
      • use_vector_map [default: false]
      • wayarea_gridmap_layer [default: wayarea]
      • output_frame [default: velodyne]
      • remove_points_upto [default: 0.0]
      • use_gpu [default: false]
      • use_multiple_thres [default: false]
      • clustering_ranges [default: [15,30,45,60]]
      • clustering_distances [default: [0.5,1.1,1.6,2.1,2.6]]
  • launch/lidar_euclidean_cluster_detect_param.launch
      • use_vector_map [default: false]
      • wayarea_gridmap_layer [default: wayarea]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged lidar_euclidean_cluster_detect at Robotics Stack Exchange

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

lidar_euclidean_cluster_detect package from autoware_learn repo

amathutils_lib autoware_build_flags autoware_health_checker emergency_handler gnss lanelet2_extension libvectormap libwaypoint_follower map_file object_map op_planner op_ros_helpers op_simu op_utility ros_observer tvm_utility vector_map vector_map_server vehicle_sim_model autoware_connector ekf_localizer gnss_localizer image_processor imm_ukf_pda_track lidar_apollo_cnn_seg_detect lidar_euclidean_cluster_detect lidar_fake_perception lidar_kf_contour_track lidar_localizer lidar_naive_l_shape_detect lidar_point_pillars lidar_shape_estimation naive_motion_predict ndt_cpu ndt_gpu ndt_tku obj_db pcl_omp_registration pixel_cloud_fusion points_downsampler points_preprocessor pos_db range_vision_fusion road_occupancy_processor roi_object_filter trafficlight_recognizer twist_generator vel_pose_diff_checker vision_beyond_track vision_darknet_detect vision_lane_detect vision_segment_enet_detect vision_ssd_detect astar_search costmap_generator decision_maker dp_planner ff_waypoint_follower freespace_planner lane_planner lattice_planner ll2_global_planner mpc_follower op_global_planner op_local_planner op_simulation_package op_utilities pure_pursuit state_machine_lib twist_filter twist_gate way_planner waypoint_maker waypoint_planner autoware_quickstart_examples autoware_can_msgs autoware_config_msgs autoware_external_msgs autoware_lanelet2_msgs autoware_map_msgs autoware_msgs autoware_system_msgs tablet_socket_msgs vector_map_msgs carla_autoware_bridge gazebo_camera_description gazebo_imu_description lgsvl_simulator_bridge vehicle_gazebo_simulation_interface vehicle_gazebo_simulation_launcher wf_simulator autoware_bag_tools autoware_camera_lidar_calibrator autoware_launcher autoware_launcher_rviz calibration_publisher data_preprocessor graph_tools kitti_box_publisher kitti_launch kitti_player lanelet_aisan_converter log_tools map_tf_generator map_tools marker_downsampler mqtt_socket multi_lidar_calibrator oculus_socket pc2_downsampler rosbag_controller runtime_manager sound_player system_monitor tablet_socket twist2odom udon_socket vehicle_engage_panel vehicle_socket decision_maker_panel detected_objects_visualizer fastvirtualscan gazebo_world_description glviewer integrated_viewer points2image rosinterface autoware_rviz_plugins vehicle_description vehicle_model adi_driver as autoware_driveworks_gmsl_interface autoware_driveworks_interface vlg22c_cam custom_msgs garmin hokuyo javad_navsat_driver kvaser sick_lms5xx memsic_imu microstrain_driver nmea_navsat autoware_pointgrey_drivers sick_ldmrs_description sick_ldmrs_driver sick_ldmrs_laser sick_ldmrs_msgs sick_ldmrs_tools vectacam xsens_driver ymc ds4 ds4_driver ds4_msgs lanelet2 lanelet2_core lanelet2_examples lanelet2_io lanelet2_maps lanelet2_matching lanelet2_projection lanelet2_python lanelet2_routing lanelet2_traffic_rules lanelet2_validation mrt_cmake_modules

ROS Distro
github

Package Summary

Tags No category tags.
Version 1.12.0
License Apache 2
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description autoware.ai perf
Checkout URI https://github.com/is-whale/autoware_learn.git
VCS Type git
VCS Version 1.14
Last Updated 2025-03-14
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The lidar_euclidean_cluster_detect package

Additional Links

No additional links.

Maintainers

  • amc

Authors

No additional authors.

lidar_euclidean_cluster_detect

The purpose of this package is to detect individual objects in pointcloud data. Points are grouped into clusters based on proximity and published as detected objects.

NOTE: A new version of this package is available in autoware.auto.

Process

  1. Pointcloud preprocessing
    • Points closer than a distance of remove_points_upto meters are removed from the cloud.
    • Points are then downsampled if the downsample_cloud parameter is set to true.
    • The pointcloud is trimmed to remove points based on height thresholds (clip_min_height and clip_max_height).
    • Points are further trimmed based on their y position to either side of the vehicle if keep_lanes is set to true. The bounds are defined by keep_lane_left_distance and keep_lane_right_distance.
    • A RANSAC-based algorithm is then used to determine a ground plane and remove any points belonging to the ground. This is activated by the remove_ground parameter.
    • The pointcloud is further filtered using Difference-of-Normals to remove any points that belong to a smooth surface. This is activated by the use_diffnormals parameter.
  2. Pointcloud Clustering
    • The preprocessed pointcloud is then clustered using Euclidean Cluster Extraction, the cluster tolerance is defined by the clustering_distance parameter. This is the only part of the node that provides the option to use the GPU (activated by the use_gpu parameter).
    • Resulting clusters are then checked against neighboring clusters and any clusters which are less than cluster_merge_threshold apart are combined into a single cluster.
    • Rectangluar bounding boxes and polygonal bounds are then fit to the cluster pointclouds.

References

Voxel-based Downsampling
Pointcloud Surface Normal Estimation
Difference of Normals Segmentation
Euclidean Cluster Extraction

ROS API

Subs

Pubs

  • detection/lidar_detector/cloud_clusters (autoware_msgs/CloudClusterArray)
    Array of cloud clusters.
  • detection/lidar_detector/objects (autoware_msgs/DetectedObjectArray)
    Array of all detected objects.
  • cluster_centroids (autoware_msgs/Centroids)
    Centroids of the clusters.
  • points_lanes (sensor_msgs/PointCloud2)
    Pointcloud with all preprocessing performed except Difference-of-Normals filtering.
  • points_cluster (sensor_msgs/PointCloud2)
    Pointcloud colored according to cluster.
  • points_ground (sensor_msgs/PointCloud2)
    Pointcloud of only ground points.

ROS Parameters

See the yaml file in the config folder for all ROS parameters and their descriptions

CHANGELOG

Changelog for package lidar_euclidean_cluster_detect

1.11.0 (2019-03-21)

  • [fix] Install commands for all the packages (#1861)
    • Initial fixes to detection, sensing, semantics and utils

    • fixing wrong filename on install command

    • Fixes to install commands

    • Hokuyo fix name

    • Fix obj db

    • Obj db include fixes

    • End of final cleaning sweep

    • Incorrect command order in runtime manager

    • Param tempfile not required by runtime_manager

      • Fixes to runtime manager install commands
    • Remove devel directory from catkin, if any

    • Updated launch files for robosense

    • Updated robosense

    • Fix/add missing install (#1977)

    • Added launch install to lidar_kf_contour_track

    • Added install to op_global_planner

    • Added install to way_planner

    • Added install to op_local_planner

    • Added install to op_simulation_package

    • Added install to op_utilities

    • Added install to sync

      • Improved installation script for pointgrey packages
    • Fixed nodelet error for gmsl cameras

    • USe install space in catkin as well

    • add install to catkin

    • Fix install directives (#1990)

    • Fixed installation path

    • Fixed params installation path

    • Fixed cfg installation path

    • Delete cache on colcon_release
  • Fix license notice in corresponding package.xml
  • Adaptation of Object Filter with new perception workflow
  • Initial release of object filter
  • Contributors: Abraham Monrroy, Abraham Monrroy Cano, amc-nu

1.10.0 (2019-01-17)

  • Fixes for catkin_make
  • Use colcon as the build tool (#1704)
    • Switch to colcon as the build tool instead of catkin
    • Added cmake-target
    • Added note about the second colcon call
    • Added warning about catkin* scripts being deprecated
    • Fix COLCON_OPTS
    • Added install targets
    • Update Docker image tags
    • Message packages fixes
    • Fix missing dependency
  • Feature/perception visualization cleanup (#1648)
      • Initial commit for visualization package
    • Removal of all visualization messages from perception nodes

    • Visualization dependency removal

    • Launch file modification

      • Fixes to visualization
    • Error on Clustering CPU

File truncated at 100 lines see the full file

Launch files

  • launch/euclidean_clustering_Exp.launch
      • points_node [default: /velodyne16/baselink_velodyne_points]
      • remove_ground [default: true]
      • downsample_cloud [default: false]
      • leaf_size [default: 0.1]
      • cluster_size_min [default: 20]
      • cluster_size_max [default: 10000]
      • sync [default: false]
      • use_diffnormals [default: false]
      • pose_estimation [default: true]
      • clip_min_height [default: -0.3]
      • clip_max_height [default: 0.5]
      • keep_lanes [default: false]
      • keep_lane_left_distance [default: 3]
      • keep_lane_right_distance [default: 3]
      • output_frame [default: map]
      • remove_points_upto [default: 0.0]
  • launch/lidar_euclidean_cluster_detect.launch
      • points_node [default: /points_raw]
      • remove_ground [default: true]
      • downsample_cloud [default: false]
      • leaf_size [default: 0.1]
      • cluster_size_min [default: 20]
      • cluster_size_max [default: 100000]
      • sync [default: false]
      • use_diffnormals [default: false]
      • pose_estimation [default: true]
      • clip_min_height [default: -1.3]
      • clip_max_height [default: 0.5]
      • keep_lanes [default: false]
      • keep_lane_left_distance [default: 5]
      • keep_lane_right_distance [default: 5]
      • cluster_merge_threshold [default: 1.5]
      • clustering_distance [default: 0.75]
      • use_vector_map [default: false]
      • wayarea_gridmap_layer [default: wayarea]
      • output_frame [default: velodyne]
      • remove_points_upto [default: 0.0]
      • use_gpu [default: false]
      • use_multiple_thres [default: false]
      • clustering_ranges [default: [15,30,45,60]]
      • clustering_distances [default: [0.5,1.1,1.6,2.1,2.6]]
  • launch/lidar_euclidean_cluster_detect_param.launch
      • use_vector_map [default: false]
      • wayarea_gridmap_layer [default: wayarea]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged lidar_euclidean_cluster_detect at Robotics Stack Exchange

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

lidar_euclidean_cluster_detect package from autoware_learn repo

amathutils_lib autoware_build_flags autoware_health_checker emergency_handler gnss lanelet2_extension libvectormap libwaypoint_follower map_file object_map op_planner op_ros_helpers op_simu op_utility ros_observer tvm_utility vector_map vector_map_server vehicle_sim_model autoware_connector ekf_localizer gnss_localizer image_processor imm_ukf_pda_track lidar_apollo_cnn_seg_detect lidar_euclidean_cluster_detect lidar_fake_perception lidar_kf_contour_track lidar_localizer lidar_naive_l_shape_detect lidar_point_pillars lidar_shape_estimation naive_motion_predict ndt_cpu ndt_gpu ndt_tku obj_db pcl_omp_registration pixel_cloud_fusion points_downsampler points_preprocessor pos_db range_vision_fusion road_occupancy_processor roi_object_filter trafficlight_recognizer twist_generator vel_pose_diff_checker vision_beyond_track vision_darknet_detect vision_lane_detect vision_segment_enet_detect vision_ssd_detect astar_search costmap_generator decision_maker dp_planner ff_waypoint_follower freespace_planner lane_planner lattice_planner ll2_global_planner mpc_follower op_global_planner op_local_planner op_simulation_package op_utilities pure_pursuit state_machine_lib twist_filter twist_gate way_planner waypoint_maker waypoint_planner autoware_quickstart_examples autoware_can_msgs autoware_config_msgs autoware_external_msgs autoware_lanelet2_msgs autoware_map_msgs autoware_msgs autoware_system_msgs tablet_socket_msgs vector_map_msgs carla_autoware_bridge gazebo_camera_description gazebo_imu_description lgsvl_simulator_bridge vehicle_gazebo_simulation_interface vehicle_gazebo_simulation_launcher wf_simulator autoware_bag_tools autoware_camera_lidar_calibrator autoware_launcher autoware_launcher_rviz calibration_publisher data_preprocessor graph_tools kitti_box_publisher kitti_launch kitti_player lanelet_aisan_converter log_tools map_tf_generator map_tools marker_downsampler mqtt_socket multi_lidar_calibrator oculus_socket pc2_downsampler rosbag_controller runtime_manager sound_player system_monitor tablet_socket twist2odom udon_socket vehicle_engage_panel vehicle_socket decision_maker_panel detected_objects_visualizer fastvirtualscan gazebo_world_description glviewer integrated_viewer points2image rosinterface autoware_rviz_plugins vehicle_description vehicle_model adi_driver as autoware_driveworks_gmsl_interface autoware_driveworks_interface vlg22c_cam custom_msgs garmin hokuyo javad_navsat_driver kvaser sick_lms5xx memsic_imu microstrain_driver nmea_navsat autoware_pointgrey_drivers sick_ldmrs_description sick_ldmrs_driver sick_ldmrs_laser sick_ldmrs_msgs sick_ldmrs_tools vectacam xsens_driver ymc ds4 ds4_driver ds4_msgs lanelet2 lanelet2_core lanelet2_examples lanelet2_io lanelet2_maps lanelet2_matching lanelet2_projection lanelet2_python lanelet2_routing lanelet2_traffic_rules lanelet2_validation mrt_cmake_modules

ROS Distro
github

Package Summary

Tags No category tags.
Version 1.12.0
License Apache 2
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description autoware.ai perf
Checkout URI https://github.com/is-whale/autoware_learn.git
VCS Type git
VCS Version 1.14
Last Updated 2025-03-14
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The lidar_euclidean_cluster_detect package

Additional Links

No additional links.

Maintainers

  • amc

Authors

No additional authors.

lidar_euclidean_cluster_detect

The purpose of this package is to detect individual objects in pointcloud data. Points are grouped into clusters based on proximity and published as detected objects.

NOTE: A new version of this package is available in autoware.auto.

Process

  1. Pointcloud preprocessing
    • Points closer than a distance of remove_points_upto meters are removed from the cloud.
    • Points are then downsampled if the downsample_cloud parameter is set to true.
    • The pointcloud is trimmed to remove points based on height thresholds (clip_min_height and clip_max_height).
    • Points are further trimmed based on their y position to either side of the vehicle if keep_lanes is set to true. The bounds are defined by keep_lane_left_distance and keep_lane_right_distance.
    • A RANSAC-based algorithm is then used to determine a ground plane and remove any points belonging to the ground. This is activated by the remove_ground parameter.
    • The pointcloud is further filtered using Difference-of-Normals to remove any points that belong to a smooth surface. This is activated by the use_diffnormals parameter.
  2. Pointcloud Clustering
    • The preprocessed pointcloud is then clustered using Euclidean Cluster Extraction, the cluster tolerance is defined by the clustering_distance parameter. This is the only part of the node that provides the option to use the GPU (activated by the use_gpu parameter).
    • Resulting clusters are then checked against neighboring clusters and any clusters which are less than cluster_merge_threshold apart are combined into a single cluster.
    • Rectangluar bounding boxes and polygonal bounds are then fit to the cluster pointclouds.

References

Voxel-based Downsampling
Pointcloud Surface Normal Estimation
Difference of Normals Segmentation
Euclidean Cluster Extraction

ROS API

Subs

Pubs

  • detection/lidar_detector/cloud_clusters (autoware_msgs/CloudClusterArray)
    Array of cloud clusters.
  • detection/lidar_detector/objects (autoware_msgs/DetectedObjectArray)
    Array of all detected objects.
  • cluster_centroids (autoware_msgs/Centroids)
    Centroids of the clusters.
  • points_lanes (sensor_msgs/PointCloud2)
    Pointcloud with all preprocessing performed except Difference-of-Normals filtering.
  • points_cluster (sensor_msgs/PointCloud2)
    Pointcloud colored according to cluster.
  • points_ground (sensor_msgs/PointCloud2)
    Pointcloud of only ground points.

ROS Parameters

See the yaml file in the config folder for all ROS parameters and their descriptions

CHANGELOG

Changelog for package lidar_euclidean_cluster_detect

1.11.0 (2019-03-21)

  • [fix] Install commands for all the packages (#1861)
    • Initial fixes to detection, sensing, semantics and utils

    • fixing wrong filename on install command

    • Fixes to install commands

    • Hokuyo fix name

    • Fix obj db

    • Obj db include fixes

    • End of final cleaning sweep

    • Incorrect command order in runtime manager

    • Param tempfile not required by runtime_manager

      • Fixes to runtime manager install commands
    • Remove devel directory from catkin, if any

    • Updated launch files for robosense

    • Updated robosense

    • Fix/add missing install (#1977)

    • Added launch install to lidar_kf_contour_track

    • Added install to op_global_planner

    • Added install to way_planner

    • Added install to op_local_planner

    • Added install to op_simulation_package

    • Added install to op_utilities

    • Added install to sync

      • Improved installation script for pointgrey packages
    • Fixed nodelet error for gmsl cameras

    • USe install space in catkin as well

    • add install to catkin

    • Fix install directives (#1990)

    • Fixed installation path

    • Fixed params installation path

    • Fixed cfg installation path

    • Delete cache on colcon_release
  • Fix license notice in corresponding package.xml
  • Adaptation of Object Filter with new perception workflow
  • Initial release of object filter
  • Contributors: Abraham Monrroy, Abraham Monrroy Cano, amc-nu

1.10.0 (2019-01-17)

  • Fixes for catkin_make
  • Use colcon as the build tool (#1704)
    • Switch to colcon as the build tool instead of catkin
    • Added cmake-target
    • Added note about the second colcon call
    • Added warning about catkin* scripts being deprecated
    • Fix COLCON_OPTS
    • Added install targets
    • Update Docker image tags
    • Message packages fixes
    • Fix missing dependency
  • Feature/perception visualization cleanup (#1648)
      • Initial commit for visualization package
    • Removal of all visualization messages from perception nodes

    • Visualization dependency removal

    • Launch file modification

      • Fixes to visualization
    • Error on Clustering CPU

File truncated at 100 lines see the full file

Launch files

  • launch/euclidean_clustering_Exp.launch
      • points_node [default: /velodyne16/baselink_velodyne_points]
      • remove_ground [default: true]
      • downsample_cloud [default: false]
      • leaf_size [default: 0.1]
      • cluster_size_min [default: 20]
      • cluster_size_max [default: 10000]
      • sync [default: false]
      • use_diffnormals [default: false]
      • pose_estimation [default: true]
      • clip_min_height [default: -0.3]
      • clip_max_height [default: 0.5]
      • keep_lanes [default: false]
      • keep_lane_left_distance [default: 3]
      • keep_lane_right_distance [default: 3]
      • output_frame [default: map]
      • remove_points_upto [default: 0.0]
  • launch/lidar_euclidean_cluster_detect.launch
      • points_node [default: /points_raw]
      • remove_ground [default: true]
      • downsample_cloud [default: false]
      • leaf_size [default: 0.1]
      • cluster_size_min [default: 20]
      • cluster_size_max [default: 100000]
      • sync [default: false]
      • use_diffnormals [default: false]
      • pose_estimation [default: true]
      • clip_min_height [default: -1.3]
      • clip_max_height [default: 0.5]
      • keep_lanes [default: false]
      • keep_lane_left_distance [default: 5]
      • keep_lane_right_distance [default: 5]
      • cluster_merge_threshold [default: 1.5]
      • clustering_distance [default: 0.75]
      • use_vector_map [default: false]
      • wayarea_gridmap_layer [default: wayarea]
      • output_frame [default: velodyne]
      • remove_points_upto [default: 0.0]
      • use_gpu [default: false]
      • use_multiple_thres [default: false]
      • clustering_ranges [default: [15,30,45,60]]
      • clustering_distances [default: [0.5,1.1,1.6,2.1,2.6]]
  • launch/lidar_euclidean_cluster_detect_param.launch
      • use_vector_map [default: false]
      • wayarea_gridmap_layer [default: wayarea]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged lidar_euclidean_cluster_detect at Robotics Stack Exchange

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

lidar_euclidean_cluster_detect package from autoware_learn repo

amathutils_lib autoware_build_flags autoware_health_checker emergency_handler gnss lanelet2_extension libvectormap libwaypoint_follower map_file object_map op_planner op_ros_helpers op_simu op_utility ros_observer tvm_utility vector_map vector_map_server vehicle_sim_model autoware_connector ekf_localizer gnss_localizer image_processor imm_ukf_pda_track lidar_apollo_cnn_seg_detect lidar_euclidean_cluster_detect lidar_fake_perception lidar_kf_contour_track lidar_localizer lidar_naive_l_shape_detect lidar_point_pillars lidar_shape_estimation naive_motion_predict ndt_cpu ndt_gpu ndt_tku obj_db pcl_omp_registration pixel_cloud_fusion points_downsampler points_preprocessor pos_db range_vision_fusion road_occupancy_processor roi_object_filter trafficlight_recognizer twist_generator vel_pose_diff_checker vision_beyond_track vision_darknet_detect vision_lane_detect vision_segment_enet_detect vision_ssd_detect astar_search costmap_generator decision_maker dp_planner ff_waypoint_follower freespace_planner lane_planner lattice_planner ll2_global_planner mpc_follower op_global_planner op_local_planner op_simulation_package op_utilities pure_pursuit state_machine_lib twist_filter twist_gate way_planner waypoint_maker waypoint_planner autoware_quickstart_examples autoware_can_msgs autoware_config_msgs autoware_external_msgs autoware_lanelet2_msgs autoware_map_msgs autoware_msgs autoware_system_msgs tablet_socket_msgs vector_map_msgs carla_autoware_bridge gazebo_camera_description gazebo_imu_description lgsvl_simulator_bridge vehicle_gazebo_simulation_interface vehicle_gazebo_simulation_launcher wf_simulator autoware_bag_tools autoware_camera_lidar_calibrator autoware_launcher autoware_launcher_rviz calibration_publisher data_preprocessor graph_tools kitti_box_publisher kitti_launch kitti_player lanelet_aisan_converter log_tools map_tf_generator map_tools marker_downsampler mqtt_socket multi_lidar_calibrator oculus_socket pc2_downsampler rosbag_controller runtime_manager sound_player system_monitor tablet_socket twist2odom udon_socket vehicle_engage_panel vehicle_socket decision_maker_panel detected_objects_visualizer fastvirtualscan gazebo_world_description glviewer integrated_viewer points2image rosinterface autoware_rviz_plugins vehicle_description vehicle_model adi_driver as autoware_driveworks_gmsl_interface autoware_driveworks_interface vlg22c_cam custom_msgs garmin hokuyo javad_navsat_driver kvaser sick_lms5xx memsic_imu microstrain_driver nmea_navsat autoware_pointgrey_drivers sick_ldmrs_description sick_ldmrs_driver sick_ldmrs_laser sick_ldmrs_msgs sick_ldmrs_tools vectacam xsens_driver ymc ds4 ds4_driver ds4_msgs lanelet2 lanelet2_core lanelet2_examples lanelet2_io lanelet2_maps lanelet2_matching lanelet2_projection lanelet2_python lanelet2_routing lanelet2_traffic_rules lanelet2_validation mrt_cmake_modules

ROS Distro
github

Package Summary

Tags No category tags.
Version 1.12.0
License Apache 2
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description autoware.ai perf
Checkout URI https://github.com/is-whale/autoware_learn.git
VCS Type git
VCS Version 1.14
Last Updated 2025-03-14
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The lidar_euclidean_cluster_detect package

Additional Links

No additional links.

Maintainers

  • amc

Authors

No additional authors.

lidar_euclidean_cluster_detect

The purpose of this package is to detect individual objects in pointcloud data. Points are grouped into clusters based on proximity and published as detected objects.

NOTE: A new version of this package is available in autoware.auto.

Process

  1. Pointcloud preprocessing
    • Points closer than a distance of remove_points_upto meters are removed from the cloud.
    • Points are then downsampled if the downsample_cloud parameter is set to true.
    • The pointcloud is trimmed to remove points based on height thresholds (clip_min_height and clip_max_height).
    • Points are further trimmed based on their y position to either side of the vehicle if keep_lanes is set to true. The bounds are defined by keep_lane_left_distance and keep_lane_right_distance.
    • A RANSAC-based algorithm is then used to determine a ground plane and remove any points belonging to the ground. This is activated by the remove_ground parameter.
    • The pointcloud is further filtered using Difference-of-Normals to remove any points that belong to a smooth surface. This is activated by the use_diffnormals parameter.
  2. Pointcloud Clustering
    • The preprocessed pointcloud is then clustered using Euclidean Cluster Extraction, the cluster tolerance is defined by the clustering_distance parameter. This is the only part of the node that provides the option to use the GPU (activated by the use_gpu parameter).
    • Resulting clusters are then checked against neighboring clusters and any clusters which are less than cluster_merge_threshold apart are combined into a single cluster.
    • Rectangluar bounding boxes and polygonal bounds are then fit to the cluster pointclouds.

References

Voxel-based Downsampling
Pointcloud Surface Normal Estimation
Difference of Normals Segmentation
Euclidean Cluster Extraction

ROS API

Subs

Pubs

  • detection/lidar_detector/cloud_clusters (autoware_msgs/CloudClusterArray)
    Array of cloud clusters.
  • detection/lidar_detector/objects (autoware_msgs/DetectedObjectArray)
    Array of all detected objects.
  • cluster_centroids (autoware_msgs/Centroids)
    Centroids of the clusters.
  • points_lanes (sensor_msgs/PointCloud2)
    Pointcloud with all preprocessing performed except Difference-of-Normals filtering.
  • points_cluster (sensor_msgs/PointCloud2)
    Pointcloud colored according to cluster.
  • points_ground (sensor_msgs/PointCloud2)
    Pointcloud of only ground points.

ROS Parameters

See the yaml file in the config folder for all ROS parameters and their descriptions

CHANGELOG

Changelog for package lidar_euclidean_cluster_detect

1.11.0 (2019-03-21)

  • [fix] Install commands for all the packages (#1861)
    • Initial fixes to detection, sensing, semantics and utils

    • fixing wrong filename on install command

    • Fixes to install commands

    • Hokuyo fix name

    • Fix obj db

    • Obj db include fixes

    • End of final cleaning sweep

    • Incorrect command order in runtime manager

    • Param tempfile not required by runtime_manager

      • Fixes to runtime manager install commands
    • Remove devel directory from catkin, if any

    • Updated launch files for robosense

    • Updated robosense

    • Fix/add missing install (#1977)

    • Added launch install to lidar_kf_contour_track

    • Added install to op_global_planner

    • Added install to way_planner

    • Added install to op_local_planner

    • Added install to op_simulation_package

    • Added install to op_utilities

    • Added install to sync

      • Improved installation script for pointgrey packages
    • Fixed nodelet error for gmsl cameras

    • USe install space in catkin as well

    • add install to catkin

    • Fix install directives (#1990)

    • Fixed installation path

    • Fixed params installation path

    • Fixed cfg installation path

    • Delete cache on colcon_release
  • Fix license notice in corresponding package.xml
  • Adaptation of Object Filter with new perception workflow
  • Initial release of object filter
  • Contributors: Abraham Monrroy, Abraham Monrroy Cano, amc-nu

1.10.0 (2019-01-17)

  • Fixes for catkin_make
  • Use colcon as the build tool (#1704)
    • Switch to colcon as the build tool instead of catkin
    • Added cmake-target
    • Added note about the second colcon call
    • Added warning about catkin* scripts being deprecated
    • Fix COLCON_OPTS
    • Added install targets
    • Update Docker image tags
    • Message packages fixes
    • Fix missing dependency
  • Feature/perception visualization cleanup (#1648)
      • Initial commit for visualization package
    • Removal of all visualization messages from perception nodes

    • Visualization dependency removal

    • Launch file modification

      • Fixes to visualization
    • Error on Clustering CPU

File truncated at 100 lines see the full file

Launch files

  • launch/euclidean_clustering_Exp.launch
      • points_node [default: /velodyne16/baselink_velodyne_points]
      • remove_ground [default: true]
      • downsample_cloud [default: false]
      • leaf_size [default: 0.1]
      • cluster_size_min [default: 20]
      • cluster_size_max [default: 10000]
      • sync [default: false]
      • use_diffnormals [default: false]
      • pose_estimation [default: true]
      • clip_min_height [default: -0.3]
      • clip_max_height [default: 0.5]
      • keep_lanes [default: false]
      • keep_lane_left_distance [default: 3]
      • keep_lane_right_distance [default: 3]
      • output_frame [default: map]
      • remove_points_upto [default: 0.0]
  • launch/lidar_euclidean_cluster_detect.launch
      • points_node [default: /points_raw]
      • remove_ground [default: true]
      • downsample_cloud [default: false]
      • leaf_size [default: 0.1]
      • cluster_size_min [default: 20]
      • cluster_size_max [default: 100000]
      • sync [default: false]
      • use_diffnormals [default: false]
      • pose_estimation [default: true]
      • clip_min_height [default: -1.3]
      • clip_max_height [default: 0.5]
      • keep_lanes [default: false]
      • keep_lane_left_distance [default: 5]
      • keep_lane_right_distance [default: 5]
      • cluster_merge_threshold [default: 1.5]
      • clustering_distance [default: 0.75]
      • use_vector_map [default: false]
      • wayarea_gridmap_layer [default: wayarea]
      • output_frame [default: velodyne]
      • remove_points_upto [default: 0.0]
      • use_gpu [default: false]
      • use_multiple_thres [default: false]
      • clustering_ranges [default: [15,30,45,60]]
      • clustering_distances [default: [0.5,1.1,1.6,2.1,2.6]]
  • launch/lidar_euclidean_cluster_detect_param.launch
      • use_vector_map [default: false]
      • wayarea_gridmap_layer [default: wayarea]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged lidar_euclidean_cluster_detect at Robotics Stack Exchange

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

lidar_euclidean_cluster_detect package from autoware_learn repo

amathutils_lib autoware_build_flags autoware_health_checker emergency_handler gnss lanelet2_extension libvectormap libwaypoint_follower map_file object_map op_planner op_ros_helpers op_simu op_utility ros_observer tvm_utility vector_map vector_map_server vehicle_sim_model autoware_connector ekf_localizer gnss_localizer image_processor imm_ukf_pda_track lidar_apollo_cnn_seg_detect lidar_euclidean_cluster_detect lidar_fake_perception lidar_kf_contour_track lidar_localizer lidar_naive_l_shape_detect lidar_point_pillars lidar_shape_estimation naive_motion_predict ndt_cpu ndt_gpu ndt_tku obj_db pcl_omp_registration pixel_cloud_fusion points_downsampler points_preprocessor pos_db range_vision_fusion road_occupancy_processor roi_object_filter trafficlight_recognizer twist_generator vel_pose_diff_checker vision_beyond_track vision_darknet_detect vision_lane_detect vision_segment_enet_detect vision_ssd_detect astar_search costmap_generator decision_maker dp_planner ff_waypoint_follower freespace_planner lane_planner lattice_planner ll2_global_planner mpc_follower op_global_planner op_local_planner op_simulation_package op_utilities pure_pursuit state_machine_lib twist_filter twist_gate way_planner waypoint_maker waypoint_planner autoware_quickstart_examples autoware_can_msgs autoware_config_msgs autoware_external_msgs autoware_lanelet2_msgs autoware_map_msgs autoware_msgs autoware_system_msgs tablet_socket_msgs vector_map_msgs carla_autoware_bridge gazebo_camera_description gazebo_imu_description lgsvl_simulator_bridge vehicle_gazebo_simulation_interface vehicle_gazebo_simulation_launcher wf_simulator autoware_bag_tools autoware_camera_lidar_calibrator autoware_launcher autoware_launcher_rviz calibration_publisher data_preprocessor graph_tools kitti_box_publisher kitti_launch kitti_player lanelet_aisan_converter log_tools map_tf_generator map_tools marker_downsampler mqtt_socket multi_lidar_calibrator oculus_socket pc2_downsampler rosbag_controller runtime_manager sound_player system_monitor tablet_socket twist2odom udon_socket vehicle_engage_panel vehicle_socket decision_maker_panel detected_objects_visualizer fastvirtualscan gazebo_world_description glviewer integrated_viewer points2image rosinterface autoware_rviz_plugins vehicle_description vehicle_model adi_driver as autoware_driveworks_gmsl_interface autoware_driveworks_interface vlg22c_cam custom_msgs garmin hokuyo javad_navsat_driver kvaser sick_lms5xx memsic_imu microstrain_driver nmea_navsat autoware_pointgrey_drivers sick_ldmrs_description sick_ldmrs_driver sick_ldmrs_laser sick_ldmrs_msgs sick_ldmrs_tools vectacam xsens_driver ymc ds4 ds4_driver ds4_msgs lanelet2 lanelet2_core lanelet2_examples lanelet2_io lanelet2_maps lanelet2_matching lanelet2_projection lanelet2_python lanelet2_routing lanelet2_traffic_rules lanelet2_validation mrt_cmake_modules

ROS Distro
github

Package Summary

Tags No category tags.
Version 1.12.0
License Apache 2
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description autoware.ai perf
Checkout URI https://github.com/is-whale/autoware_learn.git
VCS Type git
VCS Version 1.14
Last Updated 2025-03-14
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The lidar_euclidean_cluster_detect package

Additional Links

No additional links.

Maintainers

  • amc

Authors

No additional authors.

lidar_euclidean_cluster_detect

The purpose of this package is to detect individual objects in pointcloud data. Points are grouped into clusters based on proximity and published as detected objects.

NOTE: A new version of this package is available in autoware.auto.

Process

  1. Pointcloud preprocessing
    • Points closer than a distance of remove_points_upto meters are removed from the cloud.
    • Points are then downsampled if the downsample_cloud parameter is set to true.
    • The pointcloud is trimmed to remove points based on height thresholds (clip_min_height and clip_max_height).
    • Points are further trimmed based on their y position to either side of the vehicle if keep_lanes is set to true. The bounds are defined by keep_lane_left_distance and keep_lane_right_distance.
    • A RANSAC-based algorithm is then used to determine a ground plane and remove any points belonging to the ground. This is activated by the remove_ground parameter.
    • The pointcloud is further filtered using Difference-of-Normals to remove any points that belong to a smooth surface. This is activated by the use_diffnormals parameter.
  2. Pointcloud Clustering
    • The preprocessed pointcloud is then clustered using Euclidean Cluster Extraction, the cluster tolerance is defined by the clustering_distance parameter. This is the only part of the node that provides the option to use the GPU (activated by the use_gpu parameter).
    • Resulting clusters are then checked against neighboring clusters and any clusters which are less than cluster_merge_threshold apart are combined into a single cluster.
    • Rectangluar bounding boxes and polygonal bounds are then fit to the cluster pointclouds.

References

Voxel-based Downsampling
Pointcloud Surface Normal Estimation
Difference of Normals Segmentation
Euclidean Cluster Extraction

ROS API

Subs

Pubs

  • detection/lidar_detector/cloud_clusters (autoware_msgs/CloudClusterArray)
    Array of cloud clusters.
  • detection/lidar_detector/objects (autoware_msgs/DetectedObjectArray)
    Array of all detected objects.
  • cluster_centroids (autoware_msgs/Centroids)
    Centroids of the clusters.
  • points_lanes (sensor_msgs/PointCloud2)
    Pointcloud with all preprocessing performed except Difference-of-Normals filtering.
  • points_cluster (sensor_msgs/PointCloud2)
    Pointcloud colored according to cluster.
  • points_ground (sensor_msgs/PointCloud2)
    Pointcloud of only ground points.

ROS Parameters

See the yaml file in the config folder for all ROS parameters and their descriptions

CHANGELOG

Changelog for package lidar_euclidean_cluster_detect

1.11.0 (2019-03-21)

  • [fix] Install commands for all the packages (#1861)
    • Initial fixes to detection, sensing, semantics and utils

    • fixing wrong filename on install command

    • Fixes to install commands

    • Hokuyo fix name

    • Fix obj db

    • Obj db include fixes

    • End of final cleaning sweep

    • Incorrect command order in runtime manager

    • Param tempfile not required by runtime_manager

      • Fixes to runtime manager install commands
    • Remove devel directory from catkin, if any

    • Updated launch files for robosense

    • Updated robosense

    • Fix/add missing install (#1977)

    • Added launch install to lidar_kf_contour_track

    • Added install to op_global_planner

    • Added install to way_planner

    • Added install to op_local_planner

    • Added install to op_simulation_package

    • Added install to op_utilities

    • Added install to sync

      • Improved installation script for pointgrey packages
    • Fixed nodelet error for gmsl cameras

    • USe install space in catkin as well

    • add install to catkin

    • Fix install directives (#1990)

    • Fixed installation path

    • Fixed params installation path

    • Fixed cfg installation path

    • Delete cache on colcon_release
  • Fix license notice in corresponding package.xml
  • Adaptation of Object Filter with new perception workflow
  • Initial release of object filter
  • Contributors: Abraham Monrroy, Abraham Monrroy Cano, amc-nu

1.10.0 (2019-01-17)

  • Fixes for catkin_make
  • Use colcon as the build tool (#1704)
    • Switch to colcon as the build tool instead of catkin
    • Added cmake-target
    • Added note about the second colcon call
    • Added warning about catkin* scripts being deprecated
    • Fix COLCON_OPTS
    • Added install targets
    • Update Docker image tags
    • Message packages fixes
    • Fix missing dependency
  • Feature/perception visualization cleanup (#1648)
      • Initial commit for visualization package
    • Removal of all visualization messages from perception nodes

    • Visualization dependency removal

    • Launch file modification

      • Fixes to visualization
    • Error on Clustering CPU

File truncated at 100 lines see the full file

Launch files

  • launch/euclidean_clustering_Exp.launch
      • points_node [default: /velodyne16/baselink_velodyne_points]
      • remove_ground [default: true]
      • downsample_cloud [default: false]
      • leaf_size [default: 0.1]
      • cluster_size_min [default: 20]
      • cluster_size_max [default: 10000]
      • sync [default: false]
      • use_diffnormals [default: false]
      • pose_estimation [default: true]
      • clip_min_height [default: -0.3]
      • clip_max_height [default: 0.5]
      • keep_lanes [default: false]
      • keep_lane_left_distance [default: 3]
      • keep_lane_right_distance [default: 3]
      • output_frame [default: map]
      • remove_points_upto [default: 0.0]
  • launch/lidar_euclidean_cluster_detect.launch
      • points_node [default: /points_raw]
      • remove_ground [default: true]
      • downsample_cloud [default: false]
      • leaf_size [default: 0.1]
      • cluster_size_min [default: 20]
      • cluster_size_max [default: 100000]
      • sync [default: false]
      • use_diffnormals [default: false]
      • pose_estimation [default: true]
      • clip_min_height [default: -1.3]
      • clip_max_height [default: 0.5]
      • keep_lanes [default: false]
      • keep_lane_left_distance [default: 5]
      • keep_lane_right_distance [default: 5]
      • cluster_merge_threshold [default: 1.5]
      • clustering_distance [default: 0.75]
      • use_vector_map [default: false]
      • wayarea_gridmap_layer [default: wayarea]
      • output_frame [default: velodyne]
      • remove_points_upto [default: 0.0]
      • use_gpu [default: false]
      • use_multiple_thres [default: false]
      • clustering_ranges [default: [15,30,45,60]]
      • clustering_distances [default: [0.5,1.1,1.6,2.1,2.6]]
  • launch/lidar_euclidean_cluster_detect_param.launch
      • use_vector_map [default: false]
      • wayarea_gridmap_layer [default: wayarea]

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged lidar_euclidean_cluster_detect at Robotics Stack Exchange