WO2019152049A1 - Map discrepancy identification with centralized map data - Google Patents

Map discrepancy identification with centralized map data Download PDF

Info

Publication number
WO2019152049A1
WO2019152049A1 PCT/US2018/016678 US2018016678W WO2019152049A1 WO 2019152049 A1 WO2019152049 A1 WO 2019152049A1 US 2018016678 W US2018016678 W US 2018016678W WO 2019152049 A1 WO2019152049 A1 WO 2019152049A1
Authority
WO
WIPO (PCT)
Prior art keywords
vehicle
map
data
blockchain database
discrepancy
Prior art date
Application number
PCT/US2018/016678
Other languages
French (fr)
Inventor
Fazal Syed
Venkatapathi NALLAPA
Original Assignee
Ford Global Technologies, Llc
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 Ford Global Technologies, Llc filed Critical Ford Global Technologies, Llc
Priority to PCT/US2018/016678 priority Critical patent/WO2019152049A1/en
Publication of WO2019152049A1 publication Critical patent/WO2019152049A1/en

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/3804Creation or updating of map data
    • 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/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3848Data obtained from both position sensors and additional sensors
    • 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/3804Creation or updating of map data
    • G01C21/3859Differential updating map data
    • 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/3885Transmission of map data to client devices; Reception of map data by client devices
    • G01C21/3896Transmission of map data from central databases

Definitions

  • the disclosure relates generally to systems and methods for determining a vehicle path based on a plurality of inputs.
  • the disclosure further relates to systems and methods for providing updated map information to a decentralized computer network.
  • Automobiles provide a significant portion of transportation for commercial, government, and private entities.
  • Autonomous vehicles and driving assistance systems are currently being developed and deployed to provide safety, reduce an amount of user input required, or even eliminate user involvement entirely.
  • some driving assistance systems such as crash avoidance systems, may monitor driving, positions, and a velocity of the vehicle and other objects while a human is driving. When the system detects that a crash or impact is imminent the crash avoidance system may intervene and apply a brake, steer the vehicle, or perform other avoidance or safety maneuvers.
  • autonomous vehicles may drive and navigate a vehicle with little or no user input.
  • Autonomous or assisted driving systems often utilize data from sensors to determine information about an environment surrounding a vehicle. In some cases, this data must be processed to detect objects, roadways, or make driving or assisted driving decisions. Because of the wide range of scenarios, objects, or complex situations that may be presented to an autonomous or assisted driving vehicle, it can be important for the vehicle to receive detailed map information for a future location of the vehicle or in real-time for a current location of the vehicle. In some cases, an autonomous vehicle or assisted driving vehicle is responsible for planning vehicle route and trajectory in real-time based on various sensors and map data. Detailed map data may be accessed from a centralized map information network and crude map data may be accessed on a local vehicle network.
  • map data obtained through the centralized map information network or the local vehicle network does not match the data determined by the vehicle sensors. For example, such conditions can occur when there is construction on the route or a personalized traffic control is being used due to heavy traffic congestion on the route.
  • FIG. l is a schematic block diagram illustrating an implementation of a vehicle control system that includes an automated driving/assi stance system
  • FIG. 2 is a schematic block diagram illustrating a system for providing a vehicle path based on a plurality of inputs, according to one implementation
  • FIG. 3 is a schematic block diagram illustrating a system for providing a vehicle path based on a plurality of inputs, according to one implementation
  • FIG. 4 is a schematic block diagram illustrating a blockchain database, according to one implementation
  • FIG. 5 is a schematic flow chart diagram illustrating a method for providing a vehicle path based on a plurality of inputs, according to one implementation
  • FIG. 6 is a schematic flow chart diagram illustrating a method for providing a vehicle path based on a plurality of inputs, according to one implementation
  • FIG. 7 is a schematic flow chart diagram illustrating a method for providing a vehicle path based on a plurality of inputs, according to one implementation.
  • FIG. 8 is a schematic block diagram illustrating a computing system, according to one implementation. DETAILED DESCRIPTION
  • the disclosure extends to methods, systems, and devices for planning vehicle routes and trajectories in real-time based on real-time data received from one or more vehicle sensors along with stored map data.
  • Stored map data may be received by a vehicle controller from a centralized map information network comprising detailed map data.
  • Stored map data may further be received from a local database comprising broad map data on a local vehicle network.
  • Real- time sensor data may be received from one or more vehicle sensors, such as a global positioning system (GPS), cameras, radars, ultrasonic sensors, and LIDAR sensors.
  • GPS global positioning system
  • a vehicle controller may determine if a map discrepancy exists between the stored map data and the real-time sensor data received from the one or more sensors. Where a map discrepancy exists, the vehicle controller may generate and publish the sensor data to a blockchain database such that the stored map data may be updated to reflect the updated sensor data.
  • Autonomous vehicles and vehicles with advanced driver assistance systems may use map information from a centralized system or network to perform vehicle route planning along with one or more vehicle sensors.
  • an autonomous vehicle uses stored map data from a centralized map network along with real-time sensor data from one or more sensors to determine a vehicle route.
  • the vehicle route may be pre-determined based on the stored map data and the vehicle route may be updated to reflect new data received in real-time from vehicle sensors.
  • the stored map data may be updated on a blockchain database such that other vehicles in a network may receive the updated map data.
  • Autonomous vehicles and vehicles with an ADAS will often determine a vehicle route or path based on a vehicle’s starting location, a vehicle’s destination, a vehicle’s current location, and one or more traffic conditions.
  • Vehicles may receive map data from a local map database and the map data may not reflect current road conditions.
  • Temporary or permanent road alterations that may not be updated in a map database may include, for example, temporary or long-term construction, a road blockage, new construction, a temporary or permanent change to a road or highway, an alteration to a traffic rule or regulation, and a temporary traffic issue. Accordingly, Applicant has developed a vehicle route determination system that may receive updated map data in real-time.
  • a vehicle controller receives stored map data from a centralized map information network.
  • the stored map data may include detailed map data such as, for example, road information, temporary or permanent construction information, temporary or permanent traffic regulation information, road altitude or slope information, road blockage information, temporary or permanent road condition information, alterations to new construction on the path, and so forth.
  • the vehicle controller further receives sensor data from one or more vehicle sensors.
  • the sensor data may indicate, for example, obstacles on the road, construction on the road, traffic regulations on the road, and so forth.
  • the vehicle controller may compare the sensor data and the map data for the same location and determine if a map discrepancy exists.
  • a map discrepancy may include, for example, an indication that vehicle sensors have identified temporary construction on the pathway that is not stored in the map data.
  • the vehicle controller may generate a transaction request to a blockchain database for map discrepancy data and receive updated map information from the blockchain database.
  • the request for map discrepancy data may indicate a request for map information that rectifies the map discrepancy between the map data received from the centralized map information network and the sensor data received from the vehicle sensors.
  • the updated map information may indicate map discrepancy data that rectifies the map discrepancy.
  • the map discrepancy data may be received very recently from a prior vehicle that traversed the same location and provided updated sensor data.
  • the updated map information may indicate that the blockchain database does not have any information for that location, or that the blockchain database has information that was not stored very recently or that does not rectify the map discrepancy.
  • the vehicle controller may generate a message comprising the sensor data that indicates the change or update to the map data.
  • the vehicle controller may publish the message to be stored on a blockchain database such that the updated information may be retrieved from the blockchain database for future use.
  • the vehicle controller may utilize the updated map information to generate a new vehicle path or route and generate new vehicle driving instructions.
  • the vehicle controller may proceed based solely on real-time sensor data received from vehicle sensors.
  • the vehicle may provide a notification to a driver of the vehicle that the driver should take control of the vehicle because the vehicle cannot proceed without updated map information.
  • the vehicle may provide a notification to a driver of the vehicle that the driver should be on high alert because the vehicle controller is proceeding without updated map information.
  • a plurality of vehicles is in communication with the blockchain database and the centralized map information network.
  • Each of the plurality of vehicles may include one or more vehicle sensors and a vehicle controller that may determine that an update or change has occurred on the vehicle path that is not stored in the map data.
  • Each of the plurality of vehicles may publish the updated information to the blockchain database such that all other vehicles may retrieve the updated information.
  • a first vehicle may request an update from the blockchain database.
  • the first vehicle may receive updated information from the blockchain database that no changes have been previously reported or published.
  • the first vehicle may publish updated information, such as a road blockage, to the blockchain database.
  • a second vehicle may then retrieve the updated information indicating the road blockage and the second vehicle will then be prepared with the necessary detailed map data.
  • the second vehicle may continue to drive autonomously without extensive use of vehicle sensors.
  • a vehicle determines that a discrepancy exists between the map data and the sensor data.
  • the vehicle may request that a human driver takes control of the vehicle.
  • the vehicle may rely heavily on vehicle sensors to navigate the path without receiving updated information about a change to the path, such as a road blockage or temporary construction on the road.
  • a vehicle generates a transaction request through a requestor node and transmits the transaction request to the blockchain database.
  • the transaction request may indicate a request for updated map information at the current location of the vehicle or for a future location of the vehicle.
  • An executor node of the blockchain database may execute the transaction request and return the updated information, including information that no updated information is available.
  • the vehicle controller compares the updated information received from the blockchain database with the real-time sensor data received from the vehicle sensors.
  • the vehicle controller may determine a path based at least in part on the detailed map information received from the blockchain database, without requesting that a human driver control the vehicle or relying heavily on real-time sensor data to navigate the path.
  • transactions stored on the blockchain database are validated by a decentralized network of computer nodes such as validator nodes.
  • Each of the validator nodes may validate or authenticate new map information through consensus.
  • New map information may be stored only after the validator nodes have authenticated the information through consensus.
  • map information cannot be tampered with or altered and a plurality of vehicles in communication with the blockchain database may rely on the detailed map information stored in the blockchain database.
  • a plurality of vehicles may be in communication with a blockchain database and the plurality of vehicles may transmit updated map information if a vehicle controller determines there is a discrepancy between the stored map data and the real-time sensor data received from vehicle sensors.
  • map information is updated on the blockchain database only when a vehicle has determined that a road condition has a changed at a location relative to the map data received from a centralized map information network. Otherwise, vehicles may rely on the detailed map data stored in and received from the centralized map information network.
  • vehicles rely on the updated map information stored in the blockchain database only when a vehicle determines there is a discrepancy between the stored map data and the real-time sensor data.
  • FIG. 1 illustrates an example vehicle control system 100 that may be used for autonomous or assisted driving.
  • the automated driving/assistance system 102 may be used to automate or control operation of a vehicle or to aid a human driver.
  • the automated driving/assistance system 102 may control one or more of braking, steering, acceleration, lights, alerts, driver notifications, radio, or any other auxiliary systems of the vehicle.
  • the automated driving/assistance system 102 may not be able to provide any control of the driving (e.g., steering, acceleration, or braking), but may provide notifications and alerts to assist a human driver in driving safely.
  • the automated driving/assi stance system 102 may use a neural network, or other model or algorithm to detect or localize objects based on perception data gathered by one or more sensors.
  • the vehicle control system 100 also includes one or more sensor systems/devices for detecting a presence of objects near or within a sensor range of a parent vehicle (e.g., a vehicle that includes the vehicle control system 100).
  • the vehicle control system 100 may include one or more radar systems 106, one or more LIDAR systems 108, one or more camera systems 110, a global positioning system (GPS) 112, and/or one or more ultrasound systems 114.
  • the vehicle control system 100 may include a data store 116 for storing relevant or useful data for navigation and safety such as map data, driving history or other data.
  • the vehicle control system 100 may also include a transceiver 118 for wireless communication with a mobile or wireless network, other vehicles, infrastructure, or any other communication system.
  • the vehicle control system 100 may include vehicle control actuators 120 to control various aspects of the driving of the vehicle such as electric motors, switches or other actuators, to control braking, acceleration, steering or the like.
  • the vehicle control system 100 may also include one or more displays 122, speakers 124, or other devices so that notifications to a human driver or passenger may be provided.
  • a display 122 may include a heads-up display, dashboard display or indicator, a display screen, or any other visual indicator which may be seen by a driver or passenger of a vehicle.
  • a heads-up display may be used to provide notifications or indicate locations of detected objects or overlay instructions or driving maneuvers for assisting a driver.
  • the speakers 124 may include one or more speakers of a sound system of a vehicle or may include a speaker dedicated to driver notification.
  • FIG. 1 is given by way of example only. Other embodiments may include fewer or additional components without departing from the scope of the disclosure. Additionally, illustrated components may be combined or included within other components without limitation.
  • the automated driving/assi stance system 102 is configured to control driving or navigation of a parent vehicle.
  • the automated driving/assi stance system 102 may control the vehicle control actuators 120 to drive a path on a road, parking lot, driveway or other location.
  • the automated driving/assistance system 102 may determine a path based on information or perception data provided by any of the components 106- 118.
  • the sensor systems/devices 106-110 and 114 may be used to obtain real-time sensor data so that the automated driving/assi stance system 102 can assist a driver or drive a vehicle in real-time.
  • FIG. 2 is a schematic block diagram illustrating a vehicle route generation system 200.
  • the system 200 includes vehicle sensors 202 in communication with a vehicle controller 204.
  • the vehicle sensors 202 may include, for example, radar sensors, LIDAR sensors, cameras, GPS, and ultrasonic sensors, such as sensors 106-114 in FIG. 1. It should be appreciated that any appropriate sensor may be used without departing from the scope of the disclosure.
  • the vehicle sensors 202 may be attached to a vehicle and may be in electronic communication with the vehicle controller 204, such as the automated driving/assi stance system 102 of FIG. 1.
  • the vehicle controller 204 may be located within the vehicle and may include an onboard computing system.
  • the vehicle controller 204 includes a sensor fusion component 206, a route determination computation controller 208, and a map data access and processing component 210.
  • the system 200 includes a centralized map information network 212 including a plurality of processors such as computing devices, servers, network nodes, and the like.
  • the sensor fusion component 206 receives real-time sensor data from one or more vehicle sensors 202.
  • the sensor fusion component 206 is configured to combine information from a plurality of vehicle sensors 202 to determine a condition.
  • the condition may include a road condition, a traffic condition, a presence or absence of construction, a change to an existing traffic rule or regulation, and the like.
  • the condition may be location specific based on a location determined by the GPS. The location may be the current location of the vehicle.
  • the route determination computation controller 208 is configured to determine a route or path for the vehicle.
  • the route determination computation controller 208 is configured to determine a quickest, shortest, safest, or otherwise best path for the vehicle.
  • the route determination computation controller 208 determines a plurality of paths for the vehicle and permits a driver of the vehicle to select a path.
  • the route determination computation controller 208 determines a best path for the vehicle and causes an autonomous vehicle to complete the route without a human driver.
  • the route determination computation controller 208 may further be configured to determine detailed driving instructions for an autonomous vehicle or an assisted driving vehicle.
  • the route determination computation controller 208 may require very detailed map information to successfully determine vehicle driving instructions.
  • the map data access and processing component 210 is configured to request and receive map data from the centralized map information network 212.
  • the map data access and processing component 210 may request map data for a specific location such as a current location of the vehicle or a future location of the vehicle on the vehicle path.
  • the map data access and processing component 210 may request and receive map data in real-time as the vehicle is traversing a path.
  • the map data access and processing component 210 may further request and receive map data for a future projected location of the vehicle.
  • the centralized map information network 212 provides stored map data to the vehicle controller 204.
  • the stored map data includes, for example, road data, path data, traffic conditions data, traffic regulation data, construction data, altitude data, road condition data, and so forth.
  • the stored map data includes detailed map data that may be used by the vehicle controller 204 to determine one or more routes for the vehicle, and to determine the shortest, safest, or best route for the vehicle.
  • the vehicle controller 204 may determine a vehicle path for an autonomous vehicle based only on the detailed map data received from the centralized map information network 212.
  • the centralized map information network 212 may be stored locally within the vehicle or it may be stored in cloud storage and accessed by the vehicle.
  • the vehicle comprises a database stored on-site within the vehicle, and the database comprises the centralized map information network 212.
  • the centralized map information network 212 is stored on a database off-site as cloud storage and is accessed by a plurality of vehicles.
  • the centralized map information network 212 is updated regularly to reflect permanent or temporary changes in map data, including detailed map data.
  • FIG. 3 is a schematic block diagram illustrating a system 300 for determining a vehicle route based on a plurality of data inputs.
  • the system 300 includes vehicle sensors 302 in communication with a vehicle controller 304.
  • the vehicle controller comprises a sensor fusion component 306, a route determination computation controller 308, and a map data access and processing component 310.
  • the system 300 includes a centralized map information network 312.
  • the system 300 includes a blockchain database 314 having a plurality of nodes or computing devices forming a decentralized network.
  • the system 300 includes a requestor node 316 and a task executor node 318.
  • the blockchain database 314 is configured to receive, validate, and store map information in a decentralized network.
  • the requestor node 316 is configured to request map discrepancy information from the blockchain database 314.
  • the requestor node 316 receives the map discrepancy information request 322 from the vehicle controller 304.
  • the request comprises an indication that the vehicle controller 304 requires updated map data at a current or future location of the vehicle.
  • the request may further comprise an indication that the vehicle controller 304 has determined a map discrepancy between the map data received from the centralized map information network 312 and the sensor data received from the one or more vehicle sensors 302.
  • the requestor node 316 is the vehicle controller 304.
  • the requestor node 316 generates a transaction 320 request comprising a request for map discrepancy data.
  • Map discrepancy data comprises any data indicating an update or discrepancy between map data received from the centralized map information network 312 and data stored in the blockchain database 314.
  • Data stored in the blockchain database 314 comprises crowdsourced data received from a plurality of vehicles in communication with the blockchain database 314.
  • Data stored in the blockchain database comprises vehicle sensor data received from one or more vehicles, data concerning road conditions received from one or more databases, and pertinent data received from other sources.
  • the transaction 320 generated by the requestor node 316 is an indication that the vehicle controller 304 requires any updated information concerning a current or future location of the vehicle.
  • the task executor node 318 is configured to receive a transaction 320 from the requestor node 316 and execute the transaction.
  • the task executor node 318 queries the blockchain database 314 for map discrepancy data or updated map data pertaining to the current or future location of the vehicle.
  • the task executor node 318 receives the map discrepancy data or updated map data from the blockchain database 314.
  • the task executor node 318 transmits the map discrepancy information update 324 to the vehicle controller 304.
  • the map discrepancy information update 324 comprises the map discrepancy data or the updated map data from the blockchain database 314.
  • the blockchain database 314 comprises a decentralized network of computing nodes which form blocks.
  • the blockchain database 314 comprises the requestor node 316 and the task executor node 318.
  • the blockchain database 314 includes validator nodes 326 configured to create consensus.
  • the validator nodes 326 compete to complete computation and get rewarded.
  • the transactions 320 are authenticated and grouped as blocks, so altering information is impossible.
  • the validator nodes 326 of the blockchain database 314 validate and authenticate a transaction 320 through consensus. In such an embodiment, transactions 320 cannot be altered after a transaction has been stored to the blockchain database 314.
  • the blockchain database 314 is configured to provide updated map information to the vehicle controller 304, and the updated map information may comprise map discrepancy data.
  • Map discrepancy data may rectify the map discrepancy between the map data received from the centralized map information network 312 and the vehicle sensors 302.
  • Updated map information may include an indication that the blockchain database 314 does not have any map data on the specific location.
  • Updated map information may include map data for the specific location, but the map data may not be current and it may not rectify the map discrepancy between the sensor data and the map data from the centralized map information network 312.
  • the blockchain database 314 receives updated map information such as map discrepancy data from a first vehicle when the first vehicle has determined that a map discrepancy exists.
  • the map discrepancy data may include sensor data that rectifies and updates the discrepancy between the map data and the sensor data.
  • the blockchain database 314 may permanently store the updated map information received from the vehicle.
  • the blockchain database 314 may return updated map information that includes sensor data received from the first vehicle. The second vehicle may determine if a new map discrepancy exists between the map discrepancy data (updated map information) received from the blockchain database and the sensor data received in real-time.
  • the second vehicle may update the driving instructions using the map discrepancy data. If a new map discrepancy does exist, the second vehicle may proceed using only sensor data, or the vehicle may provide a notification to a driver of the vehicle that the driver should take control of the vehicle.
  • the overall system 300 architecture is composed of a vehicle controller 304 that may access both the centralized map information network 312 and the decentralized blockchain database 314.
  • the system 300 provides updated map information with transparency while protecting information from deletion and tampering.
  • the vehicle controller 304 receives map data from the centralized map information network 312 in real-time as the vehicle traverses a path.
  • the vehicle controller 304 further receives sensor data from one or more vehicle sensors 302 and updated map information from the blockchain database 314 in real-time as the vehicle traverses the path.
  • the vehicle controller 304 may constantly compare map data, sensor data, and updated map information as the vehicle is traversing a path.
  • the vehicle controller 304 may determine a map discrepancy between any of the map data, sensor data, and updated map information as the vehicle is traveling.
  • the vehicle GPS provides a precise location of the vehicle when the vehicle is receiving updated map information from the blockchain database 314.
  • the vehicle controller 304 may compare the sensor data received from the one or more vehicle sensors 302 at the precise location (as determined by the GPS) with updated map information for that same precise location.
  • FIG. 4 is a schematic block diagram illustrating a decentralized network, such as a blockchain database 400.
  • the blockchain database 400 is a decentralized network of computing nodes that form blocks.
  • the validator nodes 402 are each in communication 404 with one another.
  • the blockchain database 400 provides improved and updated map information utilizing map discrepancy information.
  • the map discrepancy information may be identified by a vehicle controller, such as vehicle controller 304 described in relation to FIG. 3, in communication with the blockchain database 400.
  • Map discrepancy information in map data may be identified using the blockchain database 400 and the centralized map information network 312.
  • the plurality of validator nodes 402 comprise a plurality of vehicle controllers associated with a plurality of vehicles. That is, a single vehicle controller may serve as a single validator node 402 in the blockchain database 400.
  • a vehicle comprises a blockchain database 400 within the vehicle itself.
  • different geographical regions have a specialized blockchain database 400 for that region. For example, vehicles in a first geographical region may comprise a first blockchain database 400 and vehicles in a second geographical region may comprise a second blockchain database 400.
  • a plurality of users comprises a plurality of validator nodes 402 to form a blockchain database.
  • each of the plurality of users may have cloud access, such as through a mobile device, vehicle, or cloud-based account, and each user may comprise a single validator node 402 making up the plurality of validator nodes 402 in a blockchain database 400.
  • a plurality of personal mobile devices such as personal cellular phones, may comprise a validator node 402 to form a blockchain database 400.
  • FIG. 5 is a block diagram illustrating a method 500 for determining a vehicle path based on a plurality of inputs.
  • the method 500 begins and the vehicle controller 304 (see FIG. 3) receives map data from a centralized map information network 312 pertaining to a current or future location of a vehicle at 502.
  • the vehicle controller 304 receives sensor data from one or more vehicle sensors 302 pertaining to the current or future location of the vehicle at 504.
  • the vehicle controller 304 determines if a map discrepancy exists between the map data and the sensor data at 506. In an instance where a map discrepancy exists, the vehicle controller 304 generates a message comprising the sensor data at 508 and publishes the message to a blockchain database at 510.
  • FIG. 6 is a block diagram illustrating a method 600 for determining a vehicle path based on a plurality of inputs.
  • the method 600 begins and the vehicle controller 304 (see FIG. 3) determines a future path of a vehicle at 602 such as a future driving path or route that may include detailed driving instructions.
  • the vehicle controller 304 receives map data from a centralized map information network 312 pertaining to a current or future location of a vehicle at 604 and receives sensor data from one or more vehicle sensors 302 pertaining to the current or future location of the vehicle at 606.
  • the vehicle controller 304 determines if a map discrepancy exists between the map data and the sensor data at 608.
  • the vehicle controller 304 generates a transaction request for map discrepancy data and publishes the transaction request to a blockchain database 314 at 610.
  • the vehicle controller 304 receives map discrepancy data from the blockchain database at 612 and determines an updated future path of the vehicle based on one or more of the map discrepancy data and the sensor data if the map discrepancy exists at 614.
  • the vehicle controller 304 generates a message comprising the sensor data if the map discrepancy exists and the map discrepancy data does not reflect the map discrepancy at 616.
  • the vehicle controller 304 publishes the message to the blockchain database at 618.
  • FIG. 7 is a block diagram illustrating a method 700 for determining a vehicle path based on a plurality of inputs.
  • the method 700 begins and the vehicle controller 304 (see FIG. 3) receives map data from a centralized map information network 312 pertaining to a current or future location of a vehicle at 702.
  • the vehicle controller 304 receives sensor data from one or more vehicle sensors 302 pertaining to the current or future location of the vehicle at 704.
  • the vehicle controller 304 determines if a map discrepancy exists between the map data and the sensor data at 706.
  • the vehicle controller 304 generates a transaction request to a blockchain database for map discrepancy data at 708 and receives updated map information from the blockchain database 314 at 710.
  • Computing device 800 may be used to perform various procedures, such as those discussed herein.
  • the computing device 800 can function as an automated driving/as si stance system 102, vehicle control system 100, neural network training system, or the like.
  • Computing device 800 can perform various monitoring functions as discussed herein, and can execute one or more application programs, such as the application programs or functionality described herein.
  • Computing device 800 can be any of a wide variety of computing devices, such as a desktop computer, in-dash computer, vehicle control system, a notebook computer, a server computer, a handheld computer, tablet computer and the like.
  • Computing device 800 includes one or more processor(s) 802, one or more memory device(s) 804, one or more interface(s) 806, one or more mass storage device(s) 808, one or more Input/Output (I/O) device(s) 810, and a display device 830 all of which are coupled to a bus 812.
  • Processor(s) 802 include one or more processors or controllers that execute instructions stored in memory device(s) 804 and/or mass storage device(s) 808.
  • Processor(s) 802 may also include various types of computer-readable media, such as cache memory.
  • Memory device(s) 804 include various computer-readable media, such as volatile memory (e.g., random access memory (RAM) 814) and/or nonvolatile memory (e.g., read-only memory (ROM) 816). Memory device(s) 804 may also include rewritable ROM, such as Flash memory.
  • volatile memory e.g., random access memory (RAM) 814)
  • ROM read-only memory
  • Memory device(s) 804 may also include rewritable ROM, such as Flash memory.
  • Mass storage device(s) 808 include various computer readable media, such as magnetic tapes, magnetic disks, optical disks, solid-state memory (e.g., Flash memory), and so forth. As shown in FIG. 8, a particular mass storage device is a hard disk drive 824. Various drives may also be included in mass storage device(s) 808 to enable reading from and/or writing to the various computer readable media. Mass storage device(s) 808 include removable media 826 and/or non removable media.
  • I/O device(s) 810 include various devices that allow data and/or other information to be input to or retrieved from computing device 800.
  • Example I/O device(s) 810 include cursor control devices, keyboards, keypads, microphones, monitors or other display devices, speakers, printers, network interface cards, modems, and the like.
  • Display device 830 includes any type of device capable of displaying information to one or more users of computing device 800. Examples of display device 830 include a monitor, display terminal, video projection device, and the like.
  • Interface(s) 806 include various interfaces that allow computing device 800 to interact with other systems, devices, or computing environments.
  • Example interface(s) 806 may include any number of different network interfaces 820, such as interfaces to local area networks (LANs), wide area networks (WANs), wireless networks, and the Internet.
  • Other interface(s) include user interface 818 and peripheral device interface 822.
  • the interface(s) 806 may also include one or more user interface elements 818.
  • the interface(s) 806 may also include one or more peripheral interfaces such as interfaces for printers, pointing devices (mice, track pad, or any suitable user interface now known to those of ordinary skill in the field, or later discovered), keyboards, and the like.
  • Bus 812 allows processor(s) 802, memory device(s) 804, interface(s) 806, mass storage device(s) 808, and I/O device(s) 810 to communicate with one another, as well as other devices or components coupled to bus 812.
  • Bus 812 represents one or more of several types of bus structures, such as a system bus, PCI bus, IEEE bus, ETSB bus, and so forth.
  • ASICs application specific integrated circuits
  • Example 1 is a method.
  • the method includes receiving map data from a centralized map information network pertaining to a current location of a vehicle.
  • the method includes receiving sensor data from one or more vehicle sensors pertaining to the current location of the vehicle.
  • the method includes determining if a map discrepancy exists between the map data and the sensor data.
  • the method includes generating a transaction request to a blockchain database for map discrepancy data and receiving updated map information from the blockchain database.
  • Example 2 is a method as in Example 1, wherein the updated map information comprises map discrepancy data stored on the blockchain database, wherein the map discrepancy data comprises a transaction stored on the blockchain database comprising historical sensor data received by the blockchain database from a prior vehicle.
  • Example 3 is a method as in any of Examples 1-2, further comprising determining if a new map discrepancy exists between the updated map information and the sensor data.
  • Example 4 is a method as in Example 3, wherein the new map discrepancy does not exist, and the method further comprises updating a vehicle path based on the map discrepancy data.
  • Example 5 is a method as in Example 3, wherein the new map discrepancy does not exist, and the method further comprises one or more of: publishing a notification to a driver of the vehicle indicating the driver should control the vehicle; or updating a vehicle path based on the sensor data.
  • Example 6 is a method as in any of Examples 3-5, wherein the new map discrepancy exists, and the method further comprises generating a message comprising the sensor data.
  • Example 7 is a method as in any of Examples 1-6, further comprising publishing the message to be stored on the blockchain database, and wherein the message cannot be altered after it has been verified by the blockchain database and stored on the blockchain database.
  • Example 8 is a method as in any of Examples 1-7, wherein sensor data comprises data received from one or more of: a global positioning system, a radar sensor, a camera, an ultrasonic sensor, and a LIDAR sensor.
  • Example 9 is a method as in any of Examples 1-8, wherein the blockchain database comprises a decentralized network of validator nodes configured to validate the message by consensus.
  • Example 10 is a system.
  • the system includes a vehicle controller in electronic communication with a vehicle, wherein the vehicle controller comprises: a route determination component; and a map data processing component.
  • the system includes one or more vehicle sensors in electronic communication with the vehicle controller.
  • the system includes computer readable storage media storing instructions that, when executed by one or more processors, cause the one or more processors to: receive map data from a centralized map information network, and receive updated map information from a blockchain database.
  • the system is configured such that the vehicle controller is configured to determine if a map discrepancy exists between sensor data obtained from the one or more vehicle sensors and the map data.
  • Example 11 is a system as in Example 10, further comprising a requestor node, wherein the requestor node is configured to: generate a transaction request for the updated map information stored in the blockchain database pertaining to a location, and digitally record the transaction request with an identifiable transaction signature.
  • Example 12 is a system as in Example 11, wherein the vehicle controller comprises the requestor node.
  • Example 13 is a system as in Example 12, wherein the blockchain database further comprises a task executor node configured to: receive the transaction request from the requestor node; execute the transaction request to generate an execution; and digitally record the execution with an identifiable execution signature.
  • a task executor node configured to: receive the transaction request from the requestor node; execute the transaction request to generate an execution; and digitally record the execution with an identifiable execution signature.
  • Example 14 is a system as in Example 13, wherein the blockchain database further comprises a validator node configured to: generate a copy of the execution; and publish the copy of the execution to a plurality of validator nodes within the blockchain database.
  • a validator node configured to: generate a copy of the execution; and publish the copy of the execution to a plurality of validator nodes within the blockchain database.
  • Example 15 is a system as in Example 14, wherein the plurality of validator nodes within the blockchain database authenticate the execution by consensus.
  • Example 16 is a system as in any of Examples 10-15, wherein the vehicle controller comprises the computer readable storage media storing instructions that, when executed by the one or more processors, cause the one or more processors to receive map data from the centralized map network in real-time for a current or future location of the vehicle.
  • Example 17 is a system as in any of Examples 10-16, wherein the vehicle controller comprises the computer readable storage media storing instructions that, when executed by the one or more processors, cause the one or more processors to receive sensor data from the one or more vehicle sensors in real-time for a current location of the vehicle.
  • Example 18 is a system as in any of Examples 10-17, wherein the vehicle controller is configured to determine in real-time if a map discrepancy exists between the map data and the sensor data for the current location of the vehicle.
  • Example 19 is a system as in any of Examples 10-18, wherein, if the map discrepancy exists, the vehicle controller is configured to: generate a message comprising the sensor data; and publish the message to the blockchain database to be validated and stored on the centralized map network.
  • Example 20 is computer readable storage media storing instructions that, when executed by one or more processors, cause the one or more processors to: receive map data from a centralized map information network pertaining to a current location of a vehicle; receive sensor data from one or more vehicle sensors pertaining to the current location of the vehicle; determine if a map discrepancy exists between the map data and the sensor data; generate a transaction request to a blockchain database for map discrepancy data; and receive updated map information from the blockchain database.
  • Implementations of the systems, devices, and methods disclosed herein may comprise or utilize a special purpose or general-purpose computer including computer hardware, such as, for example, one or more processors and system memory, as discussed herein. Implementations within the scope of the present disclosure may also include physical and other computer-readable media for carrying or storing computer-executable instructions and/or data structures. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer system. Computer-readable media that store computer-executable instructions are computer storage media (devices). Computer-readable media that carry computer- executable instructions are transmission media. Thus, by way of example, and not limitation, implementations of the disclosure can comprise at least two distinctly different kinds of computer- readable media: computer storage media (devices) and transmission media.
  • Computer storage media includes RAM, ROM, EEPROM, CD-ROM, solid state drives (“SSDs”) (e.g., based on RAM), Flash memory, phase-change memory (“PCM”), other types of memory, other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium, which can be used to store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer.
  • SSDs solid state drives
  • PCM phase-change memory
  • An implementation of the devices, systems, and methods disclosed herein may communicate over a computer network.
  • A“network” is defined as one or more data links that enable the transport of electronic data between computer systems and/or modules and/or other electronic devices.
  • Transmissions media can include a network and/or data links, which can be used to carry desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. Combinations of the above should also be included within the scope of computer-readable media.
  • Computer-executable instructions comprise, for example, instructions and data which, when executed at a processor, cause a general-purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions.
  • the computer executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code.
  • the disclosure may be practiced in network computing environments with many types of computer system configurations, including, an in dash vehicle computer, personal computers, desktop computers, laptop computers, message processors, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, tablets, pagers, routers, switches, various storage devices, and the like.
  • the disclosure may also be practiced in distributed system environments where local and remote computer systems, which are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network, both perform tasks.
  • program modules may be located in both local and remote memory storage devices.
  • functions described herein can be performed in one or more of: hardware, software, firmware, digital components, or analog components.
  • ASICs application specific integrated circuits
  • modules modules and components are used in the names of certain components to reflect their implementation independence in software, hardware, circuitry, sensors, or the like. As one skilled in the art will appreciate, components may be referred to by different names. This document does not intend to distinguish between components that differ in name, but not function.
  • a sensor may include computer code configured to be executed in one or more processors, and may include hardware logic/electrical circuitry controlled by the computer code.
  • processors may include hardware logic/electrical circuitry controlled by the computer code.
  • At least some embodiments of the disclosure have been directed to computer program products comprising such logic (e.g., in the form of software) stored on any computer useable medium.
  • Such software when executed in one or more data processing devices, causes a device to operate as described herein.

Abstract

Systems, methods, and devices for determining a vehicle path based on a plurality of inputs are disclosed. A method includes receiving map data from a centralized map information network pertaining to a current location of a vehicle and receiving sensor data from one or more vehicle sensors pertaining to the current location of the vehicle. The method includes determining if a map discrepancy exists between the map data and the sensor data. The method includes generating a transaction request to a blockchain database for map discrepancy data and receiving updated map information from the blockchain database.

Description

MAP DISCREPANCY IDENTIFICATION WITH CENTRALIZED MAP DATA
TECHNICAL FIELD
[0001] The disclosure relates generally to systems and methods for determining a vehicle path based on a plurality of inputs. The disclosure further relates to systems and methods for providing updated map information to a decentralized computer network.
BACKGROUND
[0002] Automobiles provide a significant portion of transportation for commercial, government, and private entities. Autonomous vehicles and driving assistance systems are currently being developed and deployed to provide safety, reduce an amount of user input required, or even eliminate user involvement entirely. For example, some driving assistance systems, such as crash avoidance systems, may monitor driving, positions, and a velocity of the vehicle and other objects while a human is driving. When the system detects that a crash or impact is imminent the crash avoidance system may intervene and apply a brake, steer the vehicle, or perform other avoidance or safety maneuvers. As another example, autonomous vehicles may drive and navigate a vehicle with little or no user input.
[0003] Autonomous or assisted driving systems often utilize data from sensors to determine information about an environment surrounding a vehicle. In some cases, this data must be processed to detect objects, roadways, or make driving or assisted driving decisions. Because of the wide range of scenarios, objects, or complex situations that may be presented to an autonomous or assisted driving vehicle, it can be important for the vehicle to receive detailed map information for a future location of the vehicle or in real-time for a current location of the vehicle. In some cases, an autonomous vehicle or assisted driving vehicle is responsible for planning vehicle route and trajectory in real-time based on various sensors and map data. Detailed map data may be accessed from a centralized map information network and crude map data may be accessed on a local vehicle network. Problems may arise when the map data obtained through the centralized map information network or the local vehicle network does not match the data determined by the vehicle sensors. For example, such conditions can occur when there is construction on the route or a personalized traffic control is being used due to heavy traffic congestion on the route.
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] Non-limiting and non-exhaustive implementations of the present disclosure are described with reference to the following figures, wherein like reference numerals refer to like parts throughout the various views unless otherwise specified. Advantages of the present disclosure will become better understood with regard to the following description and accompanying drawings where:
[0005] FIG. l is a schematic block diagram illustrating an implementation of a vehicle control system that includes an automated driving/assi stance system;
[0006] FIG. 2 is a schematic block diagram illustrating a system for providing a vehicle path based on a plurality of inputs, according to one implementation;
[0007] FIG. 3 is a schematic block diagram illustrating a system for providing a vehicle path based on a plurality of inputs, according to one implementation;
[0008] FIG. 4 is a schematic block diagram illustrating a blockchain database, according to one implementation;
[0009] FIG. 5 is a schematic flow chart diagram illustrating a method for providing a vehicle path based on a plurality of inputs, according to one implementation;
[0010] FIG. 6 is a schematic flow chart diagram illustrating a method for providing a vehicle path based on a plurality of inputs, according to one implementation;
[0011] FIG. 7 is a schematic flow chart diagram illustrating a method for providing a vehicle path based on a plurality of inputs, according to one implementation; and
[0012] FIG. 8 is a schematic block diagram illustrating a computing system, according to one implementation. DETAILED DESCRIPTION
[0013] The disclosure extends to methods, systems, and devices for planning vehicle routes and trajectories in real-time based on real-time data received from one or more vehicle sensors along with stored map data. Stored map data may be received by a vehicle controller from a centralized map information network comprising detailed map data. Stored map data may further be received from a local database comprising broad map data on a local vehicle network. Real- time sensor data may be received from one or more vehicle sensors, such as a global positioning system (GPS), cameras, radars, ultrasonic sensors, and LIDAR sensors. A vehicle controller may determine if a map discrepancy exists between the stored map data and the real-time sensor data received from the one or more sensors. Where a map discrepancy exists, the vehicle controller may generate and publish the sensor data to a blockchain database such that the stored map data may be updated to reflect the updated sensor data.
[0014] Autonomous vehicles and vehicles with advanced driver assistance systems (ADAS) may use map information from a centralized system or network to perform vehicle route planning along with one or more vehicle sensors. In an embodiment, an autonomous vehicle uses stored map data from a centralized map network along with real-time sensor data from one or more sensors to determine a vehicle route. The vehicle route may be pre-determined based on the stored map data and the vehicle route may be updated to reflect new data received in real-time from vehicle sensors. The stored map data may be updated on a blockchain database such that other vehicles in a network may receive the updated map data.
[0015] Before the methods, systems, and devices for determining a vehicle route based on map data and sensor data are described, it is to be understood that this disclosure is not limited to the configurations, process steps, and materials disclosed herein as such configurations, process steps, and materials may vary somewhat. It is also to be understood that the terminology employed herein is used for describing implementations only and is not intended to be limiting since the scope of the disclosure will be limited only by the appended claims and equivalents thereof.
[0016] In describing and claiming the disclosure, the following terminology will be used in accordance with the definitions set out below.
[0017] It must be noted that, as used in this specification and the appended claims, the singular forms“a,“an,” and“the” include plural referents unless the context clearly dictates otherwise.
[0018] As used herein, the terms“comprising,”“including,”“containing,”“characterized by,” and grammatical equivalents thereof are inclusive or open-ended terms that do not exclude additional, unrecited elements or method steps.
[0019] Autonomous vehicles and vehicles with an ADAS will often determine a vehicle route or path based on a vehicle’s starting location, a vehicle’s destination, a vehicle’s current location, and one or more traffic conditions. Vehicles may receive map data from a local map database and the map data may not reflect current road conditions. Temporary or permanent road alterations that may not be updated in a map database may include, for example, temporary or long-term construction, a road blockage, new construction, a temporary or permanent change to a road or highway, an alteration to a traffic rule or regulation, and a temporary traffic issue. Accordingly, Applicant has developed a vehicle route determination system that may receive updated map data in real-time. In addition, Applicant has developed a system that receives updated map data from a blockchain database, such that the map data may not be altered or otherwise tampered with by unknown sources. Additionally, Applicant has developed a system that receives updated map data that may be published by a plurality of vehicles in communication with the blockchain database. [0020] In an embodiment of the disclosure, a vehicle controller receives stored map data from a centralized map information network. The stored map data may include detailed map data such as, for example, road information, temporary or permanent construction information, temporary or permanent traffic regulation information, road altitude or slope information, road blockage information, temporary or permanent road condition information, alterations to new construction on the path, and so forth. The vehicle controller further receives sensor data from one or more vehicle sensors. The sensor data may indicate, for example, obstacles on the road, construction on the road, traffic regulations on the road, and so forth. The vehicle controller may compare the sensor data and the map data for the same location and determine if a map discrepancy exists. A map discrepancy may include, for example, an indication that vehicle sensors have identified temporary construction on the pathway that is not stored in the map data. The vehicle controller may generate a transaction request to a blockchain database for map discrepancy data and receive updated map information from the blockchain database. The request for map discrepancy data may indicate a request for map information that rectifies the map discrepancy between the map data received from the centralized map information network and the sensor data received from the vehicle sensors. The updated map information may indicate map discrepancy data that rectifies the map discrepancy. The map discrepancy data may be received very recently from a prior vehicle that traversed the same location and provided updated sensor data. The updated map information may indicate that the blockchain database does not have any information for that location, or that the blockchain database has information that was not stored very recently or that does not rectify the map discrepancy. In an instance where the vehicle controller has determined a map discrepancy exists, the vehicle controller may generate a message comprising the sensor data that indicates the change or update to the map data. The vehicle controller may publish the message to be stored on a blockchain database such that the updated information may be retrieved from the blockchain database for future use.
[0021] In an instance where the updated map information includes map discrepancy data that rectifies the map discrepancy between the map data received from the centralized map information network and the senor data received from the vehicle sensors, the vehicle controller may utilize the updated map information to generate a new vehicle path or route and generate new vehicle driving instructions. In an instance where the updated map information does not rectify the map discrepancy, the vehicle controller may proceed based solely on real-time sensor data received from vehicle sensors. The vehicle may provide a notification to a driver of the vehicle that the driver should take control of the vehicle because the vehicle cannot proceed without updated map information. The vehicle may provide a notification to a driver of the vehicle that the driver should be on high alert because the vehicle controller is proceeding without updated map information.
[0022] In an embodiment, a plurality of vehicles is in communication with the blockchain database and the centralized map information network. Each of the plurality of vehicles may include one or more vehicle sensors and a vehicle controller that may determine that an update or change has occurred on the vehicle path that is not stored in the map data. Each of the plurality of vehicles may publish the updated information to the blockchain database such that all other vehicles may retrieve the updated information. In an embodiment, a first vehicle may request an update from the blockchain database. The first vehicle may receive updated information from the blockchain database that no changes have been previously reported or published. The first vehicle may publish updated information, such as a road blockage, to the blockchain database. A second vehicle may then retrieve the updated information indicating the road blockage and the second vehicle will then be prepared with the necessary detailed map data. The second vehicle may continue to drive autonomously without extensive use of vehicle sensors.
[0023] In an embodiment, a vehicle determines that a discrepancy exists between the map data and the sensor data. In some instances, where the vehicle is driving autonomously, the vehicle may request that a human driver takes control of the vehicle. Alternatively, the vehicle may rely heavily on vehicle sensors to navigate the path without receiving updated information about a change to the path, such as a road blockage or temporary construction on the road.
[0024] In an embodiment, a vehicle generates a transaction request through a requestor node and transmits the transaction request to the blockchain database. The transaction request may indicate a request for updated map information at the current location of the vehicle or for a future location of the vehicle. An executor node of the blockchain database may execute the transaction request and return the updated information, including information that no updated information is available. In an embodiment, the vehicle controller compares the updated information received from the blockchain database with the real-time sensor data received from the vehicle sensors. If the vehicle controller determines there is no map discrepancy between the updated information and the real-time sensor data, then the vehicle controller may determine a path based at least in part on the detailed map information received from the blockchain database, without requesting that a human driver control the vehicle or relying heavily on real-time sensor data to navigate the path.
[0025] In an embodiment, transactions stored on the blockchain database are validated by a decentralized network of computer nodes such as validator nodes. Each of the validator nodes may validate or authenticate new map information through consensus. New map information may be stored only after the validator nodes have authenticated the information through consensus. In such an embodiment, map information cannot be tampered with or altered and a plurality of vehicles in communication with the blockchain database may rely on the detailed map information stored in the blockchain database.
[0026] In an embodiment, systems, methods, and devices for crowdsourcing detailed map data are disclosed. A plurality of vehicles may be in communication with a blockchain database and the plurality of vehicles may transmit updated map information if a vehicle controller determines there is a discrepancy between the stored map data and the real-time sensor data received from vehicle sensors. As such, map information is updated on the blockchain database only when a vehicle has determined that a road condition has a changed at a location relative to the map data received from a centralized map information network. Otherwise, vehicles may rely on the detailed map data stored in and received from the centralized map information network. In an embodiment, vehicles rely on the updated map information stored in the blockchain database only when a vehicle determines there is a discrepancy between the stored map data and the real-time sensor data.
[0027] Referring now to the figures, FIG. 1 illustrates an example vehicle control system 100 that may be used for autonomous or assisted driving. The automated driving/assistance system 102 may be used to automate or control operation of a vehicle or to aid a human driver. For example, the automated driving/assi stance system 102 may control one or more of braking, steering, acceleration, lights, alerts, driver notifications, radio, or any other auxiliary systems of the vehicle. In another example, the automated driving/assistance system 102 may not be able to provide any control of the driving (e.g., steering, acceleration, or braking), but may provide notifications and alerts to assist a human driver in driving safely. The automated driving/assi stance system 102 may use a neural network, or other model or algorithm to detect or localize objects based on perception data gathered by one or more sensors.
[0028] The vehicle control system 100 also includes one or more sensor systems/devices for detecting a presence of objects near or within a sensor range of a parent vehicle (e.g., a vehicle that includes the vehicle control system 100). For example, the vehicle control system 100 may include one or more radar systems 106, one or more LIDAR systems 108, one or more camera systems 110, a global positioning system (GPS) 112, and/or one or more ultrasound systems 114. The vehicle control system 100 may include a data store 116 for storing relevant or useful data for navigation and safety such as map data, driving history or other data. The vehicle control system 100 may also include a transceiver 118 for wireless communication with a mobile or wireless network, other vehicles, infrastructure, or any other communication system.
[0029] The vehicle control system 100 may include vehicle control actuators 120 to control various aspects of the driving of the vehicle such as electric motors, switches or other actuators, to control braking, acceleration, steering or the like. The vehicle control system 100 may also include one or more displays 122, speakers 124, or other devices so that notifications to a human driver or passenger may be provided. A display 122 may include a heads-up display, dashboard display or indicator, a display screen, or any other visual indicator which may be seen by a driver or passenger of a vehicle. A heads-up display may be used to provide notifications or indicate locations of detected objects or overlay instructions or driving maneuvers for assisting a driver. The speakers 124 may include one or more speakers of a sound system of a vehicle or may include a speaker dedicated to driver notification.
[0030] It will be appreciated that the embodiment of FIG. 1 is given by way of example only. Other embodiments may include fewer or additional components without departing from the scope of the disclosure. Additionally, illustrated components may be combined or included within other components without limitation.
[0031] In one embodiment, the automated driving/assi stance system 102 is configured to control driving or navigation of a parent vehicle. For example, the automated driving/assi stance system 102 may control the vehicle control actuators 120 to drive a path on a road, parking lot, driveway or other location. For example, the automated driving/assistance system 102 may determine a path based on information or perception data provided by any of the components 106- 118. The sensor systems/devices 106-110 and 114 may be used to obtain real-time sensor data so that the automated driving/assi stance system 102 can assist a driver or drive a vehicle in real-time.
[0032] FIG. 2 is a schematic block diagram illustrating a vehicle route generation system 200. The system 200 includes vehicle sensors 202 in communication with a vehicle controller 204. The vehicle sensors 202 may include, for example, radar sensors, LIDAR sensors, cameras, GPS, and ultrasonic sensors, such as sensors 106-114 in FIG. 1. It should be appreciated that any appropriate sensor may be used without departing from the scope of the disclosure. The vehicle sensors 202 may be attached to a vehicle and may be in electronic communication with the vehicle controller 204, such as the automated driving/assi stance system 102 of FIG. 1. The vehicle controller 204 may be located within the vehicle and may include an onboard computing system. The vehicle controller 204 includes a sensor fusion component 206, a route determination computation controller 208, and a map data access and processing component 210. The system 200 includes a centralized map information network 212 including a plurality of processors such as computing devices, servers, network nodes, and the like.
[0033] The sensor fusion component 206 receives real-time sensor data from one or more vehicle sensors 202. The sensor fusion component 206 is configured to combine information from a plurality of vehicle sensors 202 to determine a condition. The condition may include a road condition, a traffic condition, a presence or absence of construction, a change to an existing traffic rule or regulation, and the like. The condition may be location specific based on a location determined by the GPS. The location may be the current location of the vehicle.
[0034] The route determination computation controller 208 is configured to determine a route or path for the vehicle. The route determination computation controller 208 is configured to determine a quickest, shortest, safest, or otherwise best path for the vehicle. In an embodiment, the route determination computation controller 208 determines a plurality of paths for the vehicle and permits a driver of the vehicle to select a path. In an embodiment, the route determination computation controller 208 determines a best path for the vehicle and causes an autonomous vehicle to complete the route without a human driver. The route determination computation controller 208 may further be configured to determine detailed driving instructions for an autonomous vehicle or an assisted driving vehicle. The route determination computation controller 208 may require very detailed map information to successfully determine vehicle driving instructions.
[0035] The map data access and processing component 210 is configured to request and receive map data from the centralized map information network 212. The map data access and processing component 210 may request map data for a specific location such as a current location of the vehicle or a future location of the vehicle on the vehicle path. The map data access and processing component 210 may request and receive map data in real-time as the vehicle is traversing a path. The map data access and processing component 210 may further request and receive map data for a future projected location of the vehicle. [0036] The centralized map information network 212 provides stored map data to the vehicle controller 204. The stored map data includes, for example, road data, path data, traffic conditions data, traffic regulation data, construction data, altitude data, road condition data, and so forth. The stored map data includes detailed map data that may be used by the vehicle controller 204 to determine one or more routes for the vehicle, and to determine the shortest, safest, or best route for the vehicle. In an embodiment, the vehicle controller 204 may determine a vehicle path for an autonomous vehicle based only on the detailed map data received from the centralized map information network 212.
[0037] The centralized map information network 212 may be stored locally within the vehicle or it may be stored in cloud storage and accessed by the vehicle. In an embodiment, the vehicle comprises a database stored on-site within the vehicle, and the database comprises the centralized map information network 212. In an embodiment, the centralized map information network 212 is stored on a database off-site as cloud storage and is accessed by a plurality of vehicles. In an embodiment, the centralized map information network 212 is updated regularly to reflect permanent or temporary changes in map data, including detailed map data.
[0038] FIG. 3 is a schematic block diagram illustrating a system 300 for determining a vehicle route based on a plurality of data inputs. The system 300 includes vehicle sensors 302 in communication with a vehicle controller 304. The vehicle controller comprises a sensor fusion component 306, a route determination computation controller 308, and a map data access and processing component 310. The system 300 includes a centralized map information network 312. The system 300 includes a blockchain database 314 having a plurality of nodes or computing devices forming a decentralized network. The system 300 includes a requestor node 316 and a task executor node 318. [0039] Certain figure components, including the vehicle sensors 302, the vehicle controller 304, the sensor fusion component 306, the route determination computation controller 308, the map data access and processing component 310, and the centralized map information network 312 are as described in relation to FIGS. 1 and 2. The blockchain database 314 is configured to receive, validate, and store map information in a decentralized network.
[0040] The requestor node 316 is configured to request map discrepancy information from the blockchain database 314. The requestor node 316 receives the map discrepancy information request 322 from the vehicle controller 304. The request comprises an indication that the vehicle controller 304 requires updated map data at a current or future location of the vehicle. The request may further comprise an indication that the vehicle controller 304 has determined a map discrepancy between the map data received from the centralized map information network 312 and the sensor data received from the one or more vehicle sensors 302. In an embodiment, the requestor node 316 is the vehicle controller 304. The requestor node 316 generates a transaction 320 request comprising a request for map discrepancy data. Map discrepancy data comprises any data indicating an update or discrepancy between map data received from the centralized map information network 312 and data stored in the blockchain database 314. Data stored in the blockchain database 314 comprises crowdsourced data received from a plurality of vehicles in communication with the blockchain database 314. Data stored in the blockchain database comprises vehicle sensor data received from one or more vehicles, data concerning road conditions received from one or more databases, and pertinent data received from other sources. The transaction 320 generated by the requestor node 316 is an indication that the vehicle controller 304 requires any updated information concerning a current or future location of the vehicle. [0041] The task executor node 318 is configured to receive a transaction 320 from the requestor node 316 and execute the transaction. The task executor node 318 queries the blockchain database 314 for map discrepancy data or updated map data pertaining to the current or future location of the vehicle. The task executor node 318 receives the map discrepancy data or updated map data from the blockchain database 314. The task executor node 318 transmits the map discrepancy information update 324 to the vehicle controller 304. The map discrepancy information update 324 comprises the map discrepancy data or the updated map data from the blockchain database 314.
[0042] The blockchain database 314 comprises a decentralized network of computing nodes which form blocks. In an embodiment, the blockchain database 314 comprises the requestor node 316 and the task executor node 318. The blockchain database 314 includes validator nodes 326 configured to create consensus. The validator nodes 326 compete to complete computation and get rewarded. The transactions 320 are authenticated and grouped as blocks, so altering information is impossible. In an embodiment, the validator nodes 326 of the blockchain database 314 validate and authenticate a transaction 320 through consensus. In such an embodiment, transactions 320 cannot be altered after a transaction has been stored to the blockchain database 314. The blockchain database 314 is configured to provide updated map information to the vehicle controller 304, and the updated map information may comprise map discrepancy data. Map discrepancy data may rectify the map discrepancy between the map data received from the centralized map information network 312 and the vehicle sensors 302. Updated map information may include an indication that the blockchain database 314 does not have any map data on the specific location. Updated map information may include map data for the specific location, but the map data may not be current and it may not rectify the map discrepancy between the sensor data and the map data from the centralized map information network 312.
[0043] In an embodiment, the blockchain database 314 receives updated map information such as map discrepancy data from a first vehicle when the first vehicle has determined that a map discrepancy exists. The map discrepancy data may include sensor data that rectifies and updates the discrepancy between the map data and the sensor data. The blockchain database 314 may permanently store the updated map information received from the vehicle. Further, when a second vehicle traverses the same path and queries the blockchain database 314 for map discrepancy data, the blockchain database 314 may return updated map information that includes sensor data received from the first vehicle. The second vehicle may determine if a new map discrepancy exists between the map discrepancy data (updated map information) received from the blockchain database and the sensor data received in real-time. If a new map discrepancy does not exist, the second vehicle may update the driving instructions using the map discrepancy data. If a new map discrepancy does exist, the second vehicle may proceed using only sensor data, or the vehicle may provide a notification to a driver of the vehicle that the driver should take control of the vehicle.
[0044] In an embodiment, the overall system 300 architecture is composed of a vehicle controller 304 that may access both the centralized map information network 312 and the decentralized blockchain database 314. The system 300 provides updated map information with transparency while protecting information from deletion and tampering.
[0045] In an embodiment, the vehicle controller 304 receives map data from the centralized map information network 312 in real-time as the vehicle traverses a path. The vehicle controller 304 further receives sensor data from one or more vehicle sensors 302 and updated map information from the blockchain database 314 in real-time as the vehicle traverses the path. The vehicle controller 304 may constantly compare map data, sensor data, and updated map information as the vehicle is traversing a path. The vehicle controller 304 may determine a map discrepancy between any of the map data, sensor data, and updated map information as the vehicle is traveling.
[0046] In an embodiment, the vehicle GPS provides a precise location of the vehicle when the vehicle is receiving updated map information from the blockchain database 314. The vehicle controller 304 may compare the sensor data received from the one or more vehicle sensors 302 at the precise location (as determined by the GPS) with updated map information for that same precise location.
[0047] FIG. 4 is a schematic block diagram illustrating a decentralized network, such as a blockchain database 400. The blockchain database 400 is a decentralized network of computing nodes that form blocks. The validator nodes 402 are each in communication 404 with one another. The blockchain database 400 provides improved and updated map information utilizing map discrepancy information. The map discrepancy information may be identified by a vehicle controller, such as vehicle controller 304 described in relation to FIG. 3, in communication with the blockchain database 400. Map discrepancy information in map data may be identified using the blockchain database 400 and the centralized map information network 312.
[0048] In an embodiment, the plurality of validator nodes 402 comprise a plurality of vehicle controllers associated with a plurality of vehicles. That is, a single vehicle controller may serve as a single validator node 402 in the blockchain database 400. In an embodiment, a vehicle comprises a blockchain database 400 within the vehicle itself. In an embodiment, different geographical regions have a specialized blockchain database 400 for that region. For example, vehicles in a first geographical region may comprise a first blockchain database 400 and vehicles in a second geographical region may comprise a second blockchain database 400. In an embodiment, a plurality of users comprises a plurality of validator nodes 402 to form a blockchain database. In such an embodiment, each of the plurality of users may have cloud access, such as through a mobile device, vehicle, or cloud-based account, and each user may comprise a single validator node 402 making up the plurality of validator nodes 402 in a blockchain database 400. In an embodiment, a plurality of personal mobile devices, such as personal cellular phones, may comprise a validator node 402 to form a blockchain database 400.
[0049] FIG. 5 is a block diagram illustrating a method 500 for determining a vehicle path based on a plurality of inputs. The method 500 begins and the vehicle controller 304 (see FIG. 3) receives map data from a centralized map information network 312 pertaining to a current or future location of a vehicle at 502. The vehicle controller 304 receives sensor data from one or more vehicle sensors 302 pertaining to the current or future location of the vehicle at 504. The vehicle controller 304 determines if a map discrepancy exists between the map data and the sensor data at 506. In an instance where a map discrepancy exists, the vehicle controller 304 generates a message comprising the sensor data at 508 and publishes the message to a blockchain database at 510.
[0050] FIG. 6 is a block diagram illustrating a method 600 for determining a vehicle path based on a plurality of inputs. The method 600 begins and the vehicle controller 304 (see FIG. 3) determines a future path of a vehicle at 602 such as a future driving path or route that may include detailed driving instructions. The vehicle controller 304 receives map data from a centralized map information network 312 pertaining to a current or future location of a vehicle at 604 and receives sensor data from one or more vehicle sensors 302 pertaining to the current or future location of the vehicle at 606. The vehicle controller 304 determines if a map discrepancy exists between the map data and the sensor data at 608. The vehicle controller 304 generates a transaction request for map discrepancy data and publishes the transaction request to a blockchain database 314 at 610. The vehicle controller 304 receives map discrepancy data from the blockchain database at 612 and determines an updated future path of the vehicle based on one or more of the map discrepancy data and the sensor data if the map discrepancy exists at 614. The vehicle controller 304 generates a message comprising the sensor data if the map discrepancy exists and the map discrepancy data does not reflect the map discrepancy at 616. The vehicle controller 304 publishes the message to the blockchain database at 618.
[0051] FIG. 7 is a block diagram illustrating a method 700 for determining a vehicle path based on a plurality of inputs. The method 700 begins and the vehicle controller 304 (see FIG. 3) receives map data from a centralized map information network 312 pertaining to a current or future location of a vehicle at 702. The vehicle controller 304 receives sensor data from one or more vehicle sensors 302 pertaining to the current or future location of the vehicle at 704. The vehicle controller 304 determines if a map discrepancy exists between the map data and the sensor data at 706. The vehicle controller 304 generates a transaction request to a blockchain database for map discrepancy data at 708 and receives updated map information from the blockchain database 314 at 710.
[0052] Referring now to FIG. 8, a block diagram of an example computing device 800 is illustrated. Computing device 800 may be used to perform various procedures, such as those discussed herein. In one embodiment, the computing device 800 can function as an automated driving/as si stance system 102, vehicle control system 100, neural network training system, or the like. Computing device 800 can perform various monitoring functions as discussed herein, and can execute one or more application programs, such as the application programs or functionality described herein. Computing device 800 can be any of a wide variety of computing devices, such as a desktop computer, in-dash computer, vehicle control system, a notebook computer, a server computer, a handheld computer, tablet computer and the like.
[0053] Computing device 800 includes one or more processor(s) 802, one or more memory device(s) 804, one or more interface(s) 806, one or more mass storage device(s) 808, one or more Input/Output (I/O) device(s) 810, and a display device 830 all of which are coupled to a bus 812. Processor(s) 802 include one or more processors or controllers that execute instructions stored in memory device(s) 804 and/or mass storage device(s) 808. Processor(s) 802 may also include various types of computer-readable media, such as cache memory.
[0054] Memory device(s) 804 include various computer-readable media, such as volatile memory (e.g., random access memory (RAM) 814) and/or nonvolatile memory (e.g., read-only memory (ROM) 816). Memory device(s) 804 may also include rewritable ROM, such as Flash memory.
[0055] Mass storage device(s) 808 include various computer readable media, such as magnetic tapes, magnetic disks, optical disks, solid-state memory (e.g., Flash memory), and so forth. As shown in FIG. 8, a particular mass storage device is a hard disk drive 824. Various drives may also be included in mass storage device(s) 808 to enable reading from and/or writing to the various computer readable media. Mass storage device(s) 808 include removable media 826 and/or non removable media.
[0056] I/O device(s) 810 include various devices that allow data and/or other information to be input to or retrieved from computing device 800. Example I/O device(s) 810 include cursor control devices, keyboards, keypads, microphones, monitors or other display devices, speakers, printers, network interface cards, modems, and the like. [0057] Display device 830 includes any type of device capable of displaying information to one or more users of computing device 800. Examples of display device 830 include a monitor, display terminal, video projection device, and the like.
[0058] Interface(s) 806 include various interfaces that allow computing device 800 to interact with other systems, devices, or computing environments. Example interface(s) 806 may include any number of different network interfaces 820, such as interfaces to local area networks (LANs), wide area networks (WANs), wireless networks, and the Internet. Other interface(s) include user interface 818 and peripheral device interface 822. The interface(s) 806 may also include one or more user interface elements 818. The interface(s) 806 may also include one or more peripheral interfaces such as interfaces for printers, pointing devices (mice, track pad, or any suitable user interface now known to those of ordinary skill in the field, or later discovered), keyboards, and the like.
[0059] Bus 812 allows processor(s) 802, memory device(s) 804, interface(s) 806, mass storage device(s) 808, and I/O device(s) 810 to communicate with one another, as well as other devices or components coupled to bus 812. Bus 812 represents one or more of several types of bus structures, such as a system bus, PCI bus, IEEE bus, ETSB bus, and so forth.
[0060] For purposes of illustration, programs and other executable program components are shown herein as discrete blocks, although it is understood that such programs and components may reside at various times in different storage components of computing device 800, and are executed by processor(s) 802. Alternatively, the systems and procedures described herein can be implemented in hardware, or a combination of hardware, software, and/or firmware. For example, one or more application specific integrated circuits (ASICs) can be programmed to carry out one or more of the systems and procedures described herein. Examples
[0061] The following examples pertain to further embodiments.
[0062] Example 1 is a method. The method includes receiving map data from a centralized map information network pertaining to a current location of a vehicle. The method includes receiving sensor data from one or more vehicle sensors pertaining to the current location of the vehicle. The method includes determining if a map discrepancy exists between the map data and the sensor data. The method includes generating a transaction request to a blockchain database for map discrepancy data and receiving updated map information from the blockchain database.
[0063] Example 2 is a method as in Example 1, wherein the updated map information comprises map discrepancy data stored on the blockchain database, wherein the map discrepancy data comprises a transaction stored on the blockchain database comprising historical sensor data received by the blockchain database from a prior vehicle.
[0064] Example 3 is a method as in any of Examples 1-2, further comprising determining if a new map discrepancy exists between the updated map information and the sensor data.
[0065] Example 4 is a method as in Example 3, wherein the new map discrepancy does not exist, and the method further comprises updating a vehicle path based on the map discrepancy data.
[0066] Example 5 is a method as in Example 3, wherein the new map discrepancy does not exist, and the method further comprises one or more of: publishing a notification to a driver of the vehicle indicating the driver should control the vehicle; or updating a vehicle path based on the sensor data.
[0067] Example 6 is a method as in any of Examples 3-5, wherein the new map discrepancy exists, and the method further comprises generating a message comprising the sensor data. [0068] Example 7 is a method as in any of Examples 1-6, further comprising publishing the message to be stored on the blockchain database, and wherein the message cannot be altered after it has been verified by the blockchain database and stored on the blockchain database.
[0069] Example 8 is a method as in any of Examples 1-7, wherein sensor data comprises data received from one or more of: a global positioning system, a radar sensor, a camera, an ultrasonic sensor, and a LIDAR sensor.
[0070] Example 9 is a method as in any of Examples 1-8, wherein the blockchain database comprises a decentralized network of validator nodes configured to validate the message by consensus.
[0071] Example 10 is a system. The system includes a vehicle controller in electronic communication with a vehicle, wherein the vehicle controller comprises: a route determination component; and a map data processing component. The system includes one or more vehicle sensors in electronic communication with the vehicle controller. The system includes computer readable storage media storing instructions that, when executed by one or more processors, cause the one or more processors to: receive map data from a centralized map information network, and receive updated map information from a blockchain database. The system is configured such that the vehicle controller is configured to determine if a map discrepancy exists between sensor data obtained from the one or more vehicle sensors and the map data.
[0072] Example 11 is a system as in Example 10, further comprising a requestor node, wherein the requestor node is configured to: generate a transaction request for the updated map information stored in the blockchain database pertaining to a location, and digitally record the transaction request with an identifiable transaction signature. [0073] Example 12 is a system as in Example 11, wherein the vehicle controller comprises the requestor node.
[0074] Example 13 is a system as in Example 12, wherein the blockchain database further comprises a task executor node configured to: receive the transaction request from the requestor node; execute the transaction request to generate an execution; and digitally record the execution with an identifiable execution signature.
[0075] Example 14 is a system as in Example 13, wherein the blockchain database further comprises a validator node configured to: generate a copy of the execution; and publish the copy of the execution to a plurality of validator nodes within the blockchain database.
[0076] Example 15 is a system as in Example 14, wherein the plurality of validator nodes within the blockchain database authenticate the execution by consensus.
[0077] Example 16 is a system as in any of Examples 10-15, wherein the vehicle controller comprises the computer readable storage media storing instructions that, when executed by the one or more processors, cause the one or more processors to receive map data from the centralized map network in real-time for a current or future location of the vehicle.
[0078] Example 17 is a system as in any of Examples 10-16, wherein the vehicle controller comprises the computer readable storage media storing instructions that, when executed by the one or more processors, cause the one or more processors to receive sensor data from the one or more vehicle sensors in real-time for a current location of the vehicle.
[0079] Example 18 is a system as in any of Examples 10-17, wherein the vehicle controller is configured to determine in real-time if a map discrepancy exists between the map data and the sensor data for the current location of the vehicle. [0080] Example 19 is a system as in any of Examples 10-18, wherein, if the map discrepancy exists, the vehicle controller is configured to: generate a message comprising the sensor data; and publish the message to the blockchain database to be validated and stored on the centralized map network.
[0081] Example 20 is computer readable storage media storing instructions that, when executed by one or more processors, cause the one or more processors to: receive map data from a centralized map information network pertaining to a current location of a vehicle; receive sensor data from one or more vehicle sensors pertaining to the current location of the vehicle; determine if a map discrepancy exists between the map data and the sensor data; generate a transaction request to a blockchain database for map discrepancy data; and receive updated map information from the blockchain database.
[0082] In the above disclosure, reference has been made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific implementations in which the disclosure may be practiced. It is understood that other implementations may be utilized, and structural changes may be made without departing from the scope of the present disclosure. References in the specification to “one embodiment,” “an embodiment,” “an example embodiment,” etc., indicate that the embodiment described may include a feature, structure, or characteristic, but every embodiment may not necessarily include the feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described. [0083] Implementations of the systems, devices, and methods disclosed herein may comprise or utilize a special purpose or general-purpose computer including computer hardware, such as, for example, one or more processors and system memory, as discussed herein. Implementations within the scope of the present disclosure may also include physical and other computer-readable media for carrying or storing computer-executable instructions and/or data structures. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer system. Computer-readable media that store computer-executable instructions are computer storage media (devices). Computer-readable media that carry computer- executable instructions are transmission media. Thus, by way of example, and not limitation, implementations of the disclosure can comprise at least two distinctly different kinds of computer- readable media: computer storage media (devices) and transmission media.
[0084] Computer storage media (devices) includes RAM, ROM, EEPROM, CD-ROM, solid state drives (“SSDs”) (e.g., based on RAM), Flash memory, phase-change memory (“PCM”), other types of memory, other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium, which can be used to store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer.
[0085] An implementation of the devices, systems, and methods disclosed herein may communicate over a computer network. A“network” is defined as one or more data links that enable the transport of electronic data between computer systems and/or modules and/or other electronic devices. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer properly views the connection as a transmission medium. Transmissions media can include a network and/or data links, which can be used to carry desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. Combinations of the above should also be included within the scope of computer-readable media.
[0086] Computer-executable instructions comprise, for example, instructions and data which, when executed at a processor, cause a general-purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. The computer executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the described features or acts described above. Rather, the described features and acts are disclosed as example forms of implementing the claims.
[0087] Those skilled in the art will appreciate that the disclosure may be practiced in network computing environments with many types of computer system configurations, including, an in dash vehicle computer, personal computers, desktop computers, laptop computers, message processors, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, tablets, pagers, routers, switches, various storage devices, and the like. The disclosure may also be practiced in distributed system environments where local and remote computer systems, which are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network, both perform tasks. In a distributed system environment, program modules may be located in both local and remote memory storage devices. [0088] Further, where appropriate, functions described herein can be performed in one or more of: hardware, software, firmware, digital components, or analog components. For example, one or more application specific integrated circuits (ASICs) can be programmed to carry out one or more of the systems and procedures described herein. Certain terms are used throughout the description and claims to refer to system components. The terms“modules” and“components” are used in the names of certain components to reflect their implementation independence in software, hardware, circuitry, sensors, or the like. As one skilled in the art will appreciate, components may be referred to by different names. This document does not intend to distinguish between components that differ in name, but not function.
[0089] It should be noted that the sensor embodiments discussed above may comprise computer hardware, software, firmware, or any combination thereof to perform at least a portion of their functions. For example, a sensor may include computer code configured to be executed in one or more processors, and may include hardware logic/electrical circuitry controlled by the computer code. These example devices are provided herein purposes of illustration, and are not intended to be limiting. Embodiments of the present disclosure may be implemented in further types of devices, as would be known to persons skilled in the relevant art(s).
[0090] At least some embodiments of the disclosure have been directed to computer program products comprising such logic (e.g., in the form of software) stored on any computer useable medium. Such software, when executed in one or more data processing devices, causes a device to operate as described herein.
[0091] While various embodiments of the present disclosure have been described above, it should be understood that they have been presented by way of example only, and not limitation. It will be apparent to persons skilled in the relevant art that various changes in form and detail can be made therein without departing from the spirit and scope of the disclosure. Thus, the breadth and scope of the present disclosure should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents. The foregoing description has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. Further, it should be noted that any or all the aforementioned alternate implementations may be used in any combination desired to form additional hybrid implementations of the disclosure.
[0092] Further, although specific implementations of the disclosure have been described and illustrated, the disclosure is not to be limited to the specific forms or arrangements of parts so described and illustrated. The scope of the disclosure is to be defined by the claims appended hereto, any future claims submitted here and in different applications, and their equivalents.

Claims

1. A method comprising:
receiving map data from a centralized map information network pertaining to a current location of a vehicle;
receiving sensor data from one or more vehicle sensors pertaining to the current location of the vehicle;
determining if a map discrepancy exists between the map data and the sensor data;
generating a transaction request to a blockchain database for map discrepancy data; and receiving updated map information from the blockchain database.
2. The method of claim 1, wherein the updated map information comprises map discrepancy data stored on the blockchain database, wherein the map discrepancy data comprises a transaction stored on the blockchain database comprising historical sensor data received by the blockchain database from a prior vehicle.
3. The method of claim 2, further comprising determining if a new map discrepancy exists between the updated map information and the sensor data.
4. The method of claim 3, wherein the new map discrepancy does exist, and the method further comprises updating a vehicle path based on the map discrepancy data.
5. The method of claim 3, wherein the new map discrepancy does not exist, and the method further comprises one or more of: publishing a notification to a driver of the vehicle indicating the driver should control the vehicle; or
updating a vehicle path based on the sensor data.
6. The method of claim 3, wherein the new map discrepancy exists, and the method further comprises generating a message comprising the sensor data.
7. The method of claim 6, further comprising publishing the message to be stored on the blockchain database, and wherein the message cannot be altered after it has been verified by the blockchain database and stored on the blockchain database.
8. The method of claim 1, wherein sensor data comprises data received from one or more of: a global positioning system, a radar sensor, a camera, an ultrasonic sensor, and a LIDAR sensor.
9. The method of claim 1, wherein the blockchain database comprises a decentralized
network of validator nodes configured to validate the message by consensus.
10. A system comprising:
a vehicle controller in electronic communication with a vehicle, wherein the vehicle controller comprises:
a route determination component; and
a map data processing component; one or more vehicle sensors in electronic communication with the vehicle controller; and computer readable storage media storing instructions that, when executed by one or more processors, cause the one or more processors to:
receive map data from a centralized map information network; and receive updated map information from a blockchain database;
wherein the vehicle controller is configured to determine if a map discrepancy exists between sensor data obtained from the one or more vehicle sensors and the map data.
11. The system of claim 10, further comprising a requestor node, wherein the requestor node is configured to:
generate a transaction request for the updated map information stored in the blockchain database pertaining to a location; and
digitally record the transaction request with an identifiable transaction signature.
12. The system of claim 11, wherein the vehicle controller comprises the requestor node.
13. The system of claim 12, wherein the blockchain database further comprises a task
executor node, wherein the task executor node is configured to:
receive the transaction request from the requestor node;
execute the transaction request to generate an execution; and
digitally record the execution with an identifiable execution signature.
14. The system of claim 13, wherein the blockchain database further comprises a validator node configured to:
generate a copy of the execution; and
publish the copy of the execution to a plurality of validator nodes in the blockchain database.
15. The system of claim 14, wherein the plurality of validator nodes in the blockchain
database authenticate the execution by consensus.
16. The system of claim 10, wherein the vehicle controller comprises the computer readable storage media storing instructions that, when executed by the one or more processors, cause the one or more processors to receive map data from the centralized map information network in real-time for a current or future location of the vehicle.
17. The system of claim 10, wherein the vehicle controller comprises the computer readable storage media storing instructions that, when executed by the one or more processors, cause the one or more processors to receive sensor data from the one or more vehicle sensors in real-time for a current location of the vehicle.
18. The system of claim 10, wherein the vehicle controller is configured to determine in real- time if the map discrepancy exists between the map data and the sensor data for a current location of the vehicle.
19. The system of claim 10, wherein the vehicle controller is further configured to:
generate a message comprising the sensor data; and
publish the message to be stored on the blockchain database.
20. Computer readable storage media storing instructions that, when executed by one or more processors, cause the one or more processors to:
receive map data from a centralized map information network pertaining to a current location of a vehicle;
receive sensor data from one or more vehicle sensors pertaining to the current location of the vehicle;
determine if a map discrepancy exists between the map data and the sensor data;
generate a transaction request to a blockchain database for map discrepancy data; and receive updated map information from the blockchain database.
PCT/US2018/016678 2018-02-02 2018-02-02 Map discrepancy identification with centralized map data WO2019152049A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2018/016678 WO2019152049A1 (en) 2018-02-02 2018-02-02 Map discrepancy identification with centralized map data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2018/016678 WO2019152049A1 (en) 2018-02-02 2018-02-02 Map discrepancy identification with centralized map data

Publications (1)

Publication Number Publication Date
WO2019152049A1 true WO2019152049A1 (en) 2019-08-08

Family

ID=67479989

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2018/016678 WO2019152049A1 (en) 2018-02-02 2018-02-02 Map discrepancy identification with centralized map data

Country Status (1)

Country Link
WO (1) WO2019152049A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021160319A1 (en) * 2020-02-14 2021-08-19 Audi Ag Method and processor circuit for updating a digital road map
CN114579549A (en) * 2022-03-02 2022-06-03 北京百度网讯科技有限公司 Information verification method, device, electronic equipment, storage medium and product

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6401027B1 (en) * 1999-03-19 2002-06-04 Wenking Corp. Remote road traffic data collection and intelligent vehicle highway system
WO2017046805A1 (en) * 2015-09-17 2017-03-23 Tower-Sec Ltd. Systems and methods for detection of malicious activity in vehicle data communication networks
WO2017180382A1 (en) * 2016-04-12 2017-10-19 Pcms Holdings, Inc. System and method for data validation in a decentralized sensor network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6401027B1 (en) * 1999-03-19 2002-06-04 Wenking Corp. Remote road traffic data collection and intelligent vehicle highway system
WO2017046805A1 (en) * 2015-09-17 2017-03-23 Tower-Sec Ltd. Systems and methods for detection of malicious activity in vehicle data communication networks
WO2017180382A1 (en) * 2016-04-12 2017-10-19 Pcms Holdings, Inc. System and method for data validation in a decentralized sensor network

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021160319A1 (en) * 2020-02-14 2021-08-19 Audi Ag Method and processor circuit for updating a digital road map
CN114930122A (en) * 2020-02-14 2022-08-19 奥迪股份公司 Method and processor circuit for updating a digital road map
CN114930122B (en) * 2020-02-14 2023-06-02 奥迪股份公司 Method and processor circuit for updating digital road map
CN114579549A (en) * 2022-03-02 2022-06-03 北京百度网讯科技有限公司 Information verification method, device, electronic equipment, storage medium and product

Similar Documents

Publication Publication Date Title
US11821740B2 (en) Route generation using road lane line quality
US10867510B2 (en) Real-time traffic monitoring with connected cars
EP3616419B1 (en) Vehicle map service system
CN110225852B (en) Feedback for autonomous vehicles
US11827274B2 (en) Turn path visualization to improve spatial and situational awareness in turn maneuvers
US11853065B2 (en) Method and driver assistance system for assisting a driver of a vehicle with driving of the vehicle
US20180090009A1 (en) Dynamic traffic guide based on v2v sensor sharing method
US20180313655A1 (en) Network Based Storage Of Vehicle And Infrastructure Data For Optimizing Vehicle Routing
JP6819076B2 (en) Travel planning device and center
US20200174470A1 (en) System and method for supporting autonomous vehicle
US20170084178A1 (en) Formulating lane level routing plans
US20160332570A1 (en) Driver assistance system and method for avoiding collisions
WO2014125757A1 (en) Vehicle drive assist system, and drive assist implementation method
US20170115124A1 (en) Driver Workload Prediction and Path Routing
EP3875910A1 (en) Information processing device, information processing method, and information processing program
US20230154332A1 (en) Predicting traffic violation hotspots using map features and sensors data
EP3901662A1 (en) Systems and methods to determine risk distribution based on sensor coverages of a sensor system for an autonomous driving vehicle
JP2022041923A (en) Vehicle path designation using connected data analysis platform
US20200239025A1 (en) Autonomous vehicle routing with local and general routes
US20230033672A1 (en) Determining traffic violation hotspots
WO2019152049A1 (en) Map discrepancy identification with centralized map data
US20220204043A1 (en) Autonomous driving pattern profile
JP6333340B2 (en) Driving support device, portable electronic device, navigation device, and driving support method
US20230080281A1 (en) Precautionary observation zone for vehicle routing
US20220198923A1 (en) Method, apparatus, and computer program product for determining a split lane traffic pattern

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: 18904226

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18904226

Country of ref document: EP

Kind code of ref document: A1