Methods and Systems Using Digital Map Data

20220373336 · 2022-11-24

    Inventors

    Cpc classification

    International classification

    Abstract

    The present disclosure generally relates to a methods and systems for compensating for changes in the absolute position of locations with respect to the Earth's surface which occur over time due to crustal dynamics. The invention is particularly, although not exclusively, concerned with such compensation in the context of methods using digital map data, for example, methods of localization of a vehicle.

    Claims

    1. A method of transforming the position of one or more location of interest from a first reference frame to a second reference frame, wherein the first reference frame is a reference frame associated with a digital map covering a geographic region including the location of interest, the digital map comprising a plurality of segments connected by nodes, the segments representing elements of a navigable network in the geographic region covered by the digital map, wherein the position of the location of interest with respect to said first reference frame is a position with respect to the digital map, and wherein the second reference frame is a reference frame associated with a vehicle traversing a path through the navigable network; the method comprising, for the or each location of interest: obtaining data indicative of the position of the location of interest with respect to the first reference frame; obtaining displacement map data comprising, for each of one or more locations, data indicative of a change in the absolute position of the location with respect to the Earth's surface occurring over time as a result of crustal dynamics; using the obtained data indicative of the position of the location of interest with respect to the first reference frame and the displacement map data to determine data indicative of the position of the location of interest with respect to the second reference frame; wherein using the obtained data indicative of the position of the location of interest with respect to the first reference frame and the displacement map data to determine data indicative of the position of the location of interest with respect to the second reference frame comprises using the displacement map data to adjust a position of the location of interest when transforming the position of the location of interest from the first reference frame to the second reference frame; and wherein the displacement map data is used to adjust the position of the location of interest when transforming the position of the location of interest from the first reference frame to the second reference frame to compensate for a change in the corresponding absolute position of the location of interest with respect to the Earth's surface expected to have occurred as a result of crustal dynamics since generation of the digital map; and generating data indicative of the determined position of the location of interest with respect to the second reference frame for output.

    2. The method of claim 1, further comprising transforming the position of the location of interest with respect to the first reference frame to a position with respect to the second reference frame, and then using the displacement map data to adjust the position of the location of interest with respect to the second reference frame to compensate for a change in the corresponding position of the location of interest with respect to the Earth's surface expected to have occurred as a result of crustal dynamics since generation of the digital map.

    3. The method of claim 1, wherein the first reference frame is the reference frame associated with the digital map, and the method comprises: using the displacement map data to adjust the position of the location of interest with respect to the first reference frame to compensate for a change in the corresponding position of the location of interest with respect to the Earth's surface expected to have occurred as a result of crustal dynamics since generation of the digital map, and then transforming the adjusted position of the location of interest with respect to the first reference frame to a position with respect to the second reference frame.

    4. The method of claim 1, wherein the location of interest is the location of an object encountered by the vehicle while traversing a path through the navigable network.

    5. The method of claim 1, wherein the location of interest is a location of a map object requested by the vehicle.

    6. The method of claim 5, further comprising determining displacement data indicative of a change in the absolute position of the location which has occurred since generation of the digital map and associating the displacement data with the data indicative of the position of the map object in the second reference frame.

    7. A method of transforming the position of one or more location of interest from a first reference frame to a second reference frame, wherein at least one of the first and second reference frames is a reference frame associated with a digital map covering a geographic region including the location of interest, wherein the position of the location of interest with respect to said at least one of the first and second reference frames is a position with respect to the digital map; the method comprising, for the or each location of interest: obtaining data indicative of the position of the location of interest with respect to the first reference frame; obtaining displacement map data comprising, for each of one or more locations, data indicative of a change in the absolute position of the location with respect to the Earth's surface occurring over time as a result of crustal dynamics; using the obtained data indicative of the position of the location of interest with respect to the first reference frame and the displacement map data to determine data indicative of the position of the location of interest with respect to the second reference frame; wherein the step of using the obtained data indicative of the position of the location of interest with respect to the first reference frame and the displacement map data to determine data indicative of the position of the location of interest with respect to the second reference frame comprises using the displacement map data to adjust a position of the location of interest when transforming the position of the location of interest from the first reference frame to the second reference frame; wherein the method further comprises generating data indicative of the determined position of the location of interest with respect to the second reference frame for output; wherein the method is performed in relation to a plurality of locations of interest, each location of interest being a location of a map object of a digital map, wherein the first and second reference frames are each associated with the digital map, wherein the first and second reference frames are reference frames defined by the digital map before and after adjustment of the position of map objects therein using the displacement map data to compensate for changes in corresponding absolute positions of the map objects with respect to the Earth's surface which may be expected to have occurred since generation of the digital map as a result of crustal dynamics; and wherein the step of obtaining data indicative of the position of each location of interest with respect to the first reference frame comprises obtaining digital map data in the first reference frame, the digital map comprising the map objects; and determining the position of each map object with respect to the digital map in the first reference frame, and using the displacement map data to adjust the position of each map object to compensate for a change in the absolute position of a corresponding location with respect to the Earth's surface which may be expected to have occurred since generation of the digital map as a result of crustal dynamics, thereby shifting the reference frame of the digital map from the first reference frame to a second reference frame.

    8. The method of claim 7, further comprising receiving a request from a vehicle for map data indicative of the position of an object encountered by the vehicle, determining the position of the object with respect to the digital map data in the second reference frame, and using the determined data in providing data indicative of the position of the object to the vehicle.

    9. The method of claim 8, further comprising the vehicle using the data indicative of the position of the object provided thereto in determining a position of the vehicle in the real-world.

    10. The method of claim 1, wherein the displacement map data comprises, for each one of a plurality of reference locations, data indicative of a change in the absolute position of the reference location over time.

    11. The method claim 1, wherein the method comprises using the displacement map data to determine data indicative of an expected change in the absolute position of the location of interest between times of interest.

    12. The method of claim 1, wherein the data indicative of the change in the absolute position of the location over time comprises a set of one or more displacement vectors, each displacement vector being indicative of a change in the position of the location between different times.

    13. The method of claim 1, further comprising using a current time and data indicative of the position of the location of interest to determine the data indicative of an expected change in the absolute position of the location of interest between the times of interest.

    14. The method of claim 1, comprising obtaining the data indicative of an expected change in the absolute position of the location of interest between the times of interest through a process of interpolation based on data indicative of the change in absolute position in respect of one or more of the reference locations.

    15. The method of claim 1, wherein the displacement map data comprises, for each one of a plurality of reference locations, data indicative of a displacement of the reference location between a reference time and one or more subsequent times.

    16. The method of claim 1, wherein the displacement map data comprises, for each location, data indicative of a speed of the location, and the method comprises using the speed data in respect of one or more of the locations in determining data indicative of the expected change in the absolute position of the location of interest between times of interest

    17. The method of claim 1, wherein the locations in respect of which displacement map data is provided correspond to vertices of a set of triangles covering a geographic area.

    19. The method of claim 1, wherein the displacement map data is associated with a map tile comprising the location of interest.

    19. The method of claim 1, further comprising using the data indicative of the position of the location of interest in the second reference frame to determine the position of a vehicle in the real-world.

    20. A non-transitory computer readable storage medium storing program code which, when executed by a processor, causes the processor to perform a method of transforming the position of one or more location of interest from a first reference frame to a second reference frame, wherein the first reference frame is a reference frame associated with a digital map covering a geographic region including the location of interest, the digital map comprising a plurality of segments connected by nodes, the segments representing elements of a navigable network in the geographic region covered by the digital map, wherein the position of the location of interest with respect to said first reference frame is a position with respect to the digital map, and wherein the second reference frame is a reference frame associated with a vehicle traversing a path through the navigable network; the method comprising, for the or each location of interest: obtaining data indicative of the position of the location of interest with respect to the first reference frame; obtaining displacement map data comprising, for each of one or more locations, data indicative of a change in the absolute position of the location with respect to the Earth's surface occurring over time as a result of crustal dynamics; using the obtained data indicative of the position of the location of interest with respect to the first reference frame and the displacement map data to determine data indicative of the position of the location of interest with respect to the second reference frame; wherein the step of using the obtained data indicative of the position of the location of interest with respect to the first reference frame and the displacement map data to determine data indicative of the position of the location of interest with respect to the second reference frame comprises using the displacement map data to adjust a position of the location of interest when transforming the position of the location of interest from the first reference frame to the second reference frame; and wherein the displacement map data is used to adjust the position of the location of interest when transforming the position of the location of interest from the first reference frame to the second reference frame to compensate for a change in the corresponding absolute position of the location of interest with respect to the Earth's surface expected to have occurred as a result of crustal dynamics since generation of the digital map; and generating data indicative of the determined position of the location of interest with respect to the second reference frame for output.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0160] Various embodiments of the technology described herein will now be described by way of example only and with reference to the accompanying drawings, in which:

    [0161] FIG. 1 illustrates a localisation module for determining an absolute position of a device from a global navigation satellite system (GNSS);

    [0162] FIG. 2 illustrates a localisation module for determining a relative position of a device within a digital map;

    [0163] FIG. 3 illustrates tectonic shifts on a global map;

    [0164] FIG. 4 shows the effect of such tectonic shifts on digital map data;

    [0165] FIG. 5 shows the displacement of the position of a location as a function of time (epoch) due to crustal dynamics;

    [0166] FIG. 6A shows a network of reference locations, each with a displacement vector for a given epoch;

    [0167] FIG. 6B shows five reference locations with respective displacements at an epoch e;

    [0168] FIG. 7 illustrates techniques which may be used to determine a displacement at a point in a triangle with vertices corresponding to reference locations;

    [0169] FIG. 8 is a flow chart illustrating one embodiment of a method for determining a displacement at a location p using displacement map data in respect of reference locations corresponding to the vertices of triangles, and using such data in compiling a map;

    [0170] FIG. 9 is a flow chart illustrating one embodiment of a method for determining a displacement at a location p using displacement map data in respect of reference locations corresponding to the vertices of triangles, and using such data in adjusting the position of a location of interest when using digital map data;

    [0171] FIG. 10 is a flow chart illustrating one embodiment of a method for determining a displacement at a location p using displacement map data in respect of reference locations corresponding to the vertices of triangles, and using such data in adjusting the position of a location of interest when using digital map data, where the displacement data includes displacement speed data;

    [0172] FIG. 11 shows a server infrastructure for generating displacement maps, and a vehicle environment in which the displacement map data is used;

    [0173] FIG. 12 shows an HD map localization module including a location adjustment sub-system in accordance with one embodiment;

    [0174] FIG. 13A shows an HD map localization module including a location adjustment sub-system in accordance with another embodiment in which the module operates on HD map objects;

    [0175] FIG. 13 B illustrates an exemplary method using the HD map localization module of FIG. 13A;

    [0176] FIG. 14 shows an embodiment in which location adjustment is performed in respect of retrieved HD map information;

    [0177] FIG. 15 illustrates one example of a method for deriving displacement map data for use with a tile based map;

    [0178] and FIG. 16 illustrates another example of a method for deriving displacement map for use with a tile based map.

    [0179] Like reference signs will be used for like elements in the drawings, as appropriate.

    DESCRIPTION

    [0180] The present disclosure generally relates to providing improved technologies for processing location data. In particular, preferred embodiments relate to methods of processing location data that is to be used for advanced/autonomous driving applications. However, it will be appreciated that the technology described herein is not limited to such applications. Thus, whilst various embodiments will now be described with reference to advanced/autonomous driving applications it will be understood that the present disclosure is not so limited and may also find utility in various other applications where highly accurate map functionality may be desired.

    [0181] Advanced driving applications in vehicles need to determine and maintain their position in the real world accurately and reliably. This process, commonly referred to as “localization”, relies on one or more localization modules. As described above, localization is usually performed using a variety of techniques. For instance, GPS measurements are used to provide a position of the vehicle that can then be matched onto a digital map. In order to more reliably determine the location of the vehicle within the map and also to determine the orientation of the vehicle, sensor data particularly in the form of image data acquired by the vehicle is also used. Typically sensor data indicative of objects in the vicinity of the vehicle is acquired, and the objects then matched to map objects. This process is known as “map matching”. In this way, the locations of the map objects may be determined using the map data, and used in determining a real-world position of the vehicle.

    [0182] Such localisation techniques therefore rely on highly accurate map data. Generating a digital map is an expensive and complex process, in terms of time and cost. A digital map is typically compiled using various sources of data, including sensor data obtained from mobile mapping vehicles, navigation applications, aerial data, crowd sourced data, web data, etc. In view of this, it is not practical or economic to update a digital map on a frequent basis. However, as mentioned above, crustal dynamics will cause the absolute position of geospatial features to change over time. This means that over time, the digital map data will cease to accurately represent the real-world positions of objects. This can therefore introduce errors or inconsistencies into map matching processes using the digital map data, with potentially serious (e.g. fatal) consequences when this information is being relied upon for advanced/autonomous driving purposes.

    [0183] Localization does therefore have to consider crustal dynamics for its accuracy to be sustainable. Tectonic plate movements are a major contributor to crustal dynamics and are associated with both slow stationary displacements distant from the plate boundaries (e.g. 62-70 mm/year for the Australian plate, and sudden (sometimes larger) displacements at transform plate boundaries. The latter is typically associated with earthquakes. FIG. 3 below shows crustal movements on a global map.

    [0184] FIG. 3 shows a map of the earth showing the land and sea mass and the tectonic plates in the crust of the earth. Each of the tectonic plates has their own movement with varying speed and direction as indicated in the figure. At the tectonic plate boundaries, the plates collide and deform often associated with earthquakes and other crustal dynamics phenomena. The figure shows the Australian plate (bottom right) with large North-North-East (NNE) displacements. Even with the somewhat smaller displacements in the northern hemisphere, the annual displacements may be of the same order of magnitude as the required location accuracy.

    [0185] Localization methods based on HD map data (see description above) determine a location of e.g. of a vehicle, based on the location of map objects i.e. object descriptions in the HD map information. The map objects used may be map objects to which objects detected by vehicle systems in the vicinity of the vehicle have been matched. Due to the shifts of the tectonic plates and associated crust dynamics, the positions of the map objects in the HD map information will not accurately reflect reality over time unless the effects of crustal dynamics are taken into account. If the effects of crustal dynamics are not accounted for, the ability to reliably match detected objects to map objects will be lost over time. This is demonstrated in FIG. 4.

    [0186] FIG. 4 illustrates a portion an HD digital map representing a portion of a road network, in a vicinity of a junction between road segments, and being traversed by a vehicle 104. The map information at the time of generation of the map (in this exemplary embodiment defining a “map epoch” e.sub.map) is in solid lines 96.

    [0187] The updated map information at a later time, at which localization is performed, referred to as the localization epoch e.sub.loe, is shown in dotted lines 98. Here it may be seen that the map information has shifted as a result of crustal dynamics. For example, the position X1 on the road segment 100 has shifted to position X2. The position Y1 of vehicle 104 has shifted to position Y2. Thus, if the map data is not updated to compensate for crustal dynamics, by shifting the map data from the solid line data to the dotted line data as illustrated, an attempt to map match an object detected at X2 at the localization time may fail, as, according to the map data, the object is at position X1. Failure to account for the effects of crustal dynamics may therefore create conflicts between HD map localization and other (different) localization technologies, and may create conflicts between HD map information and outputs from other different localization technologies.

    [0188] One approach to compensate for crustal dynamics, and provide updated map information as shown in FIG. 4, would be to reproduce and deliver the whole map on a regular basis, e.g. once every one or two months. However, the incurred production and delivery cost would be unacceptable or at least be undesirable.

    [0189] Some exemplary embodiments of the invention will now be described.

    [0190] The HD map information is generated from geospatial sensor data and high accuracy location information. For example, the geospatial sensor data may be obtained using Mobile Mapping vehicles equipped with LIDAR sensors, 360 degrees cameras and similar geospatial sensors. In this example, the Mobile Mapping vehicle comprises one or more advanced and accurate location sensors that associate accurate location information with the sensor data. In addition, an acquisition epoch e.sub.acq is associated with the sensor data. A map compiler uses the sensor data, the associated location data and acquisition epoch data to generate HD map information.

    [0191] During HD map production, the HD map information may be associated with a common map epoch e.sub.map. A map epoch is a reference time, such that the map represents the situation at that time. In some embodiments of the invention, the map epoch is typically a standard time, selected such that multiple maps may share the same epoch, i.e. a common map epoch. Thus, while sensor data is obtained in respect of a particular moment in time, the acquisition epoch, when compiling the map, the sensor data is typically adjusted i.e. shifted back in time, such that the resulting map reflects the situation at an earlier map epoch. This may be performed, at least in part, by mobile mapping vehicles. Thus, the compiler may set a map epoch, which corresponds to a desired, earlier map epoch. The map epoch may therefore not necessarily correspond to the actual time of generation of the map as in the exemplary embodiment of FIG. 4.

    [0192] A vehicle uses the HD map information for localization at a localization epoch e.sub.loe. The localization epoch, map epoch and acquisition epoch typically are all different. FIG. 5 shows the displacement vector d for a location p as a function of the epoch e.

    [0193] FIG. 5 shows the displacement d due to crustal dynamics for the position of a location p as a function of epoch e (time). The displacement d at a given epoch e i.e. time is the difference between the position i.e. coordinates of the location p at the epoch e and the position i.e. coordinates of the location p at a reference epoch. In the figure the reference epoch is e.sub.acq, but this may be a different epoch. In the Figure, the displacement between e.sub.acq and e.sub.map is ΔG, while the displacement between e.sub.map and e.sub.loe is ΔL.

    [0194] FIG. 5 also shows the previously introduced epochs (e.sub.acq, e.sub.map, e.sub.loe) and the displacement values for the position the location p at these epochs. The figure shows the displacement d as a one dimensional value. In practice, the displacement vector is a two or three dimensional vector.

    [0195] According to the present embodiment a displacement map is provided that can be maintained and updated independently of the HD map information. This displacement map enables the position of a location to be adjusted to compensate for the effects of crustal dynamics, when using the HD map information. Thus, the displacement map enables such effects to be taken into account, without the need to update the entire HD map. The displacement map may, in practice, be integrated with the HD map as a displacement map layer. However, the displacement map could alternatively be provided as a separate map.

    [0196] Displacement Determination

    [0197] Certain exemplary methods which may be used to generate the displacement map will now be described.

    [0198] The displacement of any location p is determined based on position information for a number of reference locations. These reference locations (reference points) are selected to form an irregular triangular network covering the map area of interest (or the entire globe). The reference locations can be any points for which accurate displacements can be measured or modelled. Typically, these will be locations with permanent GNSS receivers installed, such as the Continuously Operating Reference Stations (CORS) in the US, or those operated by RTK (Real Time Kinetics) service providers as shown in FIG. 6A.

    [0199] FIG. 6A shows a network of reference locations 150 with a displacement d, in the form of a vector, for a given time i.e. epoch e. The reference location 150 define the vertices of triangles e.g. triangles 152, 154, 156 etc. The displacement indicates the change in position of the location between first and second times, or epochs, corresponding to a reference epoch e.g. a map epoch, and a subsequent epoch e. The epoch e may be any epoch of interest, such as a current or localization time. The density of the reference locations in the network may be less (i.e. so as to define large triangles) in areas with little crustal activity, e.g. in the centre of large tectonic plates, and greater (e.g. so as to define smaller triangles) in areas where the crust is more active, e.g. at plate boundaries.

    [0200] FIG. 6B shows five reference locations r (r.sub.1, r.sub.2, r.sub.3, r.sub.4, r.sub.5) each with a displacement d (d.sub.1, d.sub.2, d.sub.3, d.sub.4, d.sub.5) for the epoch e. The five reference locations form three triangles T (T.sub.1, T.sub.2, T.sub.3) with reference locations as vertices. In the figure, triangle T.sub.1 is formed by the reference locations (r.sub.1, r.sub.2, r.sub.3), T.sub.2 by (r.sub.1, r.sub.3, r.sub.4) and T.sub.3 by (r.sub.4, r.sub.3, r.sub.5). At an epoch e, the reference location r has a displacement d relative to the location of r at a reference epoch e.sub.0. This can be captured by storing tuples (r, d, e), e.sub.0 and the coordinates of r at e.sub.0. Alternatively, the displacements for a reference location r at e.sub.0 can be described by tuples (d, e). Similarly, the displacements can be tracked by tuple (r, R, e) where R is the actual location of reference location r at epoch e. All these variants enable generating the displacement d for a reference location r at an epoch e. The displacement values are given relative to any suitable reference framework, such as the International Terrestrial Reference Frame.

    [0201] For each reference location r.sub.i in the set RL of N reference locations RL={r.sub.i|i=0 . . . N}, it is possible to determine a set P.sub.i of K tuples P.sub.i={(i, d.sub.j,e.sub.j)|j=1 . . . K} that tracks the displacement of the reference location due to crustal dynamics. In order to determine the displacement d at the epoch e for the reference location r, the set P.sub.i is searched for a tuple in which e.sub.j equals e and the corresponding displacement d.sub.j then forms the determined displacement d. If there is no matching value for e in the tuples of P.sub.i, the two closest epochs e.sub.a and e.sub.b are obtained from the set (so, e.sub.a<e<e.sub.b and there is no epoch e.sub.j in P.sub.i that falls between epochs e.sub.b and e.sub.a). The displacement d for reference location r then can be interpolated, e.g. using

    [00001] d = d a + ( e - e a ) ( d b - d a e b - e a ) . equation 1

    [0202] Other interpolation techniques (e.g. higher order polynomials, splines) also may be used. The determination of the displacement d at the epoch e for the reference location r, can be adapted for different data formats for recording displacements of reference locations at different epochs.

    [0203] The displacement of reference locations can be used to estimate a displacement at a general location (i.e. the change in position of the location between epochs) relative to a triangle of reference locations. FIG. 7 shows the use of Barycentric coordinates to estimate (using interpolation) the displacement of locations within the triangle of reference locations.

    [0204] The displacement at any point in the triangle is a linear combination of the displacements at the vertices. E.g. the displacement value at the middle of the top edge is ½ times the value at the top left vertex, 0 times the value at the bottom vertex and ½ times the value at the top right vertex.

    [0205] Each location in the triangle with vertices (r.sub.1, r.sub.2, r.sub.3) can be expressed as a tuple (λ.sub.1, λ.sub.2, λ.sub.3) with 0<λ.sub.i<1 and λ.sub.1+λ.sub.2+λ.sub.3=1 as shown in FIG. 7. A point at the middle of the top edge can be expressed as (0.5, 0, 0.5). The displacement for a location then can be calculated using the displacement vector for each of the vertices and the barycentric coordinates of the location using λ.sub.1*d.sub.1+λ.sub.2*d.sub.2+λ.sub.3*d.sub.3. As a HD map location p may be encoded in a different coordinate system, the HD map location p may need conversion to the barycentric coordinates for the triangle containing the location p. Techniques which may be used to provide such conversions are known in the art. After the conversion, the barycentric coordinates and the displacements at the vertices (defined by the three reference locations) enable determination of the tuple (d, p, e) comprising the interpolated displacement d for the HD map location p at the epoch e. The coordinate conversion also can be used to determine if the HD map location p is within the area of the triangle as all barycentric coordinates (λ.sub.1, λ.sub.2, λ.sub.3) for locations inside the triangle have the property (0<λ.sub.i<1 for all i=1,2,3).

    [0206] HD Map Generation—Compensating for Displacement Since Sensor Data Acquisition Epoch)

    [0207] In some exemplary embodiments, the invention may provide a map compiler that uses the acquisition epoch e.sub.acq associated with sensor data collected for HD map creation and that acquires displacement information representing crustal dynamics between the acquisition epoch and a map epoch e.sub.map to adjust the coordinates of the HD map objects to the HD map epoch e.sub.map. The HD map compiler thus generates HD map information that represents the coordinates of HD map objects and HD map location at the map epoch e.sub.map. This method of map generation compensates for crustal dynamics during the different acquisition epochs associated with sensor data collected for HD map creation and the generation epoch associated with the compiled/generated HD map information.

    [0208] Referring to FIG. 8, in step 1, the method comprises obtaining displacement map data indicative of the displacement (i.e. the change in position) of each one of a plurality of reference locations between an acquisition epoch e.sub.acq associated with sensor data collected for HD map creation and a map epoch e.sub.map. In this example, the map epoch corresponds to the map generation epoch, rather than an earlier reference epoch, although such arrangements may be envisaged as described below. In this example, the reference locations define the vertices of a set of triangles, in the manner illustrated in FIG. 6B.

    [0209] The HD map compiler uses sensor data for a location p obtained at an acquisition epoch e.sub.acq to generate HD map object data for the location p at the map epoch e.sub.map. The displacement d for a location p from the map acquisition epoch e.sub.acq to the map generation epoch to e.sub.map may be determined as follows.

    [0210] In step 3, for location p, obtain the triangle T containing p. For each reference location r at the vertices of T determine the displacement d (i.e. the change in position) for the reference location r from the map acquisition epoch e.sub.acq to the map generation epoch to e.sub.map (step 5). The barycentric interpolation (described above) can then be used to determine the displacement d for location p from the map acquisition epoch e.sub.acq to the map generation epoch e.sub.map (step 7). In step 9 the HD map compiler uses this displacement d to adjust the positions of locations of HD road objects of the HD map information. This may involve shifting the coordinates or, in the general, the locations of the road objects, which may be defined by extended locations, rather than point locations.

    [0211] The HD map compiler thus can correct the HD map information to correct absolute coordinates associated at the map generation epoch e.sub.map. This method can adjust for differences in sensor data acquisition epochs used for generating the HD map information.

    [0212] In a variant, the sensor data may determine its location relative to a reference location (e.g. an RTK station) and then adjust the location associated with the sensor data to the position of the reference location at a map epoch e.sub.map. This may be performed e.g. by a mobile mapping vehicle. In these embodiments, the map epoch may be an earlier reference time, rather than the time of generation of the map. This simplifies map generation as all sensor data is associated with a location at a reference map epoch. The compiler is not then required to shift any sensor data to compensate for displacement between the data being acquired and the time of generation of the map. The adjusted sensor data may simply be used to provide a map reflecting the situation at the reference time, corresponding to the map epoch e.sub.map.

    [0213] It will be appreciated e.g. as illustrated in the examples above, that the map epoch may or may not correspond to the actual time of map generation, as, when a map is generated, sensor data, or other data used in compiling the map, may be adjusted so as to reflect the situation at the reference time. This may enable multiple maps to be generated sharing the same epoch, helping to ensure compatibility between the maps, and facilitating use of the displacement maps of the present invention. This may be achieved e.g. by shifting sensor data obtained by mapping vehicles back in time, to a desired standard map epoch. It is further noted that the map epoch need not necessarily be a common value for the entire map. Thus references herein to a map epoch, or map generation time, refer to the relevant epoch or time in respect of at least the portion of the map being considered i.e. the portion covering the location of interest.

    [0214] Displacement Map Generation—Displacement Since Map Epoch

    [0215] It is desirable for HD map information to remain unchanged for relatively long periods of time as this reduces map generation and map distribution resources. Preferably, the core HD map information remains constant for some years. As described above, if the HD map (generation) epoch e.sub.map and the localization epoch e.sub.loe are too far apart, crustal dynamics will cause inconsistencies and failures in the localization process. In the example described, the map epoch may be referred to as the map generation epoch. However, it will be appreciated that this may correspond to the actual time of generation of the map, or an earlier reference time used in generating the map as described earlier.

    [0216] Frequently updating the map to a new epoch is not an attractive solution to this problem, because it involves considerable costs for generating a HD map and distributing the new version of the HD map. Instead, in some exemplary implementations of the present invention, a map server creates a separate map or a separate map layer containing displacement information. As outlined above, displacement information is indicative of the changes in positions at locations e.g. a network of reference locations which occur between different times e.g. between particular epochs of interest, as a result of crustal dynamics. The invention thus enables the HD map, which comprises a large amount of data (including geographical coordinates), to be kept in the same epoch for many years, while still being usable to perform functions, such as localization, using sensor data acquired at a later time or times. This substantially reduces map compilation and HD map distribution costs.

    [0217] Various techniques which may provide the map client and the HD map applications with access to displacement map data that supports transforming the HD map from the map generation epoch e.sub.map to an HD map at a (later) displacement epoch e.sub.dis will now be described. The displacement epoch e.sub.dis is a more recent epoch than the map generation epoch e.sub.map. The displacement epoch may correspond, or be close enough to any epoch of interest to which it is desired to update the HD map data in order to perform functions using the data. In the exemplary embodiments which use the HD map data in localization processes, the displacement epoch is close enough to the localization epoch e.sub.loe used in the vehicle, so that crustal dynamics between these two epochs is negligible.

    [0218] The displacement map contains data indicative of a plurality of reference locations, which are each associated with displacement information. The nature of crustal dynamics causes displacements to be similar over large map areas. This makes it possible to establish a relatively efficient encoding of the displacement information. A displacement refers to the change in position of a location e.g. reference location, between times of interest e.g. epochs.

    [0219] A first option is to use a relatively sparse network of reference locations and their displacements from the map generation epoch e.sub.map to the displacement epoch e.sub.dis. As described previously, in some preferred embodiments the network of reference locations defines triangles T, with reference locations at the vertices. The triangles are tessellating triangles. Each reference location has an associated displacement (change in position) that occurred from e.sub.map to e.sub.dis. The use of tessellating triangles for encoding displacements has the advantage that it is continuous at the edges between the different triangles.

    [0220] As an example, reference to FIG. 6B, containing three triangles, is used. In the example the displacement map contains three triangles (T.sub.1, T.sub.2, T.sub.3). The displacement map then contains the information: (T.sub.1, r.sub.1, r.sub.2, r.sub.3), (T.sub.2, r.sub.1, r.sub.3, r.sub.4), (T.sub.3, r.sub.4, r.sub.3, r.sub.5), (r.sub.1, d.sub.1), (r.sub.2, d.sub.2), (r.sub.3, d.sub.3), (r.sub.4, d.sub.4), (r.sub.5, d.sub.5), e.sub.map, e.sub.dis. Thus, the displacement map includes data indicative of the displacement of the vertices of the triangle T between e.sub.map and e.sub.dis. It is noted that e.sub.map may also be associated with a triangle. However, this is only optional. e.sub.dis may be represented using a displacement map version number.

    [0221] Referring now to the flowchart of FIG. 9, in one exemplary embodiment using such data, the method comprises receiving an indication of a location of interest p—step 10. This is a location with respect to a map. In step 12 the method comprises, for the location of interest p, determining a displacement d for the location of interest p by searching the displacement map data to find the triangle T that covers the location p. In step 14 the method involves transforming the location p to a barycentric coordinate for the triangle T. The determining step may cache results of locations and matching triangles for speeding up future triangle searches. The barycentric coordinates and the displacements of the vertices of triangle T are then used to calculate the displacement d for the location p between e.sub.map and e.sub.dis—step 18. As the triangles are relatively large and the displacement only varies slowly over these triangles, these steps may be done infrequently or use previous results to speed up the displacement determination for a location that is not much different from a previous location. In step 20 the determined displacement d for the location p is used to adjust the position of location of interest p to compensate for displacement d which has occurred due to crustal dynamics between e.sub.map and e.sub.dis.

    [0222] The displacement map can be applied both for streaming HD map delivery services, as well as delivery of HD map content on storage media or downloaded as a HD map content file. In these approaches the displacement map is a separate map that can be applied by the map application.

    Displacement Speed Mans

    [0223] In other embodiments, a displacement map is obtained comprising data indicative of a speed of displacement at each reference location, rather than indicative of the displacement i.e. change in position in the position of the location between different times e.g. epochs of interest.

    [0224] Thus, while in the embodiments described above the displacement d is indicative of a difference in the position pa of the location at an epoch e.sub.a and a position p.sub.b of the location at an epoch e.sub.b, another option is to use a displacement speed v. The displacement speed describes a linearly changing location p which may be obtained by the formula

    [00002] v = p b - p a e b - e a = d e b - e a ( Equation 2 )

    [0225] The speed can be used to determine a displacement d′ at any epoch e of interest, e.g. by using the formula: d′=v*(e−e.sub.a). This shows that the displacement can be determined at any one of a range of times i.e. epochs based on a displacement speed value for a location obtained from the displacement map, and a start epoch i.e. time. The displacement speed value may be used together with a difference between an epoch of interest e.g. a current time, and a reference start time e.sub.a (i.e. epoch), from which the displacement is desired to be determined e.g. a time (or epoch) at which the position of the location is known e.g. a map epoch. It should be clear that v may be a constant velocity or a more complex expression.

    [0226] In some cases the displacement speed may be used to describe a change to a base displacement do that exists at the first epoch e.sub.a using the formula: d′=d.sub.0+v*(e−e.sub.a).

    [0227] Displacement maps including displacement speed data are useful to determine displacements for a range of epochs compared to a single epoch for a displacement map including only displacement distance data. A displacement speed map also requires knowledge of an epoch value (i.e. an epoch for which the position of a location of interest e.g. map location is desired to be determined) in addition to the position of the location e.g. map location at a given (e.g. earlier) epoch to determine the displacement for that map location.

    [0228] Using the example of the displacement map of the previous section, a displacement speed map for the example can be represented as; (T.sub.1, r.sub.1, r.sub.2, r.sub.3), (T.sub.2, r.sub.1, r.sub.3, r.sub.4), (T.sub.3, r.sub.4, r.sub.3, r.sub.5), (r.sub.1, v.sub.1), (r.sub.2, v.sub.2), (r.sub.3, v.sub.3), (r.sub.4, v.sub.4), (r.sub.5, v.sub.5), e.sub.map Using this displacement speed map information, the displacement d.sub.2 for r.sub.2 at e.sub.dis can be obtained by d.sub.2=v.sub.2*(e.sub.dis−e.sub.map).

    [0229] Referring to FIG. 10, a method of determining the displacement at a location of interest using displacement speed data may comprise;

    [0230] Receiving an indication of a location of interest p in a map corresponding to the position of the location at the map epoch e.sub.map—step 24

    [0231] Searching the displacement map data to find the triangle T that covers the location p—step 26

    [0232] Transforming the location p to a barycentric coordinate for the triangle T—step 28

    [0233] Using the displacement speed data associated with the vertices of the triangle T to determine a displacement for each vertex between e.sub.map and e.sub.dis-step 30;

    [0234] Using barycentric coordinates and the determined displacements of the vertices of triangle T to calculate the displacement d for the location p between e.sub.map and e.sub.dis—step 32

    [0235] Use determined displacement d for the location p to adjust position of location of interest p to compensate for displacement d which has occurred due to crustal dynamics—step 34.

    [0236] Of course, the method could be performed in other manners, e.g. by determining a displacement speed associated with each vertex to determine a displacement speed at the location p, and thus a displacement at p between the relevant times etc.

    [0237] Other variants may use other interpolation techniques such as Kriging for estimating the displacement for a location as a function of epoch. It should be clear that different interpolation techniques require different parameters for determining the displacement.

    [0238] Overview

    [0239] The present invention provides methods of generating displacement maps and methods of adjusting location data using displacement map data. A functional diagram of one exemplary system for generating displacement map data, and adjusting location data using the displacement map data is shown in FIG. 11.

    [0240] FIG. 11 shows a server infrastructure for generating displacement maps and the vehicle environment where the displacement map data is used to adjust a map location from a map coordinate system (i.e. first reference frame) to a vehicle coordinate system (i.e. second reference frame). The location adjustment also may be applied in the reverse direction. The various implementations of the invention are presented in more detail below.

    [0241] The displacement map server generates displacement map data, for example in accordance with any of the embodiments described. The displacement map data is generated based on HD map data, reference location data, and reference location information. The reference location information is indicative of the displacement of the reference locations between different times e.g. in terms of change in position or a displacement speed as described above. The different times include at least a map epoch, corresponding to a reference time associated with the map, and a current epoch i.e. current time. Thus, the displacement map data comprises displacement map data providing information indicative of the displacement of the reference locations between the map epoch and a current time. This may be achieved in various manners. For example, in one simple embodiment, the displacement map data comprises a displacement speed for each reference location, which may be used to determine the displacement of each reference location relative to the map epoch at any given time of interest i.e. current time, based on the difference between the current time, and the map epoch.

    [0242] The location adjustment sub-system may transform the position of any location with respect to the map coordinate system at a given epoch (time) to a position with respect to the vehicle coordinate system at that epoch (or vice versa), in a manner which compensates for changes in the position of the location which have occurred due to crustal dynamics between the current time e.g. time of localization and the map epoch.

    Localization Using Sensor Data, HD Maps and Displacement Maps

    [0243] Embodiments of the invention will now be described in relation to the case in which the invention is used in determining a displacement for adjusting the position of locations for use with HD map data, in a method that comprises; acquiring a first location, using the first location to obtain displacement map data, and processing the displacement map data to generate a displacement related to the first location.

    [0244] In one embodiment of the invention a method for providing an absolute localization based on vehicle sensor data and HD map data is provided. The functional diagram for the method is shown in FIG. 12.

    [0245] FIG. 12 shows an HD map localization module with an additional location adjustment sub-system for implementing the techniques of the present invention. The location adjustment sub-system acquires displacement map data from the displacement map server.

    [0246] Sensor data from sensors associated with the vehicle is received by an object detection sub-system of the localization module. In this exemplary embodiment, the object data used by the localization module is in the map reference frame (having previously been converted from the vehicle system), such that it may be used directly in the map matching process, although other arrangements may be used. The object data is provided to a map matching sub-system of the localization module. The map matching sub-system uses the detected object data and HD map data to match the detected object to a map object. This provides a map object corresponding to the detected object in the map reference frame. The position of this map object is then provided to a location adjustment sub-system. The location adjustment sub-system uses the displacement map data to adjust the determined location of the object for the effects of crustal dynamics which has occurred between the current i.e. localization time/epoch and the map epoch based on determining a displacement for the position of the object between these times/epochs. If the displacement map data does not include data for the exact current/localization epoch, then the closest epoch for which data is available will be used e.g. a most recent version of the displacement map data (which should generally approximate the current displacement to a sufficient degree, given that crustal dynamic changes tend to be relatively small with respect to time). If a displacement speed is used, then this may more easily enable a displacement for any current/localization time to be obtained and used. The adjusted location is provided to the vehicle.

    [0247] In this way the location of the detected object in the vehicle reference frame is provided, which takes into account the effects of crustal dynamics. This adjusted location is the output and used in determining a position of the vehicle. The location adjustment sub-system may also output data indicative of the epoch to which the localization has been adjusted.

    [0248] The localization module thus uses a location from the map object matching sub-system and the displacement map data to adjust the location to provide an absolute location, which is output for use in determining the location of the vehicle. The absolute location is a location according to a common reference system as used in the vehicle e.g. as described in in ITRF2014.

    [0249] In a variant the HD map localization module operates on HD map objects as shown in FIG. 13A. In these embodiments vehicle sensor data is input to an object detection sub-system as in the embodiment of FIG. 12. Rather than performing adjustment to compensate for the effects of crustal dynamics once an object has been map matched and the position transformed to the vehicle reference system, in these embodiments, the location adjustment sub-system acts upon the HD map data itself. The HD map data is input to the location adjustment sub-system, and displacement map data accessed and used with the HD map data to provide adjusted HD map data for input to the map object matching sub-system. The adjusted HD map data is map data in which the position of map objects according to the initial HD map data has been shifted using the displacement map data to account for changes in the position of the map objects due to crustal dynamics occurring between the map epoch, and the current time e.g. time of localization. The HD map data may therefore be considered to have been shifted from an initial, first reference frame, to a second, adjusted reference frame. The location adjustment sub-system may output the epoch to which adjustment has been performed.

    [0250] The map matching of an object may then be performed in relation to the adjusted HD map data. The determined position of the location of the object determined according to the adjusted HD map data provides a position of the object already adjusted for the effects of crustal dynamics. In this way, by first adjusting the HD map data itself, map matching of multiple objects for a particular epoch e.g. localization epoch may be more efficiently performed, rather than needing to adjust the location of detected objects on an object by object basis.

    [0251] One embodiment of a method using the localization module of FIG. 13A will now be described by reference to FIG. 13B.

    [0252] In step 40 positions of map objects according to HD map data in initial map reference frame are determined.

    [0253] In step 42 a displacement of each position from map epoch to later localization epoch is determined.

    [0254] In step 44 the position of map objects to provide map data is adjusted to provide map data in an updated map reference frame.

    [0255] In step 46 data indicative of a detected object is received.

    [0256] In step 48 a map object corresponding to detected object using adjusted map data is detected.

    [0257] In step 50 a position of the map object according to adjusted map data is output.

    [0258] In yet another variant, the localization adjustment may be performed in relation to retrieved HD map information e.g. map objects. This variant is shown in more detail in FIG. 14.

    [0259] FIG. 14 shows an HD map client associated with a vehicle. The HD map client receives an HD map object request from an HD map application in the computing infrastructure of the vehicle (not shown). The HD map client processes the request as usual retrieving the relevant HD map data and extracting the requested HD map object. However, the map object is then provided to the location adjustment sub-system. The location adjustment sub-system receives the map object and adjusts the position e.g. coordinates of the object to the common coordinate system as used in the vehicle. Thus, the position of the map object is transformed from the map reference frame to the vehicle reference frame. However, this transformation is performed in a manner which adjusts for the effects of crustal dynamics. The location adjustment sub-system determines a displacement for the position i.e. coordinates of the map object using the displacement map data, and provides, as output, the position of the adjusted map object in the reference frame of the vehicle system.

    [0260] The location adjustment sub-system may associated data indicative of the displacement for the map object with the data indicative of the map object for optional use by an HD map application.

    HD Map Updates after Major Map Release

    [0261] While embodiments have been described with particular reference to the case in which a position is adjusted from a map generation epoch to a later localization epoch, the invention is equally applicable to other epoch adjustments in either direction e.g. to adjustments from a later epoch to an earlier map generation epoch. For example, in some cases, a HD map compiler may need to provide updates to a relatively small portion of a map area due to changes of the road network or to the detectable geospatial objects. This may require a map compiler to generate displacement from a later acquisition epoch to an earlier map (generation) epoch in order to avoid recompiling the entire HD map. In some embodiments, the displacement map data is used to determine a displacement of the position of a sensed object from a later acquisition epoch to the earlier map generation epoch.

    Tile Based Displacements (Displacement on a Tile Basis Instead of a Global Map Basis)

    [0262] In accordance with the invention in any of its aspects or embodiments a digital map with which the techniques are used may comprise a plurality of levels (or layers) with each level being divided into a plurality of tiles, in the manner described above. That is, the tiles may be arranged into a plurality of respective levels and each map tile may thus contain object information for its associated level of the map. For instance, different levels of the map may be used to store different types of object data. Each map level may thus contain a sub-set of the available map information. For example, a base level of the map may contain the basic road geometry information (e.g. a set of arcs and nodes defining the navigable (e.g. road) network). Different types of object and/or attributes may then be stored at progressively higher levels in the map. This structure advantageously allows the map based application(s) requiring the map data to extract map data from any of the levels such that it is possible to extract (only) the relevant information for a map based application, depending on what information is required by the application.

    [0263] The present invention may be used generally in the context of the generating and provision of digital map data. In particular, the present invention may be used in conjunction with the provision of high definition digital map data. It will be appreciated that such maps are typically complex data structures including roads, road lanes, junctions, traffic information, points of interest and many other types of information. Accordingly, in order to reduce the amount of data that must be stored locally to a vehicle running a map-based application and/or to reduce the bandwidth required for transmitting the map data to the vehicle, the overall area being represented by the digital map may be (and in some embodiments of the present invention is) divided into a plurality of smaller area regions for data storage purposes, such that the device need only retrieve data relating to regions relevant to its current position and/or predicted driving path. In the present invention the smaller area regions into which the overall area is divided into for mapping purposes are referred to as “tiles”. However, it will be appreciated that other equivalent terms could be used, and that the term “tile” does not imply any particular restrictions on the shape or size of the regions into which the digital map is divided.

    [0264] The use of such a tile-based approach may help provide a more efficient transmission and distribution of the map data from the various map data sources to the vehicles requiring the map data. For instance, an advantage of the tile-based approach is that it is possible to readily compile map data from different sources at the server (or at a plurality of servers) into a set of respective tiles, and then deliver or provide relevant map data, e.g. on a tile-by-tile basis, to vehicles requiring map data for the regions covered by the tiles. The tile data structure(s) can then be unpacked, e.g., by a suitable client application (interface) executing on one or more processor(s) on-board the vehicle in order to extract the desired (map) object data which can then be distributed to various map-based applications running within the in-vehicle environment, as required.

    Of course, it is not necessary that a tile-based approach is used.

    [0265] In some embodiments, displacement maps may be delivered included in a displacement map layer. In one such embodiment, the map tile contains displacement triangles that are relevant to that map tile. One such embodiment is illustrated in FIG. 15.

    [0266] FIG. 15 shows a displacement map with 6 triangles and 4 map tiles. The tiles and triangles are of comparable size. Map tile M.sub.x,y+1 needs to reference all six triangles, M.sub.x+1, y+1 only requires three triangles.

    [0267] For larger triangles the situation is different as shown in FIG. 16.

    [0268] FIG. 16 shows a large triangle T spanning a large number of map tiles M. In this case, map tile Mx,y only contains information for the triangle T.

    [0269] The example of FIG. 16 shows a triangle that is substantially larger than a map tile. Hence, a variant implementation may associate a single displacement value e.g. vector with a map tile of an HD map layer. Each of these map tiles may then be assigned a single displacement value. Such a variant may then distribute the displacements as a mesh-grid. In general, as the displacements are generally similar for cells that are relatively close, such a displacement map can be efficiently encoded using compression techniques (run length encoding, image compression, DCT encoding, etc). This variant also can be used to deliver displacement speed maps or other types of displacement interpolation maps. The parameters for these variant maps can be encoded and distributed as a mesh grid (representing a collection of small map tiles).

    [0270] It will be appreciated that different formats of displacement map data may be used depending upon the context for which the data is required, and system capabilities etc. Variants using map tiles not enable such efficient encoding to be provided than might a separate displacement map using encodings of triangles only, but may provide other advantages in certain contexts.

    [0271] The foregoing detailed description has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the technology described herein to the precise form disclosed. Many modifications and variations are possible in the light of the above teaching. The described embodiments were chosen in order to best explain the principles of the technology described herein and its practical applications, to thereby enable others skilled in the art to best utilise the technology described herein, in various embodiments and with various modifications as are suited to the particular use contemplated. Thus, the features disclosed in this specification, the figures and/or the claims may be material for the realization of various embodiments, taken in isolation or in various combinations thereof. Furthermore, although the present invention has been described with reference to various embodiments, it will be understood by those skilled in the art that various changes in form and detail may be made without departing from the scope of the invention as set forth in the accompanying claims.