The disclosure generally relates to a system and process for closest in path vehicle following for an autonomous or semi-autonomous vehicle.
Navigation systems and methods for autonomous and semi-autonomous vehicles utilize computerized algorithms to determine a navigational path for the vehicle being controlled. Digital maps and sensor inputs are useful to set the navigational path for the vehicle. Sensor inputs can include image recognition of lane markers and street features. Sensor inputs may further include image, radar, light detection and ranging (LIDAR), or other similar sensor recognition types to monitor locations of other vehicles relative to the vehicle being controlled, for example, to prevent the vehicle being controlled from getting too close to another vehicle in traffic.
A system for closest in path vehicle following is provided. The system includes a sensor device of a vehicle to be controlled generating data related to a closest in path vehicle and related to a drivable surface in front of the vehicle. The system further includes a navigation control module including a computerized processor operable to monitor the data from the sensor device, evaluate the data to determine a quality measure of a path followed by the closest in path vehicle, and if the quality measure of the closest in path vehicle is above a high-quality candidate threshold, generate a breadcrumbing navigation path based upon the data. The system further includes a vehicle control module controlling the vehicle to be controlled based upon the breadcrumbing navigation path.
In some embodiments, determining the quality measure includes quantifying the path followed by the closest in path vehicle with a numerical value.
In some embodiments, evaluating the data includes determining an oscillation of the closest in path vehicle on the drivable surface based upon the data, comparing the oscillation to a threshold oscillation value, and determining the quality measure of the closest in path vehicle based upon the comparing.
In some embodiments, determining the oscillation of the closest in path vehicle includes monitoring a heading error of the closest in path vehicle.
In some embodiments, determining the oscillation of the closest in path vehicle includes monitoring a lateral position error of the closest in path vehicle.
In some embodiments, determining the oscillation of the closest in path vehicle includes monitoring a relative position of the closest in path vehicle to another vehicle on the drivable surface.
In some embodiments, determining the oscillation of the closest in path vehicle includes monitoring a curvature error of the vehicle
In some embodiments, evaluating the data includes determining a stability of the closest in path vehicle on the drivable surface based upon the data, comparing the stability to a threshold stability value, and determining the quality measure of the closest in path vehicle based upon the comparing.
In some embodiments, determining the stability of the closest in path vehicle on the drivable surface includes evaluating whether the closest in path vehicle is tracking an established lane of travel.
In some embodiments, determining the stability of the closest in path vehicle on the drivable surface includes evaluating a dynamic trajectory of the closest in path vehicle in an established lane of travel.
In some embodiments, the sensor device comprises one of a camera device, a radar device, a lidar device, and an ultrasonic device.
In some embodiments, controlling the vehicle to be controlled based upon the breadcrumbing navigation path includes determining a lane geometry on the drivable surface, fusing the lane geometry with the breadcrumbing navigation path to create a fused navigation path, and controlling a trajectory of the vehicle to be controlled based upon the fused navigation path.
In some embodiments, the vehicle control module further controls a distance from the closest in path vehicle based upon the quality measure.
In some embodiments, the vehicle control module further controls vehicle braking based upon the quality measure.
According to one alternative embodiment, a system for closest in path vehicle following is provided. The system includes a sensor device of a vehicle to be controlled generating data related to a closest in path vehicle and related to a drivable surface in front of the vehicle. The system further includes a navigation control module including a computerized processor operable to monitor the data from the sensor device, evaluate the data to determine a quality measure of a path followed by the closest in path vehicle, the quality measure including a numerical value quantifying a path followed by the closest in path vehicle, and, if the quality measure of the closest in path vehicle is above a high-quality candidate threshold, generate a breadcrumbing navigation path based upon the data. The system further includes a vehicle control module controlling the vehicle to be controlled based upon the breadcrumbing navigation path.
According to one alternative embodiment, a process for closest in path vehicle following is provided. The process includes gathering data with a sensor device of a vehicle to be controlled, the data being related to a closest in path vehicle and related to a drivable surface in front of the vehicle. The process further includes within a computerized processor, monitoring the data from a sensor device, evaluating the data to determine a quality measure of a path followed by the closest in path vehicle, and if the quality measure of the closest in path vehicle is above a high-quality candidate threshold, generating a breadcrumbing navigation path based upon the data. The process further includes controlling the vehicle to be controlled based upon the breadcrumbing navigation path.
In some embodiments, evaluating the data includes evaluating a stability of the path followed by the closest in path vehicle.
In some embodiments, evaluating the data includes evaluating an oscillation of the path followed by the closest in path vehicle.
In some embodiments, the process further includes automatically stopping the vehicle to be controlled if the quality measure of the closest in path vehicle is below a full stop warranted threshold.
The above features and advantages and other features and advantages of the present disclosure are readily apparent from the following detailed description of the best modes for carrying out the disclosure when taken in connection with the accompanying drawings.
A process and system for closest vehicle in path following for an autonomous or semi-autonomous vehicle is provided including a real-time determination whether a closest vehicle in a current path for the vehicle being controlled is a high-quality candidate to follow a path taken by the closest vehicle in the current path. A high-quality candidate may exhibit low oscillation behavior. A high-quality candidate may exhibit high stability with respect to the road geometry.
Breadcrumbing navigation by following the closest vehicle in path or Closest In Path Vehicle (CIPV) can be used to deal with intermittent lane marking quality in lane following control. Breadcrumbing refers to utilizing locations of other vehicles in the path of the vehicle being controlled to set a path for the vehicle being controlled. Breadcrumbing navigation strategies may not differentiate good versus bad CIPV behavior. A real-time process and system are provided that identifies a high-quality CIPV target to follow. This process, by utilizing the target CIPV states reported by camera and radar, may quantify the CIPV driver's behavior or assign a numerical value to the quality of the driving exhibited by the vehicle concerning lane following performance. The process may generate a value describable as a quality measure which can be a numerical value, for example, between 1 and 100, with a larger value describing higher quality behavior of a CIPV. The quality measure generated by this process can be used by breadcrumbing navigation, for example, by comparing it to a minimum quality threshold of, for example, 75, to decide whether or not to utilize the CIPV path by measuring the confidence or quality of that path. In other embodiments, the quality measure can be some other scalar value, for example, grade A to grade D or five stars to one star. Confidence or a quality measure of the CIPV path can be evaluated or determined in terms of oscillation of the CIPV or stability of the CIPV. Stability of a CIPV can be measured or evaluated in a number of ways, including but not limited to determining whether a CIPV is tracking a lane of travel and monitoring a dynamic trajectory of the CIPV with respect to the road or lane of travel. Further, the disclosed process and system are useful to providing improved vision range, meaning that knowledge about the roadway and information important to traveling upon the roadway are improved.
The quality of lane markings may not be high for lane following features and this causes intermittent feature availability. However, the trajectory of the CIPV may not be trustworthy due to poor or inconsistent driver maneuvers. Drivers can be distracted, can make last minute decisions to change lanes, can drive too aggressively, and can generally not set a good example for a following vehicle. Following a CIPV indiscriminately can cause a vehicle to follow a wrong path or oscillate between a wrong path and a correct lane. Excessive variation in CIPV data can create noise in a breadcrumbing navigation operation.
By examining the CIPV driver's behavior and selectively employing location and trajectory data from the CIPV for breadcrumbing path planning, the disclosed system can increase feature availability and safety. The breadcrumbing data collected and certified to be high-quality can be used individually or can be used to reinforce and rationalize camera inputs for lane following. The disclosed system can provide better camera/lane interpretation, vision range, and quality without new hardware. In one embodiment, the disclosed process and system utilize a fusion of CIPV states including but not limited to a lateral position error, a heading error, and a curvature error to certify and selectively utilize high-quality CIPV data. Lateral position error describes how far away the CIPV is from a nominal or desired center of a lane of travel. Heading error describes an error between an actual heading of the CIPV from a nominal or desired heading based upon geometry a lane of travel. Curvature error describes an error between a curvature navigated by the CIPV as compared to a nominal or desired curvature based upon geometry of a lane of travel. By measuring or estimating lateral position error, heading error, and curvature error, the quality of the CIPV as a candidate to be followed can be evaluated or quantified.
An exemplary algorithm for determining or quantifying a quality of a CIPV as a candidate to be followed is provided as Equation 1.
f(Xc)=∫t-Δtt(α1|eY|+α2|eψ|+α3|eρ|dt)+α4∫ω=0Hz5HzFFT(eYt,eψt,eρt)2dω [1]
Equations 2, 3, and 4 describe terms in Equation 1.
eψ describes a heading error for the CIPV. eY describes a lateral position error for the CIPV. eρ describes a curvature error for the CIPV. The term yblueline describes a lateral position of a blueline or a target/desired/reference trajectory. Terms α1, α2, α3, and α4 describe weighting factors for quantification. The term Δt describes a length of moving time window. The operation FFT describes a Fast Fourier Transform algorithm applied within Equation 1. In one embodiment, the FFT can be performed using the Geortzel Algorithm available in the art. The term ω describes a frequency of low energy band. Equations 5, 6, and 7 further describe terms of Equation 1, describing the vector over window the past Δt2 seconds since tnow.
e
Y
t
={e
Y(t):∀t∈[tnow−Δt2,tnow]} [5]
e
ψ
t
={e
ψ(t):∀t∈[tnow−Δt2,tnow]} [6]
e
ρ
t
={e
ρ(t):∀t∈[tnow−Δt2,tnow]} [7]
Equation 1 is provided as an exemplary algorithm for evaluating whether a target CIPV is a high-quality candidate to utilize for breadcrumbing navigation. A number of alternative algorithms are envisioned, and the disclosure is not intended to be limited to the examples provided herein.
Controlling the vehicle to be controlled based upon a breadcrumbing navigation path can include a number of alternative embodiments. In one exemplary embodiment, the vehicle to be controlled can include equipment to determine a lane geometry on the drivable surface. The vehicle can include a control module to fuse the lane geometry with the breadcrumbing navigation path to create a fused navigation path. A trajectory of the vehicle to be controlled can then be controlled based upon the fused navigation path.
Mission planning module 140 utilizes the breadcrumbing navigation plot from breadcrumbing navigation module 136 and other available information to generate a commanded navigation plot. Longitudinal control module 150 and lateral control module 160 utilize the commanded navigation plot to determine desired vehicle speed and desired vehicle trajectory. Electronic power steering/acceleration/braking module 170 utilizes outputs from longitudinal control module 150 and lateral control module 160 to effect control over navigation of the vehicle being controlled. Control architecture 100 is provided as one exemplary embodiment of a control architecture that can be utilized to implement the disclosed process and system. Other embodiments are envisioned, and the disclosure is not intended to be limited to the examples provided herein.
Various control modules may be utilized within the disclosed system to operate the disclosed process. Control modules may include a computerized device including a computerized processor including memory capable of storing programmed executable code. A control module may be operated upon a single computerized device or may span several computerized devices.
The processor device 410 may include memory, e.g., read only memory (ROM) and random-access memory (RAM), storing processor-executable instructions and one or more processors that execute the processor-executable instructions. In embodiments where the processor device 410 includes two or more processors, the processors may operate in a parallel or distributed manner. Processor device 410 may execute the operating system of the navigation control module 220. Processor device 410 may include one or more modules executing programmed code or computerized processes or methods including executable steps. Illustrated modules may include a single physical device or functionality spanning multiple physical devices. In the illustrative embodiment, the processor device 410 also includes data fusion module 130, mission planning module 140, and lane data synthesis module 412, which are described in greater detail below.
The data input/output module 420 is a device that is operable to take data gathered from sensors and devices throughout the vehicle and process the data into formats readily usable by processor device 410. Data input/output module 420 is further operable to process output from processor device 410 and enable use of that output by other devices or control modules throughout the vehicle.
The communications module 430 may include a communications/data connection with a bus device configured to transfer data to different components of the system and may include one or more wireless transceivers for performing wireless communication.
The memory storage device 440 is a device that stores data generated or received by the navigation control module 220. The memory storage device 440 may include, but is not limited to, a hard disc drive, an optical disc drive, and/or a flash memory drive.
The data fusion module 130 is described in relation to
Mission planning module 140 is described in relation to
Lane data synthesis module 412 monitors information related to a current lane of travel from various sources, including data from a camera device, data from a sensor device, data from a digital map device, and lane data synthesis module 412 projects or estimates the metes and bounds of a current lane of travel from available sources. Map error can exist within the map database or in data related to a current location. Lane data synthesis module 412 may include algorithms useful to localize information, fuse various sources of information, and reduce map error. These metes and bounds are made available to other modules as lane data.
Navigation control module 220 is provided as an exemplary computerized device capable of executing programmed code to evaluate and selectively utilize data from a CIPV target to generate a breadcrumbing navigation plot. A number of different embodiments of navigation control module 220, devices attached thereto, and modules operable therein are envisioned, and the disclosure is not intended to be limited to examples provided herein.
Navigation plots described herein can be useful to command navigation of a fully autonomous vehicle. Similarly, navigation plots described herein can be useful to command navigation of a semi-autonomous vehicle, for example, to provide automated braking, lane-tending, or obstacle avoidance. Similarly, navigation plots described herein can be useful to provide navigational aids such as projected graphics or generated sounds to aid a driver in efficiently controlling a vehicle. Examples are provided herein of how generated navigation plots can be utilized. Other embodiments are envisioned, and the disclosure is not intended to be limited to the examples provided herein.
A breadcrumbing navigation path, once generated by the present process and system, can be useful to create or influence a fused navigation path useful to guide or autonomously drive the vehicle. Such a breadcrumbing navigation path or, in particular, a determination of high oscillation or low stability of a CIPV upon a drivable surface proximate to the vehicle can be used to further modulate other factors such as distance kept away from the CIPV. For example, if a CIPV is scoring high marks for stability a normal following distance can be implemented. If that same CIPV begins to exhibit instability, for example, as a result of the driver becoming distracted, the higher instability or lower stability can be utilized to instruct the vehicle to be controlled to increase a distance from the CIPV based upon a decreased ability to trust that driver. In another exemplary embodiment, a determination of high oscillation or low stability, for example, determined if a quality measure for a particular CIPV falls below a full stop warranted threshold, can be used to command automatic braking or slowing of the vehicle. For example, if a CIPV begins to weave back and forth in a lane, the vehicle to be controlled can be commanded to stop to avoid the CIPV driving erratically. In another embodiment, the driver of the vehicle to be controlled can additionally or alternatively be warned, for example, with visual graphics or an audio warning, if the quality measure of a particular CIPV falls below a warning threshold.
The disclosed process and system describe an improvement of feature availability for autonomous and semi-autonomous vehicles. In conditions where some navigation processes would lack sufficient data and guidance to effectively navigate the vehicle, for example, in a construction zone with missing, contradictory, or displaced lane markings, the disclosed process and system can be used to validate and successfully utilize a path of a CIPV in front of the vehicle to be controlled to navigate the vehicle through the exemplary construction zone.
While the best modes for carrying out the disclosure have been described in detail, those familiar with the art to which this disclosure relates will recognize various alternative designs and embodiments for practicing the disclosure within the scope of the appended claims.