# lidar_sim **Repository Path**: lulese/lidar_sim ## Basic Information - **Project Name**: lidar_sim - **Description**: ubuntu20.04 ros gazebo仿真 使用机械雷达仿真项目,包括16 32 64 128线四种雷达 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2024-09-30 - **Last Updated**: 2026-02-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Lidar Simulator URDF description and Gazebo plugins to simulate Lidar laser scanners # Features * URDF with colored meshes * Gazebo plugin based on [gazebo_plugins/gazebo_ros_block_laser](https://github.com/ros-simulation/gazebo_ros_pkgs/blob/kinetic-devel/gazebo_plugins/src/gazebo_ros_block_laser.cpp) * Publishes PointCloud2 with same structure (x, y, z, intensity, ring, time) * Simulated Gaussian noise * GPU acceleration ([with a modern Gazebo build]) # Parameters * ```*origin``` URDF transform from parent link. * ```parent``` URDF parent link name. Default ```base_link``` * ```name``` URDF model name. Also used as tf frame_id for PointCloud2 output. Default ```velodyne``` * ```topic``` PointCloud2 output topic name. Default ```/velodyne_points``` * ```hz``` Update rate in hz. Default ```10``` * ```lasers``` Number of vertical spinning lasers. Default ```VLP-16: 16, HDL-32E: 32``` * ```samples``` Nuber of horizontal rotating samples. Default ```VLP-16: 1875, HDL-32E: 2187``` * ```organize_cloud``` Organize PointCloud2 into 2D array with NaN placeholders, otherwise 1D array and leave out invlaid points. Default ```false``` * ```min_range``` Minimum range value in meters. Default ```0.9``` * ```max_range``` Maximum range value in meters. Default ```130.0``` * ```noise``` Gausian noise value in meters. Default ```0.008``` * ```min_angle``` Minimum horizontal angle in radians. Default ```-3.14``` * ```max_angle``` Maximum horizontal angle in radians. Default ```3.14``` * ```gpu``` Use gpu_ray sensor instead of the standard ray sensor. Default ```false``` * ```min_intensity``` The minimum intensity beneath which returns will be clipped. Can be used to remove low-intensity objects. # Known Issues * At full sample resolution, Gazebo can take up to 30 seconds to load the VLP-16 pluggin, 60 seconds for the HDL-32E * With the default Gazebo version shipped with ROS, ranges are incorrect when accelerated with the GPU option ([issue](https://bitbucket.org/osrf/gazebo/issues/946/),[image](img/gpu.png)) * Solution: Upgrade to a [modern Gazebo version](gazebo_upgrade.md) * Gazebo cannot maintain 10Hz with large pointclouds * Solution: User can reduce number of points (samples) or frequency (hz) in the urdf parameters, see [example.urdf.xacro](lidar_description/urdf/example.urdf.xacro) * Gazebo crashes when updating HDL-32E sensors with default number of points. "Took over 1.0 seconds to update a sensor." * Solution: User can reduce number of points in urdf (same as above) # Example Gazebo Robot ```roslaunch lidar_description example.launch``` # Example Gazebo Robot (with GPU) ```roslaunch lidar_description example.launch gpu:=true```