Oxide GNSS — a Rust-based ROS 2 driver for u-blox ZED-F9P with NTRIP and integrity monitoring
A new Rust-based ROS 2 driver for u-blox ZED-F9P adds built-in safety monitoring and NTRIP support.
Greenforge Labs has launched oxide_gnss, a new open-source driver built in Rust for the Robot Operating System 2 (ROS 2). Its primary purpose is to provide a clean, simple interface for robotics developers to get high-precision position, velocity, and heading data from the popular u-blox ZED-F9P multi-band GNSS module. The driver is built on the rclrs (ROS Client Library for Rust) framework and is released under the permissive MIT license, making it suitable for both commercial and research applications.
A key feature is its mode-based configuration system, which abstracts complex UBX protocol commands. Developers can configure the driver for five distinct operational modes—standalone, rover (with NTRIP or radio corrections), moving base, moving-base-rover, and static base—without manually editing low-level configuration keys. The driver includes an integrated NTRIP (Networked Transport of RTCM via Internet Protocol) client, which is essential for receiving real-time kinematic (RTK) correction data to achieve centimeter-level accuracy. It supports sending GGA messages for Virtual Reference Station (VRS) functionality.
For safety-critical applications like autonomous vehicles and drones, oxide_gnss introduces optional integrity monitoring. This system aggregates data from the receiver's protection level (NAV-PL), jamming/spoofing detection (SEC-SIG), antenna status, and RF monitoring messages. It publishes a comprehensive integrity message and a simple Boolean operational status, giving the robot's autonomy stack a clear go/no-go signal about the reliability of its GNSS data. The project includes CI testing against multiple ROS 2 distributions (Humble, Jazzy, Kilted) on both AMD64 and ARM64 architectures, ensuring broad compatibility.
- Mode-based config for 5 setups (rover, base, etc.) eliminates manual UBX command editing.
- Integrated NTRIP client with VRS support provides RTK corrections for centimeter-level accuracy.
- Safety integrity monitoring aggregates jamming/spoofing detection into a simple go/no-go topic for robots.
Why It Matters
It accelerates development of precise, safety-aware autonomous systems by simplifying a complex sensor integration task.