openzen_driver repository

Repository Summary

Checkout URI
VCS Type git
VCS Version master
Last Updated 2024-05-17
CI status No Continuous Integration
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)


Name Version
openzen_driver 1.2.0


OpenZen Node for ROS 2

This software allows to forward sensor data from sensor connected via OpenZen to ROS version 2.

OpenZen is a library for high performance sensor data streaming and processing and supports multiple sensor models:


Serial Port Access Rights

After this call, you should logout and login with this user to ensure the changed permissions are in effect.

To allow access to sensors connected via USB, you need to ensure that the user running the ROS sensor node has access to the /dev/ttyUSB devices. You can do this by adding the user to the dialout group.

sudo adduser <username> dialout


To compile this driver in your ROS2 setup, follow these steps:

mkdir -p ros_ws/src
cd ros_ws/src

git clone --recurse-submodules

# get your ROS2 environment going
source /opt/ros/foxy/setup.bash
cd ..
colcon build
source ./install/setup.bash

Running the Driver

You can now run the OpenZen ROS2 driver with this command in the window you used to compile the software:

ros2 run openzen_driver openzen_node --ros-args --remap __ns:=/openzen

By default, it will connect to the first available sensor. If you want to connect to a specific sensor, you can use the serial name of the sensor as parameter, for example:

ros2 run openzen_driver openzen_node --ros-args --remap __ns:=/openzen -p sensor_name:="LPMSCU2000573"

If your sensor is configured for a different baud rate, you can use the baudrate parameter to give a specfic baud rate setting:

ros2 run openzen_driver openzen_node --ros-args --remap __ns:=/openzen -p sensor_name:="LPMSCU2000573" -p baudrate:=115200

Now you can print the IMU values from ROS with:

ros2 topic echo /openzen/data

To output the values of a GPS unit (if available) use this command:

ros2 topic echo /openzen/nav

Or plot some values (for example linear acceleration) with

ros2 run rqt_plot rqt_plot /openzen/data/angular_velocity

We have prepared a sample launch file openzen_lpms.launch to demonstrate data acquisition and plotting using openzen_sensor_node:

ros2 launch openzen_driver

To change to autocalibration setting via the command line:

ros2 service call /enable_gyro_autocalibration std_srvs/SetBool "{data: true}"

To trigger an gyroscope calibration:

ros2 service call /calibrate_gyroscope std_srvs/Trigger


No found.