ros-riegl-vz repository

ros-riegl-vz repository

ros-riegl-vz repository

Repository Summary

Checkout URI https://github.com/riegllms/ros-riegl-vz.git
VCS Type git
VCS Version main
Last Updated 2025-02-13
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
riconnect 0.0.0
riegl_vz 1.5.0
riegl_vz_interfaces 0.0.0
vzi_services 0.0.0

README

ROS2 RIEGL VZ Package

This is a ROS2 package for the RIEGL VZ-i series devices. The package has been tested with:

It provides a ROS interface with services and topics for scan data acquisition and scan position registration with a 3D laser scanner.
In detail, it provides the following functions:

  • Create a project on the laser scanner device

  • Configure the the laser scanner, including configuration of the scan pattern and the measurement program as well as the storage device for data logging on the device

  • Start a scan data acquisition with
    • optional scan registration
    • optional reflector scan and search
    • optional camera image capture
  • Publish the 3D point cloud in ROS

  • Publish voxel grid in ROS

  • Publish scan position resulting from scan registration, position is in scanner project coordinates or referenced to a global geographic coordinate system

  • Use of position and orientation data from a robot to improve the scan position registration algorithm.

  • Publish the device status (memory usage, error stack, …) and data acquisition progress information

  • Publish positional data from the GNSS receiver in the laser scanner

ROS2 installation and setup:

Follow ROS2 installation instructions on https://docs.ros.org/en/galactic/Installation/Ubuntu-Development-Setup.html.

Configure the ROS2 environment according to https://docs.ros.org/en/galactic/Tutorials/Configuring-ROS2-Environment.html.

Create a new workspace (https://docs.ros.org/en/galactic/Tutorials/Workspace/Creating-A-Workspace.html) and clone repository into subdirectory ‘src’.

Install diagnostics updater package:

```sudo apt-get install ros-galactic-diagnostic-updater


**Install tf2 packages:**


```sudo apt-get install ros-galactic-tf2-tools ros-galactic-tf-transformations

Install python requirements:

Switch to ‘src’ subdirectory and install required python modules:

```python3 -m pip install -r requirements.txt


**Install python wheel with rdb library:**

Find an appropriate python wheel for the rdb library in the 'librdb/' subfolder of the repository  
or send a request to RIEGL support: support@riegl.com.  
The wheel includes a shared linux library must be appropriate for the target processor architecture.  
Install the wheel, e.g. for x86_64:


```pip3 install riegl.rdb-2.4.0-cp34.cp35.cp36.cp37.cp38.cp39.cp310-none-linux_x86_64.whl

Note: At least version 2.4.0 is required for the ROS package to work.

Build package:

Switch to workspace root directory.

```colcon build


**Start 'riegl_vz' node:**

Open a second terminal. Execute '. install/setup.bash'.

Find .yaml files for configuration of node parameters in package install directory at: **install/riegl_vz/share/riegl_vz/config/**.

Copy **params_default.yaml** to **params.yaml** and edit parameter settings.

Launch 'riegl_vz' node with parameter settings from params.yaml:


```ros2 launch riegl_vz std_launch.py

Trigger a scan data acquisition:

Open another terminal. Execute ‘. install/setup.bash’.

Execute the scan trigger service:

```ros2 service call /scan std_srvs/srv/Trigger


**Visualize scan data point cloud with rviz:**

Start 'rviz' tool:


```rviz2

Set ‘fixed-frame’ in ‘Global Options’ to ‘riegl_vz_socs’. Activate ‘PointCloud2’ plugin and bind it to riegl_vz/pointcloud topic:

rviz2

Monitor ‘riegl_vz’ node with foxglove-studio:

Install foxglove-studio from https://foxglove.dev.

Start ‘foxglove-studio’:


Import layout from foxglove/diagnostics.json..

and open a data source, e.g. open live connection.

rqt

CONTRIBUTING

No CONTRIBUTING.md found.

ros-riegl-vz repository

ros-riegl-vz repository

ros-riegl-vz repository

ros-riegl-vz repository

ros-riegl-vz repository

ros-riegl-vz repository

ros-riegl-vz repository

ros-riegl-vz repository

ros-riegl-vz repository

ros-riegl-vz repository

ros-riegl-vz repository

ros-riegl-vz repository

ros-riegl-vz repository

ros-riegl-vz repository

ros-riegl-vz repository