Skip to main content

RTK Heading

Hardware

The AutomatePro can be configured with an integrated RTK GNSS Heading sensor, providing precision heading. This is particularly useful when the onboard IMU’s magnetic bearing accuracy is insufficient or when the magnetometer is affected by the operational environment, such as around large steel structures. Depending on antenna placement, the GNSS heading sensor can also measure the robot’s roll or pitch.

The differential heading is provided by Ublox F9H series, if included, the AutomatePro will feature a blue FAKRA connector for antenna connection, with “GNSS-2” used for position and “GNSS-12VDC” for heading.

alt text

GNSS Heading Specifications

ParameterValue
ReceiverUblox F9H
ConnectorGNSS-1 (FAKRA C - Signal Blue)
Supported ConstellationGPS, Galileo, BeiDou, GLONASS
Heading Accuracy0.4° 1 (with antenna spacing >1m)
Max Navigation Update RateDefault 1Hz (Can be configured up to 8Hz)
Info

1 Depends on antennas, spacing between the two antennas - see datasheet for more information

External Antenna

The AutomatePro system is compatible with a variety of multi-band high precision GNSS antennas that have a FAKRA Type C connector (Signal Blue). To find more information on the antennas that have been used with AutomatePro, this can be found here.

Antenna Separation: Ensure a minimum separation of 1 meter (≥1m) between the two GNSS antennas. Configuration options are heading (Yaw) and pitch or heading (Yaw) and roll.


Yaw & Pitch


Yaw & Roll


ROS API

Node: automatepro_gnss_heading_node

Publishers

TopicTypeDescription
/sensor/gnss/heading/true_headingautomatepro_msgs/msg/GNSSHeadingSimplified differential heading in quaternions
/sensor/gnss/heading/navrelposnedublox_msgs/msg/NavRELPOSNED9Detailed Differential Heading with additional information for calculating either roll or pitch
/sensor/gnss/heading/mon_hwublox_msgs/msg/MonHWHardware and Firmware status of the GNSS heading module
/sensor/gnss/heading/nmeanmea_msgs/msg/SentenceRaw NMEA data
/diagnosticsdiagnostic_msgs/msg/DiagnosticArrayGNSS heading ROS driver Diagnostics
Topic for heading data

Even though /sensor/gnss/heading/navrelposned provides more information, it is not required for normal usecases. It is recommended to use /sensor/gnss/heading/true_heading for your application, which provides heading in quaternions with covariances.

Parameters

ParameterTypeValuesRuntimeDescription
devicestringread-onlySerial port (automatically configured)
frame_idstringread-onlyFrame id for the messages published
publish.allbooltrue/falseread-onlyPublish all the messages
publish.mon.hwbooltrue/falseread-onlyenable GNSS module diagnostics publishing
publish.nav.relposnedbooltrue/falseread-onlyenable NavRELPOSNED9 msg publishing
publish.nav.headingbooltrue/falseread-onlyenable heading publishing must be true
publish.nmeabooltrue/falseread-onlyenable NMEA msg publishing
debugint0-4read-only0 - no debug msgs, 4 - all debug msgs

Configuration

Driver: automatepro_gnss_driver
Container: automatepro-core-driver

info

All the configuration related files can be found at /automatepro/config/ros directory.
These files will be mounted to docker container and will be used by the ROS driver.

config file can be found here.

~/.automatepro/config/ros/gnss_heading_params.yaml

Default Config

  automatepro_gnss_heading_node:
ros__parameters:
debug: 0

device: /dev/ttyACM1
frame_id: gnss_heading

config_on_startup: false

# Publishers
publish:
all: false
mon:
hw: true
nav:
all: false
posllh: false
posecef: false
heading: true
relposned: false
nmea: false
Important

Restart the automatepro-core-driver docker container after changing the configuration.
Configurations will only be applied after the container restarts.

docker restart automatepro-core-driver