Package symbol

septentrio_gnss_driver package from septentrio_gnss_driver repo

septentrio_gnss_driver

ROS Distro
humble

Package Summary

Tags No category tags.
Version 1.4.4
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2025-06-06
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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, 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/IP and USB connections, the latter being compatible with both serial (RNDIS) and TCP/IP 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-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receiver
  • 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.

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`. + 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.10.0 for GNSS and >= 1.3.2 for INS. 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 does not support PTP server clock as of now. + 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 custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true frame_id: gnss imu_frame_id: imu poi_frame_id: base_link vsm_frame_id: vsm aux1_frame_id: aux1 vehicle_frame_id: base_link insert_local_frame: false local_frame_id: odom File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/.)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.4.4 (2025-06-06)

  • Fixes
    • Readme on PVT messages for INS
    • Deprecation of ament_target_dependencies in Rolling
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.3 (2025-05-09)

  • Fixes
    • Resolve issues with removed/renamed functionality in boost 1.87 (thanks to \@oysstu)
    • VSM data not being sent to the rx if configure_rx is false
    • ROS 2 Rolling regression (thanks to \@kevshin2002)
  • Improvements
    • IMU orientation sync
  • Contributors: \@oysstu, \@kevshin2002, Thomas Emter, Tibor Dome, septentrio-users

1.4.2 (2025-02-22)

  • Fixes
    • Add export of compiler directives (thanks to \@oysstu)
    • ROS 1 rebuild (thanks to \@peci1)
  • Improvements
    • Rework TCP connection/reconnection
  • Changes
    • In case INS is not aligned yet but has GNSS heading, a valid orientation with roll and pitch = 0.0 will be published.
  • Contributors: Martin Pecka, Thomas Emter, \@oysstu, Tibor Dome, septentrio-users

1.4.1 (2024-08-04)

  • Fixes
    • Lever arm calculation from tf
    • NavSatStatus and GPSFixStatus
    • Orientation in pose topic of GNSS
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.0 (2024-05-21)

  • New features
    • Send custom commands via ASCII file on startup
    • Save config to boot after setup
    • NTP and PTP server options (BREAKING: NTP is not setup automatically for [use_gnss_time: true]{.title-ref} anymore)
    • Receiver status on [/diagnostics]{.title-ref}
    • Option to publish only valid SBF block messages
    • Option to auto publish available messages for [configure_rx: false]{.title-ref}
  • Changes
    • Change floating point do-not-use-values to NaN (BREAKING in case these values are used for validity checks downstream)
    • VSM now uses separate TCP device specified IP server
  • Improvements
    • Rework some sections of the README
    • Combine ROS 1 and ROS 2 in one branch
    • Change GPSFix publishing policy to allow for high update

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

Tags No category tags.
Version 1.4.4
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2025-06-06
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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, 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/IP and USB connections, the latter being compatible with both serial (RNDIS) and TCP/IP 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-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receiver
  • 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.

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`. + 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.10.0 for GNSS and >= 1.3.2 for INS. 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 does not support PTP server clock as of now. + 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 custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true frame_id: gnss imu_frame_id: imu poi_frame_id: base_link vsm_frame_id: vsm aux1_frame_id: aux1 vehicle_frame_id: base_link insert_local_frame: false local_frame_id: odom File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/.)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.4.4 (2025-06-06)

  • Fixes
    • Readme on PVT messages for INS
    • Deprecation of ament_target_dependencies in Rolling
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.3 (2025-05-09)

  • Fixes
    • Resolve issues with removed/renamed functionality in boost 1.87 (thanks to \@oysstu)
    • VSM data not being sent to the rx if configure_rx is false
    • ROS 2 Rolling regression (thanks to \@kevshin2002)
  • Improvements
    • IMU orientation sync
  • Contributors: \@oysstu, \@kevshin2002, Thomas Emter, Tibor Dome, septentrio-users

1.4.2 (2025-02-22)

  • Fixes
    • Add export of compiler directives (thanks to \@oysstu)
    • ROS 1 rebuild (thanks to \@peci1)
  • Improvements
    • Rework TCP connection/reconnection
  • Changes
    • In case INS is not aligned yet but has GNSS heading, a valid orientation with roll and pitch = 0.0 will be published.
  • Contributors: Martin Pecka, Thomas Emter, \@oysstu, Tibor Dome, septentrio-users

1.4.1 (2024-08-04)

  • Fixes
    • Lever arm calculation from tf
    • NavSatStatus and GPSFixStatus
    • Orientation in pose topic of GNSS
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.0 (2024-05-21)

  • New features
    • Send custom commands via ASCII file on startup
    • Save config to boot after setup
    • NTP and PTP server options (BREAKING: NTP is not setup automatically for [use_gnss_time: true]{.title-ref} anymore)
    • Receiver status on [/diagnostics]{.title-ref}
    • Option to publish only valid SBF block messages
    • Option to auto publish available messages for [configure_rx: false]{.title-ref}
  • Changes
    • Change floating point do-not-use-values to NaN (BREAKING in case these values are used for validity checks downstream)
    • VSM now uses separate TCP device specified IP server
  • Improvements
    • Rework some sections of the README
    • Combine ROS 1 and ROS 2 in one branch
    • Change GPSFix publishing policy to allow for high update

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

Tags No category tags.
Version 1.4.4
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2025-06-06
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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, 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/IP and USB connections, the latter being compatible with both serial (RNDIS) and TCP/IP 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-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receiver
  • 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.

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`. + 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.10.0 for GNSS and >= 1.3.2 for INS. 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 does not support PTP server clock as of now. + 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 custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true frame_id: gnss imu_frame_id: imu poi_frame_id: base_link vsm_frame_id: vsm aux1_frame_id: aux1 vehicle_frame_id: base_link insert_local_frame: false local_frame_id: odom File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/.)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.4.4 (2025-06-06)

  • Fixes
    • Readme on PVT messages for INS
    • Deprecation of ament_target_dependencies in Rolling
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.3 (2025-05-09)

  • Fixes
    • Resolve issues with removed/renamed functionality in boost 1.87 (thanks to \@oysstu)
    • VSM data not being sent to the rx if configure_rx is false
    • ROS 2 Rolling regression (thanks to \@kevshin2002)
  • Improvements
    • IMU orientation sync
  • Contributors: \@oysstu, \@kevshin2002, Thomas Emter, Tibor Dome, septentrio-users

1.4.2 (2025-02-22)

  • Fixes
    • Add export of compiler directives (thanks to \@oysstu)
    • ROS 1 rebuild (thanks to \@peci1)
  • Improvements
    • Rework TCP connection/reconnection
  • Changes
    • In case INS is not aligned yet but has GNSS heading, a valid orientation with roll and pitch = 0.0 will be published.
  • Contributors: Martin Pecka, Thomas Emter, \@oysstu, Tibor Dome, septentrio-users

1.4.1 (2024-08-04)

  • Fixes
    • Lever arm calculation from tf
    • NavSatStatus and GPSFixStatus
    • Orientation in pose topic of GNSS
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.0 (2024-05-21)

  • New features
    • Send custom commands via ASCII file on startup
    • Save config to boot after setup
    • NTP and PTP server options (BREAKING: NTP is not setup automatically for [use_gnss_time: true]{.title-ref} anymore)
    • Receiver status on [/diagnostics]{.title-ref}
    • Option to publish only valid SBF block messages
    • Option to auto publish available messages for [configure_rx: false]{.title-ref}
  • Changes
    • Change floating point do-not-use-values to NaN (BREAKING in case these values are used for validity checks downstream)
    • VSM now uses separate TCP device specified IP server
  • Improvements
    • Rework some sections of the README
    • Combine ROS 1 and ROS 2 in one branch
    • Change GPSFix publishing policy to allow for high update

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

Tags No category tags.
Version 1.4.4
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2025-06-06
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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, 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/IP and USB connections, the latter being compatible with both serial (RNDIS) and TCP/IP 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-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receiver
  • 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.

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`. + 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.10.0 for GNSS and >= 1.3.2 for INS. 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 does not support PTP server clock as of now. + 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 custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true frame_id: gnss imu_frame_id: imu poi_frame_id: base_link vsm_frame_id: vsm aux1_frame_id: aux1 vehicle_frame_id: base_link insert_local_frame: false local_frame_id: odom File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/.)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.4.4 (2025-06-06)

  • Fixes
    • Readme on PVT messages for INS
    • Deprecation of ament_target_dependencies in Rolling
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.3 (2025-05-09)

  • Fixes
    • Resolve issues with removed/renamed functionality in boost 1.87 (thanks to \@oysstu)
    • VSM data not being sent to the rx if configure_rx is false
    • ROS 2 Rolling regression (thanks to \@kevshin2002)
  • Improvements
    • IMU orientation sync
  • Contributors: \@oysstu, \@kevshin2002, Thomas Emter, Tibor Dome, septentrio-users

1.4.2 (2025-02-22)

  • Fixes
    • Add export of compiler directives (thanks to \@oysstu)
    • ROS 1 rebuild (thanks to \@peci1)
  • Improvements
    • Rework TCP connection/reconnection
  • Changes
    • In case INS is not aligned yet but has GNSS heading, a valid orientation with roll and pitch = 0.0 will be published.
  • Contributors: Martin Pecka, Thomas Emter, \@oysstu, Tibor Dome, septentrio-users

1.4.1 (2024-08-04)

  • Fixes
    • Lever arm calculation from tf
    • NavSatStatus and GPSFixStatus
    • Orientation in pose topic of GNSS
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.0 (2024-05-21)

  • New features
    • Send custom commands via ASCII file on startup
    • Save config to boot after setup
    • NTP and PTP server options (BREAKING: NTP is not setup automatically for [use_gnss_time: true]{.title-ref} anymore)
    • Receiver status on [/diagnostics]{.title-ref}
    • Option to publish only valid SBF block messages
    • Option to auto publish available messages for [configure_rx: false]{.title-ref}
  • Changes
    • Change floating point do-not-use-values to NaN (BREAKING in case these values are used for validity checks downstream)
    • VSM now uses separate TCP device specified IP server
  • Improvements
    • Rework some sections of the README
    • Combine ROS 1 and ROS 2 in one branch
    • Change GPSFix publishing policy to allow for high update

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged septentrio_gnss_driver at Robotics Stack Exchange

No version for distro ardent 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

Tags No category tags.
Version 1.4.4
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2025-06-06
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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, 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/IP and USB connections, the latter being compatible with both serial (RNDIS) and TCP/IP 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-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receiver
  • 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.

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`. + 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.10.0 for GNSS and >= 1.3.2 for INS. 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 does not support PTP server clock as of now. + 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 custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true frame_id: gnss imu_frame_id: imu poi_frame_id: base_link vsm_frame_id: vsm aux1_frame_id: aux1 vehicle_frame_id: base_link insert_local_frame: false local_frame_id: odom File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/.)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.4.4 (2025-06-06)

  • Fixes
    • Readme on PVT messages for INS
    • Deprecation of ament_target_dependencies in Rolling
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.3 (2025-05-09)

  • Fixes
    • Resolve issues with removed/renamed functionality in boost 1.87 (thanks to \@oysstu)
    • VSM data not being sent to the rx if configure_rx is false
    • ROS 2 Rolling regression (thanks to \@kevshin2002)
  • Improvements
    • IMU orientation sync
  • Contributors: \@oysstu, \@kevshin2002, Thomas Emter, Tibor Dome, septentrio-users

1.4.2 (2025-02-22)

  • Fixes
    • Add export of compiler directives (thanks to \@oysstu)
    • ROS 1 rebuild (thanks to \@peci1)
  • Improvements
    • Rework TCP connection/reconnection
  • Changes
    • In case INS is not aligned yet but has GNSS heading, a valid orientation with roll and pitch = 0.0 will be published.
  • Contributors: Martin Pecka, Thomas Emter, \@oysstu, Tibor Dome, septentrio-users

1.4.1 (2024-08-04)

  • Fixes
    • Lever arm calculation from tf
    • NavSatStatus and GPSFixStatus
    • Orientation in pose topic of GNSS
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.0 (2024-05-21)

  • New features
    • Send custom commands via ASCII file on startup
    • Save config to boot after setup
    • NTP and PTP server options (BREAKING: NTP is not setup automatically for [use_gnss_time: true]{.title-ref} anymore)
    • Receiver status on [/diagnostics]{.title-ref}
    • Option to publish only valid SBF block messages
    • Option to auto publish available messages for [configure_rx: false]{.title-ref}
  • Changes
    • Change floating point do-not-use-values to NaN (BREAKING in case these values are used for validity checks downstream)
    • VSM now uses separate TCP device specified IP server
  • Improvements
    • Rework some sections of the README
    • Combine ROS 1 and ROS 2 in one branch
    • Change GPSFix publishing policy to allow for high update

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged septentrio_gnss_driver at Robotics Stack Exchange

No version for distro bouncy 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

Tags No category tags.
Version 1.4.4
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2025-06-06
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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, 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/IP and USB connections, the latter being compatible with both serial (RNDIS) and TCP/IP 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-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receiver
  • 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.

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`. + 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.10.0 for GNSS and >= 1.3.2 for INS. 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 does not support PTP server clock as of now. + 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 custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true frame_id: gnss imu_frame_id: imu poi_frame_id: base_link vsm_frame_id: vsm aux1_frame_id: aux1 vehicle_frame_id: base_link insert_local_frame: false local_frame_id: odom File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/.)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.4.4 (2025-06-06)

  • Fixes
    • Readme on PVT messages for INS
    • Deprecation of ament_target_dependencies in Rolling
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.3 (2025-05-09)

  • Fixes
    • Resolve issues with removed/renamed functionality in boost 1.87 (thanks to \@oysstu)
    • VSM data not being sent to the rx if configure_rx is false
    • ROS 2 Rolling regression (thanks to \@kevshin2002)
  • Improvements
    • IMU orientation sync
  • Contributors: \@oysstu, \@kevshin2002, Thomas Emter, Tibor Dome, septentrio-users

1.4.2 (2025-02-22)

  • Fixes
    • Add export of compiler directives (thanks to \@oysstu)
    • ROS 1 rebuild (thanks to \@peci1)
  • Improvements
    • Rework TCP connection/reconnection
  • Changes
    • In case INS is not aligned yet but has GNSS heading, a valid orientation with roll and pitch = 0.0 will be published.
  • Contributors: Martin Pecka, Thomas Emter, \@oysstu, Tibor Dome, septentrio-users

1.4.1 (2024-08-04)

  • Fixes
    • Lever arm calculation from tf
    • NavSatStatus and GPSFixStatus
    • Orientation in pose topic of GNSS
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.0 (2024-05-21)

  • New features
    • Send custom commands via ASCII file on startup
    • Save config to boot after setup
    • NTP and PTP server options (BREAKING: NTP is not setup automatically for [use_gnss_time: true]{.title-ref} anymore)
    • Receiver status on [/diagnostics]{.title-ref}
    • Option to publish only valid SBF block messages
    • Option to auto publish available messages for [configure_rx: false]{.title-ref}
  • Changes
    • Change floating point do-not-use-values to NaN (BREAKING in case these values are used for validity checks downstream)
    • VSM now uses separate TCP device specified IP server
  • Improvements
    • Rework some sections of the README
    • Combine ROS 1 and ROS 2 in one branch
    • Change GPSFix publishing policy to allow for high update

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged septentrio_gnss_driver at Robotics Stack Exchange

No version for distro crystal 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

Tags No category tags.
Version 1.4.4
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2025-06-06
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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, 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/IP and USB connections, the latter being compatible with both serial (RNDIS) and TCP/IP 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-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receiver
  • 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.

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`. + 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.10.0 for GNSS and >= 1.3.2 for INS. 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 does not support PTP server clock as of now. + 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 custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true frame_id: gnss imu_frame_id: imu poi_frame_id: base_link vsm_frame_id: vsm aux1_frame_id: aux1 vehicle_frame_id: base_link insert_local_frame: false local_frame_id: odom File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/.)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.4.4 (2025-06-06)

  • Fixes
    • Readme on PVT messages for INS
    • Deprecation of ament_target_dependencies in Rolling
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.3 (2025-05-09)

  • Fixes
    • Resolve issues with removed/renamed functionality in boost 1.87 (thanks to \@oysstu)
    • VSM data not being sent to the rx if configure_rx is false
    • ROS 2 Rolling regression (thanks to \@kevshin2002)
  • Improvements
    • IMU orientation sync
  • Contributors: \@oysstu, \@kevshin2002, Thomas Emter, Tibor Dome, septentrio-users

1.4.2 (2025-02-22)

  • Fixes
    • Add export of compiler directives (thanks to \@oysstu)
    • ROS 1 rebuild (thanks to \@peci1)
  • Improvements
    • Rework TCP connection/reconnection
  • Changes
    • In case INS is not aligned yet but has GNSS heading, a valid orientation with roll and pitch = 0.0 will be published.
  • Contributors: Martin Pecka, Thomas Emter, \@oysstu, Tibor Dome, septentrio-users

1.4.1 (2024-08-04)

  • Fixes
    • Lever arm calculation from tf
    • NavSatStatus and GPSFixStatus
    • Orientation in pose topic of GNSS
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.0 (2024-05-21)

  • New features
    • Send custom commands via ASCII file on startup
    • Save config to boot after setup
    • NTP and PTP server options (BREAKING: NTP is not setup automatically for [use_gnss_time: true]{.title-ref} anymore)
    • Receiver status on [/diagnostics]{.title-ref}
    • Option to publish only valid SBF block messages
    • Option to auto publish available messages for [configure_rx: false]{.title-ref}
  • Changes
    • Change floating point do-not-use-values to NaN (BREAKING in case these values are used for validity checks downstream)
    • VSM now uses separate TCP device specified IP server
  • Improvements
    • Rework some sections of the README
    • Combine ROS 1 and ROS 2 in one branch
    • Change GPSFix publishing policy to allow for high update

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged septentrio_gnss_driver at Robotics Stack Exchange

No version for distro eloquent 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

Tags No category tags.
Version 1.4.4
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2025-06-06
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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, 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/IP and USB connections, the latter being compatible with both serial (RNDIS) and TCP/IP 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-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receiver
  • 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.

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`. + 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.10.0 for GNSS and >= 1.3.2 for INS. 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 does not support PTP server clock as of now. + 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 custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true frame_id: gnss imu_frame_id: imu poi_frame_id: base_link vsm_frame_id: vsm aux1_frame_id: aux1 vehicle_frame_id: base_link insert_local_frame: false local_frame_id: odom File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/.)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.4.4 (2025-06-06)

  • Fixes
    • Readme on PVT messages for INS
    • Deprecation of ament_target_dependencies in Rolling
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.3 (2025-05-09)

  • Fixes
    • Resolve issues with removed/renamed functionality in boost 1.87 (thanks to \@oysstu)
    • VSM data not being sent to the rx if configure_rx is false
    • ROS 2 Rolling regression (thanks to \@kevshin2002)
  • Improvements
    • IMU orientation sync
  • Contributors: \@oysstu, \@kevshin2002, Thomas Emter, Tibor Dome, septentrio-users

1.4.2 (2025-02-22)

  • Fixes
    • Add export of compiler directives (thanks to \@oysstu)
    • ROS 1 rebuild (thanks to \@peci1)
  • Improvements
    • Rework TCP connection/reconnection
  • Changes
    • In case INS is not aligned yet but has GNSS heading, a valid orientation with roll and pitch = 0.0 will be published.
  • Contributors: Martin Pecka, Thomas Emter, \@oysstu, Tibor Dome, septentrio-users

1.4.1 (2024-08-04)

  • Fixes
    • Lever arm calculation from tf
    • NavSatStatus and GPSFixStatus
    • Orientation in pose topic of GNSS
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.0 (2024-05-21)

  • New features
    • Send custom commands via ASCII file on startup
    • Save config to boot after setup
    • NTP and PTP server options (BREAKING: NTP is not setup automatically for [use_gnss_time: true]{.title-ref} anymore)
    • Receiver status on [/diagnostics]{.title-ref}
    • Option to publish only valid SBF block messages
    • Option to auto publish available messages for [configure_rx: false]{.title-ref}
  • Changes
    • Change floating point do-not-use-values to NaN (BREAKING in case these values are used for validity checks downstream)
    • VSM now uses separate TCP device specified IP server
  • Improvements
    • Rework some sections of the README
    • Combine ROS 1 and ROS 2 in one branch
    • Change GPSFix publishing policy to allow for high update

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged septentrio_gnss_driver at Robotics Stack Exchange

No version for distro dashing 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

Tags No category tags.
Version 1.4.4
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2025-06-06
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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, 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/IP and USB connections, the latter being compatible with both serial (RNDIS) and TCP/IP 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-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receiver
  • 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.

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`. + 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.10.0 for GNSS and >= 1.3.2 for INS. 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 does not support PTP server clock as of now. + 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 custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true frame_id: gnss imu_frame_id: imu poi_frame_id: base_link vsm_frame_id: vsm aux1_frame_id: aux1 vehicle_frame_id: base_link insert_local_frame: false local_frame_id: odom File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/.)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.4.4 (2025-06-06)

  • Fixes
    • Readme on PVT messages for INS
    • Deprecation of ament_target_dependencies in Rolling
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.3 (2025-05-09)

  • Fixes
    • Resolve issues with removed/renamed functionality in boost 1.87 (thanks to \@oysstu)
    • VSM data not being sent to the rx if configure_rx is false
    • ROS 2 Rolling regression (thanks to \@kevshin2002)
  • Improvements
    • IMU orientation sync
  • Contributors: \@oysstu, \@kevshin2002, Thomas Emter, Tibor Dome, septentrio-users

1.4.2 (2025-02-22)

  • Fixes
    • Add export of compiler directives (thanks to \@oysstu)
    • ROS 1 rebuild (thanks to \@peci1)
  • Improvements
    • Rework TCP connection/reconnection
  • Changes
    • In case INS is not aligned yet but has GNSS heading, a valid orientation with roll and pitch = 0.0 will be published.
  • Contributors: Martin Pecka, Thomas Emter, \@oysstu, Tibor Dome, septentrio-users

1.4.1 (2024-08-04)

  • Fixes
    • Lever arm calculation from tf
    • NavSatStatus and GPSFixStatus
    • Orientation in pose topic of GNSS
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.0 (2024-05-21)

  • New features
    • Send custom commands via ASCII file on startup
    • Save config to boot after setup
    • NTP and PTP server options (BREAKING: NTP is not setup automatically for [use_gnss_time: true]{.title-ref} anymore)
    • Receiver status on [/diagnostics]{.title-ref}
    • Option to publish only valid SBF block messages
    • Option to auto publish available messages for [configure_rx: false]{.title-ref}
  • Changes
    • Change floating point do-not-use-values to NaN (BREAKING in case these values are used for validity checks downstream)
    • VSM now uses separate TCP device specified IP server
  • Improvements
    • Rework some sections of the README
    • Combine ROS 1 and ROS 2 in one branch
    • Change GPSFix publishing policy to allow for high update

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

Tags No category tags.
Version 1.4.4
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2025-06-06
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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, 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/IP and USB connections, the latter being compatible with both serial (RNDIS) and TCP/IP 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-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receiver
  • 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.

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`. + 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.10.0 for GNSS and >= 1.3.2 for INS. 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 does not support PTP server clock as of now. + 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 custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true frame_id: gnss imu_frame_id: imu poi_frame_id: base_link vsm_frame_id: vsm aux1_frame_id: aux1 vehicle_frame_id: base_link insert_local_frame: false local_frame_id: odom File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/.)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.4.4 (2025-06-06)

  • Fixes
    • Readme on PVT messages for INS
    • Deprecation of ament_target_dependencies in Rolling
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.3 (2025-05-09)

  • Fixes
    • Resolve issues with removed/renamed functionality in boost 1.87 (thanks to \@oysstu)
    • VSM data not being sent to the rx if configure_rx is false
    • ROS 2 Rolling regression (thanks to \@kevshin2002)
  • Improvements
    • IMU orientation sync
  • Contributors: \@oysstu, \@kevshin2002, Thomas Emter, Tibor Dome, septentrio-users

1.4.2 (2025-02-22)

  • Fixes
    • Add export of compiler directives (thanks to \@oysstu)
    • ROS 1 rebuild (thanks to \@peci1)
  • Improvements
    • Rework TCP connection/reconnection
  • Changes
    • In case INS is not aligned yet but has GNSS heading, a valid orientation with roll and pitch = 0.0 will be published.
  • Contributors: Martin Pecka, Thomas Emter, \@oysstu, Tibor Dome, septentrio-users

1.4.1 (2024-08-04)

  • Fixes
    • Lever arm calculation from tf
    • NavSatStatus and GPSFixStatus
    • Orientation in pose topic of GNSS
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.0 (2024-05-21)

  • New features
    • Send custom commands via ASCII file on startup
    • Save config to boot after setup
    • NTP and PTP server options (BREAKING: NTP is not setup automatically for [use_gnss_time: true]{.title-ref} anymore)
    • Receiver status on [/diagnostics]{.title-ref}
    • Option to publish only valid SBF block messages
    • Option to auto publish available messages for [configure_rx: false]{.title-ref}
  • Changes
    • Change floating point do-not-use-values to NaN (BREAKING in case these values are used for validity checks downstream)
    • VSM now uses separate TCP device specified IP server
  • Improvements
    • Rework some sections of the README
    • Combine ROS 1 and ROS 2 in one branch
    • Change GPSFix publishing policy to allow for high update

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged septentrio_gnss_driver at Robotics Stack Exchange

No version for distro foxy 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

Tags No category tags.
Version 1.4.4
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2025-06-06
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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, 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/IP and USB connections, the latter being compatible with both serial (RNDIS) and TCP/IP 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-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receiver
  • 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.

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`. + 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.10.0 for GNSS and >= 1.3.2 for INS. 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 does not support PTP server clock as of now. + 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 custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true frame_id: gnss imu_frame_id: imu poi_frame_id: base_link vsm_frame_id: vsm aux1_frame_id: aux1 vehicle_frame_id: base_link insert_local_frame: false local_frame_id: odom File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/.)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.4.4 (2025-06-06)

  • Fixes
    • Readme on PVT messages for INS
    • Deprecation of ament_target_dependencies in Rolling
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.3 (2025-05-09)

  • Fixes
    • Resolve issues with removed/renamed functionality in boost 1.87 (thanks to \@oysstu)
    • VSM data not being sent to the rx if configure_rx is false
    • ROS 2 Rolling regression (thanks to \@kevshin2002)
  • Improvements
    • IMU orientation sync
  • Contributors: \@oysstu, \@kevshin2002, Thomas Emter, Tibor Dome, septentrio-users

1.4.2 (2025-02-22)

  • Fixes
    • Add export of compiler directives (thanks to \@oysstu)
    • ROS 1 rebuild (thanks to \@peci1)
  • Improvements
    • Rework TCP connection/reconnection
  • Changes
    • In case INS is not aligned yet but has GNSS heading, a valid orientation with roll and pitch = 0.0 will be published.
  • Contributors: Martin Pecka, Thomas Emter, \@oysstu, Tibor Dome, septentrio-users

1.4.1 (2024-08-04)

  • Fixes
    • Lever arm calculation from tf
    • NavSatStatus and GPSFixStatus
    • Orientation in pose topic of GNSS
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.0 (2024-05-21)

  • New features
    • Send custom commands via ASCII file on startup
    • Save config to boot after setup
    • NTP and PTP server options (BREAKING: NTP is not setup automatically for [use_gnss_time: true]{.title-ref} anymore)
    • Receiver status on [/diagnostics]{.title-ref}
    • Option to publish only valid SBF block messages
    • Option to auto publish available messages for [configure_rx: false]{.title-ref}
  • Changes
    • Change floating point do-not-use-values to NaN (BREAKING in case these values are used for validity checks downstream)
    • VSM now uses separate TCP device specified IP server
  • Improvements
    • Rework some sections of the README
    • Combine ROS 1 and ROS 2 in one branch
    • Change GPSFix publishing policy to allow for high update

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

Tags No category tags.
Version 1.4.4
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2025-06-06
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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, 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/IP and USB connections, the latter being compatible with both serial (RNDIS) and TCP/IP 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-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receiver
  • 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.

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`. + 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.10.0 for GNSS and >= 1.3.2 for INS. 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 does not support PTP server clock as of now. + 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 custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true frame_id: gnss imu_frame_id: imu poi_frame_id: base_link vsm_frame_id: vsm aux1_frame_id: aux1 vehicle_frame_id: base_link insert_local_frame: false local_frame_id: odom File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/.)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.4.4 (2025-06-06)

  • Fixes
    • Readme on PVT messages for INS
    • Deprecation of ament_target_dependencies in Rolling
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.3 (2025-05-09)

  • Fixes
    • Resolve issues with removed/renamed functionality in boost 1.87 (thanks to \@oysstu)
    • VSM data not being sent to the rx if configure_rx is false
    • ROS 2 Rolling regression (thanks to \@kevshin2002)
  • Improvements
    • IMU orientation sync
  • Contributors: \@oysstu, \@kevshin2002, Thomas Emter, Tibor Dome, septentrio-users

1.4.2 (2025-02-22)

  • Fixes
    • Add export of compiler directives (thanks to \@oysstu)
    • ROS 1 rebuild (thanks to \@peci1)
  • Improvements
    • Rework TCP connection/reconnection
  • Changes
    • In case INS is not aligned yet but has GNSS heading, a valid orientation with roll and pitch = 0.0 will be published.
  • Contributors: Martin Pecka, Thomas Emter, \@oysstu, Tibor Dome, septentrio-users

1.4.1 (2024-08-04)

  • Fixes
    • Lever arm calculation from tf
    • NavSatStatus and GPSFixStatus
    • Orientation in pose topic of GNSS
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.0 (2024-05-21)

  • New features
    • Send custom commands via ASCII file on startup
    • Save config to boot after setup
    • NTP and PTP server options (BREAKING: NTP is not setup automatically for [use_gnss_time: true]{.title-ref} anymore)
    • Receiver status on [/diagnostics]{.title-ref}
    • Option to publish only valid SBF block messages
    • Option to auto publish available messages for [configure_rx: false]{.title-ref}
  • Changes
    • Change floating point do-not-use-values to NaN (BREAKING in case these values are used for validity checks downstream)
    • VSM now uses separate TCP device specified IP server
  • Improvements
    • Rework some sections of the README
    • Combine ROS 1 and ROS 2 in one branch
    • Change GPSFix publishing policy to allow for high update

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged septentrio_gnss_driver at Robotics Stack Exchange

No version for distro lunar 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

Tags No category tags.
Version 1.4.4
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2025-06-06
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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, 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/IP and USB connections, the latter being compatible with both serial (RNDIS) and TCP/IP 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-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receiver
  • 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.

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`. + 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.10.0 for GNSS and >= 1.3.2 for INS. 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 does not support PTP server clock as of now. + 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 custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true frame_id: gnss imu_frame_id: imu poi_frame_id: base_link vsm_frame_id: vsm aux1_frame_id: aux1 vehicle_frame_id: base_link insert_local_frame: false local_frame_id: odom File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/.)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.4.4 (2025-06-06)

  • Fixes
    • Readme on PVT messages for INS
    • Deprecation of ament_target_dependencies in Rolling
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.3 (2025-05-09)

  • Fixes
    • Resolve issues with removed/renamed functionality in boost 1.87 (thanks to \@oysstu)
    • VSM data not being sent to the rx if configure_rx is false
    • ROS 2 Rolling regression (thanks to \@kevshin2002)
  • Improvements
    • IMU orientation sync
  • Contributors: \@oysstu, \@kevshin2002, Thomas Emter, Tibor Dome, septentrio-users

1.4.2 (2025-02-22)

  • Fixes
    • Add export of compiler directives (thanks to \@oysstu)
    • ROS 1 rebuild (thanks to \@peci1)
  • Improvements
    • Rework TCP connection/reconnection
  • Changes
    • In case INS is not aligned yet but has GNSS heading, a valid orientation with roll and pitch = 0.0 will be published.
  • Contributors: Martin Pecka, Thomas Emter, \@oysstu, Tibor Dome, septentrio-users

1.4.1 (2024-08-04)

  • Fixes
    • Lever arm calculation from tf
    • NavSatStatus and GPSFixStatus
    • Orientation in pose topic of GNSS
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.0 (2024-05-21)

  • New features
    • Send custom commands via ASCII file on startup
    • Save config to boot after setup
    • NTP and PTP server options (BREAKING: NTP is not setup automatically for [use_gnss_time: true]{.title-ref} anymore)
    • Receiver status on [/diagnostics]{.title-ref}
    • Option to publish only valid SBF block messages
    • Option to auto publish available messages for [configure_rx: false]{.title-ref}
  • Changes
    • Change floating point do-not-use-values to NaN (BREAKING in case these values are used for validity checks downstream)
    • VSM now uses separate TCP device specified IP server
  • Improvements
    • Rework some sections of the README
    • Combine ROS 1 and ROS 2 in one branch
    • Change GPSFix publishing policy to allow for high update

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged septentrio_gnss_driver at Robotics Stack Exchange

No version for distro jade 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

Tags No category tags.
Version 1.4.4
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2025-06-06
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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, 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/IP and USB connections, the latter being compatible with both serial (RNDIS) and TCP/IP 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-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receiver
  • 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.

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`. + 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.10.0 for GNSS and >= 1.3.2 for INS. 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 does not support PTP server clock as of now. + 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 custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true frame_id: gnss imu_frame_id: imu poi_frame_id: base_link vsm_frame_id: vsm aux1_frame_id: aux1 vehicle_frame_id: base_link insert_local_frame: false local_frame_id: odom File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/.)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.4.4 (2025-06-06)

  • Fixes
    • Readme on PVT messages for INS
    • Deprecation of ament_target_dependencies in Rolling
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.3 (2025-05-09)

  • Fixes
    • Resolve issues with removed/renamed functionality in boost 1.87 (thanks to \@oysstu)
    • VSM data not being sent to the rx if configure_rx is false
    • ROS 2 Rolling regression (thanks to \@kevshin2002)
  • Improvements
    • IMU orientation sync
  • Contributors: \@oysstu, \@kevshin2002, Thomas Emter, Tibor Dome, septentrio-users

1.4.2 (2025-02-22)

  • Fixes
    • Add export of compiler directives (thanks to \@oysstu)
    • ROS 1 rebuild (thanks to \@peci1)
  • Improvements
    • Rework TCP connection/reconnection
  • Changes
    • In case INS is not aligned yet but has GNSS heading, a valid orientation with roll and pitch = 0.0 will be published.
  • Contributors: Martin Pecka, Thomas Emter, \@oysstu, Tibor Dome, septentrio-users

1.4.1 (2024-08-04)

  • Fixes
    • Lever arm calculation from tf
    • NavSatStatus and GPSFixStatus
    • Orientation in pose topic of GNSS
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.0 (2024-05-21)

  • New features
    • Send custom commands via ASCII file on startup
    • Save config to boot after setup
    • NTP and PTP server options (BREAKING: NTP is not setup automatically for [use_gnss_time: true]{.title-ref} anymore)
    • Receiver status on [/diagnostics]{.title-ref}
    • Option to publish only valid SBF block messages
    • Option to auto publish available messages for [configure_rx: false]{.title-ref}
  • Changes
    • Change floating point do-not-use-values to NaN (BREAKING in case these values are used for validity checks downstream)
    • VSM now uses separate TCP device specified IP server
  • Improvements
    • Rework some sections of the README
    • Combine ROS 1 and ROS 2 in one branch
    • Change GPSFix publishing policy to allow for high update

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged septentrio_gnss_driver at Robotics Stack Exchange

No version for distro indigo 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

Tags No category tags.
Version 1.4.4
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2025-06-06
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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, 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/IP and USB connections, the latter being compatible with both serial (RNDIS) and TCP/IP 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-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receiver
  • 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.

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`. + 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.10.0 for GNSS and >= 1.3.2 for INS. 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 does not support PTP server clock as of now. + 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 custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true frame_id: gnss imu_frame_id: imu poi_frame_id: base_link vsm_frame_id: vsm aux1_frame_id: aux1 vehicle_frame_id: base_link insert_local_frame: false local_frame_id: odom File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/.)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.4.4 (2025-06-06)

  • Fixes
    • Readme on PVT messages for INS
    • Deprecation of ament_target_dependencies in Rolling
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.3 (2025-05-09)

  • Fixes
    • Resolve issues with removed/renamed functionality in boost 1.87 (thanks to \@oysstu)
    • VSM data not being sent to the rx if configure_rx is false
    • ROS 2 Rolling regression (thanks to \@kevshin2002)
  • Improvements
    • IMU orientation sync
  • Contributors: \@oysstu, \@kevshin2002, Thomas Emter, Tibor Dome, septentrio-users

1.4.2 (2025-02-22)

  • Fixes
    • Add export of compiler directives (thanks to \@oysstu)
    • ROS 1 rebuild (thanks to \@peci1)
  • Improvements
    • Rework TCP connection/reconnection
  • Changes
    • In case INS is not aligned yet but has GNSS heading, a valid orientation with roll and pitch = 0.0 will be published.
  • Contributors: Martin Pecka, Thomas Emter, \@oysstu, Tibor Dome, septentrio-users

1.4.1 (2024-08-04)

  • Fixes
    • Lever arm calculation from tf
    • NavSatStatus and GPSFixStatus
    • Orientation in pose topic of GNSS
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.0 (2024-05-21)

  • New features
    • Send custom commands via ASCII file on startup
    • Save config to boot after setup
    • NTP and PTP server options (BREAKING: NTP is not setup automatically for [use_gnss_time: true]{.title-ref} anymore)
    • Receiver status on [/diagnostics]{.title-ref}
    • Option to publish only valid SBF block messages
    • Option to auto publish available messages for [configure_rx: false]{.title-ref}
  • Changes
    • Change floating point do-not-use-values to NaN (BREAKING in case these values are used for validity checks downstream)
    • VSM now uses separate TCP device specified IP server
  • Improvements
    • Rework some sections of the README
    • Combine ROS 1 and ROS 2 in one branch
    • Change GPSFix publishing policy to allow for high update

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged septentrio_gnss_driver at Robotics Stack Exchange

No version for distro hydro 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

Tags No category tags.
Version 1.4.4
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2025-06-06
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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, 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/IP and USB connections, the latter being compatible with both serial (RNDIS) and TCP/IP 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-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receiver
  • 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.

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`. + 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.10.0 for GNSS and >= 1.3.2 for INS. 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 does not support PTP server clock as of now. + 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 custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true frame_id: gnss imu_frame_id: imu poi_frame_id: base_link vsm_frame_id: vsm aux1_frame_id: aux1 vehicle_frame_id: base_link insert_local_frame: false local_frame_id: odom File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/.)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.4.4 (2025-06-06)

  • Fixes
    • Readme on PVT messages for INS
    • Deprecation of ament_target_dependencies in Rolling
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.3 (2025-05-09)

  • Fixes
    • Resolve issues with removed/renamed functionality in boost 1.87 (thanks to \@oysstu)
    • VSM data not being sent to the rx if configure_rx is false
    • ROS 2 Rolling regression (thanks to \@kevshin2002)
  • Improvements
    • IMU orientation sync
  • Contributors: \@oysstu, \@kevshin2002, Thomas Emter, Tibor Dome, septentrio-users

1.4.2 (2025-02-22)

  • Fixes
    • Add export of compiler directives (thanks to \@oysstu)
    • ROS 1 rebuild (thanks to \@peci1)
  • Improvements
    • Rework TCP connection/reconnection
  • Changes
    • In case INS is not aligned yet but has GNSS heading, a valid orientation with roll and pitch = 0.0 will be published.
  • Contributors: Martin Pecka, Thomas Emter, \@oysstu, Tibor Dome, septentrio-users

1.4.1 (2024-08-04)

  • Fixes
    • Lever arm calculation from tf
    • NavSatStatus and GPSFixStatus
    • Orientation in pose topic of GNSS
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.0 (2024-05-21)

  • New features
    • Send custom commands via ASCII file on startup
    • Save config to boot after setup
    • NTP and PTP server options (BREAKING: NTP is not setup automatically for [use_gnss_time: true]{.title-ref} anymore)
    • Receiver status on [/diagnostics]{.title-ref}
    • Option to publish only valid SBF block messages
    • Option to auto publish available messages for [configure_rx: false]{.title-ref}
  • Changes
    • Change floating point do-not-use-values to NaN (BREAKING in case these values are used for validity checks downstream)
    • VSM now uses separate TCP device specified IP server
  • Improvements
    • Rework some sections of the README
    • Combine ROS 1 and ROS 2 in one branch
    • Change GPSFix publishing policy to allow for high update

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged septentrio_gnss_driver at Robotics Stack Exchange

No version for distro kinetic 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

Tags No category tags.
Version 1.4.4
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2025-06-06
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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, 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/IP and USB connections, the latter being compatible with both serial (RNDIS) and TCP/IP 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-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receiver
  • 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.

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`. + 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.10.0 for GNSS and >= 1.3.2 for INS. 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 does not support PTP server clock as of now. + 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 custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true frame_id: gnss imu_frame_id: imu poi_frame_id: base_link vsm_frame_id: vsm aux1_frame_id: aux1 vehicle_frame_id: base_link insert_local_frame: false local_frame_id: odom File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/.)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.4.4 (2025-06-06)

  • Fixes
    • Readme on PVT messages for INS
    • Deprecation of ament_target_dependencies in Rolling
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.3 (2025-05-09)

  • Fixes
    • Resolve issues with removed/renamed functionality in boost 1.87 (thanks to \@oysstu)
    • VSM data not being sent to the rx if configure_rx is false
    • ROS 2 Rolling regression (thanks to \@kevshin2002)
  • Improvements
    • IMU orientation sync
  • Contributors: \@oysstu, \@kevshin2002, Thomas Emter, Tibor Dome, septentrio-users

1.4.2 (2025-02-22)

  • Fixes
    • Add export of compiler directives (thanks to \@oysstu)
    • ROS 1 rebuild (thanks to \@peci1)
  • Improvements
    • Rework TCP connection/reconnection
  • Changes
    • In case INS is not aligned yet but has GNSS heading, a valid orientation with roll and pitch = 0.0 will be published.
  • Contributors: Martin Pecka, Thomas Emter, \@oysstu, Tibor Dome, septentrio-users

1.4.1 (2024-08-04)

  • Fixes
    • Lever arm calculation from tf
    • NavSatStatus and GPSFixStatus
    • Orientation in pose topic of GNSS
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.0 (2024-05-21)

  • New features
    • Send custom commands via ASCII file on startup
    • Save config to boot after setup
    • NTP and PTP server options (BREAKING: NTP is not setup automatically for [use_gnss_time: true]{.title-ref} anymore)
    • Receiver status on [/diagnostics]{.title-ref}
    • Option to publish only valid SBF block messages
    • Option to auto publish available messages for [configure_rx: false]{.title-ref}
  • Changes
    • Change floating point do-not-use-values to NaN (BREAKING in case these values are used for validity checks downstream)
    • VSM now uses separate TCP device specified IP server
  • Improvements
    • Rework some sections of the README
    • Combine ROS 1 and ROS 2 in one branch
    • Change GPSFix publishing policy to allow for high update

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

Tags No category tags.
Version 1.4.4
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2025-06-06
Dev Status MAINTAINED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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, 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/IP and USB connections, the latter being compatible with both serial (RNDIS) and TCP/IP 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-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receiver
  • 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.

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`. + 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.10.0 for GNSS and >= 1.3.2 for INS. 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 does not support PTP server clock as of now. + 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 custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true frame_id: gnss imu_frame_id: imu poi_frame_id: base_link vsm_frame_id: vsm aux1_frame_id: aux1 vehicle_frame_id: base_link insert_local_frame: false local_frame_id: odom File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/.)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.4.4 (2025-06-06)

  • Fixes
    • Readme on PVT messages for INS
    • Deprecation of ament_target_dependencies in Rolling
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.3 (2025-05-09)

  • Fixes
    • Resolve issues with removed/renamed functionality in boost 1.87 (thanks to \@oysstu)
    • VSM data not being sent to the rx if configure_rx is false
    • ROS 2 Rolling regression (thanks to \@kevshin2002)
  • Improvements
    • IMU orientation sync
  • Contributors: \@oysstu, \@kevshin2002, Thomas Emter, Tibor Dome, septentrio-users

1.4.2 (2025-02-22)

  • Fixes
    • Add export of compiler directives (thanks to \@oysstu)
    • ROS 1 rebuild (thanks to \@peci1)
  • Improvements
    • Rework TCP connection/reconnection
  • Changes
    • In case INS is not aligned yet but has GNSS heading, a valid orientation with roll and pitch = 0.0 will be published.
  • Contributors: Martin Pecka, Thomas Emter, \@oysstu, Tibor Dome, septentrio-users

1.4.1 (2024-08-04)

  • Fixes
    • Lever arm calculation from tf
    • NavSatStatus and GPSFixStatus
    • Orientation in pose topic of GNSS
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.0 (2024-05-21)

  • New features
    • Send custom commands via ASCII file on startup
    • Save config to boot after setup
    • NTP and PTP server options (BREAKING: NTP is not setup automatically for [use_gnss_time: true]{.title-ref} anymore)
    • Receiver status on [/diagnostics]{.title-ref}
    • Option to publish only valid SBF block messages
    • Option to auto publish available messages for [configure_rx: false]{.title-ref}
  • Changes
    • Change floating point do-not-use-values to NaN (BREAKING in case these values are used for validity checks downstream)
    • VSM now uses separate TCP device specified IP server
  • Improvements
    • Rework some sections of the README
    • Combine ROS 1 and ROS 2 in one branch
    • Change GPSFix publishing policy to allow for high update

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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

Tags No category tags.
Version 1.4.4
License BSD 3-Clause License
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/septentrio-gnss/septentrio_gnss_driver.git
VCS Type git
VCS Version master
Last Updated 2025-06-06
Dev Status MAINTAINED
CI status Continuous Integration : 0 / 0
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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, 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/IP and USB connections, the latter being compatible with both serial (RNDIS) and TCP/IP 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-X5, mosaic-H, AsteRx-m3 Pro+, AsteRx-SB Pro+ and the AsteRx-SBi3 Pro receiver
  • 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.

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`. + 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.10.0 for GNSS and >= 1.3.2 for INS. 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 does not support PTP server clock as of now. + 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 custom_commands_file: "" login: user: "" password: "" osnma: mode: "off" ntp_server: "" keep_open: true frame_id: gnss imu_frame_id: imu poi_frame_id: base_link vsm_frame_id: vsm aux1_frame_id: aux1 vehicle_frame_id: base_link insert_local_frame: false local_frame_id: odom File truncated at 100 lines [see the full file](https://github.com/septentrio-gnss/septentrio_gnss_driver/tree/master/.)
CHANGELOG

Changelog for package septentrio_gnss_driver

1.4.4 (2025-06-06)

  • Fixes
    • Readme on PVT messages for INS
    • Deprecation of ament_target_dependencies in Rolling
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.3 (2025-05-09)

  • Fixes
    • Resolve issues with removed/renamed functionality in boost 1.87 (thanks to \@oysstu)
    • VSM data not being sent to the rx if configure_rx is false
    • ROS 2 Rolling regression (thanks to \@kevshin2002)
  • Improvements
    • IMU orientation sync
  • Contributors: \@oysstu, \@kevshin2002, Thomas Emter, Tibor Dome, septentrio-users

1.4.2 (2025-02-22)

  • Fixes
    • Add export of compiler directives (thanks to \@oysstu)
    • ROS 1 rebuild (thanks to \@peci1)
  • Improvements
    • Rework TCP connection/reconnection
  • Changes
    • In case INS is not aligned yet but has GNSS heading, a valid orientation with roll and pitch = 0.0 will be published.
  • Contributors: Martin Pecka, Thomas Emter, \@oysstu, Tibor Dome, septentrio-users

1.4.1 (2024-08-04)

  • Fixes
    • Lever arm calculation from tf
    • NavSatStatus and GPSFixStatus
    • Orientation in pose topic of GNSS
  • Contributors: Thomas Emter, Tibor Dome, septentrio-users

1.4.0 (2024-05-21)

  • New features
    • Send custom commands via ASCII file on startup
    • Save config to boot after setup
    • NTP and PTP server options (BREAKING: NTP is not setup automatically for [use_gnss_time: true]{.title-ref} anymore)
    • Receiver status on [/diagnostics]{.title-ref}
    • Option to publish only valid SBF block messages
    • Option to auto publish available messages for [configure_rx: false]{.title-ref}
  • Changes
    • Change floating point do-not-use-values to NaN (BREAKING in case these values are used for validity checks downstream)
    • VSM now uses separate TCP device specified IP server
  • Improvements
    • Rework some sections of the README
    • Combine ROS 1 and ROS 2 in one branch
    • Change GPSFix publishing policy to allow for high update

File truncated at 100 lines see the full file

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged septentrio_gnss_driver at Robotics Stack Exchange