An example embodiment of the present disclosure generally relates to autonomous driving for vehicles and, more particularly, to a method, apparatus and computer program product for generating speed profiles for autonomous vehicles in safety risk situations for a road segment.
Vehicles are being built with more and more sensors to assist with autonomous driving and/or other vehicle technologies. Generally, sensors of a vehicle related to autonomous driving capture imagery data and/or radar data to assist with the autonomous driving. For instance, image sensors and Light Distancing and Ranging (LiDAR) sensors are popular sensor types for identifying objects along a road segment and/or establishing the safe path of traversal for a vehicle driving autonomously. Autonomous driving capabilities of vehicles are increasing toward full automation (e.g., Level 5 autonomy) with zero human interaction. However, there are numerous challenges related to autonomous driving capabilities of vehicles.
A method, apparatus and computer program product are provided in order to provide for generating speed profiles for autonomous vehicles in safety risk situations for a road segment. As such, improved navigation of a vehicle, improved route guidance for a vehicle, improved semi-autonomous vehicle control, and/or improved fully autonomous vehicle control can also be provided.
In an example, embodiment, a computer-implemented method is provided. The computer-implemented method includes identifying a road segment associated with a safety risk profile based at least in part on road condition data related to the road segment. In one or more embodiments, the computer-implemented method also includes obtaining probe data from one or more probe apparatuses traveling along the road segment associated with the safety risk profile. In one or more embodiments, the computer-implemented method also includes generating a speed profile for modeling velocity of autonomous vehicles along the road segment based at least in part on the probe data. In one or more embodiments, the computer-implemented method also includes providing an indication of the speed profile to one or more autonomous vehicles to facilitate navigation of the one or more autonomous vehicles along the road segment.
In one or more embodiments, identifying the road segment associated with the safety risk profile includes identifying the road segment associated with the safety risk profile based at least in part on traffic incident data related to the road segment. In one or more embodiments, identifying the road segment associated with the safety risk profile additionally or alternatively includes identifying the road segment associated with the safety risk profile based at least in part on hazard warning data related to the road segment. In one or more embodiments, identifying the road segment associated with the safety risk profile additionally or alternatively includes identifying the road segment associated with the safety risk profile based at least in part on weather condition data related to the road segment. In one or more embodiments, identifying the road segment associated with the safety risk profile additionally or alternatively includes identifying the road segment associated with the safety risk profile based at least in part on high-definition (HD) map data related to the road segment.
In one or more embodiments, obtaining the probe data includes obtaining sensor data from the one or more probe apparatuses traveling along the road segment associated with the safety risk profile.
In one or more embodiments, the computer-implemented method additionally or alternatively includes generating a time-space mapping for mapping a position of vehicles along the road segment as a function of time and velocity based at least in part on the probe data. In one or more embodiments, the computer-implemented method additionally or alternatively includes generating the speed profile based at least in part on the time-space mapping.
In one or more embodiments, the computer-implemented method additionally or alternatively includes configuring a speed setting for the one or more autonomous vehicles based at least in part on the speed profile. In one or more embodiments, the computer-implemented method additionally or alternatively includes initiating a lane change along the road segment for the one or more autonomous vehicles based at least in part on the speed profile. In one or more embodiments, the computer-implemented method additionally or alternatively includes determining a navigation route along the road segment for the one or more autonomous vehicles based at least in part on the speed profile. In one or more embodiments, the computer-implemented method additionally or alternatively includes configuring an autonomous driving level for the one or more autonomous vehicles based at least in part on the speed profile.
In another example embodiment, an apparatus includes processing circuitry and at least one memory including computer program code instructions that are configured to, when executed by the processing circuitry, cause the apparatus to identify a road segment associated with a safety risk profile based at least in part on road condition data related to the road segment. In one or more embodiments, the computer program code instructions are also configured to, when executed by the processing circuitry, cause the apparatus to obtain probe data from one or more probe apparatuses traveling along the road segment associated with the safety risk profile. In one or more embodiments, the computer program code instructions are also configured to, when executed by the processing circuitry, cause the apparatus to generate a speed profile for modeling velocity of autonomous vehicles along the road segment based at least in part on the probe data. In one or more embodiments, the computer program code instructions are also configured to, when executed by the processing circuitry, cause the apparatus to provide an indication of the speed profile to one or more autonomous vehicles to facilitate navigation of the one or more autonomous vehicles along the road segment.
In one or more embodiments, the computer program code instructions are additionally or alternatively configured to, when executed by the processing circuitry, cause the apparatus to identify the road segment associated with the safety risk profile based at least in part on traffic incident data related to the road segment.
In one or more embodiments, the computer program code instructions are additionally or alternatively configured to, when executed by the processing circuitry, cause the apparatus to identify the road segment associated with the safety risk profile based at least in part on hazard warning data related to the road segment.
In one or more embodiments, the computer program code instructions are additionally or alternatively configured to, when executed by the processing circuitry, cause the apparatus to identify the road segment associated with the safety risk profile based at least in part on weather condition data related to the road segment.
In one or more embodiments, the computer program code instructions are additionally or alternatively configured to, when executed by the processing circuitry, cause the apparatus to identify the road segment associated with the safety risk profile based at least in part on HD map data related to the road segment.
In one or more embodiments, the computer program code instructions are additionally or alternatively configured to, when executed by the processing circuitry, cause the apparatus to obtain sensor data from the one or more probe apparatuses traveling along the road segment associated with the safety risk profile.
In one or more embodiments, the computer program code instructions are additionally or alternatively configured to, when executed by the processing circuitry, cause the apparatus to generate a time-space mapping for mapping a position of vehicles along the road segment as a function of time and velocity based at least in part on the probe data. In one or more embodiments, the computer program code instructions are additionally or alternatively configured to, when executed by the processing circuitry, cause the apparatus to generate the speed profile based at least in part on the time-space mapping.
In one or more embodiments, the computer program code instructions are additionally or alternatively configured to, when executed by the processing circuitry, cause the apparatus to configure a speed setting for the one or more autonomous vehicles based at least in part on the speed profile.
In one or more embodiments, the computer program code instructions are additionally or alternatively configured to, when executed by the processing circuitry, cause the apparatus to initiate a lane change along the road segment for the one or more autonomous vehicles based at least in part on the speed profile.
In one or more embodiments, the computer program code instructions are additionally or alternatively configured to, when executed by the processing circuitry, cause the apparatus to determine a navigation route along the road segment for the one or more autonomous vehicles based at least in part on the speed profile.
In one or more embodiments, the computer program code instructions are additionally or alternatively configured to, when executed by the processing circuitry, cause the apparatus to configure an autonomous driving level for the one or more autonomous vehicles based at least in part on the speed profile.
In another example embodiment, a computer program product is provided. In one or more embodiments, the computer program product includes at least one computer readable storage medium having computer-executable program code instructions stored therein with the computer-executable program code instructions including program code instructions. In some embodiments, the computer readable storage medium is a non-transitory computer readable storage medium. In one or more embodiments, the computer-executable program code instructions are configured, upon execution, to identify a road segment associated with a safety risk profile based at least in part on road condition data related to the road segment. In one or more embodiments, the computer-executable program code instructions are also configured, upon execution, to obtain probe data from one or more probe apparatuses traveling along the road segment associated with the safety risk profile. In one or more embodiments, the computer-executable program code instructions are also configured, upon execution, to generate a speed profile for modeling velocity of autonomous vehicles along the road segment based at least in part on the probe data. In one or more embodiments, the computer-executable program code instructions are also configured, upon execution, to provide an indication of the speed profile to one or more autonomous vehicles to facilitate navigation of the one or more autonomous vehicles along the road segment.
In one or more embodiments, the computer-executable program code instructions are additionally or alternatively configured to identify the road segment associated with the safety risk profile based at least in part on traffic incident data related to the road segment.
In one or more embodiments, the computer-executable program code instructions are additionally or alternatively configured to identify the road segment associated with the safety risk profile based at least in part on hazard warning data related to the road segment.
In one or more embodiments, the computer-executable program code instructions are additionally or alternatively configured to identify the road segment associated with the safety risk profile based at least in part on weather condition data related to the road segment.
In one or more embodiments, the computer-executable program code instructions are additionally or alternatively configured to identify the road segment associated with the safety risk profile based at least in part on HD map data related to the road segment.
In one or more embodiments, the computer-executable program code instructions are additionally or alternatively configured to obtain sensor data from the one or more probe apparatuses traveling along the road segment associated with the safety risk profile.
In one or more embodiments, the computer-executable program code instructions are additionally or alternatively configured to generate a time-space mapping for mapping a position of vehicles along the road segment as a function of time and velocity based at least in part on the probe data. In one or more embodiments, the computer-executable program code instructions are additionally or alternatively configured to generate the speed profile based at least in part on the time-space mapping.
In one or more embodiments, the computer-executable program code instructions are additionally or alternatively configured to configure a speed setting for the one or more autonomous vehicles based at least in part on the speed profile.
In one or more embodiments, the computer-executable program code instructions are additionally or alternatively configured to initiate a lane change along the road segment for the one or more autonomous vehicles based at least in part on the speed profile.
In one or more embodiments, the computer-executable program code instructions are additionally or alternatively configured to determine a navigation route along the road segment for the one or more autonomous vehicles based at least in part on the speed profile.
In one or more embodiments, the computer-executable program code instructions are additionally or alternatively configured to configure an autonomous driving level for the one or more autonomous vehicles based at least in part on the speed profile.
In yet another example embodiment, an apparatus is provided that includes means for identifying a road segment associated with a safety risk profile based at least in part on road condition data related to the road segment. In one or more embodiments, the apparatus of this example embodiment also includes means for obtaining probe data from one or more probe apparatuses traveling along the road segment associated with the safety risk profile. In one or more embodiments, the apparatus of this example embodiment also includes means for generating a speed profile for modeling velocity of autonomous vehicles along the road segment based at least in part on the probe data. In one or more embodiments, the apparatus of this example embodiment also includes means for providing an indication of the speed profile to one or more autonomous vehicles to facilitate navigation of the one or more autonomous vehicles along the road segment.
In one or more embodiments, means for identifying the road segment associated with the safety risk profile includes means for identifying the road segment associated with the safety risk profile based at least in part on traffic incident data related to the road segment. In one or more embodiments, means for identifying the road segment associated with the safety risk profile additionally or alternatively includes means for identifying the road segment associated with the safety risk profile based at least in part on hazard warning data related to the road segment. In one or more embodiments, means for identifying the road segment associated with the safety risk profile additionally or alternatively includes means for identifying the road segment associated with the safety risk profile based at least in part on weather condition data related to the road segment. In one or more embodiments, means for identifying the road segment associated with the safety risk profile additionally or alternatively includes means for identifying the road segment associated with the safety risk profile based at least in part on HD map data related to the road segment.
In one or more embodiments, means for obtaining the probe data includes means for obtaining sensor data from the one or more probe apparatuses traveling along the road segment associated with the safety risk profile.
In one or more embodiments, the apparatus of this example embodiment additionally or alternatively includes means for generating a time-space mapping for mapping a position of vehicles along the road segment as a function of time and velocity based at least in part on the probe data. In one or more embodiments, the apparatus of this example embodiment additionally or alternatively includes means for generating the speed profile based at least in part on the time-space mapping.
In one or more embodiments, the apparatus of this example embodiment additionally or alternatively includes means for configuring a speed setting for the one or more autonomous vehicles based at least in part on the speed profile. In one or more embodiments, the apparatus of this example embodiment additionally or alternatively includes means for initiating a lane change along the road segment for the one or more autonomous vehicles based at least in part on the speed profile. In one or more embodiments, the apparatus of this example embodiment additionally or alternatively includes means for determining a navigation route along the road segment for the one or more autonomous vehicles based at least in part on the speed profile. In one or more embodiments, the apparatus of this example embodiment additionally or alternatively includes means for configuring an autonomous driving level for the one or more autonomous vehicles based at least in part on the speed profile.
Having thus described certain embodiments of the disclosure in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
Some embodiments of the present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all, embodiments of the disclosure are shown. Indeed, various embodiments of the disclosure can be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout. As used herein, the terms “data,” “content,” “information,” and similar terms can be used interchangeably to refer to data capable of being transmitted, received and/or stored in accordance with embodiments of the present disclosure. Thus, use of any such terms should not be taken to limit the spirit and scope of embodiments of the present disclosure.
An autonomous vehicle may utilize sensor technologies to assist with navigation of the autonomous vehicle along a road segment. For example, an autonomous vehicle may utilize sensor data associated with the autonomous vehicle to assist with autonomous driving decisions provided by an engine control module (ECM), an electronic control unit (ECU), an Advanced Driver Assistance System (ADAS), and/or another system of the autonomous vehicle. An autonomous driving decision can be related to a change in an autonomous driving mode for an autonomous vehicle. In one example, an autonomous driving decision can include engaging an autonomous driving mode from a non-autonomous driving mode (e.g., a manual driving mode or a half-autonomous driving mode). In another example, an autonomous driving decision can include disengaging an autonomous driving mode to a non-autonomous driving mode. However, a change in an autonomous driving mode for an autonomous vehicle can result from various factors such as, but not limited to, weather changes, changes between location environmental information and map content, changes in road geometry or other road segment conditions, changes in traffic conditions, changes in wireless network data capable of supporting autonomous driving, and road construction events related to a road segment, etc. Generally, sensors of an autonomous vehicle capture sensor data to assist with the autonomous driving. For instance, camera sensors, Light Distancing and Ranging (LiDAR) sensors, radar sensors, geolocation sensors, ultrasonic sensors, and other in-vehicle sensors are exemplary sensor types for identifying objects along a road segment and/or establishing a safe path of traversal for an autonomous vehicle driving autonomously.
Autonomous driving modes may be defined by various autonomous driving levels such as, for example, Level 0 that corresponds to no automation, Level 1 that corresponds to driver assistance, Level 2 that corresponds to partial automation, Level 3 that corresponds to conditional automation, Level 4 that corresponds to high automation, Level 5 that corresponds to full automation, and/or another sub-level associated with a degree of autonomous driving. Autonomous driving capabilities of autonomous vehicles are increasing toward full automation (e.g., Level 5 autonomy) with zero human interaction. However, there are numerous challenges related to autonomous driving capabilities of autonomous vehicles. For example, an autonomous vehicle may employ speed limit information in a speed profile for a road segment to define a maximum driving speed or a minimum driving speed for a road segment. However, in certain situations for a road segment such as, for example a safety risk situation related to a hazard warning, increased traffic, certain weather conditions (e.g., clement weather, blizzard situations, etc.), a traffic incident, and/or missing information for autonomous driving perception for a road segment, it may be difficult to provide accurate speed limit information and/or an accurate speed profile for the road segment. As such, for certain safety risk situations for a road segment, autonomous vehicles may be in increased risk of a road accident or another safety event, thereby reducing performance and/or efficiency of the autonomous vehicles.
To address these and/or other issues, a method, apparatus and computer program product are provided in accordance with an example embodiment in order to generate speed profiles for autonomous vehicles in safety risk situations for a road segment. According to one or more embodiments, in response to identifying a road segment associated with a safety risk profile, aggregated vehicle probe data can be employed to determine a speed profile (e.g., a dynamic speed profile) related to the road segment. The aggregated vehicle probe data can be obtained from one or more probe apparatuses related to one or more autonomous vehicles traveling along the road segment. The speed profile can then be utilized by autonomous vehicles to facilitate autonomous driving via the road segment and/or a road network region that includes the road segment.
The road segment associated with the safety risk profile can be determined based on road condition data related to the road segment. The safety risk profile can provide a prediction as to a likely safety risk situation related to a hazard warning, increased traffic, certain weather conditions (e.g., clement weather, blizzard situations, etc.), a traffic incident, lack of cellular network coverage, and/or missing information for autonomous driving perception (e.g., a lack of autonomous vehicle data from autonomous vehicles) for the road segment. The road condition data can include traffic incident data related to the road segment, hazard warning data related to the road segment, weather condition data related to the road segment, real-time traffic information related to the road segment, and/or map data (e.g., high-definition (HD) map data) related to the road segment. The safety risk profile can indicate that speed limit information and/or a speed profile for the road segment or a road network region that includes the road segment would likely benefit from being updated. The aggregated vehicle probe data can include sensor data and/or other connected-vehicle data such as, but not limited to, location data (e.g., geolocation data, global positioning system (GPS) data, etc.), anti-lock braking system (ABS) data, headlight data, windshield wiper data, video camera data, image camera data, brake pressure data, fog light data, ignition data, hazard light data, ultrasonic sensor data, LiDAR sensor data, radar sensor data, communication network data (e.g., 5G coverage data), and/or other in-vehicle sensor data. In one or more embodiments, the speed profile can be utilized by autonomous vehicles to configure a speed setting for the autonomous vehicles (e.g., set a minimum speed limit and/or a maximum speed limit for autonomous driving), initiate a lane change along the road segment for the autonomous vehicles, determine a navigation route along the road segment for the autonomous vehicles, configure an autonomous driving level (e.g., alter an autonomous driving level) for the autonomous vehicles, etc.
In one or more embodiments, a time-space mapping for mapping a position of vehicles along the road segment as a function of time and velocity can be determined based at least in part on the aggregated vehicle probe data. The time-space mapping can be, for example, a time-space diagram that plots position of vehicles along the road segment as a function of time and velocity. Additionally, one or more embodiments, the speed profile can be generated based on the time-space mapping (e.g., the time-space diagram). In one or more embodiments, speed limit information (e.g., a minimum speed limit and/or a maximum speed limit) for the speed profile related to the road segment can be updated based on the time-space mapping (e.g., the time-space diagram). In certain embodiments, a certain speed such as, for example, a lowest speed, from a vehicle path within the time-space mapping (e.g., the time-space diagram) can be utilized as a recommended driving speed for the speed profile to be utilized by autonomous vehicles traveling along the road segment. According to one or more embodiments, a speed profile (e.g., an updated speed profile) and/or speed limit information (e.g., updated speed limit information) can be uploaded to a mapping server. In certain embodiments, a speed profile (e.g., an updated speed profile) and/or speed limit information (e.g., updated speed limit information) can be mapped onto a road network and/or a road lane network.
Accordingly, a real-time speed profile can be provided for a road segment (and/or a road network region that includes the road segment and one or more other road segments) during safety risk situations for the road segment. Furthermore, vehicle accident risks for autonomous vehicle traveling along a road segment can be mitigated during safety risk situations for the road segment. Moreover, autonomous vehicles can be managed to provide improved autonomous driving and/or vehicle localization for a vehicle traveling along a road segment or a road network region. Moreover, autonomous vehicles can be managed to provide additional dimensionality and/or advantages for one or more sensors of a vehicle. Autonomous vehicles can also be managed to provide a low cost and/or efficient solution for improved autonomous driving and/or vehicle localization for a vehicle. Computational resources for improved autonomous driving and/or vehicle localization can also be conserved. Autonomous vehicles can also be managed to provide a cost effective and/or efficient solution for improved autonomous driving and/or vehicle localization. Computational resources for improved autonomous driving and/or vehicle localization by utilizing speed profiles for autonomous vehicles as disclosed herein can also be relatively limited in order to allow the computational resources to be utilized for other purposes. Utilizing speed profiles for autonomous vehicles as disclosed herein may additionally facilitate improved navigation of a vehicle, improved route guidance for a vehicle, improved semi-autonomous vehicle control, and/or improved fully autonomous vehicle control.
With reference to
In an example embodiment where some level of vehicle autonomy is involved, the apparatus 102 can be embodied or partially embodied by a computing device of a vehicle that supports safety-critical systems such as the powertrain (engine, transmission, electric drive motors, etc.), steering (e.g., steering assist or steer-by-wire), and/or braking (e.g., brake assist or brake-by-wire). However, as certain embodiments described herein may optionally be used for map generation, map updating, and map accuracy confirmation, other embodiments of the apparatus may be embodied or partially embodied as a mobile terminal, such as a personal digital assistant (PDA), mobile telephone, smart phone, personal navigation device, smart watch, tablet computer, camera or any combination of the aforementioned and other types of voice and text communications systems. Regardless of the type of computing device that embodies the apparatus 102, the apparatus 102 of an example embodiment includes, is associated with or otherwise is in communication with processing circuitry 106, memory 108 and optionally a communication interface 110.
In some embodiments, the processing circuitry 106 (and/or co-processors or any other processors assisting or otherwise associated with the processing circuitry 106) can be in communication with the memory 108 via a bus for passing information among components of the apparatus 102. The memory 108 can be non-transitory and can include, for example, one or more volatile and/or non-volatile memories. In other words, for example, the memory 108 may be an electronic storage device (for example, a computer readable storage medium) comprising gates configured to store data (for example, bits) that can be retrievable by a machine (for example, a computing device like the processing circuitry 106). The memory 108 can be configured to store information, data, content, applications, instructions, or the like for enabling the apparatus 102 to carry out various functions in accordance with an example embodiment of the present disclosure. For example, the memory 108 can be configured to buffer input data for processing by the processing circuitry 106. Additionally or alternatively, the memory 108 can be configured to store instructions for execution by the processing circuitry 106.
The processing circuitry 106 can be embodied in a number of different ways. For example, the processing circuitry 106 may be embodied as one or more of various hardware processing means such as a processor, a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing element with or without an accompanying DSP, or various other processing circuitry including integrated circuits such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip, or the like. As such, in some embodiments, the processing circuitry 106 can include one or more processing cores configured to perform independently. A multi-core processor can enable multiprocessing within a single physical package. Additionally or alternatively, the processing circuitry 106 can include one or more processors configured in tandem via the bus to enable independent execution of instructions, pipelining and/or multithreading.
In an example embodiment, the processing circuitry 106 can be configured to execute instructions stored in the memory 108 or otherwise accessible to the processing circuitry 106. Alternatively or additionally, the processing circuitry 106 can be configured to execute hard coded functionality. As such, whether configured by hardware or software methods, or by a combination thereof, the processing circuitry 106 can represent an entity (for example, physically embodied in circuitry) capable of performing operations according to an embodiment of the present disclosure while configured accordingly. Thus, for example, when the processing circuitry 106 is embodied as an ASIC, FPGA or the like, the processing circuitry 106 can be specifically configured hardware for conducting the operations described herein. Alternatively, as another example, when the processing circuitry 106 is embodied as an executor of software instructions, the instructions can specifically configure the processing circuitry 106 to perform the algorithms and/or operations described herein when the instructions are executed. However, in some cases, the processing circuitry 106 can be a processor of a specific device (for example, a computing device) configured to employ an embodiment of the present disclosure by further configuration of the processor by instructions for performing the algorithms and/or operations described herein. The processing circuitry 106 can include, among other things, a clock, an arithmetic logic unit (ALU) and/or one or more logic gates configured to support operation of the processing circuitry 106.
The apparatus 102 of an example embodiment can also optionally include the communication interface 110 that can be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to receive and/or transmit data from/to other electronic devices in communication with the apparatus 102, such as the map database 104 that stores data (e.g., map data, autonomous level data, vehicle context data, location data, geo-referenced locations, time data, timestamp data, temporal data, vehicle data, vehicle version data, software version data, hardware version data, vehicle speed data, distance data, statistical data, etc.) generated and/or employed by the processing circuitry 106. Additionally or alternatively, the communication interface 110 can be configured to communicate in accordance with various wireless protocols including Global System for Mobile Communications (GSM), such as but not limited to Long Term Evolution (LTE). In this regard, the communication interface 110 can include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications with a wireless communication network. In this regard, the communication interface 110 can include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications with a wireless communication network. Additionally or alternatively, the communication interface 110 can include the circuitry for interacting with the antenna(s) to cause transmission of signals via the antenna(s) or to handle receipt of signals received via the antenna(s). In some environments, the communication interface 110 can alternatively or also support wired communication and/or may alternatively support vehicle to vehicle or vehicle to infrastructure wireless links.
In certain embodiments, the apparatus 102 can be equipped or associated with one or more sensors 112, such as one or more geolocation sensors (e.g., one or more GPS sensors, one or more global navigation satellite system (GNSS) sensors, one or more Galileo sensors, one or more GLONASS sensors, one or more BeiDou sensors, etc.), one or more accelerometer sensors, one or more LiDAR sensors, one or more radar sensors, one or more gyroscope sensors, one or more ultrasonic sensors, one or more infrared sensors, one or more camera sensors, one or more in-vehicle sensors and/or one or more other sensors. Any of the one or more sensors 112 may be used to sense and/or obtain probe data (e.g., vehicle probe data) for use in navigation assistance and/or autonomous vehicle control, as described herein according to example embodiments.
Accordingly, blocks of the flowchart support combinations of means for performing the specified functions and combinations of operations for performing the specified functions for performing the specified functions. It will also be understood that one or more blocks of the flowchart, and combinations of blocks in the flowchart, can be implemented by special purpose hardware-based computer systems which perform the specified functions, or combinations of special purpose hardware and computer instructions.
Autonomous driving has become a focus of recent technology with recent advances in machine learning, computer vision, and computing power able to conduct real-time mapping and sensing of a vehicle's environment. Such an understanding of the environment enables autonomous driving in two distinct ways. Primarily, real-time or near real-time sensing of the environment can provide information about potential obstacles, the behavior of others on the roadway, and areas that are navigable by the vehicle. An understanding of the location of other vehicles and/or what the other vehicles have done and may be predicted to do may be useful for a vehicle (or apparatus 102) to safely plan a route.
Autonomous vehicles or vehicles with some level of autonomous controls provide some degree of vehicle control that was previously performed by a person driving a vehicle. Removing some or all of the responsibilities of driving from a person and automating those responsibilities require a high degree of confidence in performing those responsibilities in a manner at least as good as a human driver. For example, maintaining a vehicle's position within a lane by a human involves steering the vehicle between observed lane markings and determining a lane when lane markings are faint, absent, or not visible due to weather (e.g., heavy rain, snow, bright sunlight, etc.). As such, it is desirable for the autonomous vehicle to be equipped with sensors sufficient to observe road features, and a controller that is capable of processing the signals from the sensors observing the road features, interpret those signals, and provide vehicle control to maintain the lane position of the vehicle based on the sensor data. Maintaining lane position is merely one illustrative example of a function of autonomous or semi-autonomous vehicles that demonstrates the sensor level and complexity of autonomous driving. However, autonomous vehicle capabilities, particularly in fully autonomous vehicles, must be capable of performing all driving functions. As such, the vehicles must be equipped with sensor packages that enable the functionality in a safe manner.
Referring now to
The road condition data can include traffic incident data related to the road segment, hazard warning data related to the road segment, weather condition data related to the road segment, and/or map data (e.g., HD map data) related to the road segment. Accordingly, in one or more embodiments, the apparatus 102, such as the processing circuitry 106, can be configured to identify the road segment associated with the safety risk profile based at least in part on traffic incident data related to the road segment, hazard warning data related to the road segment, weather condition data related to the road segment, real-time traffic data related to the road segment, and/or map data (e.g., HD map data) related to the road segment.
In one or more embodiments, the traffic incident data can include information regarding one or more traffic incidents such as, for example, real-time traffic data related to the road segment, one or more traffic accidents related to the road segment, one or more traffic jams related to the road segment, one or more road construction incidents related to the road segment, one or more traffic light incidents related to the road segment, one or more high pedestrian traffic incidents related to the road segment, one or more traffic slowdown incidents related to the road segment, one or more real-time incidents related to the road segment, one or more video camera incidents related to one or more autonomous vehicles traveling along the road segment, one or more ultrasonic sensor incidents related to one or more autonomous vehicles traveling along the road segment, one or more ignition incidents related to one or more autonomous vehicles traveling along the road segment, one or more airbag incidents related to one or more autonomous vehicles traveling along the road segment, one or more break pressure incidents related to one or more autonomous vehicles traveling along the road segment, one or more crash response incidents related to one or more autonomous vehicles traveling along the road segment, and/or one or more other traffic incidents related to the road segment.
The hazard warning data can include information regarding one or more hazard warning conditions related to the road segment such as, for example, an ice warning condition related to the road segment, a heavy rain warning condition related to the road segment, a hydroplane warning condition related to the road segment, a fog warning condition related to the road segment, an ABS condition related to one or more autonomous vehicles traveling along the road segment, a headlight condition related to one or more autonomous vehicles traveling along the road segment, a windshield wiper condition related to one or more autonomous vehicles traveling along the road segment, a break pressure condition related to one or more autonomous vehicles traveling along the road segment, a fog light condition related to one or more autonomous vehicles traveling along the road segment, a hazard light condition related to one or more autonomous vehicles traveling along the road segment, a wireless network connection condition related to one or more autonomous vehicles traveling along the road segment, and/or one or more other hazard warning conditions related to the road segment.
The weather condition data can include real-time weather information related to a geographic location or geographic region for the road segment. For example, the weather condition data can include a real-time weather condition related to the geographic location or geographic region for the road segment, a real-time temperature reading related to the geographic location or geographic region for the road segment, a real-time precipitation condition related to the geographic location or geographic region for the road segment, a real-time wind condition related to the geographic location or geographic region for the road segment, a real-time humidity reading related to the geographic location or geographic region for the road segment, a real-time pressure condition related to the geographic location or geographic region for the road segment, a real-time ultraviolet index condition related to the geographic location or geographic region for the road segment, a real-time fog condition related to the geographic location or geographic region for the road segment, a real-time snow condition related to the geographic location or geographic region for the road segment, a real-time wind chill condition related to the geographic location or geographic region for the road segment, a real-time storm condition related to the geographic location or geographic region for the road segment, and/or one or more other real-time weather conditions related to a geographic location or geographic region for the road segment.
The map data can be map data (e.g., HD map data) stored in and/or obtained from a map database managed by a map service provider. The map data can include node data, road segment data, link data, point of interest (POI) data, historical road condition data, historical traffic data, autonomous driving data, and/or other map data related to the road segment. Additionally or alternatively, the map data can include information regarding a change in a driving mode related to an autonomous level for one or more autonomous vehicles traveling along the road segment. For example, the map data can store a reason for a change in a driving mode related to an autonomous level for one or more autonomous vehicles traveling along the road segment, a current autonomous level for one or more autonomous vehicles traveling along the road segment, a previous autonomous level for one or more autonomous vehicles traveling along the road segment, vehicle data for one or more autonomous vehicles traveling along the road segment, a vehicle identifier for one or more autonomous vehicles traveling along the road segment, and/or other data to facilitate autonomous driving for one or more autonomous vehicles traveling along the road segment.
As shown in block 204 of
An example system 300 that includes a vehicle that generates at least a portion of the probe data associated with the road segment is depicted in
In certain embodiments, respective probe data can define and/or be related to a location and/or a timestamp at which the respective probe data was captured. In an aspect, respective probe data can represent the location in terms of latitude and longitude associated with the road segment. Additionally or alternatively, respective probe data can be map matched so as to be associated with the road segment. Respective probe data can additionally be associated with a variety of other information including, for example, a speed of the vehicle 302 associated with capture of the respective probe data, acceleration of the vehicle 302 associated with capture of the respective probe data, a time at which the respective probe data was captured, an epoch at which the respective probe data was captured, a direction of travel of the vehicle 302 associated with capture of the respective probe data, a road lane in which the vehicle is traveling during capture of the respective probe data, an altitude of the vehicle 302 associated with capture of the respective probe data, a pitch of the vehicle 302 about a traverse axis associated with capture of the respective probe data, a vehicle type associated with the vehicle 302, other information associated with the vehicle 302, other information associated with capture of the respective probe data, etc.
As shown in block 206 of
An example time-space mapping 400 according to one or more embodiments is depicted in
As shown in block 208 of
In certain embodiments, to facilitate navigation of one or more autonomous vehicles (e.g., the one or more autonomous vehicles 512), the apparatus 102 can support a mapping, navigation, and/or autonomous driving application so as to present maps or otherwise provide navigation or driver assistance, such as in an example embodiment in which map data is created or updated using methods described herein. For example, the apparatus 102 can provide for display of a map and/or instructions for following a route within a network of roads via a user interface (e.g., a graphical user interface). In order to support a mapping application, the apparatus 102 can include or otherwise be in communication with a geographic database, such as map database 104, a geographic database stored in the memory 108, and/or map database 610 shown in
In example embodiments, a navigation system user interface and/or an autonomous driving user interface can be provided to provide driver assistance to a user traveling along a network of roadways where data collected from the vehicle (e.g., the vehicle 302) associated with the navigation system user interface can aid in establishing a position of the vehicle along a road segment and/or can provide assistance for autonomous or semi-autonomous vehicle control of the vehicle. Autonomous vehicle control can include driverless vehicle capability where all vehicle functions are provided by software and hardware to safely drive the vehicle along a path identified by the vehicle. Semi-autonomous vehicle control can be any level of driver assistance from adaptive cruise control, to lane-keep assist, or the like. Establishing vehicle location and position along a road segment can provide information useful to navigation and autonomous or semi-autonomous vehicle control by establishing an accurate and highly specific position of the vehicle on a road segment and even within a lane of the road segment such that map features in the map, e.g., a high definition (HD) map, associated with the specific position of the vehicle can be reliably used to aid in guidance and vehicle control.
A map service provider database can be used to provide driver assistance, such as via a navigation system and/or through an ADAS having autonomous or semi-autonomous vehicle control features. Referring back to
The map data service provider 608 can include a map database 610 that can include node data, road segment data or link data, POI data, traffic data or the like. In one embodiment, the map database 610 can be different than the map database 104. In another embodiment, at least a portion of the map database 610 can correspond to the map database 104. The map database 610 can also include cartographic data, routing data, and/or maneuvering data. According to some example embodiments, the road segment data records can be links or segments representing roads, streets, or paths, as can be used in calculating a route or recorded route information for determination of one or more personalized routes. The node data can be end points corresponding to the respective links or segments of road segment data. The road link data and the node data can represent a road network, such as used by vehicles, cars, trucks, buses, motorcycles, and/or other entities. Optionally, the map database 610 can contain path segment and node data records or other data that can represent pedestrian paths or areas in addition to or instead of the vehicle road record data, for example. The road/link segments and nodes can be associated with attributes, such as geographic coordinates, street names, address ranges, speed limits, turn restrictions at intersections, and other navigation related attributes, as well as POIs, such as fueling stations, hotels, restaurants, museums, stadiums, offices, auto repair shops, buildings, stores, parks, etc. The map database 610 can include data about the POIs and their respective locations in the POI records. The map database 610 can include data about places, such as cities, towns, or other communities, and other geographic features such as bodies of water, mountain ranges, etc. Such place or feature data can be part of the POI data or can be associated with POIs or POI data records (such as a data point used for displaying or representing a position of a city). In addition, the map database 610 can include event data (e.g., traffic incidents, construction activities, scheduled events, unscheduled events, etc.) associated with the POI data records or other records of the map database 610.
The map database 610 can be maintained by the map data service provider 608 and can be accessed, for example, by a processing server 602 of the map data service provider 608. By way of example, the map data service provider 608 can collect geographic data and/or dynamic data to generate and enhance the map database 610. In one example, the dynamic data can include traffic-related data. There can be different ways used by the map data service provider 608 to collect data. These ways can include obtaining data from other sources, such as municipalities or respective geographic authorities, such as via global information system databases. In addition, the map data service provider 608 can employ field personnel to travel by vehicle along roads throughout the geographic region to observe features and/or record information about them, for example. Also, remote sensing, such as aerial or satellite photography and/or LiDAR, can be used to generate map geometries directly or through machine learning as described herein. However, the most ubiquitous form of data that can be available is vehicle data provided by vehicles, such as provided, e.g., as probe points, by mobile device 604, as they travel the roads throughout a region.
In certain embodiments, at least a portion of the map database 104 can be included in the map database 610. In an embodiment, the map database 610 can be a master map database, such as an HD map database, stored in a format that facilitates updates, maintenance, and development. For example, the master map database or data in the master map database can be in an Oracle spatial format or other spatial format, such as for development or production purposes. The Oracle spatial format or development/production database can be compiled into a delivery format, such as a geographic data files (GDF) format. The data in the production and/or delivery formats can be compiled or further compiled to form geographic database products or databases, which can be used in end user navigation devices or systems. For example, geographic data can be compiled (such as into a platform specification format (PSF) format) to organize and/or configure the data for performing navigation-related functions and/or services, such as route calculation, route guidance, map display, speed calculation, distance and travel time functions, and other functions, by a navigation device, such as by a vehicle represented by mobile device 604, for example. The navigation-related functions can correspond to vehicle navigation, pedestrian navigation, or other types of navigation. The compilation to produce the end user databases can be performed by a party or entity separate from the map developer. For example, a customer of the map developer, such as a navigation device developer or other end user device developer, can perform compilation on a received map database in a delivery format to produce one or more compiled navigation databases.
As mentioned above, the map database 610 of the map data service provider 608 can be a master geographic database, but in alternate embodiments, a client side map database can represent a compiled navigation database that can be used in or with end user devices (e.g., mobile device 604) to provide navigation and/or map-related functions. For example, the map database 610 can be used with the mobile device 604 to provide an end user with navigation features. In such a case, the map database 610 can be downloaded or stored on the end user device which can access the map database 610 through a wireless or wired connection, such as via a processing server 602 and/or the network 612, for example.
In one embodiment, as noted above, the end user device or mobile device 604 can be embodied by the apparatus 102 of
In one or more embodiments, the apparatus 102, such as the processing circuitry 106, can be additionally or alternatively configured to facilitate routing of the one or more autonomous vehicles along the road segment based on the speed profile. In one or more embodiments, the apparatus 102, such as the processing circuitry 106, can be additionally or alternatively configured to facilitate routing of the one or more autonomous vehicles along the road segment based on user feedback provided in response to an indication of speed information and/or an autonomous level being provided to a user interface display of the one or more autonomous vehicles along the road segment. In certain embodiments, the apparatus 102, such as the processing circuitry 106, can be configured to map the speed profile, the speed information included in the speed profile, and/or other data included in the speed profile onto one or more map data layers of a map (e.g., an HD map) to facilitate the autonomous driving for the one or more autonomous vehicles. For instance, in certain embodiments, the apparatus 102, such as the processing circuitry 106, can be configured to store the speed profile, the speed information included in the speed profile, and/or other data included in the speed profile in a map data layer of a map (e.g., an HD map) for mapping purposes, navigation purposes, and/or autonomous driving purposes associated with the road segment. In certain embodiments, the apparatus 102, such as the processing circuitry 106, can be configured to link and/or associate the speed profile, the speed information included in the speed profile, and/or other data included in the speed profile with one or more portions, components, areas, layers, features, text, symbols, and/or data records of a map (e.g., an HD map) associated with the road segment. In one or more embodiments, the apparatus 102, such as the processing circuitry 106, can be configured to generate a data point for a map layer associated with the road segment based on the speed profile, the speed information included in the speed profile, and/or other data included in the speed profile. The data point can indicate recommended speed information for autonomous vehicles. Additionally or alternatively, in one or more embodiments, the apparatus 102, such as the processing circuitry 106, can be configured to store the data point in the database associated with a map layer associated with the road segment.
In one or more embodiments, the apparatus 102, such as the processing circuitry 106, can be configured to generate one or more road links (e.g., one or more map-matched road links) for the speed profile, the speed information included in the speed profile, and/or other data included in the speed profile to facilitate an autonomous level prediction for autonomous vehicles. For instance, in one or more embodiments, the apparatus 102, such as the processing circuitry 106, can be configured to map the speed profile, the speed information included in the speed profile, and/or other data included in the speed profile onto a road network map associated with the road segment. In one or more embodiments, one or more notifications can be provided to a display of one or more autonomous vehicles based on the speed profile, the speed information included in the speed profile, and/or other data included in the speed profile.
As illustrated in
By employing managing autonomous vehicles in accordance with one or more example embodiments of the present disclosure, precision and/or confidence of vehicle localization, vehicle speed settings, and/or autonomous driving for a vehicle can be improved. Furthermore, by managing autonomous vehicles in accordance with one or more example embodiments of the present disclosure, improved navigation of a vehicle can be provided, improved route guidance for a vehicle can be provided, improved semi-autonomous vehicle control can be provided, improved fully autonomous vehicle control can be provided, and/or improved safety of a vehicle can be provided. Moreover, in accordance with one or more example embodiments of the present disclosure, efficiency of an apparatus including the processing circuitry can be improved and/or the number of computing resources employed by processing circuitry can be reduced. In one or more embodiments, by managing autonomous vehicles in accordance with one or more example embodiments of the present disclosure, improved statistical information for a road segment can be provided to provide improved recommendations for infrastructure improvements.
Many modifications and other embodiments of the disclosures set forth herein will come to mind to one skilled in the art to which these disclosures pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the disclosures are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Furthermore, in some embodiments, additional optional operations can be included. Modifications, additions, or amplifications to the operations above can be performed in any order and in any combination.
Moreover, although the foregoing descriptions and the associated drawings describe example embodiments in the context of certain example combinations of elements and/or functions, it should be appreciated that different combinations of elements and/or functions can be provided by alternative embodiments without departing from the scope of the appended claims. In this regard, for example, different combinations of elements and/or functions than those explicitly described above are also contemplated as can be set forth in some of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.