[Documentation] [TitleIndex] [WordIndex

  Show EOL distros: 

ublox: ublox_gps | ublox_msgs | ublox_serialization

Package Summary

Provides a ublox_gps node for uBlox GPS receivers and message and serialization packages for the binary UBX protocol.

ublox: ublox_gps | ublox_msgs | ublox_serialization

Package Summary

Provides a ublox_gps node for uBlox GPS receivers and message and serialization packages for the binary UBX protocol.

ublox: ublox_gps | ublox_msgs | ublox_serialization

Package Summary

Provides a ublox_gps node for uBlox GPS receivers and message and serialization packages for the binary UBX protocol.

ublox: ublox_gps | ublox_msgs | ublox_serialization

Package Summary

Provides a ublox_gps node for uBlox GPS receivers and message and serialization packages for the binary UBX protocol.

ublox

Package Summary

Provides a ublox_gps node for u-blox GPS receivers, messages, and serialization packages for the binary UBX protocol.

ublox

Package Summary

Provides a ublox_gps node for u-blox GPS receivers, messages, and serialization packages for the binary UBX protocol.

ublox

Package Summary

Provides a ublox_gps node for u-blox GPS receivers, messages, and serialization packages for the binary UBX protocol.

Overview

This package provides basic device handling for u-blox GPS devices.

The driver publishes sensor_msgs/NavSatFix and geometry_msgs/TwistWithCovarianceStamped messages. The ublox_gps package provides a node to subscribe to various u-blox messages.

ROS Node

ublox_gps

ROS node that captures u-blox data and publishes fix and velocity messages as well as raw messages.

Published Topics

~<node_name>/fix (sensor_msgs/NavSatFix)
  • GNSS Fix in the gps frame of reference.
~<node_name>/fix_velocity (geometry_msgs/TwistWithCovarianceStamped)
  • GNSS Fix Velocity in the gps frame of reference.
~<node_name>/diagnostics (diagnostic_msgs/DiagnosticStatus)
  • Diagnostic status information.

Parameters

all
Parameters for all product types.
~<node_name>/frame_id (string, default: gps)
  • Transform frame ID for the device (resolved using tf_prefix, if defined).
~<node_name>/device (string, default: dev/tty/ACMO)
  • Path of port to read.
~<node_name>/uart1/baudrate (uint16, default: 9600)
  • Bit rate of the serial communication.
~<node_name>/uart1/in (uint32, default: 32 (UBX, NMEA & RTCM)) ~<node_name>/uart1/out (uint16, default: 32 (UBX, NMEA & RTCM))
  • UART1 out communication protocol. See ublox_msgs/CfgPRT message for possible values.
~<node_name>/rate (float, default: 4)
  • Rate in Hz of measurements.
~<node_name>/nav_rate (uint16, default: 1)
  • How often navigation solutions are published in number of measurement cycles.
~<node_name>/enable_ppp (bool, default: false)
  • Enable precise-point-positioning system.
~<node_name>/gnss/sbas (bool, default: false)
  • Enable satellite-based augmentation system.
~<node_name>/sbas/usage (uint8, default: 0 (None))
  • SBAS Usage (e.g. ranging source, differential corrections, or integrity information). See ublox_msgs/CfgSBAS message for details.
~<node_name>/dynamic_model (string, default: portable)
  • Possible values:
    • portable
    • stationary
    • pedestrian
    • automotive
    • sea
    • airborne1 (Airborne, max acceleration = 1G)
    • airborne2 (Airborne, max acceleration = 2G)
    • airborne4 (Airborne, max acceleration = 4G)
    • wristwatch
~<node_name>/fix_mode (string)
  • Type of fixes supported
    • 2d
    • 3d
    • both
~<node_name>/dr_limit (uint8, default: 0)
  • Max time in seconds to use dead reckoning after signal is lost.
~<node_name>/save_on_shutdown (bool, default: false)
  • If true, the node will send a ublox_msgs/UpdSOS command to save the BBR to flash memory on shutdown. Firmware >= 8 only.
~<node_name>/clear_bbr (bool, default: false)
  • If true, the node will send a ublox_msgs/UpdSOS command to clear the flash memory during configuration. Firmware >= 8 only.
raw_data (bool, default: false)
  • Whether or not the device is a Raw Data Product (Firmware 6-7.03 only).
Save/Load
Save configuration to & load configuration from non-volatile memory. See ublox_msgs/CfgCFG.
~<node_name>/save/mask (uint32, default: 0)
  • Mask with configuration sub-sections to save to memory.
~<node_name>/save/device (uint8, default: 0)
  • Mask which selects the devices to save to.
~<node_name>/load/mask (uint32, default: 0)
  • Mask with configuration sub-sections to Load form memory. Loading I/O will cause the serial port to reset.
~<node_name>/load/device (uint8, default: 0)
  • Mask which selects the devices to load from.
datum
User defined datum parameters
~<node_name>/dat/set_dat (bool, default: false)
  • Whether to configure the datum based on the ~<node_name>/dat parameters. If true, the parameters below are required.
~<node_name>/dat/majA (float64)
  • Semi-major Axis [m]. Accepted range = 6,300,000.0 to 6,500,000.0.
~<node_name>/dat/flat (float64)
  • 1.0 / Flattening
~<node_name>/dat/shift ([float32, float32, float32])
  • [X, Y, Z]-axis shift [m]. Accepted range is +/- 5000.0 meters
~<node_name>/dat/rot ([float32, float32, float32])
  • [X, Y, Z]-axis rotation [s]. Accepted range is +/- 20.0 milli-arc seconds.
~<node_name>/dat/scale (float32)
  • scale change [ppm]. Accepted range is 0.0 to 50.0 parts per million.
gnss
GNSS parameters for firmware >= 7. Some parameters only apply to firmware >= 8 (see descriptions).
~<node_name>/gnss/gps (bool, default: true)
  • Enable GPS receiver.
~<node_name>/gnss/glonass (bool, default: false)
  • Enable GLONASS receiver.
~<node_name>/gnss/beidou (bool, default: false) ~<node_name>/gnss/qzss (bool, default: false)
  • Enable QZSS receiver.
~<node_name>/gnss/qzss_sig_cfg (uint32, default: 65536 (L1CA)) ~<node_name>/gnss/galileo (bool, default: false)
  • Enable Galileo receiver. Firmware >= 8 only.
~<node_name>/gnss/imes (bool, default: false)
  • Enable IMES receiver. Firmware >= 8 only.
nmea
NMEA configuration for Firmware >= 7.
~<node_name>/nmea/set (bool, default: false)
  • If true, the NMEA will be configured.
~<node_name>/nmea/version (uint8)
  • NMEA version. Must be set if nmea/set is true.
~<node_name>/nmea/num_sv (uint8)
  • Maximum Number of SVs to report per TalkerId. Must be set if nmea/set is true.
~<node_name>/nmea/sv_numbering (uint8)
  • Configures the display of satellites that do not have an NMEA-defined value. Must be set if nmea/set is true.
~<node_name>/nmea/compat (bool)
  • Enable compatibility mode. Must be set if nmea/set is true.
~<node_name>/nmea/consider (bool)
  • Enable considering mode. Must be set if nmea/set is true.
~<node_name>/nmea/limit82 (bool)
  • Enable strict limit to 82 characters maximum.
~<node_name>/nmea/high_prec (bool, default: false)
  • Enable high precision mode.
~<node_name>/nmea/filter/pos (bool, default: false)
  • Enable position output for failed or invalid fixes.
~<node_name>/nmea/filter/msk_pos (bool, default: false)
  • Enable position output for invalid fixes.
~<node_name>/nmea/filter/time (bool, default: false)
  • Enable time output for invalid times.
~<node_name>/nmea/filter/date (bool, default: false)
  • Enable date output for invalid dates.
~<node_name>/nmea/filter/gps_only (bool, default: false)
  • Restrict output to GPS satellites only.
~<node_name>/nmea/filter/track (bool, default: false)
  • Enable COG output even if COG is frozen.
~<node_name>/nmea/gnssToFilt/gps (bool, default: false)
  • Disable reporting of GPS satellites.
~<node_name>/nmea/gnssToFilt/sbas (bool, default: false)
  • Disable reporting of SBAS satellites.
~<node_name>/nmea/gnssToFilt/qzss (bool, default: false)
  • Disable reporting of QZSS satellites.
~<node_name>/nmea/gnssToFilt/glonass (bool, default: false)
  • Disable reporting of GLONASS satellites.
~<node_name>/nmea/gnssToFilt/beidou (bool, default: false)
  • Disable reporting of BeiDou satellites.
~<node_name>/nmea/main_talker_id (uint8, default: 0)
  • This field enables the main Talker ID to be overridden.
~<node_name>/nmea/gsv_talker_id (uint8, default: uint8[2])
  • This field enables the GSV Talker ID to be overridden.
~<node_name>/nmea/bds_talker_id ([0, 0])
  • Sets the two characters that should be used for the BeiDou Talker ID. Firmware >= 8 only.
nmea6
NMEA settings for Firmware version 6.
~<node_name>/nmea/set (bool)
  • If true, the NMEA will be configured with the parameters below.
~<node_name>/nmea/version (uint8)
  • NMEA version. Must be set if nmea/set is true.
~<node_name>/nmea/num_sv (uint8)
  • Maximum Number of SVs to report per Talker Id. Must be set if nmea/set is true.
~<node_name>/nmea/compat (bool)
  • Enable compatibility mode. Must be set if nmea/set is true.
~<node_name>/nmea/consider (bool)
  • Enable considering mode. Must be set if nmea/set is true.
~<node_name>/nmea/filter/pos (bool, default: false)
  • Disable position filtering.
~<node_name>/nmea/filter/msk_pos (bool, default: false)
  • Disable masked position filtering.
~<node_name>/nmea/filter/time (bool, default: false)
  • Disable time filtering.
~<node_name>/nmea/filter/date (bool, default: false)
  • Disable date filtering.
~<node_name>/nmea/filter/sbas (bool, default: false)
  • Enable SBAS filtering.
~<node_name>/nmea/filter/track (bool, default: false)
  • Disable track filtering.
ADR/UDR
Parameters for Automotive Dead Reckoning and Untethered Dead Reckoning devices
~<node_name>/use_adr (bool, default: true)
  • Enable ADR/UDR.
~<node_name>/nav_rate (uint16`)
  • Same parameter as described in all section, but for ADR/UDR products it must be set to 1 Hz (therefore, set it equal to the rate).
HPG Reference
Parameters for High Precision GNSS (HPG) Reference station devices
~<node_name>/tmode3 (uint8) ~<node_name>/arp/lla_flag (bool)
  • True if the Fixed position is in Lat, Lon, Alt coordinates. False if ECEF. Required if tmode3 is set to fixed.
~<node_name>/arp/position (float32[3])
  • Antenna Reference Point position in [m] or [deg]. Required if tmode3 is set to fixed.
~<node_name>/arp/position_hp (int8[3])
  • Antenna Reference Point High Precision position in [0.1 mm] or [deg * 1e-9]. Required if tmode3 is set to fixed.
~<node_name>/arp/acc (float32)
  • Fixed position accuracy in [m]. Required if tmode3 is set to fixed.
~<node_name>/sv_in/reset (bool, default: true)
  • Whether or not to reset the survey in upon initialization. If false, it will only reset if the TMODE is disabled.
~<node_name>/sv_in/min_dur (uint8)
  • The minimum Survey-In Duration time in seconds. Required if tmode3 is set to survey in.
~<node_name>/sv_in/acc_lim (float32)
  • The minimum accuracy level of the survey in position in meters. Required if tmode3 is set to survey in.
HPG Rover
Parameters for High Precision GNSS Rover devices
~<node_name>/dgnss_mode (uint8)
INF messages
Enable printing INF messages to the ROS console.
~<node_name>/inf/all (bool, default: true)
  • This is the default value for the INF parameters below, which enable printing u-blox INF messages to the ROS console. Individual INF message types can be turned off by setting their corresponding parameter to false.
~<node_name>/inf/debug (bool, default: Value of ~<node_name>/inf/all)
  • Whether to configure the UBX and NMEA ports to send Debug messages and print received INF-Debug messages to ROS_DEBUG console.
~<node_name>/inf/error (bool, default: Value of ~<node_name>/inf/all)
  • Whether to enable Error messages for the UBX and NMEA ports and print received INF-Error messages to ROS_ERROR console.
~<node_name>/inf/notice (bool, default: Value of ~<node_name>/inf/all)
  • Whether to enable Notice messages for the UBX and NMEA ports and print received INF-Notice messages to ROS_INFO console.
~<node_name>/inf/test (bool, default: Value of ~<node_name>/inf/all)
  • Whether to enable Test messages for the UBX and NMEA ports and print received INF-Test messages to ROS_INFO console.
~<node_name>/inf/warning (bool, default: Value of ~<node_name>/inf/all)
  • Whether to enable Warning messages for the UBX and NMEA ports and print received INF-Warning messages to the ROS_WARN console.
u-blox message publishers
Set the parameters below to subscribe to the specific u-blox message and publish on a ROS topic.
~<node_name>/publish/all (bool, default: false)
  • This is the default value for the RXM, AID, MON, etc. publish/<class>/all parameters below. Individual message classes and messages can be turned off by setting the parameter described below to false.
~<node_name>/publish/aid/all (bool, default: true)
  • This is the default value for the AID subscriber parameters below. Individual AID message subscribers can be turned off by setting the parameter below to false.
~<node_name>/publish/aid/alm (bool, default: Value of ~<node_name>/publish/aid/all)
  • Whether to subscribe to u-blox AidALM messages and publish on the ~aidalm topic.
~<node_name>/publish/aid/eph (bool, default: Value of ~<node_name>/publish/aid/all)
  • Whether to subscribe to u-blox AidEPH messages and publish on the ~aideph topic.
~<node_name>/publish/aid/hui (bool, default: Value of ~<node_name>/publish/aid/all)
  • Whether to subscribe to u-blox AidHUI messages and publish on the ~aidhui topic.
~<node_name>/publish/rxm/all (bool, default: true)
  • This is the default value for the RXM subscriber parameters below. Individual RXM message subscribers can be turned off by setting the parameter below to false
~<node_name>/publish/rxm/alm (bool, default: Value of ~<node_name>/publish/rxm/all)
  • Whether to subscribe to u-blox RxmALM messages and publish on the ~rxmalm topic.
~<node_name>/publish/rxm/raw (bool, default: Value of ~<node_name>/publish/rxm/all)
  • Whether to subscribe to u-blox RxmRAW messages and publish on the ~rxmraw topic.
~<node_name>/publish/rxm/rtcm (bool, default: Value of ~<node_name>/publish/rxm/all)
  • Whether to subscribe to u-blox RxmRTCM messages and publish on the ~rxmrtcm topic.
~<node_name>/publish/rxm/sfrb (bool, default: Value of ~<node_name>/publish/rxm/all)
  • Whether to subscribe to u-blox RxmSFRB messages and publish on the ~rxmsfrb topic.
~<node_name>/publish/rxm/eph (bool, default: Value of ~<node_name>/publish/rxm/all)
  • Whether to subscribe to u-blox RxmEPH messages and publish on the ~rxmeph topic.
~<node_name>/publish/mon/all (bool, default: true)
  • This is the default value for the MON subscriber parameters below. It defaults to true. Individual messages can be turned off by setting the parameter below to false.
~<node_name>/publish/mon/hw (bool, default: Value of ~<node_name>/publish/mon/all)
  • Whether to subscribe to u-blox MonHW messages and publish on the ~monhw topic.
~<node_name>/publish/nav/att (bool, default: Value of ~<node_name>/publish/nav/all)
  • Whether to subscribe to u-blox NavATT messages and publish on the ~navatt topic. on ADR and UDR devices only
~<node_name>/publish/nav/clock (bool, default: Value of ~<node_name>/publish/nav)
  • Whether to subscribe to u-blox NavCLOCK messages and publish on the ~navclock topic.
~<node_name>/publish/nav/posecef (bool, default: Value of ~<node_name>/publish/nav/all)
  • Whether to subscribe to u-blox NavPOSECEF messages and publish on the ~navposecef topic.
~<node_name>/publish/nav/posllh (bool, default: Value of ~<node_name>/publish/nav/all)
  • Whether to publish NavPOSLLH messages on the ~navposllh topic. Firmware <= 6 only, for firmware 7 and above, use NavPVT messages.
~<node_name>/publish/nav/pvt (bool, default: Value of ~<node_name>/publish/nav/all)
  • Whether to publish NavPVT messages on the ~navpvt topic. Firmware >= 7 only.
~<node_name>/publish/nav/relposned (bool, default: Value of ~<node_name>/publish/nav/all)
  • Whether to publish NavRELPOSNED messages on the ~navrelposned topic. HPG Rover devices only.
~<node_name>/publish/nav/sat (bool, default: Value of ~<node_name>/publish/nav/all)
  • Whether to subscribe to u-blox NavSAT messages and publish on the ~navsat topic.
~<node_name>/publish/nav/sol (bool, default: Value of ~<node_name>/publish/nav/all)
  • Whether to publish NavSOL messages on the ~navsol topic. Firmware <= 6 only. For firmware 7 and above, use NavPVT messages.
~<node_name>/publish/nav/status (bool, default: Value of ~<node_name>/publish/nav/all)
  • Whether to subscribe to u-blox NavSTATUS messages and publish on the ~navstatus topic.
~<node_name>/publish/nav/svin (bool, default: Value of ~<node_name>/publish/nav/all)
  • Whether to publish NavSVIN messages on the ~navsvin topic. HPG Reference Station devices only
~<node_name>/publish/nav/svinfo (bool, default: Value of ~<node_name>/publish/nav/all)
  • Whether to subscribe to u-blox NavSVINFO messages and publish on the ~navsvinfo topic.
~<node_name>/publish/nav/velned (bool, default: true)
  • Whether publish ublox_msgs/NavVELNED messages on the ~navvelned topic. Firmware <= 6 only. For 7 and above, use ublox_msgs/NavPVT.
~<node_name>/publish/esf/all (bool, default: Value of ~<node_name>/publish/esf/all)
  • This is the default value for the ESF subscriber parameters below. It defaults to true for ADR/UDR devices. Individual messages can be turned off by setting the parameter below to false.
~<node_name>/publish/esf/ins (bool, default: Value of ~<node_name>/publish/esf/all)
  • Whether to subscribe to u-blox EsfINS messages and publish on the ~esfins topic.
~<node_name>/publish/esf/meas (bool, default: Value of ~<node_name>/publish/esf/all)
  • Whether to subscribe to u-blox EsfMEAS messages and publish on the ~esfmeas topic.
~<node_name>/publish/esf/raw (bool, default: Value of ~<node_name>/publish/esf/all)
  • Whether to subscribe to u-blox EsfRAW messages and publish on the ~esfraw topic.
~<node_name>/publish/esf/status (bool, default: Value of ~<node_name>/publish/esf/all)
  • Whether to subscribe to u-blox EsfSTATUS messages and publish on the ~esfstatus topic.
~<node_name>/publish/hnr/pvt (bool, default: true)
  • Whether to subscribe to u-blox HnrPVT messages and publish on the ~hnrpvt topic.

Launch

Launch the ublox_gps node. Since there are many parameters, load the parameters from a .yaml file. For example:

<?xml version="1.0" encoding="UTF-8"?>

<launch>
  <arg name="param_file_name" doc="name of param file, e.g. rover" />
  <node pkg="ublox_gps" type="ublox_gps" name="ublox_gps">
    <rosparam command="load" file="$(find ublox_gps)/config/$(arg param_file_name).yaml" />
  </node>
</launch>

An example parameter file is shown below. Note that if the baudrate, rate, nav_rate or GNSS are not configured correctly for your device, the launch may fail.

debug: 1                    # Range 0-4 (0 means no debug statements will print)

device: /dev/ttyACM0
frame_id: gps
dynamic_model: portable
fix_mode: auto              # Switches between 2D/3D automatically
dr_limit: 0                 # Dead reckoning limit
enable_ppp: false           # Advanced setting not supported by all devices

rate: 4                     # Measurement rate in Hz
nav_rate: 4                 # in number of measurement cycles

uart1:
  baudrate: 19200           # baudrate is device specific, check the device manual
  in: 1                     # UBX
  out: 4                    # RTCM

# RTCM out config
rtcm:
  ids: [5, 87, 77, 230]     # RTCM Messages to configure
  rates: [1, 1, 1, 10]      # Rates of RTCM messages above,
                            # in number of navigation solutions
dat:
  set: false                # Do not set the user configured datum

# GNSS Config, verify which GNSS are supported by your device
gnss:
  gps: true                 # (not required since it defaults to true)
  glonass: true
  beidou: false
  qzss: false
  sbas: false

inf:
  all: true                   # Whether to display INF messages

# Message subscriptions
subscribe:
  all: true                 # Subscribe to all messages
  aid:
    all: false                # ... except AID messages

Report a Bug


2019-10-12 13:14