The technical field generally relates to automotive vehicles, and more particularly relates to advanced driver assistance systems (ADAS) used in connection with automotive vehicles.
Modern automotive vehicles increasingly incorporate advanced driver assistance systems (ADAS) designed to automate and/or enhance the driving process and to increase the overall safety of the vehicle during operation. One such system, the “horizon-based” driver assistance system, utilizes map data and external sensor data to predict the path that the vehicle is likely to take along as it travels along the roadway.
While such driver assistance systems are advantageous in many respects, there remain a number of unresolved issues associated with their operation. For example, horizon-based driver assistance systems typically depend on communication (e.g., via a car area network (CAN) bus) of road and path data from a map module to the various subsystems and devices requiring that data (e.g., electronic control units (ECUs) and the like). More particularly, the map module generally includes a “horizon provider” that provides data-of-interest to a reconstructor module in the ECU, which has the responsibility of constructing the desired path. Unfortunately, since the map module generally only provides a single path to the reconstructor module along with information regarding the position of the vehicle on that path, when the driver of the vehicle takes a different path (e.g., at a fork in the road), the reconstructor module must quickly recover and stay in synch with the horizon provider, which can take an undesirable length of time.
Accordingly, it is desirable to provide improved horizon-based driver assistance systems and methods. Additional desirable features and characteristics of the present invention will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the foregoing technical field and background.
The exemplary embodiments will hereinafter be described in conjunction with the following drawing figures, wherein like numerals denote like elements, and wherein:
The subject matter described herein generally relates to a horizon-based advanced driver assistance system (ADAS) in which the horizon provider module provides two or more candidate paths to the reconstructor module along with information regarding the position of the vehicle relative to each of those paths. In this way, more of the computational burden of finding and reconstructing the path is performed by the map module instead than the reconstructor module. In this way, the system can quickly recover from unexpected changes in the vehicle's path. In that regard, the following detailed description is merely exemplary in nature and is not intended to limit the application and uses. Furthermore, there is no intention to be bound by any expressed or implied theory presented in the preceding technical field, background, brief summary or the following detailed description. As used herein, the term “module” refers to an application specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory that executes one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality.
Referring now to
Map module 102 includes a database 106 configured to store map data regarding road segments, map attributes, and any other data that might be associated with a geographical map. As used herein, the term “road segment” refers to any discrete portion of road that is bounded in some way—e.g., by an intersection, freeway entrance, exit, etc. Each road segment is generally identified by a segment ID (e.g., an integer or alphanumerical string). As will be appreciated, database 106 may store information regarding thousands or even millions of such segments. The term “path” refers to a sequence of road segments ordered based on the driving direction, and may be characterized by a “path record,” which in one embodiment is an integer (e.g. ranging from 8-63), with a value of zero indicating that no path is currently known.
Map module 102 also includes a horizon provider module (or simply “module”) 108 configured to store path information (described in further detail below). Similarly, device 104 includes a reconstructor module 112 also configured to store path information 114. In general, horizon provider module is configured to send path data 110 to reconstructor module 112 along with information regarding the position of the vehicle and path attributes (e.g., the curvature, speed limit, grade, number of lanes, etc. of the various road segments). Module 108 will generally only send data associated with segments within a predetermined distance (i.e., a predetermined horizon distance) of the vehicle (e.g., 1-2 km).
In accordance with various embodiments, horizon provider module 108 provides reconstructor with multiple possible paths (e.g., two or more), rather than a single path as provided by currently known system. In order to illustrate this feature,
Referring first to
In accordance with prior art driver assistance systems, the horizon provider module would only provide the reconstructor module with one path (i.e., one sequence of road segments). For example, the driver assistance system might, judging by vehicle 202 being in the left lane, assume that the driver is going to take the path described by segments 210, 211, and 212, and therefore only send that path information to the reconstructor module. This is illustrated in
Note that paths may be defined by only two segments, and can thus be “chained” together to define a larger path. In
In prior art systems, the reconstructor module might also receive fragmentary information regarding the existence of segments 214 and 215, but would not receive information regarding the position of vehicle 202 relative to those segments.
If the vehicle is on a mapped road at step 804, the system determines, at step 806, whether the vehicle is on the same segment as the previous iteration of the process (which might occur at any particular sampling rate, such as 1-10 times per second). If the vehicle is on the same segment, the module 108 gets the current path ID and updates the distance from the origin (e.g., the starting point) of that segment (step 807). That path ID and vehicle position are then provided to device 104 via bus 105 (step 808), whereupon the system returns to wait for sensor data (802).
If, at step 806, it was determined that the vehicle is not on the same segment as the previous iteration, processing continues with step 901 (
If, at step 902, the system determines that the road segment is not fully described, module 108 clears the prior-road path ID and assigns that path ID to a new sequence of segments, at the same time filling in any missing branches (step 903). Processing then continues as before with step 904.
While at least one exemplary embodiment has been presented in the foregoing detailed description, it should be appreciated that a vast number of variations exist. It should also be appreciated that the exemplary embodiment or exemplary embodiments are only examples, and are not intended to limit the scope, applicability, or configuration of the disclosure in any way. Rather, the foregoing detailed description will provide those skilled in the art with a convenient road map for implementing the exemplary embodiment or exemplary embodiments. It should be understood that various changes can be made in the function and arrangement of elements without departing from the scope of the disclosure as set forth in the appended claims and the legal equivalents thereof.
This application claims priority to U.S. Provisional Patent Application No. 62/103,819, filed Jan. 15, 2015, the contents of which are hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
62103819 | Jan 2015 | US |