Example embodiments relate generally to autonomous vehicle navigation. An example embodiment relates generally to the use of non-connected/non-contiguous map fragments for navigation.
Autonomous vehicle navigation generally requires that a vehicle apparatus onboard a vehicle be able to perform navigation-related functions (e.g., highly accurate positioning, maneuver determination and performance, etc.) based on sensor data captured by sensors coupled to the vehicle and a high definition map stored by the vehicle apparatus. The high definition map is a highly detailed map that has a limited lifespan. For example, some of the information included in the high definition map may only be expected to be accurate for a limited period of time (a minute to an hour, for example). However, due to the highly detailed nature of the high definition map, transmitting portions of the high definition map (e.g., from the Cloud and/or a server) to the vehicle apparatus uses a significant amount of bandwidth.
Various embodiments provide for the use of non-connected and/or non-contiguous map fragments that enable autonomous operation of vehicles while significantly reducing the amount of bandwidth used to provide and/or transmit portions of the high definition map to the respective vehicle apparatuses and decreasing the amount of memory used by the respective vehicle apparatuses to store portions of the high definition map.
For example, a vehicle apparatus may be configured to generally operate one or more systems of a respective vehicle based on sensor data captured by one or more sensors onboard and/or coupled to the vehicle. In various embodiments, areas are identified where it is expected that sensor data alone will be insufficient for autonomous navigation. For example, locations where there is a sharp turn in the road, a steep hill that blocks the view of the road on the other side of the hill, weather or other driving conditions that may diminish the efficacy of the sensor data, and/or the like may be identified. For these isolated areas of a geographical region, high definition map fragments may be provided to vehicle apparatuses that are about to and/or are expected to traverse these areas where sensor data alone is expected to be insufficient for autonomous navigation.
Thus, in various embodiments, the vehicle apparatus may be configured to operate in two distinct modes. In areas where the sensor data is expected to be sufficient for autonomous operation, the vehicle apparatus is configured to autonomously operate the vehicle in a sensor-based navigation mode. In areas where the sensor data is expected to be insufficient for autonomous operation, the vehicle apparatus is configured to obtain a high definition map fragment and to autonomously operate the vehicle in a map-based navigation mode. In various embodiments, the high definition map fragments are not connected and/or non-contiguous. In particular, for any two or map fragments corresponding to a respective areas, and respective areas are not connected to one another via traversable network topology map data of the two or more map fragments. For example, the map fragments are configured such that the vehicle apparatus traverses a portion of the traversable network while operating in the sensor-based navigation mode between the respective areas of the map fragments. For example, the respective areas corresponding to the map fragments are discrete, not connected and/or non-contiguous areas. For example, the map fragments are configured such that a vehicle apparatus cannot drive directly from one respective area corresponding to a first map fragment directly into another respective area corresponding to a second map fragment.
In various embodiments, the map fragments correspond to respective areas where it is expected that the one or more sensors will not be able to capture sensor data sufficient for operation of the vehicle apparatus in the sensor-based navigation mode. For example, it is expected that the one or more sensors will not be able to capture sensor data sufficient for operation of the apparatus in the sensor-based navigation mode within the area based on a topology of the traversable network in the area, one or more static features located in the area, current or expected weather conditions in the area, and/or current or expected driving conditions in the area. As used herein, driving conditions are non-weather, non-static events and/or features that affect sensor performance and/or the quality of sensor data that the one or more sensors can capture. For example, construction events, traffic events that block the view of various sensors, pop-up sidewalk shops, and/or other temporary situations that are not directly related to the weather are considered driving conditions herein. In various embodiments, the sensor data captured by one or more sensors coupled to a vehicle may not be sufficient for operation of the vehicle apparatus in a sensor-based navigation mode because of the quality of the sensor data collected or because the sensor data does not include needed information/data. For example, the sensors may not be able to capture sensor data corresponding to a TME that is around a sharp corner or over a steep hill. In another example, the sensors may not be able to capture sensor data corresponding to lane markings or other TME features during heavy snow, fog, and/or the like.
In an example embodiment, a vehicle apparatus autonomously operates (and/or controls autonomous operation of) at least one system of a vehicle as the vehicle navigates along a route through at least a portion of a traversable network in a sensor-based navigation mode. The vehicle apparatus obtains a map fragment corresponding to an area along the route; and, responsive to determining that the vehicle is located within the area, the vehicle apparatus autonomously operates (and/or controls autonomous operation of) the at least one system of the vehicle as the vehicle navigates a portion of the route within the area in a map-based navigation mode using map data of the map fragment. Responsive to determining that the vehicle has exited the area, the vehicle apparatus autonomously operates (and/or controls autonomous operation of) the at least one system of the vehicle as the vehicle continues to navigate along the route in the sensor-based navigation mode.
In an example embodiment, based on (a) a route a vehicle apparatus coupled to a vehicle is expected to traverse or (b) a location of the vehicle apparatus, one or more processors (e.g., of a network apparatus or a vehicle apparatus) determine one or more areas (a) along the route or (b) near the location of the vehicle apparatus, where it is expected that one or more sensors coupled to the vehicle will not be able to capture sensor data sufficient for autonomous operation of the vehicle in the sensor-based navigation mode. Responsive to determining that a trigger corresponding to a respective area of the one or more areas has been identified, the one or more processors cause the vehicle apparatus to obtain a map fragment corresponding to the respective area. The map fragment is configured to be used by the vehicle apparatus to autonomously operate the vehicle to traverse the respective area using a map-based navigation mode.
According to an aspect of the present disclosure, a method for autonomously operating a vehicle and/or at least one system thereof is provided. In an example embodiment, the method comprises autonomously operating, by a vehicle apparatus, at least one system of a vehicle as the vehicle navigates along a route through at least a portion of a traversable network in a sensor-based navigation mode; obtaining, by the vehicle apparatus, a map fragment corresponding to an area along the route; and responsive to determining that the vehicle is located within the area, autonomously operating, by the vehicle apparatus, the at least one system of the vehicle as the vehicle navigates a portion of the route within the area in a map-based navigation mode using map data of the map fragment. The method further comprises, responsive to determining that the vehicle has exited the area, autonomously operating, by the vehicle apparatus, the at least one system of the vehicle as the vehicle continues to navigate along the route in the sensor-based navigation mode.
In an example embodiment, the map fragment is a portion of a high definition map that corresponds to the area along the route.
In an example embodiment, the area along the route corresponds to a portion of the traversable network where it is expected that the one or more sensors will not be able to capture sensor data sufficient for autonomous operation of the at least one system of the vehicle by the apparatus in the sensor-based navigation mode.
In an example embodiment, it is expected that the one or more sensors will not be able to capture sensor data sufficient for autonomous operation of the at least one system of the vehicle by the apparatus in the sensor-based navigation mode within the area based on at least one of (a) a topology of the traversable network in the area, (b) one or more static features located in the area, (c) current or expected weather conditions in the area, or (d) current or expected driving conditions in the area.
In an example embodiment, two or more map fragments are stored by the at least one memory, each of the two or more map fragments corresponding to a respective area, and the two or more map fragments are not connected to one another via traversable network topology map data of the two or more map fragments.
In an example embodiment, at least one map fragment of the two or more map fragments is received in association with the route and responsive to the apparatus providing a route request, wherein the route is determined in response to the route request.
In an example embodiment, at least one map fragment of the two or more map fragments is received based at least in part on the vehicle approaching the respective area.
In an example embodiment, it is determined that the vehicle is located within the area based at least in part on a determination that sensor data captured by the one or more sensors is not sufficient for operation of the apparatus in the sensor-based navigation mode.
In an example embodiment, it is determined that the vehicle has exited the area based at least in part on a determination that sensor data captured by the one or more sensors is sufficient for operation of the apparatus in the sensor-based navigation mode.
In an example embodiment, it is determined that at least one of (a) the vehicle is located within the area or (b) the vehicle has exited the area based at least in part on a position estimate for the vehicle.
In an example embodiment, the map fragment is configured to cause at least one of (a) the vehicle apparatus to operate in the map-based navigation mode when the vehicle apparatus is located within the area or (b) switch to operating in the sensor-based navigation mode responsive to determining that the vehicle apparatus has exited the area.
According to another aspect, an apparatus (such as a vehicle apparatus) configured for autonomously operating a vehicle and/or at least one system of the vehicle is provided. In an example embodiment, the apparatus comprises at least one processor and at least one memory. The at least one processor is in communication with one or more sensors coupled to a vehicle. The at least one memory stores computer program code and the at least one memory and the computer program code are configured to, with the processor, cause the apparatus to at least autonomously operate at least one system of the vehicle as the vehicle navigates along a route through at least a portion of a traversable network in a sensor-based navigation mode; obtain a map fragment corresponding to an area along the route; and responsive to determining that the vehicle is located within the area, autonomously operate the at least one system of the vehicle as the vehicle navigates a portion of the route within the area in a map-based navigation mode using map data of the map fragment. The at least one memory and the computer program code are further configured to, with the processor, cause the apparatus to at least responsive to determining that the vehicle has exited the area, autonomously operate the at least one system of the vehicle as the vehicle continues to navigate along the route in the sensor-based navigation mode.
In an example embodiment, the map fragment is a portion of a high definition map that corresponds to the area along the route.
In an example embodiment, the area along the route corresponds to a portion of the traversable network where it is expected that the one or more sensors will not be able to capture sensor data sufficient for autonomous operation of the at least one system of the vehicle by the apparatus in the sensor-based navigation mode.
In an example embodiment, it is expected that the one or more sensors will not be able to capture sensor data sufficient for autonomous operation of the at least one system of the vehicle by the apparatus in the sensor-based navigation mode within the area based on at least one of (a) a topology of the traversable network in the area, (b) one or more static features located in the area, (c) current or expected weather conditions in the area, or (d) current or expected driving conditions in the area.
In an example embodiment, two or more map fragments are stored by the at least one memory, each of the two or more map fragments corresponding to a respective area, and the two or more map fragments are not connected to one another via traversable network topology map data of the two or more map fragments.
In an example embodiment, at least one map fragment of the two or more map fragments is received in association with the route and responsive to the apparatus providing a route request, wherein the route is determined in response to the route request.
In an example embodiment, at least one map fragment of the two or more map fragments is received based at least in part on the vehicle approaching the respective area.
In an example embodiment, it is determined that the vehicle is located within the area based at least in part on a determination that sensor data captured by the one or more sensors is not sufficient for operation of the apparatus in the sensor-based navigation mode.
In an example embodiment, it is determined that the vehicle has exited the area based at least in part on a determination that sensor data captured by the one or more sensors is sufficient for operation of the apparatus in the sensor-based navigation mode.
In an example embodiment, it is determined that at least one of (a) the vehicle is located within the area or (b) the vehicle has exited the area based at least in part on a position estimate for the vehicle.
In an example embodiment, the map fragment is configured to cause at least one of (a) the vehicle apparatus to operate in the map-based navigation mode when the vehicle apparatus is located within the area or (b) switch to operating in the sensor-based navigation mode responsive to determining that the vehicle apparatus has exited the area.
According to another aspect, a computer program product is provided. In an example embodiment, the computer program product comprises at least one non-transitory computer-readable storage medium having computer-readable program code portions stored therein. The computer-readable program code portions comprise executable portions configured, when executed by a processor of an apparatus, to cause the apparatus to autonomously operate at least one system of a vehicle as the vehicle navigates along a route through at least a portion of a traversable network in a sensor-based navigation mode, wherein one or more sensors are coupled to the vehicle and are in communication with the apparatus; obtain a map fragment corresponding to an area along the route; and responsive to determining that the vehicle is located within the area, autonomously operate the at least one system of the vehicle as the vehicle navigates a portion of the route within the area in a map-based navigation mode using map data of the map fragment. The computer-readable program code portions comprise executable portions further configured, when executed by a processor of an apparatus, to cause the apparatus to responsive to determining that the vehicle has exited the area, autonomously operate the at least one system of the vehicle as the vehicle continues to navigate along the route in the sensor-based navigation mode.
In an example embodiment, the map fragment is a portion of a high definition map that corresponds to the area along the route.
In an example embodiment, the area along the route corresponds to a portion of the traversable network where it is expected that the one or more sensors will not be able to capture sensor data sufficient for autonomous operation of the at least one system of the vehicle by the apparatus in the sensor-based navigation mode.
In an example embodiment, it is expected that the one or more sensors will not be able to capture sensor data sufficient for autonomous operation of the at least one system of the vehicle by the apparatus in the sensor-based navigation mode within the area based on at least one of (a) a topology of the traversable network in the area, (b) one or more static features located in the area, (c) current or expected weather conditions in the area, or (d) current or expected driving conditions in the area.
In an example embodiment, two or more map fragments are stored by the at least one memory, each of the two or more map fragments corresponding to a respective area, and the two or more map fragments are not connected to one another via traversable network topology map data of the two or more map fragments.
In an example embodiment, at least one map fragment of the two or more map fragments is received in association with the route and responsive to the apparatus providing a route request, wherein the route is determined in response to the route request.
In an example embodiment, at least one map fragment of the two or more map fragments is received based at least in part on the vehicle approaching the respective area.
In an example embodiment, it is determined that the vehicle is located within the area based at least in part on a determination that sensor data captured by the one or more sensors is not sufficient for operation of the apparatus in the sensor-based navigation mode.
In an example embodiment, it is determined that the vehicle has exited the area based at least in part on a determination that sensor data captured by the one or more sensors is sufficient for operation of the apparatus in the sensor-based navigation mode.
In an example embodiment, it is determined that at least one of (a) the vehicle is located within the area or (b) the vehicle has exited the area based at least in part on a position estimate for the vehicle.
In an example embodiment, the map fragment is configured to cause at least one of (a) the vehicle apparatus to operate in the map-based navigation mode when the vehicle apparatus is located within the area or (b) switch to operating in the sensor-based navigation mode responsive to determining that the vehicle apparatus has exited the area.
According to still another aspect of the present disclosure, an apparatus is provided. In an example embodiment, the apparatus comprises means for autonomously operating at least one system of a vehicle as the vehicle navigates along a route through at least a portion of a traversable network in a sensor-based navigation mode. The apparatus comprises means for obtaining a map fragment corresponding to an area along the route. The apparatus comprises means for responsive to determining that the vehicle is located within the area, autonomously operating the at least one system of the vehicle as the vehicle navigates a portion of the route within the area in a map-based navigation mode using map data of the map fragment. The apparatus comprises means for, responsive to determining that the vehicle has exited the area, autonomously operating the at least one system of the vehicle as the vehicle continues to navigate along the route in the sensor-based navigation mode.
According to yet another aspect, a method for causing a vehicle apparatus to obtain a map fragment is provided. In an example embodiment, the method comprises, based on (a) a route a vehicle apparatus coupled to a vehicle is expected to traverse or (b) a location of the vehicle apparatus, determining, by one or more processors, one or more areas (a) along the route or (b) near the location of the vehicle apparatus, where it is expected that one or more sensors coupled to the vehicle will not be able to capture sensor data sufficient for autonomous operation of the vehicle in the sensor-based navigation mode; and responsive to determining that a trigger corresponding to a respective area of the one or more areas has been identified, causing, by the one or more processors, the vehicle apparatus to obtain a map fragment corresponding to the respective area, wherein the map fragment is configured to be used by the vehicle apparatus to autonomously operate the vehicle to traverse the respective area using a map-based navigation mode.
In an example embodiment, the map fragment is a portion of a high definition map that corresponds to the respective area.
In an example, it is expected that the one or more sensors will not be able to capture sensor data sufficient for operation of the vehicle apparatus in the sensor-based navigation mode within the area based on at least one of (a) a topology of the traversable network in the area, (b) one or more static features located in the area, (c) current or expected weather conditions in the area, or (d) current or expected driving conditions in the area.
In an example embodiment, the vehicle apparatus is caused to obtain two or more map fragments, each of the two or more map fragments corresponding to a respective area, and the two or more map fragments are not connected to one another via traversable network topology map data of the two or more map fragments.
In an example embodiment, the one or more areas are determined responsive to a route request, wherein the route is determined in response to the route request.
In an example embodiment, the determining that a trigger corresponding to a respective area of the one or more areas has been identified is based at least in part on at least one of a location of the vehicle apparatus or a predicted location of the vehicle apparatus.
In an example embodiment, at least one area of the one or more areas is identified as an area where it is expected that the one or more sensors will not be able to capture sensor data sufficient for operation of the apparatus in the sensor-based navigation mode based at least in part on sensor data captured by one or more sensors within the at least one area.
In an example embodiment, the map fragment is configured to cause at least one of (a) the vehicle apparatus to operate in the map-based navigation mode when the vehicle apparatus is located within the area or (b) switch to operating in the sensor-based navigation mode responsive to determining that the vehicle apparatus has exited the area.
According to another aspect, an apparatus (such as a vehicle apparatus or a network apparatus) configured to cause a vehicle apparatus to obtain a map fragment is provided. In an example embodiment, the apparatus comprises at least one processor and at least one memory. The at least one memory stores computer program code and the at least one memory and the computer program code are configured to, with the processor, cause the apparatus to at least, based on (a) a route a vehicle apparatus coupled to a vehicle is expected to traverse or (b) a location of the vehicle apparatus, determine one or more areas (a) along the route or (b) near the location of the vehicle apparatus, where it is expected that one or more sensors coupled to the vehicle will not be able to capture sensor data sufficient for autonomous operation of the vehicle in the sensor-based navigation mode; and responsive to determining that a trigger corresponding to a respective area of the one or more areas has been identified, cause the vehicle apparatus to obtain a map fragment corresponding to the respective area, wherein the map fragment is configured to be used by the vehicle apparatus to autonomously operate the vehicle to traverse the respective area using a map-based navigation mode.
In an example embodiment, the map fragment is a portion of a high definition map that corresponds to the respective area.
In an example, it is expected that the one or more sensors will not be able to capture sensor data sufficient for operation of the vehicle apparatus in the sensor-based navigation mode within the area based on at least one of (a) a topology of the traversable network in the area, (b) one or more static features located in the area, (c) current or expected weather conditions in the area, or (d) current or expected driving conditions in the area.
In an example embodiment, the vehicle apparatus is caused to obtain two or more map fragments, each of the two or more map fragments corresponding to a respective area, and the two or more map fragments are not connected to one another via traversable network topology map data of the two or more map fragments.
In an example embodiment, the one or more areas are determined responsive to a route request, wherein the route is determined in response to the route request.
In an example embodiment, the determining that a trigger corresponding to a respective area of the one or more areas has been identified is based at least in part on at least one of a location of the vehicle apparatus or a predicted location of the vehicle apparatus.
In an example embodiment, at least one area of the one or more areas is identified as an area where it is expected that the one or more sensors will not be able to capture sensor data sufficient for operation of the apparatus in the sensor-based navigation mode based at least in part on sensor data captured by one or more sensors within the at least one area.
In an example embodiment, the map fragment is configured to cause at least one of (a) the vehicle apparatus to operate in the map-based navigation mode when the vehicle apparatus is located within the area or (b) switch to operating in the sensor-based navigation mode responsive to determining that the vehicle apparatus has exited the area.
According to another aspect, a computer program product is provided. In an example embodiment, the computer program product comprises at least one non-transitory computer-readable storage medium having computer-readable program code portions stored therein. The computer-readable program code portions comprise executable portions configured, when executed by a processor of an apparatus, to cause the apparatus to, based on (a) a route a vehicle apparatus coupled to a vehicle is expected to traverse or (b) a location of the vehicle apparatus, determine one or more areas (a) along the route or (b) near the location of the vehicle apparatus, where it is expected that one or more sensors coupled to the vehicle will not be able to capture sensor data sufficient for autonomous operation of the vehicle in the sensor-based navigation mode; and responsive to determining that a trigger corresponding to a respective area of the one or more areas has been identified, cause the vehicle apparatus to obtain a map fragment corresponding to the respective area, wherein the map fragment is configured to be used by the vehicle apparatus to autonomously operate the vehicle to traverse the respective area using a map-based navigation mode.
In an example embodiment, the map fragment is a portion of a high definition map that corresponds to the respective area.
In an example, it is expected that the one or more sensors will not be able to capture sensor data sufficient for operation of the vehicle apparatus in the sensor-based navigation mode within the area based on at least one of (a) a topology of the traversable network in the area, (b) one or more static features located in the area, (c) current or expected weather conditions in the area, or (d) current or expected driving conditions in the area.
In an example embodiment, the vehicle apparatus is caused to obtain two or more map fragments, each of the two or more map fragments corresponding to a respective area, and the two or more map fragments are not connected to one another via traversable network topology map data of the two or more map fragments.
In an example embodiment, the one or more areas are determined responsive to a route request, wherein the route is determined in response to the route request.
In an example embodiment, the determining that a trigger corresponding to a respective area of the one or more areas has been identified is based at least in part on at least one of a location of the vehicle apparatus or a predicted location of the vehicle apparatus.
In an example embodiment, at least one area of the one or more areas is identified as an area where it is expected that the one or more sensors will not be able to capture sensor data sufficient for operation of the apparatus in the sensor-based navigation mode based at least in part on sensor data captured by one or more sensors within the at least one area.
In an example embodiment, the map fragment is configured to cause at least one of (a) the vehicle apparatus to operate in the map-based navigation mode when the vehicle apparatus is located within the area or (b) switch to operating in the sensor-based navigation mode responsive to determining that the vehicle apparatus has exited the area.
According to still another aspect, an apparatus is provided. The apparatus comprises means for, based on (a) a route a vehicle apparatus coupled to a vehicle is expected to traverse or (b) a location of the vehicle apparatus, determining one or more areas (a) along the route or (b) near the location of the vehicle apparatus, where it is expected that one or more sensors coupled to the vehicle will not be able to capture sensor data sufficient for autonomous operation of the vehicle in the sensor-based navigation mode. The apparatus comprises means for, responsive to determining that a trigger corresponding to a respective area of the one or more areas has been identified, causing the vehicle apparatus to obtain a map fragment corresponding to the respective area, wherein the map fragment is configured to be used by the vehicle apparatus to autonomously operate the vehicle to traverse the respective area using a map-based navigation mode.
Having thus described certain example embodiments in general terms, reference will hereinafter be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
Some embodiments will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all, embodiments of the invention are shown. Indeed, various embodiments of the invention may 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. The term “or” (also denoted “/”) is used herein in both the alternative and conjunctive sense, unless otherwise indicated. The terms “illustrative” and “exemplary” are used to be examples with no indication of quality level. Like reference numerals refer to like elements throughout. As used herein, the terms “data,” “content,” “information,” and similar terms may be used interchangeably to refer to data capable of being transmitted, received and/or stored in accordance with embodiments of the present invention. As used herein, the terms “substantially” and “approximately” refer to values that are within manufacturing and/or engineering guidelines and/or limits. Thus, use of any such terms should not be taken to limit the spirit and scope of embodiments of the present invention.
Additionally, as used herein, the term ‘circuitry’ refers to (a) hardware-only circuit implementations (e.g., implementations in analog circuitry and/or digital circuitry); (b) combinations of circuits and computer program product(s) comprising software and/or firmware instructions stored on one or more computer readable memories that work together to cause an apparatus to perform one or more functions described herein; and (c) circuits, such as, for example, a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation even if the software or firmware is not physically present. This definition of ‘circuitry’ applies to all uses of this term herein, including in any claims. As a further example, as used herein, the term ‘circuitry’ also includes an implementation comprising one or more processors and/or portion(s) thereof and accompanying software and/or firmware.
Methods, apparatus, and computer program products are provided in accordance with various embodiments in order to enable autonomous operation of a vehicle. In various embodiments, a vehicle apparatus is configured to operate a vehicle in a sensor-based navigation mode when the one or more sensors coupled to the vehicle are able to capture sensor data that is sufficient for operating in the sensor-based navigation mode, and to obtain and use a high definition map fragment (referred to as a map fragment herein) to operate the vehicle in a map-based navigation mode in areas where the one or more sensors coupled to the vehicle are not able to capture sensor data that is sufficient for operating in the sensor-based navigation mode. In various embodiments, the map fragments obtained and/or used by the vehicle apparatus are not connected (e.g., via the topology of the portions of the traversable network represented by the map fragments) and/or non-contiguous. For example, the map fragments obtained and/or used by the vehicle apparatus are not connected to one another by traversable network topology map data (e.g., map data corresponding to TMEs of the traversable network) of the two or more map fragments. In other words, for a first map fragment and a second map fragment of the two or more map fragments, a vehicle must traverse a portion of a geographical region that is an area where it is expected that the sensors coupled to the vehicle will be able to capture sensor data that is sufficient for autonomous operation of the vehicle in a sensor-based navigation mode between a first area corresponding to the first map fragment and a second area corresponding to the second map fragment. For example, it is not possible to pass directly from the first area corresponding to the first map fragment into the second area corresponding to the second map fragment via the traversable network.
As used herein, operating in a sensor-based navigation mode does not require the use of map data of a high definition map. For example, in various embodiments, the vehicle apparatus does not have map data of a high definition map in portions of a geographical region where the vehicle apparatus is operating in the sensor-based navigation mode. Thus, when operating in the sensor-based navigation mode, the vehicle apparatus operates the vehicle and/or one or more systems thereof based on sensor data captured by the one or more sensors coupled to the vehicle and in communication with the vehicle apparatus and without the use of map data of a high definition map. As used herein, operating in a map-based navigation mode includes operating the vehicle and/or one or more systems thereof based at least in part on map data of a high definition map. For example, the vehicle apparatus may obtain a map fragment comprising map data of a high definition map for a respective area and, while in the respective area, the vehicle operates the vehicle and/or one or more systems thereof based on the map data of the map fragment (e.g., in a map-based navigation mode).
Various embodiments, provide methods, apparatus, and computer program products configured to identify areas where the sensors coupled to a vehicle are not able to capture sensor data that is sufficient for operating in the sensor-based navigation mode. Various embodiments provide methods, apparatus, and computer program products configured to cause a vehicle apparatus to obtain one or more map fragments. In various embodiments, the vehicle apparatus is caused to obtain one or more map fragments such that it is expected that the vehicle apparatus will be located within respective areas corresponding to the one or more map fragments during respective time periods when the respect map fragment is expected to be valid, accurate, and/or up-to-date.
High definition maps used by vehicle apparatuses to operate a vehicle in an autonomous manner are very detailed and therefore require a significant amount of memory for the vehicle apparatus to store and/or a significant amount of bandwidth to provide/transmit to the vehicle apparatus. Additionally, many of the details in the high definition map are time dependent such that a portion of a high definition map may only be valid, accurate, and/or up-to-date for a period of time on the order of a minute to fifteen minutes, for example. Due to the large amount of bandwidth required for providing a vehicle apparatus configured to operate a vehicle in an autonomous manner with a high definition map, providing high definition maps to vehicle apparatuses is a technical problem in the field of autonomous driving and/or vehicle operation.
Various embodiments provide technical solutions to these technical problems. In particular, areas are identified where it is expected that sensor data captured by one or more sensors coupled to a vehicle will not be sufficient for corresponding vehicle apparatus to operate the vehicle in an autonomous manner. Respective map fragments of the high definition map that correspond to respective areas where it is expected that sensor data captured by one or more sensors coupled to a vehicle will not be sufficient for corresponding vehicle apparatus to operate the vehicle in an autonomous manner are generated and provided to a vehicle apparatus. As a result, the vehicle apparatus operates in a sensor-based navigation mode wherever the sensor data captured by one or more sensors coupled to the respective vehicle and in communication with the vehicle apparatus enables automated navigation of the vehicle. The vehicle apparatus obtains map fragments (e.g., not connected and/or non-contiguous portions of a high definition map stored and/or maintained by a server and/or Cloud-based service) corresponding to isolated areas where the sensor data captured by the one or more sensors is not sufficient to enable operation in the sensor-based navigation mode and/or where it is expected that the sensor data captured by the one or more sensors may not be sufficient to enable operation in the sensor-based navigation mode. Thus, for the isolated areas where the sensor data captured by the one or more sensors is not sufficient to enable operation in the sensor-based navigation mode, the map data of the respective map fragment is used while the vehicle apparatus operates in a map-based navigation mode. Thus, the amount of data transmitted to the vehicle apparatus is minimized while still enabling automated operation of the vehicle.
In some embodiments, a vehicle apparatus 20 may be onboard a personal vehicle, commercial vehicle, public transportation vehicle, fleet vehicle, and/or other vehicle. In various embodiments, the vehicle apparatus 20 may be an in-vehicle navigation device, smartphone, tablet, personal digital assistant (PDA), personal computer, desktop computer, laptop, and/or other mobile computing device. In an example embodiment, a vehicle apparatus 20 is onboard and/or coupled to a vehicle 5 and is used to perform one or more navigation functions corresponding to the vehicle 5 traversing at least a portion of a road network. In an example embodiment, the network apparatus 10 is a server, group of servers, distributed computing system, part of a Cloud-based service and/or system, and/or other computing system. In an example embodiment, the network apparatus 10 is not located onboard a vehicle. For example, the network apparatus 10 may be in communication with one or more vehicle apparatuses 20 and/or the like via one or more wired or wireless networks 50.
In an example embodiment, a network apparatus 10 may comprise components similar to those shown in the example network apparatus 10 diagrammed in
In an example embodiment, a vehicle apparatus 20 is an in-vehicle navigation system, vehicle control system, and/or other mobile computing entity configured to control at least one system of a vehicle 5. For example, in various embodiments, a vehicle apparatus 20 is onboard and/or coupled to a vehicle 5. In various embodiments, the vehicle 5 is capable of automated navigation (e.g., the vehicle 5 is a self-driving vehicle) and the vehicle apparatus 20 is configured to control at least one system of the vehicle 5 while the vehicle 5 is navigating and/or operating autonomously. For example, the vehicle apparatus 20 autonomously navigates and/or operates the vehicle 5, in an example embodiment.
In an example embodiment, the vehicle apparatus 20 is configured to determine a current location of the vehicle apparatus and/or receive user input indicating an origin of a route; receive user input indicating a destination of a route and/or predict a destination; generate and provide a route and/or map fragment request; receive a route and/or one or more map fragments; cause the vehicle 5 to be operated in a sensor-based navigation mode or a map-based navigation mode based on a location of the vehicle apparatus 20 and/or vehicle 5, the sufficiency of sensor data captured by one or more sensors coupled to the vehicle 5 for performing sensor-based navigation; and/or the like.
In an example embodiment, as shown in
Each of the components of the system may be in electronic communication with, for example, one another over the same or different wireless or wired networks 50 including, for example, a wired or wireless Personal Area Network (PAN), Local Area Network (LAN), Metropolitan Area Network (MAN), Wide Area Network (WAN), cellular network, and/or the like. In some embodiments, a network 50 may comprise the automotive cloud, digital transportation infrastructure (DTI), radio data system (RDS)/high definition (HD) radio or other digital radio system, and/or the like. For example, a vehicle apparatus 20 may be in communication with a network apparatus 10 via the network 50. For example, a vehicle apparatus 20 may communicate with the network apparatus 10 via a network, such as the Cloud. For example, the Cloud may be a computer network that provides shared computer processing resources and data to computers and other devices connected thereto. For example, the vehicle apparatus 20 may be configured to provide one or more route requests via the network 50. For example, the network apparatus 10 may configured to receive one or more route requests and provide corresponding route responses and/or map fragments via the network 50. For example, a vehicle apparatus 20 may be configured to receive a route response and/or one or more map fragments via the network 50.
Certain example embodiments of the network apparatus 10 and/or vehicle apparatus 20 are described in more detail below with respect to
Methods, apparatus, and computer program products are provided in accordance with various embodiments in order to enable autonomous operation of a vehicle. In various embodiments, a vehicle apparatus is configured to operate a vehicle in a sensor-based navigation mode when the one or more sensors coupled to the vehicle are able to capture sensor data that is sufficient for operating in the sensor-based navigation mode, and to obtain and use a high definition map fragment (referred to as a map fragment herein) to operate the vehicle in a map-based navigation mode in areas where the one or more sensors coupled to the vehicle are not able to capture sensor data that is sufficient for operating in the sensor-based navigation mode. In various embodiments, the map fragments obtained and/or used by the vehicle apparatus are not connected (e.g., via the topology of the portions of the traversable network represented by the map fragments) and/or non-contiguous.
Various embodiments, provide methods, apparatus, and computer program products configured to identify areas where the sensors coupled to a vehicle are not able to capture sensor data that is sufficient for operating in the sensor-based navigation mode. Various embodiments provide methods, apparatus, and computer program products configured to cause a vehicle apparatus to obtain one or more map fragments. In various embodiments, the vehicle apparatus is caused to obtain one or more map fragments such that it is expected that the vehicle apparatus will be located within respective areas corresponding to the one or more map fragments during respective time periods when the respect map fragment is expected to be valid, accurate, and/or up-to-date.
For example,
However, in areas 310 (e.g., 310A, 310B) it is expected that the sensors 29 will not be able capture sensor data that is sufficient for the vehicle apparatus 20 to autonomously operate the vehicle 5 (and/or one or more systems thereof) in a sensor-based navigation mode through the portions 305 of the geographical region 300. For example, a hill or a sharp turn may prevent the sensors 29 from being able to capture sensor data that includes sufficient details of the upcoming road way for the vehicle apparatus 20 to autonomously operate the vehicle 5 (and/or one or more systems thereof) in a sensor-based navigation mode through the portions 310 of the geographical region 300. For example, in area 310B, the road way goes around a sharp curve that prevents the collection of sensor data corresponding to at least part of TME 315D until the vehicle 5 has traversed the sharp turn. In another example, static features (e.g., buildings, structures, signs, and/or other physical features that are expected to be at least semi-permanent) may block the sensors ability to capture sensor data providing details regarding the upcoming road way. For example, a large sign located at intersection 320 may block the sensors 29 field of view such that the sensors 29 are not able to capture sensor data corresponding to a portion of TME 315F until after passing the sign. In another example, weather conditions such as heavy snow or fog or sun glare when the sun is located close to the horizon in an area may prevent the sensors 29 from being able to capture sensor data that includes sufficient details of the road way and/or environment around the vehicle 5 for the vehicle apparatus 20 to autonomously operate the vehicle 5 (and/or one or more systems thereof) in a sensor-based navigation mode through the portions 310 of the geographical region 300. In another example, driving conditions such as construction events, traffic events that block the view of various sensors, pop-up sidewalk shops, and/or other temporary situations that are not directly related to the weather may prevent the sensors 29 from being able to capture sensor data that includes sufficient details of the road way and/or environment around the vehicle 5 for the vehicle apparatus 20 to autonomously operate the vehicle 5 (and/or one or more systems thereof) in a sensor-based navigation mode through the portions 310 of the geographical region 300.
In an example embodiment, as the vehicle 5 traverses the route 330, the vehicle apparatus 20 obtains (e.g., requests and receives and/or is provided with (e.g., via a push method and/or the like)) map fragments corresponding to the respective areas 310. In the illustrated embodiments, the vehicle apparatus 20 obtains a map fragment such that it is expected that the map data of the map fragment will still be valid, accurate, and/or up-to-date while the vehicle apparatus 20 is using the map data of the map fragment to traverse the respective area. For example, when it is determined that the vehicle 5 has reached point 335A, it may be determined (by the vehicle apparatus 20 or the network apparatus 10) that a trigger has been identified that causes the vehicle apparatus 20 to obtain a map fragment corresponding to the area 310A. For example, the vehicle apparatus 20 may request the map fragment corresponding to area 310A responsive to determining that the trigger has been identified and then receive the map fragment in response to the request. For example, the network apparatus 10 may provide (e.g., transmit) the map fragment responsive to determining that the trigger has been identified such that the vehicle apparatus 20 receives the map fragment. Similarly, when it is determined that the vehicle 5 has reached point 335B along route 330, it may be determined (by the vehicle apparatus 20 or the network apparatus 10) that a trigger has been identified and, responsive thereto, the vehicle apparatus 20 obtains a map fragment corresponding to the area 310B.
In an example embodiment, the vehicle apparatus 20 switches from autonomously operating the vehicle 5 (and/or one or more systems thereof) in the sensor-based navigation mode to the map-based navigation mode responsive to determining that the vehicle apparatus 20 is located in an area 310 corresponding to a map fragment that is present (and still valid as indicated by time to live metadata stored in association with the map fragment) in the memory 24.
In an example embodiment, the vehicle apparatus 20 switches from autonomously operating the vehicle 5 (and/or one or more systems thereof) in the sensor-based navigation mode to the map-based navigation mode responsive to determining that the sensor data captured by the one or more sensors 29 is not sufficient for operating in the sensor-based navigation mode and determining that the vehicle apparatus 20 is located in an area 310 corresponding to a map fragment that is present (and still valid as indicated by time to live metadata stored in association with the map fragment) in the memory 24.
In an example embodiment, when the vehicle apparatus 20 determines that the sensor data captured by the one or more sensors 29 is not sufficient for operating in the sensor-based navigation mode but that a (valid) map fragment is not present in the memory 24, the vehicle apparatus 20 may request a map fragment from the network apparatus 10, provide an indication to the network apparatus 10 that the one or more sensors 29 are not able to capture sensor data that is sufficient for operation in the sensor-based navigation mode at the vehicle apparatus's 20 current location, request that a human operator take over control of at least one system of the vehicle 5, and/or the like. As used herein, a map fragment is considered valid when the time to live metadata stored in association with the map fragment indicates that the map data of the map fragment is still expected to be accurate and/or up-to-date (e.g., the map fragment has not yet expired).
As can be seen in
In various embodiments, the vehicle apparatus 20 is configured to autonomously operate one or more systems of a vehicle 5 in a sensor-based navigation mode, when one or more sensors 29 coupled to the vehicle are able to capture sensor data sufficient to enable sensor-based navigation mode, or a map-based navigation mode, when such is enabled by the availability of a (valid) map fragment corresponding to a respective area.
In an example embodiment, at block 404, the vehicle apparatus 20 obtains a route to be traversed from the location of the vehicle apparatus 20 (or another origin location) to the destination location. In an example embodiment, the vehicle apparatus 20 uses basic map data stored by the vehicle apparatus 20 to determine a route from the location of the vehicle apparatus 20 (or another origin location) to the destination location. In an example embodiment, the vehicle apparatus 20 receives a route from the location of the vehicle apparatus 20 (or another origin location) to the destination location that was generated and/or determined by the network device 10 and provided (e.g., transmitted) by the network device 10 such that the vehicle apparatus 20 receives the route. In various embodiments, the network device 10 may provide the route via an application programming interface (API) call, API response, using a push method, and/or the like. For example, the vehicle apparatus 20 comprises means, such as processor 22, memory 24, communications 26, and/or the like, for obtaining a route.
At block 406, the vehicle apparatus 20 obtains one or more map fragments corresponding to respective areas along the route where it is expected that the sensors 29 coupled to the vehicle 5 while not be able to capture sensor data that is sufficient (e.g., of sufficient quality and/or that includes sufficient detail) to enable vehicle apparatus 20 to autonomously operate the vehicle 5 (and/or one or more systems thereof) in a sensor-based navigation mode in the respective areas. For example, the vehicle apparatus 20 comprises means, such as processor 22, memory 24, communications interface 26, and/or the like, for obtaining map fragments corresponding to respective areas along the route. In various embodiments, the received map fragments are stored in memory 24 and/or held available for use by the processor 22.
In an example embodiment, the vehicle apparatus 20 receives one or more map fragments in association with the route. For example, one or more map fragments may be provided for receipt by the vehicle apparatus 20 in a same communication as the route. In an example embodiment, the vehicle apparatus 20 receives one or more map fragments after the route is obtained and before the vehicle 5 starts to traverse the route. For example, the vehicle apparatus 20 may be parked at a house or building where the vehicle apparatus 20 can access a Wi-Fi network and may receive one or more map fragments over the Wi-Fi network. In an example embodiment, the vehicle apparatus 20 receives one or more map fragments while the vehicle apparatus 20 is traversing the route. For example, as described with respect to
Continuing with
At block 410, the vehicle apparatus 20 determines whether it is located within an area for which the sensors 29 are not able to or are expected to not be able to capture sensor data sufficient for enabling operation of the vehicle apparatus 20 in the sensor-based navigation mode. For example, the vehicle apparatus 20 comprises means, such as processor 22, memory 24, sensors 29, and/or the like for determining whether the vehicle apparatus 20 is located within an area for which the sensors 29 are not able to capture sensor data sufficient for enabling operation of the vehicle apparatus 20 in the sensor-based navigation mode. In an example embodiment, the vehicle apparatus 20 determines whether the vehicle apparatus 20 is located within a respective corresponding to a map fragment stored in memory 24. In an example embodiment, the vehicle apparatus 20 determines whether the sensor data being captured by the sensors 29 coupled to the vehicle 5 is sufficient (e.g., of sufficient quality and/or including sufficient details) for enabling operation of the vehicle apparatus 20 in the sensor-based navigation mode. In an example embodiment, a map fragment comprises computer-executable instructions that trigger the switching of the operation of the vehicle apparatus 20 from the sensor-based navigation mode to the map-based navigation mode when the vehicle apparatus 20 enters the area corresponding to the map fragment.
When, at block 410, it is determined that the vehicle apparatus 20 is not located within an area for which the sensors are not able to or are expected to not be able to capture sensor data sufficient for enabling operation of the vehicle apparatus 20 in the sensor-based navigation mode the process returns to block 406 and/or 408. For example, when it is determined that the sensor data captured by the sensors 29 is sufficient for enabling autonomous operation of the vehicle 5 (and/or one or more systems thereof), by the vehicle apparatus 20 in the sensor-based navigation mode, the vehicle apparatus 20 continues to operate in the sensor-based navigation mode, in an example embodiment. In another example, when it is determined that a map fragment corresponding to the current location of the vehicle 5 is not present (e.g., in memory 24) and the sensor data captured by the sensors 29 is sufficient for enabling autonomous operation of the vehicle 5 (and/or one or more systems thereof), by the vehicle apparatus 20 in the sensor-based navigation mode, the vehicle apparatus 20 continues to operate in the sensor-based navigation mode, in an example embodiment. As should be understood, block 406, 408, and/or 410 may be performed at least partially in parallel, at least partially overlap in time, and/or at least partially simultaneously.
When, at block 410, it is determined that the vehicle apparatus 20 is located within an area for which the sensors are not able to or are expected to not be able to capture sensor data sufficient for enabling operation of the vehicle apparatus 20 in the sensor-based navigation mode (and a corresponding (valid) map fragment is available in memory 24) the process continues to block 412. For example, when it is determined that a map fragment corresponding to the current location of the vehicle 5 is present (e.g., in memory 24) the vehicle apparatus 20 autonomously operates the vehicle 5 (or one or more systems thereof) in the map-based navigation mode using the map fragment, in an example embodiment. In another example, when it is determined that a map fragment corresponding to the current location of the vehicle 5 is present (e.g., in memory 24) and the sensor data captured by the sensors 29 is not sufficient for enabling autonomous operation of the vehicle 5 (and/or one or more systems thereof), by the vehicle apparatus 20 in the sensor-based navigation mode, the vehicle apparatus 20 autonomously operates in the map-based navigation mode using the map fragment, in an example embodiment.
In various embodiments, when it is determined that a map fragment corresponding to the current location of the vehicle 5 is not present (e.g., in memory 24) and the sensor data captured by the sensors 29 is not sufficient for enabling autonomous operation of the vehicle 5 (and/or one or more systems thereof), by the vehicle apparatus 20 in the sensor-based navigation mode, the vehicle apparatus 20 may request and receive a map fragment corresponding to the area where the vehicle 5 is located and/or may request human operator intervention in the control of the vehicle 5.
At block 412, the vehicle apparatus 20 uses the map data of the map fragment to autonomously navigate through the area corresponding to the map fragment. For example, the vehicle apparatus 20 navigates through the area (e.g., along the route) corresponding to the map fragment in a map-based navigation mode. While operating in the map-based navigation mode, the vehicle apparatus 20 uses map data of the map fragment to provide information about the vehicle's surroundings, the traversable network (e.g., upcoming road way), and/or other information required for autonomous operation of the vehicle 5 and/or one or more systems thereof that is not currently available via the sensor data captured by the sensors 29 coupled to the vehicle 5. In various embodiments, the vehicle apparatus 20 comprises means, such as processor 22, memory 24, sensors 29, and/or the like, for autonomously operating the vehicle 5 and/or one or more systems thereof in a map-based navigation mode.
At block 414, the vehicle apparatus 20 determines whether the vehicle 5 has exited the area corresponding to the map fragment. For example, the vehicle apparatus 20 may determine that sensor data captured by the sensors 29 coupled to the vehicle 5 is now sufficient for operating in the sensor-based navigation mode and, based at least in part thereon, determine that the vehicle 5 has exited the area corresponding to the map fragment. In another example, the vehicle apparatus 20 may determine that the vehicle 5 is located at a location that is not in the area corresponding to the map fragment and, based at least in part thereon, determine that the vehicle 5 has exited the area corresponding to the map fragment. In another example, the vehicle apparatus 20 may determine that the map data of the map fragment does not extend any further along the route and, based at least in part thereon, determine that the vehicle 5 has exited the area corresponding to the map fragment.
When it is determined, at block 414, that the vehicle 5 has exited the area corresponding to the map fragment, the process returns to block 406 and/or block 408 and the vehicle apparatus 20 autonomously operates the vehicle (or at least one system thereof) in a sensor-based navigation mode. When it is determined, at block 414, that the vehicle has not exited the area corresponding to the map fragment, the process returns to block 412 and the vehicle apparatus 20 autonomously operates the vehicle 5 (or at least one system thereof) in the map-based navigation mode using the map data of the map fragment. As should be understood, block 406, 412, and/or 414 may be performed at least partially in parallel, at least partially overlap in time, and/or at least partially simultaneously, in various embodiments.
In various embodiments, a network apparatus 10 may analyze sensor data captured and/or provided by one or more vehicle apparatuses 20, map data of a digital map (e.g., a high definition map, a traversable network topology map, and/or the like), weather data, driving condition data, traffic data, and/or the like to identify scenarios in which the it is expected that sensors coupled to a vehicle will not be able to capture sensor data sufficient for operating the vehicle apparatus 20 in a sensor-based navigation mode. The identified scenarios may then be used to identify areas along a route to be traversed by a vehicle 5 and/or being traversed by a vehicle 5 where it is expected that the sensors 29 coupled to the vehicle 5 will not be able to capture sensor data that is sufficient for operating the vehicle apparatus 20 in the sensor-based navigation mode. Respective map fragments corresponding to the identified areas may then be generated and provided to the vehicle apparatus 20 in a timely manner (e.g., so that a respective map fragment is available in the memory 24 when the vehicle 5 enters the respective area and that the map data of the map fragment is still valid when the vehicle 5 is located within the respective area).
Starting at block 502, the network apparatus 10 obtains sensor data function information generated by one or more vehicle apparatus 20. For example, a vehicle apparatus 20 may generate and provide an instance of sensor data function information responsive to determining that the sensor data captured by the sensors 29 is not sufficient for operating in a sensor-based navigation mode. In an example embodiment, a vehicle apparatus 20 may generate and provide an instance of sensor data function information periodically (e.g., based on a timing trigger). For example, a vehicle apparatus 20 comprises means, such as processor 22, memory 24, communications interface 26, sensors 29, and/or the like, for generating and providing (e.g., transmitting) instances of sensor data function information. A network apparatus 10 comprises means, such as processor 12, memory 14, communications interface 16, and/or the like, for receiving instances of sensor data function information. In an various embodiments, the network apparatus 10 may process the instances of sensor data function information as they are received or may store the instances of sensor data function information to memory 14 for later access and batch processing.
In various embodiments, an instance of sensor data function information may include information used to identify the sensors 29. For example, the instance of sensor function data may include a list of the sensors 29 coupled to the vehicle 5 and possibly respective indications of whether respective sensors 29 are operating properly. For example, the instance of sensor function data may include a sensor suite identifier (e.g., a vehicle make, model, and year; a sensor suite identifier, and/or the like) that may be used to determine which sensors 29 are coupled to the vehicle 5. In various embodiments, the instance of sensor data function information includes a position estimate for the vehicle 5 corresponding to the time when the instance of sensor data function information was generated. In an example embodiment, the instance of sensor data function information may include an indication of whether the sensor data captured by the sensor data captured by the sensors 29 is sufficient for operating in a sensor-based navigation mode (or the instance of sensor data function information may itself be an indication that the sensor data captured by the sensor data captured by the sensors 29 is not sufficient for operating in a sensor-based navigation mode). In an example embodiment, the instance of sensor data function information may include an indication of why the sensor data captured by the sensors is not sufficient for operating in a sensor-based navigation mode (e.g., cannot determine road way details far enough along road way/route, cannot distinguish lane or other road way markings, etc.). In an example embodiment, an instance of sensor data function information includes a timestamp indicating a time when the corresponding sensor data was captured and/or when the instance was generated.
At block 504, the network apparatus 10 obtains and/or accesses map data. For example, the network apparatus 10 may store a digital map in memory 14 and/or be in communication with another computing entity that stores a digital map such that that network apparatus 10 may request and receive map data of the digital map (e.g., via communication interface 16). For example, the network apparatus 10 comprises means, such as processor 12, memory 14, communications interface 16, and/or the like, for obtaining and/or accessing map data. In various embodiments, the map data comprises traversable network topology information describing the geometry of the traversable network, elevations and/or elevation changes along the traversable network, and/or the like. In various embodiments, the map data comprises static feature information describing static features known to exist along the traversable network. For example, the static features may include buildings, lamp posts, signs, statues, parking garages, and/or other structures located along and/or visible from the road way that are expected to be at least semi-permanent and/or expected to not change substantially over an extended period of time (e.g., a month, a year, several years, and/or the like).
At block 506, the network apparatus 10 obtains and/or accesses weather data, driving condition data, and/or traffic data. For example, the network apparatus 10 comprises means, such as processor 12, memory 14, communications interface 16, and/or the like for obtaining and/or accessing weather data, driving condition data, and/or traffic data corresponding to the instances of sensor data function information.
In various embodiments where the network apparatus 10 is analyzing the instances of sensor data function information as they are received, the network apparatus 10 access real-time or near real-time weather data, driving condition data, and/or traffic data. For example, the network apparatus 10 may be configured to determine real-time or near real-time weather data, driving condition data, and/or traffic data or be in communication with another computing entity configured to determine real-time or near real-time weather data, driving condition data, and/or traffic data such that the network apparatus 10 can receive the real-time or near real-time data therefrom. In an example embodiment, the weather data, driving conditions data, and/or traffic data is obtained, received, and/or accessed as part of the digital map (e.g., the digital map may be a high definition digital map).
In various embodiments where the network apparatus 10 batch processes the instances of sensor data function information (e.g., such that the instances are not analyzed in real-time or near real-time) the network apparatus 10 accesses respective historical weather data, driving condition data, and/or traffic data based on the respective locations and/or timestamps of the instances of sensor data function information. For example, the network apparatus 10 may store one or more databases of historical weather data, driving condition data, and/or traffic data and/or be in communication with another computing entity that stores one or more databases of historical weather data, driving condition data, and/or traffic data such that the network apparatus 10 can receive the historical weather data, driving condition data, and/or traffic data.
At block 508, the network apparatus 10 analyzes the respective map data, weather data, driving condition data, and/or traffic data corresponding to the respective locations and/or times of the respective instances of sensor data function information to identify road topology scenarios, static feature scenarios, weather condition scenarios, and/or driving condition scenarios, and/or combinations thereof that tend to result in sensors 29 of respective sensor suites not being able to capture sensor data that is sufficient for operating in a sensor-based navigation mode. For example, the network apparatus 10 comprises means, such as processor 12, memory 14, and/or the like for analyzing the respective map data, weather data, driving condition data, and/or traffic data corresponding to the respective locations and/or times of the respective instances of sensor data function information to identify road topology scenarios, static feature scenarios, weather dentition scenarios, and/or driving condition scenarios, and/or combinations thereof that tend to result in sensors 29 of respective sensor suites not being able to capture sensor data that is sufficient for operating in a sensor-based navigation mode.
For example, in an example embodiment, the instances of sensor data function information are grouped and/or clustered based on sensor suite and/or substantially similar sensor suites and scenarios that are expected to result in sensors 29 of respective sensor suites not being able to capture sensor data that is sufficient for operating in a sensor-based navigation mode may be identified.
In an example embodiment, the instances of sensor data function information are grouped and/or clustered based on similar weather conditions, driving conditions, and/or traffic conditions and various weather, driving condition, and/or traffic scenarios that are expected to result in sensors 29 of respective sensor suites not being able to capture sensor data that is sufficient for operating in a sensor-based navigation mode may be identified. For example, the respective instances of sensor data function information may be assigned to respective groups based on whether the respective weather data indicates no precipitation and good visibility, no precipitation and poor visibility, light rain, medium rain, heavy rain, light snow, medium, snow, heavy snow, and/or the like. For the instances of sensor data function information assigned to the no precipitation and good visibility group, the instances of sensor data function information may be further analyzed to determine whether road topology, static features, driving conditions, traffic conditions and/or a combination thereof are the cause of the sensors 29 not being able to capture sensor data sufficient for operating in the sensor-based navigation mode.
In an example embodiment, the instances of sensor data function information may be grouped and/or clustered by location for identifying particular areas where the sensors 29 not being able to capture sensor data sufficient for operating in the sensor-based navigation mode may be identified. In an example embodiment, the instances of sensor data function information are grouped and/or clustered by location and orientation/heading/direction of travel location for identifying particular areas and/or particular approaches to particular areas where the sensors 29 not being able to capture sensor data sufficient for operating in the sensor-based navigation mode may be identified.
In an example embodiment, a statistical analysis is used to analyze respective/individual instances of sensor data function information or groups/clusters of instances of sensor data function information to identify scenarios in which it is expected that the sensors 29 will not be able to capture sensor data that is sufficient for operating in the sensor-based navigation mode. In an example embodiment, a machine learning trained model (e.g., a deep neural network, long short term memory (LSTM) recurrent neural network (RNN), classifier, and/or the like) is used to analyze the instances of sensor data function information (collectively, individually, and/or as groups/clusters) to identify scenarios in which it is expected that the sensors 29 will not be able to capture sensor data that is sufficient for operating in the sensor-based navigation mode. For example, in various embodiments, identifying scenarios in which it is expected that the sensors 29 will not be able to capture sensor data that is sufficient for operating in the sensor-based navigation mode, comprises uses machine learning to train a model configured to operate as a map fragment identifying engine. For example, in an example embodiment, a map fragment identifying engine is trained to receive a route and current and/or predicted weather/driving/traffic conditions for the route and to provide as output one or more areas along the route where it is expected that the sensors 29 will not be able to capture sensor data that is sufficient for operating in the sensor-based navigation mode.
For example, the scenarios in which it is expected that the sensors 29 will not be able to capture sensor data that is sufficient for operating in the sensor-based navigation mode may be identified by particular criteria, in an example embodiment. For example, a road topology criteria may indicate that if, according to the corresponding map data, the change in elevation of a TME is greater than a particular elevation change (e.g., elevation drop) it is expected that the sensors 29 will not be able to capture sensor data sufficient for operating in a sensor-based navigation mode as a corresponding vehicle 5 traverses the corresponding hill. In another example, a road topology criteria may indicate that if, according to the corresponding map data, a curve in the TME or a turn to be made at an intersection is greater than a first angle or less than a second angle, it is expected that the sensors 29 will not be able to capture sensor data sufficient for operating in a sensor-based navigation mode as a corresponding vehicle 5 traverses the corresponding curve or turn. Similarly, various combinations of road way topology and static feature dimensions and placement may be determined to result in the sensors 29 will not be able to capture sensor data sufficient for operating in a sensor-based navigation mode in the vicinity of the static feature. For example, criteria may be defined that when the visibility reaches a particular level or when the snow fall rate exceeds a particular rate or when the snow accumulation within a particular preceding time period is at least a particular minimum snow accumulation, it is expected that the sensors 29 will not be able to capture sensor data sufficient for operating in a sensor-based navigation mode in the area affected by the low visibility and/or snow fall. Various other criteria may be determined and/or defined based on the analysis of the map data, weather data, driving condition data, and/or traffic data corresponding to the instances of sensor data function information.
At block 510, the network apparatus 10 generates and stores map fragment identifying information. For example, the network apparatus 10 comprises means, such as processor 12, memory 14, and/or the like, for generating and storing map fragment identifying information. In an example embodiment, the map fragment identifying information includes an indication of one or more sensor suites for which the map fragment identifying information is expected to pertain. In various embodiments, the map fragment identifying information is generated and then stored in memory 14.
In an example embodiment wherein the instances of sensor data function information are processed in real-time or near real-time with respect to the network apparatus 10 receiving the instances of sensor data function information, the map fragment identifying information may define an area (e.g., geographical coordinates defining a bounding box/polygon, an area center point and a radius about the area center point, and/or the like) within which it is expected that sensors 29 are not currently able to capture sensor data that is sufficient for operation in a sensor-based navigation mode. In such an embodiment, the map fragment identifying information may also indicate a period of time for which the map fragment identifying information is expected to be accurate. For example, if the map fragment identifying information was generated based on a road topology criteria and/or static feature criteria, it is expected that the respective area will continue to be an area where the sensors 29 are not able to capture sensor data that is sufficient for operation in a sensor-based navigation mode (as the road topology and/or static feature area unlikely to change in the near future). Thus, the corresponding map fragment identifying information generated based on the road topology and/or static feature criteria may indicate that the period of time for which the map fragment identifying information is expected to be accurate is significantly longer than when map fragment identifying information is generated based on weather criteria. In an example embodiment, when map fragment identifying information is generated based on weather criteria, the indicated time period may be determined based at least in part on a weather forecast.
In an example embodiment, where the instances of sensor data function information are batch processed, the map fragment identifying information comprises determined criteria that may be used to determine whether a particular situation (e.g., a particular section of road way topology, a particular weather situation, etc.) corresponds to an expectation that the sensors 29 will not be able to capture sufficient sensor data for operating in a sensor-based navigation mode. For example, the map fragment identifying information comprises one or more criteria that may be compared to map data and/or real-time or near real-time weather, driving condition, or traffic data to identify areas where it is expected (in real-time or near real-time) that sensors 29 (of one or more particular sensor suites) will not be able to capture sensor data sufficient for operation in a sensor-based navigation mode.
In an example embodiment, the process 500 is split into two processes where a first process in which one or more batches of instances of sensor data function information are analyzed based on map data is performed intermittently to identify areas in which it is expected that the sensors 29 will not be able to capture sensor data that is sufficient for operation in a sensor-based navigation mode based on road topology and/or static features. As these areas are expected to continue to be areas in which it is expected that the sensors 29 will not be able to capture sensor data that is sufficient for operation in a sensor-based navigation mode for an extended period of time (e.g., due to the substantially static nature of the road topology and static features), these areas may be identified not in real-time and be used to provide map fragments to vehicle devices in real time. A second process may analyze instances of sensor data function information in real-time or near real-time based on real-time or near real-time weather data, driving condition data, and/or traffic data to determine areas within which it is expected that the sensors 29 will not be able to capture sensor data that is sufficient for operation in a sensor-based navigation mode based on current and/or expected weather, driving, and/or traffic conditions. This second process may be performed periodically and/or continuously as the areas identified based on weather, driving, and/or traffic conditions may change in time scales of less than an hour (e.g., time scales that may be comparable to and/or less than the time it takes a vehicle 5 to traverse an average route).
In an example embodiment, the map fragment identifying information comprises weights and/or parameter values for a machine learning trained map fragment identifying engine.
C. Example Operation of a Network Apparatus and/or Vehicle Apparatus for a Vehicle Apparatus to Obtain a Map Fragment
In various embodiments, one or more map fragments corresponding to respective areas are obtained by a vehicle apparatus 20. The vehicle apparatus 20 uses the one or more map fragments to autonomously operate a vehicle 5 to traverse respective areas along a route where sensors 29 coupled to the vehicle 5 are expected to not be able to capture sensor data sufficient for the vehicle apparatus 20 operate in a sensor-based navigation mode. For example, based on a route the vehicle apparatus 20 is expected to traverse and/or a location of the vehicle apparatus, one or more areas along the route and/or near the location of the vehicle apparatus where it is expected that the one or more sensors 29 will not be able to capture sensor data sufficient for operation of the vehicle apparatus in the sensor-based navigation mode are determined. Responsive to determining that a trigger corresponding to a respective area of the one or more areas has been identified, the vehicle apparatus obtains a map fragment corresponding to the respective area. The map fragment is configured to be used by the vehicle apparatus to autonomously operate the vehicle to traverse the respective area using a map-based navigation mode.
Starting at block 602, a route to be and/or currently being traversed by a vehicle 5 is obtained. For example, a network apparatus 10 may receive a route request generated and provided (e.g., transmitted) by a vehicle apparatus 20 configured to autonomously operate at least one system of the vehicle 5. In various embodiments, the route request may indicate a current location of the vehicle apparatus 20 or another origin location for the route and a destination location for the route. In various embodiments, the route request may further provide user preferences (e.g., avoiding toll roads, avoiding highways, etc.), an indication of the sensors 29 coupled to the vehicle 5, an indication that the vehicle apparatus 20 is configured to autonomously operate the vehicle 5 and/or one or more systems thereof in a sensor-based navigation mode and/or a map-based navigation mode, and/or the like. The network apparatus 10 may generate a route based on the route request. For example, the network apparatus 10 may store (e.g., in memory 14) and/or have access to (e.g., via communications interface 16) a digital map (e.g., a high definition map) and may use the map data of the digital map and information provided by the route request to generate a route. The network apparatus 10 may the provide (e.g., transmit) a communication encoding the route such that the vehicle apparatus 20 receives the communication and determines the route based thereon.
For example, a network apparatus 20 comprises means, such as processor 22, memory 24, communications interface 26, and/or the like, for obtaining a route to be/being traversed by a corresponding vehicle 5 by generating and providing a route request, receiving a communication encoding the route, and determining the route based on the communication. For example, a network apparatus 10 comprises means, such as processor 12, memory 14, communications interface 16, and/or the like, for obtaining a route to be/being traversed by a vehicle 5 by receiving a route request and generating a route based information provided by the route request and map data of a digital map. In an example embodiment, the vehicle apparatus stores a basic map (e.g., in memory 24; a map that describes the topology of at least a portion of a traversable network but that does not provide sufficient map data for operating a vehicle in a map-based navigation mode) and determines the route (e.g., by executing, with processor 12, route determining instructions stored in memory 14).
At block 604, the network apparatus 10 or the vehicle apparatus 20 determines one or more areas along the route where it is expected that sensors 29 coupled to the vehicle 5 (e.g., the sensors 29 indicated in the route request) will not be able to capture sensor data that is sufficient for the vehicle apparatus 20 to be able to autonomously operate the vehicle 5 and/or one or more systems thereof in a sensor-based navigation mode. For example, the network apparatus 10 and/or the vehicle apparatus 20 comprise means, such as processor 12, 22, memory 14, 24, and/or the like, for determining one or more areas along the route where it is expected that sensors 29 coupled to the vehicle 5 (e.g., the sensors 29 indicated in the route request) will not be able to capture sensor data that is sufficient for the vehicle apparatus 20 to be able to autonomously operate the vehicle 5 and/or one or more systems thereof in a sensor-based navigation mode.
In various embodiments, the one or more areas along the route where it is expected that sensors 29 coupled to the vehicle 5 (e.g., the sensors 29 indicated in the route request) will not be able to capture sensor data that is sufficient for the vehicle apparatus 20 to be able to autonomously operate the vehicle 5 and/or one or more systems thereof in a sensor-based navigation mode are determined based on one or more of map data (e.g., of a digital map such as a high definition map); real-time, near real-time, and/or predicted weather data; real-time, near real-time, and/or predicted driving condition data; real-time, near real-time, and/or predicted traffic data; map fragment identifying information (e.g., stored by memory 14); and/or the like. For example, in an example embodiment, the map fragment identifying information is used to identify one or more areas along the route where it is expected that sensors 29 coupled to the vehicle 5 (e.g., the sensors 29 indicated in the route request) will not be able to capture sensor data that is sufficient for the vehicle apparatus 20 to be able to autonomously operate the vehicle 5 and/or one or more systems thereof in a sensor-based navigation mode. In an example embodiment, the map fragment identifying information is used to analyze at least one of map data (e.g., of a digital map such as a high definition map); real-time, near real-time, and/or predicted weather data; real-time, near real-time, and/or predicted driving condition data; real-time, near real-time, and/or predicted traffic data; map fragment identifying information (e.g., stored by memory 14) to determine one or more areas along the route where it is expected that sensors 29 coupled to the vehicle 5 (e.g., the sensors 29 indicated in the route request) will not be able to capture sensor data that is sufficient for the vehicle apparatus 20 to be able to autonomously operate the vehicle 5 and/or one or more systems thereof in a sensor-based navigation mode.
For example, the weather, driving, and/or traffic conditions expected for a portion of the route while the vehicle 5 is expected to be traversing the portion of the route are compared to and/or analyzed or processed in light of the map fragment identifying information to determine whether the portion of the route is an area where it is expected that sensors 29 coupled to the vehicle 5 (e.g., the sensors 29 indicated in the route request) will not be able to capture sensor data that is sufficient for the vehicle apparatus 20 to be able to autonomously operate the vehicle 5 and/or one or more systems thereof in a sensor-based navigation mode. In an example embodiment, the analyzing or processing the weather, driving, and/or traffic conditions expected for a portion of the route while the vehicle 5 is expected to be traversing the portion of the route comprises comparing one or more values to corresponding thresholds to determine whether respective criteria are satisfied. In an example embodiment, the map fragment identifying information and the current and/or predicted weather, driving, and/or traffic conditions are used by a map fragment identifying engine, which is a machine learning trained model trained and/or configured to determine which portions of a route area areas where it is expected that sensors 29 coupled to the vehicle 5 (e.g., the sensors 29 indicated in the route request) will not be able to capture sensor data that is sufficient for the vehicle apparatus 20 to be able to autonomously operate the vehicle 5 and/or one or more systems thereof in a sensor-based navigation mode, to determine the one or more areas.
In various embodiments, each of the determined one or more areas is associated with a trigger. In an example embodiment, the trigger for a respective area corresponds to the vehicle 5 being within a particular distance of the respective area and/or the vehicle 5 being expected to be located within the respective area within a particular period of time (e.g., based on the distance along the route until the vehicle 5 reaches the respective area and the vehicle's 5 current and/or expected speed while traversing that distance). In various embodiments, the trigger associated with a respective area is determined and/or set based at least in part on the amount of time that map data of the high definition map and corresponding to the respective area is expected to be valid, accurate, and/or up-to-date. For example, the trigger is configured such that the vehicle 5 obtains the map fragment such that when the vehicle 5 traverses the respective area corresponding to the map fragment, the map data of the map fragment is expected to be valid, accurate, and/or up-to-date. In an example embodiment, the trigger for a respective area is determined based at least in part on the expected reception (e.g., the vehicle apparatus's 20 ability to receive communications via communication interface 26) along the route while approaching the area. For example, if reception is known to be poor along a portion of the route immediately preceding the respective area, the trigger for the respective area may correspond to the vehicle 5 being located at position along the route prior to where the reception becomes poor immediately preceding the respective area.
In various embodiments, the network apparatus 10 determines the one or more areas along the route and determines and/or sets the corresponding triggers. The network apparatus 10 may provide (e.g., transmit) information corresponding to a respective trigger of at least one of the one or more areas such that the vehicle apparatus 20 receives the information corresponding to the respective trigger. For example, the information corresponding to the respective trigger may be provided in association with the route or in a separate communication.
At block 606, the network apparatus 10 and/or the vehicle apparatus 20 determine that a trigger corresponding to a respective area has been identified. For example, the network apparatus 10 and/or vehicle apparatus 20 comprises means, such as processor 12, 22, memory 14, 24, communications interface 16, 26, sensors 29, and/or the like, for determining that a trigger corresponding to the respective area has been identified. For example, the network apparatus 10 and/or the vehicle apparatus 20 may monitor the location of the vehicle 5 and determine that the vehicle 5 is located within the particular distance of the respective area and/or the vehicle 5 is expected to be located within the respective area within the particular period of time.
At block 608, responsive to determining that the trigger corresponding to a respective area has been identified, the respective map fragment is obtained by the vehicle apparatus 20. For example, the vehicle apparatus 20 may determine that the trigger corresponding to the respective area has been identified and generate and provide (e.g., transmit) a map fragment request that identifies the respective area. The network apparatus 10 may receive the map fragment request, determine the respective area based on the information provided by the map fragment request, generate the respective map fragment by extracting map data corresponding to the respective area from the high definition map stored by and/or accessible to the network apparatus, and provide (e.g., transmit) the respective map fragment such that the vehicle apparatus 20 receives the respective map fragment. The vehicle apparatus 20 may receive the respective map fragment and hold the map fragment available (e.g., in memory 24) for use while traversing the respective area. In an example embodiment, the map fragment request is provided as an API call and the map fragment is received via an API response.
In another example, the network apparatus 10 determines that the trigger corresponding to a respective area has been identified. For example, the vehicle apparatus 20 may periodically provide information indicating the location, speed, heading, and/or the like of the vehicle 5 such that the network apparatus 10 is enabled to track the location and/or progress of the vehicle 5 along the route. Based thereon, the network apparatus 10 determines that the trigger corresponding to the respective area has been identified and, responsive thereto, generates the respective map fragment by extracting map data corresponding to the respective area from the high definition map stored by and/or accessible to the network apparatus, and provides (e.g., transmit) the respective map fragment such that the vehicle apparatus 20 receives the respective map fragment. The vehicle apparatus 20 may receive the respective map fragment and hold the map fragment available (e.g., in memory 24) for use while traversing the respective area. In an example embodiment, the network apparatus 10 provides the map fragment via a push method, an API call, and/or the like.
In various embodiments, the network apparatus 10 comprises means, such as processor 12, memory 14, communications interface 16, and/or the like, for determining that the trigger corresponding to a respective area has been identified, receiving a map fragment request, generating a map fragment, and/or providing a map fragment. In various embodiments, the vehicle apparatus 20 comprises means, such as processor 22, memory 24, communications interface 26, and/or the like, for determining that the trigger corresponding to a respective area has been identified, generating and providing a map fragment request, and/or receiving a map fragment.
Autonomous operation of a vehicle requires that the vehicle apparatus autonomously operating the vehicle (and/or one or more systems thereof) have sufficient information about the upcoming road way and/or the environment around the vehicle. In various scenarios, sensors coupled to the vehicle are able to capture sensor data that is sufficient to provide the vehicle apparatus with the required information about the upcoming road way and/or environment around the vehicle. However, in various scenarios the sensors coupled to the vehicle are not able to capture sensor data that is sufficient to provide the vehicle apparatus with the required information about the upcoming road way and/or environment around the vehicle. The conventional solution to this problem is for the vehicle apparatus to store a high definition map that includes information that may be used to augment the sensor data such that the vehicle apparatus can autonomously operate the vehicle (and/or one or more systems thereof) through areas where the sensors coupled to the vehicle are not able to capture sensor data that is sufficient to provide the vehicle apparatus with the required information about the upcoming road way and/or environment around the vehicle.
However, the high definition map is very detailed, as is necessary to provide the vehicle apparatus with sufficient information about the upcoming road way and/or environment around the vehicle. Moreover, the high definition map comprises information that may and/or is expected to change on a relatively short time scale. For example, information in the high definition map may change substantially while the vehicle is traversing a route. Therefore, maintaining a valid, accurate, and/or up-to-date high definition map at the vehicle apparatus requires significant bandwidth usage. As should be understood, the communication channels available for providing information to the vehicle apparatus while the vehicle traverses a route are bandwidth limited. Moreover, the amount of memory required to store the high definition map at the vehicle apparatus is quite large. Therefore, technical problems exist as to how to enable a vehicle apparatus to autonomously operate a vehicle (and/or one or more systems thereof) when the vehicle is traversing an area where the sensors coupled to the vehicle are not able to capture sensor data that is sufficient for autonomously operating the vehicle in a sensor-based navigation mode (where the vehicle apparatus 20 is determining the necessary information about the upcoming road way and/or environment around the vehicle based on the sensor data).
Various embodiments provide technical solutions to these technical problems. For example, various embodiments provide for areas where it is expected that sensors coupled to a vehicle will not be able to capture sensor data that is sufficient for autonomously operating the vehicle in a sensor-based navigation mode. When a vehicle is expected to traverse such an area, a map fragment is provided to the corresponding vehicle apparatus so that the vehicle apparatus can use the map data of the map fragment to autonomously operate the vehicle in a map-based navigation mode while traversing the area. While the vehicle apparatus may need multiple map fragments to traverse a route, the map fragments are non-connected, non-contiguous portions of the high definition map. In other words, a respective map fragment is minimized to only include map data corresponding to a respective area where it is expected that the sensors will not be able to capture sensor data that is sufficient for autonomously operating the vehicle in a sensor-based mode such that map data provided to the vehicle apparatus is minimized and/or substantially reduced compared to conventional techniques. For example, in an example embodiment, the vehicle apparatus is only provided with the map data of the high definition map required for the vehicle apparatus to traverse the areas along the vehicle's route where it is expected that the sensors will not be able to capture sensor data that is sufficient for autonomously operating the vehicle in a sensor-based mode. Thus, the amount of bandwidth used to provide the high definition map (and/or portions thereof) to the vehicle apparatus is significantly reduced and the amount of memory the vehicle apparatus uses for storing the high definition map (and/or portions thereof) is significantly reduced while still enabling the vehicle apparatus to autonomously operate the vehicle (and/or one or more systems thereof) in areas where the sensors coupled to the vehicle are not able to capture sensor data that is sufficient for autonomous operation in a sensor-based navigation mode.
Various embodiments therefore provide technical solutions to the technical problems of the bandwidth efficient communication of map data required to enable autonomous vehicle operation.
The network apparatus 10 and/or vehicle apparatus 20 of an example embodiment may be embodied by or associated with a variety of computing devices including, for example, a navigation system including an in-vehicle navigation system, a vehicle control system, a personal navigation device (PND) or a portable navigation device, an advanced driver assistance system (ADAS), a global navigation satellite system (GNSS), a cellular telephone, a mobile phone, a personal digital assistant (PDA), a watch, a camera, a computer, and/or other device that can perform navigation-related functions, such as digital routing and map display. Additionally or alternatively, the network apparatus 10 and/or vehicle apparatus 20 may be embodied in other types of computing devices, such as a server, a personal computer, a computer workstation, a laptop computer, a plurality of networked computing devices or the like, that are configured to update one or more map tiles of a high definition map, determine areas along a route where it is expected that sensors coupled to a vehicle will not be able to capture sensor data sufficient for autonomously operating the vehicle in a sensor-based navigation mode, generating and providing map fragments of a high definition map, receiving map fragments, autonomously operating a vehicle and/or one or more systems thereof in a sensor-based navigation mode or a map-based navigation mode based on the availability of a map fragment and/or the available sensor data, and/or the like. In an example embodiment, a vehicle apparatus 20 is an in-vehicle navigation system and/or vehicle controls system coupled to and/or onboard a vehicle 5 and a network apparatus 10 is a server and/or part of a Cloud-based service. In an example embodiment, a vehicle apparatus 20 is an apparatus configured to control a vehicle 5 to traverse a route.
In some embodiments, the processor 12, 22 (and/or co-processors or any other processing circuitry assisting or otherwise associated with the processor) may be in communication with the memory device 14, 24 via a bus for passing information among components of the apparatus. The memory device may be non-transitory and may include, for example, one or more volatile and/or non-volatile memories. In other words, for example, the memory device may be an electronic storage device (e.g., a non-transitory computer readable storage medium) comprising gates configured to store data (e.g., bits) that may be retrievable by a machine (e.g., a computing device like the processor). The memory device may be configured to store information, data, content, applications, instructions, or the like for enabling the apparatus to carry out various functions in accordance with an example embodiment of the present invention. For example, the memory device could be configured to buffer input data for processing by the processor. Additionally or alternatively, the memory device could be configured to store instructions for execution by the processor.
As described above, the network apparatus 10 and/or vehicle apparatus 20 may be embodied by a computing device. However, in some embodiments, the apparatus may be embodied as a chip or chip set. In other words, the apparatus may comprise one or more physical packages (e.g., chips) including materials, components and/or wires on a structural assembly (e.g., a baseboard). The structural assembly may provide physical strength, conservation of size, and/or limitation of electrical interaction for component circuitry included thereon. The apparatus may therefore, in some cases, be configured to implement an embodiment of the present invention on a single chip or as a single “system on a chip.” As such, in some cases, a chip or chipset may constitute means for performing one or more operations for providing the functionalities described herein.
The processor 12, 22 may be embodied in a number of different ways. For example, the processor 12, 22 may be embodied as one or more of various hardware processing means such as 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 processor 12, 22 may include one or more processing cores configured to perform independently. A multi-core processor may enable multiprocessing within a single physical package. Additionally or alternatively, the processor 12, 22 may 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 processor 12, 22 may be configured to execute instructions stored in the memory device 14, 24 or otherwise accessible to the processor. Alternatively or additionally, the processor may be configured to execute hard coded functionality. As such, whether configured by hardware or software methods, or by a combination thereof, the processor may represent an entity (e.g., physically embodied in circuitry) capable of performing operations according to an embodiment of the present invention while configured accordingly. Thus, for example, when the processor is embodied as an ASIC, FPGA or the like, the processor may be specifically configured hardware for conducting the operations described herein. Alternatively, as another example, when the processor is embodied as an executor of software instructions, the instructions may specifically configure the processor to perform the algorithms and/or operations described herein when the instructions are executed. However, in some cases, the processor may be a processor of a specific device (e.g., a pass-through display or a mobile terminal) configured to employ an embodiment of the present invention by further configuration of the processor by instructions for performing the algorithms and/or operations described herein. The processor may include, among other things, a clock, an arithmetic logic unit (ALU) and logic gates configured to support operation of the processor.
In some embodiments, the network apparatus 10 and/or vehicle apparatus 20 may include a user interface 18, 28 that may, in turn, be in communication with the processor 12, 22 to provide output to the user, such as one or more notifications regarding traffic conditions along at least a portion of a route, time to traverse a route, and/or the output of one or more other navigation functions, and, in some embodiments, to receive an indication of a user input. As such, the user interface may include one or more output devices such as a display, speaker, and/or the like and, in some embodiments, may also include one or more input devices such as a keyboard, a mouse, a joystick, a touch screen, touch areas, soft keys, a microphone, a speaker, or other input/output mechanisms. Alternatively or additionally, the processor may comprise user interface circuitry configured to control at least some functions of one or more user interface elements such as a display and, in some embodiments, a speaker, ringer, microphone and/or the like. The processor and/or user interface circuitry comprising the processor may be configured to control one or more functions of one or more user interface elements through computer program instructions (e.g., software and/or firmware) stored on a memory accessible to the processor 12, 22 (e.g., memory device 14, 24 and/or the like).
The network apparatus 10 and/or vehicle apparatus 20 may optionally include a communication interface 16, 26. The communication interface 16, 26 may 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 a network and/or any other device or module in communication with the apparatus. In this regard, the communication interface may 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 may 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 may alternatively or also support wired communication. As such, for example, the communication interface may include a communication modem and/or other hardware/software for supporting communication via cable, digital subscriber line (DSL), universal serial bus (USB) or other mechanisms.
In addition to embodying the network apparatus 10 and/or vehicle apparatus 20 of an example embodiment, a navigation system may also include or have access to a geographic database. For example, as described above, the network apparatus 10 may store and/or have access to a high definition map which may be stored as a geographic database. The vehicle apparatus 20 may store and/or have access to a basic map and one or more map fragments of a high definition map. For example, in various embodiments, a network apparatus 10 and/or vehicle apparatus 20 may comprise a component (e.g., memory 14, 24, and/or another component) that stores a digital map (e.g., in the form of a geographic database) comprising a first plurality of data records, each of the first plurality of data records representing a corresponding TME, wherein at least some of said first plurality of data records map information/data (e.g., the updated map information/data) indicating current traffic conditions along the corresponding TME. For example, the geographic database may include a variety of data (e.g., map information/data) utilized in various navigation functions such as constructing a route or navigation path, determining the time to traverse the route or navigation path, matching a geolocation (e.g., a GNSS determined location) to a point on a map, a lane of a lane network, and/or link, one or more localization features and a corresponding location of each localization feature, and/or the like. For example, a geographic database may include road segment, segment, link, lane segment, or traversable map element (TME) data records, point of interest (POI) data records, localization feature data records, and other data records. More, fewer or different data records can be provided. In one embodiment, the other data records include cartographic (“carto”) data records, routing data, and maneuver data. One or more portions, components, areas, layers, features, text, and/or symbols of the POI or event data can be stored in, linked to, and/or associated with one or more of these data records. For example, one or more portions of the POI, event data, or recorded route information can be matched with respective map or geographic records via position or GNSS data associations (such as using known or future map matching or geo-coding techniques), for example. In an example embodiment, the data records may comprise nodes, connection information/data, intersection data records, link data records, POI data records, and/or other data records. In an example embodiment, the network apparatus 10 may be configured to modify, update, and/or the like one or more data records of the geographic database. For example, the network apparatus 10 may modify, update, generate, and/or the like map information/data corresponding to TMEs, links, lanes, road segments, travel lanes of road segments, nodes, intersection, and/or the like and/or the corresponding data records (e.g., to add or update updated map information/data including, for example, current traffic conditions along a corresponding TME), a localization layer (e.g., comprising localization features) and/or the corresponding data records, and/or the like.
In an example embodiment, the TME data records are links, lanes, or segments (e.g., maneuvers of a maneuver graph, representing roads, travel lanes of roads, streets, or paths, as can be used in the calculated route or recorded route information for determination of one or more personalized routes). The intersection data records are ending points corresponding to the respective links, lanes, or segments of the TME data records. The TME data records and the intersection data records represent a traversable network, such as used by vehicles, cars, bicycles, and/or other entities. Alternatively, the geographic database can contain path segment and intersection data records or nodes and connection information/data or other data that represent pedestrian paths or areas in addition to or instead of the vehicle road record data, for example.
The TMEs, lane/road/link segments, segments, intersections, and/or 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 gasoline stations, hotels, restaurants, museums, stadiums, offices, automobile dealerships, auto repair shops, buildings, stores, parks, etc. The geographic database can include data about the POIs and their respective locations in the POI data records. The geographic database can also 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 geographic database can include and/or be associated with event data (e.g., traffic incidents, constructions, scheduled events, unscheduled events, etc.) associated with the POI data records or other records of the geographic database.
The geographic database can be maintained by the content provider (e.g., a map developer) in association with the services platform. By way of example, the map developer can collect geographic data to generate and enhance the geographic database. There can be different ways used by the map developer to collect data. These ways can include obtaining data from other sources, such as municipalities or respective geographic authorities. In addition, the map developer 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, can be used.
The geographic database can be a master geographic database stored in a format that facilitates updating, maintenance, and development. For example, the master geographic database or data in the master geographic 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 is 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. The navigation-related functions can correspond to vehicle 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 geographic database in a delivery format to produce one or more compiled navigation databases. Regardless of the manner in which the databases are compiled and maintained, a navigation system that embodies a network apparatus 10 and/or vehicle apparatus 20 in accordance with an example embodiment may determine the time to traverse a route that includes one or more turns at respective intersections more accurately.
As described above,
Accordingly, blocks of the flowcharts 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 flowcharts, and combinations of blocks in the flowcharts, can be implemented by special purpose hardware-based computer systems which perform the specified functions, or combinations of special purpose hardware and computer instructions.
In some embodiments, certain ones of the operations above may be modified or further amplified. Furthermore, in some embodiments, additional optional operations may be included. Modifications, additions, or amplifications to the operations above may be performed in any order and in any combination.
Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the inventions 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. 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 may 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 may 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.