Apollo 10.0
自动驾驶开放平台
apollo::drivers::gnss::novatel 命名空间参考

struct  BDS_Ephemeris
 
struct  BestPos
 
struct  BestVel
 
struct  CorrImuData
 
struct  GLO_Ephemeris
 
struct  GPS_Ephemeris
 
struct  Heading
 
struct  ImuParameter
 
struct  InsCov
 
struct  InsPva
 
struct  InsPvaX
 
struct  LongHeader
 
struct  MessageType
 
struct  RawImu
 
struct  RawImuX
 
struct  ShortHeader
 

枚举

enum  MessageId : uint16_t {
  BESTGNSSPOS = 1429 , BESTGNSSVEL = 1430 , BESTPOS = 42 , BESTVEL = 99 ,
  CORRIMUDATA = 812 , CORRIMUDATAS = 813 , INSCOV = 264 , INSCOVS = 320 ,
  INSPVA = 507 , INSPVAS = 508 , INSPVAX = 1465 , PSRPOS = 47 ,
  PSRVEL = 100 , RAWIMU = 268 , RAWIMUS = 325 , RAWIMUX = 1461 ,
  RAWIMUSX = 1462 , MARK1PVA = 1067 , GPGGA = 218 , BDSEPHEMERIS = 1696 ,
  GLOEPHEMERIS = 723 , GPSEPHEMERIS = 7 , RANGE = 43 , HEADING = 971 ,
  IMURATECORRIMUS = 1362
}
 
enum  SyncByte : uint8_t { SYNC_0 = 0xAA , SYNC_1 = 0x44 , SYNC_2_LONG_HEADER = 0x12 , SYNC_2_SHORT_HEADER = 0x13 }
 
enum class  SolutionStatus : uint32_t {
  SOL_COMPUTED = 0 , INSUFFICIENT_OBS , NO_CONVERGENCE , SINGULARITY ,
  COV_TRACE , TEST_DIST , COLD_START , V_H_LIMIT ,
  VARIANCE , RESIDUALS , INTEGRITY_WARNING = 13 , PENDING = 18 ,
  INVALID_FIX = 19 , UNAUTHORIZED = 20 , INVALID_RATE , NONE = std::numeric_limits<uint32_t>::max()
}
 
enum class  SolutionType : uint32_t {
  NONE = 0 , FIXEDPOS = 1 , FIXEDHEIGHT = 2 , FLOATCONV = 4 ,
  WIDELANE = 5 , NARROWLANE = 6 , DOPPLER_VELOCITY = 8 , SINGLE = 16 ,
  PSRDIFF = 17 , WAAS = 18 , PROPOGATED = 19 , OMNISTAR = 20 ,
  L1_FLOAT = 32 , IONOFREE_FLOAT = 33 , NARROW_FLOAT = 34 , L1_INT = 48 ,
  WIDE_INT = 49 , NARROW_INT = 50 , RTK_DIRECT_INS = 51 , INS_SBAS = 52 ,
  INS_PSRSP = 53 , INS_PSRDIFF = 54 , INS_RTKFLOAT = 55 , INS_RTKFIXED = 56 ,
  INS_OMNISTAR = 57 , INS_OMNISTAR_HP = 58 , INS_OMNISTAR_XP = 59 , OMNISTAR_HP = 64 ,
  OMNISTAR_XP = 65 , PPP_CONVERGING = 68 , PPP = 69 , INS_PPP_CONVERGING = 73 ,
  INS_PPP = 74
}
 
enum class  DatumId : uint32_t { WGS84 = 61 }
 
enum class  InsStatus : uint32_t {
  INACTIVE = 0 , ALIGNING , HIGH_VARIANCE , SOLUTION_GOOD ,
  SOLUTION_FREE = 6 , ALIGNMENT_COMPLETE , DETERMINING_ORIENTATION , WAITING_INITIAL_POS ,
  NONE = std::numeric_limits<uint32_t>::max()
}
 

函数

ImuParameter GetImuParameter (ImuType type)
 

变量

constexpr uint16_t CRC_LENGTH = 4
 

枚举类型说明

◆ DatumId

enum class apollo::drivers::gnss::novatel::DatumId : uint32_t
strong
枚举值
WGS84 

在文件 novatel_messages.h184 行定义.

184 : uint32_t {
185 // We only use WGS-84.
186 WGS84 = 61,
187};

◆ InsStatus

enum class apollo::drivers::gnss::novatel::InsStatus : uint32_t
strong
枚举值
INACTIVE 
ALIGNING 
HIGH_VARIANCE 
SOLUTION_GOOD 
SOLUTION_FREE 
ALIGNMENT_COMPLETE 
DETERMINING_ORIENTATION 
WAITING_INITIAL_POS 
NONE 

在文件 novatel_messages.h393 行定义.

◆ MessageId

枚举值
BESTGNSSPOS 
BESTGNSSVEL 
BESTPOS 
BESTVEL 
CORRIMUDATA 
CORRIMUDATAS 
INSCOV 
INSCOVS 
INSPVA 
INSPVAS 
INSPVAX 
PSRPOS 
PSRVEL 
RAWIMU 
RAWIMUS 
RAWIMUX 
RAWIMUSX 
MARK1PVA 
GPGGA 
BDSEPHEMERIS 
GLOEPHEMERIS 
GPSEPHEMERIS 
RANGE 
HEADING 
IMURATECORRIMUS 

在文件 novatel_messages.h35 行定义.

35 : uint16_t {
36 BESTGNSSPOS = 1429,
37 BESTGNSSVEL = 1430,
38 BESTPOS = 42,
39 BESTVEL = 99,
40 CORRIMUDATA = 812,
41 CORRIMUDATAS = 813,
42 INSCOV = 264,
43 INSCOVS = 320,
44 INSPVA = 507,
45 INSPVAS = 508,
46 INSPVAX = 1465,
47 PSRPOS = 47,
48 PSRVEL = 100,
49 RAWIMU = 268,
50 RAWIMUS = 325,
51 RAWIMUX = 1461,
52 RAWIMUSX = 1462,
53 MARK1PVA = 1067,
54 GPGGA = 218,
55 BDSEPHEMERIS = 1696,
56 GLOEPHEMERIS = 723,
57 GPSEPHEMERIS = 7,
58 RANGE = 43,
59 HEADING = 971,
60 IMURATECORRIMUS = 1362,
61};

◆ SolutionStatus

enum class apollo::drivers::gnss::novatel::SolutionStatus : uint32_t
strong
枚举值
SOL_COMPUTED 
INSUFFICIENT_OBS 
NO_CONVERGENCE 
SINGULARITY 
COV_TRACE 
TEST_DIST 
COLD_START 
V_H_LIMIT 
VARIANCE 
RESIDUALS 
INTEGRITY_WARNING 
PENDING 
INVALID_FIX 
UNAUTHORIZED 
INVALID_RATE 
NONE 

在文件 novatel_messages.h124 行定义.

124 : uint32_t {
125 SOL_COMPUTED = 0, // solution computed
126 INSUFFICIENT_OBS, // insufficient observations
127 NO_CONVERGENCE, // no convergence
128 SINGULARITY, // singularity at parameters matrix
129 COV_TRACE, // covariance trace exceeds maximum (trace > 1000 m)
130 TEST_DIST, // test distance exceeded (max of 3 rejections if distance > 10
131 // km)
132 COLD_START, // not yet converged from cold start
133 V_H_LIMIT, // height or velocity limits exceeded
134 VARIANCE, // variance exceeds limits
135 RESIDUALS, // residuals are too large
136 INTEGRITY_WARNING = 13, // large residuals make position questionable
137 PENDING = 18, // receiver computes its position and determines if the fixed
138 // position is valid
139 INVALID_FIX = 19, // the fixed position entered using the fix position
140 // command is invalid
141 UNAUTHORIZED = 20, // position type is unauthorized
143 22, // selected logging rate is not supported for this solution type
144 NONE = std::numeric_limits<uint32_t>::max(),
145};

◆ SolutionType

enum class apollo::drivers::gnss::novatel::SolutionType : uint32_t
strong
枚举值
NONE 
FIXEDPOS 
FIXEDHEIGHT 
FLOATCONV 
WIDELANE 
NARROWLANE 
DOPPLER_VELOCITY 
SINGLE 
PSRDIFF 
WAAS 
PROPOGATED 
OMNISTAR 
L1_FLOAT 
IONOFREE_FLOAT 
NARROW_FLOAT 
L1_INT 
WIDE_INT 
NARROW_INT 
RTK_DIRECT_INS 
INS_SBAS 
INS_PSRSP 
INS_PSRDIFF 
INS_RTKFLOAT 
INS_RTKFIXED 
INS_OMNISTAR 
INS_OMNISTAR_HP 
INS_OMNISTAR_XP 
OMNISTAR_HP 
OMNISTAR_XP 
PPP_CONVERGING 
PPP 
INS_PPP_CONVERGING 
INS_PPP 

在文件 novatel_messages.h147 行定义.

147 : uint32_t {
148 NONE = 0,
149 FIXEDPOS = 1,
150 FIXEDHEIGHT = 2,
151 FLOATCONV = 4,
152 WIDELANE = 5,
153 NARROWLANE = 6,
154 DOPPLER_VELOCITY = 8,
155 SINGLE = 16,
156 PSRDIFF = 17,
157 WAAS = 18,
158 PROPOGATED = 19,
159 OMNISTAR = 20,
160 L1_FLOAT = 32,
161 IONOFREE_FLOAT = 33,
162 NARROW_FLOAT = 34,
163 L1_INT = 48,
164 WIDE_INT = 49,
165 NARROW_INT = 50,
166 RTK_DIRECT_INS = 51, // RTK filter is directly initialized
167 // from the INS filter.
168 INS_SBAS = 52,
169 INS_PSRSP = 53,
170 INS_PSRDIFF = 54,
171 INS_RTKFLOAT = 55,
172 INS_RTKFIXED = 56,
173 INS_OMNISTAR = 57,
174 INS_OMNISTAR_HP = 58,
175 INS_OMNISTAR_XP = 59,
176 OMNISTAR_HP = 64,
177 OMNISTAR_XP = 65,
178 PPP_CONVERGING = 68,
179 PPP = 69,
181 INS_PPP = 74,
182};

◆ SyncByte

枚举值
SYNC_0 
SYNC_1 
SYNC_2_LONG_HEADER 
SYNC_2_SHORT_HEADER 

在文件 novatel_messages.h69 行定义.

函数说明

◆ GetImuParameter()

ImuParameter apollo::drivers::gnss::novatel::GetImuParameter ( ImuType  type)
inline

在文件 novatel_messages.h527 行定义.

527 {
528 switch (type) {
529 case ImuType::IMAR_FSAS:
530 // 0.1 * (2 ** -8) * (math.pi / 180 / 3600), (0.05 * (2 ** -15)
531 return {1.893803441835e-9, 1.52587890625e-6, 200.0};
532
533 case ImuType::ADIS16488:
534 // 720/2**31 deg/LSB, 200/2**31 m/s/LSB
535 return {5.8516723170686385e-09, 9.31322574615478515625e-8, 200.0};
536
537 case ImuType::STIM300:
538 // 2**-21 deg/LSB, 2**-22 m/s/LSB
539 return {8.32237840649762e-09, 2.384185791015625e-07, 125.0};
540
541 case ImuType::ISA100:
542 case ImuType::ISA100C:
543 // 1.0e-9 rad/LSB, 2.0e-8 m/s/LSB
544 return {1.0e-9, 2.0e-8, 200.0};
545
546 case ImuType::ISA100_400HZ:
547 case ImuType::ISA100C_400HZ:
548 return {1.0e-9, 2.0e-8, 400.0};
549
550 case ImuType::G320N:
551 return {1.7044230976507124e-11, 2.3929443359375006e-10, 125.0};
552
553 case ImuType::CPT_XW5651:
554 return {1.0850694444444445e-07, 1.52587890625e-06, 100.0};
555
556 case ImuType::UM442:
557 return {6.6581059144655048e-6, 2.99127170628e-5, 20.0};
558
559 case ImuType::IAM20680:
560 // (1.0/65.5)/125.0 deg/LSB (1.0/8192.0)*9.80665/125.0 m/s/LSB
561 return {0.0001221374045, 9.57680664e-06, 125};
562
563 default:
564 return {0.0, 0.0, 0.0};
565 }
566}

变量说明

◆ CRC_LENGTH

constexpr uint16_t apollo::drivers::gnss::novatel::CRC_LENGTH = 4
constexpr

在文件 novatel_messages.h65 行定义.