|   | lidar_processor_cpp package from go2_ros2_sdk repococo_detector go2_interfaces go2_robot_sdk lidar_processor lidar_processor_cpp speech_processor |  ROS Distro | 
Package Summary
| Tags | No category tags. | 
| Version | 1.0.0 | 
| License | BSD-3-Clause | 
| Build type | AMENT_CMAKE | 
| Use | RECOMMENDED | 
Repository Summary
| Description | Unofficial ROS2 SDK support for Unitree GO2 AIR/PRO/EDU | 
| Checkout URI | https://github.com/abizovnuralem/go2_ros2_sdk.git | 
| VCS Type | git | 
| VCS Version | master | 
| Last Updated | 2025-10-20 | 
| Dev Status | UNKNOWN | 
| Released | UNRELEASED | 
| Tags | ros ros2 go2 unitree unitree-go2 | 
| Contributing | Help Wanted (-) Good First Issues (-) Pull Requests to Review (-) | 
Package Description
Additional Links
Maintainers
- brimo
Authors
- brimo
LiDAR Processor C++
High-performance C++ implementation of LiDAR data processing nodes for the Go2 robot. This package provides optimized C++ versions of the Python LiDAR processing nodes with identical functionality, topics, and parameters.
Features
- High Performance: Optimized C++ implementation using PCL (Point Cloud Library)
- Memory Efficient: Advanced point cloud aggregation with memory management
- Thread Safe: Thread-safe operations for concurrent data processing
- Statistical Filtering: Built-in outlier removal using statistical analysis
- Compatible: Drop-in replacement for Python lidar_processor nodes
Nodes
1. lidar_to_pointcloud_node
Processes raw LiDAR data and aggregates point clouds with optional map saving.
Topics:
- 
Subscribed:
    - 
/robot0/point_cloud2(single robot mode)
- 
/robot{i}/point_cloud2(multi-robot mode)
 
- 
- 
Published:
    - 
/pointcloud/aggregated- Aggregated point cloud data
 
- 
Parameters:
- 
robot_ip_lst(string_array): List of robot IP addresses
- 
map_name(string): Name of the map file to save (default: “3d_map”)
- 
map_save(string): Whether to save map periodically (default: “true”)
- 
save_interval(double): Map saving interval in seconds (default: 10.0)
- 
max_points(int): Maximum points to keep in memory (default: 1000000)
- 
voxel_size(double): Voxel size for downsampling when saving (default: 0.01)
2. pointcloud_aggregator_node
Advanced point cloud processing with filtering, downsampling, and statistical outlier removal.
Topics:
- 
Subscribed:
    - 
/pointcloud/aggregated- Raw aggregated point clouds
 
- 
- 
Published:
    - 
/pointcloud/filtered- Filtered point clouds
- 
/pointcloud/downsampled- Downsampled point clouds
 
- 
Parameters:
- 
max_range(double): Maximum range from robot center in meters (default: 20.0)
- 
min_range(double): Minimum range from robot center in meters (default: 0.1)
- 
height_filter_min(double): Minimum height filter (z-coordinate) (default: -2.0)
- 
height_filter_max(double): Maximum height filter (z-coordinate) (default: 3.0)
- 
downsample_rate(int): Keep every Nth point for downsampling (default: 10)
- 
publish_rate(double): Publishing rate in Hz (default: 5.0)
Building
# From your ROS2 workspace
colcon build --packages-select lidar_processor_cpp
Usage
Single Node Launch
Launch individual nodes:
# Launch LiDAR to PointCloud processor
ros2 launch lidar_processor_cpp lidar_to_pointcloud.launch.py
# Launch PointCloud Aggregator
ros2 launch lidar_processor_cpp pointcloud_aggregator.launch.py
Complete Pipeline Launch
Launch the complete processing pipeline:
ros2 launch lidar_processor_cpp lidar_processing_pipeline.launch.py
Custom Parameters
Launch with custom parameters:
ros2 launch lidar_processor_cpp lidar_processing_pipeline.launch.py \
    robot_ip_lst:="['192.168.1.100']" \
    map_name:="my_custom_map" \
    max_range:=15.0 \
    publish_rate:=10.0
Dependencies
- 
ROS2 Dependencies:
    - rclcpp
- sensor_msgs
- geometry_msgs
- std_msgs
 
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| rclcpp | |
| sensor_msgs | |
| geometry_msgs | |
| std_msgs | |
| pcl_ros | |
| pcl_conversions | |
| tf2 | |
| tf2_ros | 
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged lidar_processor_cpp at Robotics Stack Exchange
|   | lidar_processor_cpp package from go2_ros2_sdk repococo_detector go2_interfaces go2_robot_sdk lidar_processor lidar_processor_cpp speech_processor |  ROS Distro | 
Package Summary
| Tags | No category tags. | 
| Version | 1.0.0 | 
| License | BSD-3-Clause | 
| Build type | AMENT_CMAKE | 
| Use | RECOMMENDED | 
Repository Summary
| Description | Unofficial ROS2 SDK support for Unitree GO2 AIR/PRO/EDU | 
| Checkout URI | https://github.com/abizovnuralem/go2_ros2_sdk.git | 
| VCS Type | git | 
| VCS Version | master | 
| Last Updated | 2025-10-20 | 
| Dev Status | UNKNOWN | 
| Released | UNRELEASED | 
| Tags | ros ros2 go2 unitree unitree-go2 | 
| Contributing | Help Wanted (-) Good First Issues (-) Pull Requests to Review (-) | 
Package Description
Additional Links
Maintainers
- brimo
Authors
- brimo
LiDAR Processor C++
High-performance C++ implementation of LiDAR data processing nodes for the Go2 robot. This package provides optimized C++ versions of the Python LiDAR processing nodes with identical functionality, topics, and parameters.
Features
- High Performance: Optimized C++ implementation using PCL (Point Cloud Library)
- Memory Efficient: Advanced point cloud aggregation with memory management
- Thread Safe: Thread-safe operations for concurrent data processing
- Statistical Filtering: Built-in outlier removal using statistical analysis
- Compatible: Drop-in replacement for Python lidar_processor nodes
Nodes
1. lidar_to_pointcloud_node
Processes raw LiDAR data and aggregates point clouds with optional map saving.
Topics:
- 
Subscribed:
    - 
/robot0/point_cloud2(single robot mode)
- 
/robot{i}/point_cloud2(multi-robot mode)
 
- 
- 
Published:
    - 
/pointcloud/aggregated- Aggregated point cloud data
 
- 
Parameters:
- 
robot_ip_lst(string_array): List of robot IP addresses
- 
map_name(string): Name of the map file to save (default: “3d_map”)
- 
map_save(string): Whether to save map periodically (default: “true”)
- 
save_interval(double): Map saving interval in seconds (default: 10.0)
- 
max_points(int): Maximum points to keep in memory (default: 1000000)
- 
voxel_size(double): Voxel size for downsampling when saving (default: 0.01)
2. pointcloud_aggregator_node
Advanced point cloud processing with filtering, downsampling, and statistical outlier removal.
Topics:
- 
Subscribed:
    - 
/pointcloud/aggregated- Raw aggregated point clouds
 
- 
- 
Published:
    - 
/pointcloud/filtered- Filtered point clouds
- 
/pointcloud/downsampled- Downsampled point clouds
 
- 
Parameters:
- 
max_range(double): Maximum range from robot center in meters (default: 20.0)
- 
min_range(double): Minimum range from robot center in meters (default: 0.1)
- 
height_filter_min(double): Minimum height filter (z-coordinate) (default: -2.0)
- 
height_filter_max(double): Maximum height filter (z-coordinate) (default: 3.0)
- 
downsample_rate(int): Keep every Nth point for downsampling (default: 10)
- 
publish_rate(double): Publishing rate in Hz (default: 5.0)
Building
# From your ROS2 workspace
colcon build --packages-select lidar_processor_cpp
Usage
Single Node Launch
Launch individual nodes:
# Launch LiDAR to PointCloud processor
ros2 launch lidar_processor_cpp lidar_to_pointcloud.launch.py
# Launch PointCloud Aggregator
ros2 launch lidar_processor_cpp pointcloud_aggregator.launch.py
Complete Pipeline Launch
Launch the complete processing pipeline:
ros2 launch lidar_processor_cpp lidar_processing_pipeline.launch.py
Custom Parameters
Launch with custom parameters:
ros2 launch lidar_processor_cpp lidar_processing_pipeline.launch.py \
    robot_ip_lst:="['192.168.1.100']" \
    map_name:="my_custom_map" \
    max_range:=15.0 \
    publish_rate:=10.0
Dependencies
- 
ROS2 Dependencies:
    - rclcpp
- sensor_msgs
- geometry_msgs
- std_msgs
 
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| rclcpp | |
| sensor_msgs | |
| geometry_msgs | |
| std_msgs | |
| pcl_ros | |
| pcl_conversions | |
| tf2 | |
| tf2_ros | 
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged lidar_processor_cpp at Robotics Stack Exchange
|   | lidar_processor_cpp package from go2_ros2_sdk repococo_detector go2_interfaces go2_robot_sdk lidar_processor lidar_processor_cpp speech_processor |  ROS Distro | 
Package Summary
| Tags | No category tags. | 
| Version | 1.0.0 | 
| License | BSD-3-Clause | 
| Build type | AMENT_CMAKE | 
| Use | RECOMMENDED | 
Repository Summary
| Description | Unofficial ROS2 SDK support for Unitree GO2 AIR/PRO/EDU | 
| Checkout URI | https://github.com/abizovnuralem/go2_ros2_sdk.git | 
| VCS Type | git | 
| VCS Version | master | 
| Last Updated | 2025-10-20 | 
| Dev Status | UNKNOWN | 
| Released | UNRELEASED | 
| Tags | ros ros2 go2 unitree unitree-go2 | 
| Contributing | Help Wanted (-) Good First Issues (-) Pull Requests to Review (-) | 
Package Description
Additional Links
Maintainers
- brimo
Authors
- brimo
LiDAR Processor C++
High-performance C++ implementation of LiDAR data processing nodes for the Go2 robot. This package provides optimized C++ versions of the Python LiDAR processing nodes with identical functionality, topics, and parameters.
Features
- High Performance: Optimized C++ implementation using PCL (Point Cloud Library)
- Memory Efficient: Advanced point cloud aggregation with memory management
- Thread Safe: Thread-safe operations for concurrent data processing
- Statistical Filtering: Built-in outlier removal using statistical analysis
- Compatible: Drop-in replacement for Python lidar_processor nodes
Nodes
1. lidar_to_pointcloud_node
Processes raw LiDAR data and aggregates point clouds with optional map saving.
Topics:
- 
Subscribed:
    - 
/robot0/point_cloud2(single robot mode)
- 
/robot{i}/point_cloud2(multi-robot mode)
 
- 
- 
Published:
    - 
/pointcloud/aggregated- Aggregated point cloud data
 
- 
Parameters:
- 
robot_ip_lst(string_array): List of robot IP addresses
- 
map_name(string): Name of the map file to save (default: “3d_map”)
- 
map_save(string): Whether to save map periodically (default: “true”)
- 
save_interval(double): Map saving interval in seconds (default: 10.0)
- 
max_points(int): Maximum points to keep in memory (default: 1000000)
- 
voxel_size(double): Voxel size for downsampling when saving (default: 0.01)
2. pointcloud_aggregator_node
Advanced point cloud processing with filtering, downsampling, and statistical outlier removal.
Topics:
- 
Subscribed:
    - 
/pointcloud/aggregated- Raw aggregated point clouds
 
- 
- 
Published:
    - 
/pointcloud/filtered- Filtered point clouds
- 
/pointcloud/downsampled- Downsampled point clouds
 
- 
Parameters:
- 
max_range(double): Maximum range from robot center in meters (default: 20.0)
- 
min_range(double): Minimum range from robot center in meters (default: 0.1)
- 
height_filter_min(double): Minimum height filter (z-coordinate) (default: -2.0)
- 
height_filter_max(double): Maximum height filter (z-coordinate) (default: 3.0)
- 
downsample_rate(int): Keep every Nth point for downsampling (default: 10)
- 
publish_rate(double): Publishing rate in Hz (default: 5.0)
Building
# From your ROS2 workspace
colcon build --packages-select lidar_processor_cpp
Usage
Single Node Launch
Launch individual nodes:
# Launch LiDAR to PointCloud processor
ros2 launch lidar_processor_cpp lidar_to_pointcloud.launch.py
# Launch PointCloud Aggregator
ros2 launch lidar_processor_cpp pointcloud_aggregator.launch.py
Complete Pipeline Launch
Launch the complete processing pipeline:
ros2 launch lidar_processor_cpp lidar_processing_pipeline.launch.py
Custom Parameters
Launch with custom parameters:
ros2 launch lidar_processor_cpp lidar_processing_pipeline.launch.py \
    robot_ip_lst:="['192.168.1.100']" \
    map_name:="my_custom_map" \
    max_range:=15.0 \
    publish_rate:=10.0
Dependencies
- 
ROS2 Dependencies:
    - rclcpp
- sensor_msgs
- geometry_msgs
- std_msgs
 
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| rclcpp | |
| sensor_msgs | |
| geometry_msgs | |
| std_msgs | |
| pcl_ros | |
| pcl_conversions | |
| tf2 | |
| tf2_ros | 
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged lidar_processor_cpp at Robotics Stack Exchange
|   | lidar_processor_cpp package from go2_ros2_sdk repococo_detector go2_interfaces go2_robot_sdk lidar_processor lidar_processor_cpp speech_processor |  ROS Distro | 
Package Summary
| Tags | No category tags. | 
| Version | 1.0.0 | 
| License | BSD-3-Clause | 
| Build type | AMENT_CMAKE | 
| Use | RECOMMENDED | 
Repository Summary
| Description | Unofficial ROS2 SDK support for Unitree GO2 AIR/PRO/EDU | 
| Checkout URI | https://github.com/abizovnuralem/go2_ros2_sdk.git | 
| VCS Type | git | 
| VCS Version | master | 
| Last Updated | 2025-10-20 | 
| Dev Status | UNKNOWN | 
| Released | UNRELEASED | 
| Tags | ros ros2 go2 unitree unitree-go2 | 
| Contributing | Help Wanted (-) Good First Issues (-) Pull Requests to Review (-) | 
Package Description
Additional Links
Maintainers
- brimo
Authors
- brimo
LiDAR Processor C++
High-performance C++ implementation of LiDAR data processing nodes for the Go2 robot. This package provides optimized C++ versions of the Python LiDAR processing nodes with identical functionality, topics, and parameters.
Features
- High Performance: Optimized C++ implementation using PCL (Point Cloud Library)
- Memory Efficient: Advanced point cloud aggregation with memory management
- Thread Safe: Thread-safe operations for concurrent data processing
- Statistical Filtering: Built-in outlier removal using statistical analysis
- Compatible: Drop-in replacement for Python lidar_processor nodes
Nodes
1. lidar_to_pointcloud_node
Processes raw LiDAR data and aggregates point clouds with optional map saving.
Topics:
- 
Subscribed:
    - 
/robot0/point_cloud2(single robot mode)
- 
/robot{i}/point_cloud2(multi-robot mode)
 
- 
- 
Published:
    - 
/pointcloud/aggregated- Aggregated point cloud data
 
- 
Parameters:
- 
robot_ip_lst(string_array): List of robot IP addresses
- 
map_name(string): Name of the map file to save (default: “3d_map”)
- 
map_save(string): Whether to save map periodically (default: “true”)
- 
save_interval(double): Map saving interval in seconds (default: 10.0)
- 
max_points(int): Maximum points to keep in memory (default: 1000000)
- 
voxel_size(double): Voxel size for downsampling when saving (default: 0.01)
2. pointcloud_aggregator_node
Advanced point cloud processing with filtering, downsampling, and statistical outlier removal.
Topics:
- 
Subscribed:
    - 
/pointcloud/aggregated- Raw aggregated point clouds
 
- 
- 
Published:
    - 
/pointcloud/filtered- Filtered point clouds
- 
/pointcloud/downsampled- Downsampled point clouds
 
- 
Parameters:
- 
max_range(double): Maximum range from robot center in meters (default: 20.0)
- 
min_range(double): Minimum range from robot center in meters (default: 0.1)
- 
height_filter_min(double): Minimum height filter (z-coordinate) (default: -2.0)
- 
height_filter_max(double): Maximum height filter (z-coordinate) (default: 3.0)
- 
downsample_rate(int): Keep every Nth point for downsampling (default: 10)
- 
publish_rate(double): Publishing rate in Hz (default: 5.0)
Building
# From your ROS2 workspace
colcon build --packages-select lidar_processor_cpp
Usage
Single Node Launch
Launch individual nodes:
# Launch LiDAR to PointCloud processor
ros2 launch lidar_processor_cpp lidar_to_pointcloud.launch.py
# Launch PointCloud Aggregator
ros2 launch lidar_processor_cpp pointcloud_aggregator.launch.py
Complete Pipeline Launch
Launch the complete processing pipeline:
ros2 launch lidar_processor_cpp lidar_processing_pipeline.launch.py
Custom Parameters
Launch with custom parameters:
ros2 launch lidar_processor_cpp lidar_processing_pipeline.launch.py \
    robot_ip_lst:="['192.168.1.100']" \
    map_name:="my_custom_map" \
    max_range:=15.0 \
    publish_rate:=10.0
Dependencies
- 
ROS2 Dependencies:
    - rclcpp
- sensor_msgs
- geometry_msgs
- std_msgs
 
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| rclcpp | |
| sensor_msgs | |
| geometry_msgs | |
| std_msgs | |
| pcl_ros | |
| pcl_conversions | |
| tf2 | |
| tf2_ros | 
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged lidar_processor_cpp at Robotics Stack Exchange
|   | lidar_processor_cpp package from go2_ros2_sdk repococo_detector go2_interfaces go2_robot_sdk lidar_processor lidar_processor_cpp speech_processor |  ROS Distro | 
Package Summary
| Tags | No category tags. | 
| Version | 1.0.0 | 
| License | BSD-3-Clause | 
| Build type | AMENT_CMAKE | 
| Use | RECOMMENDED | 
Repository Summary
| Description | Unofficial ROS2 SDK support for Unitree GO2 AIR/PRO/EDU | 
| Checkout URI | https://github.com/abizovnuralem/go2_ros2_sdk.git | 
| VCS Type | git | 
| VCS Version | master | 
| Last Updated | 2025-10-20 | 
| Dev Status | UNKNOWN | 
| Released | UNRELEASED | 
| Tags | ros ros2 go2 unitree unitree-go2 | 
| Contributing | Help Wanted (-) Good First Issues (-) Pull Requests to Review (-) | 
Package Description
Additional Links
Maintainers
- brimo
Authors
- brimo
LiDAR Processor C++
High-performance C++ implementation of LiDAR data processing nodes for the Go2 robot. This package provides optimized C++ versions of the Python LiDAR processing nodes with identical functionality, topics, and parameters.
Features
- High Performance: Optimized C++ implementation using PCL (Point Cloud Library)
- Memory Efficient: Advanced point cloud aggregation with memory management
- Thread Safe: Thread-safe operations for concurrent data processing
- Statistical Filtering: Built-in outlier removal using statistical analysis
- Compatible: Drop-in replacement for Python lidar_processor nodes
Nodes
1. lidar_to_pointcloud_node
Processes raw LiDAR data and aggregates point clouds with optional map saving.
Topics:
- 
Subscribed:
    - 
/robot0/point_cloud2(single robot mode)
- 
/robot{i}/point_cloud2(multi-robot mode)
 
- 
- 
Published:
    - 
/pointcloud/aggregated- Aggregated point cloud data
 
- 
Parameters:
- 
robot_ip_lst(string_array): List of robot IP addresses
- 
map_name(string): Name of the map file to save (default: “3d_map”)
- 
map_save(string): Whether to save map periodically (default: “true”)
- 
save_interval(double): Map saving interval in seconds (default: 10.0)
- 
max_points(int): Maximum points to keep in memory (default: 1000000)
- 
voxel_size(double): Voxel size for downsampling when saving (default: 0.01)
2. pointcloud_aggregator_node
Advanced point cloud processing with filtering, downsampling, and statistical outlier removal.
Topics:
- 
Subscribed:
    - 
/pointcloud/aggregated- Raw aggregated point clouds
 
- 
- 
Published:
    - 
/pointcloud/filtered- Filtered point clouds
- 
/pointcloud/downsampled- Downsampled point clouds
 
- 
Parameters:
- 
max_range(double): Maximum range from robot center in meters (default: 20.0)
- 
min_range(double): Minimum range from robot center in meters (default: 0.1)
- 
height_filter_min(double): Minimum height filter (z-coordinate) (default: -2.0)
- 
height_filter_max(double): Maximum height filter (z-coordinate) (default: 3.0)
- 
downsample_rate(int): Keep every Nth point for downsampling (default: 10)
- 
publish_rate(double): Publishing rate in Hz (default: 5.0)
Building
# From your ROS2 workspace
colcon build --packages-select lidar_processor_cpp
Usage
Single Node Launch
Launch individual nodes:
# Launch LiDAR to PointCloud processor
ros2 launch lidar_processor_cpp lidar_to_pointcloud.launch.py
# Launch PointCloud Aggregator
ros2 launch lidar_processor_cpp pointcloud_aggregator.launch.py
Complete Pipeline Launch
Launch the complete processing pipeline:
ros2 launch lidar_processor_cpp lidar_processing_pipeline.launch.py
Custom Parameters
Launch with custom parameters:
ros2 launch lidar_processor_cpp lidar_processing_pipeline.launch.py \
    robot_ip_lst:="['192.168.1.100']" \
    map_name:="my_custom_map" \
    max_range:=15.0 \
    publish_rate:=10.0
Dependencies
- 
ROS2 Dependencies:
    - rclcpp
- sensor_msgs
- geometry_msgs
- std_msgs
 
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| rclcpp | |
| sensor_msgs | |
| geometry_msgs | |
| std_msgs | |
| pcl_ros | |
| pcl_conversions | |
| tf2 | |
| tf2_ros | 
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged lidar_processor_cpp at Robotics Stack Exchange
|   | lidar_processor_cpp package from go2_ros2_sdk repococo_detector go2_interfaces go2_robot_sdk lidar_processor lidar_processor_cpp speech_processor |  ROS Distro | 
Package Summary
| Tags | No category tags. | 
| Version | 1.0.0 | 
| License | BSD-3-Clause | 
| Build type | AMENT_CMAKE | 
| Use | RECOMMENDED | 
Repository Summary
| Description | Unofficial ROS2 SDK support for Unitree GO2 AIR/PRO/EDU | 
| Checkout URI | https://github.com/abizovnuralem/go2_ros2_sdk.git | 
| VCS Type | git | 
| VCS Version | master | 
| Last Updated | 2025-10-20 | 
| Dev Status | UNKNOWN | 
| Released | UNRELEASED | 
| Tags | ros ros2 go2 unitree unitree-go2 | 
| Contributing | Help Wanted (-) Good First Issues (-) Pull Requests to Review (-) | 
Package Description
Additional Links
Maintainers
- brimo
Authors
- brimo
LiDAR Processor C++
High-performance C++ implementation of LiDAR data processing nodes for the Go2 robot. This package provides optimized C++ versions of the Python LiDAR processing nodes with identical functionality, topics, and parameters.
Features
- High Performance: Optimized C++ implementation using PCL (Point Cloud Library)
- Memory Efficient: Advanced point cloud aggregation with memory management
- Thread Safe: Thread-safe operations for concurrent data processing
- Statistical Filtering: Built-in outlier removal using statistical analysis
- Compatible: Drop-in replacement for Python lidar_processor nodes
Nodes
1. lidar_to_pointcloud_node
Processes raw LiDAR data and aggregates point clouds with optional map saving.
Topics:
- 
Subscribed:
    - 
/robot0/point_cloud2(single robot mode)
- 
/robot{i}/point_cloud2(multi-robot mode)
 
- 
- 
Published:
    - 
/pointcloud/aggregated- Aggregated point cloud data
 
- 
Parameters:
- 
robot_ip_lst(string_array): List of robot IP addresses
- 
map_name(string): Name of the map file to save (default: “3d_map”)
- 
map_save(string): Whether to save map periodically (default: “true”)
- 
save_interval(double): Map saving interval in seconds (default: 10.0)
- 
max_points(int): Maximum points to keep in memory (default: 1000000)
- 
voxel_size(double): Voxel size for downsampling when saving (default: 0.01)
2. pointcloud_aggregator_node
Advanced point cloud processing with filtering, downsampling, and statistical outlier removal.
Topics:
- 
Subscribed:
    - 
/pointcloud/aggregated- Raw aggregated point clouds
 
- 
- 
Published:
    - 
/pointcloud/filtered- Filtered point clouds
- 
/pointcloud/downsampled- Downsampled point clouds
 
- 
Parameters:
- 
max_range(double): Maximum range from robot center in meters (default: 20.0)
- 
min_range(double): Minimum range from robot center in meters (default: 0.1)
- 
height_filter_min(double): Minimum height filter (z-coordinate) (default: -2.0)
- 
height_filter_max(double): Maximum height filter (z-coordinate) (default: 3.0)
- 
downsample_rate(int): Keep every Nth point for downsampling (default: 10)
- 
publish_rate(double): Publishing rate in Hz (default: 5.0)
Building
# From your ROS2 workspace
colcon build --packages-select lidar_processor_cpp
Usage
Single Node Launch
Launch individual nodes:
# Launch LiDAR to PointCloud processor
ros2 launch lidar_processor_cpp lidar_to_pointcloud.launch.py
# Launch PointCloud Aggregator
ros2 launch lidar_processor_cpp pointcloud_aggregator.launch.py
Complete Pipeline Launch
Launch the complete processing pipeline:
ros2 launch lidar_processor_cpp lidar_processing_pipeline.launch.py
Custom Parameters
Launch with custom parameters:
ros2 launch lidar_processor_cpp lidar_processing_pipeline.launch.py \
    robot_ip_lst:="['192.168.1.100']" \
    map_name:="my_custom_map" \
    max_range:=15.0 \
    publish_rate:=10.0
Dependencies
- 
ROS2 Dependencies:
    - rclcpp
- sensor_msgs
- geometry_msgs
- std_msgs
 
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| rclcpp | |
| sensor_msgs | |
| geometry_msgs | |
| std_msgs | |
| pcl_ros | |
| pcl_conversions | |
| tf2 | |
| tf2_ros | 
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged lidar_processor_cpp at Robotics Stack Exchange
|   | lidar_processor_cpp package from go2_ros2_sdk repococo_detector go2_interfaces go2_robot_sdk lidar_processor lidar_processor_cpp speech_processor |  ROS Distro | 
Package Summary
| Tags | No category tags. | 
| Version | 1.0.0 | 
| License | BSD-3-Clause | 
| Build type | AMENT_CMAKE | 
| Use | RECOMMENDED | 
Repository Summary
| Description | Unofficial ROS2 SDK support for Unitree GO2 AIR/PRO/EDU | 
| Checkout URI | https://github.com/abizovnuralem/go2_ros2_sdk.git | 
| VCS Type | git | 
| VCS Version | master | 
| Last Updated | 2025-10-20 | 
| Dev Status | UNKNOWN | 
| Released | UNRELEASED | 
| Tags | ros ros2 go2 unitree unitree-go2 | 
| Contributing | Help Wanted (-) Good First Issues (-) Pull Requests to Review (-) | 
Package Description
Additional Links
Maintainers
- brimo
Authors
- brimo
LiDAR Processor C++
High-performance C++ implementation of LiDAR data processing nodes for the Go2 robot. This package provides optimized C++ versions of the Python LiDAR processing nodes with identical functionality, topics, and parameters.
Features
- High Performance: Optimized C++ implementation using PCL (Point Cloud Library)
- Memory Efficient: Advanced point cloud aggregation with memory management
- Thread Safe: Thread-safe operations for concurrent data processing
- Statistical Filtering: Built-in outlier removal using statistical analysis
- Compatible: Drop-in replacement for Python lidar_processor nodes
Nodes
1. lidar_to_pointcloud_node
Processes raw LiDAR data and aggregates point clouds with optional map saving.
Topics:
- 
Subscribed:
    - 
/robot0/point_cloud2(single robot mode)
- 
/robot{i}/point_cloud2(multi-robot mode)
 
- 
- 
Published:
    - 
/pointcloud/aggregated- Aggregated point cloud data
 
- 
Parameters:
- 
robot_ip_lst(string_array): List of robot IP addresses
- 
map_name(string): Name of the map file to save (default: “3d_map”)
- 
map_save(string): Whether to save map periodically (default: “true”)
- 
save_interval(double): Map saving interval in seconds (default: 10.0)
- 
max_points(int): Maximum points to keep in memory (default: 1000000)
- 
voxel_size(double): Voxel size for downsampling when saving (default: 0.01)
2. pointcloud_aggregator_node
Advanced point cloud processing with filtering, downsampling, and statistical outlier removal.
Topics:
- 
Subscribed:
    - 
/pointcloud/aggregated- Raw aggregated point clouds
 
- 
- 
Published:
    - 
/pointcloud/filtered- Filtered point clouds
- 
/pointcloud/downsampled- Downsampled point clouds
 
- 
Parameters:
- 
max_range(double): Maximum range from robot center in meters (default: 20.0)
- 
min_range(double): Minimum range from robot center in meters (default: 0.1)
- 
height_filter_min(double): Minimum height filter (z-coordinate) (default: -2.0)
- 
height_filter_max(double): Maximum height filter (z-coordinate) (default: 3.0)
- 
downsample_rate(int): Keep every Nth point for downsampling (default: 10)
- 
publish_rate(double): Publishing rate in Hz (default: 5.0)
Building
# From your ROS2 workspace
colcon build --packages-select lidar_processor_cpp
Usage
Single Node Launch
Launch individual nodes:
# Launch LiDAR to PointCloud processor
ros2 launch lidar_processor_cpp lidar_to_pointcloud.launch.py
# Launch PointCloud Aggregator
ros2 launch lidar_processor_cpp pointcloud_aggregator.launch.py
Complete Pipeline Launch
Launch the complete processing pipeline:
ros2 launch lidar_processor_cpp lidar_processing_pipeline.launch.py
Custom Parameters
Launch with custom parameters:
ros2 launch lidar_processor_cpp lidar_processing_pipeline.launch.py \
    robot_ip_lst:="['192.168.1.100']" \
    map_name:="my_custom_map" \
    max_range:=15.0 \
    publish_rate:=10.0
Dependencies
- 
ROS2 Dependencies:
    - rclcpp
- sensor_msgs
- geometry_msgs
- std_msgs
 
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| rclcpp | |
| sensor_msgs | |
| geometry_msgs | |
| std_msgs | |
| pcl_ros | |
| pcl_conversions | |
| tf2 | |
| tf2_ros | 
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged lidar_processor_cpp at Robotics Stack Exchange
|   | lidar_processor_cpp package from go2_ros2_sdk repococo_detector go2_interfaces go2_robot_sdk lidar_processor lidar_processor_cpp speech_processor |  ROS Distro | 
Package Summary
| Tags | No category tags. | 
| Version | 1.0.0 | 
| License | BSD-3-Clause | 
| Build type | AMENT_CMAKE | 
| Use | RECOMMENDED | 
Repository Summary
| Description | Unofficial ROS2 SDK support for Unitree GO2 AIR/PRO/EDU | 
| Checkout URI | https://github.com/abizovnuralem/go2_ros2_sdk.git | 
| VCS Type | git | 
| VCS Version | master | 
| Last Updated | 2025-10-20 | 
| Dev Status | UNKNOWN | 
| Released | UNRELEASED | 
| Tags | ros ros2 go2 unitree unitree-go2 | 
| Contributing | Help Wanted (-) Good First Issues (-) Pull Requests to Review (-) | 
Package Description
Additional Links
Maintainers
- brimo
Authors
- brimo
LiDAR Processor C++
High-performance C++ implementation of LiDAR data processing nodes for the Go2 robot. This package provides optimized C++ versions of the Python LiDAR processing nodes with identical functionality, topics, and parameters.
Features
- High Performance: Optimized C++ implementation using PCL (Point Cloud Library)
- Memory Efficient: Advanced point cloud aggregation with memory management
- Thread Safe: Thread-safe operations for concurrent data processing
- Statistical Filtering: Built-in outlier removal using statistical analysis
- Compatible: Drop-in replacement for Python lidar_processor nodes
Nodes
1. lidar_to_pointcloud_node
Processes raw LiDAR data and aggregates point clouds with optional map saving.
Topics:
- 
Subscribed:
    - 
/robot0/point_cloud2(single robot mode)
- 
/robot{i}/point_cloud2(multi-robot mode)
 
- 
- 
Published:
    - 
/pointcloud/aggregated- Aggregated point cloud data
 
- 
Parameters:
- 
robot_ip_lst(string_array): List of robot IP addresses
- 
map_name(string): Name of the map file to save (default: “3d_map”)
- 
map_save(string): Whether to save map periodically (default: “true”)
- 
save_interval(double): Map saving interval in seconds (default: 10.0)
- 
max_points(int): Maximum points to keep in memory (default: 1000000)
- 
voxel_size(double): Voxel size for downsampling when saving (default: 0.01)
2. pointcloud_aggregator_node
Advanced point cloud processing with filtering, downsampling, and statistical outlier removal.
Topics:
- 
Subscribed:
    - 
/pointcloud/aggregated- Raw aggregated point clouds
 
- 
- 
Published:
    - 
/pointcloud/filtered- Filtered point clouds
- 
/pointcloud/downsampled- Downsampled point clouds
 
- 
Parameters:
- 
max_range(double): Maximum range from robot center in meters (default: 20.0)
- 
min_range(double): Minimum range from robot center in meters (default: 0.1)
- 
height_filter_min(double): Minimum height filter (z-coordinate) (default: -2.0)
- 
height_filter_max(double): Maximum height filter (z-coordinate) (default: 3.0)
- 
downsample_rate(int): Keep every Nth point for downsampling (default: 10)
- 
publish_rate(double): Publishing rate in Hz (default: 5.0)
Building
# From your ROS2 workspace
colcon build --packages-select lidar_processor_cpp
Usage
Single Node Launch
Launch individual nodes:
# Launch LiDAR to PointCloud processor
ros2 launch lidar_processor_cpp lidar_to_pointcloud.launch.py
# Launch PointCloud Aggregator
ros2 launch lidar_processor_cpp pointcloud_aggregator.launch.py
Complete Pipeline Launch
Launch the complete processing pipeline:
ros2 launch lidar_processor_cpp lidar_processing_pipeline.launch.py
Custom Parameters
Launch with custom parameters:
ros2 launch lidar_processor_cpp lidar_processing_pipeline.launch.py \
    robot_ip_lst:="['192.168.1.100']" \
    map_name:="my_custom_map" \
    max_range:=15.0 \
    publish_rate:=10.0
Dependencies
- 
ROS2 Dependencies:
    - rclcpp
- sensor_msgs
- geometry_msgs
- std_msgs
 
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| rclcpp | |
| sensor_msgs | |
| geometry_msgs | |
| std_msgs | |
| pcl_ros | |
| pcl_conversions | |
| tf2 | |
| tf2_ros | 
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged lidar_processor_cpp at Robotics Stack Exchange
|   | lidar_processor_cpp package from go2_ros2_sdk repococo_detector go2_interfaces go2_robot_sdk lidar_processor lidar_processor_cpp speech_processor |  ROS Distro | 
Package Summary
| Tags | No category tags. | 
| Version | 1.0.0 | 
| License | BSD-3-Clause | 
| Build type | AMENT_CMAKE | 
| Use | RECOMMENDED | 
Repository Summary
| Description | Unofficial ROS2 SDK support for Unitree GO2 AIR/PRO/EDU | 
| Checkout URI | https://github.com/abizovnuralem/go2_ros2_sdk.git | 
| VCS Type | git | 
| VCS Version | master | 
| Last Updated | 2025-10-20 | 
| Dev Status | UNKNOWN | 
| Released | UNRELEASED | 
| Tags | ros ros2 go2 unitree unitree-go2 | 
| Contributing | Help Wanted (-) Good First Issues (-) Pull Requests to Review (-) | 
Package Description
Additional Links
Maintainers
- brimo
Authors
- brimo
LiDAR Processor C++
High-performance C++ implementation of LiDAR data processing nodes for the Go2 robot. This package provides optimized C++ versions of the Python LiDAR processing nodes with identical functionality, topics, and parameters.
Features
- High Performance: Optimized C++ implementation using PCL (Point Cloud Library)
- Memory Efficient: Advanced point cloud aggregation with memory management
- Thread Safe: Thread-safe operations for concurrent data processing
- Statistical Filtering: Built-in outlier removal using statistical analysis
- Compatible: Drop-in replacement for Python lidar_processor nodes
Nodes
1. lidar_to_pointcloud_node
Processes raw LiDAR data and aggregates point clouds with optional map saving.
Topics:
- 
Subscribed:
    - 
/robot0/point_cloud2(single robot mode)
- 
/robot{i}/point_cloud2(multi-robot mode)
 
- 
- 
Published:
    - 
/pointcloud/aggregated- Aggregated point cloud data
 
- 
Parameters:
- 
robot_ip_lst(string_array): List of robot IP addresses
- 
map_name(string): Name of the map file to save (default: “3d_map”)
- 
map_save(string): Whether to save map periodically (default: “true”)
- 
save_interval(double): Map saving interval in seconds (default: 10.0)
- 
max_points(int): Maximum points to keep in memory (default: 1000000)
- 
voxel_size(double): Voxel size for downsampling when saving (default: 0.01)
2. pointcloud_aggregator_node
Advanced point cloud processing with filtering, downsampling, and statistical outlier removal.
Topics:
- 
Subscribed:
    - 
/pointcloud/aggregated- Raw aggregated point clouds
 
- 
- 
Published:
    - 
/pointcloud/filtered- Filtered point clouds
- 
/pointcloud/downsampled- Downsampled point clouds
 
- 
Parameters:
- 
max_range(double): Maximum range from robot center in meters (default: 20.0)
- 
min_range(double): Minimum range from robot center in meters (default: 0.1)
- 
height_filter_min(double): Minimum height filter (z-coordinate) (default: -2.0)
- 
height_filter_max(double): Maximum height filter (z-coordinate) (default: 3.0)
- 
downsample_rate(int): Keep every Nth point for downsampling (default: 10)
- 
publish_rate(double): Publishing rate in Hz (default: 5.0)
Building
# From your ROS2 workspace
colcon build --packages-select lidar_processor_cpp
Usage
Single Node Launch
Launch individual nodes:
# Launch LiDAR to PointCloud processor
ros2 launch lidar_processor_cpp lidar_to_pointcloud.launch.py
# Launch PointCloud Aggregator
ros2 launch lidar_processor_cpp pointcloud_aggregator.launch.py
Complete Pipeline Launch
Launch the complete processing pipeline:
ros2 launch lidar_processor_cpp lidar_processing_pipeline.launch.py
Custom Parameters
Launch with custom parameters:
ros2 launch lidar_processor_cpp lidar_processing_pipeline.launch.py \
    robot_ip_lst:="['192.168.1.100']" \
    map_name:="my_custom_map" \
    max_range:=15.0 \
    publish_rate:=10.0
Dependencies
- 
ROS2 Dependencies:
    - rclcpp
- sensor_msgs
- geometry_msgs
- std_msgs
 
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name | 
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| ament_lint_common | |
| rclcpp | |
| sensor_msgs | |
| geometry_msgs | |
| std_msgs | |
| pcl_ros | |
| pcl_conversions | |
| tf2 | |
| tf2_ros |