[go: up one dir, main page]

WO2017123130A1 - Method and control unit for a self-learning map - Google Patents

Method and control unit for a self-learning map Download PDF

Info

Publication number
WO2017123130A1
WO2017123130A1 PCT/SE2016/051235 SE2016051235W WO2017123130A1 WO 2017123130 A1 WO2017123130 A1 WO 2017123130A1 SE 2016051235 W SE2016051235 W SE 2016051235W WO 2017123130 A1 WO2017123130 A1 WO 2017123130A1
Authority
WO
WIPO (PCT)
Prior art keywords
vehicle
grid
pixel
determined
based representation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/SE2016/051235
Other languages
French (fr)
Inventor
Per Sahlholm
Sebastian FABIAN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Scania CV AB
Original Assignee
Scania CV AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Scania CV AB filed Critical Scania CV AB
Priority to DE112016005693.1T priority Critical patent/DE112016005693T5/en
Priority to BR112018013213A priority patent/BR112018013213A2/en
Publication of WO2017123130A1 publication Critical patent/WO2017123130A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • G01C21/3881Tile-based structures
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3484Personalized, e.g. from learned user behaviour or user-defined profiles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3605Destination input or retrieval
    • G01C21/3617Destination input or retrieval using user history, behaviour, conditions or preferences, e.g. predicted or inferred from previous use or current movement
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0108Measuring and analyzing of parameters relative to traffic conditions based on the source of data
    • G08G1/0112Measuring and analyzing of parameters relative to traffic conditions based on the source of data from the vehicle, e.g. floating car data [FCD]
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/09626Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages where the origin of the information is within the own vehicle, e.g. a local storage device, digital map
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/0969Systems involving transmission of navigation instructions to the vehicle having a display in the form of a map

Definitions

  • a control unit and methods therein are described for predicting a vehicle route by establishing and using a database, comprising a plurality of grid-based representations of a geographical landscape, each grid-based representation comprising a plurality of discrete pixels and being associated with a distinct direction.
  • a possible solution to this problem is to use a map, provided by a third party.
  • Such map comprises information that make it possible to generate a prediction of how the road ahead of the vehicle will look like in terms of road slope.
  • the maps used today are static, i.e. they are not updated once the map is installed in the vehicle. Vehicle maps may therefore lack coverage in certain regions where accurate map data is not available, e.g. on recently built roads or on small roads which are too uneconomical to map.
  • some particular environments may be very dynamical such as e.g. mines, building sites, deforestation areas, storage areas in a harbour, a load terminal or similar. Even in case map data is available, the data may be outdated and thereby be useless for the above mentioned purposes.
  • Document US2014278064 concerns an apparatus for providing route information to a user using e.g. personal computer for health applications, has processing device for comparing desired route characteristic information with stored route data and suggesting stored routes to the user.
  • the document describes an apparatus for assisting a user in selecting route.
  • a colour coded heat map is generated over an area based on popularity of different routes by various other users.
  • Document EP1551 195 concerns an information acquisition device e.g. car navigation sys- tem, which predicts the destination of the car by determining search conditions for precise prediction, and acquires information about predicted destination from a database.
  • an information acquisition device e.g. car navigation sys- tem, which predicts the destination of the car by determining search conditions for precise prediction, and acquires information about predicted destination from a database.
  • Document WO20141 1 1537 discuss a computer-implemented method for creating map data, which involves applying threshold calculation to heat map to identify zones on network having high concentration of traffic accidents. This collected information is then utilised for indi- eating vehicle routes where the risk of accidents is increased.
  • Document US2015177005 presents a computer-implemented method for varying degree of precision in navigation data analysis for customising map content. A heat map is generated to show the amount of users moving in an area.
  • Document US2014288821 discloses a method for predicting arrival time of a transit vehicle at a transit stop of a transit route, which involves predicting time of arrival of the particular vehicle based on the current position of the vehicle and historical data of other vehicles hav- ing driven the same route.
  • this objective is achieved by a method for building a database, thereby enabling prediction of a vehicle route.
  • the database comprises a plurality of grid-based representations of a geographical landscape, each grid-based representation comprising a plurality of discrete pixels and being associated with a range of directions.
  • the method comprises observing geographical position of a vehicle. Further the method comprises determining a driving direction of the vehicle at the observed geographical position. Also, the method comprises selecting one grid-based representation out of the plurality of grid-based representations, based on the determined driving direction. In addition, the method furthermore comprises determining a pixel in the selected grid-based representation, corresponding to the observed geographical position.
  • the method in addition comprises incrementing a frequency counter associated with the determined pixel in the selected grid- based representation, counting an amount of times the vehicle has passed the pixel in the determined driving direction. Further the method also comprises storing the incremented frequency counter value, associated with the determined pixel in the selected grid-based rep- resentation in the database.
  • a control unit in a vehicle aims at building a database for enabling prediction of a vehicle route.
  • the database comprises a plurality of grid-based representations of a geographical landscape, each grid-based representation comprising a plurality of discrete pixels and being associated with a range of directions.
  • the control unit is configured to observe geographical position of a vehicle. Further, the control unit is configured to determine a driving direction of the vehicle at the observed geographical position. Also, the control unit is additionally configured to select one grid-based representation out of the plurality of grid-based representa- tions, based on the determined driving direction. Furthermore, the control unit is configured to determine a pixel in the selected grid-based representation, corresponding to the observed geographical position.
  • the control unit is in further addition configured to increment a frequency counter associated with the determined pixel in the selected grid-based representation, counting an amount of times the vehicle has passed the pixel in the determined driving direction. Further the control unit is also configured to store the measured at least one location-dependent parameter and the incremented frequency counter value, associated with the determined pixel in the selected grid-based representation in the database.
  • this objective is achieved by a method for predicting a route of a vehicle, by using a database.
  • the database comprises a plurality of grid- based representations of a geographical landscape, each grid-based representation comprising a plurality of discrete pixels and being associated with a range of directions.
  • the method comprises observing geographical position of the vehicle.
  • the method also comprises determining a driving direction of the vehicle at the observed geographical position.
  • the method additionally comprises selecting one grid-based representation out of the plurality of grid-based representations, based on the determined driving direction.
  • the method also comprises determining a pixel in the selected grid-based representation, corresponding to the observed geographical position.
  • the method furthermore also comprises predicting a next position pixel of the vehicle, neighbour to the determined pixel in the selected grid-based representation, based on a frequency counter value of the neighbour pixels.
  • this objective is achieved by a control unit in a vehicle.
  • the control unit aims at predicting a route of a vehicle by using a database.
  • the database comprises a plurality of grid-based representations of a geographical landscape, each grid-based representation comprising a plurality of discrete pixels and being associated with a range of directions.
  • the control unit is configured to observe geographical position of the vehicle. Further the control unit is configured to determine a driving direction of the vehicle at the observed geographical position. In addition, the control unit is furthermore configured to select one grid-based representation out of the plurality of grid-based representations, based on the determined driving direction. Also the control unit is furthermore configured to determine a pixel in the selected grid-based representation, corresponding to the observed geographical position. The control unit is in further addition also configured to predict a next position pixel of the vehicle, neighbour to the determined pixel in the selected grid-based representation, based on a frequency counter value of the neighbour pixels.
  • Figure 1 illustrates a side view of a vehicle according to an embodiment
  • Figure 2A illustrates an overview of a vehicle driving on a road and a correspondence between the geographical landscape and a grid-based representation thereof
  • Figure 2B illustrates a view a vehicle driving on a road and a plurality of grid-based representations, wherein one is selected based on the vehicle direction;
  • Figure 2C illustrates an example of road slopes when the vehicle is passing three cells of the grid-based representation
  • Figure 2D illustrates stored parameter values associated with different pixels in a grid- based representation
  • Figure 2E illustrates an example of route prediction of the vehicle according to an embodiment
  • Figure 3A illustrates an example of a vehicle interior according to an embodiment
  • Figure 3B illustrates an example of a vehicle interior according to an embodiment
  • Figure 4 is a flow chart illustrating an embodiment of a method
  • Figure 5 is an illustration depicting a control unit and system according to an embodiment
  • Figure 6 is a flow chart illustrating an embodiment of a method. DETAILED DESCRIPTION
  • Embodiments of the invention described herein are defined as methods and a control unit, which may be put into practice in the embodiments described below. These embodiments may, however, be exemplified and realised in many different forms and are not to be limited to the examples set forth herein; rather, these illustrative examples of embodiments are pro- vided so that this disclosure will be thorough and complete.
  • Figure 1 A illustrates a scenario with a vehicle 100 driving in a driving direction 105 on a road 110.
  • the vehicle 100 may be e.g. a truck, a bus, a van, a car, a motorcycle or any other similar type of vehicle with or without an attached trailer.
  • the vehicle 100 comprises one or more on-board vehicle sensors for measuring e.g. road slope, curvature, vehicle velocity, selected gear, height, etc.
  • the vehicle 100 also comprises a positioning unit for determining a geographical position of the vehicle 100.
  • the vehicle 100 may establish a self-learning map which may be updated continuously, or at certain predetermined or configurable time intervals. The established map may then be used to predict the route through the map in order to output a road grade prediction in real time.
  • the map is stored in a raster format, divided into discrete pixels.
  • Each pixel may correspond to e.g. about 10x10 meters, 20x20 meters, 30x30 meters, etc., in different embodiments.
  • the map is further divided into several directional heat maps, or grid-based representations of the geographical landscape, each representing a direction span. If 4 directions are chosen, these may be north, east, south and west and the direction span of each directional heat map would be 90 degrees.
  • the concept of having a plurality of grid-based representations associated with different direction spans is not limited to 4 grid-based representations associated with direction spans of about 90 degrees each, but may comprise e.g. 2 grid-based representations associated with direction spans of about 180 degrees each; 3 grid-based representations associated with direction spans of about 120 degrees each; 5 grid-based representations associated with direction spans of about 72 degrees each; 6 grid-based representations associated with direction spans of about 60 degrees each; 7 grid-based representations associated with direction spans of about 51 degrees each; 8 grid-based representations associated with direction spans of about 45 degrees each, etc.
  • the pixels may be small, equally sized area elements, which may have any area covering format such as e.g. quadratic, rectangular, triangular, pentagonal, hexagonal, etc., or a combination of these or other formats.
  • the system may estimate road grade and current location data periodically, and use this data to build the map.
  • the current heading or driving direction 105 of the vehicle 100 may in some embodiments be determined by a heading between two previous data points and the heat map most closely matching this heading may be recalled.
  • the pixel wherein the current location resides may then be recalled and its heat value or frequency value may be increased.
  • only pixels having data recorded, i.e. that have been visited are stored.
  • the current heading or driving direction 105 determines which of the heat maps to recall, and the current vehicle location determines which pixel of that selected heat map. Its neighbouring pixels in the same heat map may then be examined to find the hottest one, and this may be selected as the next pixel of the predicted path of the vehicle 100. This process may then be iterated for the desired prediction length, at each step updating the location of the vehicle 100 to the latest selected pixel and calculating a new heading based on the heading between the selected pixels in the prediction. After this step is done, the series of pixels may be examined in order to extract their respective road slope values, if these values have been stored.
  • CAN Controller Area Network
  • the performance may be measured by the average road grade prediction error at each point in a 2500-meter-long prediction, sampled hundreds of times along a simulated drive.
  • the result in highway driving is more than 50% smaller average error than previously known solutions based on a single grid based predictive roadmap algorithm while storage require- ments are decreased by almost 30%.
  • the disclosed method may be in particular advantageous in road crossings in the same or different planes.
  • a conflict in road data at the point where the highway passes over another road arises because the same pixel is sometimes passed through on the highway, and sometimes below, each time updating the map with conflicting data, ultimately leading to the wrong prediction of "jumping off the highway.
  • each prediction can be assigned 10 a heat value, the sum of the heat of its pixels, which provides a measure to compare the quality of a prediction against other possibilities.
  • Figure 2A discloses the vehicle 100 driving in the driving direction 105 on the road 1 10.
  • a map 200 is stored in a raster format, divided into discrete pixels 211 , 212, 213, 214, 221 , 15 222, 223, 224, 231 , 232, 233, 234, 241 , 242, 243, 244.
  • the second integer indicates the vertical coordinate while the third integer indicates the horizontal coordinate. The situation may be the opposite in other examples.
  • FIG. 2B a plurality of grid-based representations 200-1 , 200-2, 20 200-3, 200-4 of the geographical landscape, each of them associated with a range of directions 210-1 , 210-2, 210-3, 210-4, stored in a database.
  • data may be measured with an on board sensor and stored in some embodiments, e.g. road slope.
  • only passing frequency may be determined and stored, for each passed pixel 21 1 , 212, 244 in the grid-based representations 200-1 , 200- 2, 200-3, 200-4.
  • the vehicle 100 determines its geographical position via a positioning device while driving 30 on the road 1 10.
  • the heading between at least two recently determined geographical positions when entering the current pixel may determine the driving direction 105 of the vehicle 100.
  • the determined driving direction 105 of the vehicle 100 is then compared with the ranges of 35 directions 210-1 , 210-2, 210-3, 210-4 in an action A.
  • the range of directions 210-2 embracing the driving direction 105 is then determined.
  • the associated grid-based representation 200-2 is selected out of the plurality of grid- based representations 200-1 , 200-2, 200-3, 200-4.
  • a pixel 223 in the grid-based representation 200-2 wherein the vehicle 100 is currently situated is determined, based on the determined geographical position of the vehicle 100.
  • a frequency counter associated with the pixel 223 in the grid-based representation 5 200-2 wherein the vehicle 100 is determined to be positioned is incremented.
  • the neighbour pixel 222 with the highest stored frequency counter value is determined and the vehicle 100 is estimated to drive to this pixel 222. This process may then be repeated for as long as desired. In case the vehicle 10 100 is estimated to change driving direction 105, the actions A and B may then be repeated for selecting a new grid-based representation 200-1 , 200-2, 200-3, 200-4.
  • the vehicle 100 may measure one or more location-dependent parameters at the geographical position when driving.
  • the location-de-a may measure one or more location-dependent parameters at the geographical position when driving.
  • pendent parameter may be e.g. road slope, curvature, height, selected driving gear, vehicle velocity or similar parameter measured by a system or entered by the driver of the vehicle 100. This or these parameter/ s may be stored associated with the determined pixel 223 in the selected grid-based representation 200-2 in the database. The current day of the week, time of the day, or other status information may additionally be stored for some attributes, to
  • Figure 2C discloses the vehicle 100 driving in the driving direction 105 in the pixel 223.
  • the Figure illustrates an example of the topographical differences the vehicle 100 will experience when passing three cells 222, 223 and 234, in an arbitrary example.
  • the distance of the predicted route of the vehicle 100 may be estimated, in some embodiments.
  • Figure 2D illustrates an example of frequency counter values and measured road slope, associated with pixels 21 1 , 212, 244 of the selected grid-based representation 200-2, in 30 a non-limiting example.
  • the road slope and/ or height profile may be of interest when an optimal velocity profile is derived to reduce the fuel consumption.
  • a time reference value may be determined and stored, associated with each measurement in order to enable aging.
  • Aging is the process of lowering the heat at each pixel 21 1 , 212, 244 after some time period, for the purpose of keeping all values from overflowing their data type. If the value was simply capped, the steady state may be a map of equally hot pixels 21 1 , 212, 244 at the maximum limit, which would defeat the purpose of such a map. Therefore, some type of aging may be useful to preserve the data and also to allow to get rid of obsolete data, e.g. in case of changed driving routines or changed vehicle owner.
  • An alternative solution may be to perform the aging at a single pixel 21 1 , 212, ... , 244 when it is passed through.
  • the heat of the current direction 105 may be calculated. If it is at the maximum bound of its data type, all values may be scaled back by some scalar. This keeps the proportions intact, and prevents overflow in a manner with very low compu- 15 tational overhead.
  • a conditional statement may be added, which is bypassed the majority of time (depending on the scalar chosen and data type). When it is triggered, a few multiplication operations are carried out, the same number as the number of directional heat maps 200-1 , 200-2, 200-3, 200-4. Another possibility is to subtract all values by e.g. one for all pixels 21 1 , 212, ... , 244 except the current one.
  • Figure 2E illustrates an example of route prediction of the vehicle 100 when driving on the road 1 10 through the geographical landscape.
  • the corresponding directional heat map 200-1 , 200-2, 200-3, 25 200-4 is used to calculate the next likely pixel 21 1 , 212, ... , 244.
  • the correct heat map 200-1 , 200-2, 200-3, 200-4 may be determined by calculating the current heading 105 and assigning it to one of the predefined direction spans 210-1 , 210-2, 210-3, 210-4, depending on the number of directions of the directional heat maps 200-1 , 200-2, 200-3, 200-4.
  • the current direction 105 may be calculated as a heading between the current pixel 223 and a passed pixel 21 1 , 212, 244 n places back. This may be kept track of by using a queue.
  • the distance n between which the heading is calculated may determine the granularity due to aliasing, and also willingness to change direction. As such, lower pixel size means better resolution.
  • each heat map 200-1 , 200-2, 200-3, 200-4 represents the frequency through which each pixel 211 , 212, 244 is travelled, on the condition that the direction falls within a threshold.
  • one of the e.g. four heat maps 200-1 , 200-2, 200-3, 200-4 may be chosen depending on the current direction 105 of the vehicle 100, and used to calculate the probability of the next pixel 21 1 , 212, ... , 244.
  • the desired output of the provided solution may be the road grade as a function of distance, the length of each point of the predicted route may be determined.
  • the result of the prediction is a series of pixels 211 , 212, 244 that the vehicle 100 is predicted to pass through, but the exact distance at each point is unknown.
  • Using the pixel size for estimating the distance would only yield a correct value for straight travel through the pixels 211 , 212, 244, perpendicular to one of the pixel sides, although it may be utilised for a rough estimation of a minimum value in some embodiments.
  • the desired result may be an approximation of the travel distance for each and every pixel 21 1 , 212, 244 in the horizon, in some embodiments.
  • a way of converting geographical position coordinates may be made.
  • a method of determining a plausible fine-grained path between the pixels 211 , 212, 244 of the horizon can be accomplished in a few different ways, such as e.g.
  • Figure 3A discloses a vehicle interior, according to an embodiment, illustrating an example of how the previous scenario may be perceived by the driver of the vehicle 100 when situated at any arbitrary position along the route.
  • a system 300 for vehicle route prediction may comprise a control unit 310, a positioning device 330 and a database 350.
  • the control unit 310 may be configured for predicting the route for the vehicle 100, from a current position of the vehicle 100, to a destination.
  • the control unit 310 may comprise, or be connected to the database 350, which may comprise a plurality of grid-based representations 200-1 , 200-2, 200-3, 200-4, each comprising a set of pixels 211 , 212, 244 representing geographical positions.
  • the database 350 comprises a plurality of grid-based representations 200-1 , 200-2, 200-3, 200-4 of a geographical landscape.
  • Each grid-based representation 200-1 , 200-2, 200-3, 200-4 comprises in turn a plurality of discrete pixels 21 1 , 212, 244 and is associated with a range of directions 210-1 , 210-2, 210-3, 210-4.
  • the database 350 is configured to store a frequency counter value, associated with a respective pixel 21 1 , 212, ... , 244 in at least one of the grid-based representations 200-1 , 200-2, 200-3, 200-4. Further, in some embodiments, the database 350 may also be configured to store at least one location-dependent parameter such as topographic data or curvature.
  • the database 350 is vehicle external and accessible for the control unit 310 via a transceiver 340 in the vehicle 100, over a wireless communication interface.
  • Various strategies for caching and synchronising subsets of the database 350 representing the local area around the vehicle 100 and its' predicted route may be employed to optimise wireless resource usage.
  • the location dependent parameters may be shared between multiple users of the database 350, while the frequency coun- ters may be specific for each user.
  • the frequency counters may be shared as well, or a weighted combination of private and shared frequency counters may be used.
  • Such wireless communication may comprise or be based on e.g. a Vehicle-to-Vehicle (V2V) signal, or any other wireless signal based on, or at least inspired by wireless communication technology such as Wi-Fi, Ultra Mobile Broadband (UMB), Wireless Local Area Network (WLAN), Bluetooth (BT), or infrared transmission to name but a few possible examples of wireless communications.
  • the geographical position of the vehicle 100 may be determined by the positioning device 330 in the vehicle 100, which may be based on a satellite navigation system such as the Navigation Signal Timing and Ranging (Navstar) Global Positioning System (GPS), Differential GPS (DGPS), Galileo, GLONASS, or the like.
  • GPS Global Positioning System
  • DGPS Differential GPS
  • Galileo Galileo
  • GLONASS or the like.
  • the geographical position of the positioning device 330, (and thereby also of the vehicle 100) may be made continuously with a certain predetermined or configurable time intervals according to various embodiments. Positioning by satellite navigation is based on distance measurement using triangulation from a number of satellites 360-1 , 360-2, 360-3, 360-4. In this example, four satellites 360- 1 , 360-2, 360-3, 360-4 are depicted, but this is merely an example. More than four satellites 360-1 , 360-2, 360-3, 360-4 may be used for enhancing the precision, or for creating redun- 5 dancy.
  • the satellites 360-1 , 360-2, 360-3, 360-4 continuously transmit information about time and date (for example, in coded form), identity (which satellite 360-1 , 360-2, 360-3, 360-4 that broadcasts), status, and where the satellite 360-1 , 360-2, 360-3, 360-4 are situated at any given time.
  • the GPS satellites 360-1 , 360-2, 360-3, 360-4 sends information encoded with different codes, for example, but not necessarily based on Code Division Multiple Ac- 10 cess (CDMA). This allows information from an individual satellite 360-1 , 360-2, 360-3, 360- 4 distinguished from the others' information, based on a unique code for each respective satellite 360-1 , 360-2, 360-3, 360-4. This information can then be transmitted to be received by the appropriately adapted positioning device comprised in the vehicles 100.
  • CDMA Code Division Multiple Ac- 10 cess
  • Distance measurement can according to some embodiments comprise measuring the difference in the time it takes for each respective satellite signal transmitted by the respective satellites 360-1 , 360-2, 360-3, 360-4 to reach the positioning device 330. As the radio signals travel at the speed of light, the distance to the respective satellite 360-1 , 360-2, 360-3, 360- 4 may be computed by measuring the signal propagation time.
  • the positions of the satellites 360-1 , 360-2, 360-3, 360-4 are known, as they continuously are monitored by approximately 15-30 ground stations located mainly along and near the earth's equator. Thereby the geographical position, i.e. latitude and longitude, of the vehicle 100 may be calculated by determining the distance to at least three satellites 360-1 , 360-2, 25 360-3, 360-4 through triangulation. For determination of altitude, signals from four satellites 360-1 , 360-2, 360-3, 360-4 may be used according to some embodiments.
  • the positioning device 330 may be presented on a map, a screen or a display device where the position of the 30 vehicle 100 may be marked.
  • the geographical position of the vehicle 100, the predicted route of the vehicle 100 and other possible information related to the route planning, such as a gear recommendation, a velocity recommendation, information concerning an upcoming road 35 slope etc., may be displayed on an interface unit 320.
  • the optional interface unit 320 may comprise a dashboard, a screen, a display, or any similar device.
  • Figure 3B discloses a vehicle interior, similar to the embodiment illustrated in Figure 3A. However, in this embodiment, the database 350 is situated in the vehicle 100, why the transceiver 340 may be redundant.
  • the system 300 for vehicle route prediction may comprise a control unit 310, a positioning device 330 and a database 350, all comprised within the vehicle 100.
  • the functionalities of these units 310, 330 and 350 may be the same or similar to the ones already discussed and explained in conjunction with the embodiment disclosed in Figure 3A.
  • the vehicle 100 may comprise an interface unit 320 such as e.g. a dashboard, a screen, a display, or any similar device.
  • an interface unit 320 such as e.g. a dashboard, a screen, a display, or any similar device.
  • the vehicle 100 may in addition in some embodiments comprise one or several devices for measuring at least one location-dependent parameter at the geographical position, such as 15 e.g. speed limits, curvature, road slope, height profile selected driving gear, vehicle velocity and/ or road type, for example.
  • the road slope and/ or height profile may be of interest when an optimal velocity profile is derived to reduce the fuel consumption.
  • That pixel 223 may be determined as part of the vehicle route and various road attributes such as road slope may be assigned to it.
  • frequency statistics is generated, continuously updated and 25 stored, associated with a pixel 21 1 , 212, ... , 244 in a grid-based representation 200-1 , 200- 2, 200-3, 200-4.
  • the frequency statistics may be used to determine the most probable next pixel 21 1 , 212, 244 to move into and thereby make a prediction of the vehicle route.
  • the pixel 21 1 , 212, 244 may be assigned a value and may hence be seen as visited.
  • 21 1 , 212, 244 on the edges of the first pixel 211 , 212, 244 may be studied in order to determine which of those has been visited before. By doing so a decision may be made concerning which pixel 21 1 , 212, ... , 244 is the most probable one to be the next pixel 21 1 ,
  • Figure 4 illustrates an example of a method 400 for building a database 350, according to 10 an embodiment.
  • the method 400 aims at enabling prediction of a vehicle route of a vehicle 100, based on the established database 350.
  • the database 350 comprises a plurality of grid- based representations 200-1 , 200-2, 200-3, 200-4, or heat maps, of a geographical landscape.
  • Each grid-based representation 200-1 , 200-2, 200-3, 200-4 comprises a plurality of discrete pixels 211 , 212, 244 and is associated with a range of directions 210-1 , 210-2, 15 210-3, 210-4.
  • the vehicle 100 may be any arbitrary kind of means for conveyance, such as a truck, a bus, a car, a motorcycle or similar.
  • the vehicle 100 may be driven by a driver, or be autonomous in different embodiments.
  • the method 400 may comprise a number of steps 401-407. However, some of these steps 401 -407 may be performed solely in some alternative embodiments, like e.g. step 405. Further, the described steps 401 -407 may be performed in a somewhat different chronological order than the numbering suggests. 25 The method 400 may comprise the subsequent steps:
  • Step 401 comprises observing geographical position of the vehicle 100.
  • the current vehicle position may be determined by a geographical positioning device 330, 30 such as e.g. a GPS. However, the current position of the vehicle 100 may alternatively be detected and registered by the driver of the vehicle 100.
  • the geographical position may be determined continuously while driving the vehicle 100 along the road 1 10, or at predetermined time intervals in different embodiments.
  • Step 402 comprises determining a driving direction 105 of the vehicle 100 at the observed 401 geographical position.
  • the driving direction 105 of the vehicle 100 at the observed 401 geographical position may be determined 402, in some embodiments, based on a heading between the observed 401 geographical position of the vehicle 100 and a previously observed 401 geographical position of the vehicle 100.
  • Step 403 comprises selecting one grid-based representation 200-2 out of the plurality of grid-based representations 200-1 , 200-2, 200-3, 200-4, based on the determined 402 driving direction 105.
  • the grid-based representation 200-2 having a range of directions 210-2 corresponding with the heading between the observed 401 geographical position of the vehicle 100 and a previously observed 401 geographical position of the vehicle 100, may be selected.
  • Step 404 comprises determining a pixel 223 in the selected 403 grid-based representation 15 200-2, corresponding to the observed 401 geographical position.
  • Step 405 which may be performed only in some particular embodiments, comprises measuring at least one location-dependent parameter at the observed 401 geographical position when driving in the determined 402 driving direction 105.
  • the at least one location-dependent parameter may comprise e.g. road slope, curvature, height profile, selected driving gear, vehicle velocity and/ or road type, for example.
  • the road slope and/ or height profile may be of interest when an optimal velocity profile is derived to reduce the fuel consumption.
  • Other attributes of interest to predict may comprise entities 25 such as arrival time, stored energy consumption, driving hazards etc.
  • the combination of the previously stored slope and the currently determined 405 slope may be made by computing a weighted mean value, giving the currently determined 404 slope a higher weight than the previously stored slope.
  • An average value of the at least one location-dependent parameter may be calculated and stored, based on a previously stored at least one location-dependent parameter and the measured 405 at least one location-dependent parameter. For some parameter types other auxiliary information such as the fraction of passes past the current position a feature has 35 been observed may be stored.
  • Step 406 comprises incrementing a frequency counter associated with the determined 404 pixel 223 in the selected 403 grid-based representation 200-2, counting an amount of times the vehicle 100 has passed the pixel 223 in the determined 402 driving direction 105.
  • the frequency counter associated with the determined 404 pixel 223 may be incremented up to a threshold limit.
  • the threshold limit may be predetermined or configurable. Further the method 400 may comprise, when the frequency counter reaches the threshold limit, decreasing frequency counters associated with the determined 404 pixel 223 in all grid-based representations 200-1 , 200-3, 200-4, except the selected 403 grid-based representation 200-2.
  • Step 407 comprises storing the incremented 406 frequency counter value, associated with the determined 404 pixel 223 in the selected 403 grid-based representation 200-2 in the database 350.
  • the measured 405 at least one location dependent parameter may be stored, associated with the determined 404 pixel 223 in the selected 403 grid-based representation 200-2 in the database 350.
  • a generated time reference value may be stored associated with the determined 404 pixel 223 in the selected 403 grid-based representation 200-2.
  • the method 400 may further comprise decreasing the frequency counter associated with the determined 404 pixel 223 after a time limit in some embodiments.
  • Figure 5 illustrates an embodiment of a system 300 for building a database 350, enabling prediction of a route of a vehicle 100.
  • the database 350 comprises a plurality of grid-based representations 200-1 , 200-2, 200-3, 200-4 of a geographical landscape, each grid-based representation 200-1 , 200-2, 200-3, 200-4 comprising a plurality of discrete pixels 21 1 , 212, 244 and being associated with a range of directions 210-1 , 210-2, 210-3, 210-4.
  • the system 300 comprises a control unit 310 in the vehicle 100, a geographical positioning device 330 and a database 350.
  • the control unit 310 may perform at least some of the previously described steps 401 -407 according to the method 400 described above and illustrated in Figure 4.
  • the control unit 310 is configured to observe geographical position of the vehicle 100, e.g. via a positioning unit 330, based on e.g. GPS. Further the control unit 310 is configured to determine a driving direction 105 of the vehicle 100 at the observed geographical position. The control unit 310 is in addition configured to select one grid-based representation 200-2 out of the plurality of grid-based representations 200-1 , 200-2, 200-3, 200-4, based on the determined driving direction 105. Furthermore, the control unit 310 is also configured to de- termine a specific pixel 223 in the selected grid-based representation 200-2, corresponding to the observed geographical position.
  • control unit 310 is configured to increment a frequency counter associated with the determined pixel 223 in the selected grid- based representation 200-2, counting an amount of times the vehicle 100 has passed the pixel 223 in the determined driving direction 105, e.g. within a time period.
  • control unit 310 is additionally configured to store the measured at least one location-dependent parameter and the incremented frequency counter value, associated with the determined pixel 223 in the selected grid-based representation 200-1 , 200-2, 200-3, 200-4 in the database 350.
  • the control unit 310 may in some embodiments also be configured to measure at least one location-dependent parameter at the observed geographical position when driving in the determined driving direction 105.
  • the location-dependent parameter may comprise e.g.
  • the road slope and/ or height profile may be of interest when an optimal velocity profile is derived to reduce the fuel consumption.
  • Other attributes of interest to predict may comprise entities such as arrival time, stored energy consumption, driving hazards etc.
  • the location-dependent parameter may be measured by a sensor and provided to the control unit 310 via a wired or wireless communication interface.
  • Such sensor may comprise e.g. accelerometer, levelling instrument or other slope sensor based on e.g. laser for measuring road slope.
  • a pressure sensor, barometer, altimeter or other type of elevation meter may measure height profile.
  • the sensor may also comprise a curvature sensor, a speedometer, a gear detector etc., in various different embodiments.
  • the measured at least one location dependent parameter may be stored, associated with the determined pixel 223 in the selected grid-based representation 200-2 in the database 350.
  • the control unit 310 may determine the driving direction 105 of the vehicle 100 at the observed geographical position based on a heading between the observed geographical position of the vehicle 100 and a previously observed geographical position of the vehicle 5 100, and wherein the grid-based representation 200-2 having a range of directions 210-2 corresponding with said heading, may be selected in some embodiments.
  • control unit 310 may generate control signals for the frequency counter associated with the determined pixel 223 may be incremented up to a threshold limit.
  • The0 threshold limit may be predetermined or configurable.
  • the control unit 310 may also in some embodiments generate control signals for modifying the frequency counter when it reaches the threshold limit, by decreasing frequency counters associated with the determined pixel 223 in all grid-based representations 200-1 , 200-3, 200-4, except the selected grid-based representation 200-2.
  • the control unit 310 may additionally via a time measurement instrument like a clock, a chronometer, a chronograph or other similar horological instrument determine and generate a time reference value for any determined parameter data such as road slope.
  • the control unit 310 may also be configured to store the generated time reference value associated with0 the determined pixel 223 in the selected grid-based representation 200-2.
  • control unit 310 may also be configured to generate control signals for decreasing the frequency counter associated with the determined pixel 223 after a time limit. Thereby aging of the stored parameter values is enabled.
  • control unit 310 may also be configured to calculate and store an average value of the at least one location-dependent parameter, based on a previously stored at least one location-dependent parameter and the measured at least one location-dependent parameter.
  • a weighted mean value of the determined slope may be0 computed, giving the currently determined slope a higher weight than the previously stored slope.
  • control unit 310 may be comprised in the vehicle 100. However, in some other alternative embodiments, the control unit 310 may be comprised in a vehicle5 external structure.
  • the control unit 310 may comprise a processor 520 configured for performing at least some of the previously described steps 401 -407 according to the method 400, in some embodiments.
  • Such processor 520 may comprise one or more instances of a processing circuit, i.e. a Central Processing Unit (CPU), a processing unit, a processing circuit, a processor, an Application Specific Integrated Circuit (ASIC), a microprocessor, or other processing logic that may interpret and execute instructions.
  • a processing circuit i.e. a Central Processing Unit (CPU), a processing unit, a processing circuit, a processor, an Application Specific Integrated Circuit (ASIC), a microprocessor, or other processing logic that may interpret and execute instructions.
  • CPU Central Processing Unit
  • ASIC Application Specific Integrated Circuit
  • microprocessor may thus represent a processing circuitry comprising a plurality of processing circuits, such as, e.g., any, 10 some or all of the ones enumerated above.
  • the control unit 310 may further comprise a receiving circuit 510 configured for receiving a signal from the positioning device 330, and/ or the database 350 in different embodiments.
  • control unit 310 may comprise a memory 525 in some embodiments.
  • the optional memory 525 may comprise a physical device utilised to store data or programs, i.e., sequences of instructions, on a temporary or permanent basis.
  • the memory 525 may comprise integrated circuits comprising silicon-based transistors.
  • the memory 525 may comprise e.g. a memory card, a flash memory, a USB memory,
  • ROM Read-Only Memory
  • PROM PROM
  • EPROM Erasable PROM
  • EEPROM Electrically Erasable PROM
  • control unit 310 may comprise a signal transmitter 530.
  • the signal transmitter 25 530 may be configured for transmitting signals to be received by the database 350.
  • control unit 310 is configured to predict a vehicle route by using the database 350.
  • the database 350 comprises a plurality of grid-based representations 200-1 , 200- 2, 200-3, 200-4 of a geographical landscape, each grid-based representation 200-1 , 200-2, 30 200-3, 200-4 comprising a plurality of discrete pixels 211 , 212, ... , 244 and being associated with a range of directions 210-1 , 210-2, 210-3, 210-4.
  • control unit 310 is configured to observe geographical position of the vehicle 100. Also, the control unit 310 is configured to determine the driving direction 105 of the vehicle 35 100 at the observed geographical position. Further, the control unit 310 is configured to select one grid-based representation 200-2 out of the plurality of grid-based representations 200-1 , 200-2, 200-3, 200-4, based on the determined driving direction 105. In addition, the control unit 310 is configured to determine a specific pixel 223 in the selected grid-based representation 200-2, corresponding to the observed geographical position.
  • control unit 310 is configured to predict a next position pixel 211 , 212, 244 of the vehicle 100, neighbour to the determined pixel 223 in the selected grid-based representation 200-2, based on a frequency counter value of the neighbour pixels 211 , 212, 5 244.
  • control unit 310 may in addition be configured to extract at least one location-dependent parameter, associated with the predicted next position pixel 21 1 , 212, ... , 244 in the selected grid-based representation 200-2 from the database 350.
  • control unit 310 may also be configured to predict a sequence of next position pixels 21 1 , 212, 244 of the vehicle 100, based on frequency counter values of the respective neighbour pixel 21 1 , 212, 244. Also, the control unit 310 may be configured to select the grid-based representation 200-1 , 200-2, 200-3, 200-4, based on the predicted se- 15 quence of next position pixels 211 , 212, 244 of the vehicle 100.
  • the control unit 310 may in addition be configured to exclude the neighbour pixel 21 1 , 212, ... , 244 most recently passed by the vehicle 100 when predicting the next position pixel 21 1 , 212, ... , 244 of the vehicle 100.
  • control unit 310 may be further configured to select driving gear of the vehicle 100, based on the extracted at least one location-dependent parameter, in some embodiments.
  • control unit 310 may also be configured to release vehicle throttle when the vehicle 100 is predicted to approach a downhill.
  • an adaptive cruise control of the vehicle 100 may use this information for reducing vehicle velocity in the above described situation, or when e.g. passing a roundabout, without 30 braking the vehicle 100. Thereby energy consumption of the vehicle 100 may be reduced.
  • the previously described steps 401 -407 to be performed in the control unit 310 may be implemented through the one or more processors 520 within the control unit 310, together with computer program product for performing at least some of the functions of the steps 401 - 35 407.
  • a computer program product comprising instructions for performing the steps 401 - 407 in the control unit 310 may perform the method 400 comprising at least some of the steps 401 -407 for building a database 350, enabling prediction of the route of the vehicle 100, and estimation of the length of the predicted route, when the computer program is loaded into the one or more processors 520 of the control unit 310.
  • the computer program product mentioned above may be provided for instance in the form 5 of a data carrier carrying computer program code for performing at least some of the step 401 -407 according to some embodiments when being loaded into the one or more processors 520 of the control unit 310.
  • the data carrier may be, e.g., a hard disk, a CD ROM disc, a memory stick, an optical storage device, a magnetic storage device or any other appropriate medium such as a disk or tape that may hold machine readable data in a non-transitory o manner.
  • the computer program product may furthermore be provided as computer program code on a server and downloaded to the control unit 310 remotely, e.g., over an Internet or an intranet connection.
  • Figure 6 illustrates an example of a method 600 according to an embodiment.
  • the flow chart5 in Figure 6 shows the method 600, for predicting a vehicle route by using a database 350.
  • the database 350 comprises a plurality of grid-based representations 200-1 , 200-2, 200-3, 200-4 of a geographical landscape, each grid-based representation 200-1 , 200-2, 200-3, 200-4 comprising a plurality of discrete pixels 211 , 212, ... , 244 and being associated with a range of directions 210-1 , 210-2, 210-3, 210-4.
  • the route may be predicted based on a database 350, established e.g. by the previously described method 400 for building a database 350, enabling prediction of a route of a vehicle 100.
  • the vehicle 100 may be any arbitrary kind of means for conveyance, such as a truck, a bus, a car, a motorcycle or similar.
  • the vehicle 100 may be driven by a driver, or be autonomous in different embodiments.
  • the method 600 may comprise a0 number of steps 601-608. However, some of these steps 601 -608 may be performed solely in some alternative embodiments. Further, the described steps 601 -608 may be performed in a somewhat different chronological order than the numbering suggests. Steps 606-608 may be performed only in some particular embodiments.
  • the method 600 may comprise the subsequent steps:
  • Step 601 comprises observing geographical position of the vehicle 100.
  • the current vehicle position may be determined by a geographical positioning device 330, such as e.g. a GPS.
  • the current position of the vehicle 100 may alternatively be detected and registered by the driver of the vehicle 100.
  • the geographical position may be determined continuously while driving the vehicle 100 along the road 1 10, or at predetermined time intervals in different embodiments.
  • Step 602 comprises determining a driving direction 105 of the vehicle 100 at the observed 601 geographical position.
  • the driving direction 105 of the vehicle 100 at the observed 401 geographical position may be determined 402, in some embodiments, based on a heading between the observed 401 geographical position of the vehicle 100 and a previously observed 401 geographical position of the vehicle 100.
  • Step 603 comprises selecting one grid-based representation 200-2 out of the plurality of grid-based representations 200-1 , 200-2, 200-3, 200-4, based on the determined 602 driving direction 105.
  • the grid-based representation 200-2 having a range of directions 210-2 corresponding with the heading between the observed 401 geographical position of the vehicle 100 and a previously observed 401 geographical position of the vehicle 100, may be selected.
  • Step 604 comprises determining a pixel 223 in the selected 603 grid-based representation 25 200-2, corresponding to the observed 601 geographical position.
  • Step 605 comprises predicting a next position pixel 21 1 , 212, 244 of the vehicle 100, neighbour to the determined 604 pixel 223 in the selected 603 grid-based representation 200-2, based on a frequency counter value of the neighbour pixels 211 , 212, 244.
  • next position pixel 21 1 , 212, ... , 244 with the highest frequency counter value may be predicted as the next position for the vehicle 100.
  • a sequence of next position pixels 211 , 212, 244 of the vehicle 35 100 may be iteratively predicted, based on frequency counter values of the respective neighbour pixel 211 , 212, 244, and wherein grid-based representation 200-1 , 200-2, 200-3, 200-4 is selected 603, based on the iteratively predicted 605 sequence of next position pixels 21 1 , 212, ... , 244 of the vehicle 100.
  • the prediction may be iterated until a predetermined or configurable horizon limit (like e.g. 10 pixels, 20 pixels etc.) is reached.
  • the iterated prediction may comprise repeating steps 601 -605, but using the most recent predicted next position pixel 211 , 212, 244 instead of the current position pixel as input value in step 601 .
  • the neighbour pixel 21 1 , 212, 244 most recently passed 10 by the vehicle 100 may be excluded when predicting the next position pixel 211 , 212, ... , 244 of the vehicle 100. Thereby, an endless loop predicted of U-turns may be avoided.
  • Step 606 which only may be performed in some particular embodiments, may comprise extracting at least one location-dependent parameter, associated with the predicted 605 next 15 position pixel 211 , 212, ... , 244 in the selected 603 grid-based representation 200-2 from the database 350, in some embodiments.
  • Step 607 which only may be performed in some particular embodiments where step 606 has been performed, may comprise selecting driving gear of the vehicle 100, based on the 20 extracted 606 at least one location-dependent parameter.
  • Step 608 which only may be performed in some particular embodiments, may comprise releasing vehicle throttle when the vehicle 100 is predicted 605 to approach a downhill.
  • the vehicle 100 may for example be driving uphill and when it is approaching the hill, the vehicle 25 throttle may be released, for saving fuel/ energy.
  • the previously described steps 601 -608 to be performed in the control unit 310 may be implemented through the one or more processors 520 within the control unit 310, together with computer program product for performing at least some of the functions of the steps 601 - 30 608.
  • a computer program product comprising instructions for performing the steps 601 - 608 in the control unit 310 may perform the method 600 comprising at least some of the steps 601 -608 for predicting a route of a vehicle 100, when the computer program is loaded into the one or more processors 520 of the control unit 310.
  • the computer program product mentioned above may be provided for instance in the form of a data carrier carrying computer program code for performing at least some of the step 601 -608 according to some embodiments when being loaded into the one or more processors 520 of the control unit 310.
  • the data carrier may be, e.g., a hard disk, a CD ROM disc, a memory stick, an optical storage device, a magnetic storage device or any other appropriate medium such as a disk or tape that may hold machine readable data in a non-transitory manner.
  • the computer program product may furthermore be provided as computer program code on a server and downloaded to the control unit 310 remotely, e.g., over an Internet or an intranet connection.
  • the term “and/ or” comprises any and all combinations of one or more of the associated listed items.
  • the term “or” as used herein, is to be interpreted as a mathematical OR, i.e., as an inclusive disjunction; not as a mathematical exclusive OR (XOR), unless expressly stated otherwise.
  • the singular forms “a”, “an” and “the” are to be interpreted as “at least one”, thus also possibly comprising a plurality of entities of the same kind, unless expressly stated otherwise.

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Navigation (AREA)
  • Traffic Control Systems (AREA)

Abstract

Methods (400, 600) and control unit (300) for building a database (350) and for predicting a route of a vehicle (100). The database (350) comprises a plurality of grid-based representations (200-1, 200-2, 200-3, 200-4) of a geographical landscape, each grid-based representation (200-1, 200-2, 200-3, 200-4) comprising a plurality of discrete pixels (211, 212, …, 244) and being associated with a range of directions (210-1, 210-2, 210-3, 210-4). The method (600) comprises observing (601) geographical position of the vehicle (100); determining (602) a driving direction (105) of the vehicle (100) at the observed (601) geographical position; selecting (603) one grid-based representation (200-2) out of the plurality of grid- based representations (200-1, 200-2, 200-3, 200-4), based on the determined (602) driving direction (105); determining (604) a pixel (223) in the selected (603) grid-based representation (200-2), corresponding to the observed (601) geographical position; and predicting (605) a next position pixel (211, 212, …, 244) of the vehicle (100), neighbour to the determined (604) pixel (223) in the selected (603) grid-based representation (200-2), based on a frequency counter value of the neighbour pixels (211, 212, …, 244).

Description

METHOD AND CONTROL UNIT FOR A SELF-LEARNING MAP
TECHNICAL FIELD
This document discloses a control unit and methods therein. More particularly, a control unit and methods therein are described for predicting a vehicle route by establishing and using a database, comprising a plurality of grid-based representations of a geographical landscape, each grid-based representation comprising a plurality of discrete pixels and being associated with a distinct direction. BACKGROUND
Various advantages are achieved when a route of a vehicle could be reliably predicted. A better choice of gear may be made for example, leading to saved fuel and improved driva- bility. Further, an improved or optimal velocity profile for the vehicle may be calculated and utilised for the vehicle, thereby further reducing fuel consumption.
A possible solution to this problem is to use a map, provided by a third party. Such map comprises information that make it possible to generate a prediction of how the road ahead of the vehicle will look like in terms of road slope. The maps used today are static, i.e. they are not updated once the map is installed in the vehicle. Vehicle maps may therefore lack coverage in certain regions where accurate map data is not available, e.g. on recently built roads or on small roads which are too uneconomical to map. In addition, some particular environments may be very dynamical such as e.g. mines, building sites, deforestation areas, storage areas in a harbour, a load terminal or similar. Even in case map data is available, the data may be outdated and thereby be useless for the above mentioned purposes. It is thus a problem for a driver/ driving control unit in a vehicle to get appropriate map information, corresponding to the geographical environment of the vehicle, in order to make correct predictions of the vehicle route, and to extract correct road slope data associated with the predicted route. Document US2014278064 concerns an apparatus for providing route information to a user using e.g. personal computer for health applications, has processing device for comparing desired route characteristic information with stored route data and suggesting stored routes to the user. The document describes an apparatus for assisting a user in selecting route. A colour coded heat map is generated over an area based on popularity of different routes by various other users.
Document EP1551 195 concerns an information acquisition device e.g. car navigation sys- tem, which predicts the destination of the car by determining search conditions for precise prediction, and acquires information about predicted destination from a database.
However, the document only concerns prediction of destination of the vehicle, not which route it takes, neither is it discussed how the information acquisition could be used for gear selection.
Document WO20141 1 1537 discuss a computer-implemented method for creating map data, which involves applying threshold calculation to heat map to identify zones on network having high concentration of traffic accidents. This collected information is then utilised for indi- eating vehicle routes where the risk of accidents is increased.
However, no prediction of the vehicle route is made. Neither is any information extracted for the purpose of selecting driving gear of the vehicle. Document US2015177005 presents a computer-implemented method for varying degree of precision in navigation data analysis for customising map content. A heat map is generated to show the amount of users moving in an area.
However, no prediction of the vehicle route is made. Neither is any information extracted for the purpose of selecting driving gear of the vehicle.
Document US2014288821 discloses a method for predicting arrival time of a transit vehicle at a transit stop of a transit route, which involves predicting time of arrival of the particular vehicle based on the current position of the vehicle and historical data of other vehicles hav- ing driven the same route.
However, no prediction of the vehicle route is made. Neither is any information extracted for the purpose of selecting driving gear of the vehicle. It may thereby be desired to be able to create and continuously update a database comprising a representation of a geographical landscape in order to predict route for a vehicle, and utilising a location dependent parameter associated with the predicted route to provide a solution to the above discussed problems in connection with vehicle route prediction. SUMMARY
It is therefore an object of this invention to solve at least some of the above problems and improve route prediction of a vehicle.
According to a first aspect of the invention, this objective is achieved by a method for building a database, thereby enabling prediction of a vehicle route. The database comprises a plurality of grid-based representations of a geographical landscape, each grid-based representation comprising a plurality of discrete pixels and being associated with a range of directions. The method comprises observing geographical position of a vehicle. Further the method comprises determining a driving direction of the vehicle at the observed geographical position. Also, the method comprises selecting one grid-based representation out of the plurality of grid-based representations, based on the determined driving direction. In addition, the method furthermore comprises determining a pixel in the selected grid-based representation, corresponding to the observed geographical position. The method in addition comprises incrementing a frequency counter associated with the determined pixel in the selected grid- based representation, counting an amount of times the vehicle has passed the pixel in the determined driving direction. Further the method also comprises storing the incremented frequency counter value, associated with the determined pixel in the selected grid-based rep- resentation in the database.
According to a second aspect of the invention, this objective is achieved by a control unit in a vehicle. The control unit aims at building a database for enabling prediction of a vehicle route. The database comprises a plurality of grid-based representations of a geographical landscape, each grid-based representation comprising a plurality of discrete pixels and being associated with a range of directions. The control unit is configured to observe geographical position of a vehicle. Further, the control unit is configured to determine a driving direction of the vehicle at the observed geographical position. Also, the control unit is additionally configured to select one grid-based representation out of the plurality of grid-based representa- tions, based on the determined driving direction. Furthermore, the control unit is configured to determine a pixel in the selected grid-based representation, corresponding to the observed geographical position. The control unit is in further addition configured to increment a frequency counter associated with the determined pixel in the selected grid-based representation, counting an amount of times the vehicle has passed the pixel in the determined driving direction. Further the control unit is also configured to store the measured at least one location-dependent parameter and the incremented frequency counter value, associated with the determined pixel in the selected grid-based representation in the database. According to a third aspect of the invention, this objective is achieved by a method for predicting a route of a vehicle, by using a database. The database comprises a plurality of grid- based representations of a geographical landscape, each grid-based representation comprising a plurality of discrete pixels and being associated with a range of directions. The method comprises observing geographical position of the vehicle. Further the method also comprises determining a driving direction of the vehicle at the observed geographical position. The method additionally comprises selecting one grid-based representation out of the plurality of grid-based representations, based on the determined driving direction. Further the method also comprises determining a pixel in the selected grid-based representation, corresponding to the observed geographical position. Additionally, the method furthermore also comprises predicting a next position pixel of the vehicle, neighbour to the determined pixel in the selected grid-based representation, based on a frequency counter value of the neighbour pixels. According to a fourth aspect of the invention, this objective is achieved by a control unit in a vehicle. The control unit aims at predicting a route of a vehicle by using a database. The database comprises a plurality of grid-based representations of a geographical landscape, each grid-based representation comprising a plurality of discrete pixels and being associated with a range of directions. The control unit is configured to observe geographical position of the vehicle. Further the control unit is configured to determine a driving direction of the vehicle at the observed geographical position. In addition, the control unit is furthermore configured to select one grid-based representation out of the plurality of grid-based representations, based on the determined driving direction. Also the control unit is furthermore configured to determine a pixel in the selected grid-based representation, corresponding to the observed geographical position. The control unit is in further addition also configured to predict a next position pixel of the vehicle, neighbour to the determined pixel in the selected grid-based representation, based on a frequency counter value of the neighbour pixels.
Hereby, thanks to the disclosed aspects, reliable route prediction is provided, while keeping memory usage requirements low and little computational capacity. Since the current solution is based on the historical direction rather than historical discrete pixel travel, the solution becomes more flexible and accepting of perturbations to previous routes, incurred for example while driving in another highway lane. Further, the directionality provided by the plurality of grid-based representations, means that opposing driving lanes may fall within the same pixel and still give a correct prediction, unlike previously known solutions. Thereby the prediction of unlikely U-turns on highways could be avoided, when travelling in the statistically more unusual direction. Thereby, route prediction of the vehicle is improved. Other advantages and additional novel features will become apparent from the subsequent detailed description.
FIGURES
Embodiments of the invention will now be described in further detail with reference to the accompanying Figures, in which:
Figure 1 illustrates a side view of a vehicle according to an embodiment;
Figure 2A illustrates an overview of a vehicle driving on a road and a correspondence between the geographical landscape and a grid-based representation thereof; Figure 2B illustrates a view a vehicle driving on a road and a plurality of grid-based representations, wherein one is selected based on the vehicle direction;
Figure 2C illustrates an example of road slopes when the vehicle is passing three cells of the grid-based representation;
Figure 2D illustrates stored parameter values associated with different pixels in a grid- based representation;
Figure 2E illustrates an example of route prediction of the vehicle according to an embodiment;
Figure 3A illustrates an example of a vehicle interior according to an embodiment;
Figure 3B illustrates an example of a vehicle interior according to an embodiment; Figure 4 is a flow chart illustrating an embodiment of a method;
Figure 5 is an illustration depicting a control unit and system according to an embodiment; and
Figure 6 is a flow chart illustrating an embodiment of a method. DETAILED DESCRIPTION
Embodiments of the invention described herein are defined as methods and a control unit, which may be put into practice in the embodiments described below. These embodiments may, however, be exemplified and realised in many different forms and are not to be limited to the examples set forth herein; rather, these illustrative examples of embodiments are pro- vided so that this disclosure will be thorough and complete.
Still other objects and features may become apparent from the following detailed description, considered in conjunction with the accompanying drawings. It is to be understood, however, that the drawings are designed solely for purposes of illustration and not as a definition of the limits of the herein disclosed embodiments, for which reference is to be made to the appended claims. Further, the drawings are not necessarily drawn to scale and, unless otherwise indicated, they are merely intended to conceptually illustrate the structures and procedures described herein.
Figure 1 A illustrates a scenario with a vehicle 100 driving in a driving direction 105 on a road 110. The vehicle 100 may be e.g. a truck, a bus, a van, a car, a motorcycle or any other similar type of vehicle with or without an attached trailer. The vehicle 100 comprises one or more on-board vehicle sensors for measuring e.g. road slope, curvature, vehicle velocity, selected gear, height, etc. The vehicle 100 also comprises a positioning unit for determining a geographical position of the vehicle 100. Thereby, the vehicle 100 may establish a self-learning map which may be updated continuously, or at certain predetermined or configurable time intervals. The established map may then be used to predict the route through the map in order to output a road grade prediction in real time.
In some embodiments, the map is stored in a raster format, divided into discrete pixels. Each pixel may correspond to e.g. about 10x10 meters, 20x20 meters, 30x30 meters, etc., in different embodiments.
The map is further divided into several directional heat maps, or grid-based representations of the geographical landscape, each representing a direction span. If 4 directions are chosen, these may be north, east, south and west and the direction span of each directional heat map would be 90 degrees.
The concept of having a plurality of grid-based representations associated with different direction spans is not limited to 4 grid-based representations associated with direction spans of about 90 degrees each, but may comprise e.g. 2 grid-based representations associated with direction spans of about 180 degrees each; 3 grid-based representations associated with direction spans of about 120 degrees each; 5 grid-based representations associated with direction spans of about 72 degrees each; 6 grid-based representations associated with direction spans of about 60 degrees each; 7 grid-based representations associated with direction spans of about 51 degrees each; 8 grid-based representations associated with direction spans of about 45 degrees each, etc.
The pixels may be small, equally sized area elements, which may have any area covering format such as e.g. quadratic, rectangular, triangular, pentagonal, hexagonal, etc., or a combination of these or other formats. The system may estimate road grade and current location data periodically, and use this data to build the map. The current heading or driving direction 105 of the vehicle 100 may in some embodiments be determined by a heading between two previous data points and the heat map most closely matching this heading may be recalled. The pixel wherein the current location resides may then be recalled and its heat value or frequency value may be increased. In some embodiments, only pixels having data recorded, i.e. that have been visited are stored. Thereby storage memory is saved, as there is little point in storing pixels/ data which are never visited (they may e.g. be situated out of the road). If a pixel is visited for the first time and thus does not exist, it may be created and stored with the frequency counter incremented to one.
To make a route prediction, a similar approach may be deployed. The current heading or driving direction 105 determines which of the heat maps to recall, and the current vehicle location determines which pixel of that selected heat map. Its neighbouring pixels in the same heat map may then be examined to find the hottest one, and this may be selected as the next pixel of the predicted path of the vehicle 100. This process may then be iterated for the desired prediction length, at each step updating the location of the vehicle 100 to the latest selected pixel and calculating a new heading based on the heading between the selected pixels in the prediction. After this step is done, the series of pixels may be examined in order to extract their respective road slope values, if these values have been stored. Finally, the travel distance between each point in the horizon may be estimated to generate a final road slope as a function of travel length, in some embodiments. The disclosed solution requires a low amount of storage, little computational capacity and produces better results than previous solutions according to simulator implementations, using collected Controller Area Network (CAN) logs from vehicles to test the system. CAN is a connection standard for interconnected distributed systems, typically used in vehicles to communicate between Electronic Control Units (ECUs).
The performance may be measured by the average road grade prediction error at each point in a 2500-meter-long prediction, sampled hundreds of times along a simulated drive. The result in highway driving is more than 50% smaller average error than previously known solutions based on a single grid based predictive roadmap algorithm while storage require- ments are decreased by almost 30%.
The disclosed method may be in particular advantageous in road crossings in the same or different planes. A conflict in road data at the point where the highway passes over another road arises because the same pixel is sometimes passed through on the highway, and sometimes below, each time updating the map with conflicting data, ultimately leading to the wrong prediction of "jumping off the highway.
5 However, since driving on the highway and driving on the road below it would recall different heat maps, the method according to the presented solution behaves more as expected, and produces the correct prediction for this case.
Another inherent advantage to the disclosed solution is that each prediction can be assigned 10 a heat value, the sum of the heat of its pixels, which provides a measure to compare the quality of a prediction against other possibilities.
Figure 2A discloses the vehicle 100 driving in the driving direction 105 on the road 1 10. A map 200 is stored in a raster format, divided into discrete pixels 211 , 212, 213, 214, 221 , 15 222, 223, 224, 231 , 232, 233, 234, 241 , 242, 243, 244. In this arbitrary example, the second integer indicates the vertical coordinate while the third integer indicates the horizontal coordinate. The situation may be the opposite in other examples.
However, as illustrated in Figure 2B a plurality of grid-based representations 200-1 , 200-2, 20 200-3, 200-4 of the geographical landscape, each of them associated with a range of directions 210-1 , 210-2, 210-3, 210-4, stored in a database.
While driving the vehicle 100, data may be measured with an on board sensor and stored in some embodiments, e.g. road slope. However, in other embodiments wherein it is desired 25 to only predict the route of the vehicle 100, only passing frequency may be determined and stored, for each passed pixel 21 1 , 212, 244 in the grid-based representations 200-1 , 200- 2, 200-3, 200-4.
The vehicle 100 determines its geographical position via a positioning device while driving 30 on the road 1 10. The heading between at least two recently determined geographical positions when entering the current pixel may determine the driving direction 105 of the vehicle 100.
The determined driving direction 105 of the vehicle 100 is then compared with the ranges of 35 directions 210-1 , 210-2, 210-3, 210-4 in an action A. The range of directions 210-2 embracing the driving direction 105 is then determined. Having determined the range of directions 210-2, the associated grid-based representation 200-2 is selected out of the plurality of grid- based representations 200-1 , 200-2, 200-3, 200-4. In an action B, a pixel 223 in the grid-based representation 200-2 wherein the vehicle 100 is currently situated is determined, based on the determined geographical position of the vehicle 100. A frequency counter associated with the pixel 223 in the grid-based representation 5 200-2 wherein the vehicle 100 is determined to be positioned is incremented.
Further, when predicting the route of the vehicle 100, the neighbour pixel 222 with the highest stored frequency counter value is determined and the vehicle 100 is estimated to drive to this pixel 222. This process may then be repeated for as long as desired. In case the vehicle 10 100 is estimated to change driving direction 105, the actions A and B may then be repeated for selecting a new grid-based representation 200-1 , 200-2, 200-3, 200-4.
In some embodiments as mentioned before, the vehicle 100 may measure one or more location-dependent parameters at the geographical position when driving. The location-de-
15 pendent parameter may be e.g. road slope, curvature, height, selected driving gear, vehicle velocity or similar parameter measured by a system or entered by the driver of the vehicle 100. This or these parameter/ s may be stored associated with the determined pixel 223 in the selected grid-based representation 200-2 in the database. The current day of the week, time of the day, or other status information may additionally be stored for some attributes, to
20 enable conditional predictions when recalling data.
Figure 2C discloses the vehicle 100 driving in the driving direction 105 in the pixel 223. The Figure illustrates an example of the topographical differences the vehicle 100 will experience when passing three cells 222, 223 and 234, in an arbitrary example. By combining the past 25 distance in the horizontal plane with the curvature in the vertical plane, the distance of the predicted route of the vehicle 100 may be estimated, in some embodiments.
Figure 2D illustrates an example of frequency counter values and measured road slope, associated with pixels 21 1 , 212, 244 of the selected grid-based representation 200-2, in 30 a non-limiting example. The road slope and/ or height profile may be of interest when an optimal velocity profile is derived to reduce the fuel consumption.
In some embodiments, also a time reference value may be determined and stored, associated with each measurement in order to enable aging.
35
Aging is the process of lowering the heat at each pixel 21 1 , 212, 244 after some time period, for the purpose of keeping all values from overflowing their data type. If the value was simply capped, the steady state may be a map of equally hot pixels 21 1 , 212, 244 at the maximum limit, which would defeat the purpose of such a map. Therefore, some type of aging may be useful to preserve the data and also to allow to get rid of obsolete data, e.g. in case of changed driving routines or changed vehicle owner.
5 Several approaches may be possible for achieving aging. One might use a timer to globally decrease the heat after a pixel 21 1 , 212, 244 has not been passed through in a certain time, or decrease the heat for border pixels 21 1 , 212, 244 along the road 1 10. A disadvantage with the first proposal is it may require a lengthy processing step. It is perhaps conceivable to perform such a task when the vehicle 100 is idle, in some embodiments.
10
An alternative solution may be to perform the aging at a single pixel 21 1 , 212, ... , 244 when it is passed through. To do this, the heat of the current direction 105 may be calculated. If it is at the maximum bound of its data type, all values may be scaled back by some scalar. This keeps the proportions intact, and prevents overflow in a manner with very low compu- 15 tational overhead. A conditional statement may be added, which is bypassed the majority of time (depending on the scalar chosen and data type). When it is triggered, a few multiplication operations are carried out, the same number as the number of directional heat maps 200-1 , 200-2, 200-3, 200-4. Another possibility is to subtract all values by e.g. one for all pixels 21 1 , 212, ... , 244 except the current one.
20
Figure 2E illustrates an example of route prediction of the vehicle 100 when driving on the road 1 10 through the geographical landscape.
When the prediction is made, the corresponding directional heat map 200-1 , 200-2, 200-3, 25 200-4 is used to calculate the next likely pixel 21 1 , 212, ... , 244. First, the correct heat map 200-1 , 200-2, 200-3, 200-4 may be determined by calculating the current heading 105 and assigning it to one of the predefined direction spans 210-1 , 210-2, 210-3, 210-4, depending on the number of directions of the directional heat maps 200-1 , 200-2, 200-3, 200-4.
30 The current direction 105 may be calculated as a heading between the current pixel 223 and a passed pixel 21 1 , 212, 244 n places back. This may be kept track of by using a queue. The distance n between which the heading is calculated may determine the granularity due to aliasing, and also willingness to change direction. As such, lower pixel size means better resolution.
35
When the number of directions is set to, for example, four, the result is four separate heat maps 200-1 , 200-2, 200-3, 200-4, each one associated with a respective direction span 210- 1 , 210-2, 210-3, 210-4, as seen in Figure 2B. Each heat map 200-1 , 200-2, 200-3, 200-4 represents the frequency through which each pixel 211 , 212, 244 is travelled, on the condition that the direction falls within a threshold. When doing a prediction, one of the e.g. four heat maps 200-1 , 200-2, 200-3, 200-4 may be chosen depending on the current direction 105 of the vehicle 100, and used to calculate the probability of the next pixel 21 1 , 212, ... , 244.
In some embodiments, the desired output of the provided solution may be the road grade as a function of distance, the length of each point of the predicted route may be determined. The result of the prediction is a series of pixels 211 , 212, 244 that the vehicle 100 is predicted to pass through, but the exact distance at each point is unknown. Using the pixel size for estimating the distance would only yield a correct value for straight travel through the pixels 211 , 212, 244, perpendicular to one of the pixel sides, although it may be utilised for a rough estimation of a minimum value in some embodiments. The desired result may be an approximation of the travel distance for each and every pixel 21 1 , 212, 244 in the horizon, in some embodiments. To approximate the distance that the vehicle 100 is assumed to travel to reach a given point, a way of converting geographical position coordinates may be made. A method of determining a plausible fine-grained path between the pixels 211 , 212, 244 of the horizon can be accomplished in a few different ways, such as e.g. linear travel through each pixel 21 1 , 212, 244 by interpolating linearly between the entry and exit point for each pixel 21 1 , 212, 244; linear approximation by calculating the distance between two pixels 211 , 212, 244 of some distance in the horizon, and division by the same number of data points; polynomial fitting to selected pixels 211 , 212, 244 and/ or spline fitting to the entire horizon, in different embodiments.
Figure 3A discloses a vehicle interior, according to an embodiment, illustrating an example of how the previous scenario may be perceived by the driver of the vehicle 100 when situated at any arbitrary position along the route.
A system 300 for vehicle route prediction may comprise a control unit 310, a positioning device 330 and a database 350. The control unit 310 may be configured for predicting the route for the vehicle 100, from a current position of the vehicle 100, to a destination. The control unit 310 may comprise, or be connected to the database 350, which may comprise a plurality of grid-based representations 200-1 , 200-2, 200-3, 200-4, each comprising a set of pixels 211 , 212, 244 representing geographical positions. The database 350 comprises a plurality of grid-based representations 200-1 , 200-2, 200-3, 200-4 of a geographical landscape. Each grid-based representation 200-1 , 200-2, 200-3, 200-4 comprises in turn a plurality of discrete pixels 21 1 , 212, 244 and is associated with a range of directions 210-1 , 210-2, 210-3, 210-4. The database 350 is configured to store a frequency counter value, associated with a respective pixel 21 1 , 212, ... , 244 in at least one of the grid-based representations 200-1 , 200-2, 200-3, 200-4. Further, in some embodiments, the database 350 may also be configured to store at least one location-dependent parameter such as topographic data or curvature.
In the illustrated embodiment, the database 350 is vehicle external and accessible for the control unit 310 via a transceiver 340 in the vehicle 100, over a wireless communication interface. Various strategies for caching and synchronising subsets of the database 350 representing the local area around the vehicle 100 and its' predicted route may be employed to optimise wireless resource usage. In such an embodiment the location dependent parameters) may be shared between multiple users of the database 350, while the frequency coun- ters may be specific for each user. In another embodiment the frequency counters may be shared as well, or a weighted combination of private and shared frequency counters may be used.
Such wireless communication may comprise or be based on e.g. a Vehicle-to-Vehicle (V2V) signal, or any other wireless signal based on, or at least inspired by wireless communication technology such as Wi-Fi, Ultra Mobile Broadband (UMB), Wireless Local Area Network (WLAN), Bluetooth (BT), or infrared transmission to name but a few possible examples of wireless communications. The geographical position of the vehicle 100 may be determined by the positioning device 330 in the vehicle 100, which may be based on a satellite navigation system such as the Navigation Signal Timing and Ranging (Navstar) Global Positioning System (GPS), Differential GPS (DGPS), Galileo, GLONASS, or the like. The geographical position of the positioning device 330, (and thereby also of the vehicle 100) may be made continuously with a certain predetermined or configurable time intervals according to various embodiments. Positioning by satellite navigation is based on distance measurement using triangulation from a number of satellites 360-1 , 360-2, 360-3, 360-4. In this example, four satellites 360- 1 , 360-2, 360-3, 360-4 are depicted, but this is merely an example. More than four satellites 360-1 , 360-2, 360-3, 360-4 may be used for enhancing the precision, or for creating redun- 5 dancy. The satellites 360-1 , 360-2, 360-3, 360-4 continuously transmit information about time and date (for example, in coded form), identity (which satellite 360-1 , 360-2, 360-3, 360-4 that broadcasts), status, and where the satellite 360-1 , 360-2, 360-3, 360-4 are situated at any given time. The GPS satellites 360-1 , 360-2, 360-3, 360-4 sends information encoded with different codes, for example, but not necessarily based on Code Division Multiple Ac- 10 cess (CDMA). This allows information from an individual satellite 360-1 , 360-2, 360-3, 360- 4 distinguished from the others' information, based on a unique code for each respective satellite 360-1 , 360-2, 360-3, 360-4. This information can then be transmitted to be received by the appropriately adapted positioning device comprised in the vehicles 100.
15 Distance measurement can according to some embodiments comprise measuring the difference in the time it takes for each respective satellite signal transmitted by the respective satellites 360-1 , 360-2, 360-3, 360-4 to reach the positioning device 330. As the radio signals travel at the speed of light, the distance to the respective satellite 360-1 , 360-2, 360-3, 360- 4 may be computed by measuring the signal propagation time.
20
The positions of the satellites 360-1 , 360-2, 360-3, 360-4 are known, as they continuously are monitored by approximately 15-30 ground stations located mainly along and near the earth's equator. Thereby the geographical position, i.e. latitude and longitude, of the vehicle 100 may be calculated by determining the distance to at least three satellites 360-1 , 360-2, 25 360-3, 360-4 through triangulation. For determination of altitude, signals from four satellites 360-1 , 360-2, 360-3, 360-4 may be used according to some embodiments.
Having determined the geographical position of the positioning device 330 (or in another way), it may be presented on a map, a screen or a display device where the position of the 30 vehicle 100 may be marked.
In some embodiments, the geographical position of the vehicle 100, the predicted route of the vehicle 100 and other possible information related to the route planning, such as a gear recommendation, a velocity recommendation, information concerning an upcoming road 35 slope etc., may be displayed on an interface unit 320. The optional interface unit 320 may comprise a dashboard, a screen, a display, or any similar device. Figure 3B discloses a vehicle interior, similar to the embodiment illustrated in Figure 3A. However, in this embodiment, the database 350 is situated in the vehicle 100, why the transceiver 340 may be redundant.
5 The system 300 for vehicle route prediction may comprise a control unit 310, a positioning device 330 and a database 350, all comprised within the vehicle 100. The functionalities of these units 310, 330 and 350 may be the same or similar to the ones already discussed and explained in conjunction with the embodiment disclosed in Figure 3A.
10 Further, the vehicle 100 may comprise an interface unit 320 such as e.g. a dashboard, a screen, a display, or any similar device.
The vehicle 100 may in addition in some embodiments comprise one or several devices for measuring at least one location-dependent parameter at the geographical position, such as 15 e.g. speed limits, curvature, road slope, height profile selected driving gear, vehicle velocity and/ or road type, for example. The road slope and/ or height profile may be of interest when an optimal velocity profile is derived to reduce the fuel consumption.
When the position of the vehicle 100 is registered inside a specific pixel 223 in the selected 20 grid-based representation 200-2, that pixel 223 may be determined as part of the vehicle route and various road attributes such as road slope may be assigned to it.
In order to use the recorded road slope, it may be stored associated with a segment of the predicted road ahead. Further, frequency statistics is generated, continuously updated and 25 stored, associated with a pixel 21 1 , 212, ... , 244 in a grid-based representation 200-1 , 200- 2, 200-3, 200-4. The frequency statistics may be used to determine the most probable next pixel 21 1 , 212, 244 to move into and thereby make a prediction of the vehicle route.
Once the area represented by a pixel 21 1 , 212, 244 has been traversed by the vehicle 30 100, the pixel 21 1 , 212, 244 may be assigned a value and may hence be seen as visited.
When making a prediction of the future movement from the pixel 21 1 , 212, ... , 244, the pixels
21 1 , 212, 244 on the edges of the first pixel 211 , 212, 244 may be studied in order to determine which of those has been visited before. By doing so a decision may be made concerning which pixel 21 1 , 212, ... , 244 is the most probable one to be the next pixel 21 1 ,
35 212, 244 to visit. If a pixel 211 , 212, 244 only has two additional neighbour pixels 21 1 ,
212, 244 that have been visited next to itself, it is straightforward to determine the most probable path. This is the case since one of the two neighbouring pixels 211 , 212, 244 represent the previous pixel 21 1 , 212, 244 and the other one the probable next pixel 21 1 , 212, ... , 244 to visit. The most probable move in this case is thus to exit the current pixel 21 1 , 212, 244 into the neighbouring pixel 211 , 212, 244 that the vehicle 100 did not enter through. However, when noisy positioning signals, highways with multiple lanes and crossings are a reality in real world road networks, more sophisticated ways of predicting the 5 most probable path may be an advantage. To be able to predict the future path of the vehicle 100, statistics thus may be stored in order to generate a prediction of the road ahead for the vehicle 100.
Figure 4 illustrates an example of a method 400 for building a database 350, according to 10 an embodiment. The method 400 aims at enabling prediction of a vehicle route of a vehicle 100, based on the established database 350. The database 350 comprises a plurality of grid- based representations 200-1 , 200-2, 200-3, 200-4, or heat maps, of a geographical landscape. Each grid-based representation 200-1 , 200-2, 200-3, 200-4 comprises a plurality of discrete pixels 211 , 212, 244 and is associated with a range of directions 210-1 , 210-2, 15 210-3, 210-4.
The vehicle 100 may be any arbitrary kind of means for conveyance, such as a truck, a bus, a car, a motorcycle or similar. The vehicle 100 may be driven by a driver, or be autonomous in different embodiments.
20
In order to correctly be able to build the database 350, the method 400 may comprise a number of steps 401-407. However, some of these steps 401 -407 may be performed solely in some alternative embodiments, like e.g. step 405. Further, the described steps 401 -407 may be performed in a somewhat different chronological order than the numbering suggests. 25 The method 400 may comprise the subsequent steps:
Step 401 comprises observing geographical position of the vehicle 100.
The current vehicle position may be determined by a geographical positioning device 330, 30 such as e.g. a GPS. However, the current position of the vehicle 100 may alternatively be detected and registered by the driver of the vehicle 100.
The geographical position may be determined continuously while driving the vehicle 100 along the road 1 10, or at predetermined time intervals in different embodiments.
35
Step 402 comprises determining a driving direction 105 of the vehicle 100 at the observed 401 geographical position. The driving direction 105 of the vehicle 100 at the observed 401 geographical position may be determined 402, in some embodiments, based on a heading between the observed 401 geographical position of the vehicle 100 and a previously observed 401 geographical position of the vehicle 100.
5
Step 403 comprises selecting one grid-based representation 200-2 out of the plurality of grid-based representations 200-1 , 200-2, 200-3, 200-4, based on the determined 402 driving direction 105.
10 The grid-based representation 200-2 having a range of directions 210-2 corresponding with the heading between the observed 401 geographical position of the vehicle 100 and a previously observed 401 geographical position of the vehicle 100, may be selected.
Step 404 comprises determining a pixel 223 in the selected 403 grid-based representation 15 200-2, corresponding to the observed 401 geographical position.
Step 405 which may be performed only in some particular embodiments, comprises measuring at least one location-dependent parameter at the observed 401 geographical position when driving in the determined 402 driving direction 105.
20
The at least one location-dependent parameter may comprise e.g. road slope, curvature, height profile, selected driving gear, vehicle velocity and/ or road type, for example. The road slope and/ or height profile may be of interest when an optimal velocity profile is derived to reduce the fuel consumption. Other attributes of interest to predict may comprise entities 25 such as arrival time, stored energy consumption, driving hazards etc.
In some such embodiments, the combination of the previously stored slope and the currently determined 405 slope may be made by computing a weighted mean value, giving the currently determined 404 slope a higher weight than the previously stored slope.
30
An average value of the at least one location-dependent parameter may be calculated and stored, based on a previously stored at least one location-dependent parameter and the measured 405 at least one location-dependent parameter. For some parameter types other auxiliary information such as the fraction of passes past the current position a feature has 35 been observed may be stored. An advantage is that the road slope may vary within the pixel 211 , 212, 244 but by calculating an average value, the difference between a predicted road slope and an experienced road slope may be reduced or minimised. Step 406 comprises incrementing a frequency counter associated with the determined 404 pixel 223 in the selected 403 grid-based representation 200-2, counting an amount of times the vehicle 100 has passed the pixel 223 in the determined 402 driving direction 105.
The frequency counter associated with the determined 404 pixel 223 may be incremented up to a threshold limit. The threshold limit may be predetermined or configurable. Further the method 400 may comprise, when the frequency counter reaches the threshold limit, decreasing frequency counters associated with the determined 404 pixel 223 in all grid-based representations 200-1 , 200-3, 200-4, except the selected 403 grid-based representation 200-2. Step 407 comprises storing the incremented 406 frequency counter value, associated with the determined 404 pixel 223 in the selected 403 grid-based representation 200-2 in the database 350.
In some embodiments wherein step 405 has been performed, the measured 405 at least one location dependent parameter may be stored, associated with the determined 404 pixel 223 in the selected 403 grid-based representation 200-2 in the database 350.
Further, in some embodiments, a generated time reference value may be stored associated with the determined 404 pixel 223 in the selected 403 grid-based representation 200-2.
The method 400 may further comprise decreasing the frequency counter associated with the determined 404 pixel 223 after a time limit in some embodiments.
Thereby a self-learning map is created in the database 350.
Figure 5 illustrates an embodiment of a system 300 for building a database 350, enabling prediction of a route of a vehicle 100. The database 350 comprises a plurality of grid-based representations 200-1 , 200-2, 200-3, 200-4 of a geographical landscape, each grid-based representation 200-1 , 200-2, 200-3, 200-4 comprising a plurality of discrete pixels 21 1 , 212, 244 and being associated with a range of directions 210-1 , 210-2, 210-3, 210-4.
The system 300 comprises a control unit 310 in the vehicle 100, a geographical positioning device 330 and a database 350. The control unit 310 may perform at least some of the previously described steps 401 -407 according to the method 400 described above and illustrated in Figure 4.
The control unit 310 is configured to observe geographical position of the vehicle 100, e.g. via a positioning unit 330, based on e.g. GPS. Further the control unit 310 is configured to determine a driving direction 105 of the vehicle 100 at the observed geographical position. The control unit 310 is in addition configured to select one grid-based representation 200-2 out of the plurality of grid-based representations 200-1 , 200-2, 200-3, 200-4, based on the determined driving direction 105. Furthermore, the control unit 310 is also configured to de- termine a specific pixel 223 in the selected grid-based representation 200-2, corresponding to the observed geographical position. Also, in addition, the control unit 310 is configured to increment a frequency counter associated with the determined pixel 223 in the selected grid- based representation 200-2, counting an amount of times the vehicle 100 has passed the pixel 223 in the determined driving direction 105, e.g. within a time period. Furthermore, the control unit 310 is additionally configured to store the measured at least one location-dependent parameter and the incremented frequency counter value, associated with the determined pixel 223 in the selected grid-based representation 200-1 , 200-2, 200-3, 200-4 in the database 350. The control unit 310 may in some embodiments also be configured to measure at least one location-dependent parameter at the observed geographical position when driving in the determined driving direction 105. The location-dependent parameter may comprise e.g. road slope, curvature, selected driving gear, height, vehicle velocity, etc. The road slope and/ or height profile may be of interest when an optimal velocity profile is derived to reduce the fuel consumption. Other attributes of interest to predict may comprise entities such as arrival time, stored energy consumption, driving hazards etc.
The location-dependent parameter may be measured by a sensor and provided to the control unit 310 via a wired or wireless communication interface.
Such sensor may comprise e.g. accelerometer, levelling instrument or other slope sensor based on e.g. laser for measuring road slope. A pressure sensor, barometer, altimeter or other type of elevation meter may measure height profile. The sensor may also comprise a curvature sensor, a speedometer, a gear detector etc., in various different embodiments.
Further the measured at least one location dependent parameter may be stored, associated with the determined pixel 223 in the selected grid-based representation 200-2 in the database 350. In addition, the control unit 310 may determine the driving direction 105 of the vehicle 100 at the observed geographical position based on a heading between the observed geographical position of the vehicle 100 and a previously observed geographical position of the vehicle 5 100, and wherein the grid-based representation 200-2 having a range of directions 210-2 corresponding with said heading, may be selected in some embodiments.
Furthermore, the control unit 310 may generate control signals for the frequency counter associated with the determined pixel 223 may be incremented up to a threshold limit. The0 threshold limit may be predetermined or configurable. The control unit 310 may also in some embodiments generate control signals for modifying the frequency counter when it reaches the threshold limit, by decreasing frequency counters associated with the determined pixel 223 in all grid-based representations 200-1 , 200-3, 200-4, except the selected grid-based representation 200-2.
5
The control unit 310 may additionally via a time measurement instrument like a clock, a chronometer, a chronograph or other similar horological instrument determine and generate a time reference value for any determined parameter data such as road slope. The control unit 310 may also be configured to store the generated time reference value associated with0 the determined pixel 223 in the selected grid-based representation 200-2.
Additionally, the control unit 310 may also be configured to generate control signals for decreasing the frequency counter associated with the determined pixel 223 after a time limit. Thereby aging of the stored parameter values is enabled.
5
Furthermore, the control unit 310 may also be configured to calculate and store an average value of the at least one location-dependent parameter, based on a previously stored at least one location-dependent parameter and the measured at least one location-dependent parameter. In some embodiments, a weighted mean value of the determined slope may be0 computed, giving the currently determined slope a higher weight than the previously stored slope.
In some embodiments, the control unit 310 may be comprised in the vehicle 100. However, in some other alternative embodiments, the control unit 310 may be comprised in a vehicle5 external structure. The control unit 310 may comprise a processor 520 configured for performing at least some of the previously described steps 401 -407 according to the method 400, in some embodiments.
5 Such processor 520 may comprise one or more instances of a processing circuit, i.e. a Central Processing Unit (CPU), a processing unit, a processing circuit, a processor, an Application Specific Integrated Circuit (ASIC), a microprocessor, or other processing logic that may interpret and execute instructions. The herein utilised expression "processor" may thus represent a processing circuitry comprising a plurality of processing circuits, such as, e.g., any, 10 some or all of the ones enumerated above.
The control unit 310 may further comprise a receiving circuit 510 configured for receiving a signal from the positioning device 330, and/ or the database 350 in different embodiments.
15 Furthermore, the control unit 310 may comprise a memory 525 in some embodiments. The optional memory 525 may comprise a physical device utilised to store data or programs, i.e., sequences of instructions, on a temporary or permanent basis. According to some embodiments, the memory 525 may comprise integrated circuits comprising silicon-based transistors. The memory 525 may comprise e.g. a memory card, a flash memory, a USB memory,
20 a hard disc, or another similar volatile or non-volatile storage unit for storing data such as e.g. ROM (Read-Only Memory), PROM (Programmable Read-Only Memory), EPROM (Erasable PROM), EEPROM (Electrically Erasable PROM), etc. in different embodiments.
Further, the control unit 310 may comprise a signal transmitter 530. The signal transmitter 25 530 may be configured for transmitting signals to be received by the database 350.
Furthermore, the control unit 310 is configured to predict a vehicle route by using the database 350. The database 350 comprises a plurality of grid-based representations 200-1 , 200- 2, 200-3, 200-4 of a geographical landscape, each grid-based representation 200-1 , 200-2, 30 200-3, 200-4 comprising a plurality of discrete pixels 211 , 212, ... , 244 and being associated with a range of directions 210-1 , 210-2, 210-3, 210-4.
Thus the control unit 310 is configured to observe geographical position of the vehicle 100. Also, the control unit 310 is configured to determine the driving direction 105 of the vehicle 35 100 at the observed geographical position. Further, the control unit 310 is configured to select one grid-based representation 200-2 out of the plurality of grid-based representations 200-1 , 200-2, 200-3, 200-4, based on the determined driving direction 105. In addition, the control unit 310 is configured to determine a specific pixel 223 in the selected grid-based representation 200-2, corresponding to the observed geographical position. Also, in further addition, the control unit 310 is configured to predict a next position pixel 211 , 212, 244 of the vehicle 100, neighbour to the determined pixel 223 in the selected grid-based representation 200-2, based on a frequency counter value of the neighbour pixels 211 , 212, 5 244.
In some embodiments, the control unit 310 may in addition be configured to extract at least one location-dependent parameter, associated with the predicted next position pixel 21 1 , 212, ... , 244 in the selected grid-based representation 200-2 from the database 350.
10
Furthermore, the control unit 310 may also be configured to predict a sequence of next position pixels 21 1 , 212, 244 of the vehicle 100, based on frequency counter values of the respective neighbour pixel 21 1 , 212, 244. Also, the control unit 310 may be configured to select the grid-based representation 200-1 , 200-2, 200-3, 200-4, based on the predicted se- 15 quence of next position pixels 211 , 212, 244 of the vehicle 100.
The control unit 310 may in addition be configured to exclude the neighbour pixel 21 1 , 212, ... , 244 most recently passed by the vehicle 100 when predicting the next position pixel 21 1 , 212, ... , 244 of the vehicle 100.
20
Additionally, the control unit 310 may be further configured to select driving gear of the vehicle 100, based on the extracted at least one location-dependent parameter, in some embodiments.
25 Furthermore, the control unit 310 may also be configured to release vehicle throttle when the vehicle 100 is predicted to approach a downhill.
Thereby, an adaptive cruise control of the vehicle 100 may use this information for reducing vehicle velocity in the above described situation, or when e.g. passing a roundabout, without 30 braking the vehicle 100. Thereby energy consumption of the vehicle 100 may be reduced.
The previously described steps 401 -407 to be performed in the control unit 310 may be implemented through the one or more processors 520 within the control unit 310, together with computer program product for performing at least some of the functions of the steps 401 - 35 407. Thus a computer program product, comprising instructions for performing the steps 401 - 407 in the control unit 310 may perform the method 400 comprising at least some of the steps 401 -407 for building a database 350, enabling prediction of the route of the vehicle 100, and estimation of the length of the predicted route, when the computer program is loaded into the one or more processors 520 of the control unit 310.
The computer program product mentioned above may be provided for instance in the form 5 of a data carrier carrying computer program code for performing at least some of the step 401 -407 according to some embodiments when being loaded into the one or more processors 520 of the control unit 310. The data carrier may be, e.g., a hard disk, a CD ROM disc, a memory stick, an optical storage device, a magnetic storage device or any other appropriate medium such as a disk or tape that may hold machine readable data in a non-transitory o manner. The computer program product may furthermore be provided as computer program code on a server and downloaded to the control unit 310 remotely, e.g., over an Internet or an intranet connection.
Figure 6 illustrates an example of a method 600 according to an embodiment. The flow chart5 in Figure 6 shows the method 600, for predicting a vehicle route by using a database 350. The database 350 comprises a plurality of grid-based representations 200-1 , 200-2, 200-3, 200-4 of a geographical landscape, each grid-based representation 200-1 , 200-2, 200-3, 200-4 comprising a plurality of discrete pixels 211 , 212, ... , 244 and being associated with a range of directions 210-1 , 210-2, 210-3, 210-4.
0
The route may be predicted based on a database 350, established e.g. by the previously described method 400 for building a database 350, enabling prediction of a route of a vehicle 100. 5 The vehicle 100 may be any arbitrary kind of means for conveyance, such as a truck, a bus, a car, a motorcycle or similar. The vehicle 100 may be driven by a driver, or be autonomous in different embodiments.
In order to correctly be able to predict the vehicle route, the method 600 may comprise a0 number of steps 601-608. However, some of these steps 601 -608 may be performed solely in some alternative embodiments. Further, the described steps 601 -608 may be performed in a somewhat different chronological order than the numbering suggests. Steps 606-608 may be performed only in some particular embodiments. The method 600 may comprise the subsequent steps:
5
Step 601 comprises observing geographical position of the vehicle 100. The current vehicle position may be determined by a geographical positioning device 330, such as e.g. a GPS. However, the current position of the vehicle 100 may alternatively be detected and registered by the driver of the vehicle 100.
5 The geographical position may be determined continuously while driving the vehicle 100 along the road 1 10, or at predetermined time intervals in different embodiments.
Step 602 comprises determining a driving direction 105 of the vehicle 100 at the observed 601 geographical position.
10
The driving direction 105 of the vehicle 100 at the observed 401 geographical position may be determined 402, in some embodiments, based on a heading between the observed 401 geographical position of the vehicle 100 and a previously observed 401 geographical position of the vehicle 100.
15
Step 603 comprises selecting one grid-based representation 200-2 out of the plurality of grid-based representations 200-1 , 200-2, 200-3, 200-4, based on the determined 602 driving direction 105.
20 The grid-based representation 200-2 having a range of directions 210-2 corresponding with the heading between the observed 401 geographical position of the vehicle 100 and a previously observed 401 geographical position of the vehicle 100, may be selected.
Step 604 comprises determining a pixel 223 in the selected 603 grid-based representation 25 200-2, corresponding to the observed 601 geographical position.
Step 605 comprises predicting a next position pixel 21 1 , 212, 244 of the vehicle 100, neighbour to the determined 604 pixel 223 in the selected 603 grid-based representation 200-2, based on a frequency counter value of the neighbour pixels 211 , 212, 244.
30
Thus the next position pixel 21 1 , 212, ... , 244 with the highest frequency counter value may be predicted as the next position for the vehicle 100.
In some embodiments, a sequence of next position pixels 211 , 212, 244 of the vehicle 35 100 may be iteratively predicted, based on frequency counter values of the respective neighbour pixel 211 , 212, 244, and wherein grid-based representation 200-1 , 200-2, 200-3, 200-4 is selected 603, based on the iteratively predicted 605 sequence of next position pixels 21 1 , 212, ... , 244 of the vehicle 100. In some such embodiments, the prediction may be iterated until a predetermined or configurable horizon limit (like e.g. 10 pixels, 20 pixels etc.) is reached.
5 The iterated prediction may comprise repeating steps 601 -605, but using the most recent predicted next position pixel 211 , 212, 244 instead of the current position pixel as input value in step 601 .
In some further embodiments, the neighbour pixel 21 1 , 212, 244 most recently passed 10 by the vehicle 100 may be excluded when predicting the next position pixel 211 , 212, ... , 244 of the vehicle 100. Thereby, an endless loop predicted of U-turns may be avoided.
Step 606, which only may be performed in some particular embodiments, may comprise extracting at least one location-dependent parameter, associated with the predicted 605 next 15 position pixel 211 , 212, ... , 244 in the selected 603 grid-based representation 200-2 from the database 350, in some embodiments.
Step 607, which only may be performed in some particular embodiments where step 606 has been performed, may comprise selecting driving gear of the vehicle 100, based on the 20 extracted 606 at least one location-dependent parameter.
Step 608, which only may be performed in some particular embodiments, may comprise releasing vehicle throttle when the vehicle 100 is predicted 605 to approach a downhill. The vehicle 100 may for example be driving uphill and when it is approaching the hill, the vehicle 25 throttle may be released, for saving fuel/ energy.
The previously described steps 601 -608 to be performed in the control unit 310 may be implemented through the one or more processors 520 within the control unit 310, together with computer program product for performing at least some of the functions of the steps 601 - 30 608. Thus a computer program product, comprising instructions for performing the steps 601 - 608 in the control unit 310 may perform the method 600 comprising at least some of the steps 601 -608 for predicting a route of a vehicle 100, when the computer program is loaded into the one or more processors 520 of the control unit 310.
35 The computer program product mentioned above may be provided for instance in the form of a data carrier carrying computer program code for performing at least some of the step 601 -608 according to some embodiments when being loaded into the one or more processors 520 of the control unit 310. The data carrier may be, e.g., a hard disk, a CD ROM disc, a memory stick, an optical storage device, a magnetic storage device or any other appropriate medium such as a disk or tape that may hold machine readable data in a non-transitory manner. The computer program product may furthermore be provided as computer program code on a server and downloaded to the control unit 310 remotely, e.g., over an Internet or an intranet connection.
The terminology used in the description of the embodiments as illustrated in the accompanying drawings is not intended to be limiting of the described methods 400, 600; the control unit 310; the database 350; the computer program and/ or the vehicle 100, comprising the control unit 310. Various changes, substitutions and/ or alterations may be made, without departing from invention embodiments as defined by the appended claims.
As used herein, the term "and/ or" comprises any and all combinations of one or more of the associated listed items. The term "or" as used herein, is to be interpreted as a mathematical OR, i.e., as an inclusive disjunction; not as a mathematical exclusive OR (XOR), unless expressly stated otherwise. In addition, the singular forms "a", "an" and "the" are to be interpreted as "at least one", thus also possibly comprising a plurality of entities of the same kind, unless expressly stated otherwise. It will be further understood that the terms "includes", "comprises", "including" and/ or "comprising", specifies the presence of stated features, ac- tions, integers, steps, operations, elements, and/ or components, but do not preclude the presence or addition of one or more other features, actions, integers, steps, operations, elements, components, and/ or groups thereof. A single unit such as e.g. a processor may fulfil the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage. A computer program may be stored/ distributed on a suitable medium, such as an optical storage medium or a solid-state medium supplied together with or as part of other hardware, but may also be distributed in other forms such as via Internet or other wired or wireless communication system.

Claims

PATENT CLAIMS
1 . A method (400) for building a database (350), enabling prediction of a vehicle route, wherein the database (350) comprises a plurality of grid-based representations (200-1 , 200- 2, 200-3, 200-4) of a geographical landscape, each grid-based representation (200-1 , 200-
2. 200-3, 200-4) comprising a plurality of discrete pixels (211 , 212, ... , 244) and being associated with a range of directions (210-1 , 210-2, 210-3, 210-4), wherein the method (400) comprises:
observing (401 ) geographical position of a vehicle (100);
determining (402) a driving direction (105) of the vehicle (100) at the observed (401 ) geographical position;
selecting (403) one grid-based representation (200-2) out of the plurality of grid- based representations (200-1 , 200-2, 200-3, 200-4), based on the determined (402) driving direction (105);
determining (404) a pixel (223) in the selected (403) grid-based representation (200-
2), corresponding to the observed (401 ) geographical position;
incrementing (406) a frequency counter associated with the determined (404) pixel (223) in the selected (403) grid-based representation (200-2), counting an amount of times the vehicle (100) has passed the pixel (223) in the determined (402) driving direction (105); and
storing (407) the incremented (406) frequency counter value, associated with the determined (404) pixel (223) in the selected (403) grid-based representation (200-2) in the database (350). 2. The method (400) according to claim 1 , further comprising:
measuring (405) at least one location-dependent parameter at the observed (401 ) geographical position when driving in the determined (402) driving direction (105); and wherein the measured (405) at least one location dependent parameter is stored (407), associated with the determined (404) pixel (223) in the selected (403) grid-based representa- tion (200-2) in the database (350).
3. The method (400) according to any of claim 1 or claim 2, wherein the driving direction (105) of the vehicle (100) at the observed (401 ) geographical position is determined (402) based on a heading between the observed (401 ) geographical position of the vehicle (100) and a previously observed (401 ) geographical position of the vehicle (1 00), and wherein the grid-based representation (200-2) having a range of directions (210-2) corresponding with said heading, is selected (403).
4. The method (400) according to any of claims 1 -3, wherein the frequency counter associated with the determined (404) pixel (223) is incremented (406) up to a threshold limit; and wherein the method (400) further comprises, when the frequency counter reaches the threshold limit, decreasing frequency counters associated with the determined (404) pixel (223) in all grid-based representations (200-1 , 200-3, 200-4), except the selected (403) grid- based representation (200-2).
5. The method (400) according to any of claims 1 -4, wherein a generated time reference value is stored (407) associated with the determined (404) pixel (223) in the selected (403) grid-based representation (200-2); and wherein the method (400) further comprises decreasing the frequency counter associated with the determined (404) pixel (223) after a time limit.
6. The method (400) according to any of claims 2-5, wherein an average value of the at least one location-dependent parameter is calculated and stored (407), based on a previously stored (407) at least one location-dependent parameter and the measured (405) at least one location-dependent parameter.
7. A control unit (310), for building a database (350), enabling prediction of a vehicle route, wherein the database (350) comprises a plurality of grid-based representations (200-
1 , 200-2, 200-3, 200-4) of a geographical landscape, each grid-based representation (200- 1 , 200-2, 200-3, 200-4) comprising a plurality of discrete pixels (21 1 , 212, ... , 244) and being associated with a range of directions (210-1 , 210-2, 210-3, 210-4), wherein the control unit (310) is configured to:
observe geographical position of a vehicle (100);
determine a driving direction (105) of the vehicle (100) at the observed geographical position;
select one grid-based representation (200-2) out of the plurality of grid-based representations (200-1 , 200-2, 200-3, 200-4), based on the determined driving direction (105); determine a pixel (223) in the selected grid-based representation (200-2), corresponding to the observed geographical position;
increment a frequency counter associated with the determined pixel (223) in the selected grid-based representation (200-2), counting an amount of times the vehicle (100) has passed the pixel (223) in the determined driving direction (105); and
store the measured at least one location-dependent parameter and the incremented frequency counter value, associated with the determined pixel (223) in the selected grid- based representation (200-1 , 200-2, 200-3, 200-4) in the database (350).
8. A method (600) for prediction of a vehicle route by using a database (350), comprising a plurality of grid-based representations (200-1 , 200-2, 200-3, 200-4) of a geographical landscape, each grid-based representation (200-1 , 200-2, 200-3, 200-4) comprising a plurality of discrete pixels (211 , 212, 244) and being associated with a range of directions
5 (210-1 , 210-2, 210-3, 210-4), wherein the method (600) comprises:
observing (601 ) geographical position of the vehicle (100);
determining (602) a driving direction (105) of the vehicle (100) at the observed (601 ) geographical position;
selecting (603) one grid-based representation (200-2) out of the plurality of grid- 10 based representations (200-1 , 200-2, 200-3, 200-4), based on the determined (602) driving direction (105);
determining (604) a pixel (223) in the selected (603) grid-based representation (200- 2), corresponding to the observed (601 ) geographical position; and
predicting (605) a next position pixel (21 1 , 212, ... , 244) of the vehicle (100), neigh- 15 bour to the determined (604) pixel (223) in the selected (603) grid-based representation (200- 2), based on a frequency counter value of the neighbour pixels (211 , 212, 244).
9. The method (600) according to claim 8, further comprising:
extracting (606) at least one location-dependent parameter, associated with the pre- 20 dieted (605) next position pixel (211 , 212, 244) in the selected (603) grid-based representation (200-2) from the database (350).
10. The method (600) according to any of claim 8 or claim 9, wherein a sequence of next position pixels (211 , 212, 244) of the vehicle (100) are iteratively predicted (605),
25 based on frequency counter values of the respective neighbour pixel (211 , 212, 244), and wherein grid-based representation (200-1 , 200-2, 200-3, 200-4) is selected (603), based on the iteratively predicted (605) sequence of next position pixels (21 1 , 212, 244) of the vehicle (100).
30 1 1 . The method (600) according to any of claims 8-10, wherein the neighbour pixel (21 1 , 212, 244) most recently passed by the vehicle (100) is excluded when predicting (605) the next position pixel (21 1 , 212, 244) of the vehicle (100).
12. The method (600) according to any of claims 9-1 1 , further comprising:
35 selecting (607) driving gear of the vehicle (100), based on the extracted (606) at least one location-dependent parameter.
13. The method (600) according to any of claims 9-12, further comprising: releasing (608) vehicle throttle when the vehicle (100) is predicted (605) to approach a downhill.
14. A control unit (310) for prediction of a vehicle route by using a database (350), com- 5 prising a plurality of grid-based representations (200-1 , 200-2, 200-3, 200-4) of a geographical landscape, each grid-based representation (200-1 , 200-2, 200-3, 200-4) comprising a plurality of discrete pixels (211 , 212, 244) and being associated with a range of directions (210-1 , 210-2, 210-3, 210-4), wherein the control unit (310) is configured to:
observe geographical position of the vehicle (100);
10 determine a driving direction (105) of the vehicle (100) at the observed geographical position;
select one grid-based representation (200-2) out of the plurality of grid-based representations (200-1 , 200-2, 200-3, 200-4), based on the determined driving direction (105); determine a pixel (223) in the selected grid-based representation (200-2), corre- 15 sponding to the observed geographical position; and
predict a next position pixel (21 1 , 212, 244) of the vehicle (100), neighbour to the determined pixel (223) in the selected grid-based representation (200-2), based on a frequency counter value of the neighbour pixels (21 1 , 212, ... , 244).
20 15. A computer program comprising program code for performing a method (400, 600) according to any of claims 1 -6 or any of claims 8-13 when the computer program is executed in a control unit (310) according to any of claim 7 or claim 14.
16. A database (350) comprising a plurality of grid-based representations (200-1 , 200- 25 2, 200-3, 200-4) of a geographical landscape, each grid-based representation (200-1 , 200-
2, 200-3, 200-4) comprising a plurality of discrete pixels (21 1 , 212, ... , 244) and being associated with a range of directions (210-1 , 210-2, 210-3, 210-4), wherein the database (350) is configured to store a frequency counter value, associated with a respective pixel (21 1 , 212, 244) in at least one of the grid-based representations (200-1 , 200-2, 200-3, 200-4).
30
17. A vehicle (100) comprising a control unit (310) according to any of claim 7 or claim 14.
PCT/SE2016/051235 2016-01-12 2016-12-09 Method and control unit for a self-learning map Ceased WO2017123130A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE112016005693.1T DE112016005693T5 (en) 2016-01-12 2016-12-09 Method and control unit for a self-learning card
BR112018013213A BR112018013213A2 (en) 2016-01-12 2016-12-09 method and control unit for a self-learning map

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE1650027A SE539526C2 (en) 2016-01-12 2016-01-12 Method and control unit for a self-learning map
SE1650027-4 2016-01-12

Publications (1)

Publication Number Publication Date
WO2017123130A1 true WO2017123130A1 (en) 2017-07-20

Family

ID=59311398

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SE2016/051235 Ceased WO2017123130A1 (en) 2016-01-12 2016-12-09 Method and control unit for a self-learning map

Country Status (4)

Country Link
BR (1) BR112018013213A2 (en)
DE (1) DE112016005693T5 (en)
SE (1) SE539526C2 (en)
WO (1) WO2017123130A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10436615B2 (en) 2017-04-24 2019-10-08 Carnegie Mellon University Virtual sensor system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2009400A2 (en) * 2007-06-29 2008-12-31 Aisin AW Co., Ltd. Vehicle position recognition device, navigation device, vehicle position recognition method
EP2120014A1 (en) * 2008-05-09 2009-11-18 Research In Motion Limited Predictive downloading of map data
US20110175931A1 (en) * 2007-11-27 2011-07-21 Tomoya Ikeuchi Map information processor and data structure of map information
US20120265433A1 (en) * 2011-04-15 2012-10-18 Microsoft Corporation Suggestive mapping
US20130131978A1 (en) * 2010-08-30 2013-05-23 Alpine Electronics, Inc. Method and apparatus for displaying three-dimensional terrain and route guidance
WO2015126309A1 (en) * 2014-02-18 2015-08-27 Scania Cv Ab Map building in a vehicle

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2009400A2 (en) * 2007-06-29 2008-12-31 Aisin AW Co., Ltd. Vehicle position recognition device, navigation device, vehicle position recognition method
US20110175931A1 (en) * 2007-11-27 2011-07-21 Tomoya Ikeuchi Map information processor and data structure of map information
EP2120014A1 (en) * 2008-05-09 2009-11-18 Research In Motion Limited Predictive downloading of map data
US20130131978A1 (en) * 2010-08-30 2013-05-23 Alpine Electronics, Inc. Method and apparatus for displaying three-dimensional terrain and route guidance
US20120265433A1 (en) * 2011-04-15 2012-10-18 Microsoft Corporation Suggestive mapping
WO2015126309A1 (en) * 2014-02-18 2015-08-27 Scania Cv Ab Map building in a vehicle

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KUCNER ET AL.: "Conditional Transition Maps: Learning Motion Patterns in Dynamic Environments", IEEE /RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS (IROS, 3 November 2013 (2013-11-03), pages 1196 - 1201, XP032537673 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10436615B2 (en) 2017-04-24 2019-10-08 Carnegie Mellon University Virtual sensor system

Also Published As

Publication number Publication date
DE112016005693T5 (en) 2018-08-30
SE1650027A1 (en) 2017-07-13
SE539526C2 (en) 2017-10-10
BR112018013213A2 (en) 2018-12-11

Similar Documents

Publication Publication Date Title
EP4012343B1 (en) Providing traffic warnings to a user based on return journey delays
EP3570061B1 (en) Drone localization
US10119824B2 (en) Method and apparatus for updating road map geometry based on probe data
US20190051153A1 (en) Updating maps and road status
US20200284594A1 (en) Vehicle and navigation system
Janowski et al. Mobile indicators in GIS and GPS positioning accuracy in cities
EP3413286A1 (en) Reversible lane active direction detection based on probe data
MX2014013273A (en) Conflict resolution based on object behavioral determination and collaborative relative positioning.
US10445610B2 (en) Method, apparatus, and computer program product for determining vehicle lanes of a road segment based on received probe data
JP2016085080A (en) Avoidance route search system, avoidance route search device, avoidance route search method, and computer program
WO2015125468A1 (en) Travel time data adjustment device, travel time data adjustment method, and program
Vilaseca et al. Indoor navigation using WiFi signals
JPWO2019193654A1 (en) Mobile device, map management device, and positioning system
CN111198560A (en) Method and apparatus for predicting feature space attenuation using a variational self-encoder network
RU2652653C2 (en) Construction of maps in vehicles
JP5990018B2 (en) Navigation device, information providing method, and program
Dasanayaka et al. Analysis of vehicle location prediction errors for safety applications in cooperative-intelligent transportation systems
KR102046028B1 (en) Method and control unit for building a database and predicting the route of the vehicle
WO2017123130A1 (en) Method and control unit for a self-learning map
Yokota Vehicle localization by dynamic programming from altitude and yaw rate time series acquired by MEMS sensor
Lakakis et al. Quality of map-matching procedures based on DGPS and stand-alone GPS positioning in an urban area
Rodriguez et al. Evaluation Study of Inertial Positioning in Road Tunnels for Cooperative ITS Applications
KR20240158028A (en) Flight path setting system for aircraft and path setting method therefor
US20250076078A1 (en) Method, apparatus, and computer program product for path estimation using predictive model
Frankl et al. Preconditions for a reliable & robust detection of wrong-way driving on highways with GNSS and autonomous sensors

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16885285

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 112016005693

Country of ref document: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112018013213

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112018013213

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20180627

122 Ep: pct application non-entry in european phase

Ref document number: 16885285

Country of ref document: EP

Kind code of ref document: A1