Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/advrhumanoids/velodyne_simulator
Fork from https://bitbucket.org/DataspeedInc/velodyne_simulator.git/src
https://github.com/advrhumanoids/velodyne_simulator
Last synced: 2 days ago
JSON representation
Fork from https://bitbucket.org/DataspeedInc/velodyne_simulator.git/src
- Host: GitHub
- URL: https://github.com/advrhumanoids/velodyne_simulator
- Owner: ADVRHumanoids
- License: other
- Created: 2024-10-17T09:09:58.000Z (29 days ago)
- Default Branch: master
- Last Pushed: 2024-10-17T14:55:18.000Z (29 days ago)
- Last Synced: 2024-10-19T13:14:31.576Z (27 days ago)
- Language: C++
- Size: 482 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Velodyne Simulator
URDF description and Gazebo plugins to simulate Velodyne laser scanners![rviz screenshot](img/rviz.png)
# 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](gazebo_upgrade.md))
* Supported models:
* [VLP-16](velodyne_description/urdf/VLP-16.urdf.xacro)
* [HDL-32E](velodyne_description/urdf/HDL-32E.urdf.xacro)
* Pull requests for other models are welcome
* Experimental support for clipping low-intensity returns# 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](velodyne_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 velodyne_description example.launch```# Example Gazebo Robot (with GPU)
```roslaunch velodyne_description example.launch gpu:=true```