METHOD FOR VEHICLE COLLISION AVOIDANCE
Patent Information
- Application Number
- DE102020103509
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-03-26
- Filing Date
- 2020-02-11
- Publication Date
- 2025-03-06
- Estimated Expiration
- 2040-02-11
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] The subject matter of the disclosure relates to the detection of vehicle collisions, in particular to the detection of vehicle collisions using predictions and interactions of vehicle movements in conjunction with predictions of the movement of mobile agents and stationary agents.
[0002] Autonomous vehicles are capable of operating and navigating without human intervention.
[0003] Autonomous vehicles, as well as some non-autonomous vehicles, use sensors such as cameras, radar, LIDAR, global positioning systems, and computer vision to sense the vehicle's surroundings. Advanced computer control systems interpret the sensory input to determine a vehicle's location, appropriate navigation paths, and obstacles and corresponding signage. Some autonomous vehicles update map information in real time to maintain the autonomous vehicle's position even when conditions change or the vehicle enters an unfamiliar environment. Both autonomous and non-autonomous vehicles are increasingly communicating with remote computer systems and with each other using V2X (vehicle-to-everything, vehicle-to-vehicle (V2V), and vehicle-to-infrastructure (V2I)) communications.
[0004] DE 10 2019 127 975 A1 discloses an infrastructure node relating to a vehicle-to-infrastructure (V2I) messaging system. The infrastructure node comprises a processor and a memory. The memory stores processor-executable instructions including identifying a threat to a target vehicle; and, based on the identification, transmitting a private message to the target vehicle using line-of-sight (LOS) transmission.
[0005] As autonomous and semi-autonomous vehicles become increasingly common, it is important to accurately locate each vehicle on a road network and detect obstacles that may collide with the vehicle. Accordingly, it is desirable to provide further improvements for collision avoidance when a vehicle transits the road network.
[0006] In an exemplary embodiment, a method for collision avoidance by a vehicle is disclosed. The method comprises installing a vehicle system on a vehicle, the vehicle system providing collision avoidance guidance based on training data using motion information from one or more agents and behaviors associated with one or more people associated with the one or more agents or the vehicle. The method further comprises detecting, by a processor, a collision course between the vehicle and one or more mobile and / or one or more stationary agents. The method further comprises calculating, by the processor, one or more decisions that avoid a collision in response to detecting a collision course, each decision comprising a vehicle trajectory.The method further includes the processor selecting a decision from one or more decisions. The method further includes the processor controlling the operation of the vehicle based on the selected decision.
[0007] According to the invention, the training data includes data based on one or more predictive models used to predict future movement in conjunction with one or more agents. Another aspect of the method uses one or more recurrent neural networks (RNNs) to calculate the one or more decisions that avoid the collision. Another aspect of the method is that the one or more agents are mobile or stationary agents. Another aspect of the method is that the movement information from one or more agents includes speed, heading, and location information. Another aspect of the method is that a collision window is used to detect a collision course. Another aspect of the method is that controlling the vehicle operation includes a change in speed and / or a lane change.
[0008] In another exemplary embodiment, a system for collision avoidance by a vehicle is presented. The system includes a vehicle having a memory, a processor coupled to the memory, a decision resolver, a trajectory planner, and a controller. The processor associated with the vehicle is operable to implement a vehicle system in a vehicle, the vehicle system providing collision avoidance guidance based on training data using motion information from one or more agents and behaviors associated with one or more people associated with the one or more agents or the vehicle. The training data includes data based on one or more predictive models used to predict future motion associated with the one or more agents.The processor is further capable of detecting a collision course between the vehicle and one or more mobile agents and / or one or more stationary agents.
[0009] The processor is further operable, in response to detecting a collision course, to calculate one or more decisions that avoid a collision, each decision including a vehicle trajectory. The processor is further operable to select one of the one or more decisions. The processor is further operable to control the operation of the vehicle based on the selected decision.
[0010] In another exemplary embodiment, a computer-readable storage medium for performing a method for collision avoidance by a vehicle is presented herein. The computer-readable storage medium comprises installing a vehicle system in a vehicle, wherein the vehicle system provides collision avoidance guidance based on training data using movement information from one or more agents and behaviors associated with one or more persons associated with the one or more agents or the vehicle. The computer-readable storage medium further comprises detecting a collision course between the vehicle and one or more mobile agents and / or one or more stationary agents.The computer-readable storage medium further includes calculating one or more decisions that avoid a collision in response to detecting a collision course, each decision comprising a vehicle trajectory. The computer-readable storage medium further includes selecting one of the decisions. The computer-readable storage medium further includes controlling vehicle operation based on the selected decision.
[0011] Further features, advantages and details appear only as examples in the following detailed description, whereby the detailed description refers to the figures in which: Fig. 1 is a computing environment according to one or more embodiments; Fig. 2 is a block diagram showing an example of a processing system for practicing the teachings given herein; Fig. 3 shows a schematic representation of an exemplary vehicle system according to one or more embodiments; Fig. 4 is a block diagram of vehicle components according to one or more embodiments; Fig. 5 shows a flowchart of a method for collision avoidance by a vehicle according to one or more embodiments; and Fig. 6 shows a flowchart of a method for training a vehicle system of a vehicle for collision avoidance based on data obtained from each of a plurality of agents according to one or more embodiments.
[0012] According to an exemplary embodiment, in Fig. 1 illustrates a computing environment 50 associated with a vehicle collision avoidance system according to one or more embodiments. As illustrated, the computing environment 50 consists of one or more computing devices, e.g., a server / cloud 54B and / or an onboard vehicle computer system 54N, installed in each of a plurality of autonomous or non-autonomous vehicles connected via the network 150. The one or more computing devices may communicate with each other via the network 150.
[0013] The network 150 may be, for example, a cellular network, a local area network (LAN), a wide area network (WAN), such as the Internet and Wi-Fi, a dedicated short-range communications network (e.g., V2V (vehicle-to-vehicle) communications, V2X (vehicle-to-everything) communications, V2I (vehicle-to-infrastructure) communications, and V2P (vehicle-to-pedestrian) communications), or any combination thereof, and may include wired, wireless, fiber optic, or any other connection. The network 150 may be any combination of connections and protocols that support communication between the server / cloud 54B and the multiple vehicle onboard computer systems 54N, respectively.
[0014] When a cloud is used instead of a server, Server / Cloud 54B can serve as a remote computing resource. Server / Cloud 54B can be implemented as a service delivery model to enable convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal administrative effort or interaction with a service provider.
[0015] Fig. 2 shows an exemplary processing system 200 for implementing the teachings. The processing system 200 may form at least a portion of one or more computing devices, such as server / cloud 54B, and / or the vehicle onboard computer system 54N. The processing system 200 may include one or more central processing units (processors) 201a, 201b, 201c, etc. (collectively or generally referred to as processor(s) 201). The processors 201 are coupled to the system memory 214 and various other components via a system bus 213. The read-only memory (ROM) 202 is coupled to the system bus 213 and may include a basic input / output system (BIOS) that controls certain basic functions of the processing system 200.
[0016] Fig. 2 further shows an input / output (I / O) adapter 207 and a network adapter 206 coupled to the system bus 213. The I / O adapter 207 may be a small SCSI (Computer System Interface) adapter that communicates with a hard disk 203 and / or another storage drive 205 or other similar component. The I / O adapter 207, hard disk 203, and another storage drive 205 are collectively referred to herein as mass storage 204. The operating system 220 for execution on the processing system 200 may be stored in the mass storage 204. The network adapter 206 connects the system bus 213 to an external network 216, which may be network 150, allowing the processing system 200 to communicate with other such systems. A display (e.g.,A display monitor 215 may be connected to system bus 213 by display adapter 212, which may include a graphics adapter to enhance the performance of graphics-intensive applications and a video controller. In one implementation, network adapter 206, I / O adapter 207, and display adapter 212 may be connected to one or more I / O buses connected to system bus 213 via an intermediate bus bridge (not shown). Suitable I / O buses for connecting peripherals such as disk controllers, network adapters, and graphics cards typically include common protocols such as Peripheral Component Interconnect (PCI). Additional input / output devices are represented as connected to system bus 213 via user interface adapter 208 and display adapter 212.A microphone 209, the steering wheel / dashboard controls 210 and the speaker 211 can all be connected to the system bus 213 via the user interface adapter 208, which may contain, for example, a Super I / O chip that integrates multiple device adapters into a single integrated circuit.
[0017] Processing system 200 may additionally include a graphics processing unit 230. Graphics processing unit 230 is a specialized electronic circuit for manipulating and modifying memory to accelerate the creation of images in an image buffer dedicated to output to a display. In general, graphics processing unit 230 is very efficient at manipulating computer graphics and image processing and has a highly parallel structure, making it more effective than general-purpose CPUs for algorithms that require the processing of large blocks of data in parallel.
[0018] Thus, the processing system 200 contains, as shown in Fig. 2, the processing capability in the form of processors 201, the storage capability including the system memory 214 and the mass storage 204, input means such as microphone 209 and steering wheel / dashboard controls 210 and the output capability including speakers 211 and display monitor 215. In one embodiment, a portion of the system memory 214 and the mass storage 204 together store an operating system to perform the functions of the various Fig. 2 components shown.
[0019] Fig. 3 shows the components of a system 300 associated with autonomous or non-autonomous vehicles having the vehicle onboard computer system 54N, according to one or more embodiments. The vehicle 310 typically includes a chassis 312, a body 314, front wheels 316, and rear wheels 318. The body 314 may be disposed on the chassis 312 and may largely enclose components of the vehicle 310. The body 314 and the chassis 312 may together form a frame. The wheels 316 and 318 are each rotationally coupled to the chassis 312 near a corner of the body 314.
[0020] A behavior planning and collision detection system may be integrated into vehicle 310. Vehicle 310 is depicted as a passenger car, but it should be noted that vehicle 310 may also be another type of vehicle, such as a motorcycle, a truck, a sports utility vehicle (SUV), a recreational vehicle (RV), a ship, an aircraft, etc.
[0021] The vehicle 310 can operate according to various levels of vehicle automation, e.g., Level 4 or Level 5. Operation in a Level 4 system indicates "high automation," i.e., drive-mode-dependent execution of all aspects of the dynamic driving task by an automated driving system, even if a human driver does not respond appropriately to a request for intervention. Operation in a Level 5 system means "full automation" and refers to full-time performance by an automated driving system for all aspects of the dynamic driving task under all road and environmental conditions that can be handled by a human driver.
[0022] The vehicle 310 may also include a drive system 320, a transmission system 322, a steering system 324, a braking system 326, a sensor system 328, an actuator system 330, at least one data storage device 332, at least one controller 334, and a communication system 336. The drive system 320 may be an internal combustion engine, an electric machine such as a traction motor, and / or a fuel cell drive system. The transmission system 322 may be configured to transfer power from the drive system 320 to the vehicle wheels 316 and 318 according to selectable speed ratios. The transmission system 322 may include a stepped automatic transmission, a continuously variable transmission, or other suitable transmission. The braking system 326 may be configured to provide braking torque to the vehicle wheels 316 and 318.Braking system 326 may utilize friction brakes, wire brakes, a regenerative braking system such as an electric motor, and / or other suitable braking systems. Steering system 324 influences the position of vehicle wheels 316 and 318.
[0023] The sensor system 328 may include one or more sensor devices 340a-340n that sense observable conditions of the exterior environment and / or the interior environment of the vehicle 310. The sensors 340a-340n may include, but are not limited to, speed, radar, LIDAR, global positioning systems, optical cameras, thermal imaging cameras, ultrasonic sensors, inertial measurement devices, and / or other sensors. The actuator system 330 includes one or more actuator devices 342a-342n that control one or more vehicle features, such as, but not limited to, the propulsion system 320, the transmission system 322, the steering system 324, and the braking system 326. In various embodiments, the vehicle features may further include interior and / or exterior features of the vehicle, such as, but not limited to, doors, trunk, and cabin features such as air, music, lighting, etc. (unnumbered).
[0024] A variety of vehicle measurements and / or other information can be obtained using the sensor system 328. The sensors 340a-340n can generate measurements representing a position, speed, and / or acceleration of the vehicle 310. The sensors 340a-340n can also generate measurements representing lateral acceleration, yaw rate, etc. The sensors 340a-340n can utilize a variety of different sensors and sensing technologies, including those that utilize wheel speed, vehicle speed, accelerator pedal position, gear position, shift lever position, accelerometers, engine speed, engine power, throttle position, and inertial measurement unit (IMU) output, etc.Sensors 340a-340n may be used to determine vehicle speed relative to the ground by directing radar, laser, and / or other signals at known stationary objects and analyzing the reflected signals, or by utilizing feedback from a navigation unit having GPS and / or telematics capabilities via a telematics module that may be used to monitor the position, movement, status, and behavior of the vehicle.
[0025] The communication system 336 may be configured to wirelessly communicate information to and from other entities 348, such as, but not limited to, other vehicles ("V2V" communication), infrastructure ("V2I" communication), remote systems, and / or personal devices. The communication system 336 may be a wireless communication system configured to communicate via a wireless local area network (WLAN) using the IEEE 802.11 standard or through cellular data communication. However, additional or alternative communication methods, such as a dedicated short-range communication channel (DSRC), are also contemplated within this disclosure.DSRC channels refer to short- to medium-range, single-way or two-way wireless communication channels specifically designed for automotive use and a corresponding set of protocols and standards.
[0026] The data storage 332 can store data for the automatic control of the autonomous vehicle 310. The data storage 332 can also store defined maps of the navigable environment. The defined maps can be obtained from a remote system. For example, the defined maps can be compiled by the remote system and transmitted to the autonomous vehicle 310 (wirelessly and / or wired) and stored in the data storage 332. Route information can also be stored in the data storage device 332 (i.e., a series of road segments (geographically linked to one or more of the defined maps) that together define a route a user can take to travel from a starting location (e.g., the user's current location) to a destination location). The data storage 332 can be part of the controller 334, separate from the controller 334, or part of the controller 334 and part of a separate system.
[0027] The controller 334 may include at least one processor 344 and a computer-readable storage device or medium 346. The processor 344 may be any custom or off-the-shelf processor, a central processing unit (CPU), a graphics processing unit (GPU), an auxiliary processor among multiple processors connected to the controller 334, a semiconductor-based microprocessor (in the form of a microchip or chipset), a macroprocessor, any combination thereof, or generally any device for executing instructions.
[0028] The instructions may include one or more separate programs, each containing an ordered collection of executable instructions for implementing logical functions. The instructions, when executed by processor 344, receive and process signals from sensor system 328, execute logic, calculations, methods, and / or algorithms to automatically control the components of autonomous vehicle 310, and generate control signals to actuator system 330 to automatically control the components of autonomous vehicle 310 based on the logic, calculations, methods, and / or algorithms.
[0029] The vehicle 310 may also include a safety control module (not shown), an infotainment / entertainment control module (not shown), a telematics module (not shown), a GPS module (not shown) (GLONASS may also be used), etc. The safety control module may provide various crash or collision detection, avoidance, and / or mitigation functions. For example, the safety control module provides and / or performs collision warnings, lane departure warnings, autonomous or semi-autonomous braking, autonomous or semi-autonomous steering, airbag deployment, active crumple zones, seat belt pretensioners or load limiters, and automatic notification of emergency responders in the event of a crash, etc.
[0030] The infotainment / entertainment control module can provide a combination of information and entertainment to the occupants of the vehicle 310. The information and entertainment can be related to, for example, music, websites, movies, television programs, video games, and / or other information.
[0031] The telematics module may utilize wireless voice and / or data communication via a wireless carrier system (not shown) and via a wireless network (not shown) to enable the vehicle 310 to provide a variety of services, including those related to navigation, telephony, emergency assistance, diagnostics, infotainment, etc. The telematics module may also utilize cellular communication according to the GSM, W-CDMA, or CDMA standards and wireless communication according to one or more protocols implemented according to the 3G or 4G standards or other wireless protocols, such as one of the IEEE 802.11, WiMAX, or Bluetooth protocols. When used for packet-switched data communication such as TCP / IP, the telematics module may be configured with a static IP address or configured to automatically obtain a dynamically assigned IP address from another device on the network, e.g.from a router or from a network address server (e.g. a DHCP server).
[0032] The GPS module can receive radio signals from multiple GPS satellites (not shown). From these received radio signals, the GPS module can determine a vehicle position, which can be used to provide navigation and other position-based services. Navigation information can be presented on a display in the vehicle 310 (e.g., display 215) or verbally, as is the case with turn-by-turn navigation. Navigation services can be provided via a dedicated on-board navigation module (which can be part of the GPS module), or some or all of the navigation services can be provided via the telematics module. Thus, the position information for the vehicle 310 can be sent to a remote location to provide the vehicle with navigation maps, map annotations (points of interest, restaurants, etc.), route calculations, and the like.
[0033] Fig. 4 illustrates a behavior planning and collision detection system 400, each associated with a plurality of autonomous or non-autonomous vehicles including the vehicle's onboard computer system 54N. The system 400 may include several components (e.g., a controller 410, which may be controller 334, a hypothesis resolver 430, a decision resolver 415, and a trajectory planner 405).
[0034] The behavior planning and collision detection system 400 may initially be trained, using generated training data provided by one or more simulators, to make path planning decisions in response to a particular collision with an agent (e.g., a car, truck, motorcycle, bicycle, pedestrian, animal, or other mobile or stationary object). The training data may include inputs based on human drivers operating a vehicle while traversing a portion of a road network, as well as actions taken in response to the driver's interaction with other mobile or stationary objects, road signs, traffic signals, roadway geometries, work zones, traffic, etc. (i.e., behavior). The training data may be based on a variety of factors (e.g., a driving style of the vehicle (conservative, aggressive, etc.)).Once the behavior planning and collision detection system 400 has received an amount of training data above a predetermined threshold, the behavior planning and collision detection system 400 may be integrated into the vehicle 310. The behavior planning and collision detection system 400 integrated into the vehicle 310 may be used to make decisions about vehicle operation based on a detected collision course with an agent while the vehicle 310 is operating autonomously or semi-autonomously.
[0035] The behavior planning and collision detection system 400, using training data or live data, may utilize a plurality of motion behavior models (i.e., predictive models (e.g., kinematics, tree regression, etc.)) to develop multiple hypotheses (e.g., 435 and 440), where each hypothesis may be a path prediction for an agent within a predetermined distance from the vehicle 310. Each trajectory prediction includes a speed, heading, and location prediction, as well as a calculated trajectory for each agent.
[0036] Each hypothesis can be used to make path predictions (future) for the agent for a predetermined set of timestamps (e.g., every half second of a seven-second period). Based on the time period covering the agent's predicted future path, it can be determined whether a collision between the vehicle 310 and the agent could occur. The time period can be referred to as a collision window. The collision window can begin with a timestamp when a potential collision could occur, indicated by a timestamp associated with a calculated collision instance.
[0037] If a collision course between vehicle 310 and the agent is detected based on relative information (i.e., respective relative speeds, relative headings, and relative distances), a collision flag may be triggered, and each hypothesis may estimate a time to collision between vehicle 310 and the agent based on the relative information. The predictions may be determined for the duration of the collision window.
[0038] Each hypothesis can be input to hypothesis resolver 430. Each hypothesis can be a spatial trajectory of the agent moving from one location to another on a map. Hypothesis resolver 430 can select and output a best hypothesis (based on performance) from the plurality of hypotheses input to hypothesis resolver 430 (e.g., hypothesis 435 and hypothesis 440). The best hypothesis is a best-predicted path (future) for the agent over the predetermined period of time. Hypothesis resolver 430 can also average hypotheses and output a predicted path (future) for the agent over the predetermined period of time based on the average.
[0039] The output of hypothesis resolver 430 (i.e., a best predicted future path or an average predicted future path (predicted future path)) is input to a decision (e.g., Decision 1 (420) and Decision M (425)). Hypothesis resolver 430 may output multiple predicted future paths for an agent. Hypothesis resolver 430 may also output multiple predicted future paths for each agent located within a predetermined range of vehicle 310.
[0040] Each decision considers the best hypothesis for each agent within the specified range of vehicle 310. Each decision may analyze each hypothesis input to determine whether a collision is likely within the collision window based on the predicted future path of the agent(s).
[0041] In response to a likely collision with an agent, a decision may use a recurrent neural network (RNN) to calculate as output a trajectory that can be used to avoid the collision between an associated agent and the vehicle 310. Each RNN may model a behavior of each agent at a particular time within the collision window when the agent is on a collision course with the vehicle 310. Each modeled behavior may be categorized by the agent's mobility with respect to the vehicle 310 (i.e., a mobile-to-mobile behavior when interacting with a mobile agent and a mobile-to-stationary behavior when interacting with a stationary agent). The modeled behaviors, as well as a driving mode associated with the vehicle 310, may be input to a classifier (DNN) to make the trajectory prediction. The DNN may output the decision.For example, an output trajectory issued by a decision may be based on a speed change for the vehicle 310, a lane change (i.e., a change in X / Y on the map) by the vehicle 310, or a combination thereof. For other decisions (e.g., decision M (425)), an RNN may not be used to calculate a vehicle trajectory based on a different approach / model (e.g., calculating an output trajectory taking agents into account, etc.).
[0042] If the decision involves a change in speed, the decision may utilize the relative information associated with the vehicle 310 and the relative information associated with the mobile agent to generate an output for a trajectory that may cause the vehicle 310 to increase speed, thereby creating additional space between the vehicle 310 and the mobile agent. An example is a case where the vehicle 310 may be struck from behind or sideswiped by the mobile agent.In another case of the decision involving a change in speed, the decision may use the relative information associated with the vehicle 310 and the relative information associated with the mobile agent to generate a trajectory output that may cause the vehicle 310 to reduce speed, thereby creating additional space between the vehicle 310 and the mobile agent. In another case of the decision involving a change in speed, the decision may use the relative information associated with the vehicle 310 and the relative information associated with an object or group of objects (e.g., a construction zone) to generate a trajectory output that may cause the vehicle 310 to reduce speed to safely travel around or through the object(s).
[0043] In addition to speed changes and / or lane changes to address an impending collision, each decision may be influenced by an assigned driving mode for the vehicle 310, which is input to the DNN. For example, an assigned driving mode may be aggressive, moderate, conservative, scenic, enthusiastic, or the like. The assigned driving mode may influence a decision that may result in a different exit trajectory than the unconsidered driving mode (e.g., when approaching a slower vehicle / agent, the decision may be to change lanes if in an aggressive mode or to slow down to travel behind the slower vehicle / agent if in a conservative mode).
[0044] If the decision involves a lane change, the decision may use the relative information associated with the vehicle 310 and the relative information associated with the mobile agent to generate a trajectory output that may cause the vehicle 310 to avoid a collision by changing one or more lanes. In another case of the decision involving a lane change, the decision may use the relative information associated with the vehicle 310 and the relative information associated with an object or group of objects (e.g., a construction zone) to generate a trajectory output that may cause the vehicle 310 to change one or more lanes to safely navigate around or through the object(s).Any decision can produce a valid / realistic (human) output trajectory, even if an average output trajectory would be invalid (e.g., choosing a left fork or a right fork when an average indicates choosing a path between the left and right forks).
[0045] Each decision may be input to the decision resolver 415. The decision resolver 415 may select a best decision (i.e., a decision that most closely mimics human behavior with respect to a given set of events). The decision resolver 415 may input the selected decision to the trajectory planner 405. The trajectory planner 405 may generate a path / trajectory for the vehicle 310 to traverse using the output trajectory associated with the provided decision. The trajectory planner 405 may input the path / trajectory to the controller 410. The controller 410 may use the received path / trajectory to make decisions about vehicle operation that avoid the collision.
[0046] Fig. 5 shows a flowchart of a method 500 for implementing a method for collision avoidance by a vehicle according to one or more embodiments. In block 505, a system (e.g., behavior planning and collision detection system 400) may receive data from or about each of a plurality of agents. The received data may include speed, heading, and location information. In block 510, the system may generate training data from the received data. In block 515, a vehicle system or a portion thereof may be trained with the generated training data. The training may be based on simulations of agents (mobile and stationary) interacting with each other on or along a road network. The simulations may be based on random permutations of agents, vehicles, and road types.
[0047] At block 520, the trained vehicle system may be installed in a vehicle (e.g., the vehicle's on-board computer system 54N). At block 525, the vehicle's on-board computer system 54N may determine the location of the vehicle 310 on a map of the road network during operation (i.e., while traveling through the road network). At block 530, the vehicle's on-board computer system 54N may determine whether one or more agents (mobile or stationary) are present within a predetermined range of the vehicle.
[0048] At block 535, the vehicle's onboard computer system 54N may determine, using the trained vehicle system, whether a collision course is detected between the vehicle and one or more mobile agents and / or one or more stationary agents along the road network. If no collision course is detected, the method returns to block 525.
[0049] If a collision course is detected, the method proceeds to block 540, where the system may calculate one or more decisions that avoid the collision. Each decision may output a vehicle trajectory. The system may use one or more recurrent neural networks (RNNs) to calculate each decision. A driving mode may also be used in calculating the vehicle trajectory. In block 545, the vehicle onboard computer system 54N may select the best decision from the calculated decision(s). In block 550, the vehicle onboard computer system 54N may use a calculated trajectory associated with the best decision to control vehicle operation to execute the calculated trajectory.
[0050] Fig.6 shows a flowchart of a method 600 for implementing a method for training a vehicle system of a vehicle 310 for collision avoidance based on data obtained from or about each of a plurality of agents according to one or more embodiments. At block 605, a system (e.g., the behavior planning and collision detection system 400) may predict a trajectory / behavior for each of the plurality of mobile agents using one or more prediction models and simulations. At block 610, the system may predict a location for one or more stationary agents using one or more prediction models. At block 615, the system may calculate a collision window for a vehicle.
[0051] At block 620, the system may predict a future movement / trajectory for each of the multiple agents using one or more predictive models and simulations. At block 625, the system may determine whether a collision course is detected between the vehicle 310 and one or more mobile agents and / or one or more stationary agents. If no collision course is detected, the method returns to block 605.
[0052] If a collision course is detected, the method proceeds to block 630, where the system estimates a time until the collision occurs. At block 635, the system may determine whether the received data exceeds a training data threshold. The training data threshold may be a predetermined amount of data. If the received data does not exceed the training data threshold, the method returns to block 605. If the received data does exceed the training data threshold, the method proceeds to block 640, where the received data, predictions, calculations, and estimates are used by the method to make decisions about vehicle operation.
[0053] Accordingly, the embodiments disclosed herein describe a system that can model collision avoidance behavior and design an RNN structure that can predict a set of "relative features" (e.g., relative speed and relative heading) between agents on a collision course with a vehicle and modify the vehicle's behavior (e.g., speed and / or heading) to avoid the collision. The RNN structure can be a sequence-to-sequence mapping to avoid a collision. The RNN structure can be trained for operation using the generated training data containing random permutations of actions of the vehicle 310 and the agents.Accordingly, the training data allows the RNN structure to operate based on the actual movement of the vehicle and agents while driving through a road network as well as human decisions for a particular interaction, instead of using rule-based models, which are often less flexible and less responsive to actual driving situations.
[0054] The technical implications and advantages of the disclosed embodiments include, among others, the use of behavioral patterns of human vehicle operation obtained from training data to avoid collisions between a vehicle and an agent (i.e., moving agents such as cars and pedestrians, and stationary agents such as stop signs). Accordingly, autonomous and non-autonomous vehicles operating with the disclosed embodiments operate with increased safety because collision-avoidance behavior can be realized by a system based on simulated data used to train the system. Once the system is trained, real-world applications such as autonomous driving can be influenced to safely manage dangerous conditions, such as collisions.
[0055] The present disclosure may be a system, a method, and / or a computer-readable storage medium. The computer-readable storage medium may contain computer-readable program instructions that cause a processor to perform aspects of the present disclosure.
[0056] The computer-readable storage medium may be a tangible device capable of storing instructions for use by an instruction-executing device. The computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.A non-exhaustive list of more specific examples of a computer-readable storage medium includes the following: a portable computer diskette, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a mechanically encoded device, and any suitable combination of the foregoing. A computer-readable storage medium, as used herein, is not to be construed as a transient signal in and of itself, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., pulses of light traveling through a fiber optic cable), or electrical signals transmitted over a wire.
Claims
[1] A method (500) for collision avoidance by a vehicle (310), the method comprising: Installing (520) a vehicle system in a vehicle (310), wherein the vehicle system provides collision avoidance guidance based on training data using motion information from one or more agents and behaviors associated with one or more people associated with the one or more agents or the vehicle, wherein the training data includes data based on one or more predictive models used to predict a future, movement associated with the one or more agents; detecting (535), by a processor (201), a collision course between the vehicle (310) and the one or more mobile agents and / or one or more stationary agents of the vehicle system; calculating (545), by the processor (201), one or more decisions that avoid a collision in response to detecting a collision course, each decision including a vehicle trajectory; Selecting (550), by the processor (201), a decision from the one or more decisions; and Controlling, by the processor (201), the operation of the vehicle based on the selected decision. [2] The method (500) of claim 1, wherein one or more recurrent neural networks, RNN, are used to calculate the one or more decisions that avoid the collision. [3] The method (500) of claim 1, wherein the movement information from one or more agents includes speed, heading, and location information. [4] The method (500) of claim 1, wherein a collision window is used to detect a collision course. [5] The method (500) of claim 1, wherein controlling vehicle operation includes a change in speed and / or a lane change. [6] A system (400) for collision avoidance by a vehicle (310), the system (400) comprising: a vehicle (310); the vehicle (310) comprising: a memory (214) and a processor (201) coupled to the memory (214); and a decision resolver (415); a trajectory planner (405); and a controller (410); wherein the processor (201) is operable to: Utilizing a vehicle system in a vehicle (310), the vehicle system providing collision avoidance guidance based on training data using movement information from one or more agents and behaviors associated with one or more people associated with the one or more agents or the vehicle (310), the training data including data based on one or more predictive models used to predict future movement associated with the one or more agents; Detecting, by the vehicle system, a collision course between the vehicle (310) and one or more mobile agents and / or one or more stationary agents; calculating one or more decisions that avoid a collision in response to detecting a collision course, each decision including a vehicle trajectory; Selecting a decision from the one or more decisions; and controlling operation of the vehicle (310) based on the selected decision. [7] The system (400) of claim 6, wherein one or more recurrent neural networks, RNN, are used to calculate the one or more collision avoidance decisions. [8] The system (400) of claim 6, wherein controlling vehicle operation includes changing speed and / or changing lanes. [9] A computer-readable storage medium having program instructions contained therein, the program instructions being readable by a processor (201) to cause the processor (201) to perform a method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Vehicle-to-infrastructure (V2I) messaging system
DE102019127975A1