ZED-F9P GPS-RTK HAT
This is a precise centimeter-level Raspberry Pi GNSS HAT based on ZED-F9P. It provides features like multi-band RTK with fast convergence times, high update rate, moving base RTK mode support, concurrent reception of 4 GNSS systems, augment positioning systems support, accurate & fast positioning with minor drifting, and outstanding ability for anti-spoofing & anti-jamming.
By simply attaching it to the Pi, it is fairly easy to enable GNSS capability for your Raspberry Pi.
- Standard Raspberry Pi 40PIN GPIO extension header, supports Raspberry Pi series boards, Jetson Nano.
- Multi-band RTK with fast convergence times, centimeter-level accuracy, and high update rate.
- Supports moving base RTK mode, enabling terminal precise navigation and centimeter-level accuracy.
- Supports concurrent receiving 4 GNSS constellations (GPS, BeiDou, Galileo, and GLONASS), and still retains low power consumption.
- Augment systems support, including SBAS, QZSS, IMES, and D-GPS, improving the positioning performance of service location.
- A-GNSS (Assisted GNSS) support, reducing the first positioning time when powered up, improving the acquisition sensitivity.
- Features -167dBm navigating sensitivity and the outstanding ability for anti-spoofing & anti-jamming, supports geo-fencing.
- Supports U-Center, an easy way to config the module.
- Onboard battery holder, supports ML1220 rechargeable cell, for preserving ephemeris information and hot starts.
- 4 x LEDs for indicating the module operating status.
|Frequency band||u-blox F9 platform |
GPS L1C/A L2C, SBAS, QZSS, GLONASS L1OF L2OF, BeiDou B1I B2I, Galileo E1B/C E5b
|Max navigation update rate||PVT||8Hz||10Hz||15Hz||15Hz||15Hz||20Hz|
|PTK convergence time||<10s||<10s||<10s||<10s||<10s||<30s|
|Positioning accuracy||PVT||1.5cm CEP|
|RTK (horizontal and vertical)||0.01m+1ppm CEP|
|Sensitivity||Tracking and navigating||-167 dBm|
|Velocity accuracy||0.05 m/s|
|Heading accuracy||0.3 degree|
|PPS frequency||0.25Hz ~ 10MHz (configurable)|
|Operational limits||Acceleration (max): 4g|
|Altitude (max): 50000m|
|Velocity (max): 500m/s|
|Communication interface||USB, UART (4800~921600bps, 9600bps by default), I2C (max 400KHz), SPI (5MHz)|
|Protocol||NMEA 0183 Version 4.10, UBX, RTCM 3.3|
|Overall current||< 120mA@5V (continue mode)|
|Module current||130mA@3V max (tracking status)|
|Operating temperature||-40℃ ~ 85℃|
|Dimension||65mm × 30.5mm|
GNSS (Global Navigation Satellite System) is a general term for multiple satellite systems. At present, there are BDS (China), GLONASS (Russia), GPS (United States), Galileo (Europe), QZSS (Japan), and IRNSS (India) navigation satellite systems in the world. The features of GNSS are as follows:
- GPS is widely used with mature technology, and the frequency band signals such as L1C/A, L2C, and L5, have improved the positioning accuracy.
- GNSS modules with multi-system and multi-band can capture satellites from different satellite systems, which greatly increases the number of effective satellites and improves positioning accuracy and stability.
- The signal received by the GNSS module contains reflected and refracted signals, resulting in multi-path effects that affect the positioning accuracy. The multi-band and multi-constellation system technology can effectively lessen errors caused by the atmosphere and improve positioning accuracy.
- With the development of GNSS, a variety of positioning technologies such as RTK, PPP-RTK and multi-sensor fusion positioning DR (Dead Reckoning) have emerged to meet the needs of differentiated high-precision positioning.
In this section, the working principle of GPS receiver positioning is shown in the figure below, and the details are described in the following 5 points. For details of the positioning principle, please refer to GPS Working Principle, Fundamentals of gps receivers, FUNDAMENTALS OF GPS.
- GPS satellites continuously send radio signals with their own time and position information in the air for GPS receivers (GNSS modules such as ZED-F9P)
- A pseudo-random code will be generated inside the satellite and the receiver. Once the two pseudo-random codes are synchronized, the receiver can measure the difference between the time the radio signal is transmitted and the time it arrives at the receiver (referred to as the time delay), and multiply the time delay by the speed of light to get the distance (pseudorange).
- The time of the GPS system is maintained by the rubidium atomic frequency standard of the atomic clocks on each satellite. These satellite clocks are generally accurate to within a few nanoseconds of Coordinated Universal Time (UTC), which is maintained by the Naval Observatory's "Master Clock", the stability of each master clock is several 10^(-13) seconds.
- Computers and navigation information generators on GPS satellites know precisely their orbital positions and system time, while a global network of monitoring stations keeps track of satellites' orbital positions and system time. The main control station at Schriever Air Force Base in Colorado, together with its operation and control section, input the orbital position and onboard clock correction data calculated on the basis of complex models into each GPS satellite at least once a day.
- To calculate the 3D position of the GPS receiver (GNSS module), the GPS receiver is required to receive signals from at least four satellites, and the 3D position is calculated according to the space triangle Pythagorean theorem and the quadratic linear equation.
RTK (Real Time Kinematic), also known as carrier phase differential technology, is a GNSS positioning technology that supports centimeter-level positioning accuracy (referred to as RTK) and is a differential method for real-time processing of the carrier phase observations of two measuring stations. The working process of RTK is shown in the figure below. The DGPS corrections generated by the base station (GNSS receiver) are transmitted to the mobile station (GNSS receiver) in real-time through the mobile network for calculation and centimeter positioning.
- Apply in various control surveys such as traditional geodetic surveying and engineering control surveying in triangulation and wire netting methods, and use RTK to measure the positioning accuracy in real-time to ensure observation quality and improve operational efficiency. Compared with non-real-time measurements such as normal GPS static surveys, fast static surveys, and pseudo-dynamic surveys, it must be retested when the accuracy does not meet the requirements. In addition, RTK is used in highway control measurement, electronic circuit control measurement, water conservancy engineering control measurement, and geodetic survey, which can reduce labor intensity, save costs, and complete control point measurement within minutes or even seconds.
- Topographic mapping: Using RTK only requires one person with the instrument to stay at the detail point for a second or two, and input the feature code at the same time. The accuracy of points and areas can be known in real-time through the screen. After returning to the room, the professional software interface can output the required topographic map. In this way, RTK only requires one person to operate, and it does not require point-to-point vision, which greatly improves efficiency. With RTK and the electronic handbook, you can measure and design various topographic maps, such as general surveying, railway strip topographic maps, highway pipeline topographical maps, reservoir topographic maps, nautical ocean surveying, and so on with the depth sounder.
- Setting out is an application branch of measurement. When using RTK to set out, you only need to input the designed point coordinates into the electronic handbook with the GPS receiver on your back, and it will remind you to go to the position. It is not only fast and easy but also is high-accuracy and uniform as GPS is set out by coordinates directly. Hence, the efficiency of setting out in exterior operation is greatly improved, and only one person can operate.
Working With Windows PC
Rover means that use the ZED-F9P GPS-RTK HAT as a rover, connect and receive RTCM3 data streams from base station providers for high precision centimeter-level positioning.
Base Station Service Providers
1. You need to apply for a reference base station service from a local institution. For example, if you are in the USA, you need to apply from UNAVCO, here we use the Hong Kong Geodetic Survey Services to test in China.
1) Download and install the u-center software.
2) Connect the ZED-F9P GPS-RTK HAT to PC and install drivers according to the prompt, after installing, open the u-center software and select the COM port.
3) Choose Receiver --> NTRIP and type the parameter below:
Note: we recommend the distance between the station and the rover should be shorter than 50 km. Address: landsd-gncaster.realtime.data.gov.hk Port: 2101 Username: psi_user Password: psi
4) Then click Update source table, choose T430_32 in the NTPIP mount point drop-down box, and click OK to save and run the RTK service.
5) After connecting NTRIP, the connect status of NTRIP is shown at the bottom of the u-enter. The RTK indicator keeps lighting if the module is in Fixed status and flashing in Float status.
2. Use ZED-F9P GPS-RTK HAT to establish CORS (Continuous Operational Reference System), provide RTCM3 data stream for other equipment, and realize real-time centimeter-level positioning of the equipment, refer to #Stationary Base
Moving Base and Rover
Moving Base and Rover refers to the use of two ZED-F9P GPS-RTK HAT modules to achieve dynamic high-precision positioning and guidance functions, which are widely used in automatic operation systems such as smart cars and precision agriculture, as well as scene applications such as target following in film and television shooting.
1. Moving base (hereafter call MB module) setting.
1) Open the u-center, and connect the MB module, choose View --> Configuration View Option(You can also press Ctrl+F9).
2) Choose the MSG (Messages) Option, Enable the RTCM3 data streams to UART2:
RTCM 1077 RTCM 1087 RTCM 1097 RTCM 1127 RTCM 1230 RTCM 4072.0 RTCM 4072.1
3) Save the setting. It uses a button battery for RAM parameter storage by default. As Figure 2.
4) After the MB module and Rover module are set up, use DuPont cable to connect the UART2 interfaces of the two modules (note that the TXD of the MB Module is connected to the RXD of the Rover module) or use the wireless module to transparently transmit the RTCM3 data stream from the MB Module to the Rover module. As Figure 3.
5) After the connection is completed, the u-center connected to the MB module opens the NTRIP client service, please refer to the chapter Rover --> Other Reference #Base Station Service Providers.
2. Rover(Hereafter call Rover module) Setting
1) Open another u-center software and connect to the Rover module, choosing the correct COM port.
2) Choose View --> Configuration View Option (or Press Ctrl+F9),choose MSG(Messages) and NAV_RELPOSNED, check the UART1 option. As Figure 1.
3) Choose CFG, select Save current configuration, and save. It uses a button battery for RAM parameter storage by default.
4) After setting up the MB module and the Rover module, connecting the UART2 interfaces of two modules (note that the TXD of the MB Module is connected to the RXD of the Rover module), open the u-center which is connected to the Rover module, choose View --> Messages View.
5) Find and click the UBX --> RELPOSNED option to check and verify the Moving Base application. When the MB module enters the Fix positioning, the Rover module receives the RTCK data stream of the MB module in real-time, and also enters the Fix positioning and outputs the centimeter-level positioning relative to the MB module. The steering angle, as shown in Figure 3 below, Length and Heading, where the size of Length is the distance between the two antennas, and the accuracy is 1cm. Users can move the Rover module antenna in real-time and measure the distance to the MB module antenna and work with the Length on the u-center. In comparison, the centimeter-level positioning function of ZED-F9P is verified from the side. The heading indicates the angle between the two antennas. The user can move the Rover module antenna and observe the change of Heading.
Stationary Base means that us ZED-F9P GPS-RTK HAT as a base station, provide observation data of centimeter-level positioning accuracy relative to the base station for other rover stations. The service of UNAVCO or Hong Kong Geodetic Survey Services which mentioned above work in the same way, they build base stations in various regions send observation data streams to nearby mobile stations through the Internet to achieve centimeter-level positioning of nearby mobile stations.
1. Go to Hong Kong Geodetic Survey Services, make the ZED-F9P GPS-RTK HAT to RTK Fixed status, and get the positioning coordinates. Then configure the Stationary Base
1) Get the RTK Fixed coordinates of ZED-F9P GPS-RTK HAT, refer to Rover chapter, the obtained RTK Fixed coordinates are shown in Figure 1.
2) Set the Fix Position of ZED-F9P GPS-RTK HAT, as Figure 2.
3) Setup local RTCM3 data stream service by NTRIP Server/Caster, the ZED-F9P GPS-RTK HAT should be set as Stationary Base, as Figure 3.
4) Use another Rover to connect NTRIP Server and get RTCM3 data streams, as Figure 4.
Working with Raspberry Pi
1. c codes
c codes use the Qianxun server, which can only be available in the China area.
2. python codes
The user needs to apply for an RTCM data stream service account from the local organization, fill in as shown in the figure below, and run the routine to perform centimeter-level positioning.
2.1 Restart the Raspberry Pi after enabling the hardware serial port.
2.2 Connect the GNSS multi-frequency antenna to the HAT after power off, then connect the HAT to the Raspberry Pi.
2.3 Use minicom to check whether the HAT outputs NMEA data.
2.4 Download the routine and fill in the account information as shown in the figure and run the demo.
mkdir zed-f9p && cd zed-f9p wget https://www.waveshare.com/wiki/File:ZED-F9P_GPS-RTK_HAT_Demo.zip unzip ZED-F9P_GPS-RTK_HAT_Code.zip cd python sudo pip3 install pynmeagps sudo python3 main.py -u psi_user -p psi -2 landsd-gncaster.realtime.data.gov.hk 2101 T430_32
- link of official resource of ZED-F9P
- ZED-F9P Datasheet
- ZED-F9P Integration manual
- Moving base applications