Piotr Rybicki Dec 05, 2022 - Robotics

Robotec GPU Library for high-performance sensors simulation

Robotec GPU Library (RGL) – our new golden child

RGL is our new library for high-performance and scalable sensors simulation. It has a completely new approach, speed, and possibilities.

Who’s gonna love it?

Do you develop or use robotics simulations with multiple LiDARs?  Have you ever been disappointed with the performance of the current LiDAR simulation? Are you an ML researcher in need of vast amounts of synthetic point clouds? If so, we have great news for you!

Why was it born?

In our multi-year adventure in robotics simulations, we have simulated LiDAR sensors countless times. We know the pain of poor performance once you introduce more than a few LiDARs. So, the frustration and our great desire for things to happen fast are the parents of our brilliant RGL.

A few years ago, we watched the first releases of NVIDIA graphics cards with hardware-accelerated raytracing. We connected the dots and attempted to use it for hardware-accelerated LiDAR simulation. Our first results were more than enough to convince us that it was worth pursuing. A few months later, we were already sure, that RTX GPUs were future of LiDAR simulation.

images: RGL Gazebo Integration – one of our RGL integrations, soon to be open-sourced

How it developed?

Since then, our little experiment has grown into a fully professional C/C++/CUDA library which is now open source. By using RGL, you already get these new possibilities:

  • Simulate dozens of LiDARs or similar devices (e.g., ToF camera) in real-time.
  • Post-process point cloud data – convert to a dense representation, transform, downsample, and convert into user-defined binary format.
  • Save results to PCD file(s).

images: Another of our RGL integrations, with O3DE, soon to be open-sourced.

So, isn’t it really cool? We will continue to develop the library to implement more sophisticated features. In the near future we plan to introduce the following features:

  • Adding point intensity output
  • Integration with ROS2
  • Simulation of the point cloud skew due to LiDAR’s movement
  • And quite some more, but this is to be revealed later!

RGL would love the bigger family!

RGL is an open-source project where building the community is essential. We would like to hear about your potential use cases and what future features you would like to see. (You can check more details on GitHub).

Thanks to the C-API, you can use RGL in any programming language or simulator. We also have ready plugins, which will be open-sourced later this month, for some particular simulators! You will learn which ones in our next blog post. Stay tuned!

The development of this project was made possible thanks to cooperation with Tier IV – challenging needs in terms of features and performance of Tier IV’s project allowed to significantly enrich Robotec GPU Lidar with features such as Gaussian noise and animated meshes as well as optimize it to provide real-time performance with many lidars.

If you have any questions, we are happy to answer them!

Piotr Rybicki
Software Engineer at Robotec.ai

Share post: