Difference between revisions of "Sensors/GPS"

From PaparazziUAV
Jump to navigation Jump to search
 
(215 intermediate revisions by 37 users not shown)
Line 1: Line 1:
{| align=right
<categorytree style="float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;" mode=pages>Sensors</categorytree>
|-
<div style="float:left; clear:left; margin-right:2ex; padding: 0.7ex;">__TOC__</div>
| __TOC__
 
|}
<br style="clear:both;" />
 
=GPS Receivers=
 
An overview of GPS receivers used in combination with Paparazzi. The list is by far not complete. A lot more devices will work flawlessly with Paparazzi. If you have a GPS receiver you have used with Paparazzi that is not listed here, it would be great if you could add that information to this page.
<br style="clear:both;" />
 
=[http://1bitsquared.com 1BitSquared] [http://1bitsquared.com/products/g0-gps G0 GPS]=
 
[[Image:G0_GPS_V1_1_Top_with_skirt.jpeg|240px|thumb|left|G0 GPS]]
 
[http://1bitsquared.com 1BitSquared] sells a Paparazzi UAV compatible GPS module called [[G0]]. It is designed to neatly fit on top of the [[Elle0]] autopilot. It can also be used with any other Paparazzi UAV compatible hardware. [[G0]] GPS module features a large ground plane with optional ground plane skirt, as well as RF shielding on the back of the module.
 
The large ground plane improves the directionality of the unit helping reject multi-path. When using the [[G0]] GPS unit on a multi-copter it results in less drift when taking off the ground, and improves GPS lock when flying from waypoint to waypoint.
 
The EMI shielding on the back of the unit decreases the amount of noise injected from the aircraft avionics into the GPS unit, improving the noise to signal ratio. An increased signal results in a more robust satellite lock, and more reliable fully autonomous and guided flight operations.
 
[[G0]] GPS module is using a U-Blox that is providing very fast speed updates that are crucial for accurate navigation within Paparazzi UAV. Additionally Paparazzi UAV supports the binary U-Blox protocol that is very efficient to parse compared to the very vaguely defined NMEA text protocol. Just enable the UCenter Module in your airframe file and Paparazzi will configure the module for best performance without the need for user interaction.
 
For more information go to the [[G0|G0 GPS wiki page]].
 
<br style="clear:both;" />
 
=[http://swiftnav.com/ Swiftnav] Piksi=
 
A very special receiver is the OpenSource (almost all...) Swiftnav Piksi GPS receiver. How to use this device with Paparazzi is described on the a specific page
[[Image:Piksi_GPS_back.jpg|200px|thumb|left|Swiftnav Piksi]]
<br style="clear:both;" />
 
=LS20031 GPS Receiver=
 
[[Image:ls20031.jpg|170px|thumb|left|LS20031]]
Sparkfun sells the LS20031 GPS module which uses NMEA (Paparazzi support for NMEA is BETA right now.) This Locosys GPS module supports WAAS (U.S. DGPS), EGNOS (EU DGPS), and MSAS (Japanese DGPS).
 
More information on configuring the GPS via PMTK can be found [http://dallasmakerspace.org/wiki/LS20031_GPS here]
<br style="clear:both;" />
 
=Globalsat BU 353=
 
[[Image:BU-353_gps_receiver.jpg|thumb|left|170px|BU-353 GPS receiver]]
 
USB US Globalsat GPS-Mouse
 
Typical Uses:
 
* Parrot AR Drone 2.0
* Ground Station GPS (direct support with Linux / gpsd)
 
''Not appropriate for many airborne applications due to extra USB-serial circuitry and weight of housing and internal magnet''
 
Basic compatibility with Windows, Mac and Linux.<br/>
More information at the [[GPS/BU_353]] site.
<br style="clear:both;" />


=uBlox=


==Overview==
[[Image:U-blox_color_warm_60.gif|100px]]
[[Image:U-blox_color_warm_60.gif|100px]]
[http://www.u-blox.com uBlox is a Swiss technology company] that develops very good positioning modules. They are the recommended GPS modules for use with Paparazzi autopilots. Note that u-Blox produces the modules only. They do not sell complete boards to end users. These are sold by a multitude of vendors.


Paparazzi autopilots are designed around the popular [http://www.u-blox.com u-blox] brand of receivers.
Why uBlox:
 
*Low cost ([[Sensors/GPS#u-blox_NEO-6M|i.e. NEO6-M]])
*Features:
*Small size
**Small size
*Excellent performance (u-Blox 7 and 8 series)
**Excellent performance
*Up to 10Hz update rate
**4Hz position update rate
*5V tolerant UART
*Works out of the box with Paparazzi's u-Blox [[Module/GPS_UBlox_UCenter|auto-configuration module]]


The '''[[Tiny]]''' features an onboard LEA series GPS receiver, while '''[[Classix]]''' and '''[[Previous_Autopilots|AVR-based]]''' boards require an external receiver such as the SAM-LS.  Please note that the receivers must be configured (prior to use with the autopilot) as indicated below. Additionally, the LEA series receivers require the use of an external antenna (as opposed to the SAM-LS, where the antenna is built into the module). Both modules have proven reliable and robust.  
The '''[[Tiny]]''' series features an onboard LEA series GPS receiver and patch antenna, while most other boards boards require an external receiver+antenna such as the [[#Paparazzi_Stand-alone_GPS_Receivers|Paparazzi GPS]] or [[#u-Blox_SAM-LS_GPS_Smart_Antenna|SAM-LS]].  


{|align = center
{|align = center
|-
|-
|[[Image:Lea big.jpg|200px|thumb|center|u-blox LEA GPS Receiver]]
|[[Image:Lea big.jpg|200px|thumb|center|u-blox LEA GPS Receiver]]
|[[Image:Ublox_SAM-LS.jpg|200px|thumb|center|u-blox SAM-LS GPS receiver (w/built-in Smart Antenna)]]
|[[Image:Ublox_SAM-LS.jpg|200px|thumb|center|u-Blox SAM-LS GPS receiver (w/built-in Smart Antenna)]]
|[[Image:UBlox_LEA-6H_Sarantel_Helix_s.jpg|200px|thumb|center|u-Blox LEA-6H GPS receiver with Sarantel Helix Antenna]]
|}
|}


'''Note:''' Current configuration for the '''[[Tiny|Tiny 1.1]]''' board uses the LEA series GPS receiver and it incorporates a ground plane for a GPS antenna. Originally, the ground plane was designed for a 13mm ceramic antenna although an 18 or 20mm antenna would be better suited. Either one is fine, and more testing is under way to reach a final configuration. Please follow the discussion (below) on different antennas for further details.
'''Note:''' The proprietary UBX protocol is used as it offers more information and efficiency than the universal NMEA protocol. For details take a look at the code in <tt>sw/airborne/subsystems/gps/gps_ubx.c</tt>.


'''Note:''' The proprietary UBX protocol is used as it offers more information and efficiency than the universal NMEA protocol.  The protocol is parsed in <tt>sw/airborne/gps_ubx.c</tt>.  Other GPS brands would require a similar parsing file to be written for NMEA or other proprietary protocols.   
==u-Blox LEA Series Receivers==


==GPS Receivers==
<!-- [[Image:Lea big.jpg|200px|thumb|right|u-blox LEA]] -->
[[Image:Lea5htiny13.jpg|thumb|left|200px|LEA-5H installed on the Tiny]]
The '''[[Lisa]]''' series, '''[[Twog_v1|TWOG]]''', '''[[Classix]]''' and '''[[Previous_Autopilots|AVR-based]]''' boards require an external GPS module and antenna.  The '''[[Tiny]]''' features an integrated receiver and antenna.  Either type is designed for [http://www.u-blox.com/ u-blox] 4, 5 and 6 series GPS receivers and the proprietary UBX binary protocol.  An external battery or capacitor is typically used to enable the GPS to retain data while powered off for significantly faster signal re-acquisition.  Any of the LEA-4, LEA-5 and LEA-6 series receivers can be used including the less expensive LEA-4A, 4S, 5A and 5S and similar low cost 6-series models as the special boot configuration code required for these models is already written as a [[Module/GPS_UBlox_UCenter|module]].


===- u-Blox LEA Series===
<source lang="xml">
[[Image:Lea big.jpg|100px|thumb|right|u-blox LEA]]
  <!-- autobaud - runtime configuration of - ROM-only modules: use ucenter-module to configure your UBlox with no cable nor windows u-center -->
The '''[[Tiny]]''' currently uses the [http://www.u-blox.com/products/lea_4p.html u-blox LEA-4P] featuring [http://www.u-blox.com/technology/antaris4/index.html Antaris-4] technology and uses uBlox's more efficient UBX binary protocol.  This module is a surface mount package which is soldered directly onto the target board (Tiny in this case).  The Tiny also features a battery backup (capacitor) that allows the GPS to retain data while powered off for significantly faster signal re-aquisition.
  <load name="gps_ubx_ucenter.xml" />
</source>


*4Hz Position update rate
*4Hz Position update rate
*Supports active or passive antennas
*Supports active or passive antennas
*Supports [http://en.wikipedia.org/wiki/DGPS DGPS], [http://en.wikipedia.org/wiki/WAAS WAAS], [http://en.wikipedia.org/wiki/EGNOS EGNOS], and [http://en.wikipedia.org/wiki/MSAS MSAS]
*Supports [http://en.wikipedia.org/wiki/DGPS DGPS], [http://en.wikipedia.org/wiki/WAAS WAAS], [http://en.wikipedia.org/wiki/EGNOS EGNOS], and [http://en.wikipedia.org/wiki/MSAS MSAS]
*Low position noise figure


[[Image:TINY_1.3_MCU_BOTTOM.JPG|thumb|center|250px|LEA-4P installed on the Tiny]]
<br style="clear:both">
<br style="clear:both">


===u-Blox SAM-LS GPS Smart Antenna===
==Paparazzi Stand-alone uBlox GPS Receivers==
[[Image:Ublox_SAM-LS.jpg|100px|thumb|right|u-blox SAM-LS]]
 
The '''[[Classix]]''' and '''[[Previous_Autopilots|AVR-based]]''' boards use a stand alone module from u-blox called the SAM-LS. It is an integrated TIM-LP module with a ceramic patch antenna. This processor also runs on 4hz and must be configured to use the UBX protocol. With battery backup (3V watch battery) they show hot starts of around a couple seconds. The LEA-LA processor weighs a couple grams and the complete the SAM-LS module with antenna and shielding weighs about 20grams.
<gallery>
Image:Ppzgps13med01.jpg|Top
Image:Ppzgps13_lrg_02.jpg|Bottom
</gallery>
<p>Paparazzi source provides a design for an external GPS board. An external GPS board is required for other boards like Lisa, TWOG, Elle0 and Classix.
Programming it is similar to the Tiny2.11 GPS configuration. If you build your own you will want to upload the latest u-blox firmware before you configure. See [[Get Hardware]] for sources of assembled boards.</p>
<p>
The Paparazzi design in https://github.com/paparazzi/paparazzi-hardware/tree/master/sensors/gps/gps_13. The board is very small and light as it has only the components required. It is powered from the 5v line on the "downloads" connector of a TWOG. Also note it is a 4-layer PCB that means better noise resistance. The board has pins for USB connection but requires a different cable and a solder jumper to be move from the ground (default) to 3.3v input to enable the USB port on the module.
</p>
<p>
[http://paparazzi.enac.fr/wiki_images/Gps_13_BOM.xls V1 BOM.xls]<br>
[http://paparazzi.enac.fr/wiki_images/TinygpsBOM.txt Eagle Parts List Output.txt]<br>
See [[Get_Hardware|Get Hardware]] page for suppliers.
</p>
 
===Wiring Diagram===
 
{|align = none
|-
|[[Image:TWOG to GPS.jpg|200px|thumb|center|TWOG to Standalone GPS Cable Schematic]]
|[[Image:gps13v09FTDIcable.jpg|200px|thumb|center|GPS13 v0.9 Ucenter cable (ftdi)]]
|[[Image:booz gps.jpg|200px|thumb|center|BoozGPS (quadrotor gps V1.1 2009/5) Ucenter cable (ftdi)]]
|}
 
===uBlox to ARdrone 2===
 
[[Image:HowtoConnectUSBHelixGPSForParrotARDrone2.jpg|thumb|left|How to connect USB to uBlox Helix GPS for Parrot ARDrone2]]
To connect a uBlox with Helix antenna via a USB to serial cable that you can just plug into your ARdrone 2
<br style="clear:both;" />
 
==3rd Party u-blox Reference Design Boards==
 
<p>
[[Image:LEA5HExternalModulePinout.jpg|thumb|left|LEA-5H Full Board Pinout]]
The only other GPS board in use seems to be u-blox reference designs or similar to it. They have LEA-4H, LEA-5H and LEA-6H (typically) and several interfaces. Often a larger antenna as well.
</p>
<p>
The board in the photo is a [http://www.rfdesign.co.za/pages/5645456/Products/GPS-Products/Receiver-Boards.asp RF DESIGN] LEA-5H-SMART.
</p>
<p>
The jumpers adjacent to the TTL interface connectors need to be closed with low value resistors for paparazzi uart port use. Also a [http://nz.element14.com/jsp/search/productdetail.jsp?SKU=1514218 battery] has to be added with an appropriate charging resistor to enable RTC functionality.
</p>   
 
<br style="clear:both;" />
 
==NAVILOCK NL-507ETTL==
 
[[Image:Navilock NL-507ETTL.jpg|thumb|left|NAVILOCK NL-507TTL]]
The NAVILOCK NL-507TTL u-blox TTL Modul 60416 features an LEA-4 series receiver and 25mm patch antenna on a 30mm x 30mm board.
* Datasheet: [http://www.navilock.de/download/Dokumente_SLASH_Sonstiges/60415_-_Datenblatt_u-blox_GPS_Module/481 http://www.navilock.de/download/Dokumente_SLASH_Sonstiges/60415_-_Datenblatt_u-blox_GPS_Module/481]
* Purchase:  Available for 28€ at [http://www.amazon.de/Navilock-NL-507TTL-u-blox-TTL-Modul/dp/B0011E6VQG www.amazon.de]
<br style="clear:both;" />
 
==SPK GS407==
 
[[Image:GS407.jpg|thumb|left|SPK GS407]]
[https://www.sparkfun.com/products/11466 This] is the model Sparkfun recommends as a replacement for the old GS406. It's essentially the same, but uses the newer 6-series receiver, and is not using a ribbon cable as an interface.  It  uses [http://www.sarantel.com/products/sl1206 Sarantels] SL1206 active antenna.
It's recommended to buy [https://www.sparkfun.com/products/574 This extension cable] to use with it.
<br style="clear:both;"/>
 
==u-blox NEO-6M==
 
[[Image:Hk neo gps.jpg|thumb|left|Hobbyking NEO 6M back]]
This is the cheapest GPS module with antenna for ~13€ at [http://www.hobbyking.com/hobbyking/store/__31135__NEO_6M_GPS_Module.html Hobbyking].
 
They come with different (sized) patch antenna, mounted on a separate PCB. The main PCB and antenna PCB are fixed with hot glue together and can be separated by hand.
<br style="clear:both;"/>


'''Note:''' Effective 12/2006 u-blox has begun to phase out the SAM-LS product.  No replacement has been announced.
==Navilock NL-652ETTL==


===Sourcing from u-blox===
Nice module with u-blox 6 chip and without the annoying cable that the HK NEO-6m has.
[http://www.navilock.de/produkte/G_61846/merkmale.html?setLanguage=en Navilock NL-652ETTL]


u-blox keeps tight control over the distribution of their products.  They must be obtained DIRECTLY from their own reseller offices.  These offices may not be available in your area, for example Canada does not have a reseller.  Sample quantities can be obtained from uBlox but overnight or 2 day shipping is required which drives the cost up considerably.  While it is a large hassle obtaining these devices, it is undoubtedly worth it. 
==u-Blox C04-6H Reference Design==


===Paparazzi Stand-alone GPS Receivers===
[[Image:abavimage.jpg|thumb|left|u-blox C04-5H]]
Additionally, there are currently two (LEA-based) stand-alone, GPS receiver + antenna, Prototype Boards in development; the first one is based on the Sangshin 13mm patch antenna. The second is based on the Sarantel helix antenna. Drawings for both are available from the [http://cvs.savannah.gnu.org/viewcvs/paparazzi/paparazzi3/hw/ CVS]
u-Blox sells a complete module with antenna for around $200 and will also provide complete schematics, BOM, and PCB files for free if you wish to make your own.  Two versions are offered, one with an 18mm patch antenna and the other with the Sarantel P2 helical antenna.
See [http://www.ublox.com/en/evaluation-tools-a-software/reference-designs/for-gps-chips/c04-6h.html http://www.ublox.com/en/evaluation-tools-a-software/reference-designs/for-gps-chips/c04-6h.html] for more info.
<br style="clear:both;" />


==GPS receivers & Control Boards==
==Drotek Boards==
[http://www.drotek.com Drotek's] u-Blox GPS boards work well and are not expensive.


===Tiny AP===
==uBlox GPS configuration==


This board is designed to have both the GPS receiver and antenna soldered directly to it.  The LEA-LA, LEA-4P, and LEA-4H receivers have all been used with great success though any receiver from the LEA series should work. Keep in mind that if you are not using a GPS model with flash (LEA-4A) you will need to configure the AP to send boot commands to the GPS on start up.  The programmable models include Flash EEPROM internally and save their configurations indefinitely.
===Using uBlox U-Center===


===Classix, 1.2.1 AVR, Lite, and RoboStix AP===
''Note: Before attempting manual configuration consider adding the [[Module/GPS_UBlox_UCenter|u-blox UCenter module]] to your airframe instead. If automatic configuration does not work for you please make an issue in he gitgub issue tracker or report it to the mailing list or the Gitter chat and may attempt the manual procedure below. But be aware that a wrong configuration can cause Paparazzi not acquiring any GPS lock for sometimes hard to find reasons.'' 


These boards are configured to connect to an externally mounted u-blox module such as the Paparazzi stand-alone receivers or the commercially available but obsolete SAM-LS. The u-blox receivers require 3.3v power and all current models have 5V tolerant data lines. The best way to connect to the SAM-LS is to remove the bottom case and solder the 4 wires directly to the TIM-LL module (GND (pin 1) ,VCC (pin 2),TX (Pin 5),RX (pin 4)) check the TIM-LL datasheet for pinout diagrams. The Classix and Lite boards feature a 3.3V regulator to power the GPS.
[[Image:Ucenter_on_linux_using_wine_v2.png|thumb|u-center configuration software]]
[https://www.u-blox.com/en/product/u-center-windows U-Center] is an application intended for the configuration of u-Blox receivers.
* [https://www.u-blox.com/sites/default/files/u-centersetup_v8.27.zip Download u-center directly]


==GPS configuration using U-Center==
TIP: If you want to direct access to the GPS module without unplugging from your autopilot board you can [[tunnel|upload the UART tunnel firmware]] to your AP board.


[[Image:U-center_screencap.jpg|thumb|u-center configuration software]]
====Installation on Linux====
[http://www.u-blox.com/products/u_center.html U-Center] is a very comprehensive Windows freeware program intended for the configuration and evaluation of u-blox receivers.
* [http://www.u-blox.com/products/u_center.html Download u-center] (password protected download, use ''paparazzi'' for username & password)


* Note: You must [[Compiling#USB_flashing|install the UART tunnel]] to enable direct access to the built-in GPS on the [[Tiny|Tiny]].
Using the latest u-Center v8.27 is needed if you want to setup the uBlox GNSS receivers of the 8 series and use all setting available. We could use u-Center perfectly with Ubuntu 16.04 and the latest version of Wine v2.0.2.


The u-blox and Tiny UARTs both operate at 3.3V TTL levels and are 5V TTL tolerant.  You must use a level shifter such as the common MAX232 to connect these devices to a standard PC serial port.  The easiest and most recommended method is to connect to a USB port instead of serial with the $20 [http://www.ftdichip.com/Products/EvaluationKits/TTL-232R.htm FTDI USB-TTL converter cable] available from Digikey, Mouser, or direct from FTDI.  Other similar converters are available from [http://www.pololu.com/products/pololu/0391/ pololu] or [http://www.sparkfun.com/commerce/product_info.php?products_id=199 sparkfun].  A stand-alone GPS such as the SAM-LS will require clean 3.3V/50mA power and a common ground with the TTL converter.
Cut and paste this one-liner in you terminal to install just that:


* U-blox occasionally releases firmware updates. Log on to the u-blox website using ''paparazzi'' for username & password to view or download the latest firmware imagesThere have 'never' been any updates released for the Antaris-4 series used in the Tiny.
<nowiki>
sudo dpkg --add-architecture i386 && \
  sudo apt-add-repository 'https://dl.winehq.org/wine-builds/ubuntu/' && \
wget https://dl.winehq.org/wine-builds/Release.key && \
sudo apt-key add Release.key && \
sudo apt update && \
sudo apt install winehq-stable
mkdir -p ~/.wine/dosdevices &&\
ln -s /dev/ttyUSB0 ~/.wine/dosdevices/COM1 && \
ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com1 && \
ln -s /dev/ttyUSB1 ~/.wine/dosdevices/COM2 && \
ln -s /dev/ttyUSB1 ~/.wine/dosdevices/com2
  </nowiki>
NOTE
''Depending on your connection method and your udev configuration your serial device may have a different path. Just look it up using <code>dmesg</code> or <code>tail -f /var/log/syslog</code> after plugging in.''


Start U-center and choose your com port from the pull down list under the connect button near the top left corner of the window. Choose your baudrate from the pull down box to the right of the connect button or select the auto-baud button to the right of that. U-blox default is 9600 baud.  This must be changed to 19200 or higher to accomodate the 4Hz update rate.
Start U-center and choose your com port from the pull down list under the connect button near the top left corner of the window. Choose your baudrate from the pull down box to the right of the connect button or select the auto-baud button to the right of that. U-blox default is 9600 baud.  This must be set to 57600 or higher to accommodate a 10Hz update rate. It needs to match whatever your module is configured with.
<br>[[Image:U-center_buttons.jpg|connect, baud, and autobaud buttons]]
<br>[[Image:Ucenter_choose_baudrate.png|connect, baud, and autobaud buttons]]
<br style="clear:both">
<br style="clear:both">


===Uploading the Configuration File===
===Uploading the Configuration File===
Download the appropriate configuration file below and use u-center to load in onto your receiver. Under the ''Tools'' menu, choose ''GPS configuration''.  Be sure the box 'Store configuration into BBR/Flash' is checked and hit the button ''File>>GPS''.  A few errors and retries are normal, but a significant number of errors may indicate a poor connection and the software will notify you if it is unable to send all the data successfully.
Download the appropriate configuration file below and use u-center to load in onto your receiver. Under the ''Tools'' menu, choose ''GPS configuration''.  Be sure the box 'Store configuration into BBR/Flash' is checked and hit the button ''File>>GPS''.  A few errors and retries are normal, but a significant number of errors may indicate a poor connection and the software will notify you if it is unable to send all the data successfully.
* [[Media:Tiny_LEA-4P-v5.zip|LEA-4P]]
* [[Media:Tiny_LEA-4P-v6.zip|LEA-4P]]
* [[Media:Tim-LL-V5.zip|TIM-LL]]
* [[Media:Tim-LL-V5.zip|TIM-LL]]
* [[Media:Tiny_LEA-5H-v5.zip|LEA-5H (For Use w/ Firmware V5 ONLY!)]]
* [[Media:Hk_NEO-6M.zip‎| Hobbyking NEO-6M]] [http://www.hobbyking.com/hobbyking/store/__31135__neo_6m_gps_module.html this module]
* [[Media:Drotek_NEO_M8_38400.txt.zip |Drotek NEO-M8 at Baud 38400]]
===Automatic Configuration at Startup===
You can also use the [[Module/GPS_UBlox_UCenter|u-blox UCenter module]] which will take over the task of initializing the GPS for you when you power your autopilot.


===Manual Configuration===
===Manual Configuration===
If you prefer to setup your receiver manually or have a model not listed above, here are instructions to configure your receiver in u-center.
If you prefer to setup your receiver manually or have a model not listed above, here are instructions to configure your receiver in u-center.
Open the message window (menu View->messages view) to start the configuration process by changing the following settings:
Open the message window (menu View->messages view) to start the configuration process by changing the following settings:


1. Right Click on the '''NMEA''' Icon and choose '''disable child'''
====LEA-4P====
2. Choose UBX->CFG->NAV2(Navigation 2) - set it to use '''Airborne 4G''' (tells the Kalman filter to expect significant changes in direction)
 
3. UBX->CFG->PRT - set '''USART1''' to '''19200bps''' (must match the value in your [[Airframe_Configuration#Hardware_definitions_-_Makefile|Airframe file]])
# Right Click on the '''NMEA''' Icon and choose '''disable child'''
4. Change the baudrate of U-Center to 19200bps if the connection is lost at this point
# Choose UBX->CFG->NAV2(Navigation 2) - set it to use '''Airborne 4G''' (tells the Kalman filter to expect significant changes in direction)
5. UBX->CFG->RATE(Rates) - change '''GPS Mode''' to '''3 - Auto''' (Enabling faster bootup only if signal levels are very good)
# UBX->CFG->PRT - set '''USART1''' to '''38400bps''' (must match the value in your [[Airframe_Configuration#GPS|Airframe file]])
6. UBX->CFG->RXM(Receiver Manager) - change the '''Measurement Period''' to '''250ms''' (4 Hz position updates)
# Change the baudrate of U-Center to 38400bps if the connection is lost at this point
7. UBX->CFG->SBAS : '''Disable''' (SBAS appears to cause occasional severe altitude calcuation errors)
# UBX->CFG->RXM(Receiver Manager) - change '''GPS Mode''' to '''3 - Auto''' (Enabling faster bootup only if signal levels are very good)
8. UBX->NAV (not UBX->CFG->NAV): double click on '''POSUTM, SOL, STATUS, SVINFO, VELNED.''' They should change from grey to black
# UBX->CFG->RATE(Rates) - change the '''Measurement Period''' to '''250ms''' (4 Hz position updates)
9. UBX->CFG->CFG : '''save current config''', click '''"send"''' in the lower left corner to permanently save these settings to the receiver  
# UBX->CFG->SBAS : '''Disable''' (SBAS appears to cause occasional severe altitude calcuation errors)
# UBX->NAV (not UBX->CFG->NAV): double click on '''POSUTM, SOL, STATUS, SVINFO, VELNED.''' They should change from grey to black
# UBX->CFG->CFG : '''save current config''', click '''"send"''' in the lower left corner to permanently save these settings to the receiver
 
====LEA-5H====
 
# Right Click on the '''NMEA''' Text on top of the tree and choose '''disable child messages'''
# Choose UBX->CFG->NAV5(Navigation 5) - set it to use '''Airborne 8 <4G'''. This tells the Kalman filter to expect significant changes in direction. <p>    Note that this setting is only good for faster moving airplanes. For a fixed position hovering heli, 'pedestrian' setting is better</p>
# UBX->CFG->PRT - set '''USART1''' to '''38400bps''' (must match the value in your [[Airframe_Configuration#GPS|Airframe file]])
# Change the baudrate of U-Center to 38400bps if the connection is lost at this point
# UBX->CFG->RATE(Rates) - change the '''Measurement Period''' to '''250ms''' This gives a 4 Hz position update since 4 x 250ms is one second.
# UBX->CFG->SBAS : '''Disable''' (SBAS appears to cause occasional severe altitude calculation errors)
# UBX->NAV (not UBX->CFG->NAV): double click on '''POSLLH, SOL, STATUS, SVINFO, VELNED.''' They should change from grey to black
# UBX->CFG->CFG : '''save current config''', click '''"send"''' in the lower left corner to permanently save these settings to the receiver


* Cycle the power and verify that the new configuration was saved
* Cycle the power and verify that the new configuration was saved
* To reset the receiver to the factory defaults go to ''UBX->CFG->CFG'', select 'Revert to default configuration', and click ''Send'' at the bottom left corner.  To permanently save these values choose 'Save current configuration' and click ''Send''.
* To reset the receiver to the factory defaults go to ''UBX->CFG->CFG'', select 'Revert to default configuration', and click ''Send'' at the bottom left corner.  To permanently save these values choose 'Save current configuration' and click ''Send''.
* To backup the configuration to a file on your PC: under the tools menu, choose GPS configuration, then click GPS>>file.  This file can be re-loaded in a similar manner to configure additional identical receivers.  Be sure the box 'Store configuration into BBR/Flash' is checked when reloading a configuration file to make the changes permanent.
* To backup the configuration to a file on your PC: under the tools menu, choose GPS configuration, then click GPS>>file.  This file can be re-loaded in a similar manner to configure additional identical receivers.  Be sure the box 'Store configuration into BBR/Flash' is checked when reloading a configuration file to make the changes permanent.
* To update the firmware on a LEA-5H get u-center >= 5.03, revert the GPS receiver to the default configuration, get an appropriate image from u-Blox (fitting your receivers serial number), find the flash identification flash.txt file in the u-center install directory and be prepared to wait a long time.


===DGPS (Differential GPS)===
#NOTE: If you have a Tiny with LEA-5H module you must use u-center and manually setup the parameters as shown above (at least switch to 38400 baud manually before transferring the configuration file).
Differential GPS is any method of improving GPS accuracy by comparing the GPS-indicated position of a nearby location to the known value and transmitting any error to the mobile unit.  DGPS was originally created as a means of bypassing the deliberately introduced inaccuracies in civilian GPS signals.  The original method used low frequency ground radios to relay correction data to the mobile unit and is still used today at airports, shipping ports, and even individual farms.  Satellite Based Augmentation System (SBAS) is a modern form of DGPS where the ground stations relay correction data to a GEO-Stationary satellite, which then relays it to the mobile unit on standard GPS frequencies eliminating the need for a separate radio reciever.  SBAS is currently available in 3 regions, [http://www.environmental-studies.de/Precision_Farming/EGNOS_WAAS__E/3E.html WAAS, EGNOS, and MSAS] though only WAAS is officially operational.  U-blox receivers support all common varieties of DGPS [http://www.u-blox.com/customersupport/gps.g3/ENGOS_Issues(GPS.G3-CS-04009).pdf read the u-blox SBAS application note].
#NOTE: POSUTM is not available on LEA-5H. Instead, use POSLLH.
* It is important to note that DGPS methods only improve the ''accuracy'' of the position calculation, not the ''precision''. Since Paparazzi navigation is typically performed relative to the power-on location, any static error that could be corrected with DGPS is irrelevant.


====WAAS issues====
====LEA-6H====
WAAS has been officially operational and "suitable for safety-of-life applications" since 2003.  The default setting of all u-blox receivers ignores WAAS correction data and only uses the WAAS satellites for regular navigation like any other satellite.  U-blox recommends further limiting this setting to exclude any stray EGNOS/MSAS satellites in North America, and completely disabling all SBAS functions for use outside North America.
====EGNOS issues====
EGNOS is officially in "testing mode" and no claims of reliability are made.  The [http://www.u-blox.com/customersupport/faq_antaris u-blox FAQ] states the following:
* "Do you see issues with EGNOS?"
*:"Yes. Although the data transmitted by the EGNOS satellites are usually good and valuable (e.g. during the solar storms in autumn 2003), they can sometimes be very unreliable, for example when system tests are performed. As an example, u-blox has noticed erroneous range information (up to three hundred kilometers) on various EGNOS satellite over the last few months [2006]."


===Further Reading===
We use the same configuration as for version 5


The u-blox [http://www.u-blox.com/customersupport/antaris4_doc.html System Integration Manual] covers a lot of GPS theory as well as product specific topics.
# Right Click on the '''NMEA''' Text on top of the tree and choose '''disable child messages'''
# Choose UBX->CFG->NAV5(Navigation 5) - set it to use '''Airborne 8 <4G'''. This tells the Kalman filter to expect significant changes in direction. <p> Note that this setting is only good for faster moving airplanes. For a fixed position hovering heli, 'pedestrian' setting is better </p>
# UBX->CFG->PRT - set '''USART1''' to '''38400bps''' (must match the value in your [[Airframe_Configuration#GPS|Airframe file]])
# Change the baudrate of U-Center to 38400bps if the connection is lost at this point
# UBX->CFG->RATE(Rates) - change the '''Measurement Period''' to '''250ms''' This gives a 4 Hz position update since 4 x 250ms is one second.
# UBX->CFG->SBAS : '''Disable''' (SBAS appears to cause occasional severe altitude calculation errors)
# UBX->NAV (not UBX->CFG->NAV): double click on '''POSLLH, SOL, STATUS, SVINFO, VELNED.''' They should change from grey to black
# UBX->CFG->CFG : '''save current config''', click '''"send"''' in the lower left corner to permanently save these settings to the receiver.<p>    Make sure you activate '''"2 - I2C-EEPROM"''' if using a ROM-based NEO chipset with external EEPROM (like [http://www.hobbyking.com/hobbyking/store/__31135__neo_6m_gps_module.html HK 31135])</p>


== Antennas ==
* Cycle the power and verify that the new configuration was saved
* To reset the receiver to the factory defaults go to ''UBX->CFG->CFG'', select 'Revert to default configuration', and click ''Send'' at the bottom left corner.  To permanently save these values choose 'Save current configuration' and click ''Send''.
* To backup the configuration to a file on your PC: under the tools menu, choose GPS configuration, then click GPS>>file.  This file can be re-loaded in a similar manner to configure additional identical receivers.  Be sure the box 'Store configuration into BBR/Flash' is checked when reloading a configuration file to make the changes permanent.
* To update the firmware on a LEA-6H get u-center >= 6.21, revert the GPS receiver to the default configuration, get an appropriate firmaware file from u-Blox, find the flash identification flash.txt file in the u-center install directory and be prepared to wait a long time.(seriously)


=== Sangshin 13mm Patch ===
====NEO-M8====


Part of interest: '''[http://www.sangshinec.com/eng/patch_spec.htm KSA-ST1580MS13]'''
* UBX - CFG - PRT: disable NMEA output (only UBX protocol)
{|align = center
|-
[[Image:u-center-prt.png|thumb|left|U-Center-PRT]]
|}
<br style="clear:both;" />


[[image:Sangshin_13mm_onboard.jpg]]
* UBX - CFG - MSG: activate PVT, SOL, SVINFO messages for UART1
{|align = center
|-
[[Image:u-center-msg.png|thumb|left|U-Center-MSG]]
|}
<br style="clear:both;" />


The Tiny 0.99 (not 0.9) and 1.1 were designed for this antenna however this part has not been verified for best performance yet.
==uBlox Tips==


Size: 13 x 13 mm<br/>
===Reset to Default Settings===
Center Frequency: 1580 MHz<br/>
Bandwidth: 5 MHz<br/>
@Fo: -15 dB<br/>
GAIN (dBi): 0 dBi<br/>
Ground Plane: 50 x 50 mm<br/>


'''Available From'''
The GPS module can be reset to its original default settings by pulling BOOT_INT high(3.3V) during a power cycle ([http://www.u-blox.com/customersupport/gps.g4/ANTARIS4_Modules_SIM(GPS.G4-MS4-05007).pdf Antaris Manual, p. 122]). It may be required after a wrong firmware upgrade or a bad configuration change.


[http://www.systroninc.com/ Systronic INC.] - Alberta, Canada
===Invalid argument===


=== 20mm Unknown Salvage Patch ===
Problem:  I keep getting this error with my nice shiny Tiny v2.1 with a LEA-5H: Invalid_argument ("Latlong.of_utm")
Solution: Select the correct [[Subsystem/gps|GPS subsystem]].


Reportedly the best match for the Tiny 0.9 through 1.1.  No source for this antenna has been found yet.
===WAAS issues===


[[image:Salvaged_20mm_onboard.jpg]]
WAAS has been officially operational and "suitable for safety-of-life applications" since 2003.  The default setting of all u-blox receivers ignores WAAS correction data and only uses the WAAS satellites for regular navigation like any other satellite.  U-blox recommends further limiting this setting to exclude any stray EGNOS/MSAS satellites in North America, and completely disabling all SBAS functions for use outside North America.  In 2006 one formerly reliable Paparazzi aircraft began having great GPS problems and displaying very erratic altitude calculations, disabling WAAS immediately resolved the issue and this phenomenon was recreated several times for verification. Turns out a new WAAS satellite was being added to the system and the others were being moved that week for better distribution. Our advice is to first test if SBAS works well in your region.


'''Availability'''
The default used by the [[Module/GPS_UBlox_UCenter|u-blox UCenter module]] keeps SBAS enabled.


These antennas were salvaged from a batch of otherwise defective GPS/GSM car antennas. Availability is very limited. Manufacturing trends appear to be moving away from 20mm antennas and toward 18mm.
===Assist Now===
u-Blox modules that have a flash memory can keep the almanac correction data for up to 35 days into the future. That will give you a 3d GPS fix within seconds. [https://www.u-blox.com/en/assistnow-lock-your-position-instantly AssitNow] Offline data can be uploaded to the module while it is connected to the u-center application. To use this feature you need to provide a u-Blox account credentials that you can receive from the [https://www.u-blox.com/en/assistnow-service-registration-form u-Blox registration site].  


=== [http://www.transplantgps.com EMTAC] 18mm ===
===Antenna options for the Tiny and Paparazzi GPS units===
See [[GPS/Antenna]].


The part number for the 1580MHz 18x18mm is ANA1580T18D40 and is not listed on their website. 
=Tips=


[[image:Emtec_20mm.jpg]]
There is a huge amount of good information on the Internet about GPS specifics that gives some good insight into GPS. This Paparazzi wiki is not intended to repeat already available information, some is added here.


'''Availability'''
==EGNOS==


Direct from [http://www.transplantgps.com/modules.html TransplantGPS] in MN, USA.  The antennas should be in stock at a cost of $3.55ea but they may want you to order > $50 USD per order.
EGNOS augments the GPS satellite navigation system and makes it suitable for safety critical UAS applications. EGNOS became operational on 1 October 2009. ESA claims that it can determine position to within 2 meters compared with about 20 meters for GPS alone. Note that the service is currently provided only in western Europe. For further information take a look on the [http://www.esa.int/esaNA/egnos.html ESA EGNOS website].


=== Sangshin 18mm Patch ===
For the latest update about functionality of EGNOS please check the website: [http://www.gsa.europa.eu European GNSS Supervisory Authority]"
Sangshin antennas are available from [http://www.rfmw.com rfmw]


=== Sarantel GeoHelix-P2 ===
==DGPS (Differential GPS)==


[http://www.sarantel.com/products/geohelix-p2 GeoHelix-P2] Passive GPS Antenna [[http://www.sarantel.com/downloads/specifications/geohelix-p2.pdf datasheet]]
Differential GPS is any method of improving GPS accuracy by comparing the GPS-indicated position of a nearby location to the known value and transmitting any error to the mobile unit.  DGPS was originally created as a means of bypassing the deliberately introduced inaccuracies in civilian GPS signals.  The original method used low frequency ground radios to relay correction data to the mobile unit and is still used today at airports, shipping ports, and even individual farms.  Satellite Based Augmentation System (SBAS) is a modern form of DGPS where the ground stations relay correction data to a GEO-Stationary satellite, which then relays it to the mobile unit on standard GPS frequencies eliminating the need for a separate radio receiver.  SBAS is currently available in 3 regions, [http://www.esa.int/esaNA/ESAF530VMOC_egnos_1.html WAAS, EGNOS, and MSAS regions]. U-blox receivers support all common varieties of DGPS [http://www.u-blox.com/customersupport/gps.g3/ENGOS_Issues(GPS.G3-CS-04009).pdf read the u-blox SBAS application note].
 
* It is important to note that DGPS methods only improve the ''accuracy'' of the position calculation, not the ''precision''Since Paparazzi navigation is typically performed relative to the power-on location, any static error that could be corrected with DGPS is irrelevant.
[[image:Geohelix-p2.jpg]]
 
This antenna apparently works great with the u-blox series GPS receivers so is not tied to any version of the board.  It does not mount directly to the boardImpedence is 50ohm so almost any radio coax will work.  Remember the antenna is passive with no RF amplification done at the antenna so every inch of extra coax introduces loss. Adding a ground plane (tin foil even) near the base of the antenna with a target size of 50mm x 50mm should also increase the performance.
 
'''Availability'''


Direct from Sarantel @ cost of approx $18 USD each
[[Category:Hardware]] [[Category:Sensors]] [[Category:User_Documentation]]

Latest revision as of 08:29, 5 July 2020


GPS Receivers

An overview of GPS receivers used in combination with Paparazzi. The list is by far not complete. A lot more devices will work flawlessly with Paparazzi. If you have a GPS receiver you have used with Paparazzi that is not listed here, it would be great if you could add that information to this page.

1BitSquared G0 GPS

G0 GPS

1BitSquared sells a Paparazzi UAV compatible GPS module called G0. It is designed to neatly fit on top of the Elle0 autopilot. It can also be used with any other Paparazzi UAV compatible hardware. G0 GPS module features a large ground plane with optional ground plane skirt, as well as RF shielding on the back of the module.

The large ground plane improves the directionality of the unit helping reject multi-path. When using the G0 GPS unit on a multi-copter it results in less drift when taking off the ground, and improves GPS lock when flying from waypoint to waypoint.

The EMI shielding on the back of the unit decreases the amount of noise injected from the aircraft avionics into the GPS unit, improving the noise to signal ratio. An increased signal results in a more robust satellite lock, and more reliable fully autonomous and guided flight operations.

G0 GPS module is using a U-Blox that is providing very fast speed updates that are crucial for accurate navigation within Paparazzi UAV. Additionally Paparazzi UAV supports the binary U-Blox protocol that is very efficient to parse compared to the very vaguely defined NMEA text protocol. Just enable the UCenter Module in your airframe file and Paparazzi will configure the module for best performance without the need for user interaction.

For more information go to the G0 GPS wiki page.


Swiftnav Piksi

A very special receiver is the OpenSource (almost all...) Swiftnav Piksi GPS receiver. How to use this device with Paparazzi is described on the a specific page

Swiftnav Piksi


LS20031 GPS Receiver

LS20031

Sparkfun sells the LS20031 GPS module which uses NMEA (Paparazzi support for NMEA is BETA right now.) This Locosys GPS module supports WAAS (U.S. DGPS), EGNOS (EU DGPS), and MSAS (Japanese DGPS).

More information on configuring the GPS via PMTK can be found here

Globalsat BU 353

BU-353 GPS receiver

USB US Globalsat GPS-Mouse

Typical Uses:

  • Parrot AR Drone 2.0
  • Ground Station GPS (direct support with Linux / gpsd)

Not appropriate for many airborne applications due to extra USB-serial circuitry and weight of housing and internal magnet

Basic compatibility with Windows, Mac and Linux.
More information at the GPS/BU_353 site.

uBlox

U-blox color warm 60.gif uBlox is a Swiss technology company that develops very good positioning modules. They are the recommended GPS modules for use with Paparazzi autopilots. Note that u-Blox produces the modules only. They do not sell complete boards to end users. These are sold by a multitude of vendors.

Why uBlox:

  • Low cost (i.e. NEO6-M)
  • Small size
  • Excellent performance (u-Blox 7 and 8 series)
  • Up to 10Hz update rate
  • 5V tolerant UART
  • Works out of the box with Paparazzi's u-Blox auto-configuration module

The Tiny series features an onboard LEA series GPS receiver and patch antenna, while most other boards boards require an external receiver+antenna such as the Paparazzi GPS or SAM-LS.

u-blox LEA GPS Receiver
u-Blox SAM-LS GPS receiver (w/built-in Smart Antenna)
u-Blox LEA-6H GPS receiver with Sarantel Helix Antenna

Note: The proprietary UBX protocol is used as it offers more information and efficiency than the universal NMEA protocol. For details take a look at the code in sw/airborne/subsystems/gps/gps_ubx.c.

u-Blox LEA Series Receivers

LEA-5H installed on the Tiny

The Lisa series, TWOG, Classix and AVR-based boards require an external GPS module and antenna. The Tiny features an integrated receiver and antenna. Either type is designed for u-blox 4, 5 and 6 series GPS receivers and the proprietary UBX binary protocol. An external battery or capacitor is typically used to enable the GPS to retain data while powered off for significantly faster signal re-acquisition. Any of the LEA-4, LEA-5 and LEA-6 series receivers can be used including the less expensive LEA-4A, 4S, 5A and 5S and similar low cost 6-series models as the special boot configuration code required for these models is already written as a module.

  <!-- autobaud - runtime configuration of - ROM-only modules: use ucenter-module to configure your UBlox with no cable nor windows u-center -->
  <load name="gps_ubx_ucenter.xml" />
  • 4Hz Position update rate
  • Supports active or passive antennas
  • Supports DGPS, WAAS, EGNOS, and MSAS
  • Low position noise figure


Paparazzi Stand-alone uBlox GPS Receivers

Paparazzi source provides a design for an external GPS board. An external GPS board is required for other boards like Lisa, TWOG, Elle0 and Classix. Programming it is similar to the Tiny2.11 GPS configuration. If you build your own you will want to upload the latest u-blox firmware before you configure. See Get Hardware for sources of assembled boards.

The Paparazzi design in https://github.com/paparazzi/paparazzi-hardware/tree/master/sensors/gps/gps_13. The board is very small and light as it has only the components required. It is powered from the 5v line on the "downloads" connector of a TWOG. Also note it is a 4-layer PCB that means better noise resistance. The board has pins for USB connection but requires a different cable and a solder jumper to be move from the ground (default) to 3.3v input to enable the USB port on the module.

V1 BOM.xls
Eagle Parts List Output.txt
See Get Hardware page for suppliers.

Wiring Diagram

TWOG to Standalone GPS Cable Schematic
GPS13 v0.9 Ucenter cable (ftdi)
BoozGPS (quadrotor gps V1.1 2009/5) Ucenter cable (ftdi)

uBlox to ARdrone 2

How to connect USB to uBlox Helix GPS for Parrot ARDrone2

To connect a uBlox with Helix antenna via a USB to serial cable that you can just plug into your ARdrone 2

3rd Party u-blox Reference Design Boards

LEA-5H Full Board Pinout

The only other GPS board in use seems to be u-blox reference designs or similar to it. They have LEA-4H, LEA-5H and LEA-6H (typically) and several interfaces. Often a larger antenna as well.

The board in the photo is a RF DESIGN LEA-5H-SMART.

The jumpers adjacent to the TTL interface connectors need to be closed with low value resistors for paparazzi uart port use. Also a battery has to be added with an appropriate charging resistor to enable RTC functionality.


NAVILOCK NL-507ETTL

NAVILOCK NL-507TTL

The NAVILOCK NL-507TTL u-blox TTL Modul 60416 features an LEA-4 series receiver and 25mm patch antenna on a 30mm x 30mm board.


SPK GS407

SPK GS407

This is the model Sparkfun recommends as a replacement for the old GS406. It's essentially the same, but uses the newer 6-series receiver, and is not using a ribbon cable as an interface. It uses Sarantels SL1206 active antenna. It's recommended to buy This extension cable to use with it.

u-blox NEO-6M

Hobbyking NEO 6M back

This is the cheapest GPS module with antenna for ~13€ at Hobbyking.

They come with different (sized) patch antenna, mounted on a separate PCB. The main PCB and antenna PCB are fixed with hot glue together and can be separated by hand.

Navilock NL-652ETTL

Nice module with u-blox 6 chip and without the annoying cable that the HK NEO-6m has. Navilock NL-652ETTL

u-Blox C04-6H Reference Design

u-blox C04-5H

u-Blox sells a complete module with antenna for around $200 and will also provide complete schematics, BOM, and PCB files for free if you wish to make your own. Two versions are offered, one with an 18mm patch antenna and the other with the Sarantel P2 helical antenna. See http://www.ublox.com/en/evaluation-tools-a-software/reference-designs/for-gps-chips/c04-6h.html for more info.

Drotek Boards

Drotek's u-Blox GPS boards work well and are not expensive.

uBlox GPS configuration

Using uBlox U-Center

Note: Before attempting manual configuration consider adding the u-blox UCenter module to your airframe instead. If automatic configuration does not work for you please make an issue in he gitgub issue tracker or report it to the mailing list or the Gitter chat and may attempt the manual procedure below. But be aware that a wrong configuration can cause Paparazzi not acquiring any GPS lock for sometimes hard to find reasons.

u-center configuration software

U-Center is an application intended for the configuration of u-Blox receivers.

TIP: If you want to direct access to the GPS module without unplugging from your autopilot board you can upload the UART tunnel firmware to your AP board.

Installation on Linux

Using the latest u-Center v8.27 is needed if you want to setup the uBlox GNSS receivers of the 8 series and use all setting available. We could use u-Center perfectly with Ubuntu 16.04 and the latest version of Wine v2.0.2.

Cut and paste this one-liner in you terminal to install just that:

 sudo dpkg --add-architecture i386 && \
 sudo apt-add-repository 'https://dl.winehq.org/wine-builds/ubuntu/' && \
 wget https://dl.winehq.org/wine-builds/Release.key && \
 sudo apt-key add Release.key && \
 sudo apt update && \
 sudo apt install winehq-stable
 mkdir -p ~/.wine/dosdevices &&\
 ln -s /dev/ttyUSB0 ~/.wine/dosdevices/COM1 && \
 ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com1 && \
 ln -s /dev/ttyUSB1 ~/.wine/dosdevices/COM2 && \
 ln -s /dev/ttyUSB1 ~/.wine/dosdevices/com2
 

NOTE Depending on your connection method and your udev configuration your serial device may have a different path. Just look it up using dmesg or tail -f /var/log/syslog after plugging in.

Start U-center and choose your com port from the pull down list under the connect button near the top left corner of the window. Choose your baudrate from the pull down box to the right of the connect button or select the auto-baud button to the right of that. U-blox default is 9600 baud. This must be set to 57600 or higher to accommodate a 10Hz update rate. It needs to match whatever your module is configured with.
connect, baud, and autobaud buttons

Uploading the Configuration File

Download the appropriate configuration file below and use u-center to load in onto your receiver. Under the Tools menu, choose GPS configuration. Be sure the box 'Store configuration into BBR/Flash' is checked and hit the button File>>GPS. A few errors and retries are normal, but a significant number of errors may indicate a poor connection and the software will notify you if it is unable to send all the data successfully.

Automatic Configuration at Startup

You can also use the u-blox UCenter module which will take over the task of initializing the GPS for you when you power your autopilot.

Manual Configuration

If you prefer to setup your receiver manually or have a model not listed above, here are instructions to configure your receiver in u-center. Open the message window (menu View->messages view) to start the configuration process by changing the following settings:

LEA-4P

  1. Right Click on the NMEA Icon and choose disable child
  2. Choose UBX->CFG->NAV2(Navigation 2) - set it to use Airborne 4G (tells the Kalman filter to expect significant changes in direction)
  3. UBX->CFG->PRT - set USART1 to 38400bps (must match the value in your Airframe file)
  4. Change the baudrate of U-Center to 38400bps if the connection is lost at this point
  5. UBX->CFG->RXM(Receiver Manager) - change GPS Mode to 3 - Auto (Enabling faster bootup only if signal levels are very good)
  6. UBX->CFG->RATE(Rates) - change the Measurement Period to 250ms (4 Hz position updates)
  7. UBX->CFG->SBAS : Disable (SBAS appears to cause occasional severe altitude calcuation errors)
  8. UBX->NAV (not UBX->CFG->NAV): double click on POSUTM, SOL, STATUS, SVINFO, VELNED. They should change from grey to black
  9. UBX->CFG->CFG : save current config, click "send" in the lower left corner to permanently save these settings to the receiver

LEA-5H

  1. Right Click on the NMEA Text on top of the tree and choose disable child messages
  2. Choose UBX->CFG->NAV5(Navigation 5) - set it to use Airborne 8 <4G. This tells the Kalman filter to expect significant changes in direction.

    Note that this setting is only good for faster moving airplanes. For a fixed position hovering heli, 'pedestrian' setting is better

  3. UBX->CFG->PRT - set USART1 to 38400bps (must match the value in your Airframe file)
  4. Change the baudrate of U-Center to 38400bps if the connection is lost at this point
  5. UBX->CFG->RATE(Rates) - change the Measurement Period to 250ms This gives a 4 Hz position update since 4 x 250ms is one second.
  6. UBX->CFG->SBAS : Disable (SBAS appears to cause occasional severe altitude calculation errors)
  7. UBX->NAV (not UBX->CFG->NAV): double click on POSLLH, SOL, STATUS, SVINFO, VELNED. They should change from grey to black
  8. UBX->CFG->CFG : save current config, click "send" in the lower left corner to permanently save these settings to the receiver
  • Cycle the power and verify that the new configuration was saved
  • To reset the receiver to the factory defaults go to UBX->CFG->CFG, select 'Revert to default configuration', and click Send at the bottom left corner. To permanently save these values choose 'Save current configuration' and click Send.
  • To backup the configuration to a file on your PC: under the tools menu, choose GPS configuration, then click GPS>>file. This file can be re-loaded in a similar manner to configure additional identical receivers. Be sure the box 'Store configuration into BBR/Flash' is checked when reloading a configuration file to make the changes permanent.
  • To update the firmware on a LEA-5H get u-center >= 5.03, revert the GPS receiver to the default configuration, get an appropriate image from u-Blox (fitting your receivers serial number), find the flash identification flash.txt file in the u-center install directory and be prepared to wait a long time.
  1. NOTE: If you have a Tiny with LEA-5H module you must use u-center and manually setup the parameters as shown above (at least switch to 38400 baud manually before transferring the configuration file).
  2. NOTE: POSUTM is not available on LEA-5H. Instead, use POSLLH.

LEA-6H

We use the same configuration as for version 5

  1. Right Click on the NMEA Text on top of the tree and choose disable child messages
  2. Choose UBX->CFG->NAV5(Navigation 5) - set it to use Airborne 8 <4G. This tells the Kalman filter to expect significant changes in direction.

    Note that this setting is only good for faster moving airplanes. For a fixed position hovering heli, 'pedestrian' setting is better

  3. UBX->CFG->PRT - set USART1 to 38400bps (must match the value in your Airframe file)
  4. Change the baudrate of U-Center to 38400bps if the connection is lost at this point
  5. UBX->CFG->RATE(Rates) - change the Measurement Period to 250ms This gives a 4 Hz position update since 4 x 250ms is one second.
  6. UBX->CFG->SBAS : Disable (SBAS appears to cause occasional severe altitude calculation errors)
  7. UBX->NAV (not UBX->CFG->NAV): double click on POSLLH, SOL, STATUS, SVINFO, VELNED. They should change from grey to black
  8. UBX->CFG->CFG : save current config, click "send" in the lower left corner to permanently save these settings to the receiver.

    Make sure you activate "2 - I2C-EEPROM" if using a ROM-based NEO chipset with external EEPROM (like HK 31135)

  • Cycle the power and verify that the new configuration was saved
  • To reset the receiver to the factory defaults go to UBX->CFG->CFG, select 'Revert to default configuration', and click Send at the bottom left corner. To permanently save these values choose 'Save current configuration' and click Send.
  • To backup the configuration to a file on your PC: under the tools menu, choose GPS configuration, then click GPS>>file. This file can be re-loaded in a similar manner to configure additional identical receivers. Be sure the box 'Store configuration into BBR/Flash' is checked when reloading a configuration file to make the changes permanent.
  • To update the firmware on a LEA-6H get u-center >= 6.21, revert the GPS receiver to the default configuration, get an appropriate firmaware file from u-Blox, find the flash identification flash.txt file in the u-center install directory and be prepared to wait a long time.(seriously)

NEO-M8

  • UBX - CFG - PRT: disable NMEA output (only UBX protocol)
U-Center-PRT


  • UBX - CFG - MSG: activate PVT, SOL, SVINFO messages for UART1
U-Center-MSG


uBlox Tips

Reset to Default Settings

The GPS module can be reset to its original default settings by pulling BOOT_INT high(3.3V) during a power cycle (Antaris Manual, p. 122). It may be required after a wrong firmware upgrade or a bad configuration change.

Invalid argument

Problem: I keep getting this error with my nice shiny Tiny v2.1 with a LEA-5H: Invalid_argument ("Latlong.of_utm") Solution: Select the correct GPS subsystem.

WAAS issues

WAAS has been officially operational and "suitable for safety-of-life applications" since 2003. The default setting of all u-blox receivers ignores WAAS correction data and only uses the WAAS satellites for regular navigation like any other satellite. U-blox recommends further limiting this setting to exclude any stray EGNOS/MSAS satellites in North America, and completely disabling all SBAS functions for use outside North America. In 2006 one formerly reliable Paparazzi aircraft began having great GPS problems and displaying very erratic altitude calculations, disabling WAAS immediately resolved the issue and this phenomenon was recreated several times for verification. Turns out a new WAAS satellite was being added to the system and the others were being moved that week for better distribution. Our advice is to first test if SBAS works well in your region.

The default used by the u-blox UCenter module keeps SBAS enabled.

Assist Now

u-Blox modules that have a flash memory can keep the almanac correction data for up to 35 days into the future. That will give you a 3d GPS fix within seconds. AssitNow Offline data can be uploaded to the module while it is connected to the u-center application. To use this feature you need to provide a u-Blox account credentials that you can receive from the u-Blox registration site.

Antenna options for the Tiny and Paparazzi GPS units

See GPS/Antenna.

Tips

There is a huge amount of good information on the Internet about GPS specifics that gives some good insight into GPS. This Paparazzi wiki is not intended to repeat already available information, some is added here.

EGNOS

EGNOS augments the GPS satellite navigation system and makes it suitable for safety critical UAS applications. EGNOS became operational on 1 October 2009. ESA claims that it can determine position to within 2 meters compared with about 20 meters for GPS alone. Note that the service is currently provided only in western Europe. For further information take a look on the ESA EGNOS website.

For the latest update about functionality of EGNOS please check the website: European GNSS Supervisory Authority"

DGPS (Differential GPS)

Differential GPS is any method of improving GPS accuracy by comparing the GPS-indicated position of a nearby location to the known value and transmitting any error to the mobile unit. DGPS was originally created as a means of bypassing the deliberately introduced inaccuracies in civilian GPS signals. The original method used low frequency ground radios to relay correction data to the mobile unit and is still used today at airports, shipping ports, and even individual farms. Satellite Based Augmentation System (SBAS) is a modern form of DGPS where the ground stations relay correction data to a GEO-Stationary satellite, which then relays it to the mobile unit on standard GPS frequencies eliminating the need for a separate radio receiver. SBAS is currently available in 3 regions, WAAS, EGNOS, and MSAS regions. U-blox receivers support all common varieties of DGPS read the u-blox SBAS application note.

  • It is important to note that DGPS methods only improve the accuracy of the position calculation, not the precision. Since Paparazzi navigation is typically performed relative to the power-on location, any static error that could be corrected with DGPS is irrelevant.