English | 中文说明
A standalone LiDAR scan pattern generator extracted from the RGL Gazebo Plugin and expanded with additional sampling strategies. The tool creates matrices that can be consumed by the Robotec GPU Lidar (RGL) library or other simulators requiring mat3x4 ray poses.
- Uniform Pattern - Cartesian grid sampling across the requested vertical/horizontal span.
- Circle Pattern (60°) - Dense circular cone sampling with optional oversubscription.
- Circle Pattern (44°) - Narrower 44° cone variant.
- Circle Line Pattern - Samples points only on the outer boundary of the 60° cone.
- Circle Line Pattern (44°) - Boundary sampling for the 44° cone.
- Archimedean Spiral Pattern - Near-equal-area spiral layout in angular space.
- Hesai QT128 Pattern - Exact reproduction of the QT128 beam table (10 Hz / 20 Hz azimuth layouts).
- CMake >= 3.21
- Gazebo Math library (
gz-math7) - A modern C++17 compiler
mkdir build
cd build
cmake ..
make./bin/custom_pattern_generatorOutputs are written to the lidar_patterns/ directory in binary rgl_mat3x4f format.
Archimedean spiral output (generated with 100000 beams).
custom_pattern/
├── CMakeLists.txt
├── include/
│ └── custom_pattern.h # Public API for pattern generation
├── src/
│ ├── custom_pattern.cc # Pattern implementations
│ └── main.cc # CLI entry point
├── image/
│ └── spiral.png
└── README.md
- Vertical elevation angles are transcribed directly from Appendix A of the QT128 datasheet.
- Horizontal resolution adapts to 10 Hz or 20 Hz frame rates according to the documentation.
- Fork the repository and create a feature branch.
- Keep code comments bilingual where possible to help both English and Chinese readers.
- Run the generator to ensure outputs are produced without runtime errors before opening a PR.
Specify your preferred license here (e.g., MIT, Apache-2.0).
