Skip to content

SensorGps (UORB message)

GPS position in WGS84 coordinates. the field 'timestamp' is for the position & velocity (microseconds).

TOPICS: sensor_gps vehicle_gps_position

Fields

NameTypeUnit [Frame]Range/EnumDescription
timestampuint64time since system start (microseconds)
timestamp_sampleuint64
device_iduint32unique device ID for the sensor that does not change between power cycles
latitude_degfloat64Latitude in degrees, allows centimeter level RTK precision
longitude_degfloat64Longitude in degrees, allows centimeter level RTK precision
altitude_msl_mfloat64Altitude above MSL, meters
altitude_ellipsoid_mfloat64Altitude above Ellipsoid, meters
s_variance_m_sfloat32GPS speed accuracy estimate, (metres/sec)
c_variance_radfloat32GPS course accuracy estimate, (radians)
fix_typeuint8Some applications will not use the value of this field unless it is at least two, so always correctly fill in the fix.
ephfloat32GPS horizontal position accuracy (metres)
epvfloat32GPS vertical position accuracy (metres)
hdopfloat32Horizontal dilution of precision
vdopfloat32Vertical dilution of precision
noise_per_msint32GPS noise per millisecond
automatic_gain_controluint16Automatic gain control monitor
jamming_stateuint8indicates whether jamming has been detected or suspected by the receivers. O: Unknown, 1: OK, 2: Mitigated, 3: Detected
jamming_indicatorint32indicates jamming is occurring
spoofing_stateuint8indicates whether spoofing has been detected or suspected by the receivers. O: Unknown, 1: OK, 2: Mitigated, 3: Detected
authentication_stateuint8GPS signal authentication state
vel_m_sfloat32GPS ground speed, (metres/sec)
vel_n_m_sfloat32GPS North velocity, (metres/sec)
vel_e_m_sfloat32GPS East velocity, (metres/sec)
vel_d_m_sfloat32GPS Down velocity, (metres/sec)
cog_radfloat32Course over ground (NOT heading, but direction of movement), -PI..PI, (radians)
vel_ned_validboolTrue if NED velocity is valid
timestamp_time_relativeint32timestamp + timestamp_time_relative = Time of the UTC timestamp since system start, (microseconds)
time_utc_usecuint64Timestamp (microseconds, UTC), this is the timestamp which comes from the gps module. It might be unavailable right after cold start, indicated by a value of 0
satellites_useduint8Number of satellites used
system_erroruint32General errors with the connected GPS receiver
headingfloat32heading angle of XYZ body frame rel to NED. Set to NaN if not available and updated (used for dual antenna GPS), (rad, [-PI, PI])
heading_offsetfloat32heading offset of dual antenna array in body frame. Set to NaN if not applicable. (rad, [-PI, PI])
heading_accuracyfloat32heading accuracy (rad, [0, 2PI])
rtcm_injection_ratefloat32RTCM message injection rate Hz
selected_rtcm_instanceuint8uorb instance that is being used for RTCM corrections
rtcm_crc_failedboolRTCM message CRC failure detected
rtcm_msg_useduint8Indicates if the RTCM message was used successfully by the receiver

Constants

NameTypeValueDescription
FIX_TYPE_NONEuint81Value 0 is also valid to represent no fix.
FIX_TYPE_2Duint82
FIX_TYPE_3Duint83
FIX_TYPE_RTCM_CODE_DIFFERENTIALuint84
FIX_TYPE_RTK_FLOATuint85
FIX_TYPE_RTK_FIXEDuint86
FIX_TYPE_EXTRAPOLATEDuint88
JAMMING_STATE_UNKNOWNuint80default
JAMMING_STATE_OKuint81
JAMMING_STATE_MITIGATEDuint82
JAMMING_STATE_DETECTEDuint83
SPOOFING_STATE_UNKNOWNuint80default
SPOOFING_STATE_OKuint81
SPOOFING_STATE_MITIGATEDuint82
SPOOFING_STATE_DETECTEDuint83
AUTHENTICATION_STATE_UNKNOWNuint80default
AUTHENTICATION_STATE_INITIALIZINGuint81
AUTHENTICATION_STATE_ERRORuint82
AUTHENTICATION_STATE_OKuint83
AUTHENTICATION_STATE_DISABLEDuint84
SYSTEM_ERROR_OKuint320default
SYSTEM_ERROR_INCOMING_CORRECTIONSuint321
SYSTEM_ERROR_CONFIGURATIONuint322
SYSTEM_ERROR_SOFTWAREuint324
SYSTEM_ERROR_ANTENNAuint328
SYSTEM_ERROR_EVENT_CONGESTIONuint3216
SYSTEM_ERROR_CPU_OVERLOADuint3232
SYSTEM_ERROR_OUTPUT_CONGESTIONuint3264
RTCM_MSG_USED_UNKNOWNuint80
RTCM_MSG_USED_NOT_USEDuint81
RTCM_MSG_USED_USEDuint82

Source Message

Source file (GitHub)

Click here to see original file
c
# GPS position in WGS84 coordinates.
# the field 'timestamp' is for the position & velocity (microseconds)
uint64 timestamp		# time since system start (microseconds)
uint64 timestamp_sample

uint32 device_id                # unique device ID for the sensor that does not change between power cycles

float64 latitude_deg		# Latitude in degrees, allows centimeter level RTK precision
float64 longitude_deg		# Longitude in degrees, allows centimeter level RTK precision
float64 altitude_msl_m		# Altitude above MSL, meters
float64 altitude_ellipsoid_m	# Altitude above Ellipsoid, meters

float32 s_variance_m_s		# GPS speed accuracy estimate, (metres/sec)
float32 c_variance_rad		# GPS course accuracy estimate, (radians)
uint8 FIX_TYPE_NONE                   = 1       # Value 0 is also valid to represent no fix.
uint8 FIX_TYPE_2D                     = 2
uint8 FIX_TYPE_3D                     = 3
uint8 FIX_TYPE_RTCM_CODE_DIFFERENTIAL = 4
uint8 FIX_TYPE_RTK_FLOAT              = 5
uint8 FIX_TYPE_RTK_FIXED              = 6
uint8 FIX_TYPE_EXTRAPOLATED           = 8
uint8 fix_type                  # Some applications will not use the value of this field unless it is at least two, so always correctly fill in the fix.

float32 eph			# GPS horizontal position accuracy (metres)
float32 epv			# GPS vertical position accuracy (metres)

float32 hdop			# Horizontal dilution of precision
float32 vdop			# Vertical dilution of precision

int32 noise_per_ms		# GPS noise per millisecond
uint16 automatic_gain_control   # Automatic gain control monitor

uint8 JAMMING_STATE_UNKNOWN   = 0 #default
uint8 JAMMING_STATE_OK        = 1
uint8 JAMMING_STATE_MITIGATED = 2
uint8 JAMMING_STATE_DETECTED  = 3
uint8 jamming_state	      # indicates whether jamming has been detected or suspected by the receivers. O: Unknown, 1: OK, 2: Mitigated, 3: Detected
int32 jamming_indicator	      # indicates jamming is occurring

uint8 SPOOFING_STATE_UNKNOWN   = 0 #default
uint8 SPOOFING_STATE_OK        = 1
uint8 SPOOFING_STATE_MITIGATED = 2
uint8 SPOOFING_STATE_DETECTED  = 3
uint8 spoofing_state	       # indicates whether spoofing has been detected or suspected by the receivers. O: Unknown, 1: OK, 2: Mitigated, 3: Detected

# Combined authentication state (e.g. Galileo OSNMA)
uint8 AUTHENTICATION_STATE_UNKNOWN      = 0 #default
uint8 AUTHENTICATION_STATE_INITIALIZING = 1
uint8 AUTHENTICATION_STATE_ERROR        = 2
uint8 AUTHENTICATION_STATE_OK           = 3
uint8 AUTHENTICATION_STATE_DISABLED     = 4
uint8 authentication_state              # GPS signal authentication state

float32 vel_m_s			# GPS ground speed, (metres/sec)
float32 vel_n_m_s		# GPS North velocity, (metres/sec)
float32 vel_e_m_s		# GPS East velocity, (metres/sec)
float32 vel_d_m_s		# GPS Down velocity, (metres/sec)
float32 cog_rad			# Course over ground (NOT heading, but direction of movement), -PI..PI, (radians)
bool vel_ned_valid		# True if NED velocity is valid

int32 timestamp_time_relative	# timestamp + timestamp_time_relative = Time of the UTC timestamp since system start, (microseconds)
uint64 time_utc_usec		# Timestamp (microseconds, UTC), this is the timestamp which comes from the gps module. It might be unavailable right after cold start, indicated by a value of 0

uint8 satellites_used		# Number of satellites used

uint32 SYSTEM_ERROR_OK                   = 0 #default
uint32 SYSTEM_ERROR_INCOMING_CORRECTIONS = 1
uint32 SYSTEM_ERROR_CONFIGURATION        = 2
uint32 SYSTEM_ERROR_SOFTWARE             = 4
uint32 SYSTEM_ERROR_ANTENNA              = 8
uint32 SYSTEM_ERROR_EVENT_CONGESTION     = 16
uint32 SYSTEM_ERROR_CPU_OVERLOAD         = 32
uint32 SYSTEM_ERROR_OUTPUT_CONGESTION    = 64
uint32 system_error                      # General errors with the connected GPS receiver

float32 heading			# heading angle of XYZ body frame rel to NED. Set to NaN if not available and updated (used for dual antenna GPS), (rad, [-PI, PI])
float32 heading_offset		# heading offset of dual antenna array in body frame. Set to NaN if not applicable. (rad, [-PI, PI])
float32 heading_accuracy	# heading accuracy (rad, [0, 2PI])

float32 rtcm_injection_rate	# RTCM message injection rate Hz
uint8 selected_rtcm_instance	# uorb instance that is being used for RTCM corrections

bool rtcm_crc_failed		# RTCM message CRC failure detected

uint8 RTCM_MSG_USED_UNKNOWN = 0
uint8 RTCM_MSG_USED_NOT_USED = 1
uint8 RTCM_MSG_USED_USED = 2
uint8 rtcm_msg_used		# Indicates if the RTCM message was used successfully by the receiver

# TOPICS sensor_gps vehicle_gps_position