Vehicle operation using threat number
Through computer evaluation of availability and manipulation metrics between vehicles, determining the number of threats and activating the vehicle system, the accuracy and timeliness of ADAS in evaluating and handling vehicle collision risks is solved, and traffic safety is improved.
Patent Information
- Application Number
- CN202410894664.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-07-11
- Filing Date
- 2024-07-04
- Publication Date
- 2025-01-14
AI Technical Summary
The existing Advanced Driver Assistance System (ADAS) is difficult to effectively evaluate the risk of collision between vehicles when determining the number of threats to actuate the main vehicle, especially in a variety of operating scenarios, resulting in the accuracy and timely activation decisions. Sexual limitations.
The number of threats is determined by a computer based on a comparison of availability metrics and manipulation metrics and actuating the vehicle system to operate the main vehicle or target vehicle when the number of threats exceeds a threshold to avoid or reduce the risk of collision. The usability measurement and manipulation measurement can be kinematics such as distance and acceleration. The number of threats is calculated by exponential functions, etc., and adjusted according to vehicle status and environmental factors.
It improves the accuracy of collision risk assessment between vehicles and the timeliness of actuation decisions, enhances the autonomous handling capabilities of vehicles, reduces the intervention needs of human operations, and improves traffic safety.
Smart Images

Figure CN119305546A_ABST
Abstract
Description
Technical Field
[0001] This disclosure describes techniques for determining a threat number for actuating a host vehicle. Background Art
[0002] Advanced driver assistance systems (ADAS) are electronic technologies that assist drivers with driving and parking functions. Examples of ADAS include forward collision detection, lane departure detection, blind spot detection, automatic braking, adaptive cruise control, and lane keeping assist systems. Summary of the invention
[0003] The threat number indicates the risk level of certain collisions between the host vehicle and the target vehicle, for example, by indicating the ability of the host vehicle or the target vehicle to maneuver before one or more of the certain collisions. The host vehicle's computer determines the threat number based on a comparison of the availability metric and the manipulation metric. The availability metric is a kinematic quantity that one of the host vehicle or the target vehicle can use to perform an operation that manipulates the vehicle away from the expected path of the other of the host vehicle or the target vehicle, that is, how much kinematic quantity the situation provides to the vehicle. For example, the availability metric can be the distance from the host vehicle to the expected path of the target vehicle or the lateral acceleration required to turn the host vehicle away from the expected path of the target vehicle. The computer can determine the availability metric based on the geometry of the potential interaction between the host vehicle and the target vehicle. The manipulation metric is the same kinematic quantity that is estimated to be used by one of the host vehicle or the target vehicle to perform an operation that manipulates the vehicle away from the expected path of the other of the host vehicle or the target vehicle, that is, how much kinematic quantity the vehicle can generate. For example, the manipulation metric can be the stopping distance of the vehicle or the lateral acceleration that makes the host vehicle turn to the maximum extent. The computer can determine the manipulation metric based on the kinematic state of the host vehicle (or the target vehicle). The computer actuates a vehicle system (eg, a braking system or a steering system) to operate the host vehicle in response to the threat count exceeding a threshold.
[0004] A computer includes a processor and a memory, and the memory stores instructions executable by the processor to: determine an availability metric; determine a handling metric; determine a threat number based on a comparison of the availability metric and the handling metric; and in response to the threat number exceeding a threshold, actuate a vehicle system to operate one of a first vehicle or a second vehicle. The availability metric is a kinematic quantity that a first vehicle can use to perform an operation to maneuver the first vehicle away from an expected path of a second vehicle. The handling metric is a kinematic quantity that is estimated to be used by the first vehicle to perform the operation to maneuver the first vehicle away from the expected path of the second vehicle. The handling metric is measured in the same units as the availability metric.
[0005] In an example, the second vehicle may include a vehicle system.
[0006] In an example, the first vehicle may include the vehicle system, and the instructions for actuating the vehicle system may include instructions for performing the operation.
[0007] In an example, the availability metric may be an available lateral acceleration of the first vehicle, and the handling metric may be a maneuvering lateral acceleration of the first vehicle. In yet another example, the threat number may include a ratio of the maneuvering lateral acceleration to the available lateral acceleration.
[0008] In an example, the operation may include steering the first vehicle to an orientation parallel to a projected path of the second vehicle. In yet another example, the operation may include following a circular path from a current location to a second location, and the first vehicle at the second location may have an orientation parallel to the projected path of the second vehicle. In yet another example, the availability metric may be based on a radius of the circular path. In yet another example, the instructions may also include instructions for determining the radius based on a relative heading between the first vehicle and the second vehicle and based on a shortest distance from the first vehicle to the projected path of the second vehicle.
[0009] In yet another example, the first vehicle at the second location may be spaced apart from the projected path of the second vehicle by a predefined distance.
[0010] In an example, the threat number may include an exponential function of an independent variable, and the independent variable may include an availability metric and a handling metric. In yet another example, the independent variable may include a difference between the handling metric and the availability metric. In yet another example, the instructions may also include instructions for determining a factor based on a speed of the first vehicle, and the independent variable may include a product of the difference and the factor.
[0011] In yet another example, the instructions may further include instructions for determining a factor based on a turning state of the first vehicle, and the independent variable may include a product of the difference and the factor.
[0012] In yet another example, the instructions may further include instructions for determining a factor based on the classification of the first vehicle, and the independent variable may include a product of the difference and the factor.
[0013] In yet another example, the availability metric may be an availability distance, and the steering metric may be a steering distance.
[0014] In an example, the threat number may be a first threat number, and the instructions may further include instructions for: determining a second threat number; in response to both the first threat number and the second threat number exceeding the threshold, actuating the vehicle system to operate one of the first vehicle or the second vehicle; and in response to at least one of the first threat number and the second threat number being below the threshold, refraining from actuating the vehicle system to operate the one of the first vehicle or the second vehicle.
[0015] In an example, the vehicle system may be a braking system and the operation may include braking.
[0016] In an example, the vehicle system may be a steering system and the operation may include steering.
[0017] A method includes determining an availability metric; determining a handling metric; determining a threat number based on a comparison of the availability metric and the handling metric; and in response to the threat number exceeding a threshold, actuating a vehicle system to operate one of the first vehicle or the second vehicle. The availability metric is a kinematic quantity that a first vehicle can use to perform an operation to maneuver the first vehicle away from an expected path of a second vehicle. The handling metric is a kinematic quantity estimated to be used by the first vehicle to perform the operation to maneuver the first vehicle away from the expected path of the second vehicle. The handling metric is measured in the same units as the availability metric. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] Figure 1 is a block diagram of an example host vehicle.
[0019] Figure 2 is a schematic top view of an example interaction between a host vehicle and a target vehicle.
[0020] Figure 3 is a schematic top view showing the interaction of a first threat number.
[0021] Figure 4 is a schematic top view showing the interaction of the second threat number.
[0022] Figure 5 is a flow chart of an example process for actuating a host vehicle based on the threat number. DETAILED DESCRIPTION
[0023] Referring to the drawings, wherein like reference numerals refer to like parts throughout the several views, a computer 105 of a host vehicle 100 includes a processor and a memory. The memory of the computer 105 stores instructions executable by the processor to: determine an availability metric; determine a handling metric; determine a threat number based on a comparison of the availability metric and the handling metric; and in response to the threat number exceeding a threshold, actuate a vehicle system to operate the host vehicle 100. The host vehicle 100 is one of a first vehicle 205 or a second vehicle 210. The availability metric is a kinematic quantity that the first vehicle 205 can use to perform an operation that maneuvers the first vehicle 205 away from the predicted path 215 of the second vehicle 210. The handling metric is a kinematic quantity that is estimated to be used by the first vehicle 205 to perform an operation that maneuvers the first vehicle 205 away from the predicted path 215 of the second vehicle 210. The handling metric is measured in the same units as the availability metric.
[0024] refer to Figure 1 The host vehicle 100 may be any passenger vehicle or commercial vehicle, such as a car, truck, sport utility vehicle, crossover, van, minivan, taxi, bus, etc. The vehicle 100 includes a computer 105, a communication network 110, sensors 115, and vehicle systems, including a propulsion system 120, a braking system 125, and a steering system 130.
[0025] The computer 105 is a microprocessor-based computing device, such as a general-purpose computing device (which includes a processor and a memory, an electronic controller, etc.), a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a combination of the foregoing, etc. Typically, hardware description languages such as VHDL (VHSIC (Very High Speed Integrated Circuit) Hardware Description Language) are used in electronic design automation to describe digital and mixed-signal systems such as FPGAs and ASICs. For example, an ASIC is manufactured based on VHDL programming provided before manufacturing, and the logic components inside the FPGA can be configured based on, for example, VHDL programming stored in a memory electrically connected to the FPGA circuit. Therefore, the computer 105 may include a processor, a memory, etc. The memory of the computer 105 may include a medium for storing instructions executable by the processor and for electronically storing data and / or a database, and / or the computer 105 may include a structure such as the foregoing structure that provides programming. The computer 105 may be a plurality of computers connected together.
[0026] The computer 105 can transmit and receive data through the communication network 110. The communication network 110 can be, for example, a controller area network (CAN) bus, Ethernet, WiFi, a local interconnect network (LIN), an on-board diagnostic connector (OBD-II), and / or any other wired or wireless communication network. The computer 105 can be communicatively coupled to sensors 115, a propulsion system 120, a braking system 125, a steering system 130, and other vehicle systems and components via the communication network 110.
[0027] The sensors 115 may provide data regarding the operation of the host vehicle 100, such as wheel speed, wheel orientation, and engine and transmission data (e.g., temperature, fuel consumption, etc.). The sensors 115 may detect the position and / or orientation of the host vehicle 100. For example, the sensors 115 may include a global positioning system (GPS) sensor; an accelerometer, such as a piezoelectric system or a micro-electromechanical system (MEMS); a gyroscope, such as a rate gyroscope, a ring laser gyroscope, or a fiber optic gyroscope; an inertial measurement unit (IMU); and a magnetometer. The sensors 115 may detect the external world, such as objects and / or features of the environment surrounding the host vehicle 100, such as other vehicles (i.e., target vehicles), road lane markings, traffic lights and / or signs, pedestrians, etc. For example, the sensors 115 may include radar sensors, ultrasonic sensors, scanning laser rangefinders, light detection and ranging (lidar) devices, and image processing sensors (such as cameras).
[0028] The propulsion system 120 of the host vehicle 100 generates energy and converts the energy into motion of the host vehicle 100. The propulsion system 120 can be a conventional vehicle propulsion subsystem, such as a conventional powertrain system, which includes an internal combustion engine coupled to a transmission that transfers rotational motion to the wheels; an electric powertrain system, which includes a battery, an electric motor, and a transmission that transfers rotational motion to the wheels; a hybrid powertrain system, which includes elements of a conventional powertrain system and an electric powertrain system; or any other type of propulsion device. The propulsion system 120 can include an electronic control unit (ECU) that communicates with and receives input from the computer 105 and / or a human operator, etc. The human operator can control the propulsion system 120 via, for example, an accelerator pedal and / or a gear shift lever.
[0029] The brake system 125 is typically a conventional vehicle braking subsystem and resists the motion of the host vehicle 100, thereby slowing and / or stopping the host vehicle 100. The brake system 125 may include friction brakes, such as disc brakes, drum brakes, band brakes, etc.; regenerative brakes; any other suitable type of brake; or a combination thereof. The brake system 125 may include an electronic control unit (ECU) or the like that communicates with and receives input from the computer 105 and / or a human operator. The human operator may control the brake system 125 via, for example, a brake pedal.
[0030] The steering system 130 is typically a conventional vehicle steering subsystem and controls the turning of the wheels. The steering system 130 can be a rack and pinion system with electric power steering, a steer-by-wire system (both of which are known), or any other suitable system. The steering system 130 can include an electronic control unit (ECU) or the like that communicates with and receives input from the computer 105 and / or a human operator. The human operator can control the steering system 130 via, for example, a steering wheel.
[0031] refer to Figure 2 , the first vehicle 205 and the second vehicle 210 may be located in the same environment, for example, traveling on the same street or intersecting streets. The first vehicle 205 may have a trajectory that intersects with the predicted path 215 of the second vehicle 210. The predicted path 215 is an area that is predicted to be traversed by the second vehicle 210, that is, the ground area that will be swept by the second vehicle 210 when the second vehicle 210 travels. One of the first vehicle 205 or the second vehicle 210 is a host vehicle 100, that is, a vehicle under the control of the computer 105, for which the following determinations and actuations are described. The other of the first vehicle 205 or the second vehicle 210 is a target vehicle that is not controlled by the computer 105. The computer 105 of the host vehicle 100 determines a threat number and uses the threat number to actuate the vehicle system of the host vehicle 100 to attempt to maneuver the host vehicle 100 away from the intersection with the target vehicle, as will be described in more detail below.
[0032] The computer 105 may be programmed to determine an estimated path 215 for the second vehicle 210. For example, the computer 105 may determine the width of the second vehicle 210 based on data from the sensor 115 (e.g., a radar or a lidar) or based on a pre-stored value. The computer 105 may determine the trajectory based on data from the sensor 115, such as the direction of the velocity vector of the second vehicle 210. If the second vehicle 210 is a target vehicle, the computer 105 may determine the trajectory based on data from the radar or lidar indicating changes in the position of the second vehicle 210 over time. If the second vehicle 210 is the host vehicle 100, the computer 105 may receive the trajectory from, for example, an IMU of the sensor 115. The computer 105 may estimate the width of the second vehicle 210 from the current position of the second vehicle 210 in the direction of the trajectory of the second vehicle 210 to generate the estimated path 215.
[0033] The first vehicle 205 can perform an operation for maneuvering the first vehicle 205 away from the predicted path 215 of the second vehicle 210. A number of potential operations can be considered, as will be described below. The operation can include braking and / or steering. For example, the operation can include actuating the braking system 125 of the first vehicle 205 until the first vehicle 205 has stopped (as described below with respect to Figure 3 ), or the operation may include actuating the steering system 130 of the first vehicle 205 until the trajectory of the first vehicle 205 is parallel to the predicted path 215 of the second vehicle 210 (as described below with respect to Figure 4 The potential operations may be stored in a memory of the computer 105. The computer 105 may determine an availability metric and a manipulation metric for each potential operation.
[0034] The computer 105 is programmed to determine an availability metric for each potential operation. The availability metric is the amount of kinematics that the first vehicle 205 can use to perform the operation of maneuvering the first vehicle 205 away from the predicted path 215 of the second vehicle 210, that is, how much kinematics the situation provides for the first vehicle 205 to use so as not to intersect the predicted path 215 of the second vehicle 210. For example, the availability metric can be the distance from the first vehicle 205 to the predicted path 215 of the second vehicle 210 in the direction of travel of the first vehicle 205. For another example, the availability metric can be the lateral acceleration required to turn the first vehicle 205 to be parallel to the predicted path 215 of the second vehicle 210 before the first vehicle 205 reaches the predicted path 215. The computer 105 can determine the availability metric based on a geometric and / or kinematic analysis of the first vehicle 205 and the second vehicle 210, as will be described below with respect to a specific example.
[0035] The computer 105 is programmed to determine a handling metric for each potential operation. The handling metric is a kinematic quantity that is estimated to be used by the first vehicle 205 to perform the operation of maneuvering the first vehicle 205 away from the expected path 215 of the second vehicle 210, that is, a kinematic quantity that the first vehicle 205 can generate. For example, the handling metric can be the stopping distance of the first vehicle 205. For another example, the handling metric can be a predetermined maximum lateral acceleration. The handling metric is measured in the same unit as the availability metric of the corresponding operation, thereby facilitating comparison between the handling metric and the availability metric. For example, the handling metric is the same kinematic quantity as the availability metric of the corresponding operation, such as the distance in front of the first vehicle 205 or the lateral acceleration of the first vehicle 205. The computer 105 can determine the handling metric based on the kinematic state of the first vehicle 205.
[0036] The computer 105 is programmed to determine the number of threats for each potential operation based on a comparison of a corresponding usability metric and a corresponding manipulation metric. The comparison may be, for example, a ratio between the manipulation metric and the usability metric, a difference between the manipulation metric and the usability metric, etc., as will be described below with respect to a specific example.
[0037] The computer 105 is programmed to compare the threat number with a threshold value, and in response to the threat number exceeding the threshold value, actuate a vehicle system of the host vehicle 100 to operate the host vehicle 100. In the case of multiple potential operations, the computer 105 can be programmed to actuate the vehicle system in response to all threat numbers exceeding the threshold value. The computer 105 can be programmed to avoid actuating the vehicle system to operate the host vehicle 100 in response to at least one of the threat numbers being below the threshold value. The threshold value can be selected to provide a margin before the manipulation metric reaches the availability metric. For example, the determination of the threat number of potential operations can be calibrated so that each threat number is equal to 1 when the corresponding manipulation metric is equal to the corresponding availability metric, and the threshold value can be selected to be 0.7. The threat number being below the threshold value can indicate that the operator of the first vehicle 205 has sufficient time to perform the corresponding operation, i.e., the operation corresponding to the threat number.
[0038] The vehicle system may include a braking system 125 and / or a steering system 130. Actuating the vehicle system may include actuating the braking system 125, i.e., applying the brakes, and / or actuating the steering system 130, i.e., turning the host vehicle 100. For example, if the host vehicle 100 is the first vehicle 205, actuating the vehicle system may include performing an operation corresponding to the number of threats. The computer 105 may actuate the vehicle system to perform an operation corresponding to the lowest number of threats (i.e., the number of threats that exceeds the threshold by a minimum amount). If the host vehicle 100 is the second vehicle 210, the computer 105 may actuate the vehicle system in a predetermined manner, for example, actuating the braking system 125 to brake the host vehicle 100 to a stop.
[0039] Figure 3 A specific example of a threat number is shown, which will be referred to as a distance-based threat number. A potential action of the distance-based threat number is to brake the first vehicle 205 to a stop.
[0040] The availability metric for the distance-based threat count is the available distance. The computer 105 may be programmed to determine the available distance. The available distance may be, for example, the longitudinal distance from the closest point on the first vehicle 205 to the projected path 215 of the second vehicle 210. The available distance is longitudinal because the available distance is measured along the forward direction of the first vehicle 205. The closest point may be the front corner of the first vehicle 205.
[0041] If the host vehicle 100 is the second vehicle 210, the computer 105 can be programmed to classify the first vehicle 205. The computer 105 can classify the first vehicle 205 using conventional image recognition techniques (e.g., a convolutional neural network) that is programmed to accept an image as input and output the identified vehicle type. Possible vehicle types may include bicycles, consumer motor vehicles, commercial vehicles, etc. A convolutional neural network includes a series of layers, each of which uses the previous layer as input. Each layer contains a plurality of neurons that receive data generated by a subset of neurons in the previous layer as input and generate outputs that are sent to neurons in the next layer. Types of layers include: convolutional layers that calculate the dot product of weights and input data for a small area; pooling layers that perform downsampling operations along the spatial dimension; and fully connected layers that are generated based on the outputs of all neurons in the previous layer. The last layer of the convolutional neural network generates a score for each potential vehicle type, and the final output is the vehicle type with the highest score.
[0042] The maneuvering metric of the distance-based threat number is the maneuvering distance. The computer 105 may be programmed to determine the maneuvering distance based on a model of the braking system 125 of the first vehicle 205. For example, the maneuvering distance according to the model may be the sum of the distance traveled during active braking and the distance traveled at the current speed during the braking delay time, as shown in the following equation:
[0043]
[0044] where d m is the maneuvering distance, v is the current speed of the first vehicle 205, a maxReached is the maximum deceleration achieved, and t BDtotis the total braking delay time. The value of the maximum deceleration depends on whether the first vehicle 205 is expected to reach zero speed when the deceleration increases (i.e., during the ramp-up period) or after the maximum deceleration has been reached. The time to reach zero speed during the ramp-up period can be given by the following equation:
[0045]
[0046] where j is the jerk, which is the derivative of acceleration. The time to reach maximum deceleration is given by: t reachMax =a max / j, where a max is the maximum deceleration of the first vehicle 205. If the host vehicle 100 is the first vehicle 205, the computer 105 may set the maximum deceleration a max If the host vehicle 100 is the second vehicle 210, the computer 105 may determine the maximum deceleration a based on the classification of the first vehicle 205. ma x, for example by looking up the classification (e.g., bicycle, consumer motor vehicle, commercial vehicle, etc.) and the corresponding maximum deceleration a max If the maximum deceleration a is reached max The time taken to reach zero speed during the deceleration increase is less than the time taken to reach zero speed during the deceleration increase, that is, if t reachMax <t jerkStop , then the maximum acceleration a maxReached is the maximum deceleration a max If the time to reach zero velocity during the acceleration increase is less than the time to reach maximum acceleration, that is, if t jerkStop <t reachMax , then the maximum acceleration achieved is given by the following equation: maxReached =t jerkStop / j. The total braking delay time may include a preset reaction time and a deceleration ramp-up time, for example, as shown in the following equation:
[0047]
[0048] where t react is the preset reaction time.
[0049] The computer 105 may be programmed to determine the factor λ based on one or more characteristics of the first vehicle 205. The factor λ is a numerical quantity that will be used to determine the distance-based threat number, as described below. The computer 105 may determine the factor λ based on the speed of the first vehicle 205, the turning state of the first vehicle 205, the classification of the first vehicle 205, etc. For example, the factor λ may decrease as the speed v of the first vehicle 205 increases, which results in a larger stopping distance at higher speeds. For another example, when the first vehicle 205 turns compared to when the first vehicle 205 is traveling straight, the factor λ may decrease to account for an over-approximation of the available distance that may occur when the first vehicle 205 turns. For another example, when the host vehicle 100 is the second vehicle 210, the factor λ may be adjusted based on the classification of the first vehicle 205 to account for different typical stopping distances for different types of vehicles.
[0050] The computer 105 may be programmed to determine a distance-based threat number. The distance-based threat number may include an exponential function of independent variables, the independent variables including the available distance and the maneuvering distance. The term "exponential function" has the mathematical meaning of taking the Euler number e as the base and the independent variable as the exponent. The independent variable may include the difference between the available distance and the maneuvering distance, for example, the product of the difference and a factor λ, as shown in the following equation:
[0051] DBTN=exp(λ(d m -d a ))
[0052] Where DBTN is the distance-based threat number, exp() is the exponential function, λ is the factor, and d m is the maneuvering distance, and d a As the first vehicle 205 approaches the projected path 215 of the second vehicle 210, the use of an exponential function may provide an intuitive, predictable behavior of the distance-based threat number, wherein the distance-based threat number increases as the first vehicle 205 gets closer to the projected path 215, even when the operator actuates the braking system 125 of the first vehicle 205. For comparison, the time to collision (TTC) may increase as the operator brakes the first vehicle 205, even though the first vehicle 205 will get closer to the second vehicle 210.
[0053] The computer 105 may determine two distance-based threat numbers, a first distance-based threat number for the host vehicle 100 and a second distance-based threat number for the target vehicle. The computer 105 may consider the host vehicle 100 as the first vehicle 205 and the target vehicle as the second vehicle 210 to determine the first distance-based threat number in the above-described manner, i.e., a distance-based threat number that evaluates the stopping ability of the host vehicle 100. The computer 105 may consider the target vehicle as the first vehicle 205 and the host vehicle 100 as the second vehicle 210 to determine the second distance-based threat number in the above-described manner, i.e., a distance-based threat number that evaluates the stopping ability of the target vehicle.
[0054] The computer 105 may be programmed to actuate a vehicle system of the host vehicle 100 in response to the distance-based threat number (and any other threat number) exceeding a threshold. More specifically, the computer 105 may actuate a vehicle system in response to both the first distance-based threat number and the second distance-based threat number (and any other threat number) exceeding a threshold. For example, the computer 105 may actuate the braking system 125 by braking the host vehicle 100 to a stop.
[0055] Figure 4 Another specific example of a threat number is shown, which will be referred to as a yaw threat number. A potential operation of the yaw threat number is to steer the first vehicle 205 to an orientation parallel to the projected path 215 of the second vehicle 210. The operation may include following a circular path 400 from a current position to a second position, wherein the first vehicle 205 at the second position has an orientation parallel to the projected path 215 of the second vehicle 210. The first vehicle 205 at the second position may be spaced apart from the projected path 215 of the second vehicle 210 by a predefined distance. The predefined distance may be selected to provide a margin between the first vehicle 205 at the second position and the projected path 215 of the second vehicle 210.
[0056] The computer 105 may be programmed to determine the radius of the circular path 400 based on the relative heading between the first vehicle 205 and the second vehicle 210, the shortest distance of the predicted path 215 from the first vehicle 205 to the second vehicle 210, the predefined distance, and possibly the steering wheel angle of the first vehicle 205 (or equivalently, the steering angle of the first vehicle 205). For example, the radius may be given by the following equation:
[0057]
[0058] Where d is the shortest distance from the first vehicle 205 to the second vehicle 210 in the predicted path 215, d smis a predefined distance, θ is a relative heading between the first vehicle 205 and the second vehicle 210, SWA is a steering wheel angle of the first vehicle 205, and SR is a turning rate of the first vehicle 205. The term SWA / SR may be replaced by a steering angle SA. The steering wheel angle term or the steering angle term may compensate for the steering force of the operator of the first vehicle 205 and may be omitted instead.
[0059] The availability metric for the yaw threat number is the available lateral acceleration of the first vehicle 205. The computer 105 may be programmed to determine the available lateral acceleration, for example, based on a physical model of acceleration for following the circular path 400, for example, as given in the following equation:
[0060]
[0061] where a latA is the available lateral acceleration of the first vehicle 205, v is the speed of the first vehicle 205, and r is the radius of the circular path 400 determined above. The use of the circular path 400 allows the radius r and the available lateral acceleration a to be calculated using simple formulas using quantities known to the computer 105. latA , while still accurately describing the space provided by the first vehicle 205 turning situation.
[0062] The handling metric of the yaw threat number is the handling lateral acceleration of the first vehicle 205. The computer 105 may be programmed to determine the handling lateral acceleration. For example, the handling lateral acceleration may be a predefined value stored in a memory of the computer 105. The predefined handling lateral acceleration may be selected based on a maximum lateral acceleration at which a turn still feels comfortable for a typical operator of the first vehicle 205.
[0063] The computer 105 may be programmed to determine a yaw threat number. The yaw threat number may include a ratio of the available lateral acceleration to the maneuvering lateral acceleration, for example, as shown in the following equation:
[0064]
[0065] Where YTN is the yaw threat number, a latA is the available lateral acceleration, and a latM The computer 105 may consider the host vehicle 100 as the first vehicle 205 and the target vehicle as the second vehicle 210 to determine the yaw threat number.
[0066] The computer 105 may be programmed to actuate vehicle systems of the host vehicle 100 in response to the yaw threat number (and any other threat number) exceeding a threshold. For example, the computer 105 may actuate the steering system 130 to perform an operation, namely, to steer the host vehicle 100 along the circular path 400.
[0067] Figure 5 1 is a flow chart illustrating an example process 500 for actuating a host vehicle 100 based on a threat count. The memory of the computer 105 stores executable instructions for performing the steps of the process 500, and / or may be programmed such as the structures mentioned above. The computer 105 may continuously perform the process 500 when a target vehicle is in the vicinity of the host vehicle 100. As a general overview of the process 500, the computer 105 receives data from the sensor 115, determines an availability metric for a corresponding threat count, determines a manipulation metric for a corresponding threat count, and determines a threat count based on the corresponding availability metric and the manipulation metric. In response to the threat count exceeding a threshold, the computer 105 actuates a vehicle system of the host vehicle 100 to operate the host vehicle 100. In response to at least one of the threat counts being below a threshold, the computer 105 avoids actuating a vehicle system to operate the host vehicle 100.
[0068] Process 500 begins in block 505, where computer 105 receives data from sensors 115. The data may indicate kinematic states of host vehicle 100 and target vehicles, from which usability metrics and handling metrics may be determined.
[0069] Next, in block 510 , the computer 105 determines an availability metric, such as an available distance for the host vehicle 100 , an available distance for the target vehicle, and an available lateral acceleration for the host vehicle 100 , as described above.
[0070] Next, in box 515 , the computer 105 determines the handling metrics, such as the handling distance of the host vehicle 100 , the handling distance of the target vehicle, and the handling lateral acceleration of the host vehicle 100 , as described above.
[0071] Next, in block 520 , the computer 105 determines a threat number, such as a distance-based threat number for the host vehicle 100 , a distance-based threat number for the target vehicle, and a yaw threat number for the host vehicle 100 , as described above.
[0072] Next, in decision block 525, computer 105 determines whether each threat count exceeds a threshold, as described above. In response to all threat counts exceeding the threshold, process 500 proceeds to block 530. In response to at least one of the threat counts being below the threshold, process 500 proceeds to block 535.
[0073] In frame 530, the computer 105 actuates the vehicle systems of the host vehicle 100 to operate the host vehicle 100 as described above. After frame 530, the process 500 ends.
[0074] In frame 535, the computer 105 refrains from actuating vehicle systems of the host vehicle 100 to operate the host vehicle 100 as described above. After frame 535, the process 500 ends.
[0075] In general, the computing systems and / or devices described may employ any of a number of computer operating systems, including but not limited to versions and / or variations of: Ford Applications, AppLink / Smart Device Link middleware, Microsoft Operating system, Microsoft Operating systems, Unix operating systems (e.g., those distributed by Oracle Corporation of Redwood Shores, California) operating systems), AIX UNIX operating system released by International Business Machines Corporation of Armonk, New York, Linux operating system, Mac OSX and iOS operating systems released by Apple Inc. of Cupertino, California, BlackBerry OS released by BlackBerry Ltd. of Waterloo, Canada, and Android operating system developed by Google Inc. and the Open Handset Alliance, or provided by QNX Software Systems CAR Infotainment Platform. Examples of computing devices include, but are not limited to, an in-vehicle computer, a computer workstation, a server, a desktop, notebook, laptop or handheld computer, or some other computing system and / or device.
[0076] Computing devices typically include computer-executable instructions, wherein the instructions are executable by one or more computing devices such as those listed above. Computer-executable instructions may be compiled or interpreted from a computer program created using a variety of programming languages and / or technologies, including, alone or in combination, but not limited to Java. TM, C, C++, Matlab, Simulink, Stateflow, Visual Basic, Java Script, Python, Perl, HTML, etc. Some of these applications can be compiled and executed on virtual machines such as Java virtual machines, Dalvik virtual machines, etc. Typically, a processor (e.g., a microprocessor) receives instructions from, for example, a memory, a computer-readable medium, etc., and executes these instructions to perform one or more processes, including one or more of the processes described herein. Such instructions and other data can be stored and transmitted using a variety of computer-readable media. Files in a computing device are typically a collection of data stored on a computer-readable medium such as a storage medium, a random access memory, etc.
[0077] Computer-readable media (also referred to as processor-readable media) include any non-transitory (e.g., tangible) media that participate in providing data (e.g., instructions) that can be read by a computer (e.g., by a processor of a computer). Such media can take many forms, including, but not limited to, non-volatile media and volatile media. Instructions can be transmitted via one or more transmission media, including optical fibers, wires, wireless communications, including internals that make up a system bus coupled to a processor of a computer. Common forms of computer-readable media include, for example, RAM, PROM, EPROM, FLASH-EEPROM, any other memory chip or cassette, or any other medium from which a computer can read.
[0078] The database, data repository or other data storage described herein may include various mechanisms for storing, accessing / accessing and retrieving various data, including hierarchical databases, file sets in file systems, application databases in special formats, relational database management systems (RDBMS), non-relational databases (NoSQL), graphic databases (GDB), etc. Each such data storage is typically included in a computing device using a computer operating system such as one of the above-mentioned, and is accessed via a network in any one or more of a variety of ways. The file system is accessible from the computer operating system and may include files stored in various formats. In addition to the language (such as the above-mentioned PL / SQL language) for creating, storing, editing and executing stored programs, RDBMS typically also uses structured query language (SQL).
[0079] In some examples, system elements may be implemented as computer-readable instructions (e.g., software) on one or more computing devices (e.g., servers, personal computers, etc.) stored on computer-readable media associated therewith (e.g., disks, memories, etc.). A computer program product may include such instructions stored on a computer-readable medium for performing the functions described herein.
[0080] In the accompanying drawings, like reference numerals indicate like elements. In addition, some or all of these elements may be changed. With respect to the media, processes, systems, methods, heuristics, etc. described herein, it should be understood that although the steps of such processes, etc. have been described as occurring in a certain ordered sequence, such processes may be practiced by performing the steps in an order different from that described herein. It should also be understood that certain steps may be performed simultaneously, other steps may be added, or certain steps described herein may be omitted. The operations, systems, and methods described herein should always be implemented and / or performed in accordance with applicable owner / user manuals and / or safety guidelines.
[0081] The present disclosure has been described in an illustrative manner, and it should be understood that the terms that have been used are intended to be descriptive in nature, rather than restrictive. The adjectives "first" and "second" are used throughout this document as identifiers, and are not intended to indicate importance, order, or quantity. The use of "in response to," "after determining...", etc. indicates a causal relationship, not just a temporal relationship. In view of the above teachings, many modifications and variations of the present disclosure are possible, and the present disclosure can be practiced in other ways than those specifically described.
[0082] According to the present invention, a computer is provided, having a processor and a memory, the memory storing instructions executable by the processor to: determine an availability metric, the availability metric being a kinematic quantity available to a first vehicle to perform an operation to maneuver the first vehicle away from an expected path of a second vehicle; determine a handling metric, the handling metric being a kinematic quantity estimated to be used by the first vehicle to perform the operation to maneuver the first vehicle away from the expected path of the second vehicle, the handling metric being measured in the same units as the availability metric; determine a threat number based on a comparison of the availability metric and the handling metric; and in response to the threat number exceeding a threshold, actuate a vehicle system to maneuver one of the first vehicle or the second vehicle.
[0083] According to an embodiment, the second vehicle comprises the vehicle system.
[0084] According to an embodiment, the first vehicle comprises the vehicle system, and the instructions for actuating the vehicle system comprise instructions for performing the operation.
[0085] According to an embodiment, the usability metric is an available lateral acceleration of the first vehicle and the handling metric is a handling lateral acceleration of the first vehicle.
[0086] According to an embodiment, the threat number comprises a ratio of the maneuvering lateral acceleration to the available lateral acceleration.
[0087] According to an embodiment, the operation comprises steering the first vehicle to an orientation parallel to the predicted path of the second vehicle.
[0088] According to an embodiment, said operation comprises following a circular path from a current position to a second position, said first vehicle at said second position having said orientation parallel to said predicted path of said second vehicle.
[0089] According to an embodiment, the availability metric is based on a radius of the circular path.
[0090] According to an embodiment, the instructions further comprise instructions for determining the radius based on a relative heading between the first vehicle and the second vehicle and based on a shortest distance of the predicted path from the first vehicle to the second vehicle.
[0091] According to an embodiment, the first vehicle in the second position is spaced apart from the predicted path of the second vehicle by a predefined distance.
[0092] According to an embodiment, the threat number comprises an exponential function of independent variables, the independent variables comprising the usability metric and the manipulation metric.
[0093] According to an embodiment, the independent variable comprises a difference between the manipulation metric and the availability metric.
[0094] According to an embodiment, the instructions further comprise instructions for determining a factor based on a speed of the first vehicle, and the independent variable comprises a product of the difference and the factor.
[0095] According to an embodiment, the instructions further comprise instructions for determining a factor based on a turning speed of the first vehicle, and the independent variable comprises a product of the difference and the factor.
[0096] According to an embodiment, the instructions further comprise instructions for determining a factor based on the classification of the first vehicle, and the independent variable comprises a product of the difference value and the factor.
[0097] According to an embodiment, the availability metric is an availability distance and the manipulation metric is a manipulation distance.
[0098] According to an embodiment, the threat number is a first threat number, and the instructions further include instructions for: determining a second threat number; in response to both the first threat number and the second threat number exceeding the threshold, actuating the vehicle system to operate one of the first vehicle or the second vehicle; and in response to at least one of the first threat number and the second threat number being below the threshold, refraining from actuating the vehicle system to operate the one of the first vehicle or the second vehicle.
[0099] According to an embodiment, the vehicle system is a braking system and the operation comprises braking.
[0100] According to an embodiment, the vehicle system is a steering system and the operation comprises steering.
[0101] According to the present invention, a method includes: determining an availability metric, the availability metric being a kinematic quantity that a first vehicle can use to perform an operation to maneuver the first vehicle away from an expected path of a second vehicle; determining a handling metric, the handling metric being a kinematic quantity estimated to be used by the first vehicle to perform the operation to maneuver the first vehicle away from the expected path of the second vehicle, the handling metric being measured in the same units as the availability metric; determining a threat number based on a comparison of the availability metric and the handling metric; and in response to the threat number exceeding a threshold, actuating a vehicle system to operate one of the first vehicle or the second vehicle.
Claims
1. A method comprising: determining an availability metric, the availability metric being a kinematic quantity that a first vehicle can use to perform an operation that maneuvers the first vehicle away from a projected path of a second vehicle; determining a handling metric, the handling metric being a kinematic quantity estimated to be used by the first vehicle to perform the maneuver to maneuver the first vehicle away from the projected path of the second vehicle, the handling metric being measured in the same units as the availability metric; determining a threat count based on a comparison of the availability metric and the manipulation metric; as well as In response to the threat count exceeding a threshold, a vehicle system is actuated to operate one of the first vehicle or the second vehicle.
2. The method of claim 1, wherein the second vehicle includes the vehicle system. 3 . The method of claim 1 , wherein the first vehicle includes the vehicle system, and actuating the vehicle system includes performing the operation. 4 . The method of claim 1 , wherein the usability metric is a usable lateral acceleration of the first vehicle and the handling metric is a handling lateral acceleration of the first vehicle. 5 . The method of claim 4 , wherein the threat number comprises a ratio of the maneuvering lateral acceleration to the available lateral acceleration.
6. The method of claim 1, wherein the operating includes steering the first vehicle to an orientation parallel to the projected path of the second vehicle.
7. The method of claim 6, wherein the operation includes following a circular path from a current location to a second location, the first vehicle at the second location having the orientation parallel to the projected path of the second vehicle.
8. The method of claim 7, wherein the availability metric is based on a radius of the circular path, the method further comprising determining the radius based on a relative heading between the first vehicle and the second vehicle and based on a shortest distance of the predicted path from the first vehicle to the second vehicle.
9. The method of claim 7, wherein the first vehicle at the second location is spaced apart a predefined distance from the projected path of the second vehicle.
10. The method of claim 1, wherein the threat number comprises an exponential function of independent variables, the independent variables comprising the availability metric and the manipulation metric. The method of claim 10 , wherein the independent variable comprises a difference between the manipulation metric and the usability metric.
12. The method of claim 11, further comprising determining a factor based on at least one of a speed of the first vehicle, a turning state of the first vehicle, and a classification of the first vehicle, wherein the independent variable comprises a product of the difference and the factor.
13. The method of claim 10, wherein the availability metric is an availability distance and the steering metric is a steering distance.
14. The method of claim 1, wherein the threat count is a first threat count, the method further comprising: Determine the second threat number; in response to both the first threat count and the second threat count exceeding the threshold, actuating the vehicle system to operate one of the first vehicle or the second vehicle; as well as Responsive to at least one of the first threat count and the second threat count being below the threshold, actuating the vehicle system to operate the one of the first vehicle or the second vehicle is avoided.
15. A computer comprising a processor and a memory, the memory storing instructions executable by the processor to perform the method of one of claims 1 to 14.