Apollo 10.0
自动驾驶开放平台
gnss_raw_observation.proto
浏览该文件的文档.
1
2syntax = "proto2";
3
4package apollo.drivers.gnss;
5
6// pre-defined GNSS band frequency ID
9 GPS_L1 = 1;
10 GPS_L2 = 2;
11 GPS_L5 = 3;
12 BDS_B1 = 4;
13 BDS_B2 = 5;
14 BDS_B3 = 6;
15 GLO_G1 = 7;
16 GLO_G2 = 8;
17 GLO_G3 = 9;
18}
19
20// observation and ephemeris related system time type
28
29// observation and ephemeris related system type
37
38// type of pseudo-range
44
45// This message defines one band observation of a certain satellite
47 // observation on a certain frequency band
48 optional GnssBandID band_id = 1 [default = BAND_UNKNOWN];
49 optional double frequency_value = 2;
50 optional PseudoType pseudo_type = 3 [default = CODE_UNKNOWN];
51 // unit in meter
52 optional double pseudo_range = 4;
53 // unit in cycle
54 optional double carrier_phase = 5;
55 // Indicator of losing tracking of the signal
56 optional uint32 loss_lock_index = 6;
57 // unit in /s
58 optional double doppler = 7;
59 // Signal strength: signal noise ratio or carrier noise ratio
60 optional float snr = 8;
61}
62
63// This message defines one satellite observation of a certain epoch
65 optional uint32 sat_prn = 1;
66 optional GnssType sat_sys = 2 [default = GPS_SYS];
67 optional uint32 band_obs_num = 3;
68 repeated BandObservation band_obs = 4;
69}
70
71// This message defines one epoch observation on a certain time of a receiver
73 // Unique id to a certain receiver
74 // 0 for rover, otherwise for baser, supporting multi-baser mode
75 optional uint32 receiver_id = 1;
76 optional GnssTimeType gnss_time_type = 2 [default = GPS_TIME];
77 optional uint32 gnss_week = 3;
78 optional double gnss_second_s = 4;
79 // Baser observation should be bound with coordinates
80 // unit in meter
81 optional double position_x = 5;
82 // unit in meter
83 optional double position_y = 6;
84 // unit in meter
85 optional double position_z = 7;
86 // Health indicator: 0 for healthy while 1 for bad observation
87 optional uint32 health_flag = 8 [default = 0];
88 // Number of observed satellites
89 optional uint32 sat_obs_num = 9;
90 // Group of observed satellite observation
91 repeated SatelliteObservation sat_obs = 10;
92}
93
94// This message defines main six keppler orbit parameters and perturbations,
95// designed for gps, beidou, (also supporting gnss, galileo)
96message KepplerOrbit {
97 optional GnssType gnss_type = 1 [default = GPS_SYS];
98 optional uint32 sat_prn = 2;
99 optional GnssTimeType gnss_time_type = 3 [default = GPS_TIME];
100 // TOC: time of clock
101 optional uint32 year = 4;
102 optional uint32 month = 5;
103 optional uint32 day = 6;
104 optional uint32 hour = 7;
105 optional uint32 minute = 8;
106 optional double second_s = 9;
107 // GNSS week number
108 optional uint32 week_num = 10;
109 optional double reserved = 11;
110 optional double af0 = 12; // clock correction(sec)
111 optional double af1 = 13; // clock correction(sec/sec)
112 optional double af2 = 14; // clock correction(sec/sec2)
113 optional double iode = 15; // Issue Of Data, Ephemeris in subframes 2 and 3
114 optional double deltan =
115 16; // mean anomaly correction semi-circles per sec*pi = rads
116 optional double m0 = 17; // mean anomaly at ref time semi-circles*pi = rads
117 optional double e = 18; // eccentricity
118 optional double roota = 19; // sqr root a ( meters 1/2 )
119 optional double toe = 20; // ref time (sec) of ephemeris
120 optional double toc = 21; // ref time (sec) of clock
121 optional double cic = 22; // harmonic correction term(rads)
122 optional double crc = 23; // harmonic correction term(meters)
123 optional double cis = 24; // harmonic correction term(rads)
124 optional double crs = 25; // harmonic correction term(meters)
125 optional double cuc = 26; // harmonic correction term(rads)
126 optional double cus = 27; // harmonic correction term(rads)
127 optional double omega0 =
128 28; // longitude of ascending node semi-circles*pi = rads
129 optional double omega = 29; // argument of perigee semi-circles*pi
130 optional double i0 = 30; // inclination angle at ref time semi-circles*pi
131 optional double omegadot = 31; // rate of right ascension semi-circles/sec*pi
132 optional double idot = 32; // rate of inclination semi-circles/sec*pi
133 optional double codesonL2channel = 33; // pseudo range codes on L2
134 optional uint32 L2Pdataflag = 34; // data flag of L2P
135 optional uint32 accuracy = 35; // user range accuracy
136 optional uint32 health = 36; // satellite health: 0=good,1=bad
137 optional double tgd = 37; // group delay (s)
138 optional double iodc = 38; // Issue Of Data, Clock
139}
141// This message defines orbit parameters of GLONASS
143 optional GnssType gnss_type = 1 [default = GLO_SYS];
144 optional uint32 slot_prn = 2;
145 optional GnssTimeType gnss_time_type = 3 [default = GLO_TIME];
146 // refer to GLONASS time and toc == toe
147 optional double toe = 4;
148 // must convert toe to UTC(+0) format and fulfill year, month...second_s,etc.
149 optional uint32 year = 5;
150 optional uint32 month = 6;
151 optional uint32 day = 7;
152 optional uint32 hour = 8;
153 optional uint32 minute = 9;
154 optional double second_s = 10;
155 // unit in meter
156 optional int32 frequency_no = 11;
157 // GNSS week number
158 optional uint32 week_num = 12;
159 // GNSS week second in seconds
160 optional double week_second_s = 13;
161 // frame broadcasted time
162 optional double tk = 14;
163 // clock correction(sec/sec),warning: set clock_offset = -TauN
164 optional double clock_offset = 15;
165 // clock correction(sec/sec2),warning: set clock_drift = +GammaN
166 optional double clock_drift = 16;
167 // Satellite health : 0=good,1=bad
168 optional uint32 health = 17;
169 // unit in meter
170 optional double position_x = 18;
171 optional double position_y = 19;
172 optional double position_z = 20;
173 // unit in m/s
174 optional double velocity_x = 21;
175 optional double velocity_y = 22;
176 optional double velocity_z = 23;
177 // unit in m/s2
178 optional double accelerate_x = 24;
179 optional double accelerate_y = 25;
180 optional double accelerate_z = 26;
181 optional double infor_age = 27;
182 optional uint32 sat_prn = 28;
183}
185// This message encapsulates keppler orbit message and glonass message
187 optional GnssType gnss_type = 1 [default = GLO_SYS];
188 optional KepplerOrbit keppler_orbit = 2;
189 optional GlonassOrbit glonass_orbit = 3;
190}