Skip to content

botsandus/RobotecGPULidar

 
 

Repository files navigation

Robotec GPU Lidar

RobotecGPULidar

About the project

Robotec GPU Lidar (RGL) is a cross-platform (Windows and Linux), C/C++ library developed by Robotec.AI for simulating LiDARs on CUDA-enabled GPUs, accelerated by RTX cores if available.

One of the use-cases of RGL is implementing Lidar sensors in simulation engines. We are working on integrations with popular game / simulation engines:

If you would like to have a custom integration, feel free to contact us.

Features

Configurable LiDAR pattern and range High performance
GPU-accelerated pointcloud processing Flexible pipeline creation

And more:

  • Asynchronous raytracing
  • Removing non-hit points
  • Converting to custom binary output
  • Downsampling
  • Writing to PCD file

Runtime requirements

Hardware Requirement
GPU CUDA-enabled
Software Requirement
Nvidia Driver (Linux) >=460.27.03
Nvidia Driver (Windows) >=472.50

Usage

An introduction to the RGL API along with an example can be found here.

Building in Docker (Linux)

Two dockerfiles are prepared:

  • DockerfileMinimal - image designed to meet RGL minimal requirements
  • DockerfileLatest - image with latest Ubuntu and CUDA Toolkit version

Build instructions:

  1. Set up NVIDIA Container Toolkit
  2. Download NVidia OptiX 7.2
  3. export OptiX_INSTALL_DIR=<Path to OptiX>
  4. docker build . -f DockerfileMinimal --tag rgl:minimal
  5. docker run --net=host --gpus all -v $(pwd):/code -v ${OptiX_INSTALL_DIR}:/optix -e OptiX_INSTALL_DIR=/optix -e NVIDIA_DRIVER_CAPABILITIES=all -it rgl:minimal /bin/bash
  6. ./setup.bash --cmake --make -j

Building on Ubuntu

  1. Install CUDA Toolkit 11.2+.
  2. Download NVidia OptiX 7.2.
    1. You may be asked to create Nvidia account to download
  3. Export environment variable:
    1. export OptiX_INSTALL_DIR=<your-OptiX-path>.
  4. Use setup.bash --cmake --make script.
    • It will install dependencies from apt and vcpkg.
    • It will run CMake and then make.
    • You can pass optional CMake and make parameters, e.g.
      • ./setup.bash --cmake -DCMAKE_BUILD_TYPE=Debug --make -j 16

Building on Windows

  1. Install CUDA Toolkit 11.4.4+.
  2. Download NVidia OptiX 7.2.
    • use the default location or set environment variable OptiX_INSTALL_DIR
  3. Install PCL 1.12:
    1. Get vcpkg:
      git clone -b 2022.08.15 --single-branch --depth 1 https://github.com/microsoft/vcpkg
    2. Bootstrap vcpkg:
      .\vcpkg\bootstrap-vcpkg.bat
    3. Install PCL:
      .\vcpkg\vcpkg.exe install pcl[core,visualization]:x64-windows
    4. In order to use vcpkg with Visual Studio, run the following command (may require administrator elevation):
      .\vcpkg\vcpkg.exe integrate install
    5. In order to use vcpkg with CMake, you can use the toolchain file:
      cmake -B [build directory] -S . "-DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake"
      cmake --build [build directory]
  4. Build the project:

Acknowledgements

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 86.6%
  • C 7.0%
  • Cuda 3.2%
  • CMake 2.2%
  • Shell 1.0%