-
Notifications
You must be signed in to change notification settings - Fork 283
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Inaccurate GPU Lidar #2743
Comments
The implementation of gpu_lidar with the default render engine in gz-sim ( Alternatively, you can also try switching the sensor system's render engine to <plugin
filename="gz-sim-sensors-system"
name="gz::sim::systems::Sensors">
<render_engine>ogre</render_engine>
</plugin> cpu based |
Thanks! Going back to ogre(1) actually resolved the issue for now. However, this doesn't seem like an ideal solution, as it appears that I can't switch the rendering engine for just this specific sensor - only for all sensors at once. Is that correct? Suppose I have a very sparse lidar and want to simulate it accurately using the ogre2 implementation. Would that require increasing the number of rays, simulating the scanner, and then downsample afterward to get it sparse again? Alternatively, would it be feasible to introduce a parameter that ensures a minimum accuracy level, even at the cost of increased runtime? |
yes that's correct
yes that'll be the workaround. Ideally gazebo does all that for you. The |
Hi Gazebo Dev Team,
First of all, thank you for the great software project. I've been using Gazebo Classic for a long time and it helped me a lot. In Gazebo Classic, switching from the CPU ray plugin to the GPU ray plugin resulted in a slight decrease in lidar accuracy. This was particularly noticeable when the lidar hit surfaces at shallow angles, though in most cases, the accuracy remained sufficient for our needs. However, after migrating from Gazebo Classic, the new "gpu_lidar" plugin appeared to be even more approximate than before. In my use cases, where scans are expected to come from spinning devices, this level of inaccuracy became problematic.
Below is a detailed problem description with accompanying images:
Test 1: Gazebo Classic
Setup:
CPU Ray Plugin
XML:
Results (left Rviz, right Gazebo):
GPU Ray
XML:
Results (left Rviz, right Gazebo):
Note: Accuracy has slightly degraded compared to the CPU Ray. But it's still OK.
Test 2: Gazebo Fortress
Setup:
GPU Raycaster:
Results (left RViz, right Gazebo):
Test 3: Gazebo Harmonic
Same effects than in Gazebo Fortress:
Additional Tests
ros2 launch ros_gz_sim_demos gpu_lidar_bridge.launch.py
Questions
Thanks for the help in advance
Alex
The text was updated successfully, but these errors were encountered: