openzen_sensor package from openzen_sensor repoopenzen_sensor |
|
Package Summary
Tags | No category tags. |
Version | 1.3.2 |
License | MIT |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://bitbucket.org/lpresearch/openzenros.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-08-29 |
Dev Status | DEVELOPED |
CI status |
|
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- H.E. YAP
- Yongkin
- Feng
Authors
OpenZen Node for ROS
This software allows to forward sensor data from sensor connected via OpenZen to ROS.
OpenZen is a library for high performance sensor data streaming and processing and supports multiple sensor models: https://bitbucket.org/lpresearch/openzen/
The full documentation for OpenZen ROS can be found here: OpenZen ROS documentation.
Requirements
Tools & Compiler
To compile this software, at least G++ version 7.0 and cmake version 3.10 need to be installed. If your default compiler is an older version you can install a recent GCC with your distributions package manager and provide the name of the GCC to the catkin_make command like so:
catkin_make -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7
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
Installing via the Package Manager
The OpenZen ROS driver is part of the official ROS distribution and you can conveniently install it via the package manager of your Linux distribution. Please check this website to see if the OpenZen ROS driver is available for the ROS distribution you use:
For example, on Ubuntu 18.04 and with ROS distribution Melodic Morenia, the OpenZen ROS driver can be installed with this command:
apt install ros-melodic-openzen-sensor
Compilation
To compile this driver in your ROS setup, follow these steps:
mkdir -p catskin_ws/src
cd catskin_ws/src
git clone --recurse-submodules https://bitbucket.org/lpresearch/openzenros.git
# get your ROS environment going
source /opt/ros/melodic/setup.bash
cd ../../..
catkin_make
source ./devel/setup.bash
Running the Driver
Open another terminal window and run the ROS core:
source /opt/ros/melodic/setup.bash
roscore
You can then run the OpenZen ROS driver with this command in the window you used to compile the software:
rosrun openzen_sensor openzen_sensor_node
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:
rosrun openzen_sensor openzen_sensor_node _sensor_name:="devicefile:/dev/ttyUSB0"
If your sensor is configured for a different baud rate, you can use the baudrate parameter to give a specfic baud rate setting:
rosrun openzen_sensor openzen_sensor_node _sensor_name:="devicefile:/dev/ttyUSB0" _baudrate:=921600
Do note that the default sensor interface is LinuxDevice
, so the value for _sensor_name
will most likely be in the form of "devicefile:/dev/ttyUSB0"
. For more detail please refer to OpenZen’s docs.
Now you can print the IMU values from ROS with:
rostopic echo /imu/data
To output the values of a GPS unit (if available) use this command:
rostopic echo /imu/nav
Or plot some values (for example linear acceleration) with
rosrun rqt_plot rqt_plot /imu/data/linear_acceleration
If you want to readout the values of two OpenZen sensors simultanously, you need to rename the topics and the node names likes this:
rosrun openzen_sensor openzen_sensor_node __name:="cu2node" _sensor_name:="devicefile:/dev/ttyUSB0" imu:=/cu2_imu
rosrun openzen_sensor openzen_sensor_node __name:="ig1_node" _sensor_name:="devicefile:/dev/ttyUSB1" imu:=/ig1_imu
Alternatively, we have prepared a sample launch file openzen_lpms_ig1.launch to demonstrate data acquisition and plotting using openzen_sensor_node:
roslaunch openzen_sensor openzen_lpms_ig1.launch
Changelog for package openzen_driver
1.3.2 (2023-08-29)
- fix default gyro mapping for legacy sensor tested with URS2
- update ros package version to v1.3.1
- update submodule openzen to v1.3.1 to support LPMS3 sensors
- switch default gyros for different sensors
- updated OpenZen to be able to parse 16-bit data format messages for IG1
- updated to recent OpenZen to be able to directly connect to Linux device files
- turn on ZEN_USE_STATIC_LIBS for OpenZen build
- Contributors: LP-Research Inc. Team
1.2.0 (2020-11-17)
- fixed conditions check for build or download OpenZen options
- fixed name of primary maintainer
- added install target for openzen_node
- manually setting component ID in case a TestSensor is used
- running rostest as part of the catkin CMake file
- switched binary downloads to OpenZen 1.2.0
- updated OpenZen to version 1.2.0
- added output of GNSS measurement as ROS NavSatFix message
- Contributors: LP-Research Inc. Team
1.0.1 (2020-09-03)
- changed OpenZen version to release 1.1.3
- added option to select binary download and disabled binary downloads by default
- updated to OpenZen 1.1.2 for ARM64
- updated OpenZen version to support LPMS-BE1
- added support for ARM64 binary
- checking if environment is modern enough to build OpenZen, otherwise download binary release
- added licenses of OpenZen and its dependencies
- added License header to source files
- added License file
- Contributors: LP-Research Inc. Team
1.0.0 (2020-04-13)
- Initial Release of OpenZen ROS driver
- Contributors: LP-Research Inc. Team
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
roscpp | |
sensor_msgs | |
std_srvs | |
std_msgs | |
catkin | |
topic_tools | |
tf | |
roslaunch | |
rostest |
System Dependencies
Dependant Packages
Launch files
- launch/openzen_lpms_ig1.launch
- launch/openzen_test.launch
- This test can be launched with > rostest openzen_sensor openzen_test.launch Make sure roscore is running before starting this test.
-
Messages
Services
Plugins
Recent questions tagged openzen_sensor at Robotics Stack Exchange
openzen_sensor package from openzen_sensor repoopenzen_sensor |
|
Package Summary
Tags | No category tags. |
Version | 1.3.2 |
License | MIT |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://bitbucket.org/lpresearch/openzenros.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2023-08-29 |
Dev Status | DEVELOPED |
CI status |
|
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- H.E. YAP
- Yongkin
- Feng
Authors
OpenZen Node for ROS
This software allows to forward sensor data from sensor connected via OpenZen to ROS.
OpenZen is a library for high performance sensor data streaming and processing and supports multiple sensor models: https://bitbucket.org/lpresearch/openzen/
The full documentation for OpenZen ROS can be found here: OpenZen ROS documentation.
Requirements
Tools & Compiler
To compile this software, at least G++ version 7.0 and cmake version 3.10 need to be installed. If your default compiler is an older version you can install a recent GCC with your distributions package manager and provide the name of the GCC to the catkin_make command like so:
catkin_make -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7
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
Installing via the Package Manager
The OpenZen ROS driver is part of the official ROS distribution and you can conveniently install it via the package manager of your Linux distribution. Please check this website to see if the OpenZen ROS driver is available for the ROS distribution you use:
For example, on Ubuntu 18.04 and with ROS distribution Melodic Morenia, the OpenZen ROS driver can be installed with this command:
apt install ros-melodic-openzen-sensor
Compilation
To compile this driver in your ROS setup, follow these steps:
mkdir -p catskin_ws/src
cd catskin_ws/src
git clone --recurse-submodules https://bitbucket.org/lpresearch/openzenros.git
# get your ROS environment going
source /opt/ros/melodic/setup.bash
cd ../../..
catkin_make
source ./devel/setup.bash
Running the Driver
Open another terminal window and run the ROS core:
source /opt/ros/melodic/setup.bash
roscore
You can then run the OpenZen ROS driver with this command in the window you used to compile the software:
rosrun openzen_sensor openzen_sensor_node
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:
rosrun openzen_sensor openzen_sensor_node _sensor_name:="devicefile:/dev/ttyUSB0"
If your sensor is configured for a different baud rate, you can use the baudrate parameter to give a specfic baud rate setting:
rosrun openzen_sensor openzen_sensor_node _sensor_name:="devicefile:/dev/ttyUSB0" _baudrate:=921600
Do note that the default sensor interface is LinuxDevice
, so the value for _sensor_name
will most likely be in the form of "devicefile:/dev/ttyUSB0"
. For more detail please refer to OpenZen’s docs.
Now you can print the IMU values from ROS with:
rostopic echo /imu/data
To output the values of a GPS unit (if available) use this command:
rostopic echo /imu/nav
Or plot some values (for example linear acceleration) with
rosrun rqt_plot rqt_plot /imu/data/linear_acceleration
If you want to readout the values of two OpenZen sensors simultanously, you need to rename the topics and the node names likes this:
rosrun openzen_sensor openzen_sensor_node __name:="cu2node" _sensor_name:="devicefile:/dev/ttyUSB0" imu:=/cu2_imu
rosrun openzen_sensor openzen_sensor_node __name:="ig1_node" _sensor_name:="devicefile:/dev/ttyUSB1" imu:=/ig1_imu
Alternatively, we have prepared a sample launch file openzen_lpms_ig1.launch to demonstrate data acquisition and plotting using openzen_sensor_node:
roslaunch openzen_sensor openzen_lpms_ig1.launch
Changelog for package openzen_driver
1.3.2 (2023-08-29)
- fix default gyro mapping for legacy sensor tested with URS2
- update ros package version to v1.3.1
- update submodule openzen to v1.3.1 to support LPMS3 sensors
- switch default gyros for different sensors
- updated OpenZen to be able to parse 16-bit data format messages for IG1
- updated to recent OpenZen to be able to directly connect to Linux device files
- turn on ZEN_USE_STATIC_LIBS for OpenZen build
- Contributors: LP-Research Inc. Team
1.2.0 (2020-11-17)
- fixed conditions check for build or download OpenZen options
- fixed name of primary maintainer
- added install target for openzen_node
- manually setting component ID in case a TestSensor is used
- running rostest as part of the catkin CMake file
- switched binary downloads to OpenZen 1.2.0
- updated OpenZen to version 1.2.0
- added output of GNSS measurement as ROS NavSatFix message
- Contributors: LP-Research Inc. Team
1.0.1 (2020-09-03)
- changed OpenZen version to release 1.1.3
- added option to select binary download and disabled binary downloads by default
- updated to OpenZen 1.1.2 for ARM64
- updated OpenZen version to support LPMS-BE1
- added support for ARM64 binary
- checking if environment is modern enough to build OpenZen, otherwise download binary release
- added licenses of OpenZen and its dependencies
- added License header to source files
- added License file
- Contributors: LP-Research Inc. Team
1.0.0 (2020-04-13)
- Initial Release of OpenZen ROS driver
- Contributors: LP-Research Inc. Team
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
roscpp | |
sensor_msgs | |
std_srvs | |
std_msgs | |
catkin | |
topic_tools | |
tf | |
roslaunch | |
rostest |
System Dependencies
Dependant Packages
Launch files
- launch/openzen_lpms_ig1.launch
- launch/openzen_test.launch
- This test can be launched with > rostest openzen_sensor openzen_test.launch Make sure roscore is running before starting this test.
-