Package symbol

sbg_driver package from sbg_driver repo

sbg_driver

ROS Distro
humble

Package Summary

Tags No category tags.
Version 3.3.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 driver for SBG Systems IMU/AHRS/INS units such as ELLIPSE or QUANTA.
Checkout URI https://github.com/SBG-Systems/sbg_ros2.git
VCS Type git
VCS Version master
Last Updated 2025-10-17
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS driver package for communication with the SBG navigation systems.

Additional Links

Maintainers

  • SBG Systems

Authors

  • SBG Systems

sbg_driver

ROS2 driver package for SBG Systems IMU, AHRS and INS.
This driver package uses the sbgECom binary protocol to read data and configure SBG Systems devices.

Initial work has been done by ENSTA Bretagne.

Author: SBG Systems
Maintainer: SBG Systems
Contact: support@sbg-systems.com

Features

The driver supports all SBG systems sensors, IMUs, AHRS and INS, with a various degree of configurations available.

The driver supports the following features:

  • Parse IMU/AHRS/INS/GNSS using the sbgECom protocol
  • Publish standard ROS2 messages and more detailed specific SBG Systems topics
  • Subscribe and forward RTCM data to support DGPS/RTK mode with centimeters-level accuracy
  • Calibrate 2D/3D magnetic field using the on-board ELLIPSE algorithms
  • Configure ELLIPSE products using yaml files (see note below)

[!NOTE] While the ROS2 drivers can be used with all SBG Systems sensors, the drivers can only be used to configure the Ellipse family. For other INS such as EKINOX, APOGEE and QUANTA, please use the sbgInsRestApi For the PULSE-40, please use the sbgEcom encapsulation of the sbgInsRestApi: see our Getting started Guide

Installation

Installation from Packages

User can install the sbg_ros2_driver through the standard ROS2 installation system.

  • Humble sudo apt-get install ros-humble-sbg-driver
  • Galactic sudo apt-get install ros-galactic-sbg-driver
  • Foxy sudo apt-get install ros-foxy-sbg-driver

Building from sources

Dependencies

Building

  1. Clone the repository (use a Release version)
  2. Build using the ROS2 colcon build system
cd colcon_ws/src
git clone https://github.com/SBG-Systems/sbg_ros2_driver.git
cd sbg_ros2_driver
rosdep update
rosdep install --from-path .
cd ../..
colcon build
source install/setup.bash

Usage

To run the default ROS2 node with the default configuration file

ros2 launch sbg_driver sbg_device_launch.py

To run the magnetic calibration node

ros2 launch sbg_driver sbg_device_mag_calibration_launch.py

Config files

Default config files

Every configuration file is defined according to the same structure.

  • sbg_device_uart_default.yaml This config file is the default one for UART connection with the device.
    It does not configure the device through the ROS2 node, so it has to be previously configured (manually or with the ROS2 node).
    It defines a few outputs for the device:
    • /sbg/imu_data, /sbg/ekf_quat at 25Hz
    • ROS2 standard outputs /imu/data, /imu/velocity, /imu/temp at 25Hz
    • /sbg/status, /sbg/utc_time and /imu/utc_ref at 1Hz.
  • sbg_device_udp_default.yaml This config file is the default one for an UDP connection with the device.
    It does not configure the device through the ROS2 node, so it has to be previously configured (manually).
    It defines a few outputs for the device:
    • /sbg/imu_data, /sbg/ekf_quat at 25Hz
    • ROS2 standard outputs /imu/data, /imu/velocity, /imu/temp at 25Hz
    • /sbg/status, /sbg/utc_time and /imu/utc_ref at 1Hz.

Example config files

  • ellipse_A_default.yaml Default config file for an Ellipse-A.

  • ellipse_E_default.yaml Default config file for an Ellipse-E with an external NMEA GNSS.

  • ellipse_N_default.yaml Default config file for an Ellipse-N using internal GNSS.

  • ellipse_D_default.yaml Default config file for an Ellipse-D using internal GNSS.

Launch files

Default launch files

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package sbg_driver

3.3.0 (2025-10-17)

  • Update README.md
  • Don't apply scale factor on SbgImuData message, it already has the good unit
  • Update sbgECom to latest stable
  • Fix transformations to use correct parents and children frames
  • Issue-35 Add Ellipse STL and URDF files
  • fix lon&lat minutes snprintf format error in NMEA sentence for ntrip
  • Update README
  • uart: implement baudrate discovery mechanism
  • Apply LSB on IMU messages
  • Add file mode to replay sbgECom logs on the driver
  • Provide /imu/data topic even if orientation is not available
  • Handle INS internal clock rollover
  • Fix timestamp computation for out-of-order messages
  • Use cmake fetch content to get sbgECom, get the latest release and fix compilation issue
  • Send odometry topic as soon as the solution mode is full navigation instead of waiting for position valid flag
  • Use imu_short to populate standard topics
  • Improved documentation
  • Contributors: Christoph Gruber, Kaoutar Benmakhlouf, Samuel Toledano, djason-todd

3.2.0 (2024-10-17)

  • Update README with ROS2 commands to launch magnetic calibration

  • Fix segfault when running magnetic calibration

  • Removed unused flags from SbgEkfStatus message

  • Added new flags to SbgShipMotionStatus message

  • Improved SbgStatusAiding message with new flags

  • Improved SbgPosStatus message with new flags

  • Improved SbgEkfStatus message with new flags

  • Improved SbgStatusGeneral message with datalogger and cpu flags

  • Updated documentation for sbgGpsPos message

  • Updated documentation for sbgGpsHdt message

  • Improved SbgUtcTime message with internal clock quality indicators

  • Improved SbgStatusCom message with ethernet tx and rx status

  • Improved SbgGpsHdt message with number of SV tracked and used

  • Improved SbgGpsPos message with numSvTracked

  • Improved SbgGpsPosStatus message with spoofing, jamming and OSNMA status

  • Updated config files with new messages

  • Removed obsolete documentation

  • Updated published topic list

  • Added missing topic names

  • Updated dependencies requirement

  • Added settings log_ekf_rot_accel_body / log_ekf_rot_accel_ned / log_ekf_vel_body

  • Fixed functions description

  • Added SbgEkfRotAccel body and NED messages

  • Added SbgEkfVelBody message

  • Fixing compiling issues

  • Updated sbgECom lib with version 4.0-1987-stable

  • Fixed typos about lever arm

  • Fixed config applier for IMU Alignment / Aiding / Odometer lever arms

  • Remove boost dependency (cherry picked from commit ab54c33f1e442c3737dd8e1c09a8b6f36c2c1afa)

  • Cleanup

  • Moved LLAtoECEF into a helper

  • Variable naming

  • WIP code cleanup

  • Class documentation

File truncated at 100 lines see the full file

Recent questions tagged sbg_driver at Robotics Stack Exchange

Package symbol

sbg_driver package from sbg_driver repo

sbg_driver

ROS Distro
jazzy

Package Summary

Tags No category tags.
Version 3.3.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 driver for SBG Systems IMU/AHRS/INS units such as ELLIPSE or QUANTA.
Checkout URI https://github.com/SBG-Systems/sbg_ros2.git
VCS Type git
VCS Version master
Last Updated 2025-10-17
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS driver package for communication with the SBG navigation systems.

Additional Links

Maintainers

  • SBG Systems

Authors

  • SBG Systems

sbg_driver

ROS2 driver package for SBG Systems IMU, AHRS and INS.
This driver package uses the sbgECom binary protocol to read data and configure SBG Systems devices.

Initial work has been done by ENSTA Bretagne.

Author: SBG Systems
Maintainer: SBG Systems
Contact: support@sbg-systems.com

Features

The driver supports all SBG systems sensors, IMUs, AHRS and INS, with a various degree of configurations available.

The driver supports the following features:

  • Parse IMU/AHRS/INS/GNSS using the sbgECom protocol
  • Publish standard ROS2 messages and more detailed specific SBG Systems topics
  • Subscribe and forward RTCM data to support DGPS/RTK mode with centimeters-level accuracy
  • Calibrate 2D/3D magnetic field using the on-board ELLIPSE algorithms
  • Configure ELLIPSE products using yaml files (see note below)

[!NOTE] While the ROS2 drivers can be used with all SBG Systems sensors, the drivers can only be used to configure the Ellipse family. For other INS such as EKINOX, APOGEE and QUANTA, please use the sbgInsRestApi For the PULSE-40, please use the sbgEcom encapsulation of the sbgInsRestApi: see our Getting started Guide

Installation

Installation from Packages

User can install the sbg_ros2_driver through the standard ROS2 installation system.

  • Humble sudo apt-get install ros-humble-sbg-driver
  • Galactic sudo apt-get install ros-galactic-sbg-driver
  • Foxy sudo apt-get install ros-foxy-sbg-driver

Building from sources

Dependencies

Building

  1. Clone the repository (use a Release version)
  2. Build using the ROS2 colcon build system
cd colcon_ws/src
git clone https://github.com/SBG-Systems/sbg_ros2_driver.git
cd sbg_ros2_driver
rosdep update
rosdep install --from-path .
cd ../..
colcon build
source install/setup.bash

Usage

To run the default ROS2 node with the default configuration file

ros2 launch sbg_driver sbg_device_launch.py

To run the magnetic calibration node

ros2 launch sbg_driver sbg_device_mag_calibration_launch.py

Config files

Default config files

Every configuration file is defined according to the same structure.

  • sbg_device_uart_default.yaml This config file is the default one for UART connection with the device.
    It does not configure the device through the ROS2 node, so it has to be previously configured (manually or with the ROS2 node).
    It defines a few outputs for the device:
    • /sbg/imu_data, /sbg/ekf_quat at 25Hz
    • ROS2 standard outputs /imu/data, /imu/velocity, /imu/temp at 25Hz
    • /sbg/status, /sbg/utc_time and /imu/utc_ref at 1Hz.
  • sbg_device_udp_default.yaml This config file is the default one for an UDP connection with the device.
    It does not configure the device through the ROS2 node, so it has to be previously configured (manually).
    It defines a few outputs for the device:
    • /sbg/imu_data, /sbg/ekf_quat at 25Hz
    • ROS2 standard outputs /imu/data, /imu/velocity, /imu/temp at 25Hz
    • /sbg/status, /sbg/utc_time and /imu/utc_ref at 1Hz.

Example config files

  • ellipse_A_default.yaml Default config file for an Ellipse-A.

  • ellipse_E_default.yaml Default config file for an Ellipse-E with an external NMEA GNSS.

  • ellipse_N_default.yaml Default config file for an Ellipse-N using internal GNSS.

  • ellipse_D_default.yaml Default config file for an Ellipse-D using internal GNSS.

Launch files

Default launch files

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package sbg_driver

3.3.0 (2025-10-17)

  • Update README.md
  • Don't apply scale factor on SbgImuData message, it already has the good unit
  • Update sbgECom to latest stable
  • Fix transformations to use correct parents and children frames
  • Issue-35 Add Ellipse STL and URDF files
  • fix lon&lat minutes snprintf format error in NMEA sentence for ntrip
  • Update README
  • uart: implement baudrate discovery mechanism
  • Apply LSB on IMU messages
  • Add file mode to replay sbgECom logs on the driver
  • Provide /imu/data topic even if orientation is not available
  • Handle INS internal clock rollover
  • Fix timestamp computation for out-of-order messages
  • Use cmake fetch content to get sbgECom, get the latest release and fix compilation issue
  • Send odometry topic as soon as the solution mode is full navigation instead of waiting for position valid flag
  • Use imu_short to populate standard topics
  • Improved documentation
  • Contributors: Christoph Gruber, Kaoutar Benmakhlouf, Samuel Toledano, djason-todd

3.2.0 (2024-10-17)

  • Update README with ROS2 commands to launch magnetic calibration

  • Fix segfault when running magnetic calibration

  • Removed unused flags from SbgEkfStatus message

  • Added new flags to SbgShipMotionStatus message

  • Improved SbgStatusAiding message with new flags

  • Improved SbgPosStatus message with new flags

  • Improved SbgEkfStatus message with new flags

  • Improved SbgStatusGeneral message with datalogger and cpu flags

  • Updated documentation for sbgGpsPos message

  • Updated documentation for sbgGpsHdt message

  • Improved SbgUtcTime message with internal clock quality indicators

  • Improved SbgStatusCom message with ethernet tx and rx status

  • Improved SbgGpsHdt message with number of SV tracked and used

  • Improved SbgGpsPos message with numSvTracked

  • Improved SbgGpsPosStatus message with spoofing, jamming and OSNMA status

  • Updated config files with new messages

  • Removed obsolete documentation

  • Updated published topic list

  • Added missing topic names

  • Updated dependencies requirement

  • Added settings log_ekf_rot_accel_body / log_ekf_rot_accel_ned / log_ekf_vel_body

  • Fixed functions description

  • Added SbgEkfRotAccel body and NED messages

  • Added SbgEkfVelBody message

  • Fixing compiling issues

  • Updated sbgECom lib with version 4.0-1987-stable

  • Fixed typos about lever arm

  • Fixed config applier for IMU Alignment / Aiding / Odometer lever arms

  • Remove boost dependency (cherry picked from commit ab54c33f1e442c3737dd8e1c09a8b6f36c2c1afa)

  • Cleanup

  • Moved LLAtoECEF into a helper

  • Variable naming

  • WIP code cleanup

  • Class documentation

File truncated at 100 lines see the full file

Recent questions tagged sbg_driver at Robotics Stack Exchange

Package symbol

sbg_driver package from sbg_driver repo

sbg_driver

ROS Distro
kilted

Package Summary

Tags No category tags.
Version 3.3.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 driver for SBG Systems IMU/AHRS/INS units such as ELLIPSE or QUANTA.
Checkout URI https://github.com/SBG-Systems/sbg_ros2.git
VCS Type git
VCS Version master
Last Updated 2025-10-17
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS driver package for communication with the SBG navigation systems.

Additional Links

Maintainers

  • SBG Systems

Authors

  • SBG Systems

sbg_driver

ROS2 driver package for SBG Systems IMU, AHRS and INS.
This driver package uses the sbgECom binary protocol to read data and configure SBG Systems devices.

Initial work has been done by ENSTA Bretagne.

Author: SBG Systems
Maintainer: SBG Systems
Contact: support@sbg-systems.com

Features

The driver supports all SBG systems sensors, IMUs, AHRS and INS, with a various degree of configurations available.

The driver supports the following features:

  • Parse IMU/AHRS/INS/GNSS using the sbgECom protocol
  • Publish standard ROS2 messages and more detailed specific SBG Systems topics
  • Subscribe and forward RTCM data to support DGPS/RTK mode with centimeters-level accuracy
  • Calibrate 2D/3D magnetic field using the on-board ELLIPSE algorithms
  • Configure ELLIPSE products using yaml files (see note below)

[!NOTE] While the ROS2 drivers can be used with all SBG Systems sensors, the drivers can only be used to configure the Ellipse family. For other INS such as EKINOX, APOGEE and QUANTA, please use the sbgInsRestApi For the PULSE-40, please use the sbgEcom encapsulation of the sbgInsRestApi: see our Getting started Guide

Installation

Installation from Packages

User can install the sbg_ros2_driver through the standard ROS2 installation system.

  • Humble sudo apt-get install ros-humble-sbg-driver
  • Galactic sudo apt-get install ros-galactic-sbg-driver
  • Foxy sudo apt-get install ros-foxy-sbg-driver

Building from sources

Dependencies

Building

  1. Clone the repository (use a Release version)
  2. Build using the ROS2 colcon build system
cd colcon_ws/src
git clone https://github.com/SBG-Systems/sbg_ros2_driver.git
cd sbg_ros2_driver
rosdep update
rosdep install --from-path .
cd ../..
colcon build
source install/setup.bash

Usage

To run the default ROS2 node with the default configuration file

ros2 launch sbg_driver sbg_device_launch.py

To run the magnetic calibration node

ros2 launch sbg_driver sbg_device_mag_calibration_launch.py

Config files

Default config files

Every configuration file is defined according to the same structure.

  • sbg_device_uart_default.yaml This config file is the default one for UART connection with the device.
    It does not configure the device through the ROS2 node, so it has to be previously configured (manually or with the ROS2 node).
    It defines a few outputs for the device:
    • /sbg/imu_data, /sbg/ekf_quat at 25Hz
    • ROS2 standard outputs /imu/data, /imu/velocity, /imu/temp at 25Hz
    • /sbg/status, /sbg/utc_time and /imu/utc_ref at 1Hz.
  • sbg_device_udp_default.yaml This config file is the default one for an UDP connection with the device.
    It does not configure the device through the ROS2 node, so it has to be previously configured (manually).
    It defines a few outputs for the device:
    • /sbg/imu_data, /sbg/ekf_quat at 25Hz
    • ROS2 standard outputs /imu/data, /imu/velocity, /imu/temp at 25Hz
    • /sbg/status, /sbg/utc_time and /imu/utc_ref at 1Hz.

Example config files

  • ellipse_A_default.yaml Default config file for an Ellipse-A.

  • ellipse_E_default.yaml Default config file for an Ellipse-E with an external NMEA GNSS.

  • ellipse_N_default.yaml Default config file for an Ellipse-N using internal GNSS.

  • ellipse_D_default.yaml Default config file for an Ellipse-D using internal GNSS.

Launch files

Default launch files

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package sbg_driver

3.3.0 (2025-10-17)

  • Update README.md
  • Don't apply scale factor on SbgImuData message, it already has the good unit
  • Update sbgECom to latest stable
  • Fix transformations to use correct parents and children frames
  • Issue-35 Add Ellipse STL and URDF files
  • fix lon&lat minutes snprintf format error in NMEA sentence for ntrip
  • Update README
  • uart: implement baudrate discovery mechanism
  • Apply LSB on IMU messages
  • Add file mode to replay sbgECom logs on the driver
  • Provide /imu/data topic even if orientation is not available
  • Handle INS internal clock rollover
  • Fix timestamp computation for out-of-order messages
  • Use cmake fetch content to get sbgECom, get the latest release and fix compilation issue
  • Send odometry topic as soon as the solution mode is full navigation instead of waiting for position valid flag
  • Use imu_short to populate standard topics
  • Improved documentation
  • Contributors: Christoph Gruber, Kaoutar Benmakhlouf, Samuel Toledano, djason-todd

3.2.0 (2024-10-17)

  • Update README with ROS2 commands to launch magnetic calibration

  • Fix segfault when running magnetic calibration

  • Removed unused flags from SbgEkfStatus message

  • Added new flags to SbgShipMotionStatus message

  • Improved SbgStatusAiding message with new flags

  • Improved SbgPosStatus message with new flags

  • Improved SbgEkfStatus message with new flags

  • Improved SbgStatusGeneral message with datalogger and cpu flags

  • Updated documentation for sbgGpsPos message

  • Updated documentation for sbgGpsHdt message

  • Improved SbgUtcTime message with internal clock quality indicators

  • Improved SbgStatusCom message with ethernet tx and rx status

  • Improved SbgGpsHdt message with number of SV tracked and used

  • Improved SbgGpsPos message with numSvTracked

  • Improved SbgGpsPosStatus message with spoofing, jamming and OSNMA status

  • Updated config files with new messages

  • Removed obsolete documentation

  • Updated published topic list

  • Added missing topic names

  • Updated dependencies requirement

  • Added settings log_ekf_rot_accel_body / log_ekf_rot_accel_ned / log_ekf_vel_body

  • Fixed functions description

  • Added SbgEkfRotAccel body and NED messages

  • Added SbgEkfVelBody message

  • Fixing compiling issues

  • Updated sbgECom lib with version 4.0-1987-stable

  • Fixed typos about lever arm

  • Fixed config applier for IMU Alignment / Aiding / Odometer lever arms

  • Remove boost dependency (cherry picked from commit ab54c33f1e442c3737dd8e1c09a8b6f36c2c1afa)

  • Cleanup

  • Moved LLAtoECEF into a helper

  • Variable naming

  • WIP code cleanup

  • Class documentation

File truncated at 100 lines see the full file

Recent questions tagged sbg_driver at Robotics Stack Exchange

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

sbg_driver package from sbg_driver repo

sbg_driver

ROS Distro
humble

Package Summary

Tags No category tags.
Version 3.3.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 driver for SBG Systems IMU/AHRS/INS units such as ELLIPSE or QUANTA.
Checkout URI https://github.com/SBG-Systems/sbg_ros2.git
VCS Type git
VCS Version master
Last Updated 2025-10-17
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS driver package for communication with the SBG navigation systems.

Additional Links

Maintainers

  • SBG Systems

Authors

  • SBG Systems

sbg_driver

ROS2 driver package for SBG Systems IMU, AHRS and INS.
This driver package uses the sbgECom binary protocol to read data and configure SBG Systems devices.

Initial work has been done by ENSTA Bretagne.

Author: SBG Systems
Maintainer: SBG Systems
Contact: support@sbg-systems.com

Features

The driver supports all SBG systems sensors, IMUs, AHRS and INS, with a various degree of configurations available.

The driver supports the following features:

  • Parse IMU/AHRS/INS/GNSS using the sbgECom protocol
  • Publish standard ROS2 messages and more detailed specific SBG Systems topics
  • Subscribe and forward RTCM data to support DGPS/RTK mode with centimeters-level accuracy
  • Calibrate 2D/3D magnetic field using the on-board ELLIPSE algorithms
  • Configure ELLIPSE products using yaml files (see note below)

[!NOTE] While the ROS2 drivers can be used with all SBG Systems sensors, the drivers can only be used to configure the Ellipse family. For other INS such as EKINOX, APOGEE and QUANTA, please use the sbgInsRestApi For the PULSE-40, please use the sbgEcom encapsulation of the sbgInsRestApi: see our Getting started Guide

Installation

Installation from Packages

User can install the sbg_ros2_driver through the standard ROS2 installation system.

  • Humble sudo apt-get install ros-humble-sbg-driver
  • Galactic sudo apt-get install ros-galactic-sbg-driver
  • Foxy sudo apt-get install ros-foxy-sbg-driver

Building from sources

Dependencies

Building

  1. Clone the repository (use a Release version)
  2. Build using the ROS2 colcon build system
cd colcon_ws/src
git clone https://github.com/SBG-Systems/sbg_ros2_driver.git
cd sbg_ros2_driver
rosdep update
rosdep install --from-path .
cd ../..
colcon build
source install/setup.bash

Usage

To run the default ROS2 node with the default configuration file

ros2 launch sbg_driver sbg_device_launch.py

To run the magnetic calibration node

ros2 launch sbg_driver sbg_device_mag_calibration_launch.py

Config files

Default config files

Every configuration file is defined according to the same structure.

  • sbg_device_uart_default.yaml This config file is the default one for UART connection with the device.
    It does not configure the device through the ROS2 node, so it has to be previously configured (manually or with the ROS2 node).
    It defines a few outputs for the device:
    • /sbg/imu_data, /sbg/ekf_quat at 25Hz
    • ROS2 standard outputs /imu/data, /imu/velocity, /imu/temp at 25Hz
    • /sbg/status, /sbg/utc_time and /imu/utc_ref at 1Hz.
  • sbg_device_udp_default.yaml This config file is the default one for an UDP connection with the device.
    It does not configure the device through the ROS2 node, so it has to be previously configured (manually).
    It defines a few outputs for the device:
    • /sbg/imu_data, /sbg/ekf_quat at 25Hz
    • ROS2 standard outputs /imu/data, /imu/velocity, /imu/temp at 25Hz
    • /sbg/status, /sbg/utc_time and /imu/utc_ref at 1Hz.

Example config files

  • ellipse_A_default.yaml Default config file for an Ellipse-A.

  • ellipse_E_default.yaml Default config file for an Ellipse-E with an external NMEA GNSS.

  • ellipse_N_default.yaml Default config file for an Ellipse-N using internal GNSS.

  • ellipse_D_default.yaml Default config file for an Ellipse-D using internal GNSS.

Launch files

Default launch files

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package sbg_driver

3.3.0 (2025-10-17)

  • Update README.md
  • Don't apply scale factor on SbgImuData message, it already has the good unit
  • Update sbgECom to latest stable
  • Fix transformations to use correct parents and children frames
  • Issue-35 Add Ellipse STL and URDF files
  • fix lon&lat minutes snprintf format error in NMEA sentence for ntrip
  • Update README
  • uart: implement baudrate discovery mechanism
  • Apply LSB on IMU messages
  • Add file mode to replay sbgECom logs on the driver
  • Provide /imu/data topic even if orientation is not available
  • Handle INS internal clock rollover
  • Fix timestamp computation for out-of-order messages
  • Use cmake fetch content to get sbgECom, get the latest release and fix compilation issue
  • Send odometry topic as soon as the solution mode is full navigation instead of waiting for position valid flag
  • Use imu_short to populate standard topics
  • Improved documentation
  • Contributors: Christoph Gruber, Kaoutar Benmakhlouf, Samuel Toledano, djason-todd

3.2.0 (2024-10-17)

  • Update README with ROS2 commands to launch magnetic calibration

  • Fix segfault when running magnetic calibration

  • Removed unused flags from SbgEkfStatus message

  • Added new flags to SbgShipMotionStatus message

  • Improved SbgStatusAiding message with new flags

  • Improved SbgPosStatus message with new flags

  • Improved SbgEkfStatus message with new flags

  • Improved SbgStatusGeneral message with datalogger and cpu flags

  • Updated documentation for sbgGpsPos message

  • Updated documentation for sbgGpsHdt message

  • Improved SbgUtcTime message with internal clock quality indicators

  • Improved SbgStatusCom message with ethernet tx and rx status

  • Improved SbgGpsHdt message with number of SV tracked and used

  • Improved SbgGpsPos message with numSvTracked

  • Improved SbgGpsPosStatus message with spoofing, jamming and OSNMA status

  • Updated config files with new messages

  • Removed obsolete documentation

  • Updated published topic list

  • Added missing topic names

  • Updated dependencies requirement

  • Added settings log_ekf_rot_accel_body / log_ekf_rot_accel_ned / log_ekf_vel_body

  • Fixed functions description

  • Added SbgEkfRotAccel body and NED messages

  • Added SbgEkfVelBody message

  • Fixing compiling issues

  • Updated sbgECom lib with version 4.0-1987-stable

  • Fixed typos about lever arm

  • Fixed config applier for IMU Alignment / Aiding / Odometer lever arms

  • Remove boost dependency (cherry picked from commit ab54c33f1e442c3737dd8e1c09a8b6f36c2c1afa)

  • Cleanup

  • Moved LLAtoECEF into a helper

  • Variable naming

  • WIP code cleanup

  • Class documentation

File truncated at 100 lines see the full file

Recent questions tagged sbg_driver at Robotics Stack Exchange

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

sbg_driver package from sbg_driver repo

sbg_driver

ROS Distro
humble

Package Summary

Tags No category tags.
Version 3.3.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 driver for SBG Systems IMU/AHRS/INS units such as ELLIPSE or QUANTA.
Checkout URI https://github.com/SBG-Systems/sbg_ros2.git
VCS Type git
VCS Version master
Last Updated 2025-10-17
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS driver package for communication with the SBG navigation systems.

Additional Links

Maintainers

  • SBG Systems

Authors

  • SBG Systems

sbg_driver

ROS2 driver package for SBG Systems IMU, AHRS and INS.
This driver package uses the sbgECom binary protocol to read data and configure SBG Systems devices.

Initial work has been done by ENSTA Bretagne.

Author: SBG Systems
Maintainer: SBG Systems
Contact: support@sbg-systems.com

Features

The driver supports all SBG systems sensors, IMUs, AHRS and INS, with a various degree of configurations available.

The driver supports the following features:

  • Parse IMU/AHRS/INS/GNSS using the sbgECom protocol
  • Publish standard ROS2 messages and more detailed specific SBG Systems topics
  • Subscribe and forward RTCM data to support DGPS/RTK mode with centimeters-level accuracy
  • Calibrate 2D/3D magnetic field using the on-board ELLIPSE algorithms
  • Configure ELLIPSE products using yaml files (see note below)

[!NOTE] While the ROS2 drivers can be used with all SBG Systems sensors, the drivers can only be used to configure the Ellipse family. For other INS such as EKINOX, APOGEE and QUANTA, please use the sbgInsRestApi For the PULSE-40, please use the sbgEcom encapsulation of the sbgInsRestApi: see our Getting started Guide

Installation

Installation from Packages

User can install the sbg_ros2_driver through the standard ROS2 installation system.

  • Humble sudo apt-get install ros-humble-sbg-driver
  • Galactic sudo apt-get install ros-galactic-sbg-driver
  • Foxy sudo apt-get install ros-foxy-sbg-driver

Building from sources

Dependencies

Building

  1. Clone the repository (use a Release version)
  2. Build using the ROS2 colcon build system
cd colcon_ws/src
git clone https://github.com/SBG-Systems/sbg_ros2_driver.git
cd sbg_ros2_driver
rosdep update
rosdep install --from-path .
cd ../..
colcon build
source install/setup.bash

Usage

To run the default ROS2 node with the default configuration file

ros2 launch sbg_driver sbg_device_launch.py

To run the magnetic calibration node

ros2 launch sbg_driver sbg_device_mag_calibration_launch.py

Config files

Default config files

Every configuration file is defined according to the same structure.

  • sbg_device_uart_default.yaml This config file is the default one for UART connection with the device.
    It does not configure the device through the ROS2 node, so it has to be previously configured (manually or with the ROS2 node).
    It defines a few outputs for the device:
    • /sbg/imu_data, /sbg/ekf_quat at 25Hz
    • ROS2 standard outputs /imu/data, /imu/velocity, /imu/temp at 25Hz
    • /sbg/status, /sbg/utc_time and /imu/utc_ref at 1Hz.
  • sbg_device_udp_default.yaml This config file is the default one for an UDP connection with the device.
    It does not configure the device through the ROS2 node, so it has to be previously configured (manually).
    It defines a few outputs for the device:
    • /sbg/imu_data, /sbg/ekf_quat at 25Hz
    • ROS2 standard outputs /imu/data, /imu/velocity, /imu/temp at 25Hz
    • /sbg/status, /sbg/utc_time and /imu/utc_ref at 1Hz.

Example config files

  • ellipse_A_default.yaml Default config file for an Ellipse-A.

  • ellipse_E_default.yaml Default config file for an Ellipse-E with an external NMEA GNSS.

  • ellipse_N_default.yaml Default config file for an Ellipse-N using internal GNSS.

  • ellipse_D_default.yaml Default config file for an Ellipse-D using internal GNSS.

Launch files

Default launch files

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package sbg_driver

3.3.0 (2025-10-17)

  • Update README.md
  • Don't apply scale factor on SbgImuData message, it already has the good unit
  • Update sbgECom to latest stable
  • Fix transformations to use correct parents and children frames
  • Issue-35 Add Ellipse STL and URDF files
  • fix lon&lat minutes snprintf format error in NMEA sentence for ntrip
  • Update README
  • uart: implement baudrate discovery mechanism
  • Apply LSB on IMU messages
  • Add file mode to replay sbgECom logs on the driver
  • Provide /imu/data topic even if orientation is not available
  • Handle INS internal clock rollover
  • Fix timestamp computation for out-of-order messages
  • Use cmake fetch content to get sbgECom, get the latest release and fix compilation issue
  • Send odometry topic as soon as the solution mode is full navigation instead of waiting for position valid flag
  • Use imu_short to populate standard topics
  • Improved documentation
  • Contributors: Christoph Gruber, Kaoutar Benmakhlouf, Samuel Toledano, djason-todd

3.2.0 (2024-10-17)

  • Update README with ROS2 commands to launch magnetic calibration

  • Fix segfault when running magnetic calibration

  • Removed unused flags from SbgEkfStatus message

  • Added new flags to SbgShipMotionStatus message

  • Improved SbgStatusAiding message with new flags

  • Improved SbgPosStatus message with new flags

  • Improved SbgEkfStatus message with new flags

  • Improved SbgStatusGeneral message with datalogger and cpu flags

  • Updated documentation for sbgGpsPos message

  • Updated documentation for sbgGpsHdt message

  • Improved SbgUtcTime message with internal clock quality indicators

  • Improved SbgStatusCom message with ethernet tx and rx status

  • Improved SbgGpsHdt message with number of SV tracked and used

  • Improved SbgGpsPos message with numSvTracked

  • Improved SbgGpsPosStatus message with spoofing, jamming and OSNMA status

  • Updated config files with new messages

  • Removed obsolete documentation

  • Updated published topic list

  • Added missing topic names

  • Updated dependencies requirement

  • Added settings log_ekf_rot_accel_body / log_ekf_rot_accel_ned / log_ekf_vel_body

  • Fixed functions description

  • Added SbgEkfRotAccel body and NED messages

  • Added SbgEkfVelBody message

  • Fixing compiling issues

  • Updated sbgECom lib with version 4.0-1987-stable

  • Fixed typos about lever arm

  • Fixed config applier for IMU Alignment / Aiding / Odometer lever arms

  • Remove boost dependency (cherry picked from commit ab54c33f1e442c3737dd8e1c09a8b6f36c2c1afa)

  • Cleanup

  • Moved LLAtoECEF into a helper

  • Variable naming

  • WIP code cleanup

  • Class documentation

File truncated at 100 lines see the full file

Recent questions tagged sbg_driver at Robotics Stack Exchange

Package symbol

sbg_driver package from sbg_driver repo

sbg_driver

ROS Distro
galactic

Package Summary

Tags No category tags.
Version 3.3.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 driver for SBG Systems IMU/AHRS/INS units such as ELLIPSE or QUANTA.
Checkout URI https://github.com/SBG-Systems/sbg_ros2.git
VCS Type git
VCS Version master
Last Updated 2025-10-17
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS driver package for communication with the SBG navigation systems.

Additional Links

Maintainers

  • SBG Systems

Authors

  • SBG Systems

sbg_driver

ROS2 driver package for SBG Systems IMU, AHRS and INS.
This driver package uses the sbgECom binary protocol to read data and configure SBG Systems devices.

Initial work has been done by ENSTA Bretagne.

Author: SBG Systems
Maintainer: SBG Systems
Contact: support@sbg-systems.com

Features

The driver supports all SBG systems sensors, IMUs, AHRS and INS, with a various degree of configurations available.

The driver supports the following features:

  • Parse IMU/AHRS/INS/GNSS using the sbgECom protocol
  • Publish standard ROS2 messages and more detailed specific SBG Systems topics
  • Subscribe and forward RTCM data to support DGPS/RTK mode with centimeters-level accuracy
  • Calibrate 2D/3D magnetic field using the on-board ELLIPSE algorithms
  • Configure ELLIPSE products using yaml files (see note below)

[!NOTE] While the ROS2 drivers can be used with all SBG Systems sensors, the drivers can only be used to configure the Ellipse family. For other INS such as EKINOX, APOGEE and QUANTA, please use the sbgInsRestApi For the PULSE-40, please use the sbgEcom encapsulation of the sbgInsRestApi: see our Getting started Guide

Installation

Installation from Packages

User can install the sbg_ros2_driver through the standard ROS2 installation system.

  • Humble sudo apt-get install ros-humble-sbg-driver
  • Galactic sudo apt-get install ros-galactic-sbg-driver
  • Foxy sudo apt-get install ros-foxy-sbg-driver

Building from sources

Dependencies

Building

  1. Clone the repository (use a Release version)
  2. Build using the ROS2 colcon build system
cd colcon_ws/src
git clone https://github.com/SBG-Systems/sbg_ros2_driver.git
cd sbg_ros2_driver
rosdep update
rosdep install --from-path .
cd ../..
colcon build
source install/setup.bash

Usage

To run the default ROS2 node with the default configuration file

ros2 launch sbg_driver sbg_device_launch.py

To run the magnetic calibration node

ros2 launch sbg_driver sbg_device_mag_calibration_launch.py

Config files

Default config files

Every configuration file is defined according to the same structure.

  • sbg_device_uart_default.yaml This config file is the default one for UART connection with the device.
    It does not configure the device through the ROS2 node, so it has to be previously configured (manually or with the ROS2 node).
    It defines a few outputs for the device:
    • /sbg/imu_data, /sbg/ekf_quat at 25Hz
    • ROS2 standard outputs /imu/data, /imu/velocity, /imu/temp at 25Hz
    • /sbg/status, /sbg/utc_time and /imu/utc_ref at 1Hz.
  • sbg_device_udp_default.yaml This config file is the default one for an UDP connection with the device.
    It does not configure the device through the ROS2 node, so it has to be previously configured (manually).
    It defines a few outputs for the device:
    • /sbg/imu_data, /sbg/ekf_quat at 25Hz
    • ROS2 standard outputs /imu/data, /imu/velocity, /imu/temp at 25Hz
    • /sbg/status, /sbg/utc_time and /imu/utc_ref at 1Hz.

Example config files

  • ellipse_A_default.yaml Default config file for an Ellipse-A.

  • ellipse_E_default.yaml Default config file for an Ellipse-E with an external NMEA GNSS.

  • ellipse_N_default.yaml Default config file for an Ellipse-N using internal GNSS.

  • ellipse_D_default.yaml Default config file for an Ellipse-D using internal GNSS.

Launch files

Default launch files

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package sbg_driver

3.3.0 (2025-10-17)

  • Update README.md
  • Don't apply scale factor on SbgImuData message, it already has the good unit
  • Update sbgECom to latest stable
  • Fix transformations to use correct parents and children frames
  • Issue-35 Add Ellipse STL and URDF files
  • fix lon&lat minutes snprintf format error in NMEA sentence for ntrip
  • Update README
  • uart: implement baudrate discovery mechanism
  • Apply LSB on IMU messages
  • Add file mode to replay sbgECom logs on the driver
  • Provide /imu/data topic even if orientation is not available
  • Handle INS internal clock rollover
  • Fix timestamp computation for out-of-order messages
  • Use cmake fetch content to get sbgECom, get the latest release and fix compilation issue
  • Send odometry topic as soon as the solution mode is full navigation instead of waiting for position valid flag
  • Use imu_short to populate standard topics
  • Improved documentation
  • Contributors: Christoph Gruber, Kaoutar Benmakhlouf, Samuel Toledano, djason-todd

3.2.0 (2024-10-17)

  • Update README with ROS2 commands to launch magnetic calibration

  • Fix segfault when running magnetic calibration

  • Removed unused flags from SbgEkfStatus message

  • Added new flags to SbgShipMotionStatus message

  • Improved SbgStatusAiding message with new flags

  • Improved SbgPosStatus message with new flags

  • Improved SbgEkfStatus message with new flags

  • Improved SbgStatusGeneral message with datalogger and cpu flags

  • Updated documentation for sbgGpsPos message

  • Updated documentation for sbgGpsHdt message

  • Improved SbgUtcTime message with internal clock quality indicators

  • Improved SbgStatusCom message with ethernet tx and rx status

  • Improved SbgGpsHdt message with number of SV tracked and used

  • Improved SbgGpsPos message with numSvTracked

  • Improved SbgGpsPosStatus message with spoofing, jamming and OSNMA status

  • Updated config files with new messages

  • Removed obsolete documentation

  • Updated published topic list

  • Added missing topic names

  • Updated dependencies requirement

  • Added settings log_ekf_rot_accel_body / log_ekf_rot_accel_ned / log_ekf_vel_body

  • Fixed functions description

  • Added SbgEkfRotAccel body and NED messages

  • Added SbgEkfVelBody message

  • Fixing compiling issues

  • Updated sbgECom lib with version 4.0-1987-stable

  • Fixed typos about lever arm

  • Fixed config applier for IMU Alignment / Aiding / Odometer lever arms

  • Remove boost dependency (cherry picked from commit ab54c33f1e442c3737dd8e1c09a8b6f36c2c1afa)

  • Cleanup

  • Moved LLAtoECEF into a helper

  • Variable naming

  • WIP code cleanup

  • Class documentation

File truncated at 100 lines see the full file

Recent questions tagged sbg_driver at Robotics Stack Exchange

Package symbol

sbg_driver package from sbg_driver repo

sbg_driver

ROS Distro
iron

Package Summary

Tags No category tags.
Version 3.3.0
License MIT
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS 2 driver for SBG Systems IMU/AHRS/INS units such as ELLIPSE or QUANTA.
Checkout URI https://github.com/SBG-Systems/sbg_ros2.git
VCS Type git
VCS Version master
Last Updated 2025-10-17
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS driver package for communication with the SBG navigation systems.

Additional Links

Maintainers

  • SBG Systems

Authors

  • SBG Systems

sbg_driver

ROS2 driver package for SBG Systems IMU, AHRS and INS.
This driver package uses the sbgECom binary protocol to read data and configure SBG Systems devices.

Initial work has been done by ENSTA Bretagne.

Author: SBG Systems
Maintainer: SBG Systems
Contact: support@sbg-systems.com

Features

The driver supports all SBG systems sensors, IMUs, AHRS and INS, with a various degree of configurations available.

The driver supports the following features:

  • Parse IMU/AHRS/INS/GNSS using the sbgECom protocol
  • Publish standard ROS2 messages and more detailed specific SBG Systems topics
  • Subscribe and forward RTCM data to support DGPS/RTK mode with centimeters-level accuracy
  • Calibrate 2D/3D magnetic field using the on-board ELLIPSE algorithms
  • Configure ELLIPSE products using yaml files (see note below)

[!NOTE] While the ROS2 drivers can be used with all SBG Systems sensors, the drivers can only be used to configure the Ellipse family. For other INS such as EKINOX, APOGEE and QUANTA, please use the sbgInsRestApi For the PULSE-40, please use the sbgEcom encapsulation of the sbgInsRestApi: see our Getting started Guide

Installation

Installation from Packages

User can install the sbg_ros2_driver through the standard ROS2 installation system.

  • Humble sudo apt-get install ros-humble-sbg-driver
  • Galactic sudo apt-get install ros-galactic-sbg-driver
  • Foxy sudo apt-get install ros-foxy-sbg-driver

Building from sources

Dependencies

Building

  1. Clone the repository (use a Release version)
  2. Build using the ROS2 colcon build system
cd colcon_ws/src
git clone https://github.com/SBG-Systems/sbg_ros2_driver.git
cd sbg_ros2_driver
rosdep update
rosdep install --from-path .
cd ../..
colcon build
source install/setup.bash

Usage

To run the default ROS2 node with the default configuration file

ros2 launch sbg_driver sbg_device_launch.py

To run the magnetic calibration node

ros2 launch sbg_driver sbg_device_mag_calibration_launch.py

Config files

Default config files

Every configuration file is defined according to the same structure.

  • sbg_device_uart_default.yaml This config file is the default one for UART connection with the device.
    It does not configure the device through the ROS2 node, so it has to be previously configured (manually or with the ROS2 node).
    It defines a few outputs for the device:
    • /sbg/imu_data, /sbg/ekf_quat at 25Hz
    • ROS2 standard outputs /imu/data, /imu/velocity, /imu/temp at 25Hz
    • /sbg/status, /sbg/utc_time and /imu/utc_ref at 1Hz.
  • sbg_device_udp_default.yaml This config file is the default one for an UDP connection with the device.
    It does not configure the device through the ROS2 node, so it has to be previously configured (manually).
    It defines a few outputs for the device:
    • /sbg/imu_data, /sbg/ekf_quat at 25Hz
    • ROS2 standard outputs /imu/data, /imu/velocity, /imu/temp at 25Hz
    • /sbg/status, /sbg/utc_time and /imu/utc_ref at 1Hz.

Example config files

  • ellipse_A_default.yaml Default config file for an Ellipse-A.

  • ellipse_E_default.yaml Default config file for an Ellipse-E with an external NMEA GNSS.

  • ellipse_N_default.yaml Default config file for an Ellipse-N using internal GNSS.

  • ellipse_D_default.yaml Default config file for an Ellipse-D using internal GNSS.

Launch files

Default launch files

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package sbg_driver

3.3.0 (2025-10-17)

  • Update README.md
  • Don't apply scale factor on SbgImuData message, it already has the good unit
  • Update sbgECom to latest stable
  • Fix transformations to use correct parents and children frames
  • Issue-35 Add Ellipse STL and URDF files
  • fix lon&lat minutes snprintf format error in NMEA sentence for ntrip
  • Update README
  • uart: implement baudrate discovery mechanism
  • Apply LSB on IMU messages
  • Add file mode to replay sbgECom logs on the driver
  • Provide /imu/data topic even if orientation is not available
  • Handle INS internal clock rollover
  • Fix timestamp computation for out-of-order messages
  • Use cmake fetch content to get sbgECom, get the latest release and fix compilation issue
  • Send odometry topic as soon as the solution mode is full navigation instead of waiting for position valid flag
  • Use imu_short to populate standard topics
  • Improved documentation
  • Contributors: Christoph Gruber, Kaoutar Benmakhlouf, Samuel Toledano, djason-todd

3.2.0 (2024-10-17)

  • Update README with ROS2 commands to launch magnetic calibration

  • Fix segfault when running magnetic calibration

  • Removed unused flags from SbgEkfStatus message

  • Added new flags to SbgShipMotionStatus message

  • Improved SbgStatusAiding message with new flags

  • Improved SbgPosStatus message with new flags

  • Improved SbgEkfStatus message with new flags

  • Improved SbgStatusGeneral message with datalogger and cpu flags

  • Updated documentation for sbgGpsPos message

  • Updated documentation for sbgGpsHdt message

  • Improved SbgUtcTime message with internal clock quality indicators

  • Improved SbgStatusCom message with ethernet tx and rx status

  • Improved SbgGpsHdt message with number of SV tracked and used

  • Improved SbgGpsPos message with numSvTracked

  • Improved SbgGpsPosStatus message with spoofing, jamming and OSNMA status

  • Updated config files with new messages

  • Removed obsolete documentation

  • Updated published topic list

  • Added missing topic names

  • Updated dependencies requirement

  • Added settings log_ekf_rot_accel_body / log_ekf_rot_accel_ned / log_ekf_vel_body

  • Fixed functions description

  • Added SbgEkfRotAccel body and NED messages

  • Added SbgEkfVelBody message

  • Fixing compiling issues

  • Updated sbgECom lib with version 4.0-1987-stable

  • Fixed typos about lever arm

  • Fixed config applier for IMU Alignment / Aiding / Odometer lever arms

  • Remove boost dependency (cherry picked from commit ab54c33f1e442c3737dd8e1c09a8b6f36c2c1afa)

  • Cleanup

  • Moved LLAtoECEF into a helper

  • Variable naming

  • WIP code cleanup

  • Class documentation

File truncated at 100 lines see the full file

Recent questions tagged sbg_driver at Robotics Stack Exchange

Package symbol

sbg_driver package from sbg_driver repo

sbg_driver

ROS Distro
melodic

Package Summary

Tags No category tags.
Version 3.2.1
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description ROS 1 driver for SBG Systems IMU/AHRS/INS units such as ELLIPSE or QUANTA.
Checkout URI https://github.com/SBG-Systems/sbg_ros_driver.git
VCS Type git
VCS Version master
Last Updated 2025-10-17
Dev Status DEVELOPED
Released RELEASED
Tags sbg driver ros ellipse-imu
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS driver package for communication with the SBG navigation systems.

Additional Links

Maintainers

  • SBG Systems

Authors

  • SBG Systems

⚠️ End of Life Notice

This package targets ROS1, which has reached End of Life (EOL) as of May 2025.
As a result, this driver is no longer maintained or supported.

We recommend migrating to the ROS2 version of this driver for continued updates, compatibility, and support.

sbg_driver

ROS driver package for SBG Systems IMU, AHRS and INS.
This driver package uses the sbgECom binary protocol to read data and configure SBG Systems devices.

Initial work has been done by ENSTA Bretagne.

Author: SBG Systems
Maintainer: SBG Systems
Contact: support@sbg-systems.com

Features

The driver supports the following features:

  • Configure ELLIPSE products using yaml files (see note below)
  • Parse IMU/AHRS/INS/GNSS using the sbgECom protocol
  • Publish standard ROS messages and more detailed specific SBG Systems topics
  • Subscribe and forward RTCM data to support DGPS/RTK mode with centimeters-level accuracy
  • Calibrate 2D/3D magnetic field using the on-board ELLIPSE algorithms

[!NOTE] Only ELLIPSE devices can be configured from the ROS driver. For High Performance INS such as EKINOX, APOGEE and QUANTA, please use the sbgInsRestApi

Installation

Installation from Packages

User can install the sbg_ros_driver through the standard ROS installation system.

  • Noetic sudo apt-get install ros-noetic-sbg-driver

Building from sources

Dependencies

Building

  1. Clone the repository (use a Release version)
cd catkin_ws/src
git clone -b master https://github.com/SBG-Systems/sbg_ros_driver.git

  1. Install dependencies
cd ..
rosdep install --from-paths src --ignore-src -r -y

  1. Build using the normal ROS catkin build system
source /opt/ros/${ROS_DISTRO}/setup.bash
catkin_make

Usage

Source the generated setup environment

source devel/setup.bash

To run the default Ros node with the default configuration

roslaunch sbg_driver sbg_device.launch

To run the magnetic calibration node

roslaunch sbg_driver sbg_device_mag_calibration.launch

Config files

Default config files

Every configuration file is defined according to the same structure.

  • sbg_device_uart_default.yaml This config file is the default one for UART connection with the device.
    It does not configure the device through the ROS node, so it has to be previously configured (manually or with the ROS node).
    It defines a few outputs for the device:
    • /sbg/imu_data, /sbg/ekf_quat at 25Hz
    • ROS standard outputs /imu/data, /imu/velocity, /imu/temp at 25Hz
    • /sbg/status, /sbg/utc_time and /imu/utc_ref at 1Hz.
  • sbg_device_udp_default.yaml This config file is the default one for an Udp connection with the device.
    It does not configure the device through the ROS node, so it has to be previously configured (manually or with the ROS node).
    It defines a few outputs for the device:
    • /sbg/imu_data, /sbg/ekf_quat at 25Hz
    • ROS standard outputs /imu/data, /imu/velocity, /imu/temp at 25Hz
    • /sbg/status, /sbg/utc_time and /imu/utc_ref at 1Hz.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package sbg_driver

3.2.1 (2025-10-17)

  • Add End of Life notice
  • Handle INS internal clock rollover
  • Fix timestamp computation for out-of-order messages
  • Backport from ROS2 driver: Use imu_short to populate standard topics
  • Fix typo sbg_ekf_ruler_pub_ instead of sbg_ekf_euler_pub_
  • Contributors: Samuel Toledano

3.2.0 (2024-10-09)

  • Update README according to the latest changes
  • Backported changes from ROS2 driver
  • fix #70 build on Windows
  • remove unused var
  • update doc to build from sources
  • Perform proper name resolution to make name remapping more convenient Fixes #75.
  • Contributors: Michael Zemb, Richard Braun, Samuel Toledano, cledant

3.1.1 (2021-10-15)

  • fix missing dependencies and build status link
    • missing dep on nav_msgs, tf2_geometry_msgs, tf2_ros and tf2_msgs
    • fix build status link in readme
  • update doc with odometry message
  • Contributors: Michael Zemb

3.1.0 (2021-10-06)

  • Feature #44 - odometry output
  • fix #66 - status description for SbgGpsHdt msg
  • fix #66 - missing heading and pitch accuracies in sbgGpsHdt msg
  • add ellipse D default configuration
  • update README
  • Contributors: Michael Zemb

3.0.0 (2021-08-31)

  • Merge pull request #62 from SBG-Systems/devel Devel
  • Merge pull request #61 from SBG-Systems/fix-frame-convention Fix frame convention errors
  • Make sure only delta angles/velocities are used
    • syntax fixes
  • Improved comments & README file
  • Fix missing checks on UTC / Unix time computation
  • Updated sbgECom messages definitions
  • Update README.md and releasePackage.md
  • Clean up readme
  • Fix position accuracy
  • Replace pow by multiplication
  • Complete README.md
  • Fix bugs in message wrapper and complete message definitions
  • Fix Z GPS velocity
  • Fix frame convention errors
  • Merge pull request #59 from SBG-Systems/fix-frame-id Fix param name
  • Fix param name
  • Fix inconsistent tab and spaces usages. Now all files are using spaces
  • Add wrap 2PI
  • Fix bugs
  • Fix matrix accuracy
  • Fix course
  • wrapper: Fix ENU->NED for GPS messages
  • warpper: Change createrVector3 names
  • wrapper: Fix setter
  • wrapper: Fix missing ENU conversion an add comment for cov
  • wrapper: Fix regresion
  • coding style : Remove tables
  • publisher: Configure the wrapper before init the publisher
  • main: Fix loopFrequency type
  • config: Restore output configuration
  • config: Replace enu by use_enu
  • enu: Replace enu by use_enu and rename frame convertion function
  • frame_id: Change default value
  • clean up
  • #51 - Correctly fill convariances parameters
  • project: Update maintainer
  • config: Update parameters
  • #45-#50 - Add parameters to set frame ID and ENU convention
  • #48 - # 52 Add a parameter to select header stamp source and read ROS time when publishing the message
  • #47 Remove node ros::Rate period auto computation and only read it from

File truncated at 100 lines see the full file

Recent questions tagged sbg_driver at Robotics Stack Exchange

Package symbol

sbg_driver package from sbg_driver repo

sbg_driver

ROS Distro
noetic

Package Summary

Tags No category tags.
Version 3.2.1
License MIT
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description ROS 1 driver for SBG Systems IMU/AHRS/INS units such as ELLIPSE or QUANTA.
Checkout URI https://github.com/SBG-Systems/sbg_ros_driver.git
VCS Type git
VCS Version master
Last Updated 2025-10-17
Dev Status DEVELOPED
Released RELEASED
Tags sbg driver ros ellipse-imu
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS driver package for communication with the SBG navigation systems.

Additional Links

Maintainers

  • SBG Systems

Authors

  • SBG Systems

⚠️ End of Life Notice

This package targets ROS1, which has reached End of Life (EOL) as of May 2025.
As a result, this driver is no longer maintained or supported.

We recommend migrating to the ROS2 version of this driver for continued updates, compatibility, and support.

sbg_driver

ROS driver package for SBG Systems IMU, AHRS and INS.
This driver package uses the sbgECom binary protocol to read data and configure SBG Systems devices.

Initial work has been done by ENSTA Bretagne.

Author: SBG Systems
Maintainer: SBG Systems
Contact: support@sbg-systems.com

Features

The driver supports the following features:

  • Configure ELLIPSE products using yaml files (see note below)
  • Parse IMU/AHRS/INS/GNSS using the sbgECom protocol
  • Publish standard ROS messages and more detailed specific SBG Systems topics
  • Subscribe and forward RTCM data to support DGPS/RTK mode with centimeters-level accuracy
  • Calibrate 2D/3D magnetic field using the on-board ELLIPSE algorithms

[!NOTE] Only ELLIPSE devices can be configured from the ROS driver. For High Performance INS such as EKINOX, APOGEE and QUANTA, please use the sbgInsRestApi

Installation

Installation from Packages

User can install the sbg_ros_driver through the standard ROS installation system.

  • Noetic sudo apt-get install ros-noetic-sbg-driver

Building from sources

Dependencies

Building

  1. Clone the repository (use a Release version)
cd catkin_ws/src
git clone -b master https://github.com/SBG-Systems/sbg_ros_driver.git

  1. Install dependencies
cd ..
rosdep install --from-paths src --ignore-src -r -y

  1. Build using the normal ROS catkin build system
source /opt/ros/${ROS_DISTRO}/setup.bash
catkin_make

Usage

Source the generated setup environment

source devel/setup.bash

To run the default Ros node with the default configuration

roslaunch sbg_driver sbg_device.launch

To run the magnetic calibration node

roslaunch sbg_driver sbg_device_mag_calibration.launch

Config files

Default config files

Every configuration file is defined according to the same structure.

  • sbg_device_uart_default.yaml This config file is the default one for UART connection with the device.
    It does not configure the device through the ROS node, so it has to be previously configured (manually or with the ROS node).
    It defines a few outputs for the device:
    • /sbg/imu_data, /sbg/ekf_quat at 25Hz
    • ROS standard outputs /imu/data, /imu/velocity, /imu/temp at 25Hz
    • /sbg/status, /sbg/utc_time and /imu/utc_ref at 1Hz.
  • sbg_device_udp_default.yaml This config file is the default one for an Udp connection with the device.
    It does not configure the device through the ROS node, so it has to be previously configured (manually or with the ROS node).
    It defines a few outputs for the device:
    • /sbg/imu_data, /sbg/ekf_quat at 25Hz
    • ROS standard outputs /imu/data, /imu/velocity, /imu/temp at 25Hz
    • /sbg/status, /sbg/utc_time and /imu/utc_ref at 1Hz.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package sbg_driver

3.2.1 (2025-10-17)

  • Add End of Life notice
  • Handle INS internal clock rollover
  • Fix timestamp computation for out-of-order messages
  • Backport from ROS2 driver: Use imu_short to populate standard topics
  • Fix typo sbg_ekf_ruler_pub_ instead of sbg_ekf_euler_pub_
  • Contributors: Samuel Toledano

3.2.0 (2024-10-09)

  • Update README according to the latest changes
  • Backported changes from ROS2 driver
  • fix #70 build on Windows
  • remove unused var
  • update doc to build from sources
  • Perform proper name resolution to make name remapping more convenient Fixes #75.
  • Contributors: Michael Zemb, Richard Braun, Samuel Toledano, cledant

3.1.1 (2021-10-15)

  • fix missing dependencies and build status link
    • missing dep on nav_msgs, tf2_geometry_msgs, tf2_ros and tf2_msgs
    • fix build status link in readme
  • update doc with odometry message
  • Contributors: Michael Zemb

3.1.0 (2021-10-06)

  • Feature #44 - odometry output
  • fix #66 - status description for SbgGpsHdt msg
  • fix #66 - missing heading and pitch accuracies in sbgGpsHdt msg
  • add ellipse D default configuration
  • update README
  • Contributors: Michael Zemb

3.0.0 (2021-08-31)

  • Merge pull request #62 from SBG-Systems/devel Devel
  • Merge pull request #61 from SBG-Systems/fix-frame-convention Fix frame convention errors
  • Make sure only delta angles/velocities are used
    • syntax fixes
  • Improved comments & README file
  • Fix missing checks on UTC / Unix time computation
  • Updated sbgECom messages definitions
  • Update README.md and releasePackage.md
  • Clean up readme
  • Fix position accuracy
  • Replace pow by multiplication
  • Complete README.md
  • Fix bugs in message wrapper and complete message definitions
  • Fix Z GPS velocity
  • Fix frame convention errors
  • Merge pull request #59 from SBG-Systems/fix-frame-id Fix param name
  • Fix param name
  • Fix inconsistent tab and spaces usages. Now all files are using spaces
  • Add wrap 2PI
  • Fix bugs
  • Fix matrix accuracy
  • Fix course
  • wrapper: Fix ENU->NED for GPS messages
  • warpper: Change createrVector3 names
  • wrapper: Fix setter
  • wrapper: Fix missing ENU conversion an add comment for cov
  • wrapper: Fix regresion
  • coding style : Remove tables
  • publisher: Configure the wrapper before init the publisher
  • main: Fix loopFrequency type
  • config: Restore output configuration
  • config: Replace enu by use_enu
  • enu: Replace enu by use_enu and rename frame convertion function
  • frame_id: Change default value
  • clean up
  • #51 - Correctly fill convariances parameters
  • project: Update maintainer
  • config: Update parameters
  • #45-#50 - Add parameters to set frame ID and ENU convention
  • #48 - # 52 Add a parameter to select header stamp source and read ROS time when publishing the message
  • #47 Remove node ros::Rate period auto computation and only read it from

File truncated at 100 lines see the full file

Recent questions tagged sbg_driver at Robotics Stack Exchange