9 #ifndef CObservationGPS_H
10 #define CObservationGPS_H
35 void dumpToStream(
mrpt::utils::
CStream &out ) const;
38 void dumpToConsole(
std::ostream &o =
std::cout) const;
40 mrpt::poses::CPose3D sensorPose;
54 inline TUTCTime& operator = (
const TUTCTime& o)
72 template <
class TGEODETICCOORDS>
74 return TGEODETICCOORDS(latitude_degrees,longitude_degrees,orthometric_altitude);
80 template <
class TGEODETICCOORDS>
82 return TGEODETICCOORDS(latitude_degrees,longitude_degrees,corrected_orthometric_altitude);
87 template <
class TGEODETICCOORDS>
89 return TGEODETICCOORDS(latitude_degrees,longitude_degrees,altitude_meters);
187 template <
class TGEODETICCOORDS>
189 return TGEODETICCOORDS(latitude_degrees,longitude_degrees,height_meters);
265 virtual void getDescriptionAsText(std::ostream &o)
const;
bool operator!=(const CArray< T, N > &x, const CArray< T, N > &y)
uint64_t TTimeStamp
A system independent time type, it holds the the number of 100-nanosecond intervals since January 1...
bool has_GGA_datum
Will be true if the corresponding field contains data read from the sensor, or false if it is not ava...
vector_signed_byte ELs
Elevation (in degrees, 0-90) for each satellite in USIs.
uint8_t RXBattery
battery level on receiver
uint8_t TXBattery
battery level on transmitter
double latitude_degrees
The measured latitude, in degrees (North:+ , South:-)
std::vector< uint8_t > vector_byte
uint8_t fix_quality
The values defined in the NMEA standard are the following:
vector_signed_word AZs
Azimuth (in degrees, 0-360) for each satellite in USIs.
double cartesian_vz
Only if hasCartesianPosVel is true.
double speed_knots
The measured speed (in knots)
void getSensorPose(mrpt::poses::CPose3D &out_sensorPose) const
A general method to retrieve the sensor pose on the robot.
double altitude_meters
The measured altitude, in meters (A).
The GPS datum for TopCon's mmGPS devices.
TGPSDatum_SATS SATS_datum
If "has_SATS_datum" is true, this contains the read PZS datum (TopCon's mmGPS devices only) ...
uint8_t nId
ID of the transmitter [1-4], 0 if none.
double height_meters
ellipsoidal height from N-beam [m] perhaps weighted with regular gps
double corrected_orthometric_altitude
The corrected (mmGPS) orthometric altitude, in meters mmGPS(A+B).
class BASE_IMPEXP CStream
uint32_t satellitesUsed
The number of satelites used to compute this estimation.
TGEODETICCOORDS getOrthoAsStruct() const
Return the geodetic coords as a mrpt::topography::TGeodeticCoords structure (requires linking against...
TGEODETICCOORDS getCorrectedOrthoAsStruct() const
Return the corrected geodetic coords as a mrpt::topography::TGeodeticCoords structure (requires linki...
std::vector< int8_t > vector_signed_byte
double orthometric_altitude
The measured orthometric altitude, in meters (A)+(B).
double latitude_degrees
The measured latitude, in degrees (North:+ , South:-)
float PSigma
position SEP [m]
uint8_t stats_rtk_fix_progress
[0,100] %, only in modes other than RTK FIXED.
A numeric matrix of compile-time fixed size.
double longitude_degrees
The measured longitude, in degrees (East:+ , West:-)
bool has_PZS_datum
Will be true if the corresponding field contains data read from the sensor, or false if it is not ava...
#define DEFINE_SERIALIZABLE_PRE_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
This declaration must be inserted in all CSerializable classes definition, before the class declarati...
double longitude_degrees
The measured longitude, in degrees (East:+ , West:-)
double latitude_degrees
The measured latitude, in degrees (North:+ , South:-)
double direction_degrees
The measured speed direction (in degrees)
TGEODETICCOORDS getAsStruct() const
Return the geodetic coords as a mrpt::topography::TGeodeticCoords structure (requires linking against...
bool operator==(const CArray< T, N > &x, const CArray< T, N > &y)
uint8_t Fix
1: GPS, 2: mmGPS
double geoidal_distance
Difference between the measured altitude and the geoid, in meters (B).
bool has_SATS_datum
Will be true if the corresponding field contains data read from the sensor, or false if it is not ava...
mrpt::math::CMatrixFloat44 pos_covariance
Only if hasPosCov is true.
double angle_transmitter
Vertical angle of N-beam.
bool hasCartesianPosVel
system error indicator
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
double cartesian_z
Only if hasCartesianPosVel is true.
TGPSDatum_RMC RMC_datum
If "has_RMC_datum" is true, this contains the read RMC datum.
The GPS datum for RMC commands.
float HDOP
The HDOP (Horizontal Dilution of Precision) as returned by the sensor.
TGEODETICCOORDS getAsStruct() const
Return the geodetic coords as a mrpt::topography::TGeodeticCoords structure (requires linking against...
int8_t validity_char
This will be: 'A'=OK or 'V'=void.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Declares a class that represents any robot's observation.
A generic structure for statistics about tracked satelites and their positions.
TGPSDatum_GGA GGA_datum
If "has_GGA_datum" is true, this contains the read GGA datum.
mrpt::math::CMatrixFloat44 vel_covariance
Only if hasPosCov is true.
std::vector< int16_t > vector_signed_word
bool has_RMC_datum
Will be true if the corresponding field contains data read from the sensor, or false if it is not ava...
uint8_t stats_GPS_sats_used
TUTCTime UTCTime
The GPS sensor measured timestamp (in UTC time)
bool thereis_HDOP
This states whether to take into account the value in the HDOP field.
A UTC time-stamp structure for GPS messages.
double RTK_height_meters
ellipsoidal height [m] without N-beam correction
Declares a class derived from "CObservation" that represents a Global Positioning System (GPS) readin...
TUTCTime UTCTime
The GPS sensor measured timestamp (in UTC time)
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
The GPS datum for GGA commands.
double longitude_degrees
The measured longitude, in degrees (East:+ , West:-)
vector_byte USIs
The list of USI (Universal Sat ID) for the detected sats (See GRIL Manual, pag 4-31).
void setSensorPose(const mrpt::poses::CPose3D &newSensorPose)
A general method to change the sensor pose on the robot.
TGPSDatum_PZS PZS_datum
If "has_PZS_datum" is true, this contains the read PZS datum (TopCon's mmGPS devices only) ...