Difference between revisions of "DGPS"

From PaparazziUAV
Jump to navigation Jump to search
Line 1: Line 1:
'''Working draft'''
'''This a working draft'''


'''The principle'''
'''The principle'''
Line 7: Line 7:
* NEO-M8P-2: acting as the rover (mobile) or as the ground station
* NEO-M8P-2: acting as the rover (mobile) or as the ground station


The NEO-M8P-2 acting as the ground station must know its position. This can be done by locating the ground antenna to a know position and initializing the Ublox to this position, or programming the Ublox to send its estimated position after a given converging time and precision.
The NEO-M8P-2 acting as the ground station must know its position. This can be done by locating the ground antenna to a know position and set the Ublox to this position, or setting the Ublox to send its estimated position after a given converging time and precision.


Furthermore the ground station Ublox acquire observation data and output them with its position to the NEO-M8P rover (mobile).  
Furthermore the ground station Ublox acquire observation data and output them with its position to the NEO-M8P rover (mobile).  
Line 16: Line 16:
* RTCM3.2 1087 : Beidou observation data  
* RTCM3.2 1087 : Beidou observation data  


The NEO-M8P acting as a rover (mobile) computes the station position with the data received from the ground. By comparing the computed position with the position sent, the rover integrate this error while estimating its position from its own observation data.
The NEO-M8P acting as a rover (mobile) computes the station position with the data received from the ground. By comparing the computed position with the position sent, the rover deduce the error to take into account to estimate its position from its own observation data.


'''Technically'''
'''Technically'''

Revision as of 01:06, 4 March 2017

This a working draft

The principle

The Differential GPS present here is based on the Ublox chip M8P. There are two types of Ublox M8P:

  • NEO-M8P-0: acting as the rover (mobile)
  • NEO-M8P-2: acting as the rover (mobile) or as the ground station

The NEO-M8P-2 acting as the ground station must know its position. This can be done by locating the ground antenna to a know position and set the Ublox to this position, or setting the Ublox to send its estimated position after a given converging time and precision.

Furthermore the ground station Ublox acquire observation data and output them with its position to the NEO-M8P rover (mobile).

The ground station output three messages types of the RTCM3 standard to the rover (mobile):

  • RTCM3.2 1005 : Ground station position
  • RTCM3.2 1077 : GPS observation data
  • RTCM3.2 1087 : Beidou observation data

The NEO-M8P acting as a rover (mobile) computes the station position with the data received from the ground. By comparing the computed position with the position sent, the rover deduce the error to take into account to estimate its position from its own observation data.

Technically

To not duplicate radio links the ground and board Ublox use the paparazzi telemetry.

  • on the ground side, the NEO-M8OP-2 is connected to the laptop using the USB connector (should be /dev/ttyAVCMX).
  • on the rover (mobile) side, the NEO-M8P is connected to the autopilot (Apogee) using the UART. The ublox output UBX (position) messages to the autopilot, and input RTCM3 message coming from the ground.

Implementation

We use gps boards from DROTEK. The boards are very small, and equiped with USB and UART. The antenna are active ones from Tallisman.

Ublox Configuration

Ublox provides a Windows application (U-CENTER) to upgrade and configure the Ublox chips. The NEO-M8P requires at least the U-CENTER V8.24. In a linux environment this version needs to be run in a Windows virtual machine. Previous version (ex.V8.16) that could be run with Linux/Wine are not compatible for the NEO-M8P. It is recommended to configure also the on board Ublox with U-CENTER tools, as the modules/gps/gps_ubx_ucenter is not working for the moment.


Paparazzi Configuration

   <module name="gps" type="ublox">
     <configure name="GPS_BAUD" value="B115200"/>
   </module>
   <define name="USE_GPS_UBX_RTCM" value="TRUE"/>