GLOBAL POSITION SYSTEM SENSOR MODEL FOR ROBOTICS SIMULATOR

Б.І. Тимченко. Модель системи глобального позиціонування сенсора для робототехнічного симулятора. Сьогодні гостро стоїть проблема автоматичної навігації для різного типу роботів, безпілотних автомобілів та людей. Збільшення кількості робототехнічних засобів вимагає від них більш точної навігації в просторі. Розробка алгоритмів високоточної навігації потребує велику кількість вихідних даних з сенсорів, а тестування деяких ситуацій є нездійсненним в реальних умовах. Імітаційне моделювання як метод дослідження подібних об’єктів є перспективним у розв’язанні цієї проблеми. Метою роботи є розробка імітаційної моделі для універсального датчика системи глобального позиціонування (GPS) і конфігурованої моделі атмосферних ефектів для імітації вимірювань реального приймача GPS в звичайному середовищі. Для досягнення поставленої мети проведено дослідження роботи GPS приймачів та виконано моделювання. Проблему моделювання сенсору розглянуто для системи геопозиціонування GPS, проведено моделювання земної атмосфери, проте отримані результати можуть бути легко адаптовані для інших сенсорів, наприклад GLONASS та GALILEO. Середовищем моделювання обрано пакет Unreal Engine 4 через його точне фізичне моделювання, що дозволило інтегрувати моделі роботів безпосередньо в модель середовища. За допомогою пакету Unreal Engine розроблено та протестовано модель атмосфери та приймача GPS. Можливість конфігурування моделі дозволила протестувати відповідність моделі до реальних умов навколишнього середовища. Отримана точність відповідно зо реального GPS приймача становила більше 95%. Ключові слова:роботизовані транспортні засоби, GPS, атмосфера, обробка сигналів, навігація, симулятор, Unreal Engine

Introduction.Modern computer systems make it possible to solve numerous problems.Especially among all areas interest of modern science stands to the control algorithms and robotics.At present moment, begins the era of robotic vehicles, which would be able to follow the designated route autonomously.Precise autonomous vehicle self-positioning in the outer world is a critical factor that affects traffic safety in general.Many new vehicle features (lane keeping, autonomous routing, and advanced driver assistance) use GPS sensor data fused with other sensors to provide stable positioning on the road and related to map data.This article presents the theoretical development and practical implementation of the GPS sensor and atmosphere signal attenuation model for the simulator environment.This model with the simulator then used to test control algorithms for cars software and car-like robots in a simulated environment.In addition, provided model is suitable for simulating untrusty GPS data for failsafe algorithms design.
Related works.The problem of sensor modelling has discussed in many ways in the literature.Meyer et al. [1] references Hector GPS model what does not use atmosphere model at all, providing ideal data to the simulated robot.Several other methods have proposed to estimate the uncertainty of GPS measurements.One of the simplest ways to model GPS uncertainty is to assume a constant value, for instance used by Goel et al. [2].They claim that it is not desirable to fuse GPS signals with gyroscope and odometry signals using an EKF as low GPS accuracy deteriorates the position estimate on small movements too much.Another method of modeling the GPS uncertainty is dynamically adjust the covariance according to a parameter.For example, Thrapp et al. [3] used the number of available satellites.
To overcome this, some models use atmospheric effects for GPS propagation calculation, however, they are not configurable.For example, ITU-R [4] have recommendations to use common approximation over all the radio beam from receiver to satellite.Hum et al. [5] use atmospheric refraction to model uncertainty in GPS readings.All these models are good for engineering purposes or for estimate of the GPS error in robotics or navigation applications.They are not suitable for robotics simulation due to their lack of configurability.
The aim.Nowadays there are a many concepts of automatically driven vehicles, such as Google cars, Mercedes approaches, Tesla Autopilot, etc.The first step to design such complex systems is the simulated model or prototype.To design the simulated model of vehicle, we need robust and mainly precise simulation of the environment where the model will executed.Contemporary automotive algorithms use machine learning and predictive control.For stable positioning sophisticated algorithms are used.Sensor fusion is a common approach what involves such sensors as GPS, odometry, cameras, LIDARs and range sensors.Every kind of these sensors has its own noise characteristics.Sensor fusion techniques are sensitive to noise characteristics of sensors used in equipment [6].
For GPS sensor, surrounding environment (buildings, trees) and atmospheric effects high influence on its precision and error distribution.For example, buildings mostly affect accuracy of the GPS sensor and atmospheric effects affect its precision.
The aim of this work is to develop simulation model for generic GPS sensor and configurable model for atmospheric effects in order to simulate measurements of real GPS receiver in realistic environment.
GPS system description.The GPS system concept is based on time and known positions of satellites at this time.GPS constellation consists of 31 satellites with orbit height of 20180 km.Nowadays constellation consists of 6 orbital planes with approximately 55º inclination.Anywhere in the world, there are at least 6 satellites visible at the same time.At least 4 satellites needed for reliable position determination.
Each GPS satellite continuously broadcasts its position and time.A GPS receiver tracks multiple satellites and solves equation for its position and time deviation from real GPS time.These signals are transmitted on two separate carrier frequencies that are common to all satellites in the network.Two different encodings used: a public encoding that enables lower resolution navigation, and an encrypted encoding used by the U.S. military.Precise sensors also use phase difference between carriers to eliminate some of the ionospheric effects.We will not cover this case in the article.
To model GPS orbit parameters, we use almanac file.The almanac consists of coarse orbit and status information for all satellites period.In addition, it contains ionospheric correction model that will be described further.Almanac files in RINEX (Receiver Independent EX change) format is common tool for GPS supplementing and they are provided by many observatories all over the world.We use RINEX files provided by NASA observatory.In our model, the satellite positions are predicted only based on almanac record for certain hour of the day and are valid for two hours from this time.GPS ephemerides are accurate up to 10 m.
Coordinate frames in model.We are working in Unreal Engine 4 environment, so our sensor is just a regular object in scene.To simplify development we use a priori known position in local coordinate frame (GLF, game level frame) and then add errors according to modelled situation.We use approximation of local tangent plane for small pieces (up to 4 km).This was considered acceptable, as mean distance from this plane to the satellites is sufficiently larger.Using these considerations, we can use ECEF (earth-centered, earth-fixed) coordinate frame for both sensor and satellites (Fig. 1), which is suitable in error model calculation.To get user output, noised ECEF coordinates are than converted to generic LLA coordinates (latitude-longitude-altitude).Velocity and heading are computed on the base of these LLA coordinates.
GPS error sources.There are two factors affect overall accuracy of the GPS system.The quality of visible constellation geometry represented by multiplicative factor denoted as dilution of precision (DOP) and errors in pseudo range estimation represented by user equivalent range error (UERE).Overall positioning error is expressed as following: E=DOP•σ uere , where σ uere -standard deviation for UERE.
Standard deviation•σ uere is affected by surrounding buildings (multipath effects), atmospheric effects and clock imprecision.In our model, we assume multipath effects only if the satellite is not directly visible, as conventional GPS receivers can successfully filter out this case of multipath error.When the satellite is not directly visible, we consider each reflection of signal from building wall consumes half of the beam power regardless to material of the wall.If there is no viable path with up to 16 reflections to satellite.This satellite is considered as invisible at the current point at all.We do not consider the clock imprecision.
Atmospheric model.We implemented fully configurable model of the Earth atmosphere with following objects: troposphere, stratosphere, mesosphere, thermosphere, ionosphere, clouds of different types and rain.Atmosphere is the main factor of UERE, as it both signal-to-noise ratio (SNR) and propagation delay (PD) of the satellites.To deal with SNR calculation, we simulate propagation of the beam with known start energy through attenuating atmospheric layers.We consider layers as uniform for simplicity.Gas molecules interact with the radio wave electromagnetic field.This may cause energy loss, e.g., H 2 O molecules are asymmetric and align to the electric field.
In Earth atmosphere, main attenuation factors at GPS frequencies (1575.42MHz) are oxygen and water vapor.We calculate attenuation of each layer separately for convenience of model configuration.In this calculation, we use spherical approximation of earth instead of the geoid, as we already reject satellites that have elevation lower than 5 degrees.For higher elevation angles, difference between geoid and spherical approximation is negligible.When the path length trough each layer is found, we calculate vapor and oxygen attenuation.We use nonlinear curve fit for equivalent concentration relative to height (h): , where g -gravitational constant, m -molar mass of dry air, R -universal gas constant, T -temperature at sea level in the given point.Equivalent concentration then is used in signal attenuation calculation.We use Mason models [7] for attenuation with equivalent gas concentration correction.For water vapor, the model is following: for oxygen attenuation, we use: where k -correction term, ρ -water vapor concentration in g/m 3 , f -frequency in GHz.A is expressed in dB/km.Integrating attenuation over beam path we achieve total atmospheric losses in signal power.
Clouds also have sufficient impact on the signal strength.We divide several types of clouds by their density from fog to thunderstorm.They are considered as water vapor of predefined density [1], we compute clouds attenuation in the same way as for water vapor in the atmosphere.Now we consider cloud as a thick layer at the given height, not considering its complex shape and borderline refraction.At the receiver, signal strength and SNR of satellite is computed as: ( ), . is a normal ambient noise, which is a thermal noise and has power of -204 dBW.In addition to thermal noise, we add surrounding electromagnetic noise caused by environment.Additional noise power varies from 1 dBW in countryside to 40 dBW in industrial area.Cutoff SNR for satellite is 5 dBW, lower than this margin, satellite is considered as unreliable and not taken into position fix.
Ionospheric and tropospheric delays.Free electrons in the ionosphere and troposphere cause GPS signal to travel slower.This phenomenon affects time calculation and thus directly affects position error.We compute slant path through ionosphere and delay on this path based on total electron content with fitted curve [8]: where TEC -total electron content, e sat -elevation angle in degrees.Average error for ionosphere is 5 m.
In addition, we use mapping of Niell tropospheric delay model [9].Tropospheric delay consists of two factors.Hydrostatic component delay caused by the dry gases present at the troposphere its effect varies with local temperature and atmospheric pressure in quite a predictable manner.The error caused by this component is about 2.3 meters in the zenith direction and 10 meters for lower elevations.
Wet component delay caused by the water vapor and condensed water in form of tropospheric clouds and, thence, it depends on weather conditions.The excess delay is small in this case, up to 0.5 m, but this component varies faster than the hydrostatic component and a quite randomly way, being very difficult to model.We include only hydrostatic delay into our model.
Hydrostatic delay is estimated using no meteorological surface data.It considers different obliquity for wet and dry components:  ( , ) ( ) ( ) where t-time from January 1 st , in days, T -taken as day of year.
The parameters avg γ and amp γ are taken from original work [10].Using tropospheric model that does not depend on direct meteorological measurements allowed us testing our model without need of costly measurements.
Experimental results.To test the model, we built virtual map of Odessa region and placed sensor on the terrain.Real sensor was installed on the same spot in Odessa.We took 3600 measurements from real sensor (1 hour, 1 measurement per second).Then we configured model for the same environment conditions and loaded RINEX file for this time.We simulated another 3600 measurements and checked errors distribution (mean and standard deviation).Difference between real and simulated sensors is 3.256 %.Fig. 2 shows the comparison of the part of data for the same spot.
Conclusions.In a result of this work, the model of GPS sensor in simulated environment was presented, its accuracy reached 96.744 % compared to live sensor.This model takes into account geometric, atmospheric and ionospheric effects.In addition, test environment and live setup was built for testing and parameters estimation.Achieved results can be used for various types of applications, where precise GPS errors modelling is needed.

.
h -height over sea level, m(e, a, b, c) is the Marini mapping [10] normalized to unity at zenith: Parameters a d , b d , c d are time and latitude dependent with following formula:

Fig. 2 .
Fig. 2. Examples of data from real and simulated sensors set at the same place