GNSS deviation map layer
By constructing a GNSS deviation map layer and combining sensors and map data to evaluate the reliability of GNSS data, the evaluation difficulties caused by the diversity of GNSS data accuracy factors are solved, and the accuracy of vehicle navigation and map construction is realized in real time.
Patent Information
- Application Number
- CN202510064842.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-01-19
- Filing Date
- 2025-01-15
- Publication Date
- 2025-07-22
AI Technical Summary
The accuracy of GNSS data varies by location and time, and the prior art cannot fully reflect all factors of generation uncertainty, making it difficult to assess the reliability of GNSS receivers in vehicle navigation and map construction.
By constructing a GNSS deviation map layer, the environmental sensors and map data on the vehicle are combined with the GNSS data, the location deviation is calculated and the classification of geographic regions is updated to evaluate the reliability of the GNSS data.
It provides a method to evaluate the reliability of GNSS data in real time, helping the vehicle navigation system adjust operating modes under different reliability conditions, improving navigation accuracy and map construction accuracy.
Smart Images

Figure CN120352902A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure describes techniques for tracking and independently verifying the reliability of data received from a Global Navigation Satellite System (GNSS). Background Art
[0002] A Global Navigation Satellite System (GNSS) can be used to detect a position relative to the Earth. Systems for GNSS include the Global Positioning System (GPS), GLONASS, Beidou, Galileo, etc. GNSS satellites broadcast time and geographical location data. A GNSS receiver can determine a position, e.g., latitude and longitude, based on receiving time and geographical location data from multiple GNSS satellites simultaneously and using the trilateration principle. Summary of the Invention
[0003] The accuracy of GNSS data can vary depending on location and time. Some GNSS receivers can generate a measure of the uncertainty of GNSS data based on the GNSS data, but such measures may not reflect all factors contributing to the uncertainty. The techniques herein provide a way to test the reliability of GNSS data against data from other sources. The reliability of GNSS data can be tracked in a GNSS deviation map layer. The GNSS deviation map layer can track classifications of geographical regions, and each classification can indicate the reliability of GNSS data within the corresponding geographical region. A computer can be programmed to receive position deviations of multiple vehicles and update the classification of geographical regions in the GNSS deviation map layer based on the position deviations. Each position deviation indicates the difference between the GNSS pose of a vehicle derived from GNSS data and the local position of the vehicle indicated by sensor data and map data. Each position deviation is based on map data, sensor data generated by environmental sensors on the respective vehicle, and GNSS data received at the vehicle. The combination of sensor data and map data implies the local position of the vehicle, and this implicit local position provides an independent assessment of the GNSS pose generated by the GNSS data. The inaccuracy of the GNSS pose relative to the implicit local position results in a position deviation. Using position deviations from multiple vehicles can help update the GNSS deviation map layer in real time.
[0004] A GNSS deviation map layer can assist in various GNSS-based vehicle operations, navigation, and map construction applications. For example, the GNSS deviation map layer can provide input to an advanced driver assistance system (ADAS) on a vehicle. When the classification from the GNSS deviation map layer indicates high reliability, ADAS features can use the GNSS attitude, and when the GNSS deviation map layer indicates lower reliability, the ADAS features can be deactivated or different inputs can be used. As another example, the GNSS deviation map layer can be an input for segment-based navigation. When the classification from the GNSS deviation map layer indicates high reliability, the navigation system can provide lane-level navigation instructions, and when the classification from the GNSS deviation map layer indicates lower reliability, road-level navigation instructions can be provided. As yet another example, a map construction application can display the classification from the GNSS deviation map layer when displaying the GNSS attitude to provide context for the GNSS attitude to the user.
[0005] A computer includes a processor and a memory, and the memory stores instructions that can be executed by the processor to receive a position deviation of a vehicle and update a classification of a geographical area in a GNSS deviation map layer based on the position deviation. The position deviation is based on sensor data generated by environmental sensors on the vehicle, map data, and global navigation satellite system (GNSS) data received at the vehicle. The position deviation indicates the difference between the GNSS attitude derived from the GNSS data of the vehicle and the local position of the vehicle indicated by the sensor data and the map data. The GNSS deviation map layer indicates the reliability of the GNSS data.
[0006] In an example, the instructions can further include instructions for: updating the classification based on the position deviation and based on the covariance of the GNSS data received at the vehicle. In other examples, the instructions can further include instructions for: selecting a first potential classification as the classification in response to the position deviation exceeding a first threshold and the covariance being lower than a second threshold, and selecting a second potential classification as the classification in response to the position deviation exceeding the first threshold and the covariance exceeding the second threshold.
[0007] In an example, the vehicle can be the first vehicle among multiple vehicles, the position deviation can be the first position deviation among multiple position deviations of the corresponding vehicle, the classification can be the first classification among multiple classifications of the GNSS deviation map layer, and the instruction can further include an instruction to update the classification based on the position deviation. In other examples, the geographical area can be the first geographical area, the classification can include a second classification of a second geographical area without any of the vehicles, and the instruction can further include an instruction to update the second classification by executing a machine learning program that generates an output indicating an expected classification. In yet another example, the instruction can further include an instruction to: train a machine learning program using the position deviation as training data.
[0008] In still other examples, the instruction can further include an instruction to: update the second classification by executing a machine learning program in response to the second classification of the second geographical area indicating low reliability of GNSS data before the update.
[0009] In yet another example, the geographical area can be the first geographical area, the classification can include a second classification of a second geographical area without any of the vehicles, and the instruction can further include an instruction to: maintain the second classification at the same value as before the update in response to the second classification of the second geographical area indicating high reliability of GNSS data before the update.
[0010] In an example, the instruction can further include an instruction to: determine a position deviation based on sensor data, map data, and GNSS data. In other examples, the instruction can further include an instruction to: determine a position deviation by detecting a feature in the sensor data, where the position deviation is the difference between the expected position of the feature based on GNSS data and the map position of the feature from the map data. In still other examples, the instruction can further include an instruction to: determine a position deviation by determining the expected position of the feature based on the GNSS attitude of the vehicle derived from GNSS data. In still other examples, the instruction can further include an instruction to: determine a position deviation by executing an optimization algorithm that matches the expected position with the map position.
[0011] In an example, the instruction can further include an instruction to: select a classification from multiple preset potential classifications stored in a memory. In other examples, the potential classifications can include at least one first potential classification indicating reliability at least suitable for road-level position detection and at least one second potential classification indicating reliability not suitable for road-level position detection. In yet another example, the potential classifications can include at least one third potential classification indicating reliability at least suitable for lane-level position detection.
[0012] In yet other examples, the potential classifications can include at least one first potential classification indicating that a position deviation is above a threshold and at least one second potential classification indicating that the position deviation is below the threshold. In yet another example, the threshold can be a first threshold, the at least one second potential classification can indicate that the position deviation is below the first threshold and above a second threshold, and the potential classifications can include at least one third potential classification indicating that the position deviation is below the second threshold.
[0013] A method includes receiving a position deviation of a vehicle and updating a classification of a geographic region in a GNSS deviation map layer based on the position deviation. The position deviation is based on sensor data generated by an environmental sensor on the vehicle, map data, and Global Navigation Satellite System (GNSS) data received at the vehicle. The position deviation indicates a difference between a GNSS pose derived from the GNSS data of the vehicle and a local position of the vehicle indicated by the sensor data and the map data. The GNSS deviation map layer indicates the reliability of the GNSS data.
[0014] In an example, the method can further include: determining the position deviation by detecting a feature in the sensor data, the position deviation indicating a difference between an expected position of the feature based on the GNSS data and a map position of the feature from the map data. In other examples, the method can further include: determining the position deviation by determining an expected position of the feature based on a GNSS pose derived from the GNSS data of the vehicle. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Figure 1 is a block diagram of a system having a remote computer and a plurality of vehicles.
[0016] Figure 2 is an illustration of a feature of an environment of one of the vehicles, as indicated by a sensor of the vehicle and as indicated by map data.
[0017] Figure 3 is an illustration of a Global Navigation Satellite System (GNSS) deviation map layer.
[0018] Figure 4 is a flowchart of an example process for updating a GNSS deviation map layer. DETAILED DESCRIPTION
[0019] Referring to the accompanying drawings, in which like reference numerals indicate like parts throughout the several views, the remote computer 105 includes a processor and a memory, and the memory stores instructions that can be executed by the processor to receive at least one position deviation of at least one vehicle 110 and update the classification of a geographic area 310 in the GNSS deviation map layer 300 based on the position deviation. Each position deviation is based on sensor data generated by an environmental sensor 130 on a corresponding vehicle 110, map data, and Global Navigation Satellite System (GNSS) data received at the vehicle 110. The position deviation indicates the difference between the GNSS attitude derived from the GNSS data of the vehicle 110 and the local position of the vehicle 110 indicated by the sensor data and the map data. The GNSS deviation map layer 300 indicates the reliability of the GNSS data.
[0020] Referring Figure 1 , the system 100 includes a remote computer 105 and a plurality of vehicles 110 communicatively coupled to the remote computer 105. The remote computer 105 is a microprocessor-based computing device, such as a general-purpose computing device including a processor and a memory. The memory of the remote computer 105 may include a medium for storing instructions executable by the processor and for electronically storing data and / or databases, and / or the remote computer 105 may include a structure such as the foregoing structure that provides programming. The remote computer 105 may be a plurality of computers coupled together.
[0021] The remote computer 105 and the vehicles 110 may be communicatively coupled via a network 115. The network 115 represents one or more mechanisms through which the remote computer 105 can communicate with the vehicles 110. Thus, the network 115 may be one or more of various wired or wireless communication mechanisms, including any desired combination of wired (e.g., cable and fiber optic) and / or wireless (e.g., cellular, wireless, satellite, microwave, and radio frequency) communication mechanisms, and any desired network topology (or multiple topologies when utilizing multiple communication mechanisms). Exemplary communication networks include wireless communication networks (e.g., using IEEE 802.11, etc.), local area networks (LANs), and / or wide area networks (WANs) (including the Internet) to provide data communication services.
[0022] The vehicles 110 may be any passenger or commercial vehicle, such as a sedan, truck, sport utility vehicle, crossover vehicle, van, minivan, taxi, bus, etc. Each vehicle 110 may include a vehicle computer 120, a communication network 125, an environmental sensor 130, a GNSS receiver 135, a propulsion system 140, a braking system 145, a steering system 150, a user interface 155, and a transceiver 160.
[0023] The vehicle computer 120 is a microprocessor-based computing device, such as a general-purpose computing device (including a processor and a memory, an electronic controller, etc.), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a combination of the foregoing, etc. Generally, in electronic design automation, hardware description languages such as VHDL (VHSIC (Very High Speed Integrated Circuit) Hardware Description Language) are used to describe digital and mixed-signal systems such as FPGAs and ASICs. For example, an ASIC is manufactured based on the VHDL programming provided before manufacturing, and the logic components inside the FPGA can be configured based on, for example, the VHDL programming stored in a memory electrically connected to the FPGA circuit. Therefore, the vehicle computer 120 may include a processor, a memory, etc. The memory of the vehicle computer 120 may include a medium for storing instructions executable by the processor and for electronically storing data and / or databases, and / or the vehicle computer 120 may include structures such as the foregoing structures that provide programming. The vehicle computer 120 may be multiple computers coupled together on the vehicle 110.
[0024] The vehicle computer 120 can transmit and receive data on the vehicle 110 via the communication network 125. The communication network 125 can be, for example, a controller area network (CAN) bus, Ethernet, WiFi, local interconnect network (LIN), on-board diagnostic connector (OBD-II), and / or any other wired or wireless communication network. The vehicle computer 120 can be communicatively coupled via the communication network 125 to the environmental sensor 130, the GNSS receiver 135, the propulsion system 140, the braking system 145, the steering system 150, the user interface 155, the transceiver 160, and other components.
[0025] The environmental sensor 130 can detect the external world, such as objects and / or characteristics of the environment around the vehicle 110, such as other vehicles, road lane markings, traffic lights and / or signs, road users, etc. For example, the environmental sensor 130 can include a radar sensor, an ultrasonic sensor, a scanning lidar, a light detection and ranging (lidar) device, and an image processing sensor (such as a camera). The radar sensor transmits radio waves and receives the reflections of those radio waves to detect physical objects in the environment. The radar sensor can use direct propagation, that is, measure the time delay between the transmission and reception of radio waves, and / or use indirect propagation, that is, the frequency-modulated continuous wave (FMCW) method, that is, measure the frequency change between the transmitted and received radio waves. The ultrasonic sensor measures the distance to environmental features by emitting ultrasonic waves and converting the reflected sound into an electrical signal. The ultrasonic sensor can be of any suitable type, for example, having a relatively wide horizontal angle and a relatively narrow vertical angle of view. The camera can detect visible light, infrared radiation, ultraviolet light, or a certain range of wavelengths including visible light, infrared light, and / or ultraviolet light. For example, the camera can be a charge-coupled device (CCD), a complementary metal oxide semiconductor (CMOS), or any other suitable type. The lidar device detects the distance to an object by emitting laser pulses of a specific wavelength and measuring the time of flight of the pulse traveling to the object and back. The lidar device can be of any suitable type for providing lidar data on which the vehicle computer 120 can act, for example, a spindle type lidar, a solid-state lidar, a flash lidar, etc.
[0026] The GNSS receiver 135 receives data from the GNSS satellites 165. Systems for GNSS include the Global Positioning System (GPS), GLONASS, Beidou, Galileo, etc. The GNSS satellites 165 broadcast time and geographical location data. The GNSS receiver 135 can determine the GNSS attitude of the vehicle 110, such as latitude and longitude, based on receiving time and geographical location data from multiple GNSS satellites 165 simultaneously and using the trilateration principle.
[0027] The propulsion system 140 of the vehicle 110 generates energy and converts the energy into the movement of the vehicle 110. The propulsion system 140 can be a conventional vehicle propulsion subsystem, for example, a conventional powertrain that includes an internal combustion engine coupled to a transmission that transfers rotational motion to the wheels; an electric powertrain that includes a battery, an electric motor, and a transmission that transfers rotational motion to the wheels; a hybrid powertrain that includes elements of a conventional powertrain and an electric powertrain; or any other type of propulsion device. The propulsion system 140 can include an electronic control unit (ECU) that communicates with and receives inputs from the vehicle computer 120 and / or a human operator. The human operator can control the propulsion system 140 via, for example, an accelerator pedal and / or a gear shifter.
[0028] The braking system 145 is typically a conventional vehicle braking subsystem and resists the movement of the vehicle 110, thereby slowing down and / or stopping the vehicle 110. The braking system 145 can include friction brakes, such as disc brakes, drum brakes, band brakes, etc.; regenerative brakes; any other suitable type of brakes; or combinations thereof. The braking system 145 can include an electronic control unit (ECU) that communicates with and receives inputs from the vehicle computer 120 and / or a human operator. The human operator can control the braking system 145 via, for example, a brake pedal.
[0029] The steering system 150 is typically a conventional vehicle steering subsystem and controls the turning of the wheels. The steering system 150 can be a rack and pinion system with electric power steering, a steer-by-wire system (both of which are known), or any other suitable system. The steering system 150 can include an electronic control unit (ECU) that communicates with and receives inputs from the vehicle computer 120 and / or a human operator. The human operator can control the steering system 150 via, for example, a steering wheel.
[0030] The user interface 155 presents information to and receives information from the operator of the vehicle 110. The user interface 155 can be located, for example, on the dashboard in the passenger compartment of the vehicle 110, or anywhere where the operator can easily see it. The user interface 155 can include gauges, digital readouts, screens, speakers, etc. for providing information to the operator, for example, such as known human-machine interface (HMI) elements. The user interface 155 can include buttons, knobs, keypads, microphones, etc. for receiving information from the operator.
[0031] The transceiver 160 connects the vehicle 110 to the remote computer 105 via the network 115. The transceiver 160 can be adapted to communicate via any suitable wireless communication protocol, such as cellular, Wirelessly transmit signals such as low power consumption (BLE), ultra-wideband (UWB), WiFi, IEEE 802.11a / b / g / p, cellular-V2X (CV2X), dedicated short-range communication (DSRC), other RF (radio frequency) communications, etc. The transceiver 160 can be adapted to communicate with a remote server (i.e., a server different from and spaced apart from the vehicle 110). The remote server can be located outside the vehicle 110, such as, for example, a remote computer 105. For example, the remote server can be associated with another vehicle (e.g., V2V communication), associated with an infrastructure component (e.g., V2I communication), associated with an emergency responder, associated with a mobile device associated with the owner of the vehicle 110, etc. The transceiver 160 can be a single device or can include separate transmitter and receiver.
[0032] Reference Figure 2 , the position deviation indicates the difference between the GNSS attitude derived from the GNSS data of the vehicle 110 and the local position of the vehicle 110 indicated by the sensor data and the map data. In other words, the position deviation provides a measure of the accuracy of the GNSS attitude, where the combination of the sensor data and the map data is used as a baseline. In addition to the covariance of the GNSS data (described below), the position deviation can also be used as an additional way to evaluate the GNSS attitude, which may not always indicate a situation of reduced accuracy.
[0033] As an overall overview, the vehicle computer 120 or the remote computer 105 can determine the position deviation of the vehicle 110 based on the sensor data generated by the environmental sensors 130 on the vehicle 110, the map data, and the GNSS data received at the vehicle 110. The vehicle computer 120 or the GNSS receiver 135 determines the GNSS attitude of the vehicle 110. The vehicle computer 120 or the remote computer 105 can access the map data indicating the map location 205 of the features of the environment around the vehicle 110. The vehicle computer 120 or the remote computer 105 detects the features in the sensor data from the environmental sensors 130, determines the expected position 210 of the features based on the GNSS attitude of the vehicle 110, and executes an optimization algorithm that matches the expected position 210 of the features with the map features 205 of the features. The position deviation is the difference between the expected position 210 and the map position 205.
[0034] For example, each vehicle computer 120 can determine the position deviation of the corresponding vehicle 110 and transmit the position deviation to the remote computer 105. This arrangement can distribute the computational steps among the vehicles 110 and provide a manageable level of computational steps for the remote computer 105 to perform to generate the GNSS deviation map layer 300 (described below). Alternatively, each vehicle computer 120 can transmit the GNSS attitude and sensor data from the environmental sensor 130 to the remote computer 105, and the remote computer 105 can determine the position deviation of all the vehicles 110.
[0035] The vehicle computer 120 or the GNSS receiver 135 determines the GNSS attitude of the vehicle 110 based on the GNSS data received by the GNSS receiver 135 of the vehicle 110. The GNSS attitude describes the position and / or orientation of the vehicle 110, for example, two horizontal spatial dimensions (such as latitude and longitude) and one angular dimension (such as heading), or three spatial dimensions and three angular dimensions. As is known, the vehicle computer 120 or the GNSS receiver 135 uses trilateration to determine the GNSS attitude. The GNSS attitude can be specified in the absolute coordinate system 200 (i.e., a coordinate system fixed relative to the Earth).
[0036] The vehicle computer 120 or the remote computer 105 receives sensor data from the environmental sensor 130. The sensor data can be, for example, image data and / or distance data.
[0037] The image data is a series of image frames of the field of view of the corresponding environmental sensor 130 (e.g., a camera). Each image frame is a two-dimensional pixel matrix. The brightness or color of each pixel is represented as one or more numerical values, for example, a scalar unitless value of photometric light intensity between 0 (black) and 1 (white), or the values of each of red, green, and blue, for example, each on an 8-bit scale (0 to 255) or a 12-bit or 16-bit scale. The pixels can be a mixed representation, such as a repeating pattern of three pixels and a scalar value of the intensity of a fourth pixel with three numerical color values, or some other pattern. The position in the image frame (i.e., the position in the field of view of the environmental sensor 130 when the image frame is recorded) can be specified in pixel dimensions or coordinates, for example, a pair of ordered pixel distances, such as a number of pixels from the top edge of the image frame and a number of pixels from the left edge of the image frame.
[0038] The distance data can be, for example, a point cloud. The points of the point cloud can specify corresponding positions in the environment relative to the environment sensor 130 (e.g., a radar sensor, a lidar device, or an ultrasonic sensor). For example, the distance data can be in spherical coordinates, where the environment sensor 130 is located at the origin of the spherical coordinate system. The spherical coordinates can include: a radial distance, i.e., the measured depth from the environment sensor 130 to the point measured by the environment sensor; a polar angle, i.e., the angle from the vertical axis passing through the environment sensor 130 to the point measured by the environment sensor; and an azimuth angle, i.e., the angle in the horizontal plane from the horizontal axis passing through the environment sensor 130 to the point measured by the environment sensor 130. The horizontal axis can be, for example, along the vehicle forward direction. Alternatively, the environment sensor 130 can return the points as Cartesian coordinates at the origin of the environment sensor 130 or as coordinates in any other suitable coordinate system, or the vehicle computer 120 or the remote computer 105 can convert the spherical coordinates to Cartesian coordinates or another coordinate system after receiving the distance data.
[0039] Features can include objects or structures included in the map data. For example, features can include traffic lights, traffic signs, lane boundaries, guardrails, buildings, etc.
[0040] The vehicle computer 120 or the remote computer 105 can use conventional image recognition techniques (e.g., a convolutional neural network) to detect features in the image data, and the convolutional neural network is programmed to accept an image as input and output an identification. The convolutional neural network includes a series of layers, where each layer uses the previous layer as input. Each layer contains multiple neurons, and the multiple neurons receive as input the data generated by a subset of the neurons of the previous layer and generate an output that is transmitted to the neurons in the next layer. The types of layers include: a convolutional layer that calculates the dot product of weights and input data in a small area; a pooling layer that performs a downsampling operation along the spatial dimension; and a fully connected layer that is generated based on the outputs of all the neurons of the previous layer. The last layer of the convolutional neural network generates a score for each potential identification of the feature, and the final output is the identification with the highest score. The vehicle computer 120 or the remote computer 105 can use similar machine learning techniques for the distance data.
[0041] The vehicle computer 120 or the remote computer 105 may perform sensor fusion of the image data and the distance data. Sensor fusion is the combination of data from different sources such that the uncertainty of the resulting data is lower than when using the data from each source alone (e.g., in terms of creating a unified model of the environment around the vehicle 110). Sensor fusion may be performed using one or more algorithms such as Kalman filters, the central limit theorem, Bayesian networks, Dempster–Shafer theory, convolutional neural networks, and the like. Due to sensor fusion, the distance data may be associated with features identified from the image data.
[0042] The vehicle computer 120 or the remote computer 105 is programmed to determine an expected position 210 of a feature based on the GNSS pose of the vehicle 110. For example, the vehicle computer 120 or the remote computer 105 may perform a geometric transformation on the distance data of the feature. The distance data may be specified in a relative coordinate system defined with respect to the vehicle 110, thereby giving the relative position of the feature. Treating the relative position of the feature as a vector, the relative position may be rotated according to the angular dimensions of the GNSS pose of the vehicle 110 and added to the position from the GNSS pose, thereby yielding the expected position 210 of the feature in the absolute coordinate system 200. The expected position 210 is in the same coordinate system 200 as the map position 205 and may thus be comparable to the map position 205.
[0043] The vehicle computer 120 or the remote computer 105 may receive map data or may have stored map data in a memory. The map data may include the map position 205 of a feature. The map position 205 may be specified with coordinates in the same coordinate system 200 as the GNSS pose.
[0044] The vehicle computer 120 or the remote computer 105 is programmed to determine a position deviation based on the expected position 210 of the feature and the map position 205. The position deviation is the deviation between the expected position 210 of the feature based on GNSS data and the map position 205 of the feature from the map data. For example, the position deviation may be the geometric transformation that most closely transforms the expected position 210 to the corresponding map position 205 (or vice versa). The geometric transformation may include rotation and translation, which are applied to the expected position 210 such that the expected position 210 coincides or nearly coincides with the map position 205. When applied to the GNSS pose, the geometric transformation will generate the pose implied by positioning the vehicle 110 relative to the map data using sensor data. Thus, the position deviation indicates the difference between the GNSS pose of the vehicle 110 and the local position of the vehicle 110 indicated by the sensor data and the map data.
[0045] The vehicle computer 120 or the remote computer 105 can determine the position deviation by executing an optimization algorithm that matches the expected position 210 with the map position 205. The optimization algorithm receives the expected position 210 and the map position 205 as inputs and returns a geometric transformation as an output. The optimization algorithm finds the geometric transformation that minimizes the difference between the expected position 210 and the map position 205. The optimization algorithm can be any suitable algorithm for optimization (e.g., for non-linear optimization such as non-linear least squares regression). The optimization algorithm can alternatively be a machine learning algorithm such as a neural network, e.g., a deep neural network, an artificial neural network, a convolutional neural network, a recurrent neural network, etc.; a support vector machine; a decision tree; etc.
[0046] Reference Figure 3 ,The remote computer 105 uses the multiple position deviations from the multiple vehicles 110 to construct and update the GNSS deviation map layer 300. The term "map layer" is used as a database in its geographic information system (GIS) sense, which includes a set of image or point, line, or area features that represent a category or type of entity and are associated with a specific geographic location. For example, a map data set can include map layers indicating streets, jurisdictional boundaries, political boundaries, traffic, weather, satellite images, elevation, etc. The GNSS deviation map layer 300 indicates the reliability of the GNSS data. For example, the GNSS deviation map layer 300 can include classifications applied to a geographic region 310, where each classification defines a reliability range for the corresponding geographic region 310, as will be described in more detail below.
[0047] The remote computer 105 can receive GNSS covariance. GNSS covariance is a measure of the variability of GNSS data. The GNSS covariance can be the output of the GNSS receiver 135 at each vehicle 110. Alternatively, the GNSS receiver 135 can output different uncertainty measurements, and the vehicle computer 120 can be programmed to derive the GNSS covariance from the uncertainty measurements from the GNSS receiver 135. The vehicle computer 120 can be programmed to instruct the transceiver 160 to transmit the GNSS covariance, e.g., together with the position deviation or together with the GNSS attitude and sensor data, to the remote computer 105.
[0048] The memory of the remote computer 105 can store a set of potential classifications that can be applied to the GNSS deviation map layer 300. The potential classifications can indicate whether the reliability of the GNSS data is suitable for position detection at different accuracy levels, e.g., from more accurate to less accurate: suitable for lane-level position detection, suitable for road-level position detection, and not suitable for road-level position detection. The applicability of position detection can be indicated by the position deviation and possibly the GNSS covariance.
[0049] For example, potential classes can be divided based on one or more thresholds of position deviation (e.g., two thresholds). The thresholds can be selected to correspond to the applicability of vehicle operation. For example, a first threshold that divides between suitable for road-level position detection and not suitable for road-level position detection, and a second threshold that divides between suitable for lane-level position detection and suitable for road-level position detection. The thresholds can be selected based on known tolerances for navigating vehicle 110 on road 305 or in a lane, e.g., 5 meters for road-level position detection and 1.5 meters for lane-level position detection.
[0050] Potential classifications can also be divided based on one or more thresholds of GNSS covariance (e.g., one threshold that will be referred to as the third threshold). The third threshold can be selected to correspond to the applicability of vehicle operation, e.g., to divide between suitable for road-level position detection and not suitable for road-level detection. Remote computer 105 can store a potential classification for each combination of the level of position deviation and the level of GNSS covariance. For example, six potential classifications for an example of three levels of position deviation and two levels of GNSS covariance: (1) a first potential classification where the position deviation is above the first threshold and the GNSS covariance is above the third threshold, (2) a second potential classification where the position deviation is between the first threshold and the second threshold and the GNSS covariance is above the third threshold, (3) a third potential classification where the position deviation is below the second threshold and the GNSS covariance is above the third threshold, (4) a fourth potential classification where the position deviation is above the first threshold and the GNSS covariance is below the third threshold, (5) a fifth potential classification where the position deviation is between the first threshold and the second threshold and the GNSS covariance is below the third threshold, and (6) a sixth potential classification where the position deviation is below the second threshold and the GNSS covariance is below the third threshold.
[0051] The GNSS deviation map layer 300 can include classifications applied to the geographic region 310, and the remote computer 105 can update the classifications by selecting a classification from the potential classifications stored in the memory according to the criteria described below. The geographic region 310 to which the classification is applied can cover the entire area of the map, or can be limited to the area on which vehicle 110 may travel, e.g., along road 305 as Figure 3 shown. The classification of the GNSS deviation map layer 300 can be initialized to the most recent classification of the corresponding geographic region 310, or if not, to a default classification. For position deviations below the second threshold and covariances below the third threshold, the default classification can be a potential classification indicating the applicability of lane-level position detection, e.g., the sixth potential classification described above.
[0052] The remote computer 105 is programmed to update the classification in the GNSS deviation map layer 300 based on the position deviation. As a general overview, the remote computer 105 receives multiple position deviations from multiple vehicles 110. The remote computer 105 updates the classification of the geographical area 310 that includes the vehicle 110 to match the position deviation and covariance received from the corresponding vehicle 110. For the geographical area 310 where none of the vehicles 110 are present, the remote computer 105 may maintain the classification at the same value as before the update, or update the classification by performing a machine learning program that generates an output indicating the expected classification; for example, the remote computer 105 selects whether to maintain the classification or perform the machine learning program based on the value of the classification before the update or the preset category of the geographical area 310.
[0053] The remote computer 105 is programmed to receive the position deviation and GNSS covariance from the vehicle 110, and update the classification of the geographical area 310 in the GNSS deviation map layer 300 based on the position deviation and GNSS covariance. The remote computer 105 may update the classification of the geographical area 310 that includes the vehicle 110 based on the position deviation and GNSS covariance by selecting a classification from multiple preset potential classifications stored in the memory according to the position deviation and GNSS covariance. The remote computer 105 may select a potential classification where the position deviation and GNSS covariance are within a threshold range; for example, select the second potential classification in response to the position deviation being between the first threshold and the second threshold and the GNSS covariance exceeding the third threshold, select the fourth potential classification in response to the position deviation exceeding the first threshold and the GNSS covariance being lower than the third threshold, etc. When a geographical area 310 has multiple vehicles 110 for which different classifications will be selected for it, the remote computer 105 may update the classification of the geographical area 310 to the less reliable one among the classifications. Alternatively, the remote computer 105 may divide the geographical area 310 into two geographical areas 310 each containing one vehicle 110, and update the classification of each geographical area 310 based on the position deviation and GNSS covariance received from the vehicle 110 in the corresponding geographical area 310.
[0054] The remote computer 105 can be programmed to determine, for each geographical region 310 that does not have any of the vehicles 110, whether to maintain the classification at the same value as before the update or to update the classification by executing a machine learning program (both are described below). The determination can depend on the value of the classification before the update. For example, the remote computer 105 can maintain the classification in response to the classification before the update indicating that the reliability of the GNSS data is high (e.g., the classification before the update is the fifth potential classification or the sixth potential classification), and the remote computer 105 can update the classification with a machine learning program in response to the classification before the update indicating that the reliability of the GNSS data is low (e.g., the classification before the update is the first, second, third, or fourth potential classification). Alternatively, the determination can depend on a preset category of the geographical region 310. The preset category of the geographical region 310 can be selected based on whether the GNSS data of the geographical region 310 generally has high reliability (e.g., a generally flat area) or sometimes has lower reliability (e.g., an urban area with high-rise buildings). The preset category of the geographical region 310 can be stored in the memory of the remote computer 105. The remote computer 105 can maintain the classification in response to the geographical region 310 being in the high-reliability category, and the remote computer 105 can update the classification with a machine learning program in response to the geographical region 310 being in the lower-reliability category.
[0055] The remote computer 105 is programmed to update the classification of the geographical region 310 by executing a machine learning program. The machine learning program generates an output indicating the expected classification. For example, the machine learning program can directly output the expected classification and then use the expected classification as the classification of the geographical region 310. As another example, the machine learning program can output the expected position deviation of the geographical region 310. Then, the remote computer 105 can select a category from a plurality of preset potential categories stored in the memory according to the expected position deviation. For example, the remote computer 105 can select a potential classification where the expected position deviation is within a threshold range (assuming low GNSS covariance), such as selecting the fourth potential classification in response to the expected position deviation exceeding a first threshold, selecting the fifth potential classification in response to the expected position deviation being between the first threshold and the second threshold, and so on.
[0056] The remote computer 105 is programmed to execute a machine learning program. The machine learning program can be any suitable type for predicting the position deviation that the vehicle 110 will return when traveling through the geographical region 310. For example, the machine learning program can be a convolutional neural network that outputs a selected potential classification among the potential classifications. As another example, the machine learning program can be a regression network that outputs a numerical value of the expected position deviation.
[0057] A machine learning program can take as input a geographical region 310, elevation data of the geographical region 310, weather data of the geographical region 310, the current position and orbit of GNSS satellite 165, etc. The elevation data can be stored in the memory of the remote computer 105 and can be derived from, for example, a topographic map of the geographical region 310. The weather data can be received by the remote computer 105 via the network 115. The weather data can include data indicating cloud cover conditions and / or an atmospheric model. The remote computer 105 can track the current position of the GNSS satellite 165 since the orbit is known in advance.
[0058] The machine learning program can initially be trained to replicate the position deviations returned by the vehicle 110 or the categories determined based on those position deviations. The training data can be a set of position deviations paired with the corresponding values of the inputs when those position deviations were generated. For example, the geographical region 310 where the position deviations were generated, the elevation data of that geographical region 310, the weather in the geographical region 310 when the position deviations were generated, and the position of the GNSS satellite 165 when the position deviations were generated. This set of position deviations serves as the ground truth for training the machine learning program to replicate. The machine learning program can be trained via, for example, backpropagation.
[0059] After the machine learning program is initially trained and installed on the remote computer 105, the remote computer 105 can also use the position deviations received by the remote computer 105 as training data to train the machine learning program. The retraining performed by the remote computer 105 can be executed in the same manner as the initial training (e.g., backpropagation).
[0060] The remote computer 105 can be programmed to transmit the GNSS deviation map layer 300, for example, via the network 115 when updating the classification in the GNSS deviation map layer 300. For example, the remote computer 105 can transmit the GNSS deviation map layer 300 to the vehicle 110. The remote computer 105 can combine the GNSS deviation map layer 300 with other map layers and transmit the combined map data as a single transmission to the vehicle 110. The remote computer 105 can transmit the GNSS deviation map layer 300 (possibly as part of the combined map data) to other computing devices other than the vehicle 110 that use GNSS-based navigation or map construction applications.
[0061] The vehicle computer 120 can be programmed to actuate components of the vehicle 110 based on the GNSS deviation map layer 300. The components can include, for example, a propulsion system 140, a braking system 145, a steering system 150, and / or a user interface 155. For example, when the user interface 155 is displaying navigation instructions, the vehicle computer 120 can instruct the user interface 155 to display a message indicating the classification of the geographical area 310 through which the vehicle 110 is traveling. As another example, the vehicle computer 120 can actuate components when performing an Advanced Driver Assistance System (ADAS). ADAS is a group of electronic technologies that assist the driver in achieving driving functions and parking functions. Examples of ADAS include forward proximity detection, lane departure detection, blind spot detection, brake actuation, adaptive cruise control, and lane keeping assistance systems. As an example, the GNSS deviation map layer 300 may affect the operation of the automatic lane change feature. The vehicle computer 120 can perform the automatic lane change feature by instructing the steering system 150 to guide the vehicle 110 from the current lane to a target lane adjacent to the current lane in response to input from an operator and sensor data indicating that the target lane is clear. The automatic lane change feature can be active when the adaptive cruise control and lane keeping assistance systems are active. The vehicle computer 120 can deactivate the automatic lane change feature in response to the GNSS deviation map layer 300 indicating that the geographical area 310 through which the vehicle 110 is traveling has a classification (e.g., first through fifth potential classifications) that is not suitable for lane-level position detection (e.g., only suitable for road-level position detection or not suitable for road-level position detection). The vehicle computer 120 can maintain the automatic lane change feature as active in response to the GNSS deviation map layer 300 indicating that the geographical area 310 through which the vehicle 110 is traveling has a classification that is suitable for lane-level position detection (e.g., sixth potential classification). Alternatively, the vehicle computer 120 can perform the automatic lane change feature based on GNSS data and sensor data in response to the GNSS deviation map layer 300 indicating that the geographical area 310 has a classification that is suitable for lane-level position detection, and the vehicle computer 120 can perform the automatic lane change feature based on sensor data rather than GNSS data in response to the GNSS deviation map layer 300 indicating that the geographical area 310 has a classification that is not suitable for lane-level position detection.
[0062] Figure 4is a flowchart showing an example process 400 for updating a GNSS deviation map layer 300. The memory of the computer stores executable instructions for performing the steps of process 400, and / or the programming can be implemented in a structure such as that mentioned above. As an overall overview of process 400, the vehicle computer 120 receives sensor data and GNSS data and determines the GNSS attitude of the vehicle 110. The vehicle computer 120 or the remote computer 105 detects features in the sensor data, determines the expected location 210 of the features, and determines the location deviation. The foregoing steps can be performed independently by each vehicle computer 120, and / or the foregoing steps can be performed once by the remote computer 105 for each vehicle 110. The remote computer 105 collects the location deviations from multiple vehicles 110, updates the classification in the GNSS deviation map layer 300 for the geographical area 310 containing the vehicle 110, updates the classification in the GNSS deviation map layer 300 for other geographical areas 310 by executing a machine learning program, maintains the classification of the remaining geographical areas 310 at the same value as before the update, transmits the GNSS deviation map layer 300, and trains the machine learning program. The vehicle computer 120 actuates components based on the GNSS deviation map layer 300.
[0063] Process 400 begins at block 405, where the vehicle computer 120 receives sensor data from sensors and GNSS data from the GNSS receiver 135, as described above.
[0064] Next, at block 410, the vehicle computer 120 determines the GNSS attitude of the vehicle 110, as described above.
[0065] Next, at block 415, the vehicle computer 120 or the remote computer 105 detects features in the sensor data, as described above.
[0066] Next, at block 420, the vehicle computer 120 or the remote computer 105 determines the expected location 210 of the features based on the sensor data showing the features and the GNSS attitude, as described above.
[0067] Next, at block 425, the vehicle computer 120 or the remote computer 105 determines the location deviation of the vehicle 110 based on the expected location 210 of the features and the map location 205, as described above.
[0068] Next, at block 430, the remote computer 105 receives the location deviation of the vehicle 110, as described above.
[0069] Next, at block 435, the remote computer 105 updates the classification of the geographical area 310 containing the vehicle 110 to match the location deviation and covariance received from the corresponding vehicle 110, as described above.
[0070] Next, in block 440, the remote computer 105 updates the classification of some or all of the geographical regions 310 that do not have any of the vehicles 110 by executing a machine learning program, as described above.
[0071] Next, in block 445, the remote computer 105 maintains the classification of any geographical regions 310 that do not have any of the vehicles 110 and that were not updated in block 440, as described above.
[0072] Next, in block 450, the remote computer 105 transmits the GNSS deviation map layer 300 to the vehicles 110 and possibly other devices, as described above.
[0073] Next, in block 455, the remote computer 105 updates the training of the machine learning program, as described above.
[0074] Next, in block 460, the vehicle computer 120 actuates components based on the GNSS deviation map layer 300, as described above. After block 460, process 400 ends.
[0075] In general, the described computing systems and / or devices may employ any of a number of computer operating systems, including but by no means limited to the following versions and / or variants: Ford Applications, AppLink / SmartDevice Link middleware, Operating Systems, Microsoft Operating Systems, Unix operating systems (e.g., the operating system released by Oracle Corporation of Redwood Shores, California), the AIX UNIX operating system released by International Business Machines Corporation of Armonk, New York, Linux operating systems, the Mac OSX and iOS operating systems released by Apple Inc. of Cupertino, California, the BlackBerry OS released by BlackBerry Limited of Waterloo, Canada, and the Android operating system developed by Google Inc. and the Open Handset Alliance, or the CAR Platform for infotainment provided by QNX Software Systems. Examples of computing devices include but are not limited to in-vehicle computers, computer workstations, servers, desktops, notebooks, laptop computers, or handheld computers, or some other computing system and / or device.
[0076] Computing devices generally include computer-executable instructions, which can be executed by one or more computing devices such as those listed above. Computer-executable instructions can be compiled or interpreted from computer programs created using a variety of programming languages and / or technologies, which alone or in combination include but are not limited to Java TM 、C, C++, Matlab, Simulink, Stateflow, Visual Basic, Java Script, Python, Perl, HTML, etc. Some of these applications can be compiled and executed on virtual machines such as Java Virtual Machine, Dalvik Virtual Machine, etc. Generally, a processor (e.g., a microprocessor) receives instructions from, for example, a memory, a computer-readable medium, etc., and executes these instructions, thereby performing one or more processes, including one or more of the processes described herein. Such instructions and other data can be stored and transmitted using a variety of computer-readable media. Files in a computing device are usually a collection of data stored on a computer-readable medium such as a storage medium, a random access memory, etc.
[0077] A computer-readable medium (also referred to as a processor-readable medium) includes any non-transitory (e.g., tangible) medium that participates in providing data (e.g., instructions) that can be read by a computer (e.g., by a processor of the computer). Such media can take many forms, including but not limited to non-volatile media and volatile media. Instructions can be transmitted through one or more transmission media, which include optical fibers, wires, wireless communications, including internal components that make up a system bus coupled to a processor of a computer. Common forms of computer-readable media include, for example, RAM, PROM, EPROM, FLASH-EEPROM, any other memory chip or cartridge, or any other medium from which a computer can read.
[0078] The databases, data repositories, or other data stores described herein can include various mechanisms for storing, accessing / retrieving, and retrieving various data, including hierarchical databases, sets of files in a file system, application databases in a dedicated format, relational database management systems (RDBMS), non-relational databases (NoSQL), graph databases (GDB), etc. Each such data store is usually included within a computing device that employs a computer operating system such as one of those mentioned above, and is accessed via a network in any one or more of various ways. A file system can be accessed from a computer operating system and can include files stored in various formats. In addition to languages (such as the PL / SQL language mentioned above) for creating, storing, editing, and executing stored programs, an RDBMS typically also employs the Structured Query Language (SQL).
[0079] In some examples, system components may be implemented as computer-readable instructions (e.g., software) on one or more computing devices (e.g., servers, personal computers, etc.) and stored on a computer-readable medium associated therewith (e.g., disks, memories, etc.). A computer program product may include such instructions stored on a computer-readable medium for performing the functions described herein.
[0080] In the drawings, like reference numerals indicate like elements. Additionally, some or all of these elements may be changed. With respect to the media, processes, systems, methods, heuristics, etc. described herein, it should be understood that while the steps of such processes, etc. have been described as occurring in a certain ordered sequence, such processes may be practiced by performing the steps in an order different from that described herein. It should also be understood that certain steps may be performed simultaneously, other steps may be added, or certain steps described herein may be omitted. The operations, systems, and methods described herein should always be implemented and / or performed in accordance with the applicable owner / user manuals and / or safety guidelines.
[0081] The present disclosure has been described in an illustrative manner, and it should be understood that the terms used are of a descriptive nature and not of a limiting nature. The adjectives "first," "second," "third," etc. are used throughout this document as identifiers and are not intended to denote importance, order, or quantity. The use of "in response to," "after determining...," etc. indicates a causal relationship and not merely a temporal relationship. Given the above teachings, many modifications and variations of the present disclosure are possible, and the present disclosure may be practiced in other ways than specifically described.
[0082] According to the present invention, there is provided a computer having a processor and a memory, the memory storing instructions executable by the processor to: receive a position deviation of a vehicle, the position deviation being based on sensor data generated by an environmental sensor on the vehicle, map data, and global navigation satellite system (GNSS) data received at the vehicle, the position deviation indicating a difference between a GNSS attitude derived from the GNSS data of the vehicle and a local position of the vehicle indicated by the sensor data and the map data; and update a classification of a geographical area in a GNSS deviation map layer based on the position deviation, the GNSS deviation map layer indicating the reliability of the GNSS data.
[0083] According to an embodiment, the instructions further include instructions for: updating the classification based on the position deviation and based on a covariance of the GNSS data received at the vehicle.
[0084] According to an embodiment, the instructions further include instructions for performing the following operations: selecting a first potential classification as the classification in response to the position deviation exceeding a first threshold and the covariance being lower than a second threshold, and selecting a second potential classification as the classification in response to the position deviation exceeding the first threshold and the covariance exceeding the second threshold.
[0085] According to an embodiment, the vehicle is the first vehicle among a plurality of vehicles, the position deviation is the first position deviation among the plurality of position deviations of the corresponding vehicle, the classification is the first classification among the plurality of classifications of the GNSS deviation map layer, and the instructions further include instructions for updating the classification based on the position deviation.
[0086] According to an embodiment, the geographical region is a first geographical region, the classification includes a second classification of a second geographical region in which none of the vehicles are present, and the instructions further include instructions for updating the second classification by executing a machine learning program that generates an output indicating an expected classification.
[0087] According to an embodiment, the instructions further include instructions for training a machine learning program with the position deviation as training data.
[0088] According to an embodiment, the instructions further include instructions for performing the following operations: updating the second classification by executing a machine learning program in response to the second classification of the second geographical region indicating low reliability of GNSS data before the update.
[0089] According to an embodiment, the geographical region is a first geographical region, the classification includes a second classification of a second geographical region in which none of the vehicles are present, and the instructions further include instructions for performing the following operations: maintaining the second classification at the same value as before the update in response to the second classification of the second geographical region indicating high reliability of GNSS data before the update.
[0090] According to an embodiment, the instructions further include instructions for determining the position deviation based on sensor data, map data, and GNSS data.
[0091] According to an embodiment, the instructions further include instructions for performing the following operations: determining the position deviation by detecting a feature in the sensor data, where the position deviation is the difference between the expected position of the feature based on GNSS data and the map position of the feature from the map data.
[0092] According to an embodiment, the instructions further include instructions for performing the following operations: determining the position deviation by determining the expected position of the feature based on the GNSS attitude of the vehicle derived from the GNSS data.
[0093] According to an embodiment, the instructions further include instructions for performing the following operations: determining a position deviation by executing an optimization algorithm that matches an expected position with a map position.
[0094] According to an embodiment, the instructions further include instructions for performing the following operations: selecting a classification from a plurality of preset potential classifications stored in a memory.
[0095] According to an embodiment, the potential classifications include at least one first potential classification indicating that the reliability is at least suitable for road-level position detection and at least one second potential classification indicating that the reliability is not suitable for road-level position detection.
[0096] According to an embodiment, the potential classifications include at least one third potential classification indicating that the reliability is at least suitable for lane-level position detection.
[0097] According to an embodiment, the potential classifications include at least one first potential classification indicating that the position deviation is higher than a threshold and at least one second potential classification indicating that the position deviation is lower than the threshold.
[0098] According to an embodiment, the threshold is a first threshold, at least one second potential classification indicates that the position deviation is lower than the first threshold and higher than a second threshold, and the potential classifications include at least one third potential classification indicating that the position deviation is lower than the second threshold.
[0099] According to the present invention, a method includes: receiving a position deviation of a vehicle, the position deviation being based on sensor data generated by an environmental sensor on the vehicle, map data, and global navigation satellite system (GNSS) data received at the vehicle, the position deviation indicating a difference between a GNSS attitude derived from the GNSS data of the vehicle and a local position of the vehicle indicated by the sensor data and the map data; and updating a classification of a geographical area in a GNSS deviation map layer based on the position deviation, the GNSS deviation map layer indicating the reliability of the GNSS data.
[0100] In one aspect of the present invention, the method includes: determining a position deviation by detecting a feature in the sensor data, the position deviation indicating a difference between an expected position of the feature based on the GNSS data and a map position of the feature from the map data.
[0101] In one aspect of the present invention, the method includes: determining a position deviation by determining an expected position of a feature based on a GNSS attitude derived from GNSS data of the vehicle.
Claims
1. A method, comprising: receiving a position deviation of a vehicle, the position deviation being based on sensor data generated by an environmental sensor on the vehicle and global navigation satellite system (GNSS) data received at the vehicle, the position deviation indicating a difference between a GNSS attitude derived from the GNSS data of the vehicle and a local position of the vehicle indicated by the sensor data and the map data; and updating a classification of a geographic area in a GNSS deviation map layer based on the position deviation, the GNSS deviation map layer indicating the reliability of the GNSS data.
2. The method according to claim 1, further comprising: Updating the classification based on the position deviation and based on a covariance of the GNSS data received at the vehicle.
3. The method according to claim 2, further comprising: Selecting a first potential classification as the classification in response to the position deviation exceeding a first threshold and the covariance being lower than a second threshold, and selecting a second potential classification as the classification in response to the position deviation exceeding the first threshold and the covariance exceeding the second threshold.
4. The method according to claim 1, wherein the vehicle is a first vehicle among a plurality of vehicles, the position deviation is a first position deviation among a plurality of position deviations of the corresponding vehicles, and the classification is a first classification among a plurality of classifications of the GNSS deviation map layer, the method further comprising updating the classification based on the position deviation.
5. The method according to claim 4, wherein the geographic area is a first geographic area, and the classification includes a second classification of a second geographic area without any of the vehicles, the method further comprising updating the second classification by executing a machine learning program that generates an output indicating an expected classification.
6. The method according to claim 5, further comprising training the machine learning program with the position deviation as training data.
7. The method according to claim 4, wherein the geographic area is a first geographic area, and the classification includes a second classification of a second geographic area without any of the vehicles, the method further comprising maintaining the second classification at the same value as before the update in response to the second classification of the second geographic area indicating a high reliability of the GNSS data before the update.
8. The method according to claim 1, further comprising determining the position deviation based on the sensor data, the map data, and the GNSS data.
9. The method according to claim 8, further comprising: Determining the position deviation by detecting a feature in the sensor data, the position deviation being a difference between an expected position of the feature based on the GNSS data and a map position of the feature from the map data.
10. The method according to claim 9, further comprising: Determining the position deviation by determining the expected position of the feature based on the GNSS attitude derived from the GNSS data of the vehicle.
11. The method according to claim 10, further comprising: Determining the position deviation by executing an optimization algorithm that matches the expected position with the map position.
12. The method according to claim 1, further comprising selecting the classification from a plurality of preset potential classifications stored in the memory.
13. The method according to claim 12, wherein the potential classification includes at least one first potential classification indicating that the reliability is at least suitable for road-level position detection and at least one second potential classification indicating that the reliability is not suitable for road-level position detection.
14. The method according to claim 13, wherein the potential classification includes at least one third potential classification indicating that the reliability is at least suitable for lane-level position detection.
15. A computer comprising a processor and a memory, the memory storing instructions executable by the processor to perform the method according to any one of claims 1 to 14.