Patent Description:
Today's map are mainly designed for human use. More specifically, they are intended to be used for turn-by-turn navigation purposes. Other environmental information, such as the type and location of lane markers, any debris lying on the road and road maintenance obstructions, is visually obtained by the map user as he/she navigates through the roads. Autonomous vehicles, however, require very different maps. More specifically, these maps need to be in high-definition (HD), providing the "robots" with very precise localization and the possibility to perceive the environment. The HD maps will also need to be updated continuously, to track events such as road accidents or traffic congestion.

Furthermore, just as the vehicle needs minute information about its environment, it needs to know its position on the road. This problem of identifying one's position on the road, is called map matching, and can more formally be described as the procedure of matching location data to a digital map in order to obtain the true position in a road network. Map matching can be considered to be an important aspect for navigation and route guidance systems.

Existing solutions, built on e.g. probability theory, fuzzy logic theory and belief theory, are used to map GPS coordinates to a certain road segment in order to give information about the surroundings of a vehicle.

However, there is a need for new and improved solutions which provide more accurate and robust map matching, by e.g. compensating for the noise nature of GPS signals.

<CIT> discloses that traversing a vehicle transportation network, by a vehicle, may include determining vehicle operational information, determining a metric location estimate for the vehicle using the vehicle operational information, determining operational environment information of a portion of the vehicle transportation network, determining a topological location estimate for the vehicle within the vehicle transportation network using the metric location estimate and the operational environment information, and traversing the vehicle transportation network based on the topological location estimate for the vehicle. The operational environment information can include sensor data of a portion of the vehicle transportation network that is observable to the vehicle. The sensor data can comprise remote vehicle location data. To determine the metric location estimate, a non-linear loss function with a Kalman filter may mitigate effects of un-modeled sensor error(s). This document also discloses techniques using Hidden Markov Models and the Earth Mover's Distance to determine the topological location estimate.

<NPL> discloses Variable Structure Multiple Hidden Markov Model (VSM-HMM) as a framework for localizing in the presence of topological uncertainty, and demonstrate its effectiveness on an AV where lane membership is modeled as a topological localization process. VSM-HMMs use a dynamic set of HMMs to simultaneously reason about location within a set of most likely current topologies and therefore may also be applied to topological structure estimation as well as AV lane estimation. In addition, this document disclose an extension to the Earth Mover's Distance which allows uncertainty to be taken into account when computing the distance between belief distributions on simplices of arbitrary relative sizes.

<NPL> discloses methods and models for a map-based vehicle self-localization approach. Basically, information from the vehicular environment perception (using a monocular camera and laser scanner) is associated with data of a high-precision digital map in order to deduce the vehicle's position. Within the Monte-Carlo localization approach, the association of road markings is reduced to a prototype fitting problem which can be solved efficiently due to a map model based on smooth arc splines. Experiments on a rural road show that the localization approach reaches a global positioning accuracy in both lateral and longitudinal direction significantly below one meter and an orientation accuracy below one degree even at a speed up to <NUM>/h in real-time.

It is therefore an object of the present disclosure to provide a method for lane-level map matching for a vehicle, a computer-readable storage medium, a control device, and a vehicle which alleviate all or at least some of the drawbacks of presently known systems.

This object is achieved by means of a method for lane-level map matching for a vehicle, a computer-readable storage medium, a control device, and a vehicle as defined in the appended claims. The term exemplary is in the present context to be understood as serving as an instance, example or illustration.

According to a first aspect of the present disclosure, there is provided a method for lane-level map matching for a vehicle. The method comprises receiving vehicle data comprising a geographical position of the vehicle, a heading of the vehicle, and a speed of the vehicle. The method further comprises receiving sensor data from a perception system of the vehicle. The sensor data comprising information about a position of at least one road reference in a surrounding environment of the vehicle. Furthermore the method comprises receiving map data comprising a lane geometry of the surrounding environment of the vehicle, the lane geometry comprising a set of candidate lanes. Next, the method comprises forming a state space model comprising a set of states, wherein each state of the set of states represents a candidate lane of the set of candidate lanes, and defining a cost for going from each state to every other state of the set of states based on the received vehicle data and the received sensor data. Furthermore, the method comprises determining a probable path for the vehicle based on the formed state space model and the defined costs.

The presented method enables for reliable and accurate lane-level map matching. Moreover, the proposed method is robust to error-prone data such as noise GPS measurements and imperfect vision sensor detections. Moreover, the method can be implemented as an online algorithm, which allows for global optimality in every stage of the calculation.

Further, the present inventors realized that sensor observations of the surrounding environment can be fused together with location data in order to add robustness to conventional GPS-based map matching. Moreover, by forming a state space model and computing the most probable path by observing the probability of the vehicle being in a particular state at a given time, a computationally efficient and accurate map matching solution can be provided.

According to an exemplary embodiment of the present disclosure each state is a hidden state in a Hidden Markov Model, and the cost is defined based on a first predefined probability Ek for making an observation yk at a time tk when being in state xm, and a second predefined probability Tk for moving from a first state xk of the set of states to another state xk+<NUM> of the set of states at the time tk.

According to a second aspect of the present disclosure, there is provided a (non-transitory) computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a vehicle control system, the one or more programs comprising instructions for performing the method according to any one of the embodiments disclosed herein. With this aspect of the disclosure, similar advantages and preferred features are present as in the previously discussed first aspect of the disclosure.

According to a third aspect of the present disclosure there is provided a control device for lane-level map matching for a vehicle, where the control device comprises control circuitry configured to receive vehicle data comprising a geographical position of the vehicle, a heading of the vehicle, and a speed of the vehicle. The control circuitry is configured to receive sensor data from a perception system of the vehicle. The sensor data comprises information about a position of at least one road reference in a surrounding environment of the vehicle. Further, the control circuitry is configured to receive map data comprising a lane geometry of the surrounding environment of the vehicle, where the lane geometry comprises a set of candidate lanes. Next, the control circuitry is configured to form a state space model comprising a set of states, wherein each state of the set of states represents a candidate lane of the set of candidate lanes. The control circuitry is further configured to define a cost for going from each state to every other state of the set of states based on the received vehicle data and the received sensor data, and determine a probable path for the vehicle based on the formed state space model and the defined costs. With this aspect of the disclosure, similar advantages and preferred features are present as in the previously discussed first aspect of the disclosure.

According to a fourth aspect of the present disclosure, there is provided a vehicle comprising a perception system comprising at least one sensor for monitoring a surrounding environment of the vehicle. The vehicle further comprises an inertial measurement unit (IMU) for measuring an inertial movement of the vehicle, a localization system for monitoring a geographical position and a heading of the vehicle, and a control device according to any one of the embodiments disclosed herein. With this aspect of the disclosure, similar advantages and preferred features are present as in the previously discussed first aspect of the disclosure.

Further embodiments of the invention are defined in the dependent claims. It should be emphasized that the term "comprises/comprising" when used in this specification is taken to specify the presence of stated features, integers, steps, or components. It does not preclude the presence or addition of one or more other features, integers, steps, components, or groups thereof.

Further objects, features and advantages of embodiments of the disclosure will appear from the following detailed description, reference being made to the accompanying drawings, in which:.

Those skilled in the art will appreciate that the steps, services and functions explained herein may be implemented using individual hardware circuitry, using software functioning in conjunction with a programmed microprocessor or general purpose computer, using one or more Application Specific Integrated Circuits (ASICs) and/or using one or more Digital Signal Processors (DSPs). It will also be appreciated that when the present disclosure is described in terms of a method, it may also be embodied in one or more processors and one or more memories coupled to the one or more processors, wherein the one or more memories store one or more programs that perform the steps, services and functions disclosed herein when executed by the one or more processors.

In the following description of exemplary embodiments, the same reference numerals denote the same or similar components. A vehicle is in the present context to be understood as a road vehicle such as a car, a bus, a truck, construction vehicles, and the like.

<FIG> is a schematic flow chart representation of a method <NUM> for lane-level map matching for a vehicle. Map matching can be understood as a process of matching a vehicle's location data to a digital map in order to obtain the true position in a road network. <FIG> further includes illustrative drawings of the different method steps <NUM> - <NUM> to the right of the boxes <NUM> - <NUM> of the flow chart. Moreover, the method <NUM> provides for "lane-level" matching, meaning that not only is the vehicle location data matched to a specific road, but to a specific lane on that road.

Moving on, the method <NUM> comprises receiving vehicle data from e.g. a localization system of the vehicle. The vehicle data comprises a geographical position (latitude, longitude), a heading of the vehicle (yaw angle) and a speed of the vehicle. The vehicle data may be received <NUM> from a localization system of the vehicle (e.g. a Global Navigation Satellite System, GNSS), an inertial measurement unit (IMU) together with HD Map data, or a combination of system. The method <NUM> further comprises receiving sensor data from a perception system of the vehicle. The sensor data comprises at least information about a position of at least one road reference in a surrounding environment of the vehicle. A road reference may for example be a lane marking, a traffic sign, a road edge, a road barrier, or any other suitable landmark. Moreover, the position of the one or more road references can be determined in reference to a local coordinate system of the vehicle or in reference to a global coordinate system, depending on application and implementation choices. A perception system is in the present context to be understood as a system responsible for acquiring raw sensor data from on sensors such as cameras, LIDARs and RADARs, ultrasonic sensors, and converting this raw data into scene understanding. Naturally, the sensor data may be received <NUM> directly from one or more suitable sensors (such as e.g. cameras, LIDAR sensors, radars, ultrasonic sensors, etc.).

Further, in relation to the road references, the sensor data may comprise lane marker data, where the lane marker data can include a distance to one or more lane markers (relative to the ego-vehicle) and a type of lane marker (broken line, semantics, solid line, etc.). Sensor data may further include lane marking geometries (could be represented as a polynomial or as a clothoid, depending on camera software).

The method <NUM> further comprises receiving <NUM> map data comprising a lane geometry of the surrounding environment of the vehicle. The lane geometry comprises a set (i.e. a plurality) of candidate lanes. A candidate lane is in the present context to be understood as a drivable lane on a road in the surrounding environment of the vehicle, i.e. a lane in which the vehicle may or may not travel. The map data may be in the form of High-Definition (HD) map data, i.e. map data having high precision (at centimetre-level). HD maps are maps that are purposely built for robots to manoeuvre themselves around a 3D space. In more detail, these maps need to be precise and contain a lot of information, which humans may take for granted. Not only that the maps should contain information about where the lanes are, where the road boundaries are, one also wants to know where the curves are and how high the curves are.

The lane geometry may for example be retrieved <NUM> from defined portion of an HD map, where the defined portion may be all lane geometries that are within a circle of a predefined radius. The centre of the circle may for example be determined based on the previously received <NUM> geographical position of the vehicle. The radius may be defined based on a measurement error of the received <NUM> geographical position, for example <NUM> meters, or <NUM> meters in an urban canyon. In order to increase computing efficiency, the method may include forming a spatial data base based on the received <NUM> map data and a spatial indexing method (e.g. Geohash, Quadtree, M-tree, X-tree, R-tree, etc.). For example, an R-tree of the retrieved <NUM> lane geometries can be built and furthermore packed by using a sorting method (e.g. Sort-Tile-Recursive (STR), Nearest-X, Overlap Minimizing Top-Down (OMT), etc.). This spatial indexing and packing allows one to quickly find a set of candidate lanes from the received <NUM> HD map.

Next, a state space model comprising a set of states is formed <NUM>. Each state of the set of states represents a candidate lane of the set of candidate lanes (retrieved from the map data). A state space model is in the present context to be understood as type of probabilistic graphical model, which describes a probabilistic dependence between the latent state variable and the observed measurement. The state or the measurement can be either continuous or discrete. The state space model is used to provide a general framework for analysing deterministic and stochastic dynamical systems that are measured or observed through a stochastic process.

More specifically, the method <NUM> may comprise forming a Hidden Markov Model (HMM), which is considered to be a sub-type of state-space model in the present disclosure. In more detail, each candidate lane is considered to be represented by a hidden state in the HMM, where the received vehicle data and sensor data are used to estimate the hidden states, i.e. in which lanes the vehicle is actually traveling. Further details related to the Hidden Markov Model and embodiments of the present disclosure related thereto will be discussed in reference to <FIG>.

Further, the method <NUM> comprises defining <NUM> a cost for going from each state to every other state of the set of states in the state space model. The costs are computed based on the received vehicle data, the received sensor data and the received map data. In more detail, the costs can be defined <NUM> as probabilities, i.e. the likelihood of the vehicle going from a first state to a second state at a time t or remaining in the first state at the time t.

Moving on, the method further comprises determining <NUM> a probable path for the vehicle based on the formed state space model and the defined costs. In other words, the probable path of the vehicle is determined by computing the probability of a plurality of possible paths (state transitions) where the probability is determined based on the received <NUM> sensor observations and the received <NUM> vehicle data. The computation for determining <NUM> the probable path may for example be executed by numerical optimization solvers.

Initial state probabilities, i.e. the probability of the vehicle being in each state at time t = <NUM> may also be computed. For this computation one may use the received <NUM> vehicle data, the received <NUM> sensor data, and the obtained <NUM> HD map. Alternatively, one may assign equal probabilities for starting in each state.

Moreover, the method <NUM> may further comprise a step of sending the determined <NUM> probable path to a control system for controlling a driver-assistance or autonomous driving feature of the vehicle, or to a map generating system for updating a map of the surrounding environment. In reference to the former, the probable path may be used to activate, deactivate or adjust specific ADAS or AD features of the vehicle based on which lane the vehicle is traveling. In more detail, the probable path may be used to more accurately estimate a position of the vehicle, wherefore appropriate adjustments of ADAS or AD features may be performed (e.g. adjusting a following distance to lead vehicle, adjusting emergency brake thresholds, etc.). In reference to the map generating system, which may be local or remote the vehicle, the probable path can be used as input to identify new lanes or re-routed lanes. Thus, vehicles implementing the disclosed method can be used as probes for map updates.

Referring to <FIG>, a stretch of road having three lanes x<NUM>, x<NUM>, x<NUM> is depicted. A first lane x<NUM> and a second lane x<NUM> are parallel and separate by double lane markings. The second lane x<NUM> splits into a third lane x<NUM>. In the schematic drawings, the corresponding state transitions are illustrated as circles interconnected with solid arrows. In the illustrated case of <FIG>, there are only two possible lane candidates x<NUM> and x<NUM> at time t-<NUM>. In other words, at time t-<NUM>, the vehicle can only travel in one of two possible lanes (retrieved from the received <NUM> map data with the help of the received <NUM> vehicle data comprising a GPS position with an associated measurement error radius as described in the foregoing).

The arrows indicate the possible transitions between the lanes x<NUM>, x<NUM>, x<NUM>. For example, given that the vehicle is in lane x<NUM> at time t-<NUM>, it can either stay in lane x<NUM>, or it can change lane from x<NUM> to x<NUM>. Since the double lane marking is solid/dashed, one can conclude that there is a relatively small probability that the vehicle changes lane from the first lane x<NUM> to the second lane x<NUM> (since a lane change from the first lane x<NUM> to the second lane x<NUM> would imply that the vehicle is breaking a traffic rule, which is here assumed to have a reduced likelihood). On the other hand, the vehicle is more likely to change lane from x<NUM> to x<NUM> (perhaps there is a vehicle in front of it that slows down in order to turn onto the exit lane x<NUM>). Of course, the car can also stay in its lane. Moreover, the topology of the road network restricts us from going directly from the first lane x<NUM> to the third lane x<NUM> (without first passing the second lane x<NUM>), in the present example Further, the probable path can be determined <NUM> by computing the costs, at time t><NUM>, of going from any candidate lane at time t-<NUM> to any other candidate state at time t. For this computation, measurements contained in the received <NUM> vehicle data and the received <NUM> sensor data as well as the received <NUM> map data are used. The costs may for example be determined/computed <NUM> by multiplying probabilities such as P(yt-<NUM>|x<NUM>t-<NUM>)*P(xt|x<NUM>t-<NUM>), where P(yt-<NUM>|x<NUM>t-<NUM>) can be defined as a difference between the lane marking type reported by the perception system and the candidate HD map lane marking type, while P(xt|x<NUM>t-<NUM>) can be defined as a difference between the measured heading of the vehicle and a direction of a candidate lane in the HD map. An optimization algorithm (e.g. a max-sum or max-product algorithm) can then be employed to determine <NUM> the most probable path of the vehicle.

As previously mentioned, the candidate lanes may be represented as hidden states in a Hidden Markov Model (HMM). Thus, <FIG> shows a schematic graphical representation of a discrete HMM with three states s<NUM>, s<NUM>, s<NUM> and three observations y<NUM>, y<NUM>, y<NUM> with corresponding transmission probabilities Ti,j, i,j ∈ {<NUM>, <NUM>, <NUM>} and emission probabilities Ek,i, k ∈ {<NUM>, <NUM>, <NUM>}, i ∈ {<NUM>, <NUM>, <NUM>}.

A Hidden Markov Model (HMM) can be construed as a statistical model in which the system being modelled is assumed to be a stochastic process with unobserved, i.e. hidden, states. The states are contained in a set <IMG>, while <IMG> ⊆ <IMG> describe states in a sequence. More explicitly, the set of states might be <IMG> = {s<NUM>, s<NUM>} and a state sequence x could look like x = [x<NUM>, x<NUM>, x<NUM>] = [s<NUM>, s<NUM>, s<NUM>], where x<NUM>, x<NUM>, x<NUM> ∈ <IMG>, and s<NUM>, s<NUM> ∈ <IMG>. The states of an HMM are not directly visible to the observer, which is why they are called hidden. Rather, there exists observations <IMG> that stem from these hidden states. The sequence of observations are generated by a second stochastic process. In that sense, an HMM is a doubly stochastic process. The HMM comprises three main parameters transition probabilities, emission probabilities and initial state distribution. As a sub-category of Markov Models, the HMM also satisfies the Markov property.

In <FIG>, each hidden state <NUM>, <NUM>, <NUM> represent a candidate lane obtained from the lane geometry in the received map data, and the bottom boxes <NUM>, <NUM>, <NUM>, <NUM> represent different "observations" e.g. position of lane markings, type of lane markings, heading, geographical position, etc. Thus, the received vehicle data and sensor data form an observation yk for a time tk.

The cost for going from each state <NUM>, <NUM>, <NUM> to every other state <NUM>, <NUM>, <NUM> of the set of states is based on the received vehicle data and the received sensor data. The costs may for example be defined based on two probabilities, namely a first predefined probability Ek and a second predefined probability Tk. In accordance with the exemplary embodiment in which the state space model is in the form of a Hidden Markov Model, the first and second predefined probabilities may be referred to as an emission probability and a transmission probability, respectively. The Emission Probability Ek defines the probability for making an observation yk at a time tk, when being in a state xk. The transmission probability Tk defines a probability for moving from a first state xk of the set of states to another state xk+<NUM> of the set of states at the time tk.

In more detail, the emission probability Ek is associated with the second stochastic process, which models the distribution of observations. Each observation yk has an emission probability, <MAT> which is a probability distribution function that, as mentioned, reflects the probability of making an observation yk at a time tk, when being in a state xk. When considering explicit states, the emission probability is more appropriately given as,
<MAT>.

The transmission probability Tk is as mentioned, the likelihood of moving from a first state xk of the set of states to another state xk+<NUM> at the time tk. It can be written as, <MAT>.

When considering explicit states, the transition probability is more appropriately given as,
<MAT>.

The distribution of initial state probabilities describes the likelihood of starting in each state,
<MAT>.

According to an exemplary embodiment of the present disclosure, the sensor data comprises lane marker data. The lane marker data comprises at least a distance to the at least one lane marker and a lane marker type of the at least one lane marker. Moreover, the vehicle data further comprises a yaw rate of the vehicle (obtained from e.g. an inertial measurement unit (IMU) of the vehicle or a steering wheel angle sensor). Accordingly, the first predefined probability (emission probability) Ek may be based on one or more of the distance to the at least one lane marker, the lane marker type of the at least one lane marker, the geographical position of the vehicle, and the speed of the vehicle. The emission probability Ek may naturally be based on further parameters such as e.g. the position and type of other landmarks (e.g. traffic signs), lane text (e.g. bus lane), a position of other vehicles in the surrounding environment of the vehicle, confidence of left/right lane marker, distance between left and right marker, and so forth. The second predefined probability (transmission probability) Tk may on the other hand be based on the yaw rate of the vehicle.

In more detail, the yaw rate may be used as a lane change indicator since the steering angle approximately resembles a sine wave over time during a lane change. This wave can be modelled by fitting a parametrized sine function s(ω) of the yaw rate ω, <MAT>.

Yaw rates corresponding to a left lane change have an opposite sign as compared to right lane changes. Naturally, the transmission probability may be further based on other lane change indicators in order to improve redundancy. For example, visual data obtained from a vehicle perception system can be used to estimate when a lane change occurs (e.g. based on lane marker types, distance to lane markers, change of distance to lane markers, etc.). Moreover, lane tracing models (e.g. expressed as polynomials or clothoids) can be used as lane change indicators. In more detail, the lateral offset parameter (often denoted as a<NUM> for polynomial lane boundary representations) can be used to indicate a lane change. For example, if the lateral offset parameter (lateral offset between the vehicle and the lane trace) of the right lane trace becomes smaller and smaller over time, it is probable that a right lane change is occurring.

A discrete HMM may be represented as a trellis diagram, where time steps t<NUM> - t<NUM> are incorporated, as illustrated in <FIG>. Each node 30a - <NUM> in the diagram corresponds to a distinct state s<NUM> - s<NUM> at a given time t<NUM> - t<NUM>, and the edges (interconnecting lines) represent possible transitions to states at the next time step t<NUM> - t<NUM>. The edge weights are here chosen to correspond to the product of transition and emission probabilities Tk, Ek. In the illustrated example, some of these products are zero wherefore the edges have been removed to avoid cluttering. A useful property of this particular representation is that every possible state sequence in the model corresponds to a unique path through the trellis, and the other way around. Because of this, it is a useful representation when applying dynamic programming algorithms (e.g. Viterbi algorithm) to an HMM for finding the most probable path through the model.

In more detail, it can be said that inferring which sequence of states that caused a specific sequence of observations is called decoding. The Viterbi algorithm, is one example of such a decoder. More specifically, it can be said that the Viterbi algorithm solves the problem of estimating the maximum likelihood of state sequences, i.e. it finds the most probable state sequence. The set of transition sequences can be defined as ξ = {ξ<NUM>,. , ξK-<NUM>} with the transitions ξk = {xk+<NUM>,xk} at the given time k. These map one-to-one to the state sequence x = {x<NUM>,. Using this notation the observations discussed in reference to <FIG> y = {y<NUM>. ,yK}, yk ∈ <IMG>, can be described as the output of a channel, whose input is the transition sequences. The channel is memory-less in the sense that <MAT>, i.e. each observation only depends probabilistically on the transition ξk.

Executable instructions for performing these functions are, optionally, included in a non-transitory computer-readable storage medium or other computer program product configured for execution by one or more processors.

<FIG> is a schematic side view of a vehicle <NUM> comprising a control device <NUM> for lane-level map matching. The vehicle <NUM> further comprises a perception system <NUM>, an inertial measurement unit (IMU) <NUM>, and a localization system <NUM>. A perception system <NUM> is in the present context to be understood as a system responsible for acquiring raw sensor data from on sensors 6a, 6b, 6c such as cameras, LIDARs and RADARs, ultrasonic sensors, and converting this raw data into scene understanding. The localization system <NUM> is configured to monitor a geographical position and heading of the vehicle, and may in the form of a Global Navigation Satellite System (GNSS), such as a GPS. However, the localization system may alternatively realized as a Real Time Kinematics (RTK) GPS in order to improve accuracy. An IMU <NUM> is to be understood as an electronic device configured to measure the inertial movement of the vehicle <NUM>. An IMU <NUM> usually has six degrees of freedom, three accelerometers and three gyroscopes.

The control device <NUM> comprises one or more processors <NUM>, a memory <NUM>, a sensor interface <NUM> and a communication interface <NUM>. The processor(s) <NUM> may also be referred to as a control circuit <NUM> or control circuitry <NUM>. The control circuit <NUM> is configured to execute instructions stored in the memory <NUM> to perform a method for lane-level map matching for a vehicle according to any one of the embodiments disclosed herein. Stated differently, the memory <NUM> of the control device <NUM> can include one or more (non-transitory) computer-readable storage mediums, for storing computer-executable instructions, which, when executed by one or more computer processors <NUM>, for example, can cause the computer processors <NUM> to perform the techniques described herein. The memory <NUM> optionally includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid-state memory devices; and optionally includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices.

In more detail, the control circuitry <NUM> is configured to receive vehicle data comprising a geographical position of the vehicle, a heading of the vehicle and a speed of the vehicle. The vehicle data may for example be obtained from a GPS unit of the vehicle <NUM>. The control circuitry <NUM> is further configured to receive sensor data from a perception system <NUM> of the vehicle <NUM>. The sensor data comprises information about a position of at least one road reference in a surrounding environment of the vehicle. The position of the road reference may either be in reference to the vehicle or in a "global" coordinate system depending on specifications. In more detail, the perception system <NUM> preferably a forward looking camera 6c configured to detect lane-markings on a road. Conventional automotive grade cameras are capable of detecting lane markers that lie within a <NUM> meter range. The detections give information about distances to the closest markings on the left and right side of the vehicle and their corresponding type. The marker types that can be recognized by the system <NUM> or the camera 6c include e.g. solid and dashed. Once the lane-markings have been detected, the perceptive projection image can be transformed into its corresponding bird's eye vision.

The control circuitry <NUM> is further configured to receive map data comprising a lane geometry of the surrounding environment of the vehicle. The lane geometry comprises a set of candidate lanes. The map data may be in the form of a HD map comprising information about roads having multiple parallel lanes, each of which has a centre line represented as a polyline. The polylines are generally two-dimensional, defined by the longitude and latitude of the start and end of each line segment. Also, left and right lane markers signifying the lane border, are polylines. They are also associated with their marker type (e.g. dashed or solid). The map data may also comprise road delimiters such as guard rails, speed limits, lane orientation, etc..

Further, the control circuitry <NUM> is configured to form a state space model comprising a set of states. Each state of the set of states represents a candidate lane of the set of candidate lanes. Next, the control circuitry <NUM> is configured to define a cost for going from each state to every other state of the set of states based on the received vehicle data, the received sensor data and the received map data. Various implementations for computing the costs have already been discussed in detail in the foregoing and are analogously applicable with this aspect of the disclosure.

Still further, the control circuitry <NUM> is configured to determine a probable path for the vehicle based on the formed state space model and the defined costs. In other words, the control circuitry <NUM> is configured to calculate the most probable path that the vehicle <NUM> has travelled in based on the formed state space model and defined costs for moving between the states (i.e. moving between the lanes). Even though the control device <NUM> is here illustrated as an in-vehicle system, some or all of the components may be located remote (e.g. cloud-based solution) to the vehicle in order to increase computational power.

Further, the vehicle <NUM> may be connected to external network(s) <NUM> via for instance a wireless link (e.g. for retrieving map data). The same or some other wireless link may be used to communicate with other vehicles <NUM> in the vicinity of the vehicle or with local infrastructure elements. Cellular communication technologies may be used for long range communication such as to external networks and if the cellular communication technology used have low latency it may also be used for communication between vehicles, vehicle to vehicle (V2V), and/or vehicle to infrastructure, V2X. Examples of cellular radio technologies are GSM, GPRS, EDGE, LTE, <NUM>, <NUM> NR, and so on, also including future cellular solutions. However, in some solutions mid to short range communication technologies are used such as Wireless Local Area (LAN), e.g. IEEE <NUM> based solutions. ETSI is working on cellular standards for vehicle communication and for instance <NUM> is considered as a suitable solution due to the low latency and efficient handling of high bandwidths and communication channels.

The present disclosure has been presented above with reference to specific embodiments. However, other embodiments than the above described are possible and within the scope of the disclosure. Different method steps than those described above, performing the method by hardware or software, may be provided within the scope of the disclosure. Thus, according to an exemplary embodiment, there is provided a non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a vehicle control system, the one or more programs comprising instructions for performing the method according to any one of the above-discussed embodiments. Alternatively, according to another exemplary embodiment a cloud computing system can be configured to perform any of the methods presented herein. The cloud computing system may comprise distributed cloud computing resources that jointly perform the methods presented herein under control of one or more computer program products.

The processor(s) <NUM> (associated with the control device <NUM>) may be or include any number of hardware components for conducting data or signal processing or for executing computer code stored in memory <NUM>. The device <NUM> has an associated memory <NUM>, and the memory <NUM> may be one or more devices for storing data and/or computer code for completing or facilitating the various methods described in the present description. The memory may include volatile memory or non-volatile memory. The memory <NUM> may include database components, object code components, script components, or any other type of information structure for supporting the various activities of the present description. According to an exemplary embodiment, any distributed or local memory device may be utilized with the systems and methods of this description. According to an exemplary embodiment the memory <NUM> is communicably connected to the processor <NUM> (e.g., via a circuit or any other wired, wireless, or network connection) and includes computer code for executing one or more processes described herein.

It should be appreciated that the sensor interface <NUM> may also provide the possibility to acquire sensor data directly or via dedicated sensor control circuitry <NUM> in the vehicle. The communication/antenna interface <NUM> may further provide the possibility to send output to a remote location (e.g. remote operator or control centre) by means of the antenna <NUM>. Moreover, some sensors in the vehicle may communicate with the control device <NUM> using a local network setup, such as CAN bus, I2C, Ethernet, optical fibres, and so on. The communication interface <NUM> may be arranged to communicate with other control functions of the vehicle and may thus be seen as control interface also; however, a separate control interface (not shown) may be provided. Local communication within the vehicle may also be of a wireless type with protocols such as WiFi, LoRa, Zigbee, Bluetooth, or similar mid/short range technologies.

Accordingly, it should be understood that parts of the described solution may be implemented either in the vehicle, in a system located external the vehicle, or in a combination of internal and external the vehicle; for instance in a server in communication with the vehicle, a so called cloud solution. For instance, sensor data may be sent to an external system and that system performs the steps to defining the costs for going from one state to the other. The different features and steps of the embodiments may be combined in other combinations than those described.

It should be noted that the word "comprising" does not exclude the presence of other elements or steps than those listed and the words "a" or "an" preceding an element do not exclude the presence of a plurality of such elements. It should further be noted that any reference signs do not limit the scope of the claims, that the invention may be at least in part implemented by means of both hardware and software, and that several "means" or "units" may be represented by the same item of hardware.

Claim 1:
A method (<NUM>) for lane-level map matching for a vehicle (<NUM>), the method comprising:
receiving (<NUM>) vehicle (<NUM>) data comprising a geographical position of the vehicle (<NUM>), a heading of the vehicle (<NUM>), and a speed of the vehicle (<NUM>);
receiving (<NUM>) sensor data from a perception system (<NUM>) of the vehicle (<NUM>), the sensor data comprising information about a position of at least one road reference in a surrounding environment of the vehicle (<NUM>);
receiving (<NUM>) map data comprising a lane geometry of the surrounding environment of the vehicle (<NUM>), the lane geometry comprising a set of candidate lanes;
forming (<NUM>) a state space model comprising a set of states, wherein each state of the set of states represents a candidate lane of the set of candidate lanes;
defining (<NUM>) a cost for going from each state to every other state of the set of states based on observations comprising the received vehicle (<NUM>) data, the received sensor data and based on the received map data;
characterized by determining (<NUM>) a probable path for the vehicle (<NUM>) based on the formed state space model and the defined costs,
wherein the step of determining (<NUM>) the probable path comprises decoding the formed state space model in order to estimate the maximum likelihood of a plurality of state sequences and determine the most probable state sequence, wherein decoding the formed state space model consists in inferring which sequence of states caused a specific sequence of observations.