Changes between Version 23 and Version 24 of expansion/gw16143


Ignore:
Timestamp:
08/22/2024 10:16:52 PM (3 months ago)
Author:
Blake Stewart
Comment:

PointPerfect demo (need to add photos)

Legend:

Unmodified
Added
Removed
Modified
  • expansion/gw16143

    v23 v24  
    117117$GPGSV,3,2,12,10,13,112,42,17,03,314,,21,57,242,47,22,54,320,45,1*65
    118118}}}
    119  * Note if the device is also outputting binary data, directly reading the device as serial data can have unexpected behavior
     119 * Note if the device is also outputting binary data, directly reading the device as serial data can have unexpected behavior.
    120120
    121121You can also use {{{gpsd}}} to interact with the modem:
     
    125125
    126126== Host Development
    127 The development tools released by U-Blox are made for the Windows OS, but various Linux based OS alternatives also exist. Initial bring up and testing was done on Gateworks [wiki:newport Newport] and [wiki:venice Venice] boards running our [wiki:ubuntu Ubuntu Focal BSP]. Information on the Windows utilities are included as a reference.
     127The development tools released by U-Blox are made for the Windows OS, but various Linux based OS alternatives also exist. Initial bring up and testing was done on Gateworks [wiki:newport Newport] and [wiki:venice Venice] boards running our [wiki:ubuntu Ubuntu Focal BSP]. Information on the Windows utilities are included as a reference. The well-known alternative for configuration / visual GUI is PyGPSClient, an open source program that can be compared to u-center and also parses new NTRIP data formats such as SPARTN for high accuracy location data while also using little data.
    128128
    129129=== Windows
     
    133133The [https://www.u-blox.com/en/product/u-center u-center] evaluation software needs to be installed on a Windows machine, but it has the capability to do everything required for configuration and testing on the ZED-F9P. This includes configuration of control registers, RTK base station/rover set up, and viewing GNSS data.
    134134
     135u-center is an evaluation software and is not recommended outside of development, but it can be powerful for intuitively configuring the communication to the ZED-F9P and getting a visual representation of data. One way of connecting to u-center is via TCP.
     136
     137{{{
     138gpsd -G -D 5 -F -n -N /var/run/gpsd.sock /dev/ttyACM0
     139cgps  #sanity check GPS data is good
     140}}}
     141{{{
     142socat TCP-LISTEN:12101,reuseaddr,fork /dev/ttyACM0,raw,echo=0 #sends data over TCP:12101
     143}}}
     144
     145
    135146For more information on u-center usage see the relevant [https://www.u-blox.com/sites/default/files/u-center_Userguide_%28UBX-13005250%29.pdf user guide].
    136147
     
    141152Therefore all of the following examples can be done on a running target board, or otherwise on a development machine with the GW16143 in a USB carrier. Code can then be cross compiled and delivered to units via whatever preferred method.
    142153
    143 All of the following examples require [https://gpsd.gitlab.io/gpsd/ GPSD] version {{{3.21}}} or greater.
     154Most of the following examples require [https://gpsd.gitlab.io/gpsd/ GPSD] version {{{3.21}}} or greater. Some newer NTRIP protocols such as SPARTN (which is used by the !PointPerfect service) may not be supported by GPSD, so pygnssutils in lieu of gpsd is an out-of-the-box solution.
    144155
    145156
     
    148159Networked Transport of RTCM via Internet Protocol, or [https://en.wikipedia.org/wiki/Networked_Transport_of_RTCM_via_Internet_Protocol NTRIP], is the protocol that allows us to transmit RTK data between the differential gps basestation which has a fixed known position to any number of GPS clients that can use the RTK correction data. The NTRIP standard is designed and published by [https://www.rtcm.org/ RTCM]. You can read more about the NTRIP protocol [https://igs.bkg.bund.de/root_ftp/NTRIP/documentation/NtripDocumentation.pdf here].
    149160
    150 Acquiring RTK correction data for high precision GPS with the GW16143 can be done either by pointing to a preexisting source such as ones posted to [http://www.rtk2go.com/ rtk2go], or setting up a source, server, and caster yourself. Keep in mind that RTK correction data effectiveness is diminished over larger distances. For more specifics, see this great [https://www.researchgate.net/publication/241755023_Exploring_GNSS_RTK_performance_benefits_with_GPS_and_virtual_galileo_measurements publication] of RTK experimental findings by Yanming Feng and Jinling Wang.
    151 
    152 There are a number of open source NTRIP utilities to use for setting up a differential GPS system. Some options and the required configuration steps of the GW16143 are described in the following sections.
     161Acquiring RTK correction data for high precision GPS with the GW16143 can be done either by pointing to a preexisting source such as u-blox PointPerfect, the ones posted to [http://www.rtk2go.com/ rtk2go], or setting up a source, server, and caster yourself. Keep in mind that RTK correction data effectiveness is diminished over larger distances. For more specifics, see this great [https://www.researchgate.net/publication/241755023_Exploring_GNSS_RTK_performance_benefits_with_GPS_and_virtual_galileo_measurements publication] of RTK experimental findings by Yanming Feng and Jinling Wang.
     162
     163There are a number of open source NTRIP utilities to use for setting up a differential GPS system. Some options and the required configuration steps of the GW16143 are described in the following sections. 
    153164
    154165=== Source
     
    187198
    188199=== Client
     200
     201
     202Note: For !PointPerfect/SPARTN NTRIP clients, gpsd/rtklib is not known to support SPARTN at this time; we recommend PyGNSSUtils at the time being for parsing the NTRIP data and having an abstraction layer between the end application and /dev/ttyACM0. Examples of getting <2cm accuracy from SPARTN data are in the !PointPerfect section below.
    189203
    190204The firmware that is loaded by default on the GW16143 will allow for an instance of {{{gpsd}}} to feed it RTK data and improve it's fix accuracy. However if you've fiddled with the configuration, or otherwise would like to make sure you're working with defaulted firmware, you can reset the device's configuration registers with {{{ubxtool}}}. Once again keep in mind you may need to run the polling operations of {{{ubxtool}}} more than once depending on asynchronous factors.
     
    2552698. All of the executable binary APs for Windows are included in the package as well as whole source programs of the library and the APs.
    256270
    257 == Third Party Solutions
     271== Third Party RTK Solution: !PointPerfect
    258272U-blox also provides a GNSS augmentation service called !PointPerfect. It features the following:
    259273
     
    267281[https://developer.thingstream.io/guides/location-services/pointperfect-getting-started Info Link]
    268282
    269 
    270 ''' Contact Gateworks Sales Department (sales@gateworks.com) to get a free 1-month access code!
     283> Contact Gateworks Sales Department {{{sales@gateworks.com}}} to get a free 1-month access code!
    271284
    272285[[Image(point.jpg, width=300)]]
     286
     287!PointPerfect can get extremely accurate positioning data extremely quickly with relatively low bandwidth (kilobytes / minute). Combined with the [https://trac.gateworks.com/wiki/expansion/gw16126 GW16126] for LTE/Bluetooth, differential fixes can be easily received in hard-to-reach locations.
     288
     289The easiest way to use !PointPerfect with the ZED-F9P is through [https://github.com/semuconsulting/pygnssutils pygnssutils]. Our examples also leverage the GW16126 for cellular connectivity and were able to get very precise data in a moving vehicle, even with relatively low reception, though !PointPerfect has various delivery methods (NTRIP, MQTT, L-Band). For this example, the script works without too much configuration since Linux automatically configures cellular modems to make connections work seamlessly.
     290
     291The bare-minimum python program for a NTRIP client with pygnssutils can be found on their [https://github.com/semuconsulting/pygnssutils/blob/main/examples/rtk_example.py git repo]. The data collected was output to a file containing location data over time, and then converted to KML format to be imported into Google Earth.
     292
     293!PointPerfect uses SPARTN in lieu of RTCM3.x data as it is claimed to be data-saving relative to other NTRIP protocol formats. After around an hour of using the NTRIP service there was only around 500kB of data usage while simultaneously getting centimeter-level accuracy in a moving vehicle (at 1 sample/second location data).
     294
     295Free-to-use rtk base stations (such as rtk2go.com) or your own base station can be used to get NTRIP corrections for high accuracy without a subscription, but !PointPerfect poses itself as a great solution given it's scalability, security, reliability, and simple integration. If you want to evaluate it for yourself, contact {{{sales@gateworks.com}}} for a 1 month free access code.
     296
    273297
    274298