Repo symbol

rglgazeboplugin repository

Repo symbol

rglgazeboplugin repository

Repo symbol

rglgazeboplugin repository

Repo symbol

rglgazeboplugin repository

Repository Summary

Description
Checkout URI https://github.com/robotecai/rglgazeboplugin.git
VCS Type git
VCS Version main
Last Updated 2025-01-07
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
RGLGazeboPlugin 0.2.0

README

RGL Gazebo Plugin


RGL Gazebo Plugin Logo


About the project

RGL Gazebo Plugin has been created by Robotec.AI to bring Robotec GPU Lidar to Gazebo.

Key features:

  • Point cloud computation using hardware-accelerated raytracing (Nvidia OptiX)
  • High performance (~4x improvement over gpu_lidar sensor from Gazebo)
  • Multiple LiDAR pattern configuration methods, including importing a pattern from a binary file
  • Realistic presets of the most popular LiDARs

Requirements:

Installation:

Using pre-built libraries

  1. Download libraries from release.
  2. Make RGL plugins visible to Gazebo:
    • Move libraries to the plugin’s directories.
      • If Gazebo installed from apt:
        cp libRobotecGPULidar.so /usr/lib/x86_64-linux-gnu/gz-sim-8/plugins
        cp libRGLServerPluginInstance.so /usr/lib/x86_64-linux-gnu/gz-sim-8/plugins
        cp libRGLServerPluginManager.so /usr/lib/x86_64-linux-gnu/gz-sim-8/plugins
        cp libRGLVisualize.so /usr/lib/x86_64-linux-gnu/gz-sim-8/plugins/gui
        
  - If Gazebo installed from the ROS repository ([see](https://gazebosim.org/docs/latest/ros_installation/#installing-the-default-gazebo-ros-pairing)):
        cp libRobotecGPULidar.so /opt/ros/${ROS_DISTRO}/opt/gz_sim_vendor/lib/gz-sim-8/plugins
        cp libRGLServerPluginInstance.so /opt/ros/${ROS_DISTRO}/opt/gz_sim_vendor/lib/gz-sim-8/plugins
        cp libRGLServerPluginManager.so /opt/ros/${ROS_DISTRO}/opt/gz_sim_vendor/lib/gz-sim-8/plugins
        cp libRGLVisualize.so /opt/ros/${ROS_DISTRO}/opt/gz_sim_vendor/lib/gz-sim-8/plugins/gui
        
- Or set environment variables:
    # Assuming that system plugin libraries are located in RGLServerPlugin directory,
    # and gui plugins (libRGLVisualize.so) in RGLVisualize.
    export GZ_SIM_SYSTEM_PLUGIN_PATH=`pwd`/RGLServerPlugin:$GZ_SIM_SYSTEM_PLUGIN_PATH
    export GZ_GUI_PLUGIN_PATH=`pwd`/RGLVisualize:$GZ_GUI_PLUGIN_PATH
    

Building from source

Docker

docker build \
   --target=exporter \
   --output=install .

Note: Build with ROS Jazzy using colcon

Manual

mkdir build && cd build
cmake .. && make -j && make install
cd ..
# Make it visible to Gazebo via environment variables:
export GZ_SIM_SYSTEM_PLUGIN_PATH=`pwd`/install/RGLServerPlugin:$GZ_SIM_SYSTEM_PLUGIN_PATH
export GZ_GUI_PLUGIN_PATH=`pwd`/install/RGLVisualize:$GZ_GUI_PLUGIN_PATH

Using custom build of RobotecGPULidar

By default, the RGLGazebPlugin downloads RobotecGPULidar binaries from the official release. To use your own build of RobotecGPULidar, set the following CMake variables when configuring the project:

# RGL_CUSTOM_LIBRARY_PATH - Path to the custom RobotecGPULidar library build
# RGL_CUSTOM_API_HEADER_PATH - Path to the include directory with API headers compatible with the custom library build
#                              (`include` directory of `RobotecGPULidar` project)
# Example:
cmake \
  -DRGL_CUSTOM_LIBRARY_PATH="$HOME/RobotecGPULidar/build/lib/libRobotecGPULidar.so" \
  -DRGL_CUSTOM_API_HEADER_PATH="$HOME/RobotecGPULidar/include" \
  ..

Demo:

Launch the prepared simulation from test_world directory:

gz sim sonoma_with_rgl.sdf

  1. Start the simulation by pressing play

File truncated at 100 lines see the full file

Repo symbol

rglgazeboplugin repository

Repo symbol

rglgazeboplugin repository

Repo symbol

rglgazeboplugin repository

Repo symbol

rglgazeboplugin repository