livox_gz_sim: Livox Mid-360 and HAP simulation for Gazebo Harmonic
livox_gz_sim: Livox Mid-360 and HAP simulation for Gazebo Harmonic
mathai released livox_gz_sim, a Gazebo Harmonic plugin that simulates Livox Mid-360 and HAP lidars. It uses recorded non-repetitive scan patterns to build coverage over frames, publishes messages in the livox_ros_driver2 format with per-point timestamps, simulates the Mid-360's IMU at 200 Hz, and adds range/angle noise and reflectivity from datasheets. The tool is GPU agnostic (unlike existing CUDA-dependent options), supports multiple sensors and configurable rates, and allows world resets. Stacks like FAST-LIO run unchanged because the output matches the driver.
The author released an open-source Gazebo Harmonic plugin that simulates Livox Mid-360 and HAP lidars using recorded non-repetitive scan patterns, matching the output format of livox_ros_driver2 to support stacks like FAST-LIO without modification.
Source: ROS Discourse — Community updates · Read original article ↗
Article text · Original source · English
Hi all,
I’ve released livox_gz_sim, a Gazebo Harmonic plugin that simulates Livox Mid-360 and HAP lidars and publishes exactly what livox_ros_driver2 publishes. As far as I know it’s the first gpu agnostic Livox simulator for Gazebo Harmonic; the existing ones target Gazebo Classic or require CUDA.
What it does
- Uses Livox’s recorded non-repetitive scan patterns, so coverage builds up over frames like on the real sensor
- Publishes
livox_ros_driver2/CustomMsgorPointCloud2in the driver’s 26-byte layout (xfer_format0/1), with per-point timestamps - Simulates the Mid-360’s IMU at 200 Hz
- Adds range and angle noise from the datasheet, and reflectivity (0–255) from
<laser_retro> - Supports multiple sensors, configurable publish rate and downsampling, and world resets
Because the output matches the driver, stacks like FAST-LIO run on it unchanged.

Repo: GitHub - mathaimp/livox_gz_sim: ROS2 Livox Lidar Simulation · GitHub
Requires livox_ros_driver2 for the message types only, plus an OpenGL-capable GPU.
Feedback, issues, and requests for other Livox models are welcome.
What the source reports
Publisher-reported claims, with original evidence. These results have not been independently verified by RoboSignal.
- Environment
- SimulationOpen source S1
Reported numbers
percent
0
View original evidence
or Publishes livox_ros_driver2/CustomMsg or PointCloud2 in the driver’s 26-byte layout ( xfer_format 0/1), with per-point timestamps Simulates the Mid-360’s IMU at 200 Hz Adds range and angle noise from the datasheet, and reflectivity (0–255) from <laser_retro> Supports multiple sensors, configurable publish rate and downsampling, and world resets Because the output matches the driver, stacks like FAST-LIO run on it
Open source S3hours
0
View original evidence
or Publishes livox_ros_driver2/CustomMsg or PointCloud2 in the driver’s 26-byte layout ( xfer_format 0/1), with per-point timestamps Simulates the Mid-360’s IMU at 200 Hz Adds range and angle noise from the datasheet, and reflectivity (0–255) from <laser_retro> Supports multiple sensors, configurable publish rate and downsampling, and world resets Because the output matches the driver, stacks like FAST-LIO run on it
Open source S3robots
0
View original evidence
or Publishes livox_ros_driver2/CustomMsg or PointCloud2 in the driver’s 26-byte layout ( xfer_format 0/1), with per-point timestamps Simulates the Mid-360’s IMU at 200 Hz Adds range and angle noise from the datasheet, and reflectivity (0–255) from <laser_retro> Supports multiple sensors, configurable publish rate and downsampling, and world resets Because the output matches the driver, stacks like FAST-LIO run on it
Open source S3trajectories
0
View original evidence
or Publishes livox_ros_driver2/CustomMsg or PointCloud2 in the driver’s 26-byte layout ( xfer_format 0/1), with per-point timestamps Simulates the Mid-360’s IMU at 200 Hz Adds range and angle noise from the datasheet, and reflectivity (0–255) from <laser_retro> Supports multiple sensors, configurable publish rate and downsampling, and world resets Because the output matches the driver, stacks like FAST-LIO run on it
Open source S3
- paper: not_reported
Source excerpts and review record
Automatically extracted; no manual editorial approval recorded.
livox_gz_sim: Livox Mid-360 and HAP simulation for Gazebo Harmonic
Open source S1
Hi all, I’ve released livox_gz_sim, a Gazebo Harmonic plugin that simulates Livox Mid-360 and HAP lidars and publishes exactly what livox_ros_driver2 publishes. As far as I know it’s the first gpu agnostic Livox simulator for Gazebo Harmonic; the existing ones target Gazebo Classic or require CUDA. What it does Uses Livox’s recorded non-repetitive scan patterns, so coverage builds up over frames like on the real sens
Open source S2
or Publishes livox_ros_driver2/CustomMsg or PointCloud2 in the driver’s 26-byte layout ( xfer_format 0/1), with per-point timestamps Simulates the Mid-360’s IMU at 200 Hz Adds range and angle noise from the datasheet, and reflectivity (0–255) from <laser_retro> Supports multiple sensors, configurable publish rate and downsampling, and world resets Because the output matches the driver, stacks like FAST-LIO run on it
Open source S3
unchanged. Repo: GitHub - mathaimp/livox_gz_sim: ROS2 Livox Lidar Simulation · GitHub Requires livox_ros_driver2 for the message types only, plus an OpenGL-capable GPU. Feedback, issues, and requests for other Livox models are welcome.
Open source S4
Source:ROS Discourse — Community updates · discourse.openrobotics.org