The subject disclosure relates to operation of an autonomous vehicle or a cruise control system of a vehicle and, in particular, to a system and method for analyzing an occurrence of a lane touch event to identify a failure domain of a guidance system of the vehicle that leads to the lane touch.
An autonomous vehicle as well as a vehicle operating in a super cruise control mode can operate a guidance system that allows the vehicle to move safely along a section of road. The guidance system maintains the vehicle within a lane indicated by lane markings. A lane touch event occurs when the vehicle touches or crosses over a lane marking or veers outside of its lane. For safety reasons, it is desired to minimize or eliminate the occurrence of inadvertent lane touch events. When a lane touch event occurs during automated operation of the vehicle, it is desired to determine its cause so that the guidance system can be upgraded or redesigned. Currently, determining the cause of a lane touch requires an engineering team to manually review data, which is time consuming and subjective. Accordingly, it is desirable to provide a system that can determine a cause for the occurrence of a lane touch event, in order to aid in designing and improving guidance systems.
In one exemplary embodiment, a method of operating a driving system for a vehicle is disclosed. An external parameter indicative of a lane marking is obtained using a first sensor during a time period in which an automated driving program is being operated at the vehicle. An internal parameter of the vehicle is obtained using a second sensor during the time period. A lane touch event occurring during the time period is detected. An error occurring at the driving system resulting in the lane touch event is determined at a processor based on the internal parameter and the external parameter. A failure domain of the driving system in which the error occurs is determined at the processor. A design of a program of the driving system related to the failure domain is changed.
In addition to one or more of the features described herein, each of the internal parameter and the external parameter includes a time series of data obtained over a time interval. The failure domain is at least one of a vehicle sensing domain, a path planning domain, a vehicle control domain, and a reporting domain. An error in the vehicle sensing domain includes an error in detecting a lane marking. The method further includes determining an error in the path planning domain when a lane touch occurs by comparing a difference between a planned path of the vehicle to an actual path of the vehicle to a threshold value. The method further includes determining a lane change issue due to one of a late abort of a lane change, oversteering during a lane change, and an over adjustment for the lane change. The method further includes determining a responsiveness of the driving system to the lane touch event.
In another exemplary embodiment, a driving system for a vehicle is disclosed. The driving system includes a first sensor, a second sensor and a processor. The first sensor is configured to obtain an external parameter indicative of a lane marking during a time period in which an automated driving program is being operated at the vehicle. The second sensor is configured to obtain an internal parameter of the vehicle during the time period. The processor is configured to detect a lane touch event occurring during the time period, determine an error occurring in the driving system resulting in the lane touch event based on the internal parameter and the external parameter, identify a failure domain of the driving system in which the error occurs, and change a design of a program of the driving system related to the failure domain.
In addition to one or more of the features described herein, each of the internal parameter and the external parameter includes a time series of data obtained over a time interval. The failure domain is at least one of a vehicle sensing domain, a path planning domain, a vehicle control domain, and a reporting domain. An error in the vehicle sensing domain that includes an error in detecting a lane marking. The processor is further configured to determine an error in the path planning domain when a lane touch occurs by comparing a difference between a planned path of the vehicle to an actual path of the vehicle to a threshold value. The processor is further configured to determine a lane change issue due to one of a late abort of a lane change, oversteering during a lane change, and an over adjustment for the lane change. The processor is further configured to determine a responsiveness of the driving system to the lane touch event.
In yet another exemplary embodiment, a system for designing a driving system for a vehicle is disclosed. The system includes a first sensor, a second sensor and a processor. The first sensor is configured to obtain an external parameter indicative of a lane marking during a time period in which an automated driving program is being operated at the vehicle. The second sensor is configured to obtain an internal parameter of the vehicle during the time period. The processor is configured to detect a lane touch event occurring during the time period, determine an error occurring in the driving system resulting in the lane touch event based on the internal parameter and the external parameter, identify a failure domain of the driving system in which the error occurs, and change a design of a program of the driving system related to the failure domain.
In addition to one or more of the features described herein, the failure domain is at least one of a vehicle sensing domain, a path planning domain, a vehicle control domain, and a reporting domain. An error in the vehicle sensing domain that includes an error in detecting a lane marking. The processor is further configured to determine an error in the path planning domain when a lane touch occurs by comparing a difference between a planned path of the vehicle to an actual path of the vehicle to a threshold value. The processor is further configured to determine a lane change issue due to one of a late abort of a lane change, oversteering during a lane change, and an over adjustment for the lane change. The processor is further configured to determine a responsiveness of the driving system to the lane touch event.
The above features and advantages, and other features and advantages of the disclosure are readily apparent from the following detailed description when taken in connection with the accompanying drawings.
Other features, advantages and details appear, by way of example only, in the following detailed description, the detailed description referring to the drawings in which:
The following description is merely exemplary in nature and is not intended to limit the present disclosure, its application or uses. It should be understood that throughout the drawings, corresponding reference numerals indicate like or corresponding parts and features.
In accordance with an exemplary embodiment,
The driving system 102 can include a sensor system 104 for obtaining information about the surrounding or environment of the vehicle 100 or of the vehicle itself, a controller 106 for computing possible actions for the autonomous vehicle based on the obtained information and for implementing one or more of the possible actions, and an actuator system 108 that controls navigation of the vehicle, such as a steering wheel actuator, brakes actuator, acceleration actuator, etc., based on action calculated at the controller 106.
The sensor system 104 can include external sensors (first sensors) such as cameras, Lidar, radar, GPS, etc., that measure various external parameters of the environment, the road, the location of lane markers, etc. The sensor system 104 can also include internal sensors (second sensors) that measure internal parameters of the vehicle, such as an accelerometer, an angle measuring device, etc. The data obtained for a given parameter, either internal or external, can be obtained as a time series. Exemplary parameters include a road curvature, a distance between the vehicle and lane and right lanes or left and right lane markers, vehicle speed, a yaw rate of the vehicle, a lateral acceleration of the vehicle, a longitudinal acceleration of the vehicle, a vehicle location, a steering wheel angle (SWA), steering torque, an LCOD (lane change on demand) status, and/or an LCC (lane centering control) status, etc.
The controller 106 may include processing circuitry that may include 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. The controller 106 may include a non-transitory computer-readable medium that stores instructions which, when processed by one or more processors of the controller 106, implement a method of analyzing parameters obtained by the sensor system 104, determine an occurrence of a lane touch event, determine a root cause or a failure domain for the lane touch event, and suggest possible improvements to mitigate the occurrence of a lane touch event in the future.
The vehicle 100 also include a communication unit 110 that can communicate with a remote processor 120. In various embodiments, data can be transferred from the vehicle 100 to the remote processor 120 for offboard processing. Data or software can also be transferred from the remote processor 120 to the vehicle 100.
The vehicle location sensing/estimation program 312 tracks the location of the vehicle 100 in response to the steering signals being applied at the vehicle. The vehicle location can be a lateral location of the vehicle within a lane or with respect to a lane marker. The vehicle location is sent to a difference machine 314 which determines the path deviation based on the vehicle location and the planned trajectory. The path deviation can then be sent to the tracking controller 306 to create a feedback loop.
A lane touch event monitor 316 obtains data from the programs of the driving system 102 and analyzes the data to determine when a lane touch event occurs. Further analysis can determine the root cause of the lane touch event, which can lead to improvements and redesign.
An error occurring in the vehicle sensing domain 402 can be due to lane marking issues, such as vague lane markings, old and new lane markings, changes in a road color, the occurrence of a road split or a road merge. An error can also occur due to Global Positioning Satellite (GPS) errors, or map errors, poor perception due to weather, time of day, surroundings, etc., or the failure of a sensor.
An error occurring in the path planning domain 404 can be due to a road split or a road merge, the occurrence of a construction zone, an occurrence of other objects (i.e., vehicles, pedestrians) in the road which are nearby or cut from a field of view, etc. The error can also be a result of a ghost object detection, or incorrectly identifying a location of an object.
An error occurring in the vehicle control domain 406 can occur in the vehicle tracking controller 306 and/or the steering controller 308. The error can be caused by control change errors, weather-related control errors, vehicle degradation errors. A control change error occurs at a transition point between human control and vehicle control. The control change error can be due to operation of a lane change on demand (LCOD) program or due to manual lane change. Errors are likely to occur where there is a sharp curve, a zig-zag road, a path change, etc. Weather related control errors, can be errors due to a side wind, rain, snow, a slippery road, a bumpy road, a pothole, a road, a road slope, a bank angle, etc. Vehicle degradation errors can include errors due to tire pressure, wheel misalignment, suspension, uneven braking, uneven propulsion at the wheels, differential propulsion, steering sensor errors, actuator faults, etc.
An error occurring in the reporting domain 408 is due to a malfunction of the lane touch event monitor 316. Such errors can be due to a data collection issue, an onboard memory issue, and electronic control unit issue, a misattribution of the lane touch to a vehicle control (rather than manual control) and other false positives due to a wrong lane mark detection.
Returning to box 606, if the report is an accurate report, the method proceeds to box 610. In box 610, a check is made to determine whether there was an issue determining the lane marker(s). In box 612, a decision is made based on the results of the check in box 610. If there was a lane mark detection issue, the method proceeds to box 614. In box 614, the method checks for related conditions and outputs lane detection issues. Details of the checks performed in box 614 are discussed with respect to
Returning to box 612, if there is no lane mark detection issue, the method proceeds to box 616. In box 616, a check is made to determine whether there are any path planning issues. In box 618, a decision is made based on the results of box 616. If there is a path planning issue, the method proceeds to box 620. In box 620, the path planning issue is identified and output. Details of the method performed in box 620 are discussed with respect to
Returning to box 618, if there is no path planning issue, the method proceeds to box 622. In box 622, a determination is made whether the error occurred during a selected time frame shortly after engagement of the cruise control. Such error can be related to a transition from human control of the vehicle to vehicular control of the vehicle. If the error occurred within the selected time frame, the method proceeds to box 624. In box 624, the records are review for conditions just before engaging the cruise control, such as the proximity of the vehicle to the lane marker at the transition, whether the vehicle was on a road, etc. Such conditions are provided as output. The method then proceeds to box 636, wherein the method ends.
Returning to box 622, if the error occurred after the selected time frame, the method proceeds to box 626. In box 626, records are reviewed to determine if the vehicle was on a curved road. If the vehicle was on a curved road when the lane touch occurred, the method proceeds to box 628. In box 628, the records are reviewed for road entrance or road exit conditions or curve conditions, the curve control issues are output. The method then proceeds to box 636 where the method ends.
Returning to box 626, if the vehicle was not on a curved road, the method proceeds to box 630. In box 630, the records are reviewed to determine if the vehicle was acting in response to a lane change on demand (LCOD) command. If the vehicle was responding to a LCOD, the method proceeds to box 632. In box 632, the records are checked for related LCOD conditions. The LCOD related control issues are output. The method then proceeds to box 636 where the method ends.
Returning to box 630, if the vehicle was not responding to LCOD, the method proceeds to box 634. In box 634, the records are reviewed to look for any related reaction conditions. These possible related actions are output. The method then proceeds to box 636 wherein the method ends.
In box 706, a decision is made based on the Alert_Lane_Uncertain variable. If Alert_Lane_Uncertain is ‘True’ (i.e., if the lane detection system indicates that it is uncertain about its detection of the lane marker), the method proceeds to box 712. Otherwise, the method proceeds to box 708. In box 708, a slide window is used to calculate a moving average value for lane qualities for the left lane marker and right lane marker and based on data from a camera and a map.
In box 710, a decision is made based on the lane quality. If the lane quality is low or poor, the method proceeds to box 712. In box 712, a review of the records is made for related conditions, such as a lane merge or lane split, an occurrence of road construction, a curved road, a lane change, etc. In box 714, the lane detection issue is output with the related conditions. The method then proceeds to box 718 where the method ends. Returning to box 710, if the lane quality is good, the method proceeds to box 716. In box 716, an output is generated to indicate that there is no lane mark issue.
In box 806, a minimum value for the distance to target path during the selected time is determined and a maximum value of the distance to target path during the selected time is determined.
In box 808, a path planning error condition is checked. As an example, the condition is whether the minimum value is within 40 centimeters of the left lane and a left lane touch is received or the maximum value is within 40 centimeters of the right lane marker and a right lane touch is received, and the road is not curved and a lane change is not specified. When this is true, the method proceeds to box 810. In box 810, the path planning issue is output. The method the proceeds to box 814, where the method ends.
Returning to box 808, if the condition is false, the method proceeds to box 812. In box 812, an output is generated to indicate that there is no path planning issue. From box 812, the method proceeds to box 814, where the method ends.
In box 906, the records are reviewed to determine whether a lane change was aborted before the lane touch event occurred. If the lane change was aborted before the lane touch occurred, the method proceeds to box 908. In box 908, the output is generated to indicate a late abort of lane change occurred. The method the proceeds to box 920, where the method ends.
Returning to box 906, if the lane was not aborted or was aborted after a lane touch event, the method proceeds to box 910. In box 910, a review of the records is made to determine if another lane marker is touched, such as a next lane marker of the next lane. If the next lane marker is touched, the method proceeds to box 912. In box 912, the output is generated to indicate an oversteering during lane change. The method the proceeds to box 920 where the method ends.
Returning to box 910, if the next lane marker is not touched, the method proceeds to box 914. In box 914, the records are reviewed to determine if the nearest lane is touched again after then lane touch event. If the nearest lane is touched again, the method proceeds to box 916. In box 916, output is generated to indicate that an overadjustment is made of the lane change. The method then proceeds to box 920 where the method ends.
Returning to box 914, if the nearest lane is not touched after the original lane touch event, the method proceeds to box 918. In box 918, an output is generated to indicate no lane change issues. From box 918, the method proceeds to box 920, wherein the method ends.
In box 1006, an average steering angle value A is calculated within the time window. In box 1008, the average steering angle is compared to a threshold steering angle value. If the absolute value of the average steering angle is less than or equal to the threshold, the method proceeds to box 1010. In box 1010, an output is generated to indicate that the steering was unreactive to the lane touch event. From box 1010, the method proceeds to box 1018 where the method ends.
Returning to box 1008, if the absolute value of the average steering angle is greater than the threshold, the method proceeds to box 1012. In box 1012, the records are reviewed to determine if the steering angle directed the vehicle towards the lane that was touched. If the steering was toward the lane that was touched, the method proceeds to box 1014. Otherwise, the method proceeds to box 1016.
In box 1014, output is generated to indicate that the steering performed an incorrect reaction to the lane touch. In box 1016, output is generated to indicate that the steering was too late or too small to react to the lane touch event. From either box 1014 or box 1016, the method proceeds to box 1018 where the method ends.
The terms “a” and “an” do not denote a limitation of quantity, but rather denote the presence of at least one of the referenced item. The term “or” means “and/or” unless clearly indicated otherwise by context. Reference throughout the specification to “an aspect”, means that a particular element (e.g., feature, structure, step, or characteristic) described in connection with the aspect is included in at least one aspect described herein, and may or may not be present in other aspects. In addition, it is to be understood that the described elements may be combined in any suitable manner in the various aspects.
When an element such as a layer, film, region, or substrate is referred to as being “on” another element, it can be directly on the other element or intervening elements may also be present. In contrast, when an element is referred to as being “directly on” another element, there are no intervening elements present.
Unless specified to the contrary herein, all test standards are the most recent standard in effect as of the filing date of this application, or, if priority is claimed, the filing date of the earliest priority application in which the test standard appears.
Unless defined otherwise, technical and scientific terms used herein have the same meaning as is commonly understood by one of skill in the art to which this disclosure belongs.
While the above disclosure has been described with reference to exemplary embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from its scope. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the disclosure without departing from the essential scope thereof. Therefore, it is intended that the present disclosure not be limited to the particular embodiments disclosed, but will include all embodiments falling within the scope thereof.