Autonomous Navigation System

By installing sensor equipment and autonomous navigation systems in the vehicle, using the manual navigation data of the vehicle along the route to monitor and update the virtual representation of the route in real time, the complexity of autonomous navigation systems and map update problems in the prior art are solved, and the safe and efficient autonomous navigation of the vehicle is achieved.

CN113654561BActive Publication Date: 2025-05-30APPLE INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202110934438.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2014-12-05
Filing Date
2015-12-04
Publication Date
2025-05-30
Estimated Expiration
2035-12-04

AI Technical Summary

Technical Problem

When implementing autonomous navigation of vehicles, existing autonomous navigation systems face complexity and high computing resource requirements for processing and responding to static and dynamic route characteristics, resulting in high cost and unsuitable for large-scale applications. In addition, the formation and update of maps requires a lot of time and effort, and the problem of outdated maps is difficult to solve.

Method used

By installing sensor equipment and autonomous navigation systems in the vehicle, the vehicle's manual navigation data along the route is used to monitor and update the virtual representation of the route in real time, and decide whether to enable autonomous navigation based on confidence indicators.

Benefits of technology

It realizes that vehicles can independently navigate and update route characterization without the need for a detailed map in advance, reduce system costs and update time, and improve the safety and applicability of routes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113654561B_ABST
    Figure CN113654561B_ABST
Patent Text Reader

Abstract

The present invention is titled "Autonomous Navigation System". Some embodiments of the present invention provide an autonomous navigation system that enables the vehicle to autonomously navigate along one or more portions of a route based on monitoring various features of the route at the vehicle while manually navigating the vehicle along a driving route. The characterization is gradually updated through repeated manual navigation along the route, and when the confidence index of the characterization meets a threshold indication, autonomous navigation of the route is enabled. The characterization can be updated in response to the vehicle encountering changes in the route and can include a set of driving rules associated with the route, where the driving rules are developed based on the navigation of one or more vehicles monitoring the route. The characterization can be uploaded to a remote system, which processes the data to form and refine the route characterization and provides the characterization to one or more vehicles.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the patent application for invention with the application number 201580064398.8 and the invention title "Autonomous Navigation System", the filing date of which is December 4, 2015. Technical Field

[0002] The present disclosure generally relates to autonomous navigation of vehicles, and more particularly, to the formation and evaluation of autonomous navigation route representations, by means of which at least some parts of a vehicle can autonomously navigate a route. Background Art

[0003] The growing interest in the autonomous navigation of vehicles (including automobiles) has spurred the desire to develop an autonomous navigation system that can autonomously "drive" a vehicle along various routes, including one or more roads in a road network, such as current roads, streets, highways, etc. However, systems capable of achieving vehicle autonomous navigation (also known as autonomous driving) may not be ideal.

[0004] In some cases, autonomous navigation can be achieved by an autonomous navigation system that can process and respond in real time to static features (e.g., road lanes, road signs, etc.) and dynamic features (the current positions of other vehicles in the road where the current route extends, current environmental conditions, road obstacles, etc.) encountered along the route, thus mimicking the real-time processing and driving capabilities of a human. However, even if technically feasible, the processing and control capabilities required to simulate such processing and response capabilities may be impracticable, and the complexity and size of the computer system required to be included in a vehicle to achieve such real-time processing and response can make the capital cost investment for each vehicle extremely large and beyond an appropriate range, thus making the system inapplicable for large-scale applications.

[0005] In some cases, autonomous navigation is achieved by forming detailed maps of various routes; including data indicating various features of the roads (e.g., road signs, intersections, etc.); specifying various driving rules for various routes (e.g., appropriate speed limits, lane change speeds, lane positions for a given part of a given route, changes in driving rules based on various climate conditions and different times of the day); and providing the maps to the autonomous navigation systems of various vehicles so that the vehicles can use the maps to autonomously navigate various routes.

[0006] However, the formation of such maps may require a significant expenditure of time and effort, as forming sufficient data for a single route may involve dispatching a set of sensors installable in dedicated sensor vehicles to traverse the route and collect data on the various features contained in the route, processing the collected data to form a "map" of the route, determining appropriate driving rules for various parts of the route, and repeating the process for each individual route included in the map. Such a process may take a significant amount of time and effort to form a map representing multiple routes, especially when multiple routes span some or all of the roads in major cities, regions, countries, etc.

[0007] In addition, since roads can change over time (e.g., due to road construction, accidents, weather, seasonal events, etc.), such maps may unexpectedly become outdated and thus unavailable for safe autonomous navigation of routes. Updating the map may require dispatching a sensor suite to re-traverse the route, which may take some time. Considering such an expenditure in view of the vast number of potential routes in a road network, especially when multiple routes need to be updated simultaneously, it may be difficult to update the route map in a timely manner such that users of the vehicle do not lose the ability to safely autonomously navigate. SUMMARY OF THE INVENTION

[0008] Some embodiments provide a vehicle configured to autonomously navigate a driving route. The vehicle includes a sensor device that monitors characteristics of the driving route based on the vehicle navigating along the driving route, and an autonomous navigation system that is interoperable with the sensor device to: continuously update a virtual representation of the driving route based on monitoring continuous manual navigation of the vehicle along the driving route; associate a confidence metric with the virtual representation based on monitoring the continuous update of the virtual representation; and cause the vehicle to be able to autonomously navigate along the driving route based at least in part on determining that the confidence metric at least meets a threshold confidence indication; control one or more control elements of the vehicle, and cause the autonomous navigation system to autonomously navigate the vehicle along at least a portion of the driving route based on a user-initiated command received at the autonomous navigation system via a user interface of the vehicle to participate in the autonomous navigation of a portion of the driving route.

[0009] Some embodiments provide an apparatus that includes an autonomous navigation system configured to be installed in a vehicle and selectively enable the vehicle to autonomously navigate along a driving route. The autonomous navigation system can include a route characterization module that implements continuous updates to a virtual characterization of the driving route, where each update is based on monitoring an individual navigation in the continuous manual control of the vehicle along the driving route, and implementing each update in the continuous updates includes associating a confidence metric with the virtual characterization based on the monitored changes to the virtual characterization associated with the corresponding update. The autonomous navigation system can include a route evaluation module configured to enable the vehicle to initiate user-initiated autonomous navigation of the driving route based on determining that the confidence metric associated with the characterization of the driving route exceeds a threshold confidence indication.

[0010] Some embodiments provide a method that includes performing, by one or more computer systems installed in a vehicle: receiving, at least in part based on manual navigation of the vehicle along a driving route, a set of sensor data associated with the driving route from a set of sensors included in the vehicle, processing the set of sensor data to update a stored characterization of the driving route, where the stored characterization is based on at least one set of previously generated sensor data associated with one or more historical manual navigations of the vehicle along the driving route, associating a confidence metric with the updated characterization based on a comparison of the updated characterization with the stored characterization, and enabling the vehicle to initiate user-initiated autonomous navigation of the driving route based at least in part on determining that the confidence metric at least meets a predetermined threshold confidence indication. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] Figure 1 FIG. 9 shows a schematic block diagram of a vehicle 100 including an autonomous navigation system (ANS) according to some embodiments.

[0012] Figure 2 FIG. 13 shows a schematic view of a vehicle according to some embodiments, the vehicle including an ANS and a set of sensor devices, navigating through an area including multiple road segments of multiple roads.

[0013] Figure 3 FIG. 17 shows a schematic view of a vehicle according to some embodiments, the vehicle including an ANS and a set of sensor devices, navigating through an area including multiple road segments of a single road.

[0014] Figure 4 FIG. 21 shows a block diagram of an autonomous navigation system (ANS) according to some embodiments.

[0015] Figures 5A to 5C FIG. 25 shows a user interface associated with an autonomous navigation system according to some embodiments.

[0016] Figure 6 Shows a user interface associated with an autonomous navigation system according to some embodiments.

[0017] Figure 7 Shows forming a virtual representation of one or more road segments according to some embodiments to enable autonomous navigation of one or more road segments.

[0018] Figure 8 Shows a schematic diagram of an autonomous navigation network according to some embodiments.

[0019] Figures 9A to 9B Shows a schematic diagram of an autonomous navigation network according to some embodiments.

[0020] Figure 10 Shows a "management spectrum" of a process that can be used to generate virtual representations of one or more road segments according to some embodiments.

[0021] Figure 11 Shows the reception and processing of virtual representations of one or more road segments according to some embodiments.

[0022] Figure 12 Shows implementing at least a portion of the management spectrum with respect to virtual representations of one or more road segments according to some embodiments.

[0023] Figure 13 Shows an exemplary computer system configured to implement aspects of systems and methods for autonomous navigation according to some embodiments.

[0024] This specification includes references to "one embodiment" or "embodiments." The appearances of the phrases "in one embodiment" or "in embodiments" do not necessarily refer to the same embodiment. Specific features, structures, or characteristics may be combined in any suitable manner consistent with this disclosure.

[0025] "Comprising." This term is open-ended. When used in the appended claims, this term does not exclude additional structures or steps. Consider the following claimed claim: "An apparatus comprising one or more processor units..." Such a claim does not exclude the apparatus from including additional components (e.g., a network interface unit, graphics circuitry, etc.).

[0026] "configured to." Various units, circuits, or other components may be described or recited as "configured to" perform one or more tasks. In such contexts, "configured to" is used to imply, by indicating that the unit / circuit / component includes the structure (e.g., circuitry) that performs those tasks during operation. As such, a unit / circuit / component can be configured to perform the task even when the specified unit / circuit / component is not currently operational (e.g., not powered on). Units / circuits / components used in conjunction with the phrase "configured to" include hardware - e.g., circuitry, a memory storing program instructions executable to implement the operation, etc. Referring to a unit / circuit / component "configured to" perform one or more tasks is expressly intended to cover that unit / circuit / component No Invoke 35 U.S.C. § 112(f). Additionally, "configured to" can include a general structure (e.g., a general-purpose circuit) that is manipulated by software and / or firmware (e.g., an FPGA or a general-purpose processor executing software) so as to operate in a manner capable of performing one or more tasks to be solved. "Configured to" can also include making a manufacturing process (e.g., a semiconductor manufacturing facility) suitable for manufacturing a device (e.g., an integrated circuit) adapted to implement or perform one or more tasks.

[0027] "First," "second," etc. As used herein, these terms serve as labels for the nouns preceding them and do not imply any type of ordering (e.g., spatial, temporal, logical, etc.). For example, a buffer circuit may be described herein as performing write operations on a "first" value and a "second" value. The terms "first" and "second" do not necessarily mean that the first value must be written before the second value.

[0028] "Based on." As used herein, this term is used to describe one or more factors that affect a determination. This term does not exclude other factors that may affect the determination. That is, the determination may be based solely on these factors or at least in part on these factors. Consider the phrase "determine A based on B." In this case, B is one factor that affects the determination of A, and this phrase does not exclude the possibility that the determination of A may also be based on C. In other instances, A may be determined based solely on B. Detailed Description

[0029] Introduction

[0030] Some embodiments include one or more vehicles that include an autonomous navigation system (“ANS”), where the ANS enables autonomous navigation of various driving routes (also referred to herein as “routes”) by forming a virtual representation of a route based on monitoring various real-world features of the route during navigation of the vehicle along the route. The ANS controls various control elements of the vehicle to autonomously drive the vehicle along one or more portions of the route (referred to herein as “autonomously navigate”, “autonomous navigation”, etc.) at least in part based on the virtual representation of one or more portions of the route. Such autonomous navigation can include controlling vehicle control elements based on representations that include representations of driving rules (e.g., vehicle speed, spacing relative to other vehicles, position on the road, corresponding adjustments based on environmental conditions, etc.) included in the virtual route representation; and representations of static features of the route (the position of road lanes, road edges, road signs, landmarks, road grade, intersections, crosswalks, etc.) included in the virtual route representation, such that the ANS can safely and autonomously navigate the vehicle along at least a portion of the route.

[0031] As used herein, a “route” includes the path along which a vehicle navigates. A route can extend from a starting position to another distinct destination position, extend back to the same destination position as the starting position, etc. A route can extend along one or more different portions of one or more different roads. For example, a route between a home location and a work location can start from a home driveway, extend through one or more residential streets, along one or more portions of one or more boulevards, highways, toll roads, etc., to one or more parking spaces in one or more parking lots. Such a route can be a route that a user repeatedly navigates over time, including navigating multiple times in a given day (e.g., a route between home and work can be traveled at least once in a given day).

[0032] In some embodiments, the ANS in a vehicle enables autonomous navigation of one or more portions of the route at least in part based on the virtual representation of one or more portions of the route. Enabling autonomous navigation can include making autonomous navigation of one or more portions of the route available for selection by a user of the vehicle, such that the ANS can participate in autonomous navigation of one or more portions based on receiving a user-initiated command to participate in the autonomous navigation of one or more portions.

[0033] A virtual representation of a route portion, referred to herein as a "virtual route portion representation", can include a virtual representation of a portion of a road included in a route between one or more locations. Such a representation can be referred to as a "virtual road portion representation". A given virtual road portion representation can be independent of any overall route that can be navigated by a vehicle, such that a route navigated by a vehicle includes a set of consecutively navigated road portions, and an ANS can use one or more virtual road portion representations to autonomously navigate the vehicle along one or more different routes. A virtual route representation can include a set of one or more virtual road portion representations that are associated with a set of one or more road portions enabling autonomous navigation and one or more road portions not enabling autonomous navigation, and the ANS can participate in autonomously navigating the enabled portions, interacting with a user of the vehicle via a user interface of the vehicle, such that control of various control elements of the vehicle is transferred between the user and the ANS based on the road portions of the route along which the vehicle is navigated.

[0034] In some embodiments, the ANS forms virtual road segment representations, virtual route representations, etc. by monitoring the navigation of a vehicle including the ANS along one or more routes. Such monitoring may include monitoring one or more external environments, vehicle control elements, etc. when the vehicle is manually navigated by a user along one or more routes. As used herein, the user may include the vehicle driver, a passenger in the vehicle, some combination thereof, etc. When the user manually navigates the vehicle along a route that may extend along one or more road segments, the ANS may monitor various aspects of the manual navigation, including monitoring various static features (e.g., road signs, curbs, lane markings, traffic lights, trees, landmarks, the physical location of the vehicle, etc.) encountered by the vehicle in the various road segments through which it is manually navigated, dynamic features encountered in the various road segments (other vehicles navigating along the road, emergency vehicles, accidents, weather conditions, etc.), driving characteristics of the user in manually navigating the vehicle through the various road segments (e.g., driving speed, lane changes and maneuvers, acceleration events and rates, deceleration events and rates, position relative to static features on the road, spacing from other vehicles, etc.), driving characteristics of moving entities navigating through the various road segments in proximity to the manually navigated vehicle (e.g., in different lanes, in front of or behind the vehicle, etc.), some combination thereof, etc. As used herein, a "moving entity" may include motor vehicles, including cars, trucks, etc.; human-powered vehicles, including bicycles, tricycles, etc.; pedestrians, including people, animals, etc.; some combination thereof, etc. The driving characteristics of moving entities including vehicles, pedestrians, etc. may include data characterizing how the moving entity navigates through at least a portion of one or more road segments. For example, the characteristics of a pedestrian advancing may indicate that the pedestrian is traveling at a certain speed at a certain distance from a certain edge of the road along the road. The system may process the input data generated based on the monitoring at various vehicle sensors to form a virtual representation of the route, which may include a representation of static features associated with the various parts of the route (referred to herein as "representation of static features"), a representation of driving rules associated with the various parts of the route (referred to herein as "representation of driving rules"), etc.

[0035] In some embodiments, the ANS updates one or more virtual road segment characterizations of one or more road segments included in a route based on consecutive manual navigation of the monitored route. Since the ANS enables continuous updating of the virtual characterizations of one or more road segments based on multiple consecutive navigations of the route, the ANS can form and update a confidence metric associated with one or more road segment characterizations, where the one or more road segment characterizations are associated with one or more road segments included in the route. For example, in a case where the number of new static features in a road segment of a conventional navigation route identified based on processing input data from various vehicle sensors decreases with consecutive manual navigation on the monitored route, the confidence metric associated with the virtual road segment characterization can increase with continuous monitoring of navigation through that road segment. When the characterization of one or more road segments has a confidence metric that at least meets a threshold confidence indication, the ANS can enable an autonomous navigation feature of the vehicle for the one or more road segments, such that autonomous navigation of the vehicle along one or more portions of the route including the one or more road segments is enabled. The threshold level can be predetermined. In some embodiments, the ANS can adjustably establish a confidence metric for one or more specific road segments based at least on monitoring navigation along one or more specific road segments, signals received from one or more remote servers, systems, etc., some combination thereof, and the like.

[0036] As used herein, a metric can include one or more of a specific value, rank, level, some combination thereof, and the like. For example, a confidence metric can include one or more of a confidence value, confidence rank, confidence level, some combination thereof, and the like. Where a metric includes one or more of a specific value, rank, level, some combination thereof, and the like, the metric can include one or more of the metrics within a certain range. For example, in a case where the confidence metric includes a confidence rank, the confidence metric can include a specific rank within a certain range of ranks, where the specific rank indicates the relative confidence associated with the metric. In another example, in a case where the confidence metric includes a confidence value, the confidence metric can include a specific value within a certain range of values, where the specific value within the range indicates the relative confidence associated with the metric relative to one or more confidence extrema represented by the range limits.

[0037] In some embodiments, the threshold confidence indication may include one or more metrics, values, ranks, levels, etc., and determining that a confidence metric at least meets the threshold confidence indication may include determining that a value, rank, level, etc. included in the confidence metric at least matches a value, rank, level, etc. included in the threshold confidence indication. In some embodiments, determining that a confidence metric at least meets the threshold confidence indication may include determining that a value, rank, level, etc. included in the confidence metric exceeds a value, rank, level, etc. included in the threshold confidence indication. In some embodiments, the threshold confidence indication may be referred to as one or more of a threshold confidence metric, a threshold, a threshold rank, a threshold level, certain combinations thereof, etc.

[0038] The virtual route characterization may include a set of virtual road segment characterizations of the individual road segments included in the route. The virtual route characterization may include metadata that references the various virtual road segment characterizations and may characterize driving rules associated with navigating between the individual road segments. In some embodiments, autonomous navigation of one or more portions of the route is enabled at least in part based on determining that a sufficiently large portion of a route that includes a set of one or more road segments has associated virtual characterizations, the confidence metrics associated with which at least meet one or more thresholds. Such a set of road segments may include a limited selection of the road segments included in the route. For example, where a route includes multiple road segments that are each 100 feet in length, and the virtual road segment characterization associated with a single road segment has a confidence metric that meets the threshold confidence indication, while the remaining portions of the road segment characterizations do not have confidence metrics that meet the threshold confidence indication, autonomous navigation of the single road segment may remain disabled. In another example, where the virtual road segment characterizations associated with multiple consecutive road segments each have confidence metrics that meet the threshold, and the consecutive length of the road segments at least meets the threshold confidence indication, autonomous navigation of a portion of the route that includes the multiple adjacent road segments may be enabled. The "threshold confidence indication" may be referred to interchangeably herein as the "threshold". The threshold may be based at least in part on one or more of the distance between adjacent road segments, the driving speed through one or more road segments, the estimated time to navigate through one or more road segments, certain combinations thereof, etc. The threshold may vary based on the individual road segments included in the portion of the route for which autonomous navigation is being determined.

[0039] In some embodiments, enabling autonomous navigation of one or more portions of a route enables participation in autonomous navigation of one or more specific road portions specified by a user in response to interactions with one or more user interfaces. For example, in response to enabling autonomous navigation of a portion of a road, the ANS may present to the user, via a user interface included in the vehicle, options to participate in autonomous navigation of the vehicle along one or more route portions that include the one or more road portions for which autonomous navigation is enabled. Based on user interactions with the user interface, the ANS may receive a command from the user to autonomously navigate the vehicle along one or more portions of the route and, in response, participate in the autonomous navigation by controlling one or more control elements of the vehicle.

[0040] In response to detecting a change in a static feature of a route via monitoring the external environment, the ANS may update the virtual representation of the route. For example, in the case where road construction is taking place on a portion of a road in a route that the vehicle routinely travels, resulting in a road change, lane closure, etc., the ANS included in the vehicle may update the representation of the route in response to monitoring that portion as the vehicle travels through it. Thus, the ANS can adapt to changes in the route independent of a pre-existing route representation, “map,” etc., including independent of data received from remote servers, systems, etc., thereby reducing the amount of time required to enable autonomous navigation of the changed route. Additionally, since the route representation is formed by the vehicle's ANS based on the routes that the vehicle's user has continuously (i.e., repeatedly) navigated, the routes for which autonomous navigation can be enabled include the routes that the vehicle's user is prone to navigate, including routinely navigated routes. Thus, the ANS can autonomously navigate routes that are routinely navigated by the vehicle user without the need for a pre-existing route representation. Further, since the ANS can update the virtual representation of one or more road portions, routes, etc. based on locally monitoring changes in the road portions via sensors included in the vehicle, the ANS can update these representations as soon as the vehicle encounters these changes, thereby providing an update to the virtual representation of the route navigated by the user and, in some embodiments, without relying on distributed update information from remote systems, servers, etc. In some embodiments, the ANS may continue to update the virtual representation of a portion of a road based on monitoring the vehicle's autonomous navigation through that portion of the road.

[0041] In some embodiments, the ANS uploads the virtual representation of one or more routes to one or more remote systems, servers, etc. implemented on one or more computer systems external to the vehicle in which the ANS is located. Such uploads may be performed in response to determining that processing resources unavailable locally to the vehicle are needed to form the virtual representation of the route with sufficient confidence, in response to determining that the ANS cannot establish a confidence metric associated with the representation at a rate greater than a certain value in the case of continuously monitoring route navigation, etc. For example, in the case where the representation of a road segment requires processing power beyond the capabilities of the computer system included in the vehicle, the ANS included in the vehicle may upload the representation of the route, one or more sets of input data associated with the route to a remote server, and the remote service may process the data, evaluate the representation, etc. to form a virtual representation of the route. In another example, in the case where the ANS of the vehicle determines that the confidence metric associated with the virtual road segment representation does not increase at a rate greater than a certain value and continuously monitors the navigation of the road segment, the ANS may upload the representation, the input data associated with the route, etc. to a remote server, system, etc., and the remote server, system, etc. may further evaluate the representation to enhance the confidence metric of the representation.

[0042] In the case where the remote system, server, etc. cannot establish a sufficient confidence metric for the representation, the remote system may flag the representation for manual evaluation of the representation and may modify the representation in response to manual input from one or more operators. In some embodiments, the manual input may include a manually specified confidence metric for the representation. In the case where such modification does not result in establishing a sufficient confidence metric for the representation, the remote system may schedule a dedicated sensor suite, which may be included in a dedicated sensor-carrying vehicle, to collect additional input data associated with one or more selected portions of the route under discussion, where the remote system may utilize the additional input data to modify the representation. In the case where such modification does not result in establishing a sufficient confidence metric for the representation, the remote system may flag the route and provide an alternative route proposed for vehicle navigation to the ANS.

[0043] The alternative route proposal may include the representation of one or more alternative routes that may have a sufficient confidence metric such that the ANS of the vehicle may enable the autonomous navigation of the alternative route and propose to the user of the vehicle to autonomously navigate the alternative route rather than proceed on the first route through an interface. In some embodiments, the ANS invites the user of the vehicle to manually navigate one or more alternative routes through the user interface such that the ANS may form a virtual representation of one or more alternative routes as part of enabling the autonomous navigation of one or more alternative routes.

[0044] In some embodiments, characterizing a route at the ANS of a vehicle includes monitoring the driving characteristics of one or more vehicle users who manually navigate the vehicle along one or more portions of the route. Such characterization can include monitoring the driving characteristics of one or more various moving entities approaching the vehicle's travel along one or more portions of the route, including one or more motor vehicles, human-powered vehicles, pedestrians, some combination thereof, etc. Driving characteristics can include positioning one or more moving entities relative to one or more static route features along one or more portions of a route, acceleration events relative to static route features, acceleration rates, driving speeds relative to static features, dynamic characteristics, etc. The ANS can process the monitored driving characteristics to form a set of driving rules associated with one or more portions of the route, where the set of driving rules defines the driving characteristics based on which the ANS autonomously navigates the vehicle along one or more portions of the route. For example, based on monitoring the driving characteristics of the users of a local vehicle along a specific route, the driving characteristics of various other vehicles, etc., the ANS of the vehicle can form a set of driving rules associated with the route, and the set of driving rules can include rules such as: specifying the driving speed ranges for each portion of the route, the lane positions along the route, the allowable spacing distances between the vehicle and other vehicles along the route, the positions along the route where a specific acceleration range is allowed, the positions where a certain amount of acceleration is to be applied (e.g., road ramps), the likelihood of certain dynamic events occurring (accidents, sudden acceleration events, road obstacles, pedestrians, etc.), some combination thereof, etc. Such multiple sets of driving rules can be referred to as driving rule characterizations and can be included in virtual road portion characterizations, virtual route characterizations, some combination thereof, etc.

[0045] Thus, driving rules for a route can be formed "empirically", i.e., based on monitoring how one or more users actually navigate one or more vehicles along the route. Such locally formed driving rules can provide an autonomous driving experience customized according to the specific conditions of the autonomously navigated route, rather than using general driving rules formed independently of directly monitoring how vehicle users actually navigate the route. Additionally, in some embodiments, the driving characteristics can be processed to form a characterization of the static features included in one or more portions of the route. For example, when the vehicle is navigating through a road that lacks at least some conventional static features (e.g., an unpaved road lacking one or more of defined road edges, lane boundary markings, etc.), the monitoring of the driving characteristics of the local vehicle and one or more various external vehicles can be processed to form one or more static feature characterizations, including a characterization of the road edge, a characterization of the boundaries of the unmarked lanes of the road, etc.

[0046] Driving rule representations can be subject to predetermined driving restrictions, including speed limits. For example, based on processing input data generated by monitoring external environmental elements, the ANS can identify road signs along various portions of a route that specify speed limits for the road extending for that portion of the route. The ANS can analyze the input data associated with the monitoring of the road signs to identify the indicated speed limit and incorporate the identified speed limit into the driving rule associated with that portion of the route as a driving speed limit, such that when the ANS uses the driving rule representation to autonomously navigate at least along that portion of the route, it will at least not attempt to exceed the speed limit associated with that portion of the route.

[0047] In some embodiments, multiple virtual road portion representations can be formed on a vehicle, including among multiple navigation routes, and such multiple representations can be combined into a set of road portion representations for respective portions of multiple different roads that are navigated via multiple different routes, where the ANS can use the various representations of the multiple road portions to enable autonomous navigation along respective portions of various routes, including multiple portions of multiple independent routes.

[0048] In some embodiments, virtual representations of one or more road portions can be uploaded from one or more ANSs included in one or more vehicles to a remote system, server, etc. Such systems can include a navigation monitoring system, where multiple ANSs of multiple independent vehicles are communicatively coupled to one or more navigation monitoring systems in a navigation network. The various representations of respective road portions can be combined into a "map" of road portion representations in the remote system, server, etc. The map of representations can be distributed to the various ANSs of various vehicles. In the case of receiving multiple road portion representations of one or more portions of a common road portion at the remote system, server, etc., combining the representations into the map can include forming a composite representation of the road portion based on processing the multiple representations of the one or more portions. Thus, the ANSs of various vehicles can represent the various routes traveled by those respective vehicles, and the various route representations locally formed on the various vehicles can be combined into a map of representations of route representations that can be distributed to other vehicles and used by the ANSs of other vehicles to enable autonomous navigation of other vehicles along the various routes.

[0049] The ANS included in a vehicle can generate a virtual representation locally for the vehicle at least in part based on local monitoring of the environment near the vehicle, thereby eliminating the need for an existing detailed "map" of road segments included in a road network, where the map can include a set of virtual representations of road segments organized and arranged according to their relative physical geographical locations such that the map includes a virtual representation of the road network and various routes along which navigation can be performed. In the absence of a "map", the ANS can "guide" map generation by forming virtual representations of one or more portions of one or more routes along which the vehicle navigates. Additionally, since the ANS represents the routes along which the vehicle navigates, the locally formed map representing the routes can include the routes that vehicle users tend to navigate but not the routes that users do not navigate, thereby enabling autonomous navigation of the routes that users routinely travel.

[0050] In some embodiments, the ANS is communicatively coupled to one or more other ANSs and can communicate virtual route representations with one or more other autonomous navigation systems. The ANS can be implemented by one or more computer systems external to the one or more vehicles and can modify the virtual route representations received from the one or more other ANSs. Such modifications can include combining multiple representations into one or more composite representations, modifying the representations received from the one or more sets of other remote ANSs based on input data received from one or more sets of other remote ANSs, some combination thereof, etc.

[0051] Reference will now be made in detail to the embodiments, examples of which are illustrated in the accompanying drawings. Numerous specific details are set forth in the following detailed description in order to provide a thorough understanding of the present disclosure. However, it will be apparent to one of ordinary skill in the art that some embodiments may be practiced without these specific details. In other instances, well-known methods, procedures, components, circuits, networks have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.

[0052] It will also be understood that although terms such as "first", "second", etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first contact could be named a second contact, and similarly, a second contact could be named a first contact, without departing from the intended scope. Both the first contact and the second contact are contacts, but they are not the same contact.

[0053] The terms used in this description are for the purpose of describing particular embodiments only and are not intended to be limiting. As used in the specification and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will also be understood that the terms "includes", "including", "comprises", and / or "comprising", when used in this specification, specify the presence of the stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0054] Depending on the context, as used herein, the term "if" may be interpreted to mean "when" or "upon" or "in response to determining" or "in response to detecting". Similarly, depending on the context, the phrase "if it is determined" or "if [the stated condition or event] is detected" may be interpreted to mean "when it is determined" or "in response to determining" or "when [the stated condition or event] is detected" or "in response to detecting [the stated condition or event]".

[0055] Autonomous Navigation System

[0056] Figure 1 FIG. shows a schematic block diagram of a vehicle 100 including an autonomous navigation system (ANS) according to some embodiments, the autonomous navigation system being configured to autonomously navigate the vehicle along one or more driving routes by controlling various control elements of the vehicle based at least in part on one or more virtual representations of one or more portions of one or more driving routes.

[0057] Vehicle 100 will be understood to include one or more vehicles having one or more various configurations that can accommodate one or more persons, including but not limited to one or more automobiles, trucks, vans, etc. Vehicle 100 may include one or more interior compartments configured to accommodate one or more persons (e.g., passengers, drivers, etc.), and the persons are collectively referred to herein as "users" of the vehicle. The interior compartment may include one or more user interfaces, including a vehicle control interface (e.g., a steering wheel, a throttle control device, a brake control device), a display interface, a multimedia interface, a climate control interface, some combination thereof, etc. Vehicle 100 includes various control elements 120 that can be controlled to navigate ( "drive") Vehicle 100 around the world, including navigating Vehicle 100 along one or more routes. In some embodiments, one or more control elements 120 are communicatively coupled to one or more user interfaces included in the interior compartment of Vehicle 100 such that Vehicle 100 is configured to enable a user to interact with the one or more user interfaces to control at least some of the control elements 120 and manually navigate Vehicle 100. For example, Vehicle 100 may include a steering device, a throttle device, and a brake device in the interior compartment with which a user can interact to control the various control elements 120 to manually navigate Vehicle 100.

[0058] Vehicle 100 includes an autonomous navigation system (ANS) 110 configured to autonomously navigate Vehicle 100. ANS 110 may be implemented by any combination of hardware and / or software configured to perform the various features, modules, or other components discussed below. For example, one or more of a variety of general-purpose processors, graphics processing units, or dedicated hardware components such as various application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other dedicated circuits may implement all (or portions in combination with program instructions stored in memory and executed by a processor) of the route characterization module 112 and the driving control module 114. One or more computing systems, such as the following Figure 13The computer system 1300 therein may also implement the ANS 110. The ANS 110 is communicatively coupled to at least some of the vehicle control elements 120 and is configured to control one or more of the elements 120 to navigate the vehicle 100 autonomously. As used herein, autonomous navigation of the vehicle 100 refers to the controlled navigation (“driving”) of the vehicle 100 along at least a portion of a route based on the active control of the control elements 120 of the vehicle 100 (including steering control elements, throttle control elements, brake control elements, transmission control elements, etc.) independent of control element input commands from a vehicle user. Autonomous navigation may include the ANS actively controlling the driving control elements 120 while enabling manual control of the elements 120 through manual input from the user, where the manual input from the user is from the user's interaction with one or more user interfaces included in the vehicle. For example, in the case where the vehicle user does not input commands through one or more user interfaces of the vehicle 100, the ANS 110 may autonomously navigate the vehicle 110, and the ANS 110 may stop controlling one or more of the elements 120 in response to input commands initiated by the user from one or more user elements of the vehicle 100.

[0059] The ANS 110 includes a route characterization module 112 that forms and maintains virtual characterizations of various road segments, driving routes, etc.; and a driving control module 114 that is configured to control one or more control elements 120 of the vehicle 100 to autonomously navigate the vehicle along one or more portions of one or more driving routes based on the virtual characterizations associated with one or more portions of the route.

[0060] The vehicle 100 includes a set of one or more external sensor devices 116, also referred to as external sensors 116, which may monitor one or more aspects of the external environment relative to the vehicle 100. Such sensors may include camera devices, video recording devices, infrared sensor devices, radar devices, light scanning devices including LIDAR devices, precipitation sensor devices, ambient wind sensor devices, ambient temperature sensor devices, position monitoring devices that may include one or more global navigation satellite system devices (e.g., GPS, BeiDou, DORIS, Galileo, GLONASS, etc.), some combination thereof, etc. One or more external sensor devices 116 may generate sensor data associated with the environment as the vehicle 100 navigates through an environment. The sensor data generated by one or more sensor devices 116 may be transmitted as input data to the ANS 110, where the input data may be used by the route characterization module 112 to form, update, maintain virtual characterizations of one or more portions of the route that the vehicle 100 is navigating through, etc. The external sensor devices 116 may generate sensor data when the vehicle 100 is manually navigated, autonomously navigated, etc.

[0061] Vehicle 100 includes a set of one or more internal sensors 118, also referred to as internal sensor devices 118, which can monitor one or more aspects of vehicle 100. Such sensors can include: camera devices configured to collect image data of one or more users in the interior cabin of the vehicle; control element sensors that monitor the operating states of various control elements 120 of the vehicle; accelerometers; speed sensors; component sensors that monitor the states of various automotive components (e.g., sensors that monitor the rotational movement of one or more wheels of the vehicle), etc. When vehicle 100 navigates through the environment, one or more internal sensor devices 118 can generate sensor data associated with vehicle 100. The sensor data generated by one or more internal sensor devices 118 can be transmitted as input data to ANS 110, where the input data can be used by the route characterization module to form, update, and maintain a virtual characterization of one or more portions of the route that vehicle 100 is navigating through, etc. When vehicle 100 is manually navigated, autonomously navigated, etc., internal sensor devices 118 can generate sensor data.

[0062] Vehicle 100 includes one or more sets of interfaces 130. One or more interfaces 130 can include one or more user interface devices, also referred to as user interfaces, that vehicle 100's users can utilize to interact with one or more portions of ANS 100, control elements 120, etc. For example, interface 130 can include a display interface that a user can utilize to interact to command ANS 110 to autonomously navigate vehicle 100 along one or more specific routes based at least in part on one or more virtual characterizations of one or more portions of the route.

[0063] In some embodiments, one or more interfaces 130 include one or more communication interfaces that can communicatively couple ANS 110 with one or more remote servers, systems, etc. via one or more communication networks. For example, interface 130 can include a wireless communication transceiver that can communicatively couple ANS 110 with one or more remote servers via one or more wireless communication networks including cloud servers. ANS 110 can transmit virtual route characterizations, various sets of input data, etc. to remote servers, systems, etc. via one or more interfaces 130 and can receive virtual characterizations of one or more road portions, etc. from one or more remote servers, systems, etc.

[0064] Formation of Route Representation

[0065] In some embodiments, when a vehicle is navigating through one or more road segments, the ANS may form one or more virtual representations of the one or more road segments, and subsequently the ANS may utilize these virtual representations to autonomously navigate the vehicle through the one or more road segments based on monitoring various static features, dynamic features, driving features, etc. Such monitoring may be achieved when the vehicle is manually navigated through the one or more road segments by a vehicle user, such that the ANS may form a representation of the static features of a route by monitoring the static features while the vehicle is manually navigated along the route, and based on monitoring the driving features when the user manually navigates the vehicle through the road segment, and monitoring the driving features of other vehicles approaching the local vehicle navigating through the road segment, etc., a set of driving rules may be formed that specify the manner in which the ANS navigates the vehicle through the one or more road segments. Thus, the ANS of the vehicle, based on monitoring the manual navigation along the route and various features observed when the vehicle is manually navigated through the route, may form both a representation of the physical state of the route (e.g., static features) and a representation of the manner of navigating along the route (e.g., driving rules). Thus, the ANS may form representations for autonomous navigation of a route independently of externally received representation data or pre-existing representation data.

[0066] Figure 2 A schematic illustration of a vehicle 202 is shown in accordance with some embodiments, the vehicle including an ANS 201 and a set of sensor devices 203, and is navigating through a region 200 that includes a plurality of road segments 210A through 210D including roads 208, 218. The vehicle 202 may be manually navigated through the route, and the sensor devices 203 may include one or more external sensor devices, vehicle sensor devices, etc. The vehicle 202 and the ANS 201 may be included in any embodiment of a vehicle, ANS, etc.

[0067] As shown in the illustrated embodiment, a region 200 that includes one or more different roads 208, 218 may be divided into various road "segments" 210. The ANS may distinguish the individual road segments based on position data received from one or more position sensors in the vehicle 202, one or more various static features included in the region 200, etc. The different road segments 210 may have different sizes, which may be at least partially based on the driving speed of vehicles navigating on the road including the road segment, environmental conditions, etc. For example, road 208 may be a highway with an average driving speed higher than the average driving speed of a road that may be a ramp curve 218; thus, each of the road segments 210A through 210C of road 208 may be larger than road segment 210D of road 218.

[0068] In some embodiments, when a vehicle (manually, autonomously, etc.) is navigating through one or more different roads, the ANS included in the vehicle monitors various static characteristic features of each road portion of each road as the vehicle navigates through each road portion, monitors various driving characteristics of the vehicle user, other nearby vehicles, etc., and some combination thereof, etc. Such monitoring, which can be implemented by the ANS based on input data received from sensor 203, can include processing various features to form a virtual representation of one or more road portions through which the vehicle is being navigated. The ANS can then utilize the virtual representation to autonomously navigate the vehicle through one or more road portions.

[0069] In some embodiments, monitoring various static characteristic features of a road portion includes identifying various static features associated with the road portion. For example, in the illustrated embodiment, in the case where vehicle 202 is navigating through road portion 210B of road 208, sensor device 203 can monitor various aspects of the external environment of region 200 to identify various static features associated with road portion 210B, including edges 212A to 212B, lane boundaries 217A to 217B, lanes 214A to 214C of road 208. In some embodiments, one or more sensor devices 203 can identify the material composition of one or more portions of road 208. For example, the sensor device 203 of vehicle 202 can include an internal sensor device that can monitor the rotational movement of the wheels of vehicle 202 to determine whether the vehicle is navigating through an asphalt surface, a gravel surface, a concrete surface, a dirt surface, etc.

[0070] In some embodiments, sensor device 203 can monitor various aspects of the external environment of region 200 to identify various static features associated with road portion 210B of a road that is external to road 208, including static landmarks 213, natural environmental elements 215, road ramps 242, road signs 221, 223, etc.

[0071] In some embodiments, identifying static features includes identifying information associated with the static features, including identifying information presented on road signs. For example, region 200 includes road signs 221, 223, where road sign 221 indicates the presence of a ramp curve 218, and road sign 223 is a speed limit sign indicating the speed limit for at least road portion 210B. Monitoring static features associated with road portion 210B as vehicle 202 navigates through portion 210B includes the ANS determining the physical locations of road signs 221, 223 in road portion 210B based on monitoring the external environment of region 200, identifying the information presented on road signs 221, 223, and including such information as part of the virtual representation of that road portion. For example, as vehicle 202 navigates through road portion 210B, ANS 201 may identify the physical location of road sign 223 in portion 210B based on monitoring region 200 by sensor 203, identify that road sign 223 is a speed limit sign, identify the speed limit indicated by the road sign as 55 miles per hour, and incorporate such information into the driving rule representation associated with at least road portion 210B as the maximum driving speed when navigating through at least portion 210B.

[0072] In some embodiments, sensor device 203 may monitor driving characteristics of vehicle 202, other vehicles 232 to 236, etc., as they approach vehicle 202 while navigating through road portion 210. ANS 201 may utilize such driving characteristics to form one or more portions of the virtual representation of one or more road portions, including one or more static feature representations, driving rules, etc. For example, based on monitoring the driving speeds of one or more of vehicles 202, 232 to 236 as they navigate through road portions 210A to 210C, ANS 201 may determine the driving speed range for autonomous navigation through one or more road portions 210A to 210C. ANS 201 may determine, based on monitoring the driving characteristics of one or more of vehicles 202, 232 to 236, the allowable range of acceleration associated with navigating through a particular portion 210A to 210C, the location in the road portion where an acceleration event may occur, the location of lanes 214A to 214C in the road, the allowable range of the spacing distance 252, 254 between vehicle 202 and other vehicles as vehicle 202 navigates through one or more road portions 210A to 210C in a common lane 214, the allowable range of the spacing distance 256A to 256B between vehicle 202 and one or more boundaries of lane 214B in which vehicle 202 is navigating, etc.

[0073] In some embodiments, driving characteristics monitored as a vehicle navigates through a road segment are associated with one or more other road segments. For example, in the case where ANS 201 monitors the spacing 252 between vehicle 202 and another trailing vehicle 234 as vehicle 202 navigates through section 210B, ANS 201 may form a driving rule that specifies that the spacing 252 is the minimum allowable spacing between vehicle 202 and a leading vehicle 236 as vehicle 202 navigates through road segments 210A and 210C. Such association may be at least partially based on similarities between road segments. For example, driving characteristics determined based on input data generated as vehicle 202 navigates through one or more of road segments 210A to 210C may be used to form a driving rule representation included in a virtual representation of any similar road segments 210A to 210C, and such driving representations are not used to form driving rules included in a virtual representation of dissimilar road surface section 210D.

[0074] Figure 3 A schematic illustration of a vehicle 302 is shown in accordance with some embodiments. The vehicle includes ANS 301 and a set of sensor devices 303 and is navigating through an area 300 that includes multiple road segments 310A to 310C of roads 208, 218. Vehicle 302 may be manually navigated through a route, and sensor device 203 may include one or more external sensor devices, vehicle sensor devices, etc. Vehicle 302 and ANS 301 may be included in any embodiment of a vehicle, ANS, etc.

[0075] In some embodiments, an ANS may utilize driving characteristics monitored as a vehicle navigates through a road segment to determine static characteristic properties of the road segment included in a virtual representation of the road segment.

[0076] For example, in Figure 3 the illustrated embodiment, vehicle 302 is navigating along an unpaved road 308 that lacks clearly defined edges and lane boundaries. ANS 301 may determine edges 312A to 312B, lanes 314A to 314B, and lane boundaries 317 of road 308 based at least in part on driving characteristics of vehicle 302 monitored as a user of vehicle 302 navigates vehicle 302 through one or more road segments 310A to 310C, and based on driving characteristics of one or more other vehicles 332 monitored as another vehicle 332 navigates vehicle 302 through one or more road segments 310A to 310C, based on some combination thereof, etc. As shown, ANS 301 may determine edges 312A to 312B, lanes 314A to 314B, and boundary 317 based on monitoring driving characteristics of vehicle 302 and vehicle 332. Additionally, ANS 301 may determine that lane 314B is associated with driving in the opposite direction relative to driving in lane 314A.

[0077] Figure 4 shows a block diagram of an autonomous navigation system (ANS) according to some embodiments. As described above with respect to Figure 1 shown, ANS 400 can be implemented by one or more computer systems and / or by any combination of hardware and / or software configured to perform the various features, modules, or other components discussed below, such as one or more of a variety of general-purpose processors, graphics processing units, or dedicated hardware components, and can be included in any embodiment of the ANS.

[0078] ANS 400 includes various modules that can be implemented by one or more instances of hardware, software, etc. ANS 400 includes a route characterization module 401 configured to form a virtual characterization of each road segment based on input data generated by monitoring a vehicle including ANS 400 as it navigates through various road segments.

[0079] ANS 400 includes an input data module 410 configured to receive input data from various data sources, and the input data module can include one or more sensor devices. In some embodiments, module 410 is configured to process at least some of the input data based on one or more instances of the input data and determine various static feature characterizations, driving rule characterizations, etc. Input data can be received from various data sources based on a vehicle navigating on one or more road segments, where such navigation can be manual, autonomous, some combination thereof, etc.

[0080] Input data module 410 includes an external sensor module 412 configured to receive input data from one or more external sensors of the vehicle, where the input data can be generated by one or more external sensors while the vehicle navigates through one or more road segments along one or more driving routes.

[0081] Module 412 can include a static feature module 414 that monitors one or more static features included in one or more road segments as the vehicle navigates through the one or more road segments. Such monitoring can include determining the geographical location of the static feature, identifying the information presented by the static feature, classifying the static feature, etc. For example, module 414 can identify road edges, lane boundaries, road signs, etc. based on monitoring image data generated by a camera device that monitors the external environment of the vehicle.

[0082] In some embodiments, as vehicle 401 navigates through one or more road segments, module 414 monitors the physical location of vehicle 401 (also referred to herein as “geographical location,” “geographical place,” etc.). Such monitoring may include determining the geographical location of the vehicle in which ANS 400 is located, at least in part, based on input data received from a global navigation satellite system device. Such physical location data may be used to form a static characterization of the road segment that the vehicle in which ANS 400 is located is navigating, the static characterization including the physical location of the road segment, a characterization of the driving rules for the road segment, including the speed for driving through the road segment, some combination thereof, etc.

[0083] Module 412 may include a dynamic features module 416 that monitors one or more dynamic features encountered as the vehicle navigates through one or more road segments, including other vehicles navigating through the road segment, vehicles stopped in the road segment, emergency vehicles, vehicle accidents, pedestrians, ambient conditions, visibility, etc. Based on the one or more dynamic features encountered in the one or more road segments, module 416 may form one or more driving rule characterizations, static characterization, etc. associated with the road segment.

[0084] Module 412 may include a driving features module 418 that may monitor the driving features of one or more external vehicles that approach the vehicle in which ANS 400 is located for navigation as the vehicle navigates through one or more road segments. Such driving features may include driving speed, acceleration rate, spacing between road boundaries, lane boundaries, other vehicles, physical location, etc. Based on the driving features of the one or more external vehicles monitored in the one or more road segments, module 418 may form one or more driving rule characterizations, static characterization, etc. associated with the road segment.

[0085] Input data module 410 includes an internal sensors module 422 that is configured to receive input data from one or more internal sensors of the vehicle, where the input data may be generated by the one or more internal sensors while the vehicle in which ANS 400 is located navigates along one or more driving routes through one or more road segments.

[0086] Module 422 may include a control element module 426 that monitors one or more instances of input data associated with one or more control elements of a vehicle in which the ANS 400 is disposed as the vehicle navigates through one or more road segments. Such input data may include throttle position data, steering element position, brake device status, wheel speed, commands to such elements from one or more user interfaces, some combination thereof, and the like. Based on the control element input data, module 426 may form one or more driving rule characterizations associated with the road segments through which the vehicle in which the ANS 400 is disposed navigates, one or more static feature characterizations of the road segments through which the vehicle in which the ANS 400 is disposed navigates, and the like.

[0087] Module 422 may include a local driving feature module 428 that monitors driving features of the vehicle in which the ANS 400 is disposed as the vehicle navigates through one or more road segments, including driving features of a vehicle user as the user manually navigates the vehicle through one or more road segments. Such driving features may include driving speed, acceleration rate, spacing between road boundaries, lane boundaries, other vehicles, physical location, and the like. Based on the monitored driving features of the vehicle in which the ANS 400 is disposed located on one or more road segments, module 428 may form one or more driving rule characterizations, static feature characterizations, and the like associated with the one or more road segments.

[0088] ANS 400 includes a processing module 430 configured to process the input data received at module 410 to form one or more virtual characterizations of one or more road segments. In some embodiments, module 430 is configured to process at least some of the input data and determine a virtual characterization of a road segment that includes a characterization of static features included in the road segment, a characterization of driving rules for navigating through the road segment, some combination thereof, and the like.

[0089] Module 430 may include a static feature characterization module 432 configured to form a virtual representation of the static features of a particular road segment based on one or more instances of input data associated with the road segment received at module 410. Module 430 may include a driving rule characterization module 434 configured to form a virtual representation of the driving rules associated with a particular road segment based on one or more instances of input data associated with the road segment received at module 410. Modules 432, 434 are configured to generate virtual representations associated with one or more road segments based on sensor data generated and received at module 410 when vehicle 401 navigates through one or more road segments. In some embodiments, module 430 is configured to generate one or more virtual road segment representations of one or more road segments, where the representations include various driving rule characterizations and static feature characterizations associated with the road segments. In some embodiments, module 430 is configured to generate one or more virtual route representations of one or more driving routes, where the generated virtual route representations include at least a set of virtual road segment representations of the individual road segments included in the route.

[0090] In some embodiments, module 430 is configured to update a previously formed virtual representation of a road segment at least in part based on an additional set of input data received at module 410 when the vehicle in which ANS 400 is located subsequently navigates through the road segment at least once. In some embodiments, one or more of modules 432, 434 may update one or more portions of the virtual representation of the road segment at least in part based on determining differences between one or more static features, driving characteristics, etc. associated with the subsequent navigation through the road segment. For example, in the case where the initially formed virtual representation of a road segment includes a static feature characterization of the road segment, and in the case where module 432 determines, based on processing input data generated when the vehicle in which ANS 400 is located subsequently navigates through the same road segment again, that there are additional static features (including road signs) that were not characterized in the initial static feature characterization, module 432 may update the static feature characterization of the road segment to incorporate the additional static features.

[0091] In some embodiments, module 430 is configured to evaluate the virtual representation of a road segment to determine whether to enable autonomous navigation of at least the road segment based on the virtual representation. Such evaluation may include: determining a confidence metric associated with the virtual representation of the road segment; tracking changes in the confidence metric for continuous monitoring of the road segment based on consecutive navigation of the vehicle in which ANS 400 is located through the road segment; comparing the confidence metric to one or more different thresholds; etc.

[0092] Module 430 may include an evaluation module 436 configured to evaluate a virtual representation of a road portion such that the module 436 associates a confidence metric with the representation. The confidence metric may indicate the confidence in static features, driving features, etc. associated with the road portion represented within a range of a certain level of accuracy, precision, some combination thereof, etc. For example, a confidence metric associated with a virtual representation of a road portion may indicate the confidence in all road static features (e.g., road edges, lanes, lane boundaries, road signs, etc.) associated with the road portion represented within a range of a certain level of accuracy.

[0093] In some embodiments, the module 436 updates the confidence metric of the virtual representation of the road portion over time based on the sequential processing of a sequentially generated set of input data associated with the road portion. For example, when the vehicle in which the ANS 400 is located navigates through a given road portion multiple times and the sequential processing of the sequentially generated set of input data associated with the road portion results in little or no additional change in the formed virtual representation of the road portion, the module 436 may sequentially adjust the confidence metric associated with the virtual representation to reflect an increased confidence in the accuracy and precision of the virtual representation. When a set of input data results in a substantial modification of the virtual representation of the road portion after being processed, the module 436 may reduce the confidence metric associated with the virtual representation.

[0094] In some embodiments, the evaluation module 436 evaluates one or more portions of a driving route and determines whether to enable autonomous navigation of the vehicle in which the ANS 400 is located through one or more portions of the driving route at least in part based on determining whether the confidence metric is associated with a set of virtual representations of road portions that at least meet a certain continuous distance threshold, at least meet a certain threshold level. For example, the evaluation module 436 may determine, at least in part, based on determining that a continuous set consisting of twelve (12) road portions included in a specific driving route has an associated confidence metric with an indication of confidence exceeding a threshold (including a specific level of 90%), that the evaluation module 436 may enable the availability of autonomous navigation for at least a portion of the twelve road portions. Such enabling may include establishing one or more "transition" route portions where a transition between manual navigation and autonomous navigation occurs. Such transitions may include: an autonomous transition portion where the user is instructed to release manual control of one or more control elements of the vehicle in which the ANS 400 is located; a manual transition portion where the user is alerted to take manual control of one or more control elements of the vehicle in which the ANS 400 is located; some combination thereof, etc.

[0095] Module 430 may include a management module 438 configured to monitor a characterization of one or more road segments to determine whether additional processing is needed to enable autonomous navigation of the one or more road segments. Such additional processing may include implementing one or more processing operations at one or more computer systems implementing the ANS 400. Monitoring at module 438 may include monitoring a continuous change in a confidence metric associated with a virtual characterization over time and determining whether additional processing is needed based on the temporal change in the confidence metric. For example, module 438 may monitor the rate of change of a confidence metric associated with a virtual characterization over time.

[0096] In some embodiments, module 438 determines that additional processing of the virtual characterization of the road segment, input data associated with the road segment, some combination thereof, etc. is needed based on determining that the rate of change of the associated confidence metric does not meet a threshold rate. For example, if the confidence metric associated with the virtual characterization of a particular road segment fluctuates over time and does not increase at a rate greater than a particular rate, module 438 may determine that additional processing associated with the road segment is needed. Such additional processing may include evaluating multiple sets of input data generated during multiple individual navigations through the road segment, evaluating one or more portions of the virtual characterization determined to vary repeatedly with successive sets of input data, etc.

[0097] In some embodiments, module 438 is configured to determine whether to upload one or more of the virtual characterization of the road segment, one or more sets of input data associated with the road segment, etc. to one or more remote systems, services, etc. for additional management, processing, etc. For example, if, after additional processing at the computer system implementing the ANS 400, the confidence metric associated with the virtual characterization does not at least meet a threshold level, module 438 may determine to upload the virtual characterization and the sets of input data associated with the road segment to a remote service, which may include a cloud service.

[0098] Module 400 includes an interface module 450 that is configured to present information associated with autonomous navigation to a user of the vehicle in which ANS 400 is located via one or more user interfaces of the vehicle in which ANS 400 is located, receive user-initiated commands, etc. from the user via one or more user interfaces of the vehicle in which ANS 400 is located. For example, based on determining at module 430 that autonomous navigation of a partial driving route including a set of road segments is enabled, module 450 may present a representation of the driving route, including a representation of the driving route segment for which autonomous navigation is enabled, and invite the user to indicate whether to participate in the autonomous navigation of the driving route segment. The interface module 450 may receive user-initiated commands to participate in the autonomous driving of one or more segments of the driving route. In some embodiments, ANS 400 may participate in the autonomous navigation of the driving route segments for which autonomous navigation is enabled via one or more user interfaces, independent of the user's interaction with ANS. For example, after autonomous navigation of a road segment is enabled, once the vehicle in which ANS is located encounters the road segment, ANS may automatically participate in the autonomous navigation without user intervention. Such automatic participation in autonomous navigation may be selectively enabled based on the user's interaction with ANS via one or more user interfaces included in the vehicle.

[0099] Module 400 includes a communication module 460 that is configured to communicatively couple with one or more remote services, systems, etc. via one or more communication networks. For example, module 460 may communicatively couple with remote services, systems, etc. via a wireless communication network, a cellular communication network, a satellite communication network, etc. Module 460 may transmit data to and receive data from one or more remote services, systems, etc., including uploading virtual representations, input data sets, etc. to remote services, systems, etc., receiving one or more virtual representations from remote services, systems, etc., some combination thereof, etc.

[0100] Module 400 includes a database module 440 that is configured to store one or more virtual representations 442. Such representations may include one or more virtual road segment representations, one or more virtual route segments including a set or sets of virtual road segment representations, some combination thereof, etc. As described above, the virtual representations 442 may be formed at module 430 based on one or more sets of input data that are generated based on monitoring one or more of external data, vehicle data, etc. when the vehicle in which ANS 400 is located navigates through a particular road segment. The virtual route representation may include representations of the individual road segments included in the route, including indications of the starting and destination positions of the route. For example, when the vehicle navigates along a set of particular road segments between two locations according to a route, a virtual representation may be formed for each road segment, and the virtual route representation indicates the individual road segments included in the route. In some embodiments, the virtual route representation includes an indication of which road segments in the route are enabled for autonomous navigation.

[0101] As shown, each virtual representation 442 included in the database module 440 may include a set of driving rule representations 444 and a set of static feature representations 446 for each representation 442. The driving rule representations represent a set of driving rules that can be used to autonomously navigate the vehicle 401 through one or more road segments. The static feature representations represent the individual static features included in the one or more road segments. Additionally, the virtual representation 442 may include a confidence metric 448 associated with the representation 442.

[0102] Figures 5A to 5C A user interface associated with an autonomous navigation system is shown in accordance with some embodiments. The user interface may be generated by any embodiment of the ANS.

[0103] The user interface 500 is a display interface presenting a graphical user interface (GUI) 502 of a display screen. The illustrated GUI 502 shows a map representation including a set of roads 510A - 510E in a particular geographic area. The set of roads 510A - 510E may be referred to as at least a portion of a road network.

[0104] In some embodiments, the user interface presented to a user of a vehicle including the ANS includes a representation of a route that the vehicle can navigate between one or more locations. The representation of the route may be presented to the interface based on one or more user-initiated commands to display a particular re-represented route on the presented GUI 502 map. Each route may be associated with a particular title (e.g., "Route to Work"), and the user may interact with one or more user interfaces to select a particular route based on identifying the particular title associated with the route that the user desires to navigate the vehicle along. In some embodiments, the user interface presents the representation of the particular route at least based on an expectation that the user of the vehicle will desire to navigate the vehicle along the particular route. Such an expectation may be at least partially based on the expectation that the vehicle is currently located at a physical location corresponding to the starting location of one or more particular routes, and a particular time of day at which the vehicle is currently located, the particular time corresponding to a time range during which a particular route has been navigated from the starting location.

[0105] In some embodiments, the GUI presents interface elements (e.g., one or more icons, message prompts, etc.) including one or more interactive elements, each interactive element representing a separate route with which the user may interact to command the interface to present a representation of a particular route. Each route may be a route for which a particular virtual representation is stored at the ANS and may be associated with a particular route title. The route title may be specified by the user, the ANS, some combination thereof, etc.

[0106] In some embodiments, the interface elements presented by the GUI are at least partially based on one or more of the current location of the vehicle in which the interface and the ANS are located, the current time at that location, and some combination thereof, to indicate limited options of routes stored by the ANS with virtual representations. For example, when the vehicle is currently near one or more locations that are the starting locations of one or more routes stored with virtual representations in the ANS, the interface may present interactive elements (including one or more presentations of one or more routes) and prompt the user to interact with one or more representations to select one or more routes. Once an indication of the user's interaction with one or more specific representations is received, the interface may interact with the ANS to present a graphical representation of one or more routes associated with the one or more specific representations.

[0107] As Figure 5A shown, multiple roads 510A - 510E are presented on the GUI 502, and the GUI also presents multiple location icons 520A - 520D associated with multiple locations. In the illustrated embodiment, the vehicle in which the interface 500 is located may currently be near location 520A, which may be the starting location of several separate routes to a destination location. As shown, three locations 520B - 520D are presented at certain locations relative to the shown roads 510, and the locations correspond to the physical locations of the locations relative to the roads. Each individual location may be the destination location of one or more driving routes starting from the starting location 520A.

[0108] In some embodiments, the individual locations 520B - 520D may be presented in the GUI in response to identifying that the vehicle in which the interface 500 is located is near location 520A, identifying that location 520A is the starting location of multiple individual driving routes, and identifying that locations 520B - 520D are the destination locations of one or more of the identified individual driving routes. For example, in response to detecting that the user has occupied the vehicle, the ANS and the interface may interoperate to identify the current location of the vehicle based on input data received at the ANS from one or more sensor devices. The ANS may identify one or more starting locations of one or more driving routes whose virtual representations are stored at the ANS, the starting locations being near the current location of the vehicle, and may further identify one or more destination locations of the one or more driving routes. The interface may present a graphical representation of the identified starting and destination locations to the user and may also present one or more interactive interface elements that the user can interact with to select one or more driving routes. As shown, the GUI 502 includes an interface element 580 that includes three individual representations 590A - 590C of three individual driving routes. Each driving route may have a starting location 520A and a separate one of the shown destination locations 520B - 520D. As shown, each representation 590A - 590C includes a route title associated with the corresponding driving route. Each representation may be interactive such that the user can interact with one or more of the representations 590 to select one or more driving routes associated with the representation. In response to a user-initiated interaction with one or more specific representations 590A - 590C, one or more of the ANS and the interface may identify that the user has selected a specific driving route and present a representation of that driving route on the GUI.

[0109] Figure 5B The GUI 502 is shown presenting a representation of a specific driving route 530 that extends between the starting location 520A and the destination location 520B. The driving route 530 includes a set of road segments 532 that extend between the two locations 520A - 520B. In some embodiments, the shown route 530 does not indicate the boundaries between the individual road segments 532 included in the route 530.

[0110] In some embodiments, a specifically represented driving route includes one or more portions enabling autonomous navigation. In the shown embodiment, the representation 530 of the driving route includes a representation of a portion 540 of the route enabling autonomous navigation. The representation may include a message 570 that invites the user to indicate whether to participate in the autonomous navigation of the portion 540 of the route enabling autonomous navigation by interacting with one or more interactive elements 572 of the GUI 502.

[0111] In some embodiments, when portion 540 of route 530 enables its autonomous navigation, a portion of the portion 540 is associated with the transition between manual navigation and autonomous navigation. For example, transition region 546 of portion 540 is associated with the transition of route 530 to location 520B from autonomous navigation of portion 540 to manual navigation of the remaining portion. In some embodiments, the GUI is configured to present various messages to the user based on the current location of the vehicle that includes interface device 500. For example, when the vehicle is autonomously navigating through portion 540 and crosses boundary 545 into the transition portion, GUI 502 may present a warning message that warns the user of the impending transfer to manual navigation. When the vehicle crosses boundary 547, autonomous navigation may be disabled, and a message warning the user of this fact may be presented on GUI 502. One or more warnings presented on user interface 502 may be accompanied by other warning signals presented via one or more other user interfaces. For example, presenting a warning message on GUI 502 may be accompanied by an audio signal presented via one or more speaker interfaces of the vehicle.

[0112] In some embodiments, portion 540 is represented in a different manner than the rest of route 530. For example, portion 540 may be represented in a different color than the rest of route 530. In another example, an animation effect may be presented on portion 540.

[0113] Figure 5C A user interface associated with an autonomous navigation system according to some embodiments is shown. The user interface may be generated by any embodiment of the ANS. In some embodiments, when the portion of the route enabling autonomous navigation changes over time, the representation of portion 540 of the route enabling autonomous navigation may change accordingly. For example, as shown, when the road portion in the route enabling autonomous navigation includes an additional portion extending towards location 520B relative to the portion shown, the representation of portion 540 that will extend accordingly may be shown in GUI 502. When portion 540 extends during a recent period of time, the extending element of portion 540 may be represented in a different manner than the rest of portion 540, including being represented in a different color than the rest of portion 540. Figure 5B A user interface associated with an autonomous navigation system according to some embodiments is shown. The user interface may be generated by any embodiment of the ANS.

[0114] Figure 6 A user interface associated with an autonomous navigation system according to some embodiments is shown. The user interface may be generated by any embodiment of the ANS.

[0115] In some embodiments, when one or more alternative routes between one or more specific locations are available relative to the most recently navigated route between one or more specific locations, an indication of such one or more alternative routes may be presented to the user via a user interface, and the user may be requested to participate in the navigation of one or more alternative routes relative to the most recently navigated route.

[0116] Autonomous navigation of one or more portions of a route may be enabled based on determining that a confidence metric associated with a virtual representation of one or more road segments included in a driving route is not high enough, to propose an alternative route to the user. The alternative route may include a route for which autonomous navigation is enabled for one or more of its portions, such that proposing to the user to participate in the navigation of the alternative route includes inviting participation in the autonomous navigation of one or more of the portions of the alternative route. In some embodiments, the alternative route does not include portions for which autonomous navigation is enabled, and virtual representations of one or more portions of the alternative route may not currently exist. Accordingly, proposing to navigate the alternative route may include inviting the user to manually navigate along the route such that virtual representations of one or more road segments included in the alternative route may be formed and autonomous navigation of the alternative route may subsequently be enabled.

[0117] In the illustrated embodiment, user interface device 600 includes a display interface 602, which may include GUI 602. GUI 602 shows one or more representations of one or more roads 610A - 610E and a representation of a particular driving route 620 between a starting location 612A and a destination location 612B. As further shown in the figure, GUI 602 shows a representation of an alternative route 630 between two locations 612A - 612B and a message 670 that prompts the user to selectively participate in or decline to participate in the autonomous navigation of the alternative route 630 rather than navigate along route 620 based at least in part on interacting with one or more interactive elements 672 - 674 of GUI 602.

[0118] Figure 7 Forming a virtual representation of one or more road segments to enable autonomous navigation of the one or more road segments is shown in accordance with some embodiments. The forming process may be implemented by any embodiment of an ANS included in one or more vehicles and may be implemented by one or more computer systems.

[0119] At 702, based on a vehicle that has received manual navigation through one or more road segments, a set of input data is received from one or more sensor devices of the vehicle. The set of input data may include: external sensor data that indicates various static features of the road segments; vehicle sensor data that indicates various instances of data associated with the vehicle; driving characteristic data that is associated with the vehicle and one or more of one or more other external vehicles that navigate the road segments in the vicinity of the vehicle; some combination thereof, etc.

[0120] At 704, based at least in part on processing at least some of the received set of input data, a virtual representation of one or more road segments is formed. The virtual representation may include a representation of a set of driving rules associated with navigating through the road segments, a representation of the static features of the road segments, some combination thereof, etc. In some embodiments, forming a virtual representation of one or more road segments includes forming a virtual representation of a driving route that includes one or more sets of road segments, through which the vehicle navigates between one or more starting positions, destination positions, etc.

[0121] At 706, a confidence metric associated with the formed virtual representation of one or more road segments is determined. The confidence metric may indicate a confidence associated with one or more of the accuracy, precision, etc. of the virtual representation of the one or more road segments. At 708, it is determined whether the confidence metric associated with the one or more virtual representations at least meets a confidence threshold level. The threshold level may be associated with a confidence metric that is high enough such that the virtual representation of the one or more road segments can be used to safely participate in autonomous navigation through the one or more road segments. If so, then at 709, autonomous navigation of the one or more road segments is enabled such that autonomous navigation of the one or more road segments can be participated in. If not, then at 710, based on the continuous change of the continuous input data sets according to the virtual representation, it is determined whether the rate of change of the confidence metric of the one or more virtual representations is greater than a threshold rate level, where the continuous input data sets are generated based on continuous manual navigation through the one or more road segments. If so, the process 702 - 710 is iteratively repeated by continuously manually navigating through the one or more road segments, thereby resulting in the generation of continuous input data sets for updating the virtual representation and the confidence metric of the one or more road segments, until the confidence metric increases above the confidence threshold and changes at a rate less than the confidence rate threshold, etc.

[0122] As shown at 712, if the rate of change of the confidence metric of one or more virtual representations of one or more road segments is determined to be less than a confidence rate threshold at 710, then one or more of the virtual representation, the input data set, etc. may be uploaded to a remote service, system, etc. for additional processing to modify the virtual representation, thereby increasing the confidence metric associated with the virtual representation that exceeds the confidence threshold. At 714, it is determined whether an alternative route is available with respect to a driving route that includes one or more road segments. In some embodiments, the alternative route includes one or more segments enabling autonomous navigation. At 716, if an alternative route is available, then the alternative route may be proposed to a user of the vehicle as an option for navigating between a starting location and a destination location via one or more user interfaces of the vehicle, the alternative route replacing the driving route that most recently navigated between the starting location and the destination location.

[0123] Autonomous Navigation Network

[0124] In some embodiments, multiple ANSs are installed in multiple individual vehicles, and each individual ANS may form a virtual representation of one or more driving routes navigated by the respective vehicle in which the corresponding ANS is installed. In some embodiments, multiple individual ANSs may be communicatively coupled to and transmit data with a remote system, service, etc. The remote system, service, etc. may include a navigation monitoring system implemented on one or more computer systems external to the multiple vehicles and communicatively coupled to the one or more vehicles via one or more communication networks. One or more monitoring systems may be communicatively coupled via one or more communication networks, and the ANS in a given vehicle may be communicatively coupled to one or more navigation monitoring systems.

[0125] Data communication between multiple ANSs and one or more monitoring systems may include each ANS “uploading” one or more sets of virtual route representations, virtual road segment representations, input data received from sensors of the vehicle in which the uploading ANS is located, etc. In some embodiments, the ANS uploads the virtual representation to a remote system, service, etc., which incorporates the representation and the input data into a database at the navigation monitoring system. In some embodiments, the ANS uploads one or more virtual representations, input data sets, etc. to be processed by the navigation monitoring system to refine one or more virtual representations such that autonomous driving may be enabled for one or more of the representations.

[0126] Data communication between multiple ANSs and one or more monitoring systems may include a navigation monitoring system distributing or "downloading" one or more virtual representations of one or more driving routes, road segments, etc. to one or more ANSs installed in one or more vehicles. Virtual representations distributed from the navigation monitoring system to the ANSs may include virtual representations formed at least in part at the navigation monitoring system based on data received from one or more ANSs, virtual representations formed at a separate ANS and uploaded to the navigation monitoring system, some combination thereof, etc.

[0127] Figure 8 FIG. shows a schematic diagram of an autonomous navigation network 800 according to some embodiments, the autonomous navigation network including a plurality of ANSs 804A - 804F located in separate vehicles 802A - 802F, the ANSs being communicatively coupled via one or more communication links 820 to a navigation monitoring system 810 over one or more communication networks. Each ANS 804 shown may include any ANS as shown in any of the above embodiments.

[0128] In some embodiments, the navigation monitoring system 810 implemented on one or more computer systems external to the respective vehicles 802 in the network 800 includes a processing module 812 implemented by one or more instances of processing circuitry included in the navigation monitoring system, which may process one or more sets of input data associated with one or more road segments, one or more virtual representations of one or more road segments, one or more virtual representations of one or more driving routes, some combination thereof, etc. In some embodiments, the navigation monitoring system 810 includes a database 814 in which a plurality of different virtual representations 816 of one or more driving routes, one or more road segments, etc. are stored.

[0129] In some embodiments, the navigation monitoring system 810 communicates with each of the ANSs 804A - 804F via one or more communication links 820. Such communication may include exchanging virtual representations, exchanging sets of input data associated with one or more road segments, etc., between one or more of the ANSs 804 and the navigation monitoring system 810. For example, each of the ANSs 804A - 804F includes at least one database 806A - 806F, in which one or more sets of input data, one or more virtual representations, etc., may be stored. The ANS 804 may upload the virtual representation formed by the ANS 804 and stored in the corresponding database 806 to the monitoring system 810 for one or more of processing, storage, etc., at the database 814. The monitoring system 810 may distribute one or more virtual representations 816 stored at the database 814 (including virtual representations received from one or more of the ANSs 804, virtual representations at least partially formed at the navigation monitoring system 810 via the processing module 812, etc.) to one or more of the ANSs 804 for storage in one or more databases 806 of the corresponding one or more of the ANSs 804. For example, a virtual route representation formed at the ANS 804E may be uploaded to the system 810 and distributed to the ANSs 804A - 804D, 804F. In some embodiments, data including some or all of the route representations may be continuously uploaded from one or more of the ANSs to the system 810. For example, while the vehicle 802A autonomously navigates a route, as the vehicle 802A continues to navigate one or more road segments, the ANS 804A may process the input data from the various sensor devices of the vehicle 802A and continuously upload the input data, virtual representations, etc., to the system 810, at least partially based on such input data, some combination thereof, etc.

[0130] Figures 9A to 9B A schematic diagram of an autonomous navigation network 900 is shown, which, according to some embodiments, includes a plurality of ANSs 904A to 904D located in autonomous vehicles 902A to 902D, which are communicatively coupled to a navigation monitoring system 910 via one or more communication links 920A to 920D over one or more communication networks. Each of the ANSs 904 shown may include any of the ANSs shown in any of the above embodiments.

[0131] In some embodiments, multiple independent ANSs in an autonomous vehicle form virtual representations of various independent group road segments, driving routes, and the like. The independent ANSs may transmit one or more of these locally formed virtual representations to a navigation monitoring system, where various features from the various ANSs may be incorporated into the set of virtual representations at the navigation monitoring system. In some embodiments, one or more ANSs in one or more autonomous vehicles simultaneously autonomously navigate one or more road segments and continuously upload virtual representations formed based on sensor data generated during the autonomous navigation of the one or more road segments.

[0132] Figure 9A Each of the independent ANSs 904A to 904D in the autonomous vehicles 902A to 902D is shown transmitting an independent group 909A to 909D of virtual road segment representations to the monitoring system 910 via independent communication links 920A to 920D. Each independent group 909A to 909D of virtual representations is shown in Figure 9A independent map representations 908A to 908D, which show that the independent groups 909A to 909D include the geographical locations and roads of the virtual representations. As shown, each map 908A to 908D is an illustrative representation of a common geographical area, and each independent group 909A to 909D of virtual representations includes multiple virtual road segment representations of a set of independent road segments. In some embodiments, the independent group of virtual representations includes virtual representations of common road segments. For example, as Figure 9A shown, the group of virtual representations 909A to 909B includes a virtual representation of the road segment 911.

[0133] The various ANSs may transmit virtual representations to the navigation monitoring system based on various triggers. For example, in response to the formation, update, etc. of the representation, in response to a timestamp trigger, in response to a query from the navigation monitoring system 910, the various ANSs 904 may transmit at least some locally formed virtual representations, locally stored virtual representations, etc. intermittently, continuously, periodically, in some combination thereof, etc. to the navigation monitoring system 910.

[0134] Upon receiving a virtual representation from an ANS, the navigation monitoring system may implement processing of the virtual representation, which may include automatically modifying various elements of the virtual representation such that a confidence metric associated with the virtual representation is improved. Processing that may be implemented by one or more processing modules 912 of the system 910 may include: processing the virtual representation in response to determining that a confidence metric associated with the received virtual representation is less than a threshold confidence indication, processing the virtual representation in response to identifying an administrative marker associated with the received virtual representation, and so on.

[0135] In some embodiments, the navigation monitoring system 910 processes received virtual representations, input data sets, etc. associated with one or more road segments relative to stored virtual representations of the one or more road segments. Such processing can include comparing two separate virtual representations of a road segment and discarding one virtual representation and storing the other in response to determining that a confidence metric associated with a preferred virtual representation is better than a confidence metric associated with a discarded virtual representation. In some embodiments, such processing can include forming a "composite" virtual representation of one or more road segments based at least in part on data combined from two or more virtual representations of the one or more road segments. For example, a composite virtual representation of a road segment can be formed based on at least some static feature characterizations included in one virtual representation of the road segment, at least some other static feature characterizations included in another virtual representation of the road segment, and at least some driving rule characterizations combined from yet another virtual representation of the road segment. Such combination of various elements from various virtual representations can be based at least in part on determining that a confidence metric associated with a given element of a given virtual representation is better than corresponding elements of other virtual representations.

[0136] Figure 9B A graphical representation of a group 919 of virtual road segment representations stored in the database 914 of the monitoring system 910 is shown, where the various representations in the group 919 can be formed based at least in part on representations 909A through 909D received from one or more ANSs 904. As shown, the group 919 of virtual representations is shown in a map representation 918, which shows the geographical locations and roads of the group 919 including virtual representations. The group 919 includes virtual representations for each road segment for which a virtual representation was received in one or more groups 909 received from one or more ANSs 904. In cases where multiple virtual representations of a road segment are received in the various groups 909, the corresponding virtual representations in the group 919 can include composite representations formed from the multiple received representations, one selected from the received virtual representations, some combination thereof, etc.

[0137] In some embodiments, the navigation monitoring system distributes at least a portion of the virtual representations stored at the navigation monitoring system to one or more ANSs via one or more communication links. In response to receiving a request for such distribution from an ANS, in response to an update to the virtual representations stored at the navigation monitoring system, in response to a timestamp trigger, the navigation monitoring system can distribute one or more virtual representations to the ANS intermittently, continuously, at periodic intervals, some combination thereof, etc. As Figure 9BAs shown, the monitoring system 910 can distribute one or more virtual representations included in the storage group 919 of virtual representations to one or more ANSs 904A to 904D via one or more communication links 920A to 920D. In some embodiments, the navigation monitoring system distributes a limited selection of virtual representations of one or more road segments to a given ANS, where the given ANS currently does not have a stored virtual representation associated with a greater confidence metric as compared to the confidence metrics associated with the limited selection of virtual representations.

[0138] In some embodiments, the ANS can communicate with the navigation monitoring system to form virtual representations of one or more road segments with a confidence metric high enough to enable autonomous navigation of the one or more road segments via the virtual representations. Such communication can include uploading one or more sets of input data associated with the road segments to be formed into one or more virtual representations, uploading the one or more formed virtual representations for additional processing, etc.

[0139] In some embodiments, the ANS can upload a virtual representation, one or more sets of input data, certain combinations thereof, etc., to the navigation monitoring system at least in part based on determining that the confidence metrics associated with one or more are changing at a rate less than a threshold during a certain number of updates of the one or more virtual representations. Such upload can include sending a request to the navigation monitoring system to effect additional processing of the virtual representation, input data, etc., to generate a modified virtual representation. Once the virtual representation is received at the navigation monitoring system, the processing module of the navigation monitoring system can effect the processing of one or more representations included in the virtual representation to generate a modified virtual representation with an improved associated confidence metric. Such processing can include effecting processing capabilities not available in the ANS. If such a modified virtual representation cannot be generated based on the processing of the navigation monitoring system, the navigation monitoring system can mark one or more portions of the virtual representation for "manual management", whereby one or more portions of the virtual representation can be modified based on user-initiated modification of the portions.

[0140] The navigation monitoring system can alert a user, operator, etc., that the virtual representation needs to be manually modified to improve its associated confidence metric. If manual management does not result in a modified virtual representation with an associated confidence metric that at least meets a threshold level, the navigation monitoring system can generate a scheduling command to schedule a dedicated sensor suite that may be included in a dedicated sensor vehicle to one or more road segments represented by the virtual representation, where the sensor suite is commanded to collect additional sets of input data associated with the road segments. Once such sets of input data are received at the navigation monitoring system from the dedicated sensor suite, the data can be processed to effect additional modification of the virtual representation of the road segments.

[0141] If such additional processing does not result in a modified virtual representation with an associated confidence metric that at least meets a threshold level, the road segment may be associated with a warning marker, and an alternative driving route may be associated with a driving route that includes the road segment with the marker. A representation of such alternative driving route may be distributed to one or more ANSs, including the ANS from which the virtual representation was initially received.

[0142] Figure 10 A "management spectrum" 1000 of a process that can be used to generate one or more virtual road segment representations in accordance with some embodiments is shown. Such management spectrum 1000 may include one or more ANSs, monitoring systems, etc., which may include any of the embodiments of the above ANSs, monitoring systems, etc.

[0143] In some embodiments, an ANS included in a vehicle implements "local management" 1001 of a virtual representation of a road segment, where the ANS processes one or more sets of input data associated with the road segment, as well as the virtual representation of the road segment, to update the virtual representation. Such processing may occur in response to receiving the set of input data, and may occur multiple times in response to a continuously generated set of input data based on the continuous navigation of the vehicle along the road segment. Such continuous processing may cause the confidence metric associated with the virtual representation to change over time. For example, with each update of the virtual representation, the confidence metric may change at least in part based on the possible changes in the virtual representation with each successive update.

[0144] As Figure 10 shown, vehicle 1002 may include an ANS 1004, which includes a processing module 1006 that can implement the update. The processing module 1006 may compare the virtual representation and the associated confidence metric with one or more threshold confidence metrics, threshold rates, etc. The ANS 1004 may selectively enable autonomous navigation of the road segment at least in part based on determining that the associated confidence metric at least meets a confidence indication threshold, which may also be interchangeably referred to as "threshold confidence indication", "threshold", etc.

[0145] In the case where the confidence metric does not meet the threshold, the ANS 1004 can determine whether the confidence metric changes over time at a minimum threshold rate and continuously update the associated virtual representation. If not, the ANS 1004 can upload some or all of the virtual representations to the navigation monitoring system 1010 to enable the next level of "management". Such management can include "remote automatic management" 1003, which includes one or more processing modules 1012 in the navigation monitoring system 1010 processing one or more virtual representations of one or more road segments to form one or more modified virtual representations. Such processing can be implemented automatically without the need for manual input by one or more users using processing capabilities not locally available to the ANS 1004. For example, the processing module 1012 of the navigation monitoring system 1010 can include a processing system, processing circuitry, etc., which are configured to implement additional processing algorithms, modification processing, etc. that can modify the received virtual representation. Implementing the automatic management 1003 to generate a modified virtual representation of a road segment with an associated confidence metric that is better than the confidence metric associated with the virtual representation of the road segment received from the ANS 1004. In some embodiments, the automatic management 1003 can result in a modified virtual representation of a road segment associated with a confidence metric that at least meets the threshold confidence indication associated with enabling autonomous navigation of the road segment. In the case where the automatic management 1003 results in the modified virtual representation, the modified virtual representation can be stored at the navigation monitoring system 1010, distributed to the ANS 1004, etc.

[0146] In the case where the automatic management 1003 results in a modified virtual representation associated with a confidence metric that at least does not meet the threshold, the navigation monitoring system 1010 is configured to enable the next level of "management", which can include "manual management" 1005, where the processing module 1012 of the navigation monitoring system 1010 implements additional processing of the virtual management based on a user-initiated manual input. The implementation of such manual management can include the processing module 1012, which responds to determining that the confidence metric of the modified virtual representation of the road segment formed via the automatic management 1003 does not at least meet the threshold. The threshold can be a confidence indication threshold associated with enabling autonomous navigation, the virtual representation initially received at the navigation monitoring system 1010 from the ANS 1004, some combination thereof, etc.

[0147] In response to such determination, generating a warning message may be included, which may be transmitted to one or more human operators supported by one or more computer systems, identifying the virtual representation and requesting "manual management" of one or more portions of the identified virtual representation. In response, the navigation monitoring system may receive one or more operator-initiated manual input commands to effect specific modifications to one or more elements of the virtual representation. The navigation monitoring system may modify the virtual representation based on the one or more operator-initiated manual input commands received to produce a modified virtual representation of the road portion with an associated confidence metric that is superior to the confidence metric associated with the virtual representation of the road portion received from the ANS 1004. In some embodiments, the manual management 1005 may result in a modified virtual representation of the road portion associated with a confidence metric that at least meets a threshold confidence indication associated with enabling autonomous navigation of the road portion. In the case where the manual management 1005 results in the modified virtual representation, the modified virtual representation may be stored at the navigation monitoring system 1010, distributed to the ANS 1004, etc.

[0148] In the case where the manual management 1005 results in a modified virtual representation associated with a confidence metric that at least does not meet the threshold, the navigation monitoring system 1010 is configured to implement the next level of "management", which may include "additional data management" 1007, where the processing module 1012 of the navigation monitoring system 1010 implements additional processing of the virtual representation of one or more road portions based on input data associated with the road portion received from one or more dedicated sensor suites, and the dedicated sensor suites are scheduled to generate data associated with the road portion. Such implementation may include the processing module 1012, which responds to the determination that the confidence metric of the modified virtual representation of the road portion formed via the manual management 1005 does not at least meet the threshold. The threshold may be a confidence indication threshold associated with enabling autonomous navigation, the virtual representation initially received from the ANS 1004 at the navigation monitoring system 1010, some combination thereof, etc.

[0149] In response to the determination, a scheduling command may be generated to one or more sensor suites 1022 that may be included in one or more dedicated sensor vehicles 1020 to proceed to a road portion characterized by a virtual representation, and additional input data associated with the road portion may be generated via various sensors included in the sensor suite 1022. The processing module 1012 of the navigation monitoring system 1010 may communicate with the sensor suite 1022 via the communication module 1016 of the navigation monitoring system 1010. The navigation monitoring system 1010 may receive a set of additional input data from the sensor suite 1022 and implement additional processing of the virtual representation of the road portion at least partially based on the additional input data. The navigation monitoring system may modify the virtual representation based on the received one or more sets of additional input data to produce a modified virtual representation of the road portion with an associated confidence metric that is better than the confidence metric associated with the virtual representation of the road portion received from the ANS 1004. In some embodiments, the management 1007 may obtain a modified virtual representation of the road portion associated with a confidence metric that at least meets a threshold confidence indication associated with enabling autonomous navigation of the road portion. In the case where the management 1007 obtains the modified virtual representation, the modified virtual representation may be stored at the navigation monitoring system 1010, distributed to the ANS 1004, etc.

[0150] Figure 11 Shows the reception and processing of virtual representations of one or more road portions according to some embodiments. The reception and processing may be implemented on one or more computer systems, including one or more computer systems that implement one or more monitoring systems, ANS, etc.

[0151] At 1102, one or more virtual representations are received. One or more virtual representations may be received from one or more ANS, monitoring systems, etc. Such virtual representations may be received at the navigation monitoring system, ANS, etc. The virtual representation may include a virtual representation of a road portion, a virtual representation of a driving route, certain combinations thereof, etc.

[0152] At 1104, it is determined whether the multiple received virtual representations are virtual representations of a common road portion, driving route, etc. For example, two independent virtual representations of a common road portion may be received from two independent ANS. Such determination of commonality may be made at least partially based on comparing one or more static feature representations, driving rule representations, etc. that will be included in the various virtual representations. For example, such commonality may be determined at least partially based on determining that two independent virtual road portion features include a common set of geographical location coordinates in the static feature representations of the independent virtual representations.

[0153] If it is determined at 1106 that there are at least two virtual representations for a common road section, driving route, etc., a composite virtual representation is formed at least in part based on each of the at least two virtual representations. Such formation may include combining at least some elements of the various virtual representations into a common composite virtual representation. For example, at least some static feature representations of one virtual representation and at least some static feature representations of another independent virtual representation may be combined into the composite virtual representation.

[0154] If at 1108 the virtual representation is the only virtual representation of a road section, driving route, etc., its composite virtual representation, certain combinations thereof, etc., the virtual representation is provided to one or more recipients. Such recipients may include a local database such that the virtual representation is stored in the database. Such recipients may include one or more remotely located ANSs, services, systems, etc., such that the virtual representation is transmitted via one or more communication links to the database. The database may be included in a navigation monitoring system communicatively coupled to a plurality of ANSs, other monitoring systems, certain combinations thereof, etc. The navigation monitoring system may distribute one or more stored virtual representations to one or more ANSs, monitoring systems, etc.

[0155] Figure 12 Illustrated is the implementation of managing at least a portion of a spectrum with respect to one or more virtual representations of one or more road sections according to some embodiments. The implementation may be realized on one or more computer systems, including one or more computer systems that implement one or more monitoring systems, ANSs, etc.

[0156] At 1202, one or more virtual representations are received. The one or more virtual representations may be received from one or more ANSs, monitoring systems, etc. Such virtual representations may be received at a navigation monitoring system, ANS, etc. The virtual representations may include a virtual representation of a road section, a virtual representation of a driving route, certain combinations thereof, etc.

[0157] At 1204, for one or more received virtual representations, it is determined whether the corresponding virtual representation has an associated confidence metric that at least meets a certain threshold, where the threshold may be a threshold associated with enabling autonomous navigation of a road section and characterized by the virtual representation. If so, at 1206, the virtual representation is stored in one or more databases.

[0158] As shown at 1208, if it is determined that a confidence metric associated with a virtual representation is less than a threshold, automatic management of the virtual representation is implemented. Such implementation may include processing one or more elements of the virtual representation, including one or more static feature representations, driving rule representations, etc., to generate a modified virtual representation. In some embodiments, the automatic management is implemented without any manual input from any human operator. In some embodiments, generating the modified virtual representation includes establishing a confidence metric associated with the modified virtual representation.

[0159] At 1210, it is determined whether the confidence metric associated with the modified virtual representation has an improved value. The improved value may include a confidence metric that is better than the associated confidence metric of the unmodified virtual representation, a confidence metric that at least meets a threshold associated with enabling autonomous navigation, some combination thereof, etc. If so, as shown at 1222, the modified virtual representation is stored in a database. The modified virtual representation may be distributed to one or more ANSs, monitoring systems, etc.

[0160] If not, as shown at 1212, manual management of the virtual representation is implemented. Such implementation may include flagging the virtual representation for manual management. Such flagging may include generating a warning message to one or more human operators supported by one or more computer systems, where the warning message instructs the one or more human operators to provide one or more manual input commands to modify one or more elements of the virtual representation to generate a modified virtual representation. The message may include instructions to modify one or more specific elements of the virtual representation. For example, in the case where the confidence metric being below the threshold is determined to be due to one or more specific elements of the virtual representation, including one or more specific static feature representations included therein, the message may include an indication to modify at least one or more specific static feature representations. Based on the manual input received from the operator, the manual control may include implementing specific modifications to the various representations included in the virtual representation.

[0161] At 1214, it is determined whether the confidence metric associated with the modified virtual representation has an improved value. The improved value may include a confidence metric that is better than the associated confidence metric of the unmodified virtual representation, a confidence metric that at least meets a threshold associated with enabling autonomous navigation, some combination thereof, etc. If so, as shown at 1222, the modified virtual representation is stored in a database. The modified virtual representation may be distributed to one or more ANSs, monitoring systems, etc.

[0162] If not, as shown at 1216, use virtual representation markers for additional data management. Such markers can include generating messages to one or more sensor suites, human operators of one or more sensor suites, one or more vehicles including the one or more sensor suites, etc., to deploy one or more sensor suites to one or more road segments characterized in the one or more sensor suites to generate an additional set of input data associated with the one or more road segments.

[0163] At 1218, receive one or more additional sets of input data and process the virtual representation based on the additional input data to modify one or more portions of the virtual representation. Such modification results in the generation of a modified virtual representation, which may include updated associated confidence metrics.

[0164] At 1220, determine whether the confidence metric associated with the modified virtual representation has an improved value. An improved value can include a confidence metric that is better than the associated confidence metric of the unmodified virtual representation, a confidence metric that at least meets a threshold associated with enabling autonomous navigation, some combination thereof, etc. If so, as shown at 1222, store the modified virtual representation in a database. The modified virtual representation can be distributed to one or more ANSs, monitoring systems, etc.

[0165] If not, as shown at 1224, determine whether an alternative route regarding a driving route including the road segments characterized by the virtual representation is available. If so, as shown at 1226, identify the alternative route and associate it with the virtual representation such that identifying a driving route including the road segments characterized by the virtual representation includes identifying the alternative route.

[0166] Exemplary Computer System

[0167] Figure 13 An exemplary computer system 1300 is shown that can be configured to include or perform any or all of the embodiments described above. In different embodiments, the computer system 1300 can be any of a variety of types of devices, including but not limited to: personal computer systems, desktop computers, laptop computers, notebook computers, tablet computers, all-in-one computers, slate devices or netbook computers, mobile phones, smartphones, personal digital assistants, portable media devices, mainframe computer systems, handheld computers, workstations, network computers, cameras or video cameras, set-top boxes, mobile devices, consumer devices, video game consoles, handheld video game devices, application servers, storage devices, televisions, video recording devices, peripherals (such as switches, modems, routers), or generally any type of computing or electronic device.

[0168] Various embodiments of the autonomous navigation system (ANS) as described herein may be executed in one or more computer systems 1300, which may interact with various other devices. Note that, according to various embodiments, any of the components, actions, or functionality described above with respect to Figures 1 to 13 any component, action, or functionality may be implemented on one or more computers of the computer system 1300 configured to Figure 13 In the illustrated embodiment, the computer system 1300 includes one or more processors 1310 coupled to the system memory 1320 via an input / output (I / O) interface 1330. The computer system 1300 also includes a network interface 1340 coupled to the I / O interface 1330, and one or more input / output devices, which may include one or more user interface devices. In some cases, it is contemplated that an embodiment may be implemented using a single instance of the computer system 1300, while in other embodiments, multiple such systems or multiple nodes that make up the computer system 1300 may be configured to host different parts or instances of the embodiment. For example, in one embodiment, some elements may be implemented via one or more nodes of the computer system 1300 that are different from those nodes implementing other elements.

[0169] In various embodiments, the computer system 1300 may be a single-processor system that includes one processor 1310, or a multi-processor system that includes several processors 1310 (e.g., two, four, eight, or another appropriate number). The processor 1310 may be any suitable processor capable of executing instructions. For example, in various embodiments, the processor 1310 may be a general-purpose or embedded processor that implements any instruction set architecture of a variety of instruction set architectures (ISAs), such as the x86, PowerPC, SPARC, or MIPS ISA, or any other suitable ISA. In a multi-processor system, each processor 1310 typically may, but need not, implement the same ISA.

[0170] The system memory 1320 can be configured to store program instructions 1325, data 1326, etc. that can be accessed by the processor 1310. In various embodiments, the system memory 1320 can be implemented using any suitable memory technology, such as static random access memory (SRAM), synchronous dynamic RAM (SDRAM), non-volatile / flash memory, or any other type of memory. In the illustrated embodiment, the program instructions included in the memory 1320 can be configured to implement some or all of an automotive climate control system incorporating any of the functionality described above. Additionally, the existing automotive component control data of the memory 1320 can include any one of the information or data structures described above. In some embodiments, the program instructions and / or data can be received, sent, or stored on different types of computer-accessible media or similar media independent of the system memory 1320 or the computer system 1300. Although the computer system 1300 is described as implementing the functionality of the functional blocks of the previous figures, any functionality described herein can be implemented by such a computer system.

[0171] In one embodiment, the I / O interface 1330 can be configured to coordinate I / O communication between the processor 1310, the system memory 1320, and any peripheral devices (including the network interface 1340 or other peripheral device interfaces, such as the input / output device 1350) in the device. In some embodiments, the I / O interface 1330 can perform any necessary protocol, timing, or other data conversions to convert data signals from one component (e.g., the system memory 1320) into a format suitable for use by another component (e.g., the processor 1310). In some embodiments, the I / O interface 1330 can include, for example, support for devices attached via various types of peripheral buses, such as variants of the Peripheral Component Interconnect (PCI) bus standard or the Universal Serial Bus (USB) standard. In some embodiments, the functionality of the I / O interface 1330, for example, can be divided into two or more separate components, such as a north bridge and a south bridge. Additionally, in some embodiments, some or all of the functionality of the I / O interface 1330, such as the interface to the system memory 1320, can be incorporated directly into the processor 1310.

[0172] The network interface 1340 may be configured to permit the exchange of data between the computer system 1300 and other devices 1360 attached to the network 1350 (e.g., carriers or proxy devices), or between nodes of the computer system 1300. In various embodiments, the network 1350 may include one or more networks, including but not limited to: local area networks (LANs) (e.g., Ethernet or enterprise networks), wide area networks (WANs) (e.g., the Internet), wireless data networks, some other electronic data networks, or some combination thereof. In various embodiments, the network interface 1340 may support communication via a wired or wireless general data network such as any suitable type of Ethernet network; communication via a telecommunications / telephone network such as an analog voice network or a digital fiber optic communication network; communication via a storage area network such as a Fibre Channel SAN or via any other suitable type of network and / or protocol.

[0173] In some embodiments, the input / output devices may include one or more display terminals, keyboards, keypads, touchpads, scanning devices, voice or optical recognition devices, or any other devices suitable for inputting or accessing data by one or more computer systems 1300. Multiple input / output devices may be present in the computer system 1300, or may be distributed across various nodes of the computer system 1300. In some embodiments, similar input / output devices may be separate from the computer system 1300 and may interact with one or more nodes of the computer system 1300 via a wired or wireless connection such as via the network interface 1340.

[0174] As Figure 13 shown, the memory 1320 may include program instructions 1325 that may be executable by the processor to implement any of the elements or actions described above. In one embodiment, the program instructions may implement the methods described above. In other embodiments, different elements and data may be included. Note that the data may include any of the data or information described above.

[0175] Those skilled in the art should understand that the computer system 1300 is merely illustrative and is not intended to limit the scope of the embodiments. In particular, computer systems and devices may include any combination of hardware or software that can perform the indicated functions, including computers, network devices, Internet devices, personal digital assistants, wireless telephones, pagers, and the like. The computer system 1300 may also be connected to other devices not shown or may operate as a stand-alone system vice versa. Additionally, the functions provided by the illustrated components may in some embodiments be combined in fewer components or be distributed across additional components in some embodiments. Similarly, in some embodiments, the functions of some of the illustrated components may not be provided, and / or there may be other additional functions available.

[0176] Those skilled in the art will also recognize that although various items are shown as being stored in memory or on a storage device during use, for purposes of memory management and data integrity, these items or portions thereof may be transferred between memory and other storage devices. Alternatively, in other embodiments, some or all of the software components may be executed in memory on another device and communicate with the illustrated computer system via inter-computer communication. Some or all of the system components or data structures may also be stored (e.g., as instructions or structured data) on a computer-accessible medium or portable article for reading by a suitable drive, various examples of which were described above. In some embodiments, instructions stored on a computer-accessible medium separate from computer system 1300 may be transmitted to computer system 1300 via a transmission medium or signal such as an electrical signal, an electromagnetic signal, or a digital signal, the transmission medium or signal being conveyed via a communication medium such as a network and / or a wireless link. Various embodiments may further include receiving, sending, or storing instructions and / or data implemented in accordance with the above description on a computer-accessible medium. Generally speaking, computer-accessible media may include non-transitory computer-readable storage media or memory media such as magnetic or optical media, e.g., disks or DVD / CD-ROMs, volatile or non-volatile media such as RAM (e.g., SDRAM, DDR, RDRAM, SRAM, etc.), ROM, etc. In some embodiments, computer-accessible media may include a transmission medium or signal, such as an electrical, electromagnetic, or digital signal conveyed via a communication medium such as a network and / or a wireless link.

[0177] In different embodiments, the methods described herein may be implemented in software, hardware, or a combination thereof. Additionally, the order of the blocks of the methods may be changed, and various elements may be added, reordered, combined, omitted, modified, etc. Various modifications and changes will be apparent to those skilled in the art who benefit from this disclosure. The various embodiments described herein are intended to be illustrative rather than restrictive. Many variations, modifications, additions, and improvements are possible. Thus, multiple instances may be provided for components described herein as a single instance. The boundaries between various components, operations, and data storage devices are to some extent arbitrary, and specific operations are illustrated in the context of a particular illustrative configuration. Other allocations of functionality are anticipated and may fall within the scope of the appended claims. Finally, the structures and functions presented as discrete components in an exemplary configuration may be implemented as a combined structure or component. These and other variations, modifications, additions, and improvements may fall within the scope of the embodiments defined by the appended claims.

Claims

1. An autonomous navigation system configured to be installed in a vehicle and selectively enable autonomous navigation of the vehicle, wherein the autonomous navigation system comprises: at least one processor; and a memory storing program instructions that, when executed by the at least one processor, cause the autonomous navigation system to: associate a first confidence metric with a representation of at least a portion of a route to a destination; associate a second confidence metric with a representation of at least a portion of an alternative route to the destination; wherein the first confidence metric and the second confidence metric are updated based on respective successive updates of the representation of the at least a portion of the route and the representation of the at least a portion of the alternative route, and wherein the respective successive updates of the representation of the at least a portion of the route and the representation of the at least a portion of the alternative route are based on a set of input data generated from respective successive manual navigations of the route and the alternative route; during manual navigation of the route to the destination: determine that the first confidence metric does not meet a first threshold confidence metric and that a rate of change of the first confidence metric is less than a threshold rate level, wherein the first confidence metric indicates a confidence associated with at least one of the accuracy and precision of the representation of the at least a portion of the route, and wherein the first threshold confidence metric indicates that the representation of the at least a portion of the route can be used to safely participate in autonomous navigation through the route; evaluate whether the second confidence metric exceeds a second threshold confidence metric, wherein the second confidence metric indicates a confidence associated with at least one of the accuracy and precision of the representation of the at least a portion of the alternative route, and wherein the second threshold confidence metric indicates that the representation of the at least a portion of the alternative route can be used to safely participate in autonomous navigation through the alternative route; at least partially in response to evaluating that the second confidence metric exceeds the second threshold confidence metric, display a proposal to enable autonomous navigation of the vehicle along the alternative route rather than the portion of the route to the destination; and in response to receiving a request to accept the proposal, enable autonomous navigation of the vehicle along the alternative route toward the destination.

2. The autonomous navigation system according to claim 1, wherein the memory further stores program instructions that, when executed by the at least one processor, further cause the autonomous navigation system to: generate the representation of the at least a portion of the alternative route based on sensor data captured during one or more previous manual navigations of the vehicle along the alternative route.

3. The autonomous navigation system according to claim 2, wherein the memory further stores program instructions that, when executed by the at least one processor, further cause the autonomous navigation system to send the representation of the at least a portion of the alternative route to a navigation monitoring system via a network interface of the navigation monitoring system.

4. The autonomous navigation system according to claim 2, wherein the memory further stores program instructions that, when executed by the at least one processor, further cause the autonomous navigation system to: Before the one or more previous manual navigations of the vehicle along the alternative route, display a proposal to manually navigate the alternative route so that autonomous navigation of the alternative route can subsequently be enabled.

5. The autonomous navigation system according to claim 1, wherein the memory further stores program instructions that, when executed by the at least one processor, further cause the autonomous navigation system to: Receive the characterization of at least a portion of the alternative route from the navigation monitoring system via a network interface of the navigation monitoring system.

6. The autonomous navigation system according to claim 5, wherein the characterization of at least a portion of the alternative route is generated based on sensor data captured by another autonomous navigation system installed in another vehicle that has navigated the alternative route.

7. The autonomous navigation system according to claim 1, wherein the memory further stores program instructions that, when executed by the at least one processor, further cause the autonomous navigation system to identify that the alternative route includes a common destination location with the route.

8. A method, comprising: being performed by an autonomous navigation system of a vehicle: associating a first confidence metric with a characterization of at least a portion of a route to a destination; associating a second confidence metric with a characterization of at least a portion of an alternative route to the destination; wherein the first confidence metric and the second confidence metric are respectively updated according to respective successive updates of the characterization of at least a portion of the route and the characterization of at least a portion of the alternative route, wherein the respective successive updates of the characterization of at least a portion of the route and the characterization of at least a portion of the alternative route are based on a set of input data generated based on respective successive manual navigations of the route and the alternative route; and during manual navigation of the route to the destination: determining that the first confidence metric does not meet a first threshold confidence metric and that a rate of change of the first confidence metric is less than a threshold rate level, wherein the first confidence metric indicates a confidence associated with at least one of the accuracy and precision of the characterization of at least a portion of the route, and wherein the first threshold confidence metric indicates that the characterization of at least a portion of the route can be used to safely participate in autonomous navigation through the route; evaluating whether the second confidence metric exceeds a second threshold confidence metric, wherein the second confidence metric indicates a confidence associated with at least one of the accuracy and precision of the characterization of at least a portion of the alternative route, and wherein the second threshold confidence metric indicates that the characterization of at least a portion of the alternative route can be used to safely participate in autonomous navigation through the alternative route; At least in part in response to an assessment that a second confidence metric exceeds a second threshold confidence metric, display a proposal enabling autonomous navigation of the vehicle along the alternative route rather than the portion of the route to the destination; and In response to receiving a request to accept the proposal, enable autonomous navigation of the vehicle along the alternative route toward the destination.

9. The method according to claim 8, further comprising: Generate the characterization of at least a portion of the alternative route based on sensor data captured during one or more previous manual navigations of the vehicle along the alternative route.

10. The method according to claim 9, further comprising transmitting the characterization of at least a portion of the generated alternative route to the navigation monitoring system via a network interface of the navigation monitoring system.

11. The method according to claim 9, further comprising: Prior to the one or more previous manual navigations of the vehicle along the alternative route, display a proposal to manually navigate the alternative route such that subsequent autonomous navigation of the alternative route can be enabled.

12. The method according to claim 8, further comprising receiving the characterization of at least a portion of the alternative route from the navigation monitoring system via a network interface of the navigation monitoring system.

13. The method according to claim 12, wherein the characterization of at least a portion of the alternative route is generated based on sensor data captured by another autonomous navigation system installed at another vehicle that has navigated the alternative route.

14. The method according to claim 8, further comprising identifying that the alternative route includes a common destination location with the route. One or more non-transitory computer-readable storage media storing program instructions that, when executed on one or more computing devices or across one or more computing devices, cause the one or more computing devices to implement an autonomous navigation system for a vehicle, the autonomous navigation system implementing: Associate a first confidence metric with a characterization of at least a portion of a route to a destination; Associate a second confidence metric with a characterization of at least a portion of an alternative route to the destination; Wherein the first confidence metric and the second confidence metric are respectively updated based on respective successive updates of the characterization of at least a portion of the route and the characterization of at least a portion of the alternative route, and wherein the respective successive updates of the characterization of at least a portion of the route and the characterization of at least a portion of the alternative route are based on a set of input data generated based on respective successive manual navigations of the route and the alternative route; During manual navigation of the route to the destination: Determine that a first confidence metric does not meet a first threshold confidence metric and that a rate of change of the first confidence metric is less than a threshold rate level, where the first confidence metric indicates a confidence associated with at least one of an accuracy and a precision of the representation of the at least a portion of the route, and where the first threshold confidence metric indicates that the representation of the at least a portion of the route can be used to safely participate in autonomous navigation through the route; Evaluate whether a second confidence metric exceeds a second threshold confidence metric, where the second confidence metric indicates a confidence associated with at least one of an accuracy and a precision of the representation of the at least a portion of the alternative route, and where the second threshold confidence metric indicates that the representation of the at least a portion of the alternative route can be used to safely participate in autonomous navigation through the alternative route; At least partially in response to evaluating that the second confidence metric exceeds the second threshold confidence metric, display a proposal enabling autonomous navigation of the vehicle along the alternative route rather than the portion of the route to the destination; and In response to receiving a request to accept the proposal, enable autonomous navigation of the vehicle along the alternative route toward the destination.

16. The one or more non-transitory computer-readable storage media of claim 15, wherein the one or more non-transitory computer-readable storage media further store instructions that, when executed by the one or more computing devices, cause the autonomous navigation system to further implement: Generate the representation of the at least a portion of the alternative route based on sensor data captured during one or more previous manual navigations of the vehicle along the alternative route.

17. The one or more non-transitory computer-readable storage media of claim 16, wherein the one or more non-transitory computer-readable storage media further store instructions that, when executed by the one or more computing devices, cause the autonomous navigation system to further implement: Prior to the one or more previous manual navigations of the vehicle along the alternative route, display a proposal to manually navigate the alternative route such that autonomous navigation of the alternative route can subsequently be enabled.

18. The one or more non-transitory computer-readable storage media of claim 15, wherein the one or more non-transitory computer-readable storage media further store instructions that, when executed by the one or more computing devices, cause the autonomous navigation system to further implement receiving the representation of the at least a portion of the alternative route from the navigation monitoring system via a network interface of the navigation monitoring system.

19. The one or more non-transitory computer-readable storage media of claim 18, wherein the representation of the alternative route is generated based on sensor data captured by another autonomous navigation system installed at another vehicle that navigated the alternative route.

20. One or more non-transitory computer-readable storage media according to claim 15, wherein the one or more non-transitory computer-readable storage media further store instructions that, when executed by the one or more computing devices, cause the autonomous navigation system to further implement identifying the alternative route as including a common destination location of the route.

Citation Information

Patent Citations

  • Automatic driving route planning application

    WO2014139821A1