Skip to content



Lidar Mapping (PoC) »

GNSS Module using Unicorecomm boards

Last update: 2022-06-29


Overview#

Key features

  • All-constellation multi-frequency high-precision RTK and heading board, support BDS B1I/B2I + GPSL1/L2+GLONASS L1/L2+Galileo E1/E5b+QZSS L1/L2
  • Precise RTK positioning and heading
  • Fast RTK Initialization time < 5 s. As tested, RTK Float status is acquired in 5 s, but RTK Fix status needs more time.
  • 20 Hz data output rate
  • Adaptive recognition of RTCM input data format


Accuracy

  • Single point: H = 1.5 m, V = 2.5 m
  • DGPS & SAAB: H = 0.4 m, V = 0.8 m
  • RTK: H = 1 cm, V = 1.5 m (RTK Fix only)


Operation conditions

All I/O pins are LV-TTL Level.

Power Supply

The module needs a stable power source, from 3.3 V to 5 V, with ripple rate is < 50 mA. Be aware that if connect to 3.3 V power, the drop voltage may happen and board will not work.

It is recommended to use a power chip with current output capacity greater than 2 A to power the board. Power consumption may reach 2.6 W.


UPrecise GUI

UPrecise software provides a graphical interface to control and display the operation of the receiver.

UPrecise GUI

Right after connecting to the board though a UART port, UPrecise sends below commands:

unlog     # stop print out all logs
gngga 1   # log position
gngsv 1   # log satellite in view

Commands#

Reset

Factory reset, clear all user configurations:

freset

System reset:

reset

Information

Read version:

versiona
#VERSIONA,90,GPS,FINE,2171,345750000,0,0,18,28;"UB482","R3.00Build20655","B123G12R12E15bS1Z12-HRBMDFS0011N1-S20-P20-A3L:2120/Jan/6","2330319000062-GN1201212700556","1432034796888","2019/Aug/27"*cf090e25

Check antennas:

antennaa
#ANTENNAA,COM2,0,93.0,FINE,2171,347565.800,793915,4,18;ON,ON,OFF,0*ff8fa62e

Configuration

Get current settings:

config
$command,config,response: OK*54
$CONFIG,COM1,CONFIG COM1 115200*23
$CONFIG,COM2,CONFIG COM2 115200*23
$CONFIG,COM3,CONFIG COM3 115200*23
$CONFIG,PPS,CONFIG PPS ENABLE GPS POSITIVE 500000 1000 0 0*6E
$CONFIG,INS,CONFIG INS DISABLE*70
$CONFIG,INS,CONFIG INS ANGLE 0,0,0*75
$CONFIG,INS,CONFIG INS ALIGNMENTVEL 5.0*2F
$CONFIG,INS,CONFIG INS TIMEOUT 200*6D
$CONFIG,INS,CONFIG IMUTOANT OFFSET 0 0 0 0 0 0*6C
$CONFIG,INS,CONFIG IMUTOANT2 OFFSET 0 0 0 0 0 0*5E
$CONFIG,INS,CONFIG INSSOL OFFSET 0.0 0.0 0.0*77
$CONFIG,UNDULATION,CONFIG UNDULATION AUTO*2B
$CONFIG,EVENT,CONFIG EVENT DISABLE*70
$CONFIG,DGPSTIMEOUT,CONFIG DGPS TIMEOUT 300*37
$CONFIG,RTKTIMEOUT,CONFIG RTK TIMEOUT 100*35
$CONFIG,HEADING,CONFIG HEADING FIXLENGTH*6F
$CONFIG,PSRSMOOTH,CONFIG PSRSMOOTH DISABLE*70

Save settings:

saveconfig

Get current mode:

mode
#MODE,94,GPS,FINE,2171,345803000,0,0,18,982;mode rover,HEADINGMODE FIXLENGTH*2F

By default, after factory reset, receiver will work in Rover Dynamic mode, which is the same as the below config:

mode rover

The receiver will automatically start RTK positioning when receiving correction data from any serial ports.


NMEA Messages

Get Position:

gngga <period>

Get satellites in view:

gngsv <period>

Get heading:

gphdt <period>

Get timestamp:

gnrmc <period>

Setup NTRIP client#

The site http://rtk2go.com hosts free mount points for NTRIP casters. Accessing http://rtk2go.com:2101 will get a list of casters. A NTRIP client can access to its via either URL at rtk2go.com:2101 or via IP Address at 3.16.214.124:2101.

The open source project at http://rtklib.com has a tool STRSVR to stream NTRIP data from a caster. It firstly lists the available mount points to select, and then can forward the data stream to the UB482’s COM2 (displayed as a COMx in host PC).

The COM2 has to be set at high baudrate to be able to get correction message quickly:

config com2 460800

RTKLib Stream Server

RTK performance#

Right after UB482 gets correction messages from NTRIP from its COM2 port:

  • take 2 seconds to get DGPS/ SAAB accuracy (meter accuracy)
  • take 5 seconds to get RTK Float accuracy (decimeter accuracy)
  • take 5 minutes to get RTK Fix accuracy (centimeter accuracy)

RTK Fix accuracy

Some issues#

  1. Sometimes, system stays in RTK Float, and there is no RTK Fix in long time

    → Need to check other conditions which affect to RTK process.

  2. In Rover mode, there is no way to export raw observation data to use in post-processing. RTCM messages are only printed out in Base mode.

    • Unicorecomm data has some observation messages OBSVMA. Unicorecomm has fixed their converter tool to convert OBSVMA data to RINEX format.
  3. There are some commands which do not work event are listed in UPrecise or in documents:

    • Turning on IMU with config ins enable returns OK, but running rawimua returns an Unknown IMU type.
      → All new Unicorecomm GNSS modules have no INS feature, confirmed by Unicorecomm’s engineers !!!

    • Command interfacemode com2 rtcmv3 unicorecomm on returns wrong syntax.
      → No Unicorecomm output format in GNSS module !!!

UB4B0 on Base#

For RTK base station (fixed base station), the antenna is placed at a known coordinate with no changes during the whole use. Meanwhile, the precise coordinates of the known measurement station and the received satellite information will be sent to rover (yet to be positioned) by RTCM protocol directly or after processing.


Communication

RTCM message will be available on the COM1, at 115200 bps (8N1).


Base’s coordinate

Since the base coordinate is unknown, Base will be set to self-optimization mode:

mode base time 60 1.0 2.0

The command means:

Within 60 seconds or when the standard deviation of horizontal position is less than 1.0 m and that of vertical position is less than 2.0 m, set the average position as the base’s coordinate.

Trigger below command once to get Base coordinate:

gngga

RTCM output

Send below commands to get RTCM info:

rtcm1006 com1 10 # Base station antenna
rtcm1033 com1 10 # Description of receiver
rtcm1074 com1 1  # GPS system correction data
rtcm1124 com1 1  # BDS system correction data
rtcm1084 com1 1  # Glonass system correction data
rtcm1094 com1 1  # Galileo system correction data

UB482 on Rover#

Rover Station receives the real-time differential correction data from the base station. Rover can automatically recognize the RTCM data and perform RTK solution.

There are three kinds of RTK mode: static mode, dynamic mode and automatic mode. The default setting is dynamic mode. The receiver will automatically start RTK positioning when receiving correction data from any serial ports.

mode rover

GNGGA output

The position information should be sent on COM2 every second:

gngga com2 1

The output frequency can be set up to 20 Hz:

gngga com2 0.05

GPRMC output

The date time information should be sent on COM3 every second:

gprmc com3 1

Appendix#

Emlid provides RTK GNSS modules such as REACH M+ (at $265) which use U-Blox GNSS module and an integrated IMU. These modules support raw output for post-processing. A cheaper module named Navio2 is a good choice for an Autopilot HAT on Raspberry Pi.

Emlid also provides free NTRIP Caster mount points to send corrections over the internet. It is similar to rtk2go.