Package symbol

septentrio_gnss_driver package from septentrio_gnss_driver repo

septentrio_gnss_driver

ROS Distro
humble

Package Summary

Version 1.5.0
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2026-10-18
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROSaic: C++ driver for Septentrio's GNSS and INS receivers

Additional Links

Maintainers

  • Tibor Dome
  • Thomas Emter
  • Septentrio

Authors

  • Tibor Dome
  • Thomas Emter

ROSaic = ROS + mosaic

Overview

This repository hosts drivers for ROS 1 (Melodic and Noetic) and ROS 2 (Foxy, Galactic, Humble, Iron, Jazzy, Kilted, Lyrical, Rolling, and beyond) - written in C++ - that work with mosaic and AsteRx - two of Septentrio’s cutting-edge GNSS and GNSS/INS receiver families - and beyond. Both ROS 1 and ROS 2 are supported within one repository.

Main Features:

  • Supports Septentrio’s single antenna GNSS, dual antenna GNSS and INS receivers
  • Supports serial, TCP, UDP and USB connections, the latter being compatible with both serial and TCP/IP (RNDIS) protocols
  • Supports several ASCII (including key NMEA ones) messages and SBF (Septentrio Binary Format) blocks
  • Reports status of AIM+ (Advanced Interference Mitigation including OSNMA) anti-jamming and anti-spoofing.
  • Can publish nav_msgs/Odometry message for INS receivers
  • Can blend SBF blocks PVTGeodetic, PosCovGeodetic, ChannelStatus, MeasEpoch, AttEuler, AttCovEuler, VelCovGeodetic and DOP in order to publish gps_common/GPSFix and sensor_msgs/NavSatFix messages
  • Supports optional axis convention conversion since Septentrio follows the NED convention, whereas ROS is ENU.
  • Easy configuration of multiple RTK corrections simultaneously (via NTRIP, TCP/IP stream, or serial)
  • Can play back PCAP capture logs for testing purposes
  • Tested with the mosaic G5, mosaic-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receivers
  • Easy to add support for more log types

Please let the maintainers know of your success or failure in using the driver with other devices so we can update this page appropriately. If you need help, reach out to Septentrio Support.

Build farm status:

Distro Dev Source Binary (amd64) Binary (arm64)
Humble Hdev Hsrc Hbin Hbin_arm64
Jazzy Jdev Jsrc Jbin Jbin_arm64
Kilted Kdev Ksrc Kbin Kbin_arm64
Lyrical Ldev Lsrc Lbin Lbin_arm64
Rolling Rdev Rsrc Rbin Rbin_arm64

Usage

Important notes

Notes Before Usage + The driver assumes that our anonymous access to the Rx grants us full control rights. This should be the case by default, and can otherwise be changed with the `setDefaultAccessLevel` command. If user control is in place user credentials can be given by parameters `login.user` and `login.password`. + Note for serial connection: Make sure the user is part of the `dialout` group to have full access to the serial ports. If not, add it for example with `sudo adduser [username] dialout`. + The usage of the dynamic IP server is not recommended for productive use, since it requires to be reconfigured after each connection loss. For TCP transport `stream_device.tcp` should be configured instead. For fastest recovery after connection loss, `stream_device.udp` is the best choice. + Note for setting hw_flow_control: This is a string parameter, setting it to off without quotes leads to the fact that it is not read in correctly. + Note for setting ant_(aux1)_serial_nr: This is a string parameter, numeric only serial numbers should be put in quotes. If this is not done a warning will be issued and the driver tries to parse it as integer. + Note for usage of NTRIP via USB with virtual ethernet (RNDIS): RNDIS provides a virtual network connection only between the receiver and the PC. First outgoing network access via USB has to be activated, which is explained [here](https://www.youtube.com/watch?v=bUt8cL9Ue1Y). Next setup internet sharing under Linux by setting the connection of the virtual network interface (the name should be something like enx1a3202991545) to "Shared to other computers". + Once the build or binary installation is finished, adapt the `config/rover.yaml` file according to your needs or assemble a new one, examples for GNSS specific parameters `config/gnss.yaml` and INS `config/ins.yaml` are also available. Specify the communication parameters, the ROS messages to be published, the frequency at which the latter should happen etc.
ROS 1: Launch the `launch/rover.launch` to use `rover.yaml` or add `param_file_name:=xxx` to use a custom config.
ROS 2: Launch as composition with `ros2 launch septentrio_gnss_driver rover.launch.py` to use `rover.yaml` or add `file_name:=xxx.yaml` to use a custom config. Alternatively launch as node with `ros2 launch septentrio_gnss_driver rover_node.launch.py` to use `rover_node.yaml` or add `file_name:=xxx.yaml` to use a custom config. Specify the communication parameters, the ROS messages to be published, the frequency at which the latter should happen etc. + Besides the aforementioned config file `rover.yaml` containing all parameters, specialized launch files for GNSS `config/gnss.yaml` and INS `config/ins.yaml` respectively contain only the relevant parameters in each case. - NOTE: Unless `configure_rx` is set to `false`, this driver will overwrite the previous values of the parameters, even if the value is left to zero in the "yaml" file. + The driver was developed and tested with firmware versions >= 4.14.0 for GNSS and >= 1.5.0 for INS. RB3 GNSS with firmware >= 2.0.0 has not been tested so fra, but should be supported. Receivers with older firmware versions are supported but some features may not be available. Known limitations are: * GNSS with firmware < 4.10.0 does not support IP over USB. * GNSS with firmware < 4.12.1 does not support OSNMA. * GNSS with firmware < 4.14 does not support PTP server clock. * INS with firmware <= 1.2.0 does not support velocity aiding. * INS with firmware <= 1.2.0 does not support setting of initial heading. * INS with firmware < 1.3.2 does not support NTP. * INS with firmware < 1.4 does not support OSNMA. * INS with firmware < 1.4.1 does not support improved VSM handling allowing for unknown variances. * INS with firmware < 1.5 does not support PTP server clock. * INS with firmware < 1.5 does not support to set vehicle application. * Mosaic G5 with firmware < 1.0.1 is not supported. + Known issues: * UDP over USB: Blocks are sent twice on GNSS with firmware <= 4.12.1 and INS with firmware <= 1.4. For GNSS it is fixed in version 4.14 (released on June 15th 2023), for INS is fixed in 1.4.1 (released November 2023). + If `use_ros_axis_orientation` to `true` axis orientations are converted by the driver between NED (Septentrio: yaw = 0 is north, positive clockwise) and ENU (ROS: yaw = 0 is east, positive counterclockwise). There is no conversion when setting this parameter to `false` and the angles will be consistent with the web GUI in this case. :
``` # Example configuration Settings for the Rover Rx device: tcp://192.168.3.1:28784 serial: baudrate: 921600 hw_flow_control: "off" stream_device: tcp: ip_server: "" port: 0 udp: ip_server: "" port: 0 unicast_ip: "" configure_rx: true persist_configuration: false custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/./README.md)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.5.0 (2026-10-18)

  • New features
    • Add parameter to set INS motion constraint (firmware >= 1.5 required)
    • Configured settings may be persisted
    • Publishing NMEA messages as nmea_msgs/Sentence (thanks \@luukromeijn and \@ubicray)
  • Improvements
    • Rework IO components
    • ENU/NED data handling
    • Shutdown while waiting for response during setup
    • RTK setup logic
    • Auto publish logic
    • Update README
    • New firmware VSM handling
    • Rework VSM sample averaging
    • Add NMEA 4.10 compatibility
    • Checksum validation of NMEA sentences
    • Reconnecting now also works on a dynamic TCP connection since it triggers a reconfiguration
    • Add build farm status to README
  • Fixes
    • Populate GPRMC/GPGGA utc_seconds regardless of use_gnss_time (thanks \@vpe-ct2mc)
    • Memory safety
    • Static transform publishers in example launch files
    • Wrong units and ENU/NED ordering
    • INS data handling
    • Locale independence
    • NMEA parsers
    • Reconnect and IO threading
    • TCP reconnect and teardown
    • Serial reconnect
    • Device regex
    • VSM server logic and string malforming
  • Contributors: \@luukromeijn, \@ubicray, \@vpe-ct2mc, Claude, Thomas Emter, Tibor Dome, septentrio-users

1.4.8 (2026-08-01)

  • Fixes
    • Fix Aux1 antenna type in INS multi-antenna mode (thanks \@Mh-Magdy)
    • Fix rolling C++20 compatibility
    • Fix incorrect output topic names and message types in README (thanks \@vpe-ct2mc)
  • Contributors: Mohamed Magdy, \@vpe-ct2mc, Thomas Emter, Tibor Dome, septentrio-users

1.4.7 (2026-06-13)

  • Improvements
    • Add Lyrical Luth to supported ROS versions.
    • Update deprecated boost and ROS functions.
    • Add support for GLGSV (thanks \@peci1)
    • Fix spacing in README (thanks \@benmccann)
  • Contributors: Ben McCann, Martin Pecka, Thomas Emter, Tibor Dome, septentrio-users

1.4.6 (2025-12-20)

  • Fixes
    • Reset of settings on shutdown
    • GBAS status of NavSatFix
    • Missing conversions of do-not-use values of covariances to adhere ROS convention
  • Improvements
    • Change timestamp handling of NMEA messages.
    • Adapt firmware check to include mosaic G5.
    • Add ros_environment as a build dependency.

File truncated at 100 lines see the full file

Recent questions tagged septentrio_gnss_driver at Robotics Stack Exchange

Package symbol

septentrio_gnss_driver package from septentrio_gnss_driver repo

septentrio_gnss_driver

ROS Distro
jazzy

Package Summary

Version 1.5.0
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2026-10-18
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROSaic: C++ driver for Septentrio's GNSS and INS receivers

Additional Links

Maintainers

  • Tibor Dome
  • Thomas Emter
  • Septentrio

Authors

  • Tibor Dome
  • Thomas Emter

ROSaic = ROS + mosaic

Overview

This repository hosts drivers for ROS 1 (Melodic and Noetic) and ROS 2 (Foxy, Galactic, Humble, Iron, Jazzy, Kilted, Lyrical, Rolling, and beyond) - written in C++ - that work with mosaic and AsteRx - two of Septentrio’s cutting-edge GNSS and GNSS/INS receiver families - and beyond. Both ROS 1 and ROS 2 are supported within one repository.

Main Features:

  • Supports Septentrio’s single antenna GNSS, dual antenna GNSS and INS receivers
  • Supports serial, TCP, UDP and USB connections, the latter being compatible with both serial and TCP/IP (RNDIS) protocols
  • Supports several ASCII (including key NMEA ones) messages and SBF (Septentrio Binary Format) blocks
  • Reports status of AIM+ (Advanced Interference Mitigation including OSNMA) anti-jamming and anti-spoofing.
  • Can publish nav_msgs/Odometry message for INS receivers
  • Can blend SBF blocks PVTGeodetic, PosCovGeodetic, ChannelStatus, MeasEpoch, AttEuler, AttCovEuler, VelCovGeodetic and DOP in order to publish gps_common/GPSFix and sensor_msgs/NavSatFix messages
  • Supports optional axis convention conversion since Septentrio follows the NED convention, whereas ROS is ENU.
  • Easy configuration of multiple RTK corrections simultaneously (via NTRIP, TCP/IP stream, or serial)
  • Can play back PCAP capture logs for testing purposes
  • Tested with the mosaic G5, mosaic-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receivers
  • Easy to add support for more log types

Please let the maintainers know of your success or failure in using the driver with other devices so we can update this page appropriately. If you need help, reach out to Septentrio Support.

Build farm status:

Distro Dev Source Binary (amd64) Binary (arm64)
Humble Hdev Hsrc Hbin Hbin_arm64
Jazzy Jdev Jsrc Jbin Jbin_arm64
Kilted Kdev Ksrc Kbin Kbin_arm64
Lyrical Ldev Lsrc Lbin Lbin_arm64
Rolling Rdev Rsrc Rbin Rbin_arm64

Usage

Important notes

Notes Before Usage + The driver assumes that our anonymous access to the Rx grants us full control rights. This should be the case by default, and can otherwise be changed with the `setDefaultAccessLevel` command. If user control is in place user credentials can be given by parameters `login.user` and `login.password`. + Note for serial connection: Make sure the user is part of the `dialout` group to have full access to the serial ports. If not, add it for example with `sudo adduser [username] dialout`. + The usage of the dynamic IP server is not recommended for productive use, since it requires to be reconfigured after each connection loss. For TCP transport `stream_device.tcp` should be configured instead. For fastest recovery after connection loss, `stream_device.udp` is the best choice. + Note for setting hw_flow_control: This is a string parameter, setting it to off without quotes leads to the fact that it is not read in correctly. + Note for setting ant_(aux1)_serial_nr: This is a string parameter, numeric only serial numbers should be put in quotes. If this is not done a warning will be issued and the driver tries to parse it as integer. + Note for usage of NTRIP via USB with virtual ethernet (RNDIS): RNDIS provides a virtual network connection only between the receiver and the PC. First outgoing network access via USB has to be activated, which is explained [here](https://www.youtube.com/watch?v=bUt8cL9Ue1Y). Next setup internet sharing under Linux by setting the connection of the virtual network interface (the name should be something like enx1a3202991545) to "Shared to other computers". + Once the build or binary installation is finished, adapt the `config/rover.yaml` file according to your needs or assemble a new one, examples for GNSS specific parameters `config/gnss.yaml` and INS `config/ins.yaml` are also available. Specify the communication parameters, the ROS messages to be published, the frequency at which the latter should happen etc.
ROS 1: Launch the `launch/rover.launch` to use `rover.yaml` or add `param_file_name:=xxx` to use a custom config.
ROS 2: Launch as composition with `ros2 launch septentrio_gnss_driver rover.launch.py` to use `rover.yaml` or add `file_name:=xxx.yaml` to use a custom config. Alternatively launch as node with `ros2 launch septentrio_gnss_driver rover_node.launch.py` to use `rover_node.yaml` or add `file_name:=xxx.yaml` to use a custom config. Specify the communication parameters, the ROS messages to be published, the frequency at which the latter should happen etc. + Besides the aforementioned config file `rover.yaml` containing all parameters, specialized launch files for GNSS `config/gnss.yaml` and INS `config/ins.yaml` respectively contain only the relevant parameters in each case. - NOTE: Unless `configure_rx` is set to `false`, this driver will overwrite the previous values of the parameters, even if the value is left to zero in the "yaml" file. + The driver was developed and tested with firmware versions >= 4.14.0 for GNSS and >= 1.5.0 for INS. RB3 GNSS with firmware >= 2.0.0 has not been tested so fra, but should be supported. Receivers with older firmware versions are supported but some features may not be available. Known limitations are: * GNSS with firmware < 4.10.0 does not support IP over USB. * GNSS with firmware < 4.12.1 does not support OSNMA. * GNSS with firmware < 4.14 does not support PTP server clock. * INS with firmware <= 1.2.0 does not support velocity aiding. * INS with firmware <= 1.2.0 does not support setting of initial heading. * INS with firmware < 1.3.2 does not support NTP. * INS with firmware < 1.4 does not support OSNMA. * INS with firmware < 1.4.1 does not support improved VSM handling allowing for unknown variances. * INS with firmware < 1.5 does not support PTP server clock. * INS with firmware < 1.5 does not support to set vehicle application. * Mosaic G5 with firmware < 1.0.1 is not supported. + Known issues: * UDP over USB: Blocks are sent twice on GNSS with firmware <= 4.12.1 and INS with firmware <= 1.4. For GNSS it is fixed in version 4.14 (released on June 15th 2023), for INS is fixed in 1.4.1 (released November 2023). + If `use_ros_axis_orientation` to `true` axis orientations are converted by the driver between NED (Septentrio: yaw = 0 is north, positive clockwise) and ENU (ROS: yaw = 0 is east, positive counterclockwise). There is no conversion when setting this parameter to `false` and the angles will be consistent with the web GUI in this case. :
``` # Example configuration Settings for the Rover Rx device: tcp://192.168.3.1:28784 serial: baudrate: 921600 hw_flow_control: "off" stream_device: tcp: ip_server: "" port: 0 udp: ip_server: "" port: 0 unicast_ip: "" configure_rx: true persist_configuration: false custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/./README.md)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.5.0 (2026-10-18)

  • New features
    • Add parameter to set INS motion constraint (firmware >= 1.5 required)
    • Configured settings may be persisted
    • Publishing NMEA messages as nmea_msgs/Sentence (thanks \@luukromeijn and \@ubicray)
  • Improvements
    • Rework IO components
    • ENU/NED data handling
    • Shutdown while waiting for response during setup
    • RTK setup logic
    • Auto publish logic
    • Update README
    • New firmware VSM handling
    • Rework VSM sample averaging
    • Add NMEA 4.10 compatibility
    • Checksum validation of NMEA sentences
    • Reconnecting now also works on a dynamic TCP connection since it triggers a reconfiguration
    • Add build farm status to README
  • Fixes
    • Populate GPRMC/GPGGA utc_seconds regardless of use_gnss_time (thanks \@vpe-ct2mc)
    • Memory safety
    • Static transform publishers in example launch files
    • Wrong units and ENU/NED ordering
    • INS data handling
    • Locale independence
    • NMEA parsers
    • Reconnect and IO threading
    • TCP reconnect and teardown
    • Serial reconnect
    • Device regex
    • VSM server logic and string malforming
  • Contributors: \@luukromeijn, \@ubicray, \@vpe-ct2mc, Claude, Thomas Emter, Tibor Dome, septentrio-users

1.4.8 (2026-08-01)

  • Fixes
    • Fix Aux1 antenna type in INS multi-antenna mode (thanks \@Mh-Magdy)
    • Fix rolling C++20 compatibility
    • Fix incorrect output topic names and message types in README (thanks \@vpe-ct2mc)
  • Contributors: Mohamed Magdy, \@vpe-ct2mc, Thomas Emter, Tibor Dome, septentrio-users

1.4.7 (2026-06-13)

  • Improvements
    • Add Lyrical Luth to supported ROS versions.
    • Update deprecated boost and ROS functions.
    • Add support for GLGSV (thanks \@peci1)
    • Fix spacing in README (thanks \@benmccann)
  • Contributors: Ben McCann, Martin Pecka, Thomas Emter, Tibor Dome, septentrio-users

1.4.6 (2025-12-20)

  • Fixes
    • Reset of settings on shutdown
    • GBAS status of NavSatFix
    • Missing conversions of do-not-use values of covariances to adhere ROS convention
  • Improvements
    • Change timestamp handling of NMEA messages.
    • Adapt firmware check to include mosaic G5.
    • Add ros_environment as a build dependency.

File truncated at 100 lines see the full file

Recent questions tagged septentrio_gnss_driver at Robotics Stack Exchange

Package symbol

septentrio_gnss_driver package from septentrio_gnss_driver repo

septentrio_gnss_driver

ROS Distro
kilted

Package Summary

Version 1.5.0
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2026-10-18
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROSaic: C++ driver for Septentrio's GNSS and INS receivers

Additional Links

Maintainers

  • Tibor Dome
  • Thomas Emter
  • Septentrio

Authors

  • Tibor Dome
  • Thomas Emter

ROSaic = ROS + mosaic

Overview

This repository hosts drivers for ROS 1 (Melodic and Noetic) and ROS 2 (Foxy, Galactic, Humble, Iron, Jazzy, Kilted, Lyrical, Rolling, and beyond) - written in C++ - that work with mosaic and AsteRx - two of Septentrio’s cutting-edge GNSS and GNSS/INS receiver families - and beyond. Both ROS 1 and ROS 2 are supported within one repository.

Main Features:

  • Supports Septentrio’s single antenna GNSS, dual antenna GNSS and INS receivers
  • Supports serial, TCP, UDP and USB connections, the latter being compatible with both serial and TCP/IP (RNDIS) protocols
  • Supports several ASCII (including key NMEA ones) messages and SBF (Septentrio Binary Format) blocks
  • Reports status of AIM+ (Advanced Interference Mitigation including OSNMA) anti-jamming and anti-spoofing.
  • Can publish nav_msgs/Odometry message for INS receivers
  • Can blend SBF blocks PVTGeodetic, PosCovGeodetic, ChannelStatus, MeasEpoch, AttEuler, AttCovEuler, VelCovGeodetic and DOP in order to publish gps_common/GPSFix and sensor_msgs/NavSatFix messages
  • Supports optional axis convention conversion since Septentrio follows the NED convention, whereas ROS is ENU.
  • Easy configuration of multiple RTK corrections simultaneously (via NTRIP, TCP/IP stream, or serial)
  • Can play back PCAP capture logs for testing purposes
  • Tested with the mosaic G5, mosaic-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receivers
  • Easy to add support for more log types

Please let the maintainers know of your success or failure in using the driver with other devices so we can update this page appropriately. If you need help, reach out to Septentrio Support.

Build farm status:

Distro Dev Source Binary (amd64) Binary (arm64)
Humble Hdev Hsrc Hbin Hbin_arm64
Jazzy Jdev Jsrc Jbin Jbin_arm64
Kilted Kdev Ksrc Kbin Kbin_arm64
Lyrical Ldev Lsrc Lbin Lbin_arm64
Rolling Rdev Rsrc Rbin Rbin_arm64

Usage

Important notes

Notes Before Usage + The driver assumes that our anonymous access to the Rx grants us full control rights. This should be the case by default, and can otherwise be changed with the `setDefaultAccessLevel` command. If user control is in place user credentials can be given by parameters `login.user` and `login.password`. + Note for serial connection: Make sure the user is part of the `dialout` group to have full access to the serial ports. If not, add it for example with `sudo adduser [username] dialout`. + The usage of the dynamic IP server is not recommended for productive use, since it requires to be reconfigured after each connection loss. For TCP transport `stream_device.tcp` should be configured instead. For fastest recovery after connection loss, `stream_device.udp` is the best choice. + Note for setting hw_flow_control: This is a string parameter, setting it to off without quotes leads to the fact that it is not read in correctly. + Note for setting ant_(aux1)_serial_nr: This is a string parameter, numeric only serial numbers should be put in quotes. If this is not done a warning will be issued and the driver tries to parse it as integer. + Note for usage of NTRIP via USB with virtual ethernet (RNDIS): RNDIS provides a virtual network connection only between the receiver and the PC. First outgoing network access via USB has to be activated, which is explained [here](https://www.youtube.com/watch?v=bUt8cL9Ue1Y). Next setup internet sharing under Linux by setting the connection of the virtual network interface (the name should be something like enx1a3202991545) to "Shared to other computers". + Once the build or binary installation is finished, adapt the `config/rover.yaml` file according to your needs or assemble a new one, examples for GNSS specific parameters `config/gnss.yaml` and INS `config/ins.yaml` are also available. Specify the communication parameters, the ROS messages to be published, the frequency at which the latter should happen etc.
ROS 1: Launch the `launch/rover.launch` to use `rover.yaml` or add `param_file_name:=xxx` to use a custom config.
ROS 2: Launch as composition with `ros2 launch septentrio_gnss_driver rover.launch.py` to use `rover.yaml` or add `file_name:=xxx.yaml` to use a custom config. Alternatively launch as node with `ros2 launch septentrio_gnss_driver rover_node.launch.py` to use `rover_node.yaml` or add `file_name:=xxx.yaml` to use a custom config. Specify the communication parameters, the ROS messages to be published, the frequency at which the latter should happen etc. + Besides the aforementioned config file `rover.yaml` containing all parameters, specialized launch files for GNSS `config/gnss.yaml` and INS `config/ins.yaml` respectively contain only the relevant parameters in each case. - NOTE: Unless `configure_rx` is set to `false`, this driver will overwrite the previous values of the parameters, even if the value is left to zero in the "yaml" file. + The driver was developed and tested with firmware versions >= 4.14.0 for GNSS and >= 1.5.0 for INS. RB3 GNSS with firmware >= 2.0.0 has not been tested so fra, but should be supported. Receivers with older firmware versions are supported but some features may not be available. Known limitations are: * GNSS with firmware < 4.10.0 does not support IP over USB. * GNSS with firmware < 4.12.1 does not support OSNMA. * GNSS with firmware < 4.14 does not support PTP server clock. * INS with firmware <= 1.2.0 does not support velocity aiding. * INS with firmware <= 1.2.0 does not support setting of initial heading. * INS with firmware < 1.3.2 does not support NTP. * INS with firmware < 1.4 does not support OSNMA. * INS with firmware < 1.4.1 does not support improved VSM handling allowing for unknown variances. * INS with firmware < 1.5 does not support PTP server clock. * INS with firmware < 1.5 does not support to set vehicle application. * Mosaic G5 with firmware < 1.0.1 is not supported. + Known issues: * UDP over USB: Blocks are sent twice on GNSS with firmware <= 4.12.1 and INS with firmware <= 1.4. For GNSS it is fixed in version 4.14 (released on June 15th 2023), for INS is fixed in 1.4.1 (released November 2023). + If `use_ros_axis_orientation` to `true` axis orientations are converted by the driver between NED (Septentrio: yaw = 0 is north, positive clockwise) and ENU (ROS: yaw = 0 is east, positive counterclockwise). There is no conversion when setting this parameter to `false` and the angles will be consistent with the web GUI in this case. :
``` # Example configuration Settings for the Rover Rx device: tcp://192.168.3.1:28784 serial: baudrate: 921600 hw_flow_control: "off" stream_device: tcp: ip_server: "" port: 0 udp: ip_server: "" port: 0 unicast_ip: "" configure_rx: true persist_configuration: false custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/./README.md)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.5.0 (2026-10-18)

  • New features
    • Add parameter to set INS motion constraint (firmware >= 1.5 required)
    • Configured settings may be persisted
    • Publishing NMEA messages as nmea_msgs/Sentence (thanks \@luukromeijn and \@ubicray)
  • Improvements
    • Rework IO components
    • ENU/NED data handling
    • Shutdown while waiting for response during setup
    • RTK setup logic
    • Auto publish logic
    • Update README
    • New firmware VSM handling
    • Rework VSM sample averaging
    • Add NMEA 4.10 compatibility
    • Checksum validation of NMEA sentences
    • Reconnecting now also works on a dynamic TCP connection since it triggers a reconfiguration
    • Add build farm status to README
  • Fixes
    • Populate GPRMC/GPGGA utc_seconds regardless of use_gnss_time (thanks \@vpe-ct2mc)
    • Memory safety
    • Static transform publishers in example launch files
    • Wrong units and ENU/NED ordering
    • INS data handling
    • Locale independence
    • NMEA parsers
    • Reconnect and IO threading
    • TCP reconnect and teardown
    • Serial reconnect
    • Device regex
    • VSM server logic and string malforming
  • Contributors: \@luukromeijn, \@ubicray, \@vpe-ct2mc, Claude, Thomas Emter, Tibor Dome, septentrio-users

1.4.8 (2026-08-01)

  • Fixes
    • Fix Aux1 antenna type in INS multi-antenna mode (thanks \@Mh-Magdy)
    • Fix rolling C++20 compatibility
    • Fix incorrect output topic names and message types in README (thanks \@vpe-ct2mc)
  • Contributors: Mohamed Magdy, \@vpe-ct2mc, Thomas Emter, Tibor Dome, septentrio-users

1.4.7 (2026-06-13)

  • Improvements
    • Add Lyrical Luth to supported ROS versions.
    • Update deprecated boost and ROS functions.
    • Add support for GLGSV (thanks \@peci1)
    • Fix spacing in README (thanks \@benmccann)
  • Contributors: Ben McCann, Martin Pecka, Thomas Emter, Tibor Dome, septentrio-users

1.4.6 (2025-12-20)

  • Fixes
    • Reset of settings on shutdown
    • GBAS status of NavSatFix
    • Missing conversions of do-not-use values of covariances to adhere ROS convention
  • Improvements
    • Change timestamp handling of NMEA messages.
    • Adapt firmware check to include mosaic G5.
    • Add ros_environment as a build dependency.

File truncated at 100 lines see the full file

Recent questions tagged septentrio_gnss_driver at Robotics Stack Exchange

Package symbol

septentrio_gnss_driver package from septentrio_gnss_driver repo

septentrio_gnss_driver

ROS Distro
lyrical

Package Summary

Version 1.5.0
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2026-10-18
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROSaic: C++ driver for Septentrio's GNSS and INS receivers

Additional Links

Maintainers

  • Tibor Dome
  • Thomas Emter
  • Septentrio

Authors

  • Tibor Dome
  • Thomas Emter

ROSaic = ROS + mosaic

Overview

This repository hosts drivers for ROS 1 (Melodic and Noetic) and ROS 2 (Foxy, Galactic, Humble, Iron, Jazzy, Kilted, Lyrical, Rolling, and beyond) - written in C++ - that work with mosaic and AsteRx - two of Septentrio’s cutting-edge GNSS and GNSS/INS receiver families - and beyond. Both ROS 1 and ROS 2 are supported within one repository.

Main Features:

  • Supports Septentrio’s single antenna GNSS, dual antenna GNSS and INS receivers
  • Supports serial, TCP, UDP and USB connections, the latter being compatible with both serial and TCP/IP (RNDIS) protocols
  • Supports several ASCII (including key NMEA ones) messages and SBF (Septentrio Binary Format) blocks
  • Reports status of AIM+ (Advanced Interference Mitigation including OSNMA) anti-jamming and anti-spoofing.
  • Can publish nav_msgs/Odometry message for INS receivers
  • Can blend SBF blocks PVTGeodetic, PosCovGeodetic, ChannelStatus, MeasEpoch, AttEuler, AttCovEuler, VelCovGeodetic and DOP in order to publish gps_common/GPSFix and sensor_msgs/NavSatFix messages
  • Supports optional axis convention conversion since Septentrio follows the NED convention, whereas ROS is ENU.
  • Easy configuration of multiple RTK corrections simultaneously (via NTRIP, TCP/IP stream, or serial)
  • Can play back PCAP capture logs for testing purposes
  • Tested with the mosaic G5, mosaic-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receivers
  • Easy to add support for more log types

Please let the maintainers know of your success or failure in using the driver with other devices so we can update this page appropriately. If you need help, reach out to Septentrio Support.

Build farm status:

Distro Dev Source Binary (amd64) Binary (arm64)
Humble Hdev Hsrc Hbin Hbin_arm64
Jazzy Jdev Jsrc Jbin Jbin_arm64
Kilted Kdev Ksrc Kbin Kbin_arm64
Lyrical Ldev Lsrc Lbin Lbin_arm64
Rolling Rdev Rsrc Rbin Rbin_arm64

Usage

Important notes

Notes Before Usage + The driver assumes that our anonymous access to the Rx grants us full control rights. This should be the case by default, and can otherwise be changed with the `setDefaultAccessLevel` command. If user control is in place user credentials can be given by parameters `login.user` and `login.password`. + Note for serial connection: Make sure the user is part of the `dialout` group to have full access to the serial ports. If not, add it for example with `sudo adduser [username] dialout`. + The usage of the dynamic IP server is not recommended for productive use, since it requires to be reconfigured after each connection loss. For TCP transport `stream_device.tcp` should be configured instead. For fastest recovery after connection loss, `stream_device.udp` is the best choice. + Note for setting hw_flow_control: This is a string parameter, setting it to off without quotes leads to the fact that it is not read in correctly. + Note for setting ant_(aux1)_serial_nr: This is a string parameter, numeric only serial numbers should be put in quotes. If this is not done a warning will be issued and the driver tries to parse it as integer. + Note for usage of NTRIP via USB with virtual ethernet (RNDIS): RNDIS provides a virtual network connection only between the receiver and the PC. First outgoing network access via USB has to be activated, which is explained [here](https://www.youtube.com/watch?v=bUt8cL9Ue1Y). Next setup internet sharing under Linux by setting the connection of the virtual network interface (the name should be something like enx1a3202991545) to "Shared to other computers". + Once the build or binary installation is finished, adapt the `config/rover.yaml` file according to your needs or assemble a new one, examples for GNSS specific parameters `config/gnss.yaml` and INS `config/ins.yaml` are also available. Specify the communication parameters, the ROS messages to be published, the frequency at which the latter should happen etc.
ROS 1: Launch the `launch/rover.launch` to use `rover.yaml` or add `param_file_name:=xxx` to use a custom config.
ROS 2: Launch as composition with `ros2 launch septentrio_gnss_driver rover.launch.py` to use `rover.yaml` or add `file_name:=xxx.yaml` to use a custom config. Alternatively launch as node with `ros2 launch septentrio_gnss_driver rover_node.launch.py` to use `rover_node.yaml` or add `file_name:=xxx.yaml` to use a custom config. Specify the communication parameters, the ROS messages to be published, the frequency at which the latter should happen etc. + Besides the aforementioned config file `rover.yaml` containing all parameters, specialized launch files for GNSS `config/gnss.yaml` and INS `config/ins.yaml` respectively contain only the relevant parameters in each case. - NOTE: Unless `configure_rx` is set to `false`, this driver will overwrite the previous values of the parameters, even if the value is left to zero in the "yaml" file. + The driver was developed and tested with firmware versions >= 4.14.0 for GNSS and >= 1.5.0 for INS. RB3 GNSS with firmware >= 2.0.0 has not been tested so fra, but should be supported. Receivers with older firmware versions are supported but some features may not be available. Known limitations are: * GNSS with firmware < 4.10.0 does not support IP over USB. * GNSS with firmware < 4.12.1 does not support OSNMA. * GNSS with firmware < 4.14 does not support PTP server clock. * INS with firmware <= 1.2.0 does not support velocity aiding. * INS with firmware <= 1.2.0 does not support setting of initial heading. * INS with firmware < 1.3.2 does not support NTP. * INS with firmware < 1.4 does not support OSNMA. * INS with firmware < 1.4.1 does not support improved VSM handling allowing for unknown variances. * INS with firmware < 1.5 does not support PTP server clock. * INS with firmware < 1.5 does not support to set vehicle application. * Mosaic G5 with firmware < 1.0.1 is not supported. + Known issues: * UDP over USB: Blocks are sent twice on GNSS with firmware <= 4.12.1 and INS with firmware <= 1.4. For GNSS it is fixed in version 4.14 (released on June 15th 2023), for INS is fixed in 1.4.1 (released November 2023). + If `use_ros_axis_orientation` to `true` axis orientations are converted by the driver between NED (Septentrio: yaw = 0 is north, positive clockwise) and ENU (ROS: yaw = 0 is east, positive counterclockwise). There is no conversion when setting this parameter to `false` and the angles will be consistent with the web GUI in this case. :
``` # Example configuration Settings for the Rover Rx device: tcp://192.168.3.1:28784 serial: baudrate: 921600 hw_flow_control: "off" stream_device: tcp: ip_server: "" port: 0 udp: ip_server: "" port: 0 unicast_ip: "" configure_rx: true persist_configuration: false custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/./README.md)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.5.0 (2026-10-18)

  • New features
    • Add parameter to set INS motion constraint (firmware >= 1.5 required)
    • Configured settings may be persisted
    • Publishing NMEA messages as nmea_msgs/Sentence (thanks \@luukromeijn and \@ubicray)
  • Improvements
    • Rework IO components
    • ENU/NED data handling
    • Shutdown while waiting for response during setup
    • RTK setup logic
    • Auto publish logic
    • Update README
    • New firmware VSM handling
    • Rework VSM sample averaging
    • Add NMEA 4.10 compatibility
    • Checksum validation of NMEA sentences
    • Reconnecting now also works on a dynamic TCP connection since it triggers a reconfiguration
    • Add build farm status to README
  • Fixes
    • Populate GPRMC/GPGGA utc_seconds regardless of use_gnss_time (thanks \@vpe-ct2mc)
    • Memory safety
    • Static transform publishers in example launch files
    • Wrong units and ENU/NED ordering
    • INS data handling
    • Locale independence
    • NMEA parsers
    • Reconnect and IO threading
    • TCP reconnect and teardown
    • Serial reconnect
    • Device regex
    • VSM server logic and string malforming
  • Contributors: \@luukromeijn, \@ubicray, \@vpe-ct2mc, Claude, Thomas Emter, Tibor Dome, septentrio-users

1.4.8 (2026-08-01)

  • Fixes
    • Fix Aux1 antenna type in INS multi-antenna mode (thanks \@Mh-Magdy)
    • Fix rolling C++20 compatibility
    • Fix incorrect output topic names and message types in README (thanks \@vpe-ct2mc)
  • Contributors: Mohamed Magdy, \@vpe-ct2mc, Thomas Emter, Tibor Dome, septentrio-users

1.4.7 (2026-06-13)

  • Improvements
    • Add Lyrical Luth to supported ROS versions.
    • Update deprecated boost and ROS functions.
    • Add support for GLGSV (thanks \@peci1)
    • Fix spacing in README (thanks \@benmccann)
  • Contributors: Ben McCann, Martin Pecka, Thomas Emter, Tibor Dome, septentrio-users

1.4.6 (2025-12-20)

  • Fixes
    • Reset of settings on shutdown
    • GBAS status of NavSatFix
    • Missing conversions of do-not-use values of covariances to adhere ROS convention
  • Improvements
    • Change timestamp handling of NMEA messages.
    • Adapt firmware check to include mosaic G5.
    • Add ros_environment as a build dependency.

File truncated at 100 lines see the full file

Recent questions tagged septentrio_gnss_driver at Robotics Stack Exchange

Package symbol

septentrio_gnss_driver package from septentrio_gnss_driver repo

septentrio_gnss_driver

ROS Distro
rolling

Package Summary

Version 1.5.0
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2026-10-18
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROSaic: C++ driver for Septentrio's GNSS and INS receivers

Additional Links

Maintainers

  • Tibor Dome
  • Thomas Emter
  • Septentrio

Authors

  • Tibor Dome
  • Thomas Emter

ROSaic = ROS + mosaic

Overview

This repository hosts drivers for ROS 1 (Melodic and Noetic) and ROS 2 (Foxy, Galactic, Humble, Iron, Jazzy, Kilted, Lyrical, Rolling, and beyond) - written in C++ - that work with mosaic and AsteRx - two of Septentrio’s cutting-edge GNSS and GNSS/INS receiver families - and beyond. Both ROS 1 and ROS 2 are supported within one repository.

Main Features:

  • Supports Septentrio’s single antenna GNSS, dual antenna GNSS and INS receivers
  • Supports serial, TCP, UDP and USB connections, the latter being compatible with both serial and TCP/IP (RNDIS) protocols
  • Supports several ASCII (including key NMEA ones) messages and SBF (Septentrio Binary Format) blocks
  • Reports status of AIM+ (Advanced Interference Mitigation including OSNMA) anti-jamming and anti-spoofing.
  • Can publish nav_msgs/Odometry message for INS receivers
  • Can blend SBF blocks PVTGeodetic, PosCovGeodetic, ChannelStatus, MeasEpoch, AttEuler, AttCovEuler, VelCovGeodetic and DOP in order to publish gps_common/GPSFix and sensor_msgs/NavSatFix messages
  • Supports optional axis convention conversion since Septentrio follows the NED convention, whereas ROS is ENU.
  • Easy configuration of multiple RTK corrections simultaneously (via NTRIP, TCP/IP stream, or serial)
  • Can play back PCAP capture logs for testing purposes
  • Tested with the mosaic G5, mosaic-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receivers
  • Easy to add support for more log types

Please let the maintainers know of your success or failure in using the driver with other devices so we can update this page appropriately. If you need help, reach out to Septentrio Support.

Build farm status:

Distro Dev Source Binary (amd64) Binary (arm64)
Humble Hdev Hsrc Hbin Hbin_arm64
Jazzy Jdev Jsrc Jbin Jbin_arm64
Kilted Kdev Ksrc Kbin Kbin_arm64
Lyrical Ldev Lsrc Lbin Lbin_arm64
Rolling Rdev Rsrc Rbin Rbin_arm64

Usage

Important notes

Notes Before Usage + The driver assumes that our anonymous access to the Rx grants us full control rights. This should be the case by default, and can otherwise be changed with the `setDefaultAccessLevel` command. If user control is in place user credentials can be given by parameters `login.user` and `login.password`. + Note for serial connection: Make sure the user is part of the `dialout` group to have full access to the serial ports. If not, add it for example with `sudo adduser [username] dialout`. + The usage of the dynamic IP server is not recommended for productive use, since it requires to be reconfigured after each connection loss. For TCP transport `stream_device.tcp` should be configured instead. For fastest recovery after connection loss, `stream_device.udp` is the best choice. + Note for setting hw_flow_control: This is a string parameter, setting it to off without quotes leads to the fact that it is not read in correctly. + Note for setting ant_(aux1)_serial_nr: This is a string parameter, numeric only serial numbers should be put in quotes. If this is not done a warning will be issued and the driver tries to parse it as integer. + Note for usage of NTRIP via USB with virtual ethernet (RNDIS): RNDIS provides a virtual network connection only between the receiver and the PC. First outgoing network access via USB has to be activated, which is explained [here](https://www.youtube.com/watch?v=bUt8cL9Ue1Y). Next setup internet sharing under Linux by setting the connection of the virtual network interface (the name should be something like enx1a3202991545) to "Shared to other computers". + Once the build or binary installation is finished, adapt the `config/rover.yaml` file according to your needs or assemble a new one, examples for GNSS specific parameters `config/gnss.yaml` and INS `config/ins.yaml` are also available. Specify the communication parameters, the ROS messages to be published, the frequency at which the latter should happen etc.
ROS 1: Launch the `launch/rover.launch` to use `rover.yaml` or add `param_file_name:=xxx` to use a custom config.
ROS 2: Launch as composition with `ros2 launch septentrio_gnss_driver rover.launch.py` to use `rover.yaml` or add `file_name:=xxx.yaml` to use a custom config. Alternatively launch as node with `ros2 launch septentrio_gnss_driver rover_node.launch.py` to use `rover_node.yaml` or add `file_name:=xxx.yaml` to use a custom config. Specify the communication parameters, the ROS messages to be published, the frequency at which the latter should happen etc. + Besides the aforementioned config file `rover.yaml` containing all parameters, specialized launch files for GNSS `config/gnss.yaml` and INS `config/ins.yaml` respectively contain only the relevant parameters in each case. - NOTE: Unless `configure_rx` is set to `false`, this driver will overwrite the previous values of the parameters, even if the value is left to zero in the "yaml" file. + The driver was developed and tested with firmware versions >= 4.14.0 for GNSS and >= 1.5.0 for INS. RB3 GNSS with firmware >= 2.0.0 has not been tested so fra, but should be supported. Receivers with older firmware versions are supported but some features may not be available. Known limitations are: * GNSS with firmware < 4.10.0 does not support IP over USB. * GNSS with firmware < 4.12.1 does not support OSNMA. * GNSS with firmware < 4.14 does not support PTP server clock. * INS with firmware <= 1.2.0 does not support velocity aiding. * INS with firmware <= 1.2.0 does not support setting of initial heading. * INS with firmware < 1.3.2 does not support NTP. * INS with firmware < 1.4 does not support OSNMA. * INS with firmware < 1.4.1 does not support improved VSM handling allowing for unknown variances. * INS with firmware < 1.5 does not support PTP server clock. * INS with firmware < 1.5 does not support to set vehicle application. * Mosaic G5 with firmware < 1.0.1 is not supported. + Known issues: * UDP over USB: Blocks are sent twice on GNSS with firmware <= 4.12.1 and INS with firmware <= 1.4. For GNSS it is fixed in version 4.14 (released on June 15th 2023), for INS is fixed in 1.4.1 (released November 2023). + If `use_ros_axis_orientation` to `true` axis orientations are converted by the driver between NED (Septentrio: yaw = 0 is north, positive clockwise) and ENU (ROS: yaw = 0 is east, positive counterclockwise). There is no conversion when setting this parameter to `false` and the angles will be consistent with the web GUI in this case. :
``` # Example configuration Settings for the Rover Rx device: tcp://192.168.3.1:28784 serial: baudrate: 921600 hw_flow_control: "off" stream_device: tcp: ip_server: "" port: 0 udp: ip_server: "" port: 0 unicast_ip: "" configure_rx: true persist_configuration: false custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/./README.md)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.5.0 (2026-10-18)

  • New features
    • Add parameter to set INS motion constraint (firmware >= 1.5 required)
    • Configured settings may be persisted
    • Publishing NMEA messages as nmea_msgs/Sentence (thanks \@luukromeijn and \@ubicray)
  • Improvements
    • Rework IO components
    • ENU/NED data handling
    • Shutdown while waiting for response during setup
    • RTK setup logic
    • Auto publish logic
    • Update README
    • New firmware VSM handling
    • Rework VSM sample averaging
    • Add NMEA 4.10 compatibility
    • Checksum validation of NMEA sentences
    • Reconnecting now also works on a dynamic TCP connection since it triggers a reconfiguration
    • Add build farm status to README
  • Fixes
    • Populate GPRMC/GPGGA utc_seconds regardless of use_gnss_time (thanks \@vpe-ct2mc)
    • Memory safety
    • Static transform publishers in example launch files
    • Wrong units and ENU/NED ordering
    • INS data handling
    • Locale independence
    • NMEA parsers
    • Reconnect and IO threading
    • TCP reconnect and teardown
    • Serial reconnect
    • Device regex
    • VSM server logic and string malforming
  • Contributors: \@luukromeijn, \@ubicray, \@vpe-ct2mc, Claude, Thomas Emter, Tibor Dome, septentrio-users

1.4.8 (2026-08-01)

  • Fixes
    • Fix Aux1 antenna type in INS multi-antenna mode (thanks \@Mh-Magdy)
    • Fix rolling C++20 compatibility
    • Fix incorrect output topic names and message types in README (thanks \@vpe-ct2mc)
  • Contributors: Mohamed Magdy, \@vpe-ct2mc, Thomas Emter, Tibor Dome, septentrio-users

1.4.7 (2026-06-13)

  • Improvements
    • Add Lyrical Luth to supported ROS versions.
    • Update deprecated boost and ROS functions.
    • Add support for GLGSV (thanks \@peci1)
    • Fix spacing in README (thanks \@benmccann)
  • Contributors: Ben McCann, Martin Pecka, Thomas Emter, Tibor Dome, septentrio-users

1.4.6 (2025-12-20)

  • Fixes
    • Reset of settings on shutdown
    • GBAS status of NavSatFix
    • Missing conversions of do-not-use values of covariances to adhere ROS convention
  • Improvements
    • Change timestamp handling of NMEA messages.
    • Adapt firmware check to include mosaic G5.
    • Add ros_environment as a build dependency.

File truncated at 100 lines see the full file

Recent questions tagged septentrio_gnss_driver at Robotics Stack Exchange

No version for distro github showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

septentrio_gnss_driver package from septentrio_gnss_driver repo

septentrio_gnss_driver

ROS Distro
humble

Package Summary

Version 1.5.0
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2026-10-18
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROSaic: C++ driver for Septentrio's GNSS and INS receivers

Additional Links

Maintainers

  • Tibor Dome
  • Thomas Emter
  • Septentrio

Authors

  • Tibor Dome
  • Thomas Emter

ROSaic = ROS + mosaic

Overview

This repository hosts drivers for ROS 1 (Melodic and Noetic) and ROS 2 (Foxy, Galactic, Humble, Iron, Jazzy, Kilted, Lyrical, Rolling, and beyond) - written in C++ - that work with mosaic and AsteRx - two of Septentrio’s cutting-edge GNSS and GNSS/INS receiver families - and beyond. Both ROS 1 and ROS 2 are supported within one repository.

Main Features:

  • Supports Septentrio’s single antenna GNSS, dual antenna GNSS and INS receivers
  • Supports serial, TCP, UDP and USB connections, the latter being compatible with both serial and TCP/IP (RNDIS) protocols
  • Supports several ASCII (including key NMEA ones) messages and SBF (Septentrio Binary Format) blocks
  • Reports status of AIM+ (Advanced Interference Mitigation including OSNMA) anti-jamming and anti-spoofing.
  • Can publish nav_msgs/Odometry message for INS receivers
  • Can blend SBF blocks PVTGeodetic, PosCovGeodetic, ChannelStatus, MeasEpoch, AttEuler, AttCovEuler, VelCovGeodetic and DOP in order to publish gps_common/GPSFix and sensor_msgs/NavSatFix messages
  • Supports optional axis convention conversion since Septentrio follows the NED convention, whereas ROS is ENU.
  • Easy configuration of multiple RTK corrections simultaneously (via NTRIP, TCP/IP stream, or serial)
  • Can play back PCAP capture logs for testing purposes
  • Tested with the mosaic G5, mosaic-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receivers
  • Easy to add support for more log types

Please let the maintainers know of your success or failure in using the driver with other devices so we can update this page appropriately. If you need help, reach out to Septentrio Support.

Build farm status:

Distro Dev Source Binary (amd64) Binary (arm64)
Humble Hdev Hsrc Hbin Hbin_arm64
Jazzy Jdev Jsrc Jbin Jbin_arm64
Kilted Kdev Ksrc Kbin Kbin_arm64
Lyrical Ldev Lsrc Lbin Lbin_arm64
Rolling Rdev Rsrc Rbin Rbin_arm64

Usage

Important notes

Notes Before Usage + The driver assumes that our anonymous access to the Rx grants us full control rights. This should be the case by default, and can otherwise be changed with the `setDefaultAccessLevel` command. If user control is in place user credentials can be given by parameters `login.user` and `login.password`. + Note for serial connection: Make sure the user is part of the `dialout` group to have full access to the serial ports. If not, add it for example with `sudo adduser [username] dialout`. + The usage of the dynamic IP server is not recommended for productive use, since it requires to be reconfigured after each connection loss. For TCP transport `stream_device.tcp` should be configured instead. For fastest recovery after connection loss, `stream_device.udp` is the best choice. + Note for setting hw_flow_control: This is a string parameter, setting it to off without quotes leads to the fact that it is not read in correctly. + Note for setting ant_(aux1)_serial_nr: This is a string parameter, numeric only serial numbers should be put in quotes. If this is not done a warning will be issued and the driver tries to parse it as integer. + Note for usage of NTRIP via USB with virtual ethernet (RNDIS): RNDIS provides a virtual network connection only between the receiver and the PC. First outgoing network access via USB has to be activated, which is explained [here](https://www.youtube.com/watch?v=bUt8cL9Ue1Y). Next setup internet sharing under Linux by setting the connection of the virtual network interface (the name should be something like enx1a3202991545) to "Shared to other computers". + Once the build or binary installation is finished, adapt the `config/rover.yaml` file according to your needs or assemble a new one, examples for GNSS specific parameters `config/gnss.yaml` and INS `config/ins.yaml` are also available. Specify the communication parameters, the ROS messages to be published, the frequency at which the latter should happen etc.
ROS 1: Launch the `launch/rover.launch` to use `rover.yaml` or add `param_file_name:=xxx` to use a custom config.
ROS 2: Launch as composition with `ros2 launch septentrio_gnss_driver rover.launch.py` to use `rover.yaml` or add `file_name:=xxx.yaml` to use a custom config. Alternatively launch as node with `ros2 launch septentrio_gnss_driver rover_node.launch.py` to use `rover_node.yaml` or add `file_name:=xxx.yaml` to use a custom config. Specify the communication parameters, the ROS messages to be published, the frequency at which the latter should happen etc. + Besides the aforementioned config file `rover.yaml` containing all parameters, specialized launch files for GNSS `config/gnss.yaml` and INS `config/ins.yaml` respectively contain only the relevant parameters in each case. - NOTE: Unless `configure_rx` is set to `false`, this driver will overwrite the previous values of the parameters, even if the value is left to zero in the "yaml" file. + The driver was developed and tested with firmware versions >= 4.14.0 for GNSS and >= 1.5.0 for INS. RB3 GNSS with firmware >= 2.0.0 has not been tested so fra, but should be supported. Receivers with older firmware versions are supported but some features may not be available. Known limitations are: * GNSS with firmware < 4.10.0 does not support IP over USB. * GNSS with firmware < 4.12.1 does not support OSNMA. * GNSS with firmware < 4.14 does not support PTP server clock. * INS with firmware <= 1.2.0 does not support velocity aiding. * INS with firmware <= 1.2.0 does not support setting of initial heading. * INS with firmware < 1.3.2 does not support NTP. * INS with firmware < 1.4 does not support OSNMA. * INS with firmware < 1.4.1 does not support improved VSM handling allowing for unknown variances. * INS with firmware < 1.5 does not support PTP server clock. * INS with firmware < 1.5 does not support to set vehicle application. * Mosaic G5 with firmware < 1.0.1 is not supported. + Known issues: * UDP over USB: Blocks are sent twice on GNSS with firmware <= 4.12.1 and INS with firmware <= 1.4. For GNSS it is fixed in version 4.14 (released on June 15th 2023), for INS is fixed in 1.4.1 (released November 2023). + If `use_ros_axis_orientation` to `true` axis orientations are converted by the driver between NED (Septentrio: yaw = 0 is north, positive clockwise) and ENU (ROS: yaw = 0 is east, positive counterclockwise). There is no conversion when setting this parameter to `false` and the angles will be consistent with the web GUI in this case. :
``` # Example configuration Settings for the Rover Rx device: tcp://192.168.3.1:28784 serial: baudrate: 921600 hw_flow_control: "off" stream_device: tcp: ip_server: "" port: 0 udp: ip_server: "" port: 0 unicast_ip: "" configure_rx: true persist_configuration: false custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/./README.md)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.5.0 (2026-10-18)

  • New features
    • Add parameter to set INS motion constraint (firmware >= 1.5 required)
    • Configured settings may be persisted
    • Publishing NMEA messages as nmea_msgs/Sentence (thanks \@luukromeijn and \@ubicray)
  • Improvements
    • Rework IO components
    • ENU/NED data handling
    • Shutdown while waiting for response during setup
    • RTK setup logic
    • Auto publish logic
    • Update README
    • New firmware VSM handling
    • Rework VSM sample averaging
    • Add NMEA 4.10 compatibility
    • Checksum validation of NMEA sentences
    • Reconnecting now also works on a dynamic TCP connection since it triggers a reconfiguration
    • Add build farm status to README
  • Fixes
    • Populate GPRMC/GPGGA utc_seconds regardless of use_gnss_time (thanks \@vpe-ct2mc)
    • Memory safety
    • Static transform publishers in example launch files
    • Wrong units and ENU/NED ordering
    • INS data handling
    • Locale independence
    • NMEA parsers
    • Reconnect and IO threading
    • TCP reconnect and teardown
    • Serial reconnect
    • Device regex
    • VSM server logic and string malforming
  • Contributors: \@luukromeijn, \@ubicray, \@vpe-ct2mc, Claude, Thomas Emter, Tibor Dome, septentrio-users

1.4.8 (2026-08-01)

  • Fixes
    • Fix Aux1 antenna type in INS multi-antenna mode (thanks \@Mh-Magdy)
    • Fix rolling C++20 compatibility
    • Fix incorrect output topic names and message types in README (thanks \@vpe-ct2mc)
  • Contributors: Mohamed Magdy, \@vpe-ct2mc, Thomas Emter, Tibor Dome, septentrio-users

1.4.7 (2026-06-13)

  • Improvements
    • Add Lyrical Luth to supported ROS versions.
    • Update deprecated boost and ROS functions.
    • Add support for GLGSV (thanks \@peci1)
    • Fix spacing in README (thanks \@benmccann)
  • Contributors: Ben McCann, Martin Pecka, Thomas Emter, Tibor Dome, septentrio-users

1.4.6 (2025-12-20)

  • Fixes
    • Reset of settings on shutdown
    • GBAS status of NavSatFix
    • Missing conversions of do-not-use values of covariances to adhere ROS convention
  • Improvements
    • Change timestamp handling of NMEA messages.
    • Adapt firmware check to include mosaic G5.
    • Add ros_environment as a build dependency.

File truncated at 100 lines see the full file

Recent questions tagged septentrio_gnss_driver at Robotics Stack Exchange

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

septentrio_gnss_driver package from septentrio_gnss_driver repo

septentrio_gnss_driver

ROS Distro
humble

Package Summary

Version 1.5.0
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2026-10-18
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROSaic: C++ driver for Septentrio's GNSS and INS receivers

Additional Links

Maintainers

  • Tibor Dome
  • Thomas Emter
  • Septentrio

Authors

  • Tibor Dome
  • Thomas Emter

ROSaic = ROS + mosaic

Overview

This repository hosts drivers for ROS 1 (Melodic and Noetic) and ROS 2 (Foxy, Galactic, Humble, Iron, Jazzy, Kilted, Lyrical, Rolling, and beyond) - written in C++ - that work with mosaic and AsteRx - two of Septentrio’s cutting-edge GNSS and GNSS/INS receiver families - and beyond. Both ROS 1 and ROS 2 are supported within one repository.

Main Features:

  • Supports Septentrio’s single antenna GNSS, dual antenna GNSS and INS receivers
  • Supports serial, TCP, UDP and USB connections, the latter being compatible with both serial and TCP/IP (RNDIS) protocols
  • Supports several ASCII (including key NMEA ones) messages and SBF (Septentrio Binary Format) blocks
  • Reports status of AIM+ (Advanced Interference Mitigation including OSNMA) anti-jamming and anti-spoofing.
  • Can publish nav_msgs/Odometry message for INS receivers
  • Can blend SBF blocks PVTGeodetic, PosCovGeodetic, ChannelStatus, MeasEpoch, AttEuler, AttCovEuler, VelCovGeodetic and DOP in order to publish gps_common/GPSFix and sensor_msgs/NavSatFix messages
  • Supports optional axis convention conversion since Septentrio follows the NED convention, whereas ROS is ENU.
  • Easy configuration of multiple RTK corrections simultaneously (via NTRIP, TCP/IP stream, or serial)
  • Can play back PCAP capture logs for testing purposes
  • Tested with the mosaic G5, mosaic-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receivers
  • Easy to add support for more log types

Please let the maintainers know of your success or failure in using the driver with other devices so we can update this page appropriately. If you need help, reach out to Septentrio Support.

Build farm status:

Distro Dev Source Binary (amd64) Binary (arm64)
Humble Hdev Hsrc Hbin Hbin_arm64
Jazzy Jdev Jsrc Jbin Jbin_arm64
Kilted Kdev Ksrc Kbin Kbin_arm64
Lyrical Ldev Lsrc Lbin Lbin_arm64
Rolling Rdev Rsrc Rbin Rbin_arm64

Usage

Important notes

Notes Before Usage + The driver assumes that our anonymous access to the Rx grants us full control rights. This should be the case by default, and can otherwise be changed with the `setDefaultAccessLevel` command. If user control is in place user credentials can be given by parameters `login.user` and `login.password`. + Note for serial connection: Make sure the user is part of the `dialout` group to have full access to the serial ports. If not, add it for example with `sudo adduser [username] dialout`. + The usage of the dynamic IP server is not recommended for productive use, since it requires to be reconfigured after each connection loss. For TCP transport `stream_device.tcp` should be configured instead. For fastest recovery after connection loss, `stream_device.udp` is the best choice. + Note for setting hw_flow_control: This is a string parameter, setting it to off without quotes leads to the fact that it is not read in correctly. + Note for setting ant_(aux1)_serial_nr: This is a string parameter, numeric only serial numbers should be put in quotes. If this is not done a warning will be issued and the driver tries to parse it as integer. + Note for usage of NTRIP via USB with virtual ethernet (RNDIS): RNDIS provides a virtual network connection only between the receiver and the PC. First outgoing network access via USB has to be activated, which is explained [here](https://www.youtube.com/watch?v=bUt8cL9Ue1Y). Next setup internet sharing under Linux by setting the connection of the virtual network interface (the name should be something like enx1a3202991545) to "Shared to other computers". + Once the build or binary installation is finished, adapt the `config/rover.yaml` file according to your needs or assemble a new one, examples for GNSS specific parameters `config/gnss.yaml` and INS `config/ins.yaml` are also available. Specify the communication parameters, the ROS messages to be published, the frequency at which the latter should happen etc.
ROS 1: Launch the `launch/rover.launch` to use `rover.yaml` or add `param_file_name:=xxx` to use a custom config.
ROS 2: Launch as composition with `ros2 launch septentrio_gnss_driver rover.launch.py` to use `rover.yaml` or add `file_name:=xxx.yaml` to use a custom config. Alternatively launch as node with `ros2 launch septentrio_gnss_driver rover_node.launch.py` to use `rover_node.yaml` or add `file_name:=xxx.yaml` to use a custom config. Specify the communication parameters, the ROS messages to be published, the frequency at which the latter should happen etc. + Besides the aforementioned config file `rover.yaml` containing all parameters, specialized launch files for GNSS `config/gnss.yaml` and INS `config/ins.yaml` respectively contain only the relevant parameters in each case. - NOTE: Unless `configure_rx` is set to `false`, this driver will overwrite the previous values of the parameters, even if the value is left to zero in the "yaml" file. + The driver was developed and tested with firmware versions >= 4.14.0 for GNSS and >= 1.5.0 for INS. RB3 GNSS with firmware >= 2.0.0 has not been tested so fra, but should be supported. Receivers with older firmware versions are supported but some features may not be available. Known limitations are: * GNSS with firmware < 4.10.0 does not support IP over USB. * GNSS with firmware < 4.12.1 does not support OSNMA. * GNSS with firmware < 4.14 does not support PTP server clock. * INS with firmware <= 1.2.0 does not support velocity aiding. * INS with firmware <= 1.2.0 does not support setting of initial heading. * INS with firmware < 1.3.2 does not support NTP. * INS with firmware < 1.4 does not support OSNMA. * INS with firmware < 1.4.1 does not support improved VSM handling allowing for unknown variances. * INS with firmware < 1.5 does not support PTP server clock. * INS with firmware < 1.5 does not support to set vehicle application. * Mosaic G5 with firmware < 1.0.1 is not supported. + Known issues: * UDP over USB: Blocks are sent twice on GNSS with firmware <= 4.12.1 and INS with firmware <= 1.4. For GNSS it is fixed in version 4.14 (released on June 15th 2023), for INS is fixed in 1.4.1 (released November 2023). + If `use_ros_axis_orientation` to `true` axis orientations are converted by the driver between NED (Septentrio: yaw = 0 is north, positive clockwise) and ENU (ROS: yaw = 0 is east, positive counterclockwise). There is no conversion when setting this parameter to `false` and the angles will be consistent with the web GUI in this case. :
``` # Example configuration Settings for the Rover Rx device: tcp://192.168.3.1:28784 serial: baudrate: 921600 hw_flow_control: "off" stream_device: tcp: ip_server: "" port: 0 udp: ip_server: "" port: 0 unicast_ip: "" configure_rx: true persist_configuration: false custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/./README.md)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.5.0 (2026-10-18)

  • New features
    • Add parameter to set INS motion constraint (firmware >= 1.5 required)
    • Configured settings may be persisted
    • Publishing NMEA messages as nmea_msgs/Sentence (thanks \@luukromeijn and \@ubicray)
  • Improvements
    • Rework IO components
    • ENU/NED data handling
    • Shutdown while waiting for response during setup
    • RTK setup logic
    • Auto publish logic
    • Update README
    • New firmware VSM handling
    • Rework VSM sample averaging
    • Add NMEA 4.10 compatibility
    • Checksum validation of NMEA sentences
    • Reconnecting now also works on a dynamic TCP connection since it triggers a reconfiguration
    • Add build farm status to README
  • Fixes
    • Populate GPRMC/GPGGA utc_seconds regardless of use_gnss_time (thanks \@vpe-ct2mc)
    • Memory safety
    • Static transform publishers in example launch files
    • Wrong units and ENU/NED ordering
    • INS data handling
    • Locale independence
    • NMEA parsers
    • Reconnect and IO threading
    • TCP reconnect and teardown
    • Serial reconnect
    • Device regex
    • VSM server logic and string malforming
  • Contributors: \@luukromeijn, \@ubicray, \@vpe-ct2mc, Claude, Thomas Emter, Tibor Dome, septentrio-users

1.4.8 (2026-08-01)

  • Fixes
    • Fix Aux1 antenna type in INS multi-antenna mode (thanks \@Mh-Magdy)
    • Fix rolling C++20 compatibility
    • Fix incorrect output topic names and message types in README (thanks \@vpe-ct2mc)
  • Contributors: Mohamed Magdy, \@vpe-ct2mc, Thomas Emter, Tibor Dome, septentrio-users

1.4.7 (2026-06-13)

  • Improvements
    • Add Lyrical Luth to supported ROS versions.
    • Update deprecated boost and ROS functions.
    • Add support for GLGSV (thanks \@peci1)
    • Fix spacing in README (thanks \@benmccann)
  • Contributors: Ben McCann, Martin Pecka, Thomas Emter, Tibor Dome, septentrio-users

1.4.6 (2025-12-20)

  • Fixes
    • Reset of settings on shutdown
    • GBAS status of NavSatFix
    • Missing conversions of do-not-use values of covariances to adhere ROS convention
  • Improvements
    • Change timestamp handling of NMEA messages.
    • Adapt firmware check to include mosaic G5.
    • Add ros_environment as a build dependency.

File truncated at 100 lines see the full file

Recent questions tagged septentrio_gnss_driver at Robotics Stack Exchange

Package symbol

septentrio_gnss_driver package from septentrio_gnss_driver repo

septentrio_gnss_driver

ROS Distro
iron

Package Summary

Version 1.5.0
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2026-10-18
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROSaic: C++ driver for Septentrio's GNSS and INS receivers

Additional Links

Maintainers

  • Tibor Dome
  • Thomas Emter
  • Septentrio

Authors

  • Tibor Dome
  • Thomas Emter

ROSaic = ROS + mosaic

Overview

This repository hosts drivers for ROS 1 (Melodic and Noetic) and ROS 2 (Foxy, Galactic, Humble, Iron, Jazzy, Kilted, Lyrical, Rolling, and beyond) - written in C++ - that work with mosaic and AsteRx - two of Septentrio’s cutting-edge GNSS and GNSS/INS receiver families - and beyond. Both ROS 1 and ROS 2 are supported within one repository.

Main Features:

  • Supports Septentrio’s single antenna GNSS, dual antenna GNSS and INS receivers
  • Supports serial, TCP, UDP and USB connections, the latter being compatible with both serial and TCP/IP (RNDIS) protocols
  • Supports several ASCII (including key NMEA ones) messages and SBF (Septentrio Binary Format) blocks
  • Reports status of AIM+ (Advanced Interference Mitigation including OSNMA) anti-jamming and anti-spoofing.
  • Can publish nav_msgs/Odometry message for INS receivers
  • Can blend SBF blocks PVTGeodetic, PosCovGeodetic, ChannelStatus, MeasEpoch, AttEuler, AttCovEuler, VelCovGeodetic and DOP in order to publish gps_common/GPSFix and sensor_msgs/NavSatFix messages
  • Supports optional axis convention conversion since Septentrio follows the NED convention, whereas ROS is ENU.
  • Easy configuration of multiple RTK corrections simultaneously (via NTRIP, TCP/IP stream, or serial)
  • Can play back PCAP capture logs for testing purposes
  • Tested with the mosaic G5, mosaic-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receivers
  • Easy to add support for more log types

Please let the maintainers know of your success or failure in using the driver with other devices so we can update this page appropriately. If you need help, reach out to Septentrio Support.

Build farm status:

Distro Dev Source Binary (amd64) Binary (arm64)
Humble Hdev Hsrc Hbin Hbin_arm64
Jazzy Jdev Jsrc Jbin Jbin_arm64
Kilted Kdev Ksrc Kbin Kbin_arm64
Lyrical Ldev Lsrc Lbin Lbin_arm64
Rolling Rdev Rsrc Rbin Rbin_arm64

Usage

Important notes

Notes Before Usage + The driver assumes that our anonymous access to the Rx grants us full control rights. This should be the case by default, and can otherwise be changed with the `setDefaultAccessLevel` command. If user control is in place user credentials can be given by parameters `login.user` and `login.password`. + Note for serial connection: Make sure the user is part of the `dialout` group to have full access to the serial ports. If not, add it for example with `sudo adduser [username] dialout`. + The usage of the dynamic IP server is not recommended for productive use, since it requires to be reconfigured after each connection loss. For TCP transport `stream_device.tcp` should be configured instead. For fastest recovery after connection loss, `stream_device.udp` is the best choice. + Note for setting hw_flow_control: This is a string parameter, setting it to off without quotes leads to the fact that it is not read in correctly. + Note for setting ant_(aux1)_serial_nr: This is a string parameter, numeric only serial numbers should be put in quotes. If this is not done a warning will be issued and the driver tries to parse it as integer. + Note for usage of NTRIP via USB with virtual ethernet (RNDIS): RNDIS provides a virtual network connection only between the receiver and the PC. First outgoing network access via USB has to be activated, which is explained [here](https://www.youtube.com/watch?v=bUt8cL9Ue1Y). Next setup internet sharing under Linux by setting the connection of the virtual network interface (the name should be something like enx1a3202991545) to "Shared to other computers". + Once the build or binary installation is finished, adapt the `config/rover.yaml` file according to your needs or assemble a new one, examples for GNSS specific parameters `config/gnss.yaml` and INS `config/ins.yaml` are also available. Specify the communication parameters, the ROS messages to be published, the frequency at which the latter should happen etc.
ROS 1: Launch the `launch/rover.launch` to use `rover.yaml` or add `param_file_name:=xxx` to use a custom config.
ROS 2: Launch as composition with `ros2 launch septentrio_gnss_driver rover.launch.py` to use `rover.yaml` or add `file_name:=xxx.yaml` to use a custom config. Alternatively launch as node with `ros2 launch septentrio_gnss_driver rover_node.launch.py` to use `rover_node.yaml` or add `file_name:=xxx.yaml` to use a custom config. Specify the communication parameters, the ROS messages to be published, the frequency at which the latter should happen etc. + Besides the aforementioned config file `rover.yaml` containing all parameters, specialized launch files for GNSS `config/gnss.yaml` and INS `config/ins.yaml` respectively contain only the relevant parameters in each case. - NOTE: Unless `configure_rx` is set to `false`, this driver will overwrite the previous values of the parameters, even if the value is left to zero in the "yaml" file. + The driver was developed and tested with firmware versions >= 4.14.0 for GNSS and >= 1.5.0 for INS. RB3 GNSS with firmware >= 2.0.0 has not been tested so fra, but should be supported. Receivers with older firmware versions are supported but some features may not be available. Known limitations are: * GNSS with firmware < 4.10.0 does not support IP over USB. * GNSS with firmware < 4.12.1 does not support OSNMA. * GNSS with firmware < 4.14 does not support PTP server clock. * INS with firmware <= 1.2.0 does not support velocity aiding. * INS with firmware <= 1.2.0 does not support setting of initial heading. * INS with firmware < 1.3.2 does not support NTP. * INS with firmware < 1.4 does not support OSNMA. * INS with firmware < 1.4.1 does not support improved VSM handling allowing for unknown variances. * INS with firmware < 1.5 does not support PTP server clock. * INS with firmware < 1.5 does not support to set vehicle application. * Mosaic G5 with firmware < 1.0.1 is not supported. + Known issues: * UDP over USB: Blocks are sent twice on GNSS with firmware <= 4.12.1 and INS with firmware <= 1.4. For GNSS it is fixed in version 4.14 (released on June 15th 2023), for INS is fixed in 1.4.1 (released November 2023). + If `use_ros_axis_orientation` to `true` axis orientations are converted by the driver between NED (Septentrio: yaw = 0 is north, positive clockwise) and ENU (ROS: yaw = 0 is east, positive counterclockwise). There is no conversion when setting this parameter to `false` and the angles will be consistent with the web GUI in this case. :
``` # Example configuration Settings for the Rover Rx device: tcp://192.168.3.1:28784 serial: baudrate: 921600 hw_flow_control: "off" stream_device: tcp: ip_server: "" port: 0 udp: ip_server: "" port: 0 unicast_ip: "" configure_rx: true persist_configuration: false custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/./README.md)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.5.0 (2026-10-18)

  • New features
    • Add parameter to set INS motion constraint (firmware >= 1.5 required)
    • Configured settings may be persisted
    • Publishing NMEA messages as nmea_msgs/Sentence (thanks \@luukromeijn and \@ubicray)
  • Improvements
    • Rework IO components
    • ENU/NED data handling
    • Shutdown while waiting for response during setup
    • RTK setup logic
    • Auto publish logic
    • Update README
    • New firmware VSM handling
    • Rework VSM sample averaging
    • Add NMEA 4.10 compatibility
    • Checksum validation of NMEA sentences
    • Reconnecting now also works on a dynamic TCP connection since it triggers a reconfiguration
    • Add build farm status to README
  • Fixes
    • Populate GPRMC/GPGGA utc_seconds regardless of use_gnss_time (thanks \@vpe-ct2mc)
    • Memory safety
    • Static transform publishers in example launch files
    • Wrong units and ENU/NED ordering
    • INS data handling
    • Locale independence
    • NMEA parsers
    • Reconnect and IO threading
    • TCP reconnect and teardown
    • Serial reconnect
    • Device regex
    • VSM server logic and string malforming
  • Contributors: \@luukromeijn, \@ubicray, \@vpe-ct2mc, Claude, Thomas Emter, Tibor Dome, septentrio-users

1.4.8 (2026-08-01)

  • Fixes
    • Fix Aux1 antenna type in INS multi-antenna mode (thanks \@Mh-Magdy)
    • Fix rolling C++20 compatibility
    • Fix incorrect output topic names and message types in README (thanks \@vpe-ct2mc)
  • Contributors: Mohamed Magdy, \@vpe-ct2mc, Thomas Emter, Tibor Dome, septentrio-users

1.4.7 (2026-06-13)

  • Improvements
    • Add Lyrical Luth to supported ROS versions.
    • Update deprecated boost and ROS functions.
    • Add support for GLGSV (thanks \@peci1)
    • Fix spacing in README (thanks \@benmccann)
  • Contributors: Ben McCann, Martin Pecka, Thomas Emter, Tibor Dome, septentrio-users

1.4.6 (2025-12-20)

  • Fixes
    • Reset of settings on shutdown
    • GBAS status of NavSatFix
    • Missing conversions of do-not-use values of covariances to adhere ROS convention
  • Improvements
    • Change timestamp handling of NMEA messages.
    • Adapt firmware check to include mosaic G5.
    • Add ros_environment as a build dependency.

File truncated at 100 lines see the full file

Recent questions tagged septentrio_gnss_driver at Robotics Stack Exchange

Package symbol

septentrio_gnss_driver package from septentrio_gnss_driver repo

septentrio_gnss_driver

ROS Distro
melodic

Package Summary

Version 1.5.0
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2026-10-18
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROSaic: C++ driver for Septentrio's GNSS and INS receivers

Additional Links

Maintainers

  • Tibor Dome
  • Thomas Emter
  • Septentrio

Authors

  • Tibor Dome
  • Thomas Emter

ROSaic = ROS + mosaic

Overview

This repository hosts drivers for ROS 1 (Melodic and Noetic) and ROS 2 (Foxy, Galactic, Humble, Iron, Jazzy, Kilted, Lyrical, Rolling, and beyond) - written in C++ - that work with mosaic and AsteRx - two of Septentrio’s cutting-edge GNSS and GNSS/INS receiver families - and beyond. Both ROS 1 and ROS 2 are supported within one repository.

Main Features:

  • Supports Septentrio’s single antenna GNSS, dual antenna GNSS and INS receivers
  • Supports serial, TCP, UDP and USB connections, the latter being compatible with both serial and TCP/IP (RNDIS) protocols
  • Supports several ASCII (including key NMEA ones) messages and SBF (Septentrio Binary Format) blocks
  • Reports status of AIM+ (Advanced Interference Mitigation including OSNMA) anti-jamming and anti-spoofing.
  • Can publish nav_msgs/Odometry message for INS receivers
  • Can blend SBF blocks PVTGeodetic, PosCovGeodetic, ChannelStatus, MeasEpoch, AttEuler, AttCovEuler, VelCovGeodetic and DOP in order to publish gps_common/GPSFix and sensor_msgs/NavSatFix messages
  • Supports optional axis convention conversion since Septentrio follows the NED convention, whereas ROS is ENU.
  • Easy configuration of multiple RTK corrections simultaneously (via NTRIP, TCP/IP stream, or serial)
  • Can play back PCAP capture logs for testing purposes
  • Tested with the mosaic G5, mosaic-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receivers
  • Easy to add support for more log types

Please let the maintainers know of your success or failure in using the driver with other devices so we can update this page appropriately. If you need help, reach out to Septentrio Support.

Build farm status:

Distro Dev Source Binary (amd64) Binary (arm64)
Humble Hdev Hsrc Hbin Hbin_arm64
Jazzy Jdev Jsrc Jbin Jbin_arm64
Kilted Kdev Ksrc Kbin Kbin_arm64
Lyrical Ldev Lsrc Lbin Lbin_arm64
Rolling Rdev Rsrc Rbin Rbin_arm64

Usage

Important notes

Notes Before Usage + The driver assumes that our anonymous access to the Rx grants us full control rights. This should be the case by default, and can otherwise be changed with the `setDefaultAccessLevel` command. If user control is in place user credentials can be given by parameters `login.user` and `login.password`. + Note for serial connection: Make sure the user is part of the `dialout` group to have full access to the serial ports. If not, add it for example with `sudo adduser [username] dialout`. + The usage of the dynamic IP server is not recommended for productive use, since it requires to be reconfigured after each connection loss. For TCP transport `stream_device.tcp` should be configured instead. For fastest recovery after connection loss, `stream_device.udp` is the best choice. + Note for setting hw_flow_control: This is a string parameter, setting it to off without quotes leads to the fact that it is not read in correctly. + Note for setting ant_(aux1)_serial_nr: This is a string parameter, numeric only serial numbers should be put in quotes. If this is not done a warning will be issued and the driver tries to parse it as integer. + Note for usage of NTRIP via USB with virtual ethernet (RNDIS): RNDIS provides a virtual network connection only between the receiver and the PC. First outgoing network access via USB has to be activated, which is explained [here](https://www.youtube.com/watch?v=bUt8cL9Ue1Y). Next setup internet sharing under Linux by setting the connection of the virtual network interface (the name should be something like enx1a3202991545) to "Shared to other computers". + Once the build or binary installation is finished, adapt the `config/rover.yaml` file according to your needs or assemble a new one, examples for GNSS specific parameters `config/gnss.yaml` and INS `config/ins.yaml` are also available. Specify the communication parameters, the ROS messages to be published, the frequency at which the latter should happen etc.
ROS 1: Launch the `launch/rover.launch` to use `rover.yaml` or add `param_file_name:=xxx` to use a custom config.
ROS 2: Launch as composition with `ros2 launch septentrio_gnss_driver rover.launch.py` to use `rover.yaml` or add `file_name:=xxx.yaml` to use a custom config. Alternatively launch as node with `ros2 launch septentrio_gnss_driver rover_node.launch.py` to use `rover_node.yaml` or add `file_name:=xxx.yaml` to use a custom config. Specify the communication parameters, the ROS messages to be published, the frequency at which the latter should happen etc. + Besides the aforementioned config file `rover.yaml` containing all parameters, specialized launch files for GNSS `config/gnss.yaml` and INS `config/ins.yaml` respectively contain only the relevant parameters in each case. - NOTE: Unless `configure_rx` is set to `false`, this driver will overwrite the previous values of the parameters, even if the value is left to zero in the "yaml" file. + The driver was developed and tested with firmware versions >= 4.14.0 for GNSS and >= 1.5.0 for INS. RB3 GNSS with firmware >= 2.0.0 has not been tested so fra, but should be supported. Receivers with older firmware versions are supported but some features may not be available. Known limitations are: * GNSS with firmware < 4.10.0 does not support IP over USB. * GNSS with firmware < 4.12.1 does not support OSNMA. * GNSS with firmware < 4.14 does not support PTP server clock. * INS with firmware <= 1.2.0 does not support velocity aiding. * INS with firmware <= 1.2.0 does not support setting of initial heading. * INS with firmware < 1.3.2 does not support NTP. * INS with firmware < 1.4 does not support OSNMA. * INS with firmware < 1.4.1 does not support improved VSM handling allowing for unknown variances. * INS with firmware < 1.5 does not support PTP server clock. * INS with firmware < 1.5 does not support to set vehicle application. * Mosaic G5 with firmware < 1.0.1 is not supported. + Known issues: * UDP over USB: Blocks are sent twice on GNSS with firmware <= 4.12.1 and INS with firmware <= 1.4. For GNSS it is fixed in version 4.14 (released on June 15th 2023), for INS is fixed in 1.4.1 (released November 2023). + If `use_ros_axis_orientation` to `true` axis orientations are converted by the driver between NED (Septentrio: yaw = 0 is north, positive clockwise) and ENU (ROS: yaw = 0 is east, positive counterclockwise). There is no conversion when setting this parameter to `false` and the angles will be consistent with the web GUI in this case. :
``` # Example configuration Settings for the Rover Rx device: tcp://192.168.3.1:28784 serial: baudrate: 921600 hw_flow_control: "off" stream_device: tcp: ip_server: "" port: 0 udp: ip_server: "" port: 0 unicast_ip: "" configure_rx: true persist_configuration: false custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/./README.md)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.5.0 (2026-10-18)

  • New features
    • Add parameter to set INS motion constraint (firmware >= 1.5 required)
    • Configured settings may be persisted
    • Publishing NMEA messages as nmea_msgs/Sentence (thanks \@luukromeijn and \@ubicray)
  • Improvements
    • Rework IO components
    • ENU/NED data handling
    • Shutdown while waiting for response during setup
    • RTK setup logic
    • Auto publish logic
    • Update README
    • New firmware VSM handling
    • Rework VSM sample averaging
    • Add NMEA 4.10 compatibility
    • Checksum validation of NMEA sentences
    • Reconnecting now also works on a dynamic TCP connection since it triggers a reconfiguration
    • Add build farm status to README
  • Fixes
    • Populate GPRMC/GPGGA utc_seconds regardless of use_gnss_time (thanks \@vpe-ct2mc)
    • Memory safety
    • Static transform publishers in example launch files
    • Wrong units and ENU/NED ordering
    • INS data handling
    • Locale independence
    • NMEA parsers
    • Reconnect and IO threading
    • TCP reconnect and teardown
    • Serial reconnect
    • Device regex
    • VSM server logic and string malforming
  • Contributors: \@luukromeijn, \@ubicray, \@vpe-ct2mc, Claude, Thomas Emter, Tibor Dome, septentrio-users

1.4.8 (2026-08-01)

  • Fixes
    • Fix Aux1 antenna type in INS multi-antenna mode (thanks \@Mh-Magdy)
    • Fix rolling C++20 compatibility
    • Fix incorrect output topic names and message types in README (thanks \@vpe-ct2mc)
  • Contributors: Mohamed Magdy, \@vpe-ct2mc, Thomas Emter, Tibor Dome, septentrio-users

1.4.7 (2026-06-13)

  • Improvements
    • Add Lyrical Luth to supported ROS versions.
    • Update deprecated boost and ROS functions.
    • Add support for GLGSV (thanks \@peci1)
    • Fix spacing in README (thanks \@benmccann)
  • Contributors: Ben McCann, Martin Pecka, Thomas Emter, Tibor Dome, septentrio-users

1.4.6 (2025-12-20)

  • Fixes
    • Reset of settings on shutdown
    • GBAS status of NavSatFix
    • Missing conversions of do-not-use values of covariances to adhere ROS convention
  • Improvements
    • Change timestamp handling of NMEA messages.
    • Adapt firmware check to include mosaic G5.
    • Add ros_environment as a build dependency.

File truncated at 100 lines see the full file

Recent questions tagged septentrio_gnss_driver at Robotics Stack Exchange

Package symbol

septentrio_gnss_driver package from septentrio_gnss_driver repo

septentrio_gnss_driver

ROS Distro
noetic

Package Summary

Version 1.5.0
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2026-10-18
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROSaic: C++ driver for Septentrio's GNSS and INS receivers

Additional Links

Maintainers

  • Tibor Dome
  • Thomas Emter
  • Septentrio

Authors

  • Tibor Dome
  • Thomas Emter

ROSaic = ROS + mosaic

Overview

This repository hosts drivers for ROS 1 (Melodic and Noetic) and ROS 2 (Foxy, Galactic, Humble, Iron, Jazzy, Kilted, Lyrical, Rolling, and beyond) - written in C++ - that work with mosaic and AsteRx - two of Septentrio’s cutting-edge GNSS and GNSS/INS receiver families - and beyond. Both ROS 1 and ROS 2 are supported within one repository.

Main Features:

  • Supports Septentrio’s single antenna GNSS, dual antenna GNSS and INS receivers
  • Supports serial, TCP, UDP and USB connections, the latter being compatible with both serial and TCP/IP (RNDIS) protocols
  • Supports several ASCII (including key NMEA ones) messages and SBF (Septentrio Binary Format) blocks
  • Reports status of AIM+ (Advanced Interference Mitigation including OSNMA) anti-jamming and anti-spoofing.
  • Can publish nav_msgs/Odometry message for INS receivers
  • Can blend SBF blocks PVTGeodetic, PosCovGeodetic, ChannelStatus, MeasEpoch, AttEuler, AttCovEuler, VelCovGeodetic and DOP in order to publish gps_common/GPSFix and sensor_msgs/NavSatFix messages
  • Supports optional axis convention conversion since Septentrio follows the NED convention, whereas ROS is ENU.
  • Easy configuration of multiple RTK corrections simultaneously (via NTRIP, TCP/IP stream, or serial)
  • Can play back PCAP capture logs for testing purposes
  • Tested with the mosaic G5, mosaic-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receivers
  • Easy to add support for more log types

Please let the maintainers know of your success or failure in using the driver with other devices so we can update this page appropriately. If you need help, reach out to Septentrio Support.

Build farm status:

Distro Dev Source Binary (amd64) Binary (arm64)
Humble Hdev Hsrc Hbin Hbin_arm64
Jazzy Jdev Jsrc Jbin Jbin_arm64
Kilted Kdev Ksrc Kbin Kbin_arm64
Lyrical Ldev Lsrc Lbin Lbin_arm64
Rolling Rdev Rsrc Rbin Rbin_arm64

Usage

Important notes

Notes Before Usage + The driver assumes that our anonymous access to the Rx grants us full control rights. This should be the case by default, and can otherwise be changed with the `setDefaultAccessLevel` command. If user control is in place user credentials can be given by parameters `login.user` and `login.password`. + Note for serial connection: Make sure the user is part of the `dialout` group to have full access to the serial ports. If not, add it for example with `sudo adduser [username] dialout`. + The usage of the dynamic IP server is not recommended for productive use, since it requires to be reconfigured after each connection loss. For TCP transport `stream_device.tcp` should be configured instead. For fastest recovery after connection loss, `stream_device.udp` is the best choice. + Note for setting hw_flow_control: This is a string parameter, setting it to off without quotes leads to the fact that it is not read in correctly. + Note for setting ant_(aux1)_serial_nr: This is a string parameter, numeric only serial numbers should be put in quotes. If this is not done a warning will be issued and the driver tries to parse it as integer. + Note for usage of NTRIP via USB with virtual ethernet (RNDIS): RNDIS provides a virtual network connection only between the receiver and the PC. First outgoing network access via USB has to be activated, which is explained [here](https://www.youtube.com/watch?v=bUt8cL9Ue1Y). Next setup internet sharing under Linux by setting the connection of the virtual network interface (the name should be something like enx1a3202991545) to "Shared to other computers". + Once the build or binary installation is finished, adapt the `config/rover.yaml` file according to your needs or assemble a new one, examples for GNSS specific parameters `config/gnss.yaml` and INS `config/ins.yaml` are also available. Specify the communication parameters, the ROS messages to be published, the frequency at which the latter should happen etc.
ROS 1: Launch the `launch/rover.launch` to use `rover.yaml` or add `param_file_name:=xxx` to use a custom config.
ROS 2: Launch as composition with `ros2 launch septentrio_gnss_driver rover.launch.py` to use `rover.yaml` or add `file_name:=xxx.yaml` to use a custom config. Alternatively launch as node with `ros2 launch septentrio_gnss_driver rover_node.launch.py` to use `rover_node.yaml` or add `file_name:=xxx.yaml` to use a custom config. Specify the communication parameters, the ROS messages to be published, the frequency at which the latter should happen etc. + Besides the aforementioned config file `rover.yaml` containing all parameters, specialized launch files for GNSS `config/gnss.yaml` and INS `config/ins.yaml` respectively contain only the relevant parameters in each case. - NOTE: Unless `configure_rx` is set to `false`, this driver will overwrite the previous values of the parameters, even if the value is left to zero in the "yaml" file. + The driver was developed and tested with firmware versions >= 4.14.0 for GNSS and >= 1.5.0 for INS. RB3 GNSS with firmware >= 2.0.0 has not been tested so fra, but should be supported. Receivers with older firmware versions are supported but some features may not be available. Known limitations are: * GNSS with firmware < 4.10.0 does not support IP over USB. * GNSS with firmware < 4.12.1 does not support OSNMA. * GNSS with firmware < 4.14 does not support PTP server clock. * INS with firmware <= 1.2.0 does not support velocity aiding. * INS with firmware <= 1.2.0 does not support setting of initial heading. * INS with firmware < 1.3.2 does not support NTP. * INS with firmware < 1.4 does not support OSNMA. * INS with firmware < 1.4.1 does not support improved VSM handling allowing for unknown variances. * INS with firmware < 1.5 does not support PTP server clock. * INS with firmware < 1.5 does not support to set vehicle application. * Mosaic G5 with firmware < 1.0.1 is not supported. + Known issues: * UDP over USB: Blocks are sent twice on GNSS with firmware <= 4.12.1 and INS with firmware <= 1.4. For GNSS it is fixed in version 4.14 (released on June 15th 2023), for INS is fixed in 1.4.1 (released November 2023). + If `use_ros_axis_orientation` to `true` axis orientations are converted by the driver between NED (Septentrio: yaw = 0 is north, positive clockwise) and ENU (ROS: yaw = 0 is east, positive counterclockwise). There is no conversion when setting this parameter to `false` and the angles will be consistent with the web GUI in this case. :
``` # Example configuration Settings for the Rover Rx device: tcp://192.168.3.1:28784 serial: baudrate: 921600 hw_flow_control: "off" stream_device: tcp: ip_server: "" port: 0 udp: ip_server: "" port: 0 unicast_ip: "" configure_rx: true persist_configuration: false custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/./README.md)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.5.0 (2026-10-18)

  • New features
    • Add parameter to set INS motion constraint (firmware >= 1.5 required)
    • Configured settings may be persisted
    • Publishing NMEA messages as nmea_msgs/Sentence (thanks \@luukromeijn and \@ubicray)
  • Improvements
    • Rework IO components
    • ENU/NED data handling
    • Shutdown while waiting for response during setup
    • RTK setup logic
    • Auto publish logic
    • Update README
    • New firmware VSM handling
    • Rework VSM sample averaging
    • Add NMEA 4.10 compatibility
    • Checksum validation of NMEA sentences
    • Reconnecting now also works on a dynamic TCP connection since it triggers a reconfiguration
    • Add build farm status to README
  • Fixes
    • Populate GPRMC/GPGGA utc_seconds regardless of use_gnss_time (thanks \@vpe-ct2mc)
    • Memory safety
    • Static transform publishers in example launch files
    • Wrong units and ENU/NED ordering
    • INS data handling
    • Locale independence
    • NMEA parsers
    • Reconnect and IO threading
    • TCP reconnect and teardown
    • Serial reconnect
    • Device regex
    • VSM server logic and string malforming
  • Contributors: \@luukromeijn, \@ubicray, \@vpe-ct2mc, Claude, Thomas Emter, Tibor Dome, septentrio-users

1.4.8 (2026-08-01)

  • Fixes
    • Fix Aux1 antenna type in INS multi-antenna mode (thanks \@Mh-Magdy)
    • Fix rolling C++20 compatibility
    • Fix incorrect output topic names and message types in README (thanks \@vpe-ct2mc)
  • Contributors: Mohamed Magdy, \@vpe-ct2mc, Thomas Emter, Tibor Dome, septentrio-users

1.4.7 (2026-06-13)

  • Improvements
    • Add Lyrical Luth to supported ROS versions.
    • Update deprecated boost and ROS functions.
    • Add support for GLGSV (thanks \@peci1)
    • Fix spacing in README (thanks \@benmccann)
  • Contributors: Ben McCann, Martin Pecka, Thomas Emter, Tibor Dome, septentrio-users

1.4.6 (2025-12-20)

  • Fixes
    • Reset of settings on shutdown
    • GBAS status of NavSatFix
    • Missing conversions of do-not-use values of covariances to adhere ROS convention
  • Improvements
    • Change timestamp handling of NMEA messages.
    • Adapt firmware check to include mosaic G5.
    • Add ros_environment as a build dependency.

File truncated at 100 lines see the full file

Recent questions tagged septentrio_gnss_driver at Robotics Stack Exchange