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)
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).
TGEODETICCOORDS getCorrectedOrthoAsStruct() const
Return the corrected geodetic coords as a mrpt::topography::TGeodeticCoords structure (requires linki...
class BASE_IMPEXP CStream
uint32_t satellitesUsed
The number of satelites used to compute this estimation.
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)
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.
TGEODETICCOORDS getAsStruct() const
Return the geodetic coords as a mrpt::topography::TGeodeticCoords structure (requires linking against...
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.
int8_t validity_char
This will be: 'A'=OK or 'V'=void.
TGEODETICCOORDS getAsStruct() const
Return the geodetic coords as a mrpt::topography::TGeodeticCoords structure (requires linking against...
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_)
void getSensorPose(mrpt::poses::CPose3D &out_sensorPose) const
A general method to retrieve the sensor pose on the robot.
The GPS datum for GGA commands.
double longitude_degrees
The measured longitude, in degrees (East:+ , West:-)
TGEODETICCOORDS getOrthoAsStruct() const
Return the geodetic coords as a mrpt::topography::TGeodeticCoords structure (requires linking against...
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) ...