# RTK GPS Heading with Dual u-blox F9P
Two u-blox F9P RTK GPS modules mounted on a vehicle can be used to accurately compute a heading angle (i.e. an alternative to compass-based heading estimation). The two GPS devices in this scenario are referred to as the Moving Base and Rover.
# Supported Devices
This feature works on F9P devices that support CAN or expose the GPS UART2 port.
The following devices are supported:
- ARK RTK GPS (opens new window) (arkelectron.com)
- SparkFun GPS-RTK2 Board - ZED-F9P (opens new window) (www.sparkfun.com)
- SIRIUS RTK GNSS ROVER (F9P) (opens new window) (store-drotek.com)
- mRo u-blox ZED-F9 RTK L1/L2 GPS (opens new window) (store.mrobotics.io)
- Holybro H-RTK F9P Helical or Base (opens new window) (Holybro Store)
- Holybro DroneCAN H-RTK F9P Rover or Helical (opens new window) (Holybro Store)
- CUAV C-RTK 9Ps (opens new window) (CUAV Store)
Note
- Freefly RTK GPS and Holybro H-RTK F9P Rover Lite cannot be used because they do not expose the CAN or UART2 port.
- Supported devices are also listed in GPS/Compass > Supported GPS and/or Compass.
# Setup
Ideally the two antennas should be identical, on the same level/horizontal plane and oriented the same way, and on an identical ground plane size and shape (Application note (opens new window), section System Level Considerations).
- The application note does not state the minimal required separation between modules (50cm has been used in test vehicles running PX4).
- The antennas can be positioned as needed, but the GPS_YAW_OFFSET must be configured: GPS > Configuration > GPS as Yaw/Heading Source.
# UART Setup
- The UART2 of the GPS devices need to be connected together (TXD2 of the "Moving Base" to RXD2 of the "Rover")
- Connect UART1 on each of the GPS to (separate) unused UART's on the autopilot, and configure both of them as GPS with baudrate set to
Auto
. The mapping is as follows:- Main GPS = Rover
- Secondary GPS = Moving Base
- Set GPS_UBX_MODE to
Heading
(1) - EKF2_GPS_CTRL parameter bit 3 must be set (see GPS > Configuration > GPS as Yaw/Heading Source).
- GPS_YAW_OFFSET may need to be set (see GPS > Configuration > GPS as Yaw/Heading Source).
- Reboot and wait until both devices have GPS reception.
gps status
should then show the Main GPS going into RTK mode, which means the heading angle is available.
# CAN Setup
Refer to the CAN RTK GPS documentation for each specific device for the setup instructions (such as ARK RTK GPS > Setting Up Moving Baseline & GPS Heading)
Note
If using RTK with a fixed base station the secondary GPS will show the RTK state w.r.t. the base station.
# Further Information
- ZED-F9P Moving base applications (Application note) (opens new window) - General setup/instructions.
- GPS > Configuration > GPS as Yaw/Heading Source