## 3 Localisation of a City Bus with GNSS
### Hardware
In our case, all these messages are transmitted in the RTCM (Radio Technical Commission for Maritime) standard to the onboard computer, which then forwards them to the _moving base_ receiver, thus enabling the RTK mode of localisation [50]. The source of RTCM messages that we use is the ASG-EUPOS network which provides the data from multiple reference stations located in Poland via the internet-based service. Unfortunately, some errors cannot be reduced using RTCM data. This is especially the case for errors associated with signal multipathing and obstruction, as they depend on the actual position of a given receiver and its surroundings. The main source of this kind of error is tall buildings and trees that bounce or block the signal coming from certain satellites. For that reason, the GNSS localisation might work with less accuracy in very urbanised areas, and in some cases, such as driving through tunnels or underground parking, it does not work at all. Another important factor that should be taken into consideration is the coverage of the GSM network in the area where the RTK GNSS is supposed to operate. This factor is usually not a problem in urban areas, but the lack of internet connection makes it impossible to receive the RTCM corrections and thus degrades the positioning precision. Fortunately, short interrupts in internet access, which can happen even in cities, are not a problem, as these corrections are usually valid for some tens of seconds. However, in the case of a longer absence of correction data, the receiver will exit the RTK mode and enter the standard FIX mode, which has the maximum static accuracy of 1.5 m. Although it is enough to determine the approximate location of a bus, it is not sufficient for precise docking manoeuvres. For that reason, the RTCM corrections are critical for our application, and they are necessary for the system to operate correctly. In addition to the standard FIX mode, there are also two RTK modes that the GNSS receiver can be in, namely RTK FLOAT and RTK FIXED. The former is obtained when the GNSS module receives the RTCM corrections but has not managed to obtain the highest precision mode yet. The accuracy in this mode is usually at the level of tens of centimetres, which is higher than in standard FIX, but it can still vary depending on the number of visible satellites and the quality of received signals. The latter one, RTK FIXED, is the most accurate mode, and it is obtained when the receiver manages to calculate the complete navigation solution. It includes resolving the carrier phase cycle ambiguities and fixing them to the exact number of radio wavelengths between the satellites and the receiver. This ensures that the centimetre-level precision that can be maintained as long as there is no long-time interruption of RTCM data transmission, and the antennas have a clear view of the sky. All these three modes apply for both _moving base_ and _rover_ modules. Regardless of the current mode, the receivers use signals from multiple satellite constellations and multiple frequency bands: GPS (L1/L2), Galileo (E1/E5), and GLONASS (L1/L2). This ensures that there is always a sufficient number of visible satellites for the system to operate. What is more, it also reduces the time that is necessary to start the system after power up. In fact, the used u-blox F9P receivers obtain the standard FIX even before the whole system boots up, as they begin to calculate their position immediately after the ignition key of a bus is turned on. However, the RTK FIXED mode can be entered only after the LTE module connects to the GSM network and starts the RTCM data transmission, which additionally takes around 40-60 s to complete.