Method for detecting and managing the portable collision of a large vehicle when when
Through the processor and computer vision module, the turning parameters of large vehicles are detected and predicted, and the boundaries of the impact zone are determined, which solves the collision risk management problem of large vehicles when turning, improves the collision avoidance ability of autonomous vehicles, and ensures traffic safety.
Patent Information
- Application Number
- CN202410768492.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-06-15
- Filing Date
- 2024-06-14
- Publication Date
- 2024-12-17
AI Technical Summary
Large vehicles have limited mobility, large blind spots, and may lead to traffic disruptions and safety issues when turning, resulting in increased collision risks with other vehicles. Autonomous vehicles need to detect and manage these risks in real time.
A system composed of processor and computer vision modules uses to detect target vehicles near intersections, estimate their parameters such as vehicle type, model, steering angle and turning radius, predict the motion trajectory, and determine the boundary of the impact zone to perform collision avoidance action.
Real-time monitoring and management of collision risks during turns by large vehicles is achieved, the ability of autonomous vehicles to avoid collisions is improved, and traffic safety is ensured.
Smart Images

Figure CN119152728A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates generally to the field of vehicle safety. More specifically, the present disclosure relates to techniques and methods for identifying the presence of nearby large vehicles and managing situations where there may be a risk of collision when these large vehicles turn near intersections. Background Art
[0002] When large vehicles (e.g., trucks, buses, semi-trailers, etc.) need to make a turn, several problems may arise. Some of these problems include limited maneuverability, blind spots, traffic disruptions, infrastructure damage, and safety issues. Large vehicles hitting other vehicles while making turns is nothing new; however, autonomous vehicles (AVs) need to prevent such accidents from happening.
[0003] Therefore, there is a need for a system and method to detect and monitor large vehicles in real time and provide advisories to the vehicle and / or the driver of the vehicle when there is a risk of collision. Summary of the invention
[0004] The following summary of the invention provides a basic understanding of one or more embodiments described herein. The summary of the invention is not intended to identify key or important elements, nor is it intended to delimit any scope of different embodiments and / or any scope of the claims. The sole purpose of the summary of the invention is to present some concepts in a simplified form as a prelude to a more detailed description herein.
[0005] According to one embodiment, a system is provided, which includes a processor, a computer vision module and a control module; wherein the system is operable to detect target vehicles at intersections / crossroads and near intersections through the processor; determine the current position of the main vehicle and the current position of the target vehicle through the processor; detect the target turning lane through the computer vision module; estimate the parameters of the target vehicle through the computer vision module through the processor, wherein the parameters of the target vehicle include vehicle type, vehicle model, steering angle and turning radius; predict the movement trajectory of the target vehicle through the processor; determine the boundary of the impact zone for the main vehicle through the processor; and determine the collision avoidance action for avoiding the impact zone through the processor.
[0006] According to one embodiment, a method is provided, which includes: detecting an intersection and a target vehicle near the intersection by a processor of a main vehicle; determining a current position of the main vehicle and a current position of the target vehicle by the processor; detecting a target turning lane by a computer vision module; estimating parameters of the target vehicle by the processor, wherein the parameters of the target vehicle include vehicle type, vehicle model, steering angle, and turning radius; predicting a motion trajectory of the target vehicle by the processor; determining a boundary of a collision zone to be avoided by the processor; and determining a collision avoidance action for avoiding the collision zone by the processor.
[0007] According to one embodiment, a non-transitory computer-readable medium is provided, on which instructions are stored, and the instructions can be executed by a computer system to implement the following operations, including: detecting an intersection and a target vehicle near the intersection through a processor of a main vehicle; determining a current position of the main vehicle and a current position of the target vehicle through the processor; detecting a target turning lane through a computer vision module; estimating parameters of the target vehicle through the processor, wherein the parameters of the target vehicle include vehicle type, vehicle model, steering angle, and turning radius; predicting a motion trajectory of the target vehicle through the processor; determining a boundary of a collision zone to be avoided through the processor; and determining a collision avoidance action for avoiding the collision zone through the processor.
[0008] According to one embodiment, a system is provided, which includes: a processor, a computer vision module, a control module and a communication module; wherein the system is operable to detect a target vehicle approaching an intersection through the processor; detect a target turning lane through a computer vision system; establish communication with the target vehicle through the communication module through the processor; receive parameters of the target vehicle through the processor, wherein the parameters of the target vehicle include vehicle type, vehicle model, steering angle and turning radius; determine a current position of a host vehicle and a current position of a target vehicle through the processor; predict a motion trajectory of the target vehicle through the processor; determine a boundary of a collision zone that the host vehicle should avoid through the processor; and determine a collision avoidance action for the host vehicle to avoid the collision zone through the processor.
[0009] According to one embodiment, a method is provided, which includes: detecting a target vehicle approaching an intersection by a processor; detecting a target turning lane by a computer vision module; establishing communication with the target vehicle by the processor via a communication module; receiving parameters of the target vehicle by the processor, wherein the parameters of the target vehicle include vehicle type, vehicle model, steering angle, and turning radius; determining a current position of a host vehicle and a current position of the target vehicle by the processor; predicting a motion trajectory of the target vehicle by the processor; determining a boundary of an impact zone for the host vehicle by the processor; and determining a collision avoidance action for the host vehicle to avoid the impact zone by the processor.
[0010] According to one embodiment, a method is provided, which includes: detecting a large vehicle approaching an intersection through a processor of an autonomous vehicle; establishing communication with the large vehicle through the processor of the autonomous vehicle; receiving the model number, vehicle type, and turning radius of the large vehicle in real time through the processor of the autonomous vehicle; calculating the impact zone of the large vehicle when navigating a turn based on the turning radius using a computer vision algorithm through the processor of the autonomous vehicle; determining the current position of the autonomous vehicle through the processor of the autonomous vehicle; mapping the current position of the autonomous vehicle and the impact zone through the processor of the autonomous vehicle to determine a collision probability; and executing through the processor of the autonomous vehicle Action, wherein the action includes at least one of: generating an alert in the autonomous vehicle; initiating a first reverse movement by the autonomous vehicle; initiating a first lane change by the autonomous vehicle; maintaining a current position of the autonomous vehicle; alerting a large vehicle of an impact zone, the current position of the autonomous vehicle, and a probability of collision; and broadcasting a message to neighboring vehicles, wherein the message includes the impact zone, the probability of collision, and instructions regarding, for collective and coordinated action, neighboring vehicles performing at least one of a second lane change, maintaining lanes, and performing a second reverse movement to clear the impact zone; and wherein the method is operable to predict an impact zone for a large vehicle making a turn and perform actions for collision avoidance. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] These and other aspects of the present invention will now be described in more detail with reference to the accompanying drawings showing exemplary embodiments of the invention, in which:
[0012] Figure 1 is an illustration of an example autonomous vehicle with various sensors, actuators, and systems according to one embodiment.
[0013] Figure 2 A block diagram of electronic components / assemblies of a vehicle is shown according to one embodiment.
[0014] Figure 3A A large vehicle is shown carrying cargo and attempting to maneuver, according to one embodiment.
[0015] Figure 3B A vehicle is shown being struck at an intersection when a large vehicle is turning according to one embodiment.
[0016] Figure 4A A block diagram of a method for detecting the impact of a large vehicle turning into a lane is shown according to one embodiment.
[0017] Figure 4B A block diagram of a system for detecting the impact of a large vehicle turning into a lane is shown according to one embodiment.
[0018] Figure 4CA block diagram of a non-transitory computer readable medium for performing operations to detect the impact of a large vehicle turning into a lane is shown according to one embodiment.
[0019] Figure 5A is a process flow diagram of a method for identifying and classifying one or more objects according to one embodiment of the present invention.
[0020] Figure 5B An illustrative example of an image of a vehicle is shown with bounding boxes around various regions of interest of identified objects in accordance with one embodiment.
[0021] Figure 5C An illustrative example of a vehicle image is shown with 3D bounding boxes surrounding various regions of interest of identified objects, according to one embodiment.
[0022] Figure 5D An example of a diagram of vehicle surroundings including a bounding box is shown according to one embodiment.
[0023] Figure 5E An illustrative example of a vehicle including a bounding box around a region of interest in conjunction with edge detection is shown in accordance with one embodiment.
[0024] Fig. 5F A block diagram of a lane detection system according to one embodiment is shown.
[0025] Figure 5G An example method for real-time image-based turn signal detection is shown according to one embodiment.
[0026] Figure 5H A method of estimating a future heading of a vehicle based on an estimated steering angle is shown.
[0027] Fig.5I A method of estimating a turning trajectory and calculating a collision zone according to one embodiment is shown.
[0028] Figure 5J A method for estimating a turning trajectory of a vehicle having a pivot joint and calculating a collision zone according to one embodiment is shown.
[0029] Figure 5K Shown is the trajectory of a stationary vehicle in the path of a semi-trailer striking its rear trailer axle according to one embodiment.
[0030] Figure 5L The trajectory, impact zone, and safety zone of a semi-trailer are shown according to one embodiment.
[0031] Fig. 6A A method for detecting that a large vehicle is turning to impact a vehicle and taking action by an autonomous vehicle is shown.
[0032] Figure 6B A large vehicle is shown broadcasting a message to vehicles that may be struck during a turn.
[0033] Fig. 7A A block diagram of a method for detecting the impact of a large vehicle turning into a lane is shown according to one embodiment.
[0034] Figure 7B A block diagram of a system for detecting the impact of a large vehicle turning into a lane is shown according to one embodiment.
[0035] Fig. 8A An example message of a dedicated short range communication (DSRC) message format is shown.
[0036] Figure 8B An example message sent from a host vehicle to a neighboring vehicle is shown according to one embodiment.
[0037] Figure 8C An example message sent from a host vehicle to a target vehicle is shown according to one embodiment.
[0038] Fig.8D An example message sent from a target vehicle to a host vehicle is shown according to one embodiment.
[0039] Fig. 8E An example alert message displayed in a host vehicle is shown according to one embodiment.
[0040] Fig.9A The structure of a neural network / machine learning model with a feedback loop according to one embodiment is shown.
[0041] Fig. 9B The structure of a neural network / machine learning model with reinforcement learning function according to one embodiment is shown.
[0042] Fig. 9C An example block diagram for detecting collision events using a machine learning model according to one embodiment is shown.
[0043] Fig.10 An example flow chart for detecting collision events using a machine learning model is shown according to one embodiment.
[0044] Fig.11A A block diagram of a network security module with a system and a server according to one embodiment is shown.
[0045] Fig. 11B An embodiment of a network security module according to one embodiment of the system is shown.
[0046] Fig. 11CAnother embodiment of a network security module according to one embodiment of the system is shown.
[0047] Fig. 12A An autonomous vehicle is shown stopping at an intersection and detecting whether the autonomous vehicle is closest to the intersection according to one embodiment.
[0048] Fig. 12B An autonomous vehicle is shown stopping at an intersection and detecting whether vehicles in other lanes are merging into the lane where the autonomous vehicle is located in the opposite direction according to one embodiment.
[0049] Fig. 12C An autonomous vehicle is shown stopping at an intersection and detecting whether vehicles in other lanes are merging into the lane where the autonomous vehicle is located in the opposite direction according to one embodiment.
[0050] Fig.12D An autonomous vehicle is shown stopping at an intersection and detecting license plates of vehicles in other lanes according to one embodiment.
[0051] Fig.12E An autonomous vehicle is shown stopping at an intersection and detecting license plates of vehicles in other lanes according to one embodiment.
[0052] Fig.12F An autonomous vehicle is shown stopping at an intersection and detecting signal lights of vehicles in other lanes according to one embodiment.
[0053] Figure 12G An autonomous vehicle is shown stopping at an intersection and performing facial detection to predict the direction of a turn, according to one embodiment.
[0054] Fig.12H An autonomous vehicle is shown stopping at an intersection and performing facial detection to predict the direction of a turn, according to one embodiment.
[0055] Fig.12I An autonomous vehicle is shown stopping at an intersection and establishing communication with a large vehicle to predict a turn direction, according to one embodiment.
[0056] Fig.12J An autonomous vehicle is shown calculating turn direction according to one embodiment.
[0057] Figure 12K An autonomous driving vehicle according to one embodiment is shown using a bounding box method to extract the lower edge of a large vehicle to predict the direction of a turn.
[0058] Figure 12L An autonomous vehicle is shown extracting points along the lower edge of a large vehicle to map a turning radius, according to one embodiment.
[0059] Figure 12M A hypothetical turning radius of a mapped turning radius is shown according to one embodiment.
[0060] Fig.12N The steering angle of a large vehicle is shown as a function of turning radius according to one embodiment.
[0061] Fig.12O Mapping the current position and turning radius of an autonomous driving vehicle based on a steering angle of a large vehicle for detecting a safety zone according to one embodiment is shown.
[0062] Figure 12P An autonomous vehicle is shown moving within a safety zone according to one embodiment.
[0063] Figure 12Q An autonomous vehicle is shown moving within a safety zone according to one embodiment.
[0064] Figure 12R An autonomous vehicle is shown communicating with a large vehicle regarding an impending collision due to the turning radius of the large vehicle, according to one embodiment.
[0065] Fig.13 Calculation of a turning radius for a tractor-trailer truck according to one embodiment is shown.
[0066] Fig.14A A safety zone for an autonomous vehicle when a large vehicle is making a turn according to one embodiment is shown.
[0067] Fig. 14B A safety zone for an autonomous vehicle for zero steering angle when a large vehicle is turning according to one embodiment is shown.
[0068] Fig. 14C A safety zone for an autonomous vehicle for a steering angle when a large vehicle is turning according to one embodiment is shown.
[0069] Fig.14D A safety zone for an autonomous vehicle for a steering angle when a large vehicle is turning according to one embodiment is shown.
[0070] Fig.14E Shown is a safety zone for an autonomous vehicle for maximum steering angle when a large vehicle is turning according to one embodiment.
[0071] Fig.14F An autonomous vehicle is shown moving to a safety zone according to one embodiment.
[0072] Figure 14GShown is a safety zone for an autonomous vehicle for maximum steering angle when a large vehicle is turning according to one embodiment.
[0073] Fig.14H Shown is a safety zone for an autonomous vehicle for maximum steering angle when a large vehicle is turning according to one embodiment.
[0074] Fig.14I Shown is a safety zone for an autonomous vehicle to reduce steering angle when a large vehicle merges into a lane, according to one embodiment. DETAILED DESCRIPTION
[0075] For simplicity and clarity, the general structural approach is illustrated in the drawings. To avoid unnecessarily obscuring the present disclosure, descriptions and details of well-known features and techniques may be omitted from the description and drawings. The dimensions of some elements relative to other elements are exaggerated in the drawings to help better understand the embodiments of the present disclosure. The same reference numerals in different drawings represent the same elements.
[0076] Although the detailed description herein contains many specific details for purposes of illustration, one skilled in the art will appreciate that many variations and modifications to the details are incorporated herein.
[0077] Therefore, the embodiments herein are not intended to be limiting and do not impose limitations on any claims. The terms used herein are only intended to describe specific embodiments and are not intended to be limiting. Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those of ordinary skill in the art to which the present disclosure belongs.
[0078] As used herein, the articles "a" and "an" refer to one or more than one (i.e., at least one) of the grammatical object. For example, "an element" refers to one element or more than one element. In addition, unless otherwise specified or clearly understood from the context to be in the singular form, the use of the articles "a" and "an" in this specification and the drawings should be understood to mean "one or more".
[0079] As used herein, the terms "example" and / or "exemplary" refer to an example, instance, or illustration. For the avoidance of doubt, such examples do not limit the subject matter described herein. In addition, any aspect or design described herein as "example" and / or "exemplary" is not necessarily advantageous or superior to other aspects or designs, and equivalent exemplary structures and techniques known to those of ordinary skill in the art are not excluded.
[0080] As used herein, the terms "first", "second", "third", etc. in the specification and claims (if any) distinguish similar elements and do not necessarily describe a particular order or chronological order. Where appropriate, these terms are interchangeable, for example, the embodiments herein can operate in an order other than that described herein or otherwise. In addition, the terms "including", "having" and any variations thereof cover non-exclusive inclusions, for example, a process, method, system, article, device or apparatus comprising a series of elements is not necessarily limited to these elements, and may also include other elements that are not explicitly listed or inherent to the process, method, system, article, device or apparatus.
[0081] As used herein, the terms "left", "right", "front", "rear", "top", "bottom", "upper", "lower", etc. in the description and claims (if any) are used for descriptive purposes and are not necessarily used to describe permanent relative positioning. The terms used are interchangeable where appropriate, for example, embodiments of the apparatus, methods, and / or articles described herein are capable of operation in other orientations than those shown or described herein.
[0082] Unless explicitly stated, any element / component behavior or instruction used herein is not critical or essential. In addition, the term "a set" includes items (e.g., related items, unrelated items, combinations of related items and unrelated items, etc.) and is interchangeable with "one or more". If only one item is included, the term "one" or similar terms are used. In addition, the terms "have", "have", "contain" or similar terms are open terms. In addition, unless explicitly stated otherwise, the term "based on" means "based at least in part on".
[0083] The terms "system", "device", "unit" and / or "module" used herein refer to different components / assemblies, component parts or components at various levels in a sequence. However, these terms may be replaced by other expressions that achieve the same purpose.
[0084] As used herein, the terms "coupled", "connected", "coupled", "connected", etc. refer to connecting two or more elements together mechanically, electrically and / or otherwise. Two or more electrical elements can be electrically coupled together, but not mechanically or otherwise coupled together. The coupling can be for any length of time, such as permanent, semi-permanent, or only momentary. "Electrically coupled" includes various types of electrical couplings. The absence of the words "detachable", "removable", etc. near the word "coupled" does not mean that the coupling, etc. is or is not removable.
[0085] As used herein, "or" refers to an inclusive or rather than an exclusive or. That is, unless stated otherwise or the context makes clear, "X employs A or B" refers to any of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, then in any of the above cases, "X employs A or B" is true.
[0086] As used herein, two or more elements or modules are "integrated" or "integrated" if they are functionally operable together. Two or more elements are "non-integrated" if each element is capable of operating independently.
[0087] As used herein, the term "real time" refers to operations that are performed as quickly as practically possible after a triggering event occurs. A triggering event may include receiving data required to perform a task or process information. Due to the inherent delays in transmission and / or computing speeds, the term "real time" includes operations that occur in "close to" real time, or operations that are slightly delayed after a triggering event occurs. In many embodiments, "real time" may refer to real time minus the time delay for processing (e.g., determining) and / or transmitting data. The specific time delay may vary depending on the type and / or amount of data, the processing speed of the hardware, the transmission capacity of the communication hardware, the transmission distance, etc. However, in many embodiments, the time delay may be less than about one second, two seconds, five seconds, or ten seconds.
[0088] As used herein, the term "approximately" may mean within a specified or unspecified range of a specified or unspecified specified value. In some embodiments, "approximately" may mean within plus or minus ten percent of a specified value. In other embodiments, "approximately" may mean within plus or minus five percent of a specified value. In yet another embodiment, "approximately" may mean within plus or minus three percent of a specified value. In other embodiments, "approximately" may mean within plus or minus one percent of a specified value.
[0089] Without departing from the spirit or features of the present invention, the present invention may also be embodied in other specific forms. The described embodiments are illustrative in all respects and not restrictive. Therefore, the appended claims rather than the description herein indicate the scope of the present invention. All changes within the meaning and equivalent range of the claims are within their scope.
[0090] The term "component" as used herein may be broadly construed to refer to hardware, firmware, and / or a combination of hardware, firmware, and software.
[0091] Digital electronic circuits, or digital electronic circuits in computer software, firmware or hardware, including the structures disclosed in this specification and their structural equivalents, or a combination of one or more of these structures, can implement the embodiments and all functional operations described in this specification. The embodiments may be one or more computer program products, i.e., one or more computer program instruction modules encoded on a computer-readable medium, for execution or control of its operation by a data processing device. The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a storage device, a material combination that affects a machine-readable propagation signal, or a combination of one or more of these. The term "computing system" includes all devices, devices and machines for processing data, such as a programmable processor, a computer or multiple processors or computers. In addition to hardware, the device may also include code that creates an execution environment for the relevant computer program, such as code constituting processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more thereof. A propagation signal is an artificially generated signal (e.g., a machine-generated electrical signal, an optical signal, or an electromagnetic signal) that encodes information for transmission to a suitable receiving device.
[0092] The actual dedicated control hardware or software code used to implement these systems and / or methods does not limit the implementation scheme. Therefore, any software and hardware can implement the system and / or method based on the description of this article without referring to specific software code.
[0093] A computer program (also referred to as a program, software, software application, script, or code) is written in any suitable form of a programming language, including compiled or interpreted languages. A computer program may be deployed in any suitable form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program may be stored as part of a file containing other programs or data (e.g., one or more scripts stored in a markup language document), or in a single file dedicated to the program in question, or in multiple coordinated files (e.g., a file storing one or more modules, subroutines, or portions of code). A computer program may be executed on one computer or on multiple computers, which may be located at one site or distributed across multiple sites and interconnected by a communications network.
[0094] One or more programmable processors execute one or more computer programs to perform functions by operating input data and generating outputs, thereby executing the processes and logic flows described in this specification. These processes and logic flows can also be performed by dedicated logic circuits, and the device can also be implemented as a dedicated logic circuit, such as but not limited to a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC), an application-specific standard product (ASSP), a system on a chip (SOC) system, a complex programmable logic device (CPLD), etc.
[0095] Processors suitable for executing computer programs include, for example, general and special purpose microprocessors, and one or more processors of any suitable type in a digital computer. The processor may receive instructions and data from a read-only memory or a random access memory or both. The elements of a computer may include a processor for executing instructions and one or more storage devices for storing instructions and data. The computer also includes or is operatively coupled to transfer data to / receive data from one or more mass storage devices for storing data, or both, the one or more mass storage devices being, for example, a magnetic disk, a magneto-optical disk, an optical disk, or a solid state disk. However, the computer does not necessarily require these devices. In addition, another device, for example, a mobile phone, a personal digital assistant (PDA), a mobile audio player, a global positioning system (GPS) receiver, etc., may also be embedded in the computer. Computer-readable media suitable for storing computer program instructions and data include various forms of nonvolatile memory, media and storage devices, including, for example, semiconductor memory devices (e.g., erasable programmable read-only memory (EPROM), electronically erasable programmable read-only memory (EEPROM), and flash memory devices), magnetic disks (e.g., internal hard disks or removable disks), magneto-optical disks (e.g., compact disk read-only memory (CD ROM) disks, digital versatile disk read-only memory (DVD-ROM) disks), and solid-state disks. Special purpose logic circuits may supplement or be combined with the processor and memory.
[0096] To enable interaction with a user, a computer may have: a display device, such as a cathode ray tube (CRT) or a liquid crystal display (LCD), for displaying information to the user; and a keyboard and pointing device, such as a mouse or trackball, through which the user can provide input to the computer. Other types of devices may also interact with the user. For example, feedback to the user may be any appropriate form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and the computer may receive any appropriate form of input from the user, including sound, voice, or tactile input.
[0097] The embodiments described herein may be implemented by a computing system that includes a back-end component, such as a data server; or includes a middleware component, such as an application server; or includes a front-end component, such as a client computer with a graphical user interface or a web browser through which a user can interact with the embodiments; or any suitable combination of one or more such back-end, middleware, or front-end components. Any suitable form or medium of digital data communication, such as a communication network, may interconnect the various components of the system. Examples of communication networks include local area networks (LANs) and wide area networks (WANs), such as intranets and the Internet.
[0098] A computing system may include clients and servers. Clients and servers are remote from each other and typically interact through a communication network. The relationship between client and server arises through computer programs running on their respective computers and having a client-server relationship with each other.
[0099] Embodiments of the present invention may include or utilize a special-purpose or general-purpose computer including computer hardware. Embodiments within the scope of the present invention may also include physical and other computer-readable media for carrying or storing computer-executable instructions and / or data structures. Such computer-readable media may be any medium accessible to a general-purpose or special-purpose computer system. Computer-readable media that store computer-executable instructions are physical storage media. Computer-readable media that carry computer-executable instructions are transmission media. Thus, by way of example and not limitation, embodiments of the present invention may include at least two different computer-readable media: physical computer-readable storage media and transmission computer-readable media.
[0100] Although the embodiments of the present invention are described herein with reference to specific example embodiments, it will be apparent that various modifications and variations may be made to these embodiments without departing from the broader spirit and scope of the various embodiments. For example, hardware circuits (e.g., complementary metal oxide semiconductor (CMOS) based logic circuits), firmware, software (e.g., embodied in a non-transitory machine-readable medium), or any combination of hardware, firmware, and software may implement and operate the various devices, units, and modules described herein. For example, transistors, logic gates, and circuits (e.g., application specific integrated circuits (ASICs) and / or digital signal processor (DSP) circuits) may embody various electrical structures and methods.
[0101] Furthermore, non-transitory machine-readable media and / or systems may embody various operations, processes, and methods disclosed herein.Accordingly, the specification and drawings are illustrative rather than restrictive.
[0102] Physical computer-readable storage media include RAM, ROM, EEPROM, CD-ROM or other optical disk storage devices (such as CD, DVD, etc.), magnetic disk storage or other magnetic storage devices, solid-state disks or any other media. They store the required program code in the form of computer-executable instructions or data structures that can be accessed by general or special-purpose computers.
[0103] Furthermore, upon reaching various computer system components, program code in the form of computer-executable instructions or data structures may be automatically transferred from a transmission computer-readable medium to a physical computer-readable storage medium (or vice versa). For example, computer-executable instructions or data structures received over a network or data link may be buffered in RAM with a network interface module (NIC) and then ultimately transferred to the computer system's RAM and / or less volatile computer-readable physical storage medium. Thus, computer system components that also (or even primarily) utilize transmission media may include computer-readable physical storage media.
[0104] For example, computer executable instructions include instructions and data that cause a general purpose computer, a special purpose computer, or a special purpose processing device to perform a function or group of functions. For example, computer executable instructions can be binary instructions, intermediate format instructions (e.g., assembly language), or even source code. Although the subject matter described herein employs specific language of structural features and / or methodological acts, the described features or acts do not limit the subject matter defined in the claims. Rather, the features and acts described herein are example forms of implementing the claims.
[0105] Although this specification contains many specific details, these details should not be construed as limitations on the scope of the disclosure or claims, but only as descriptions of specific features of particular embodiments. A single embodiment may implement some of the functions described in this specification in the context of a separate embodiment. Conversely, multiple embodiments may implement the various functions described herein in the context of a single embodiment, either separately or in any suitable subcombination. In addition, although the features described herein function in some combinations, or are even initially claimed to be so, in some cases, one or more features in the claimed combination may be deleted from the combination, and the claimed combination may be directed to subcombinations or variations of subcombinations.
[0106] Similarly, although the operations described in the drawings are performed in a particular order to achieve the desired effect, this should not be understood as requiring that the operations be performed in the particular order shown or in a sequential order, or requiring that all illustrated operations be performed to achieve the desired effect. In some cases, multitasking and parallel processing may be advantageous. In addition, the separation of various system components in the embodiments should not be understood as requiring such separation in all embodiments, and it should be understood that the program components and systems can be integrated into a single software product or packaged into multiple software products.
[0107] Even though particular combinations of features are recited in the claims and / or specification, these combinations are not intended to limit the disclosure of possible implementations. Other implementations are also within the scope of the claims. For example, the operations recited in the claims can be performed in a different order and still achieve the desired effect. In fact, many of these features can be combined in ways that are not explicitly stated in the claims and / or disclosed in the specification. Although each dependent claim may only directly depend on one claim, the disclosure of possible implementations includes each dependent claim in combination with every other claim in the claims.
[0108] In addition, a computer system including one or more processors and a computer-readable medium (e.g., a computer memory) can also implement these methods. In particular, one or more processors can execute computer-executable instructions stored in the computer memory to perform various functions, such as the behaviors described in the embodiments.
[0109] Those skilled in the art will appreciate that the present invention can be implemented in a network computing environment with a variety of computer system configurations, including personal computers, desktop computers, notebook computers, information processors, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, microcomputers, mainframe computers, mobile phones, PDAs, pagers, routers, switches, etc. The present invention can also be implemented in a distributed system environment, in which local and remote computer systems are connected via a network (or via a hardwired data link, a wireless data link, or a combination of a hardwired and wireless data link) to perform tasks simultaneously. In a distributed system environment, program modules can be located in local and remote memory storage devices.
[0110] Unless otherwise indicated, the following terms and phrases shall be understood to have the following meanings.
[0111] As used herein, the term "cryptographic protocol" is also known as a security protocol or encryption protocol. It is an abstract or concrete protocol that performs security-related functions and typically uses a sequence of cryptographic primitives for encryption methods. The protocol describes the use of the algorithm. A sufficiently detailed protocol includes details about data structures and representations to enable multiple interoperable versions of the program.
[0112] Secure application-level data transport uses cryptographic protocols extensively. Cryptographic protocols typically include at least several of the following aspects: key negotiation or establishment, entity authentication, symmetric encryption, and message authentication material construction, secure application-level data transmission, non-repudiation methods, secret sharing methods, and secure multi-party computation.
[0113] Network switches use cryptographic protocols such as Secure Socket Layer (SSL) and Transport Layer Security (TLS), the successor to SSL, to secure data communications on wireless networks.
[0114] As used herein, the term "unauthorized access" means that someone uses another person's account or other methods to gain access to a website, program, server, service, or other system. For example, if someone keeps guessing passwords or usernames for accounts that do not belong to them until they gain access, this is considered unauthorized access.
[0115] As used herein, the term "IoT" stands for the Internet of Things, which describes a network of physical "things" or objects embedded with sensors, software and other technologies for the purpose of connecting and exchanging data with other devices and systems over the Internet.
[0116] As used herein, "machine learning" refers to an algorithm that gives a computer the ability to learn without explicit programming, including algorithms that learn from data and predict the data. Machine learning techniques include, but are not limited to, support vector machines, artificial neural networks (ANN) (also referred to herein as "neural networks"), deep learning neural networks, logistic regression, discriminant analysis, random forests, linear regression, rule-based machine learning, Naive Bayes, nearest neighbors, decision trees, decision tree learning, and hidden Markov, etc. For clarity, part of the machine learning process can use algorithms such as linear regression or logistic regression. However, using linear regression or another algorithm as part of the machine learning process is different from using a spreadsheet program to perform statistical analysis, such as regression. The machine learning process can continuously learn and adjust the classifier as new data becomes available, and does not rely on explicit or rule-based programming. An artificial neural network can have a feedback loop to dynamically adjust the system output as it learns from new data (because new data becomes available). In machine learning, back propagation and feedback loops are used to train artificial intelligence / machine learning (AI / ML) models to improve the accuracy and performance of the model over time.
[0117] Statistical modeling relies on discovering relationships between variables (like mathematical equations) to predict outcomes.
[0118] As used herein, the term "data mining" is the process used to transform raw data into useful information.
[0119] As used herein, the term "data acquisition" is the process of sampling signals that measure real-world physical conditions and converting the resulting samples into digital values that are processed by a computer. Data acquisition systems typically convert analog waveforms into digital values for processing. Components of a data acquisition system include sensors that convert physical parameters into electrical signals, signal conditioning circuits that convert sensor signals into a form that can be converted into digital values, and analog-to-digital converters that convert the conditioned sensor signals into digital values. Standalone data acquisition systems are often referred to as dataloggers.
[0120] As used herein, the term "dashboard" is a type of interface that visualizes specific key performance indicators (KPIs) for a specific goal or process. It is based on data visualization and infographics.
[0121] As used herein, a "database" is a collection of information organized so that it can be easily accessed, managed, and updated. A computer database typically contains an aggregation of data records or files.
[0122] As used herein, the term "data set" or "Dataset" is a collection of data. In the case of tabular data, a data set corresponds to one or more database tables, where each column of the table represents a specific variable and each row corresponds to a given record of the data set in question. A data set lists the value of each variable for each member of the data set, such as the height and weight of an object. Each value is called a datum. A data set can also consist of a collection of documents or files.
[0123] As used herein, a "sensor" is a device that measures physical input from its environment and converts it into data that can be interpreted by a person or machine. Most sensors are electronic, providing electronic data, but some are simpler, such as a glass thermometer, which provides visual data.
[0124] The term "infotainment system" or "in-vehicle infotainment system" (IVI) as used herein refers to a combination of vehicle systems for delivering entertainment and information. In one example, the information can be delivered to the driver and passengers / occupants of the vehicle through audio / video interfaces, control elements such as touch screen displays, button panels, voice commands, etc. Some of the major components of an in-vehicle infotainment system are an integrated head-unit, heads-up display (also known as head-up display), high-end digital signal processors (DSPs) and graphics processing units (GPUs) to support multiple displays, operating systems, controller area networks (CAN), low voltage differential signaling (LVDS) and other network protocol support (as required), connectivity modules, automotive sensor integration, digital instrument clusters, etc.
[0125] The term "environment" or "surroundings" as used herein refers to the surroundings and space that the vehicle is traveling in. It refers to the dynamic environment in which the vehicle is traveling, including other vehicles, obstacles, pedestrians, lane boundaries, traffic signs and signals, speed limits, potholes, snow, water, etc.
[0126] The term "autonomous mode" as used herein refers to an independent and unsupervised mode of operation.
[0127] As used herein, the term "vehicle" refers to an object used to transport people or goods. Automobiles, cars, trucks, buses, etc. are examples of vehicles.
[0128] The term "autonomous driving vehicle" as used herein, also known as self-driving vehicle, unmanned vehicle, robotic vehicle, refers to a vehicle that incorporates vehicle automation, i.e., a ground vehicle that can sense its environment and move safely with little or no human input. Self-driving vehicles incorporate various sensors to sense the surrounding environment, such as thermal imaging cameras, radio detection and ranging (radar), light detection and ranging (lidar), sound navigation and ranging (SONAR), global positioning system (GPS), odometer, and inertial measurement unit. A control system designed for this purpose interprets the sensor information to identify appropriate navigation paths as well as obstacles and related landmarks.
[0129] The term "communication module" or "communication system" as used herein refers to a system that enables information exchange between two points. The process of transmitting and receiving information is called communication. The elements of communication include but are not limited to the transmitter of information, the channel or medium of communication, and the receiver of information.
[0130] As used herein, the term "autonomous communication" includes communication over a period of time with minimal supervision in different scenarios and is not based solely or entirely on pre-coded scenarios or pre-coded rules or pre-defined protocols. Generally speaking, autonomous communication is conducted in an independent and unsupervised manner. In one embodiment, the communication module enables autonomous communication.
[0131] The term "connection" as used herein refers to a communication link. It refers to a communication channel that connects two or more devices for the purpose of data transfer. It can refer to a physical transmission medium, such as a wire, or to a logical connection through a multiplexed medium, such as a radio channel in telecommunications and a computer network. A channel is used to transmit information, such as a digital bit stream, from one or several transmitters to one or several receivers. A channel has a certain information transmission capacity, which is usually measured by its bandwidth in Hertz (Hz) or data rate in bits per second. For example, vehicle-to-vehicle (V2V) communication can wirelessly exchange information about the speed, location, and direction of surrounding vehicles.
[0132] The term "communication" as used herein refers to the transmission of information and / or data from one point to another. Communication can be carried out with the help of electromagnetic waves. It is also the flow of information from one point called the source to another point called the receiver. Communication includes one of the following: transmitting data, instructions and information or a combination of data, instructions and information. Communication occurs between any two communication systems or communication units. The term communication here includes systems combined with other more specific types of communication, such as V2I (vehicle to infrastructure), V2N (vehicle to network), V2V (vehicle to vehicle), V2P (vehicle to pedestrian), V2D (vehicle to device) and V2G (vehicle to grid) as well as vehicle to everything (V2X) communication.
[0133] In addition, the communication device is configured on a computer with a communication function and is connected to the vehicle-mounted emergency reporting device for two-way communication via a communication line of a radio station and a communication network such as a public telephone network or via satellite communication of a communication satellite. The communication device is suitable for communicating with the communication terminal via the communication network.
[0134] The term "vehicle-to-vehicle (V2V) communications" refers to technology that allows vehicles to broadcast and receive information. The messages can be omnidirectional, creating a 360-degree "awareness" of other vehicles in the vicinity. Vehicles can be equipped with appropriate software (or safety applications) that can use information from surrounding vehicles to determine potential collision threats as they progress.
[0135] The term "V2X communication" as used herein refers to the transmission of information from a vehicle to any entity that may affect the vehicle and vice versa. There are two types of V2X communication technologies, depending on the underlying technology used: cellular networks and other technologies that support direct device-to-device communication (such as Dedicated Short Range Communication (DSRC), Port Community System (PCS), wait).
[0136] The term "protocol" as used herein refers to the procedures required to initiate and maintain communications; a formal set of conventions governing the format and relative timing of message exchanges between two communicating terminals; a set of conventions governing the interaction of processes, devices and other components within a system; a set of signaling rules for passing information or commands between boards connected to a bus; a set of signaling rules for passing information between agents; a set of semantic and syntactic rules that determine the behavior of interacting entities; a set of rules and formats (semantics and syntax) that determine the communication behavior of simulated applications; a set of conventions or rules governing the interaction of processes or applications between communicating terminals; a formal set of conventions governing the format and relative timing of message exchanges between communicating terminals; a set of semantic and syntactic rules that determine the behavior of functional units in achieving meaningful communication; a set of semantic and syntactic rules for exchanging information.
[0137] As used herein, the term "communication protocol" refers to standardized communications between any two systems. An exemplary communication protocol is the DSRC protocol. The DSRC protocol uses a specific frequency band (e.g., 5.9 GHz (gigahertz)) and specific message formats (such as basic safety messages, signal phase and timing, and roadside alerts) to enable communications between vehicles and infrastructure components (such as traffic signals and roadside sensors). DSRC is a standardized protocol whose specifications are maintained by various organizations, including the Institute of Electrical and Electronics Engineers (IEEE) and the Society of Automotive Engineers (SAE) International.
[0138] As used herein, the term "two-way communication" refers to the exchange of data between two components. In one example, the first component may be a vehicle and the second component may be an infrastructure that is enabled by a system of hardware, software, and firmware. This communication is typically wireless.
[0139] The term "alert" or "alert signal" refers to a communication that draws attention. Alerts may include visual, tactile, audible alerts, and combinations of these alerts to warn the driver or passengers. These alerts enable the recipient (such as the driver or passenger) to react and respond quickly.
[0140] As used herein, the term "communicates with" refers to any coupling, connection, or interaction that uses signals to exchange information, messages, instructions, commands, and / or data, using any system, hardware, software, protocol, or format, whether the exchange occurs wirelessly or through a wired connection.
[0141] As used herein, the term "network" refers to one or more data links capable of transmitting electronic data between computer systems and / or modules and / or other electronic devices. When a network or another communication connection (hardwired, wireless, or a combination of hardwired or wireless) transmits or provides information to a computer, the computer correctly regards the connection as a transmission medium. General or special-purpose computer access can include a network and / or a transmission medium that carries a data link of a desired program code in the form of a computer executable instruction or data structure. The scope of computer-readable media includes the above-mentioned combination, which enables electronic data to be transmitted between computer systems and / or modules and / or other electronic devices. The network may include one or more networks or communication systems, such as the Internet, a telephone system, a satellite network, a cable television network, and various other private and public networks. In addition, the connection may include a wired connection (such as a wire, a cable, an optical fiber line, etc.), a wireless connection, or a combination thereof. In addition, although not shown, other computers, systems, devices, and networks may also be connected to the network. A network refers to any group of devices or subsystems that connect (directly or indirectly) a group of terminal nodes that share resources located on or provided by a network node through a link. Computers communicate with each other through digital interconnection using a common communication protocol. For example, a subsystem may include the cloud, which refers to servers accessed via the Internet, and the software and databases running on those servers.
[0142] The term "electronic control unit" (ECU), also known as "electronic control module" (ECM), is generally a module that controls one or more subsystems. In this article, an ECU can be installed in a car or other motor vehicle. It can refer to many ECUs, and can include but is not limited to an engine control module (ECM for short), a powertrain control module (PCM), a transmission control module (TCM), a brake control module (BCM) or an electronic brake control module (EBCM), a central control module (CCM), a central timing module (CTM), a general electronic module (GEM), a body control module (BCM for short) and a suspension control module (SCM). ECUs as a whole are sometimes collectively referred to as the vehicle's computer or the vehicle's central computer, and may include separate computers. In one example, an electronic control unit can be an embedded system in an automotive electronic device. In another example, the electronic control unit is wirelessly coupled to the automotive electronic device.
[0143] The terms "non-transitory computer-readable medium" and "computer-readable medium" include a single medium or multiple media (such as a centralized or distributed database), and / or associated caches and servers that store one or more sets of instructions. In addition, the terms "non-transitory computer-readable medium" and "computer-readable medium" include any tangible medium that can store, encode, or carry a set of instructions for execution by a processor, for example, which, when executed, causes the system to perform any one or more of the methods or operations disclosed herein. As used herein, the term "computer-readable medium" is expressly defined to include any type of computer-readable storage device and / or storage disk, and does not include propagating signals.
[0144] The term "vehicle data bus" as used herein represents an interface for a vehicle data bus (e.g., Controller Area Network (CAN), Local Interconnect Network (LIN), Ethernet / IP, FlexRay protocol, and Media Oriented Systems Transport (MOST)) that enables communication between onboard equipment (OBE) and other vehicle systems to support connected vehicle applications.
[0145] The term "handshake" refers to the exchange of preset signals between agents connected by a communication channel to ensure that each agent is connected to the other (and not to an imposter). This may also include the use of passwords and codes by the operator. Handshake signals are transmitted back and forth over the communication network to establish a valid connection between the two stations. Hardware handshaking uses dedicated lines, such as the request-to-send (RTS) and clear-to-send (CTS) lines in the recommended use of Standard 232 (RS-232) serial transmission. Software handshaking sends codes such as "synchronize" (SYN) and "acknowledge" (ACK) in the transmission control protocol / Internet protocol (TCP / IP) transmission.
[0146] The term "large vehicle" generally refers to a motor vehicle that is larger and heavier than a standard passenger vehicle. Examples of large vehicles include trucks, buses, recreational vehicles (RVs), trailers, semi-trailers, and heavy construction machinery. It may also refer to a normal vehicle with additional accessories, such as towing a car, towing a boat, or any other accessories that cause its length and weight to change.
[0147] The term "steering angle" refers to the amount the vehicle's front wheels rotate when the steering wheel is turned. It is measured in degrees and indicates the direction the vehicle will turn / turn. The steering angle is usually determined by sensors that detect the steering wheel position and the rotation of the front wheels. In some vehicles, the steering angle can be adjusted dynamically to improve stability and control, especially at high speeds or in slippery conditions. Steering angle controls the direction of the vehicle and is critical to safe and efficient driving.
[0148] The term "turning radius" refers to the measurement of the minimum radius of a circle or arc that a vehicle follows when turning at a given speed and steering angle. The turning radius is determined by a variety of factors, including but not limited to the vehicle's wheelbase, track width, turning ability, and external factors such as road surface condition and road grade. The turning radius is an important parameter for determining the maneuverability and handling characteristics of a vehicle and is commonly used in the design and evaluation of vehicles as well as in traffic engineering and urban planning. The turning radius is usually expressed in meters or feet and can be calculated or measured using a variety of methods, such as simulation, line testing, or field observation.
[0149] The term "expected turning radius" refers to the turning radius that is expected based on previous experience or knowledge of the vehicle or similar vehicles. "Target turning radius" refers to the desired turning radius that the driver / vehicle wants to achieve when maneuvering the vehicle. "Predicted turning radius" refers to the turning radius estimated based on mathematical calculations or computer simulations, taking into account factors such as vehicle specifications, speed, road conditions and other variables. The expected turning radius can be a predicted turning radius in some embodiments. The expected turning radius can be based on predicted turning radii previously encountered for such vehicle types and models. Although the words "expected", "target" and "predicted" are defined using turning radius as a basis, they are equally applicable to defining other vehicle parameters, such as speed, steering angle, etc.
[0150] The term "crush zone" or "impact area" refers to the area where a collision between two or more vehicles or between a vehicle and a stationary object may occur in the event of an accident. The crush zone is generally determined by factors such as the speed and direction of the vehicles involved, the shape and size of nearby objects, and road conditions and environmental factors. It is also affected by driving behavior. The crush zone may vary depending on the type of accident, such as a rear-end collision, a head-on collision, or a side collision, and may also depend on the type and size of the vehicles involved. The crush zone is an important consideration for traffic safety and accident prevention and is used to guide road design, traffic management, and vehicle safety standards. Measures such as reducing speed limits, adding safety barriers, and improving visibility can help minimize the crush zone and reduce the severity of accidents.
[0151] The term "safe or safety zone" or "safe or safety area" refers to the area where, in the event of an accident, a collision between two or more vehicles or between a vehicle and a stationary object is unlikely or will not occur. The safety zone is typically determined by factors such as the speed and direction of the vehicles involved, the shape and size of nearby objects, and road conditions and environmental factors. It is also affected by driving behavior.
[0152] The term "turn lane or turning lane" refers to a specific lane on a road that is designated for vehicles turning onto another road. It may also refer to the lane on which a vehicle is attempting to turn. Turn lanes are usually marked on the sidewalk with arrows indicating the direction of the turn, and may also have additional signs indicating where turns are permitted from that lane.
[0153] The term "driver" as used herein refers to an occupant who, even if the occupant is not actually driving the vehicle, is located within the vehicle so as to be able to take over control and act as the driver of the vehicle when the vehicle control system transfers control to the occupant or driver, or when the vehicle control system is not operating in an autonomous or semi-autonomous mode.
[0154] As used herein, the term “host vehicle” refers to a vehicle that observes the environment and makes decisions based on the observations.
[0155] The term "target vehicle" as used herein refers to the vehicle that the host vehicle is focusing on. The target vehicle may or may not be an autonomous vehicle. It may or may not have V2V communication enabled.
[0156] As used herein, the term "nearby vehicle" or "adjacent vehicle" or "surrounding vehicle" refers to a vehicle anywhere near the host vehicle within the communication range of the host vehicle. It may or may not be an autonomous vehicle. It may or may not have V2V communication enabled. In some embodiments, a neighboring vehicle may more specifically refer to a vehicle immediately in the next lane or behind the host vehicle.
[0157] The term "computer vision module" or "computer vision system" allows the vehicle to "see" and interpret the world around it. The system uses a combination of cameras, sensors, and other technologies such as radio detection and ranging (radar), light detection and ranging (lidar), sound navigation and ranging (SONAR), global positioning system (GPS), and machine learning algorithms to collect visual data about the vehicle's surroundings and analyze that data in real time. The computer vision system is designed to perform a range of tasks, including object detection, lane detection, and pedestrian recognition. It uses deep learning algorithms and other machine learning techniques to analyze visual data and make decisions about how to control the vehicle. For example, a computer vision system can use an object detection algorithm to identify other vehicles, pedestrians, and obstacles in the vehicle's path. It can then use this information to calculate the vehicle's speed and direction, adjust the vehicle's trajectory to avoid collisions, and apply braking or acceleration as needed. It allows the vehicle to operate safely and efficiently in a variety of driving conditions.
[0158] The term "deterministic motion model" is a mathematical description of the motion of an object or system that is completely determined by the initial state and input of the object or system. This means that given the starting position, velocity and other relevant parameters of the system and the input it receives (e.g., force or torque), the model can accurately predict its future position, velocity and other states at any point in time. Deterministic motion models can be used to simulate the behavior of mechanical systems (e.g., vehicles) to understand, plan and optimize the motion of mechanical systems, or to control the motion of mechanical systems in real time. Such models are typically based on physical principles (such as Newton's laws of motion) and may also take into account environmental factors (such as friction, gravity, surface conditions or wind resistance). In general, the goal of a deterministic motion model is to provide a reliable and accurate method to predict the behavior of a system.
[0159] The term "cybersecurity" as used herein refers to the application of technologies, processes, and controls to protect systems, networks, programs, devices, and data from cyber attacks.
[0160] The term "cybersecurity module" as used herein refers to a module that includes application technologies, processes, and controls to protect systems, networks, programs, devices, and data from cyber attacks and threats. It is designed to reduce the risk of cyber attacks and prevent unauthorized exploitation of systems, networks, and technologies. It includes, but is not limited to, critical infrastructure security, application security, network security, cloud security, Internet of Things (IoT) security.
[0161] The term "encryption" as used herein refers to the protection of digital data using one or more mathematical techniques and a password or "key" for decrypting the information. It refers to the conversion of information or data into code, especially to prevent unauthorized access. It can also refer to the hiding of information or data by converting it into code. It can also be called a cipher, code, encryption, encoding. A simple example is to represent letters with numbers - for example, "A" is "01", "B" is "02", and so on. For example, a message like "HELLO" will be encrypted as "0805121215", and this value will be transmitted to the recipient over the network.
[0162] The term "decryption" as used herein refers to the process of converting an encrypted message back to its original format. This is generally the reverse process of encryption. It decodes encrypted information so that only authorized users can decrypt the data, as a key or password is required for decryption. This term can be used to describe methods of decrypting data manually or using an appropriate code or key.
[0163] The term "cybersecurity threat" as used herein refers to any possible malicious attack that attempts to illegally access data, disrupt digital operations, or destroy information. Malicious behavior generally includes, but is not limited to, destroying data, stealing data, or disrupting digital life. Cyber threats include, but are not limited to, malware, spyware, phishing attacks, ransomware, zero-day exploits, Trojans, advanced persistent threats, wiper attacks, data manipulation, data destruction, rogue software, malicious advertising, unpatched software, computer viruses, man-in-the-middle attacks, data breaches, denial of service (DoS) attacks, and other attack vectors.
[0164] The term "hash value" used herein can be thought of as a fingerprint of a file. The contents of a file are processed through an encryption algorithm and a unique value identifying the contents of the file, i.e., a hash value, is generated. If the content is modified in any way, the hash value will also change significantly. Exemplary algorithms for generating hash values: Message Digest-5 (MD5) algorithm and Secure Hash Algorithm-1 (SHA1).
[0165] The term "integrity check" as used herein refers to the verification of the accuracy and consistency of files, data, etc. associated with a system. It can be performed using a verification tool that can detect whether any critical system files have been changed, thereby enabling system administrators to look for unauthorized changes to the system. For example, data integrity corresponds to the quality of the data in a database and the level at which users check the quality, integrity, and reliability of the data. Data integrity verification verifies that the data in the database is accurate and operates as expected in a given application.
[0166] As used herein, the term "alarm" refers to a trigger when a system or a component in a system fails or fails to perform as expected. When a certain event occurs, the system may enter an alarm state. An alarm indication signal is a visual signal indicating an alarm state. For example, when a network security threat is detected, an alarm may be issued to a system administrator via an audible alarm, a message, an illuminated LED, a pop-up window, etc. The alarm indication signal may be reported downstream from the detection device to prevent an adverse situation or cascading effect.
[0167] As used herein, the term "cryptographic protocol" is also referred to as a security protocol or encryption protocol. It is an abstract or specific protocol that performs security-related functions and generally uses a sequence of cryptographic primitives for encryption methods. The protocol describes the use of an algorithm. A sufficiently detailed protocol includes details about data structures and representations to implement multiple interoperable versions of a program. Cryptographic protocols are widely used for secure application layer data transmission. Cryptographic protocols generally include at least several of these aspects: key negotiation or establishment, entity authentication, symmetric encryption, and message authentication material construction, secure application layer data transmission, non-repudiation methods, secret sharing methods, and secure multi-party computation. Hash algorithms can be used to verify the integrity of data. Network switches use cryptographic protocols such as Secure Socket Layer (SSL) and Transport Layer Security (TLS) (SSL's successor) to protect data communication security on wireless networks.
[0168] The embodiments described herein may be integrated at any possible level of technical detail for one or more of the systems, methods, devices and / or computer program products. The computer program product may include a computer-readable storage medium (or medium) having computer-readable program instructions thereon for causing a processor to perform various aspects of one or more embodiments described herein. The computer-readable storage medium may be a tangible device that can retain and store instructions for use by an instruction execution device. For example, the computer-readable storage medium may be, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a superconducting storage device, and / or any suitable combination of the above devices. A non-exhaustive list of more specific examples of computer-readable storage media may also include the following: a portable computer floppy disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device (e.g., a raised structure in a punch card or a groove with instructions recorded thereon) and / or any suitable combination of the above devices. As used herein, computer-readable storage media itself does not represent transient signals, such as radio waves and / or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides and / or other transmission media (such as light pulses through optical fibers), and / or electrical signals transmitted through wires.
[0169] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a respective computing / processing device, and / or downloaded to an external computer or external storage device via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network). The network may include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives computer-readable program instructions from the network, and forwards the computer-readable program instructions to a computer-readable storage medium in the corresponding computing / processing device for storage. The computer-readable program instructions for performing the operations of one or more embodiments described herein may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuits, and / or source code and / or object code written in any combination of one or more programming languages, including: object-oriented programming languages, such as Smalltalk, C++, or similar languages; and / or procedural programming languages, such as "C" programming languages and / or similar programming languages. Computer readable program instructions may be executed entirely on a computer, or partially on a computer, as a separate software package, partially on a computer and / or partially on a remote computer, or entirely on a remote computer and / or server. In the latter scenario, the remote computer may be connected to the computer via any type of network, including a local area network (LAN) and / or a wide area network (WAN), and / or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In one or more embodiments, electronic circuits including, for example, programmable logic circuits, field programmable gate arrays (FPGAs), and / or programmable logic arrays (PLAs) may execute computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuit, thereby performing various aspects of one or more embodiments described herein.
[0170] Various aspects of one or more embodiments described herein are described with reference to flowchart illustrations and / or block diagrams of methods, devices (systems) and computer program products according to one or more embodiments described herein. Each block in the flowchart schematic diagram and / or block diagram and the block combination in the flowchart schematic diagram and / or block diagram can be implemented by computer-readable program instructions. These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer and / or other programmable data processing device to produce a machine, so that instructions executed by a processor of a computer or other programmable data processing device can create a method for implementing the functions / actions specified in one or more blocks in the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, which can instruct a computer, a programmable data processing device and / or other device to operate in a specific manner, so that a computer-readable storage medium storing instructions can include a manufactured article, which includes instructions that can implement the functions / behaviors specified in the flowchart and / or block diagram blocks. Computer-readable program instructions may also be loaded onto computers, other programmable data processing devices and / or other equipment to cause a series of operational behaviors to be executed on the computers, other programmable devices and / or other equipment to produce a computer-implemented process, thereby causing the instructions executed on the computers, other programmable devices and / or other equipment to implement the functions / behaviors specified in the flowcharts and / or block diagrams.
[0171] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functions and / or operations of systems, computer-implemented methods and / or computer program products that may be implemented according to one or more embodiments described herein. In this regard, each block in the flowchart or block diagram may represent a module, segment and / or partial instruction, including one or more executable instructions for implementing a specified logical function (one or more). In one or more alternative embodiments, the functions marked in the blocks may not appear in the order marked in the accompanying drawings. For example, two blocks displayed in succession may be executed substantially simultaneously, and / or blocks may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and / or a combination of blocks in the block diagram and / or flowchart, can be implemented by a dedicated hardware-based system that can perform specified functions and / or behaviors and / or execute one or more dedicated hardware and / or computer instruction combinations.
[0172] Although the subject matter described herein is the general case of computer executable instructions of a computer program product running on a computer and / or a computer, those skilled in the art will recognize that one or more embodiments herein may also be implemented in conjunction with one or more other program modules. Program modules include routines, programs, components, data structures, and / or similar programs that perform specific tasks and / or implement specific abstract data types. In addition, other computer system configurations, including single-processor and / or multi-processor computer systems, microcomputing devices, mainframe computers, and computers, handheld computing devices (e.g., PDAs, phones), microprocessor-based or programmable consumer and / or industrial electronic devices, and / or similar devices, can implement the computer-implemented methods described herein. A distributed computing environment may also implement the described aspects, in which remote processing devices connected via a communication network perform tasks. However, a stand-alone computer may also implement one or more aspects of one or more embodiments described herein, if not all. In a distributed computing environment, program modules may be located in local and remote memory storage devices.
[0173] The terms "component", "system", "platform", "interface" and / or similar terms used in this application may refer to and / or include entities related to computers or entities related to operating machines with one or more specific functions. The entities described herein may be hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to, a process, a processor, an object, an executable file, an execution thread, a program, and / or a computer running on a processor. For example, an application and a server running on a server may be a component. One or more components may be located in a process and / or an execution thread, and a component may be located on a computer and / or distributed between two or more computers. In another example, each component may be executed from various computer-readable media, on which various data structures are stored. Each component may communicate via local and / or remote processes, for example, according to a signal with one or more data packets (for example, data that a component interacts with another component in a local system, a distributed system, and / or data that interacts with other systems across a network, such as the Internet, via a signal). As another example, a component may be a device having a specific functionality whose mechanical components are operated by electrical or electronic circuits that are in turn operated by software and / or firmware applications executed by a processor. In this case, the processor may be internal and / or external to the device and may execute at least a portion of the software and / or firmware applications. As another example, a component may be a device that provides a specific functionality through electronic components without mechanical components, where the electronic components may include a processor and / or other devices that execute software and / or firmware that at least partially endows the electronic components with functionality. In one aspect, the component may simulate the electronic component via a virtual machine, such as within a cloud computing system.
[0174] As used in this specification, the term "processor" may refer to any computational processing unit and / or device, including but not limited to: a single-core processor; a single-core processor with software multi-threaded execution capability; a multi-core processor; a multi-core processor with software multi-threaded execution capability; a multi-core processor with hardware multi-threading technology; a parallel platform; and / or a parallel platform with distributed shared memory. In addition, a processor may also refer to an integrated circuit, an application-specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic controller (PLC), a complex programmable logic device (CPLD), discrete gate or transistor logic, discrete hardware components, and / or any combination thereof, which is designed to perform the functions described herein. In addition, a processor may utilize nanoscale architectures, such as but not limited to molecular-based transistors, switches, and / or gates, to optimize space usage and / or improve the performance of associated devices. A combination of computational processing units may implement a processor.
[0175] As used herein, terms such as "storage," "storage," "data storage," "data storage," "database," and any other information storage component related to the operation and functionality of a component refer to a "memory component," an entity embodied as a "memory," or a component that includes a memory. The memory and / or memory components described herein may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. By way of example and not limitation, non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), flash memory, and / or non-volatile random access memory (RAM) (e.g., ferroelectric RAM (FeRAM)). Volatile memory may include RAM, which may be used, for example, as an external cache memory. By way of illustration and not limitation, RAM can have a variety of forms, such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), direct Rambus RAM (DRRAM), direct bus dynamic RAM (DRDRAM), and / or bus dynamic RAM (RDRAM). In addition, the memory components of the systems and / or computer-implemented methods described herein include, but are not limited to, these and / or any other suitable types of memory.
[0176] The embodiments described herein include only examples of systems and computer-implemented methods. Of course, it is not possible to describe every conceivable combination of components and / or computer-implemented methods for the purpose of describing one or more embodiments, but one of ordinary skill in the art will recognize that many further combinations and / or permutations of one or more embodiments are possible. In addition, when the terms "including," "having," "having," and the like are used in the detailed description, claims, appendices, and / or drawings, these terms are intended to be inclusive in a manner similar to the term "comprising," as interpreted when "including" is used as a transitional word in a claim.
[0177] Autonomous vehicles navigate without human intervention by using a combination of sensors, mapping technology, and artificial intelligence algorithms. Sensors collect information about the vehicle's environment, while high-definition mapping technology is used to create a detailed 3D map of the road and surroundings. The vehicle's software then uses this map to navigate the vehicle. Data from sensors and mapping technology is processed using advanced artificial intelligence algorithms, allowing the vehicle to make decisions about how to navigate the road, such as when to accelerate, brake, or turn. The control system then manipulates the vehicle's steering, acceleration, and braking. All of these systems are integrated with the vehicle's artificial intelligence (AI) algorithms and work together to navigate the vehicle in real time. A control unit or control module may refer to a subsystem of an electronic control unit or ECU, or it may refer to a functional unit within an electronic control unit or a subsystem that controls one or more units of vehicle equipment.
[0178] Figure 1 is a diagram of an example autonomous vehicle with various sensors, actuators, and systems according to one embodiment. The autonomous system includes: various sensors, such as ultrasonic sensors, lidar sensors, radar sensors, etc.; actuators, such as brake actuators, steering actuators, etc.; and various subsystems, such as propulsion systems, steering systems, brake sensor systems, communication systems, etc. Figure 1 Depicted as an example system; it is neither limited to the depicted system nor an exhaustive list of sensors, actuators and systems / subsystems and / or features of an autonomous vehicle. In addition, the vehicle shown should not be interpreted as being limited in the arrangement of any sensors, actuators and systems / subsystems depicted. These sensors, actuators and systems / subsystems can be arranged as suitable for the purpose to be performed by the autonomous vehicle. Autonomous vehicles, also known as self-driving vehicles or unmanned vehicles, are vehicles that can navigate and operate without human intervention. Sensors (for example, including cameras, lidar, radar and ultrasonic sensors) enable autonomous vehicles to detect and identify objects, obstacles and pedestrians on the road. Autonomous vehicles use advanced control systems to make real-time decisions based on sensor data and pre-programmed rules or intelligent decision-making systems. For example, these systems control the acceleration, braking, steering and communication of the vehicle. Navigation systems (such as GPS, maps and other location-based technologies) can help autonomous vehicles navigate and plan the best route to a destination. The communication systems of autonomous vehicles can help them communicate with other vehicles and infrastructure (such as traffic lights and road signs) to exchange information and optimize traffic flow. Self-driving vehicles have a variety of safety features, including collision avoidance systems, emergency braking, and backup systems in case of system failure. Self-driving vehicles use artificial intelligence and machine learning algorithms to analyze data, identify patterns, and improve performance over time.
[0179] Figure 2A block diagram of electronic components of a vehicle according to one embodiment is shown. In the illustrated example, the electronic components include an onboard computing platform 202 , a human machine interface (HMI) unit 204 , a communication module 220 , a sensor 206 , an electronic control unit (ECU) 208 , and a vehicle data bus 210 . Figure 2 Shows Figure 1 An example architecture of some electronic components is shown in .
[0180] The onboard computing platform 202 includes a processor 212 (also referred to as a microcontroller unit or controller) and a memory 214. In the example shown, the processor 212 of the onboard computing platform 202 is configured to include a controller 212-1. In other examples, the controller 212-1 is incorporated into another ECU having its own processor and memory. The processor 212 can be any suitable processing device or group of processing devices, such as but not limited to a microprocessor, a microcontroller-based platform, an integrated circuit, one or more field programmable gate arrays (FPGAs), and / or one or more application-specific integrated circuits (ASICs). The memory 214 can be a volatile memory (e.g., RAM, including non-volatile RAM, magnetic RAM, ferroelectric RAM, etc.), a non-volatile memory (e.g., disk memory, FLASH memory, EPROM, EEPROM, non-volatile solid-state memory based on memristors, etc.), an unchangeable memory (e.g., EPROM), a read-only memory, and / or a high-capacity storage device (e.g., a hard disk drive, a solid-state drive, etc.). In some examples, the memory 214 includes a variety of memories, particularly volatile memories and non-volatile memories. The memory 214 is a computer-readable medium on which one or more sets of instructions, such as software for operating the methods of the present disclosure, may be embedded. The instructions may embody one or more methods or logic described herein. For example, during execution of the instructions, the instructions may reside completely or at least partially in any one or more of the memory 214, the computer-readable medium, and / or the processor 212.
[0181] The HMI unit 204 provides an interface between the vehicle and the user. The HMI unit 204 includes digital and / or analog interfaces (e.g., input devices and output devices) for receiving input from the user and displaying information to one or more users. Input devices include, for example, control knobs, instrument panels, digital cameras for image capture and / or visual command recognition, touch screens, audio input devices (e.g., cabin microphones), buttons, or touch pads. Output devices may include instrument cluster outputs (e.g., dials, lighting devices), tactile devices, actuators, displays 216 (e.g., heads-up displays, center console displays, such as liquid crystal displays (LCDs), organic light-emitting diode (OLED) displays, flat panel displays, solid-state displays, etc.), and / or speakers 218. For example, the display 216, the speaker 218, and / or one or more other output devices of the HMI unit 204 are configured to issue an alert to the operator of the vehicle (e.g., the driver), such as an alert requesting manual takeover. Moreover, the HMI unit 204 of the illustrated example includes hardware (eg, a processor or controller, memory, storage, etc.) and software (eg, an operating system, etc.) of an infotainment system presented via a display 216 .
[0182] Sensors 206 are arranged in and / or around the vehicle to monitor the characteristics of the vehicle and / or the environment in which the vehicle is located. One or more sensors 206 can be installed to measure the characteristics of the external surroundings of the vehicle. Additionally or alternatively, one or more sensors 206 can be installed in the vehicle compartment or body (e.g., engine compartment, wheel well, etc.) to measure the characteristics of the vehicle and / or the interior of the vehicle. For example, the sensor 206 includes an accelerometer, an odometer, a tachometer, a pitch and yaw sensor, a wheel speed sensor, a microphone, a tire pressure sensor, a biosensor, an ultrasonic sensor, an infrared sensor, a light detection and ranging (lidar), a radio detection and ranging system (radar), a global positioning system (GPS), a camera and / or any other suitable type of sensor. In the example shown, the sensor 206 includes a ranging sensor configured to monitor one or more objects located in the area around the vehicle.
[0183] ECU 208 monitors and controls subsystems of the vehicle. For example, ECU 208 is a discrete group of electronic devices that includes one or more circuits (e.g., integrated circuits, microprocessors, memory, storage devices, etc.) and firmware, sensors, actuators, and / or mounting hardware of its own. ECU 208 communicates and exchanges information via a vehicle data bus (e.g., vehicle data bus 210). Additionally, ECU 208 can communicate attributes (e.g., ECU status, sensor readings, control states, errors and diagnostic codes, etc.) and / or receive requests from each other. For example, a vehicle may have dozens of ECUs located at various locations around the vehicle and communicatively coupled via vehicle data bus 210.
[0184] In the example shown, the ECU 208 includes an autonomous / autonomous unit 208-1 and a body control module 208-2. For example, the autonomous unit 208-1 is configured to perform autonomous and / or semi-autonomous driving operations (e.g., defensive driving maneuvers) of the vehicle based at least in part on instructions received from the controller 212-1 and / or data collected by the sensor 206 (e.g., a distance detection sensor). In addition, the body control module 208-2 controls one or more subsystems of the entire vehicle, such as power windows, power locks, anti-theft systems, power mirrors, etc. For example, the body control module 208-2 includes circuits that drive one or more relays (e.g., control wiper fluid, etc.), brushed DC (DC) motors (e.g., control power seats, power locks, power windows, wipers, etc.), stepper motors, LEDs, safety systems (e.g., seat belt pretensioners, airbags, etc.), etc.
[0185] The vehicle data bus 210 communicatively couples the communication module 220, the vehicle computing platform 202, the HMI unit 204, the sensor 206, and the ECU 208. In some examples, the vehicle data bus 210 includes one or more data buses. The vehicle data bus 210 may be configured in accordance with the controller area network (CAN) bus protocol defined by the International Organization for Standardization (ISO) 11898-1, the media oriented systems transport (MOST) bus protocol, the CAN flexible data (CAN-FD) bus protocol (ISO 11898-7), and / or the K-line bus protocol (ISO9141 and ISO 14230-1), and / or the Ethernet bus protocol. TM It is implemented by bus protocol IEEE 802.3 (after 2002) and so on.
[0186] The communication module 220-1 is configured to communicate with other nearby communication devices. In the example shown, the communication module 220 includes a dedicated short-range communication (DSRC) module. The DSRC module includes one or more antennas, one or more radios, and software for communicating with one or more nearby vehicles via vehicle-to-vehicle (V2V) communication, communicating with one or more infrastructure-based modules via vehicle-to-infrastructure (V2I) communication, and / or more generally communicating with one or more nearby communication devices (e.g., mobile device-based modules) via vehicle-to-everything (V2X) communication.
[0187] V2V communication allows vehicles to share information such as speed, location, direction, and other relevant data, enabling them to cooperate and coordinate their actions to improve safety, efficiency, and mobility on the road. V2V communication can be used to support a variety of applications such as collision avoidance, lane change assistance, platooning, and traffic management. It may rely on dedicated short-range communications (DSRC) and other wireless protocols to enable fast and reliable data transmission between vehicles. V2V communication is a form of wireless communication between vehicles that allows vehicles to exchange information and coordinate with other vehicles on the road. V2V communication enables vehicles to share data about their location, speed, direction, acceleration, and braking with other nearby vehicles, which can help improve safety, reduce congestion, and make transportation systems more efficient.
[0188] V2V communications are typically based on wireless communication protocols, such as Dedicated Short Range Communications (DSRC) or Cellular Vehicle-to-Everything (C-V2X) technology. With V2V communications, vehicles can receive information about potential hazards, such as accidents or road closures, and adjust their behavior accordingly. V2V communications can also be used to support Advanced Driver Assistance Systems (ADAS) and autonomous driving technologies, such as platooning, where a group of vehicles travel closely together using V2V communications to coordinate their movements.
[0189] For more information on DSRC networks and how they communicate with vehicle hardware and software, see the U.S. Department of Transportation's June 2011 Core System Requirements Specification (SyRS) report (available at http: / / wwwits.dot.gov / meetings / pdf / CoreSystemSESyRSRevA%20(2011-06-13).pdf). DSRC systems can be installed on vehicles or on roadside infrastructure. DSRC systems that incorporate infrastructure information are called "roadside" systems. DSRC can be combined with other technologies, such as the Global Positioning System (GPS), visible light communications (VLC), cellular communications, and short-range radar, so that a vehicle communicates its location, speed, heading, relative position with respect to other objects, and exchange information with other vehicles or external computer systems. DSRC systems can be integrated with other systems such as mobile phones.
[0190] Currently, DSRC networks are identified by the DSRC abbreviation or name. However, other names are sometimes used, usually in connection with the Connected Vehicle program, etc. Most of these systems are pure DSRC or variations of the IEEE 802.11 wireless standard. However, in addition to pure DSRC systems, it is also intended to cover dedicated wireless communication systems between vehicles and roadside infrastructure systems that are integrated with GPS and based on IEEE 802.11 protocols for wireless LANs (such as 802.11p, etc.).
[0191] Additionally or alternatively, the communication module 220-2 includes a cellular vehicle-to-everything (C-V2X) module. The C-V2X module includes hardware and software for communicating with one or more other vehicles via V2V communication, communicating with infrastructure-based modules via V2I communication, and / or more generally communicating with nearby communication devices (e.g., mobile device-based modules) via V2X communication. For example, the C-V2X module is configured to communicate with nearby devices (e.g., vehicles, roadside units, mobile devices, etc.) directly and / or via a cellular network. Currently, the Third Generation Partnership Project is developing standards related to C-V2X communications.
[0192] In addition, the communication module 220-2 is configured to communicate with an external network. For example, the communication module 220-2 includes hardware (e.g., a processor, a memory, a storage device, an antenna, etc.) and software to control a wired or wireless network interface. In the example shown, the communication module 220-2 includes one or more communication controllers for cellular networks (e.g., Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), Long Term Evolution (LTE), Code Division Multiple Access (CDMA)), near field communication (NFC), and / or other standard-based networks (e.g., WiMAX (IEEE 802.16m), local area wireless networks (including IEEE 802.11a / b / g / n / ac or others), wireless Gigabit (IEEE 802.11ad), etc.). In some examples, the communication module 220-2 includes a wired or wireless interface (e.g., an assist port, a universal serial bus (USB) port, The vehicle may be coupled to a mobile device (e.g., a smart phone, a wearable device, a smart watch, a tablet, etc.) to communicate with the external network via the coupled mobile device. The one or more external networks may be a public network, such as the Internet; a private network, such as an intranet; or a combination thereof, and may utilize various network protocols now available or later developed, including but not limited to network protocols based on TCP / IP.
[0193] In one embodiment of the system, as the target vehicle begins to move, the host vehicle updates the boundaries of the impact zone in real time.
[0194] In one embodiment of the system, the communication between the host vehicle and the target vehicle is performed via vehicle-to-vehicle (V2V) communication. In one embodiment of the system, the vehicle-to-vehicle (V2V) communication is based on a wireless communication protocol using at least one of dedicated short-range communication (DSRC) and cellular vehicle-to-everything (C-V2X) technology. In one embodiment of the system, the communication between the host vehicle and the target vehicle is performed via an Internet connection.
[0195] In one embodiment, the communication module enables autonomous communication, wherein the autonomous communication includes communication conducted over a period of time in different scenarios with minimal supervision. The communication module includes a hardware component, the hardware component includes a vehicle gateway system, the vehicle gateway system includes a microcontroller, a transceiver, a power management integrated circuit, and an Internet of Things device capable of transmitting one of an analog signal or a digital signal via telephone, wired or wireless communication.
[0196] The autonomous unit 208-1 in the illustrated example is configured to perform autonomous and / or semi-autonomous driving operations for the vehicle, such as defensive driving maneuvers. For example, the autonomous unit 208-1 performs autonomous and / or semi-autonomous driving operations based on data collected by the sensors 206. In some examples, the autonomous unit 208-1 is configured to operate a fully autonomous system, a parking assist system, an advanced driver assistance / assistance system (ADAS), and / or other autonomous system(s) for the vehicle.
[0197] ADAS is configured to assist the driver in safely operating the vehicle. For example, ADAS is configured to perform adaptive cruise control, collision avoidance, lane assistance (e.g., lane centering), blind spot detection, rear collision warning (one or more), lane departure warning, and / or any other function (one or more) that assists the driver in operating the vehicle. In order to perform driver assistance features, ADAS monitors objects (e.g., vehicles, pedestrians, traffic signals, etc.) and develops situational awareness around the vehicle. For example, ADAS utilizes data collected by sensors 206, communication module 220-1 (e.g., from other vehicles, from roadside units, etc.), communication module 220-2 from a remote server, and / or other sources to monitor nearby objects and develop situational awareness.
[0198] In addition, in the example shown, the controller 212-1 is configured to monitor the surrounding environment of the vehicle. For example, in order to enable the autonomous unit 208-1 to perform autonomous and / or semi-autonomous driving maneuvers, the controller 212-1 collects data collected by the vehicle's sensors 206. In some examples, the controller 212-1 collects location-based data via the communication module 220-1 and / or another module (e.g., a GPS receiver) to facilitate the autonomous unit 208-1 to perform autonomous and / or semi-autonomous driving maneuvers. In addition, the controller 212-1 (i) collects data from neighboring vehicles (one or more) via the communication module 220-1 and V2V communication and / or (ii) collects data from roadside units (one or more) via the communication module 220-1 and V2I communication to further facilitate the autonomous unit 208-1 to perform autonomous and / or semi-autonomous driving maneuvers.
[0199] In operation, according to one embodiment, the communication module 220-1 performs V2V communication with neighboring vehicles. For example, the communication module 220-1 collects data from neighboring vehicles to identify (i) whether the neighboring vehicle includes an autonomous and / or semi-autonomous system (e.g., ADAS), (ii) whether the autonomous and / or semi-autonomous system is active, (iii) whether a manual takeover request for the autonomous and / or semi-autonomous system has been issued, (iv) lane detection information of the neighboring vehicle, (v) the speed and / or acceleration of the neighboring vehicle, (vi) the (relative) positioning of the neighboring vehicle, (vii) the driving direction of the neighboring vehicle, (viii) the rate of change of the steering angle of the neighboring vehicle, (ix) the size of the neighboring vehicle, (x) whether the neighboring vehicle is using stability control system(s) (e.g., anti-lock braking, traction control, electronic stability control, etc.), and / or any other information that helps the controller 212-1 monitor the neighboring vehicle.
[0200] Based at least in part on data collected from neighboring vehicles by the communication module 220-1 via V2V communication, the controller 212-1 can determine a collision probability for the neighboring vehicle. For example, the controller 212-1 determines the collision probability for the neighboring vehicle in response to identifying a manual takeover request in the data collected by the communication module 220-1 from the neighboring vehicle. Additionally or alternatively, the controller 212-1 determines the collision probability for the neighboring vehicle in response to identifying a difference between (i) a lane marking position determined by the controller 212-1 of the vehicle based on the sensor 206 and (ii) a lane marking position determined by the neighboring vehicle. In addition, in some examples, the controller 212-1 determines the collision probability for the neighboring vehicle based on data collected from other sources, such as: the sensor 206, for example, the distance detector sensor 206-1; and / or one or more other sensors of the vehicle; one or more roadside units communicating with the communication module 220-1 via V2I communication; and / or one or more remote servers communicating with the communication module 220-1. For example, the controller 212 - 1 determines a collision probability for a neighboring vehicle when it is determined that the neighboring vehicle has not detected a nearby object based on data collected by sensors of the vehicle and the neighboring vehicle.
[0201] In some examples, the controller 212-1 determines the collision probability based on a takeover time for the neighboring vehicle and / or a collision time of the neighboring vehicle. For example, the takeover time corresponds to the duration between (1) the neighboring vehicle issuing a request to perform a manual takeover and (2) the operator of the neighboring vehicle manually taking over control of the neighboring vehicle. The controller 212-1 is configured to determine the takeover time for the neighboring vehicle based on measured characteristics of the neighboring vehicle (e.g., speed, acceleration, size, etc.), the operator of the neighboring vehicle (e.g., measured reaction time, etc.), and / or the environment of the neighboring vehicle (e.g., road conditions, weather conditions, etc.). In addition, the collision time corresponds to the time required for the neighboring vehicle to collide with another vehicle (e.g., a third vehicle) and / or an object (e.g., a guardrail, a highway lane divider, etc.) if current conditions remain unchanged.
[0202] Additionally or alternatively, the controller 212-1 is configured to determine a collision time of the neighboring vehicle based on speed, acceleration, direction of travel, distance to an object, steering angle required to avoid an object, rate of change of steering angle, and / or other measured characteristics of the neighboring vehicle collected from the neighboring vehicle by the communication module 220-1 via V2V communication. In addition, the controller 212-1 is configured to determine a collision probability for the vehicle based on a collision probability for the neighboring vehicle.
[0203] When determining the collision probability of the adjacent vehicle and determining that the collision probability does not meet the threshold, the autonomous unit 208-1 autonomously performs (e.g., for ADAS) a defensive driving maneuver to prevent the vehicle from being involved in / involved in a collision caused by the adjacent vehicle. For example, the autonomous defensive driving maneuver includes deceleration, emergency braking, lane change, changing positioning within the current lane of travel, etc. In some examples, the autonomous unit 208-1 is configured to initiate the defensive driving maneuver before the takeover time of the adjacent vehicle is completed. That is, the controller 212-1 is configured to enable the autonomous unit 208-1 to perform a defensive driving maneuver before the operator of the adjacent vehicle manually takes over the control of the adjacent vehicle. In addition, in some examples, the controller 212-1 issues an audio, visual, tactile and / or other alarm (e.g., via the HMI unit 204) so that the operator of the vehicle requests a manual takeover in response to determining that the collision probability is less than a first threshold and greater than a second threshold. By issuing such an alarm, the controller 212-1 enables the operator of the vehicle to safely control the vehicle before the adjacent vehicle may be involved in a collision. Additionally or alternatively, the controller 212 - 1 may be configured to perform other defensive measures (eg, pre-filling the brake fluid lines) in response to determining that the probability of a collision is greater than a threshold (eg, a second threshold, a third threshold).
[0204] The communication module uses vehicle-to-network (V2N), vehicle-to-infrastructure (V2I), vehicle-to-vehicle (V2V), vehicle-to-cloud (V2C), vehicle-to-pedestrian (V2P), vehicle-to-device (V2D), and vehicle-to-grid (V2G) communication systems to achieve in-vehicle communication, communication with other vehicles, infrastructure communication, grid communication, etc. The system then notifies nearby or surrounding vehicles or vehicles communicating with the vehicle's communication module. The vehicle uses, for example, a message protocol so that the message is sent to other vehicles via broadcast.
[0205] In one embodiment, a connection is established between a vehicle and nearby vehicles (i.e., surrounding cars). The vehicle control system detects nearby vehicles. Nearby vehicles are detected by exchanging handshake signals. Handshaking is an automatic process of negotiating to establish a communication channel between entities. The processor sends a start signal through the communication channel to detect nearby vehicles. If there is a vehicle nearby, the processor can receive a confirmation signal from the nearby vehicle. When the confirmation signal is received, the processor establishes a secure connection with the nearby vehicle. The processor can receive a signal from the nearby vehicle at the communication module. The processor can further automatically determine the source of the signal. The processor connects the communication module to the nearby vehicle communication. Then, the processor is configured to send messages to and / or receive messages from nearby vehicles. The signal received by the communication module can be analyzed to identify the source of the signal, thereby determining the location of the nearby vehicle.
[0206] In one embodiment, the system enables two-way communication. The system sends a signal and then receives a signal / communication. In one embodiment, the communication may be a grant of access control to another vehicle. In another embodiment, the communication may be an incremental control communication, e.g., initially controlling the speed up to 10 miles per hour, then increasing to 10 more miles per hour, and so on.
[0207] As a first step of the method according to the invention, a data link is established between the vehicle and a nearby vehicle or any other external device to allow data to be exchanged between the vehicle and the nearby vehicle or any other external device in the form of a two-way communication. This can be done, for example, via a radio link or a data line. Thus, a nearby vehicle or any other external device can receive data from the vehicle, or the vehicle can request data from a nearby vehicle or any other external device.
[0208] In one embodiment, the two-way communication includes means for data collection and is designed to exchange data in both directions. In addition, at least the vehicle includes logic means for collecting data and arranging the data into a specific protocol based on the protocol of the receiving entity.
[0209] Initially, a data link for bidirectional communication is established. The vehicle and nearby vehicles or any other external device can communicate with each other via this data link and thus request or exchange data, wherein the data link can be implemented as a cable link or a radio link, for example.
[0210] Bidirectional communication has various advantages described herein. In various embodiments, data is communicated and transmitted at appropriate intervals, including, for example, 200 millisecond (ms) intervals, 100 ms intervals, 50 ms intervals, 20 ms intervals, 10 ms intervals, or even more frequently and / or in real time or near real time to allow the vehicle to respond to the data or otherwise react to the data. Bidirectional IR communication can be used to facilitate data exchange.
[0211] The apparatus for a vehicle that performs two-way communication according to an embodiment may be by means of a personal area network (PAN) modem. Therefore, a user can access external devices by using a vehicle information terminal, and can store, move, and delete data required by the user.
[0212] In one embodiment, the vehicles may transmit messages via a communication link. It may use any combination of vehicle-to-vehicle (V2V), vehicle-to-everything (V2X), or vehicle-to-infrastructure (V2I) types of communications. In one embodiment, it uses vehicle-to-vehicle (V2V) communications to enable vehicles to wirelessly exchange information (communication), such as information about the vehicle's speed, location, and heading.
[0213] In one embodiment, the messaging protocol includes at least one of Advanced Message Queuing Protocol (AMQP), Message Queuing Telemetry Transport (MQTT), Simple (or Streaming) Text Oriented Messaging Protocol (STOMP), MQTT-S (an extension of open publish / subscribe MQTT), which are widely used in IoT-based technologies and edge networks.
[0214] Figure 3AA large vehicle carrying cargo and attempting to maneuver according to one embodiment is shown. When a large vehicle (such as a truck, semi-trailer, or bus) needs to turn, several problems may arise because the turning radius of a large vehicle is larger than that of a small vehicle, and therefore the maneuverability of a large vehicle is limited. This may make it difficult for a large vehicle to coordinate sharp turns or navigate on narrow streets. In addition, a large vehicle has a larger blind spot than a small vehicle, which may make it difficult for the driver to see pedestrians, cyclists, or other vehicles in their vicinity (including behind) when turning. A large vehicle may need to occupy multiple lanes or even temporarily block traffic to turn safely, which may cause congestion and delays for other drivers. The weight, size (size and shape), and speed of a large vehicle may make it difficult to maneuver; a large vehicle may damage the road surface, other vehicles, curbs, and other infrastructure when turning. Therefore, when large vehicles attempt to turn, they pose a risk to other road users, especially when other road users cannot see or anticipate the trajectory requirements of nearby large vehicles.
[0215] Figure 3B A vehicle is shown being struck by a large vehicle while turning at an intersection according to one embodiment. Large vehicles hitting another vehicle while turning is nothing new, however, another vehicle (which may or may not be an autonomous vehicle) is needed to prevent such accidents. The other vehicle should be able to detect if the large vehicle's turn will affect it and determine a collision avoidance maneuver to avoid any collision.
[0216] In one embodiment, another vehicle can establish communication with the large vehicle, and the large vehicle can share with the other vehicle: the real-time expected turning radius based on the steering angle of the large vehicle and the vehicle type. If the other vehicle is an autonomous vehicle, the autonomous vehicle can execute a computer vision algorithm to infer whether the large vehicle will hit the autonomous vehicle. If the autonomous vehicle is likely to be hit, the autonomous vehicle will attempt to move (e.g., reverse or change lanes). If the autonomous vehicle cannot move and a collision is imminent in the current situation, the autonomous vehicle will notify the driver of the large vehicle to help prevent the collision. The type of vehicle or vehicle type may refer to a large category of vehicles such as cars, trucks, vans, motorcycles, etc., while the model of the vehicle refers to a specific version of a specific vehicle type produced by a manufacturer, with a unique name and features, such as Volvo S60, XC90, XC60 and V90.
[0217] Figure 4AA block diagram of a method for detecting the impact of a large vehicle turning into a lane according to one embodiment is shown. According to one embodiment, a method is provided, including: detecting, by a processor, an intersection and a target vehicle near the intersection via a computer vision module, as shown in 402; determining, by a processor, a current position of a host vehicle and a current position of a target vehicle, as shown in 404; detecting, by a computer vision module, a target turning lane, as shown in 406; estimating, by a processor, parameters of the target vehicle, wherein the parameters of the target vehicle include a vehicle type, a vehicle model, a steering angle, and an expected turning radius, as shown in 408; predicting, by a processor, a motion trajectory of the target vehicle, as shown in 410; determining, by a processor, a boundary of a collision zone to be avoided by the host vehicle, as shown in 412; and determining, by a processor, a collision avoidance action for the host vehicle to avoid the collision zone, as shown in 414. In one embodiment, the method is further configured for a control module of the host vehicle to autonomously perform a collision avoidance action.
[0218] Figure 4B A block diagram of a system for detecting the impact of a large vehicle turning into a lane according to one embodiment is shown. According to one embodiment, a system 440 is provided, including: a processor 442, a computer vision module 444, and a control module 446; wherein the system is operable to: detect target vehicles at intersections and near intersections via the computer vision module by the processor, as shown in 402; determine the current position of the host vehicle and the current position of the target vehicle by the processor, as shown in 404; detect the target turning lane by the computer vision module, as shown in 406; estimate the parameters of the target vehicle via the computer vision module by the processor, wherein the parameters of the target vehicle include vehicle type, vehicle model, steering angle, and turning radius, as shown in 408; predict the motion trajectory of the target vehicle by the processor, as shown in 410; determine the boundary of the impact zone for the host vehicle by the processor, as shown in 412; determine the collision avoidance action for the host vehicle to avoid the impact zone by the processor, as shown in 414. In one embodiment, the system is further configured to autonomously perform the collision avoidance action for the host vehicle to avoid the impact zone. In one embodiment, the host vehicle is an autonomous driving vehicle. According to one embodiment, the system is operable as a component of a host vehicle, and wherein the target vehicle is a large vehicle. According to one embodiment of the system, a current position of the host vehicle and a current position of the target vehicle are detected using a global navigation satellite system GPS. According to one embodiment of the system, the target turning lane is a left turning lane for the target vehicle.
[0219] According to one embodiment, the target vehicle includes one of a semi-trailer, a bus, a sport utility vehicle (SUV), a tractor, a truck, a recreational vehicle, a trailer, and a heavy construction machine.
[0220] According to one embodiment, the system is also operable to detect neighboring vehicles and neighboring lanes. According to one embodiment, neighboring vehicles and neighboring lanes are detected via a computer vision module that includes radar, lidar, camera, GPS, and an artificial intelligence engine that includes a machine learning algorithm.
[0221] Figure 4C A block diagram of a non-transitory computer-readable medium 474 for performing operations to detect the impact of a large vehicle turning into a lane according to one embodiment is shown. The non-transitory computer-readable medium 474 has instructions stored thereon, which can be executed by a computer system 471 to implement the following operations via a software application 476, including: detecting intersections and target vehicles near intersections through a computer vision module, as shown in 402; determining the current position of the host vehicle and the current position of the target vehicle through a processor, as shown in 404; detecting the target turning lane through a computer vision module, as shown in 406; estimating the parameters of the target vehicle through a processor, wherein the parameters of the target vehicle include vehicle type, vehicle model, steering angle, and expected turning radius, as shown in 408; predicting the motion trajectory of the target vehicle through a processor, as shown in 410; determining the boundaries of the impact zone that the host vehicle should avoid through a processor, as shown in 412; determining the collision avoidance action for the host vehicle to avoid the impact zone through a processor, as shown in 414. The non-transitory computer-readable medium is also configured for the host vehicle to autonomously perform a collision avoidance action. Software application 476 may be stored on computer-readable medium 474 and executed by processor 472 of computer system 471 .
[0222] According to one embodiment, a main vehicle / host vehicle is provided, comprising: a processor, a computer vision module and a control module; wherein the processor is operable to: detect intersections and target vehicles near intersections through the control module of the main vehicle; determine the current position of the main vehicle and the current position of the target vehicle through the control module of the main vehicle; detect the target turning lane through the control module of the main vehicle; detect the license plate number of the target vehicle through the control module of the main vehicle; estimate the parameters of the target vehicle through the computer vision module through the control module of the main vehicle, wherein the parameters of the target vehicle include vehicle type, vehicle model, steering angle and turning radius; predict the movement trajectory of the target vehicle through the control module of the main vehicle; establish the boundary of the impact zone for the main vehicle through the control module of the main vehicle; determine the collision avoidance action for the main vehicle to avoid the impact zone through the control module of the main vehicle; and autonomously perform the collision avoidance action by the main vehicle to avoid the impact zone; and wherein the main vehicle is an autonomous driving vehicle.
[0223] According to one embodiment, a system is provided, which is configured to: receive a software application installation package through a computer network; and install the software application on computing hardware associated with a main vehicle; wherein the software application includes an instruction set that can be executed by the computing hardware and stored in a non-volatile storage medium, and when the instruction set is executed, the computing hardware implements the following operations, including: detecting an intersection and a target vehicle near the intersection through a control module of the main vehicle; determining a current position of the main vehicle and a current position of the target vehicle through the control module of the main vehicle; detecting a target turning lane through the control module of the main vehicle; detecting a license plate number of the target vehicle through the control module of the main vehicle; estimating parameters of the target vehicle through the control module of the main vehicle, wherein the parameters of the target vehicle include vehicle type, vehicle model, steering angle, and expected turning radius; predicting a motion trajectory of the target vehicle through the control module of the main vehicle; establishing a boundary of a collision zone that the main vehicle should avoid through the control module of the main vehicle; determining a collision avoidance action of the main vehicle for avoiding the collision zone through the control module of the main vehicle; and autonomously performing a collision avoidance action by the main vehicle.
[0224] Figure 5A is a process flow chart of a method for identifying and classifying one or more objects according to one embodiment of the present invention. Object / object detection is a computer technology related to computer vision and image processing, which is used to detect instances of a certain class of semantic objects in digital images and videos, such as cars, bicycles, road signs, traffic lights, road infrastructure, boundary railings, etc. Object detection in autonomous vehicles also includes face detection, pedestrian detection, etc. The method can start from box 502, where the method can include receiving vehicle dynamics data from a vehicle dynamics sensor. In one embodiment, a data receiving module can communicate with a vehicle dynamics sensor of a vehicle to collect vehicle dynamics data. Specifically, the vehicle dynamics data can include, but is not limited to, vehicle speed data, steering speed data, steering angle data, throttle / throttle angle data, vehicle acceleration data, braking force data, wheel speed data, wheel turning angle data, yaw rate data, gearbox gear data, temperature data, RPM data, global positioning system (GPS) / differential global positioning system (DGPS) data, etc. The vehicle dynamics data can be used to identify the current position of the vehicle, the steering angle of the vehicle, whether the vehicle is moving or at an intersection, etc. The vehicle trip dynamics data may be used to collect data corresponding to the vehicle's ability to perform various maneuvers. The trip-related data may also include data on the route (such as the number of lanes), intersection data (such as whether the intersection is wide, narrow, or prone to accidents), etc. In one embodiment, the data receiving module may package the vehicle dynamics data and store the vehicle dynamics data on a memory.
[0225] The method may proceed to block 504, where the method may include receiving image data from a vehicle camera system. In one embodiment, the data receiving module may communicate with the vehicle camera system to collect uncropped images / video of the vehicle surroundings and portions of the vehicle interior. The uncropped images / video may include 360 degree exterior and interior views of the vehicle and the vehicle surroundings. In one embodiment, the data receiving module may package and store the image data associated with the vehicle trip dynamics data on a memory (block 502).
[0226] The method may continue to block 506, where the method may include receiving LiDAR data from a vehicle laser projection system. In an exemplary embodiment, a data receiving module may communicate with a vehicle laser projection system to collect LiDAR data that classifies object coordinate sets (one or more) (e.g., three-dimensional LiDAR object coordinate sets) of one or more traffic-related objects located within the vehicle's surroundings. The object coordinate set (one or more) may indicate the location, range, and location of one or more objects relative to the vehicle's location / position (pose) from which the reflected laser waves are reflected. In one embodiment, the data receiving module may package and store the LiDAR data associated with the vehicle's trip dynamics data on a memory (block 502).
[0227] The method may continue to block 508, where the method may include fusing the vehicle trip dynamics data, image data, and LiDAR data. In an exemplary embodiment, the data receiving module may communicate with the neural network processing unit to provide artificial intelligence capabilities for multimodal fusion. The data receiving module may utilize one or more machine learning / deep learning fusion processes to aggregate the vehicle trip dynamics data, image data, and LiDAR data stored on the memory by the data receiving module (at blocks 502, 504, 506). The fused data may be evaluated against stored vehicle dynamic parameters, image recognition parameters, and object recognition parameters associated with a plurality of vehicle motion modes stored in the memory and utilized by the neural network.
[0228] Specifically, the neural network processing unit can perform machine learning / deep learning to determine one or more motion patterns from the fused data based on an evaluation of the fused data against stored dynamic parameters, image recognition parameters, and object recognition parameters. Determining one or more motion patterns can occur during each trip of the vehicle during which vehicle trip dynamic data, image data, and LiDAR data are received to determine one or more driving maneuvers. In one embodiment, one or more motion patterns and at least one of the position, range, and location of one or more traffic-related objects, map data, and additional vehicle dynamic data (e.g., steering angle, throttle angle, speed, acceleration, etc.) are evaluated using machine / deep learning techniques, image logic, and LiDAR logic to determine one or more driving maneuvers (e.g., braking, backing, lane change, merging, etc.).
[0229] The method may proceed to block 510, where the method may include evaluating image data associated with the vehicle's external environment and determining one or more image coordinate sets corresponding to one or more object coordinate sets. In one embodiment, the neural network processing unit utilizes one or more machine learning / deep learning fusion processes and image logic to determine one or more image coordinates associated with traffic-related objects located within the vehicle's surroundings. As described above, such traffic-related objects may include, but are not limited to, other vehicles, traffic participants, intersections, road attributes, and roadside objects. The image coordinate set may include a two-dimensional (x, y) coordinate that represents one or more pixels of the image (one or more) / video corresponding to the location of one or more objects within the image (one or more) / video determined by the neural network processing unit. In one embodiment, the neural network processing unit may utilize one or more machine learning / deep learning fusion processes and LiDAR logic to determine one or more object coordinate sets that may be associated with one or more traffic-related objects. As described above, the one or more object coordinate sets may include one or more three-dimensional coordinate sets or geocentric coordinate sets, the one or more three-dimensional coordinate sets or geocentric coordinate sets based on one or more reflected laser waves received by the LiDAR transceiver (one or more).
[0230] The method may proceed to block 512, where the method may include evaluating image data associated with the vehicle's external environment and determining one or more image coordinate sets corresponding to one or more object coordinate sets. In one embodiment, when determining the one or more object coordinate sets, the neural network processing unit may access a preprogrammed LiDAR coordinate map stored on a memory, the preprogrammed LiDAR coordinate map may include one or more image coordinate sets corresponding to the one or more object coordinate sets. The neural network processing unit may utilize the preprogrammed LiDAR coordinate map to determine one or more image coordinate sets of one or more traffic-related objects corresponding to the one or more object coordinate sets of one or more traffic-related objects to accurately determine the portion of the image(s) / video sensed by the vehicle camera system and the vehicle laser projection system that may include the one or more traffic-related objects. Utilizing the preprogrammed LiDAR coordinate map may ensure that one or more traffic-related objects located within the vehicle's surroundings and within the vehicle's path of travel are considered, such as obstacles on the path or types of intersections that are difficult to navigate due to their geometry.
[0231] The method may proceed to block 514, where the method may include identifying one or more portions of the image(s) including the one or more image coordinate sets as object space. In one embodiment, one or more portions of the image(s) / video are identified that represent the one or more image coordinate sets corresponding to the one or more object coordinate sets as object space. In other words, portions of the image(s) / video corresponding to the one or more object coordinate sets of an object reflecting a laser beam wave back to a LiDAR transceiver of a vehicle laser projection system are identified as object space.
[0232] The method may proceed to block 516, where the method may include computing one or more bounding boxes around one or more traffic-related objects. In one embodiment, the method may compute one or more bounding boxes around one or more portions of the object space to distinguish traffic-related objects and other regions of interest within the object space from other portions of the image(s) / video that do not include the one or more traffic-related objects or that do not correspond to the regions of interest. The method may additionally compute feature data associated with the traffic-related objects enclosed within the computed bounding boxes determined by the neural network processing unit. For example, the feature data of the identified vehicle object may include its size and shape, its driver, its visual turn signals, whether it is an autonomous vehicle, etc.
[0233] When one or more bounding boxes around one or more traffic-related objects are calculated, the method may proceed to block 518, where the method may include evaluating the one or more bounding boxes and classifying the one or more traffic-related objects. In one embodiment, the method may utilize a neural network processing unit to evaluate the traffic-related objects enclosed within the one or more calculated bounding boxes. The neural network processing unit may scan the portion of the image(s) / video enclosed within the one or more bounding boxes and may compare the one or more traffic-related objects found within the one or more bounding boxes to a traffic-related object model that may be stored in a memory of the vehicle and utilized by the neural network. The neural network processing unit may compare the traffic-related object(s) found within the one or more bounding boxes and may determine that the one or more traffic-related objects may be located within the environment of the vehicle (e.g., a vehicle, an intersection, a traffic light, a portion of a road, on a road, on a side of a road, etc.).
[0234] In one embodiment, the neural network processing unit may compare the traffic-related object(s) enclosed within one or more calculated bounding boxes to the traffic-related object model to classify the one or more objects captured in the image(s) into various categories, groups, and subgroups. Using the category, group, and subgroup classification system, large vehicles such as commercial trucks may be classified as commercial vehicles, which have groups such as tractor trailers, dump trucks, or box trucks, and subgroups such as flatbed trucks or refrigerated trucks. The classification system may be applied to vehicle identification, for example, passenger vehicles may be classified as sedans, SUVs, or minivans, which further have subgroups such as compact SUVs or full-size SUVs.
[0235] According to one embodiment, the computer vision system may utilize artificial intelligence / machine learning (AI / ML) algorithms to detect intersections, target vehicles near intersections, vehicle types, traffic signals, lanes, lane markings, signage, etc. In one embodiment, it may utilize a bounding box approach. According to one embodiment, intersections are detected by detecting traffic lights. According to one embodiment, traffic lights are detected by at least one of a camera of a computer vision module of a host vehicle and by vehicle-to-infrastructure (V2I) communications.
[0236] Figure 5BAn example of a diagram of a vehicle image is shown with bounding boxes around various regions of interest of the identified objects according to one embodiment. In this example, the computer vision system shows the identified vehicle 530, tires 532, turn signals 534, and draws bounding boxes around the identified regions of interest. The regions of interest can be predefined or learned over time. For example, when it is of interest to know whether the vehicle will turn into the left lane or the right lane, the regions of interest can be defined as tires, the direction of the driver's gaze, signals, lane markings to see if the vehicle is only in the left lane, etc.
[0237] Figure 5C An illustrated example of a vehicle image is shown with 3D bounding boxes surrounding various regions of interest of identified objects in accordance with one embodiment. In one embodiment, a 3D bounding box 540 may also be drawn to better understand and more accurately estimate depth parameters and orientation of the object. In computer vision, 3D bounding boxes provide more information than 2D bounding boxes because 3D bounding boxes provide information about the size, position, and orientation of an object in the 3D world, which is important for various applications in autonomous driving. By using 3D bounding boxes, computer vision systems can more accurately detect and track objects in the environment, enabling more informed decisions and better performance in real-world scenarios.
[0238] In one embodiment, a computer vision system may utilize 2D and 3D methods in a hierarchical manner to first quickly select a region of interest and then attempt to use a 3D bounding box to gain more insight about the object.
[0239] Figure 5D An example of a diagram of a vehicle's surroundings including a bounding box according to one embodiment is shown. As shown, an image includes traffic-related objects (such as vehicles) and their specific regions of interest with bounding boxes 550, traffic lights 552, etc., which are identified based on one or more image coordinate sets corresponding to one or more object coordinate sets. As discussed, the bounding boxes can be used by applications to identify objects in the environment and extract specific details. In one embodiment, the extracted information can be used to predict vehicle turning paths 554 in various scenarios to calculate safety zones and impact zones.
[0240] According to one embodiment, the method or system may estimate the parameters of the target vehicle through a control module of the host vehicle via a computer vision module, wherein the parameters of the target vehicle include vehicle type, vehicle model, steering angle, and turning radius.
[0241] According to one embodiment, the parameters of the target vehicle further include the size, speed, acceleration, yaw rate and orientation of the target vehicle.
[0242] According to one embodiment, parameter estimation of the target vehicle is performed via a computer vision module including a camera, a lidar, a GPS, a radar, and an artificial intelligence engine including a machine learning algorithm.
[0243] Figure 5E An example of a vehicle including a bounding box around a region of interest combined with edge detection according to one embodiment is shown. Once the bounding box is focused on the region of interest, specific features of the region of interest can be further analyzed to obtain more details of the object. For example, once a tire is identified, the bounding box size and features extracted using edge detection (such as tire spokes and rim) can be used to understand the tire orientation. When the wheel has an orientation, the rim and tire boundary can be elliptical instead of circular, and can therefore be used to estimate the steering angle.
[0244] To identify objects in an image, the following steps may be performed. (i) Object Detection: The first step is to detect objects in the image. In one embodiment, a deep learning based object detection algorithm such as YOLO, FasterR-CNN, or SSD may be used to detect objects in an image. (ii) Object Classification: Once an object is detected, the object is classified based on training or based on unsupervised learning. (iii) Bounding Box Generation: After classification, a bounding box is generated around the object to understand the size, location, and orientation of the object. A bounding box is typically represented as a rectangle centered on the object. It can be a 2D or 3D bounding box. (iv) Refinement: In some cases, the bounding box may not accurately contain the object. Refinement techniques are used to adjust the size and location of the bounding box to fit the object more accurately. Bounding box refinement techniques used in object detection algorithms may include non-maximum suppression, Intersection over Union (IoU) thresholding, anchor boxes, regression, and scale and aspect ratio refinement, which can improve the accuracy and robustness of the model. (v) Output: The final output is a set of bounding boxes around the objects detected in the image.
[0245] According to one embodiment, the machine learning algorithm is at least one of Region-based Convolutional Neural Networks (R-CNN), RetinaNet, You Only LookOnce (YOLO), and Single Shot Multibox Detector (SSD).
[0246] During object detection, the identification of an object and the generation of a corresponding bounding box for the object can occur together in a single step and concurrently. In order to detect features of a vehicle using a bounding box approach, a computer vision algorithm can identify the edges and outlines of an object (e.g., a vehicle) within an image or video frame. This can be done using techniques such as edge detection, feature extraction, or deep learning algorithms such as convolutional neural networks (CNNs). Once the edges and outlines of the vehicle are identified, the algorithm draws a bounding box around the vehicle to identify the location and size of the vehicle in the image. The bounding box can be refined and adjusted as needed to improve the accuracy of the detection. Once the bounding box is drawn, additional information about the vehicle, such as the make and model, location, orientation, and speed of the vehicle, can be extracted. This information can be used to track the vehicle over time, predict the future movement of the vehicle, and make decisions about how to safely interact with the vehicle on the road.
[0247] In one embodiment, the control module of the host vehicle determines the current position of the host vehicle through GPS and determines the current position of the target vehicle through at least one of radar, lidar, and camera. The autonomous vehicle uses a combination of GPS, lidar, camera, inertial measurement unit, and map data to detect the location of the autonomous vehicle and the location of neighboring vehicles. According to one embodiment, the current position of the target vehicle is determined in real time via a computer vision module of the host vehicle, which includes a camera, lidar, GPS, and radar.
[0248] Fig. 5F A block diagram of a lane detection system according to one embodiment is shown. A lane detection system for a vehicle includes a camera disposed on the vehicle so as to have a field of view in front of the vehicle. The camera captures image data. A non-visual sensor / non-vision-based sensor is disposed on the vehicle so as to have a sensing field in front of the vehicle. The non-visual sensor captures sensor data. A controller includes at least one processor operable to process image data captured by the camera and sensor data captured by the non-visual sensor. The controller detects visible lane markings drawn on a road along which the vehicle is traveling in response to processing the captured image data. The controller detects road embedded elements disposed along the road in response to processing the captured sensor data. The controller determines at least a lane along which the vehicle is traveling based on the detected lane markings or the detected road embedded elements. Fig. 5FA block diagram of a lane detection system according to one embodiment is shown. Lane marking data from a camera (one or more visual sensors / vision-based sensors) is fused in a sensor fusion module with lane marking and object positioning data from one or more non-visual sensors (e.g., lidar, radar, ultrasonic sensor, etc.). When lane markings are missing or covered by snow or heavy rain at night, the system can still use the output of non-visual sensors to output reliable lane position information. Typically, an autonomous vehicle will be equipped with a set of sensors, including multiple machine vision cameras deployed at the front, sides, and rear of the vehicle, multiple radar sensors deployed at the front, sides, and rear of the vehicle, and / or multiple lidar sensors deployed at the front, sides, and rear of the vehicle. All sensors can be used to detect lanes based on regions of interest. In one embodiment, the system can use image data captured by a camera as a way to detect lane markings and determine road lanes (when lane markings are exposed and viewable by the camera), and in such cases (when the camera is able to detect lane markings) non-visual sensor data may or may not be used. When it is determined that lane markings are worn, or blurred, or cannot be viewed, the system can utilize sensor data sensed by non-vision sensors to detect lane objects or elements disposed on or in the roadway.
[0249] According to one embodiment of the system, lanes next to the host vehicle are detected via a computer vision module including radar, lidar, camera, GPS, and an artificial intelligence engine including a machine learning algorithm.
[0250] Sensor fusion is the process of combining data from multiple sensors to improve the accuracy, reliability, and efficiency of the information collected. It involves integrating information from different sources (e.g., cameras, radar, lidar, and other sensors) to obtain a more complete and accurate picture of the environment. Sensor fusion can reduce the errors and uncertainties that can arise from using a single sensor and provide a more complete understanding of the world around us. By combining data from multiple sensors, autonomous vehicle systems can make more intelligent decisions and respond to changing conditions in real time. The sensor fusion process typically involves several steps, including data acquisition, signal processing, feature extraction, data association, and estimation. Depending on the application and the specific sensors used, different algorithms and techniques can be used to integrate information from multiple sensors.
[0251] According to one embodiment, AI-based lane / object detection can be used in conjunction with sensor fusion technology. Some algorithms suitable for lane detection include, but are not limited to: (i) Hough Transform: The Hough Transform algorithm is a classic lane detection method that works by identifying straight lines in an image. The Hough Transform can be used to detect the edges of lane markings and estimate the location and orientation of lanes. (ii) Convolutional Neural Network (CNN): CNN is a deep learning algorithm widely used for lane detection. The neural network is trained on lane data obtained from various sensors to identify the characteristics of lane markings, such as the color, shape, and texture of lane markings. Once the network training is complete, it can be used to detect and classify lanes in real time. (iii) Support Vector Machine (SVM): SVM is a machine learning algorithm that works by learning the boundaries that separate lane markings from the rest of the image. The SVM algorithm can be trained using labeled data to create a model. The model is then used to detect the location and orientation of the lane. (iv) Markov Random Field (MRF): MRF is a probabilistic graphical model that identifies the location and orientation of lane markings by modeling the relationship between neighboring pixels in an image. MRF can be combined with other algorithms (such as CNN or SVM) to create a more powerful and accurate lane detection system.
[0252] The system may provide an output indicating one or more lanes that have been determined (determined based on processing of captured image data or processing of captured sensor data). The output may be used to determine whether other vehicles are allowed to turn into the lane, whether the lane is narrow enough or wide enough to determine the gap for the turning vehicle. The output is provided to the vehicle's driver assistance system to provide a warning or caution notice when other vehicles turn into those identified lanes. Optionally, the output may be provided to an autonomous vehicle control system, thereby automatically controlling the vehicle to follow the action, i.e., maintain the lane, change lanes, or reverse, etc., to avoid any impact from other vehicles. For autonomous vehicles, in certain circumstances, the occupants of the vehicle may be expected or required to take over the operation / control of the vehicle and drive the vehicle in order to avoid potential danger as long as the autonomous system relinquishes such control or driving. Therefore, the occupants of the vehicle become the drivers of the autonomous vehicle.
[0253] In one embodiment, the control module of the host vehicle detects the target turning lane via detecting the turn signal light. In one embodiment, the target turning lane can be detected via detecting the driver's face and the driver's gaze direction.
[0254] In one embodiment, the method identifies the presence and location of human faces within an image or video via a facial detection method using a computer vision system. In one embodiment, the facial detection method may include at least one of a Haar Cascade Classifier, a Histogram of Oriented Gradients (HOG), a Convolutional Neural Network (CNN), a Viola-Jones algorithm, a Deep Residual Networks (ResNets), and a Multi-Task Cascade Convolutional Network (MTCNN). The selection of the method is based on the accuracy and speed of the detection. Detecting the direction in which the driver may be looking is a subtask of facial detection and requires additional processing beyond standard facial detection techniques. Some methods that can be used to detect the direction of a person's gaze based on facial detection include eye tracking, head pose estimation, facial landmarks, and methods based on deep learning.
[0255] According to one embodiment of the system, the target turning lane that the target vehicle is merging into is detected by detecting the face and gaze direction of the driver of the target vehicle using a facial detection algorithm. According to one embodiment of the system, the camera is operable to capture an image of the driver of the target vehicle. According to one embodiment of the system, the image of the driver is analyzed using a computer vision algorithm (which includes graphic recognition technology) to detect humans, human facial features (at least one of eyes, nose, mouth) and facial contours, ears, hair. According to one embodiment of the system, the target turning lane is detected by detecting the gaze direction of the driver of the target vehicle via a computer vision module. According to one embodiment of the system, the target turning lane is detected by the host vehicle via a computer vision module by tracking the movement and positioning of the target vehicle over time. According to one embodiment of the system, the target turning lane is detected by the host vehicle via a sensor by detecting the speed and direction of movement of the target vehicle, wherein the sensor is at least one of a radar and a lidar.
[0256] Figure 5G An example method for real-time image-based turn signal detection according to one embodiment is shown. The method is applicable to detecting any flashing lights, such as traffic lights, stop lights, etc. A method for real-time image-based turn signal detection for a self-driving vehicle is provided. The method can be performed to detect a turn signal associated with a vehicle. The method shows real-time image-based turn signal detection for a self-driving vehicle. However, it is understood that in other embodiments, Figure 5G The blocks in the diagram may appear in different orders, and blocks may be added, subtracted or modified. Additionally, the blocks of the process or method may be executed in a linear manner (as shown) or in parallel (not shown).
[0257] Block 582 includes receiving an image of a field of view of a vehicle via an autonomous vehicle including an imaging system. The imaging system is configured to capture (i) a static image or (ii) a video of a field of view in front of the vehicle. The imaging system stores the captured image or data as data in a memory. If the data corresponds to a video, a single frame may be extracted from the video for analysis. In addition, multiple video frames may be analyzed sequentially or in parallel.
[0258] The image received at box 584 may be an image captured using a short exposure time and a relatively fast shutter. When an image is captured using a short exposure time and a relatively fast shutter, the image appears quite dark. Only the brightest points within the field of view of the camera will be displayed in the image captured in this manner. For example, when a camera captures an image of the field of view of a vehicle using a short exposure time and a relatively fast shutter, the image typically appears almost completely black, with only illuminated objects appearing in the image. Therefore, the image may only include illuminated taillights, turn signal indicators, traffic signals, and other objects. Box 584 includes determining a boundary region for the vehicle in the image. The boundary region defines the region within the image where the vehicle is located. For example, when the image is captured by a static or video camera, the image may contain a vehicle within the field of view of an autonomous vehicle. The boundary region defines the region of the image where the vehicle is located. Therefore, the vehicle in the captured image fits within the boundary region. Each vehicle in the captured image may have its own corresponding boundary region. In some cases, the boundary region corresponding to one vehicle may overlap with the boundary region corresponding to another vehicle. In these cases, the processing system will determine which vehicle is in the foreground and which vehicle is in the background. Since the vehicle in the foreground is completely within the field of view, it will be completely contained within the bounding area. The vehicles in the background will be partially obscured by the foreground vehicle, so their corresponding bounding areas may be clipped so that only the corresponding vehicles are contained within the bounding area. In one example, a vehicle with an active turn signal turned on may pass in front of another vehicle. Due to the overlap in the bounding boxes, the flashing lights of the farther vehicle appear within the bounding box of the closer vehicle in the image. Therefore, the turn signal detection system will determine which vehicle the flashing turn signal is associated with. Since the turn signal detection template looks for flashing pixel groups with a certain size relative to each vehicle, it will not associate the flashes with nearby vehicles because the size of the pixel groups is incorrect for nearby vehicles, and the oscillating pixel groups are too small. In one embodiment, the processing system in the vehicle will analyze the captured image to determine whether the captured image contains a depiction of a vehicle. However, in other embodiments, the processing system in the vehicle may already know the location of the vehicle within the image based on other sensors of the autonomous vehicle. Other sensors of the autonomous vehicle can record the location of vehicles located near the autonomous vehicle to the memory. For example, a combination of a laser system and a radar system can detect the location of vehicles near the autonomous vehicle. These vehicle locations can be stored in the memory. The processing system can retrieve the data stored in the memory of the vehicle. Based on the stored data, the processing system can determine the boundary region for any corresponding vehicles located in the image. According to one embodiment of the system, the target turning lane is detected by detecting a turn signal on the target vehicle via a computer vision module.
[0259] Block 586 includes identifying a group of pixels in the image. The turn signal detection system may search the boundary region of the short exposure time image to determine at least one group of pixels in the image. Since the boundary region corresponds to the maximum range of the vehicle in the image, any turn signal indication corresponding to the vehicle will be located within the boundary region. Additionally, since the image has a short exposure time and a fast shutter, bright objects in the field of view of the vehicle will appear in the image. The turn signal of the vehicle in the image will appear as a group of pixels within the boundary region of the captured image. In some cases, the boundary region may contain groups of pixels corresponding to objects other than turn signals. For example, the vehicle may reflect sunlight to the camera, or the vehicle may have rear brake lights. Each of these objects may also appear as a group of pixels within the boundary region. The turn signal detection system will analyze each group of pixels to determine whether it is an active turn signal indication. In order to determine whether each group of pixels corresponds to an active turn signal indication, the color of the pixels in each group of pixels may be determined. As previously described, since turn signals are typically red or amber (yellow), each group of pixels may be analyzed based on the individual color components of the pixel group. For example, the captured image may be divided into separate images for each color channel. To determine whether a group of pixels indicates a turn signal or whether a group of pixels indicates a different light source (such as sun glare), the target color channel may be compared to the undesirable color channel.
[0260] In one example, if each group of pixels indicates the presence of red or amber, then the group of pixels may be a turn signal indication. However, if the group of pixels also indicates the presence of an undesirable color (such as blue), then the group of pixels may not indicate a turn signal (because blue is not a color component of a turn signal). The presence of both the desired color (red or amber) and the undesirable color indicates that the group of pixels is caused by a light source with a richer color spectrum than the turn signal, typically such a richer color spectrum light source is glare from the sun or other light sources. Therefore, block 586 determines at least one group of pixels that may correspond to a turn signal.
[0261] At box 588, the oscillation of the pixel group is calculated. The turn signal indication has three different signal modes. In the first two operating modes, the turn signal indication has a stable intensity that is either high or low. However, having a relatively stable intensity indicates that the turn signal is not currently active because the active turn signal is flashing. The third signal mode is an oscillation from high intensity to low intensity. The oscillation from high intensity to low intensity indicates that a vehicle within the boundary area may have an active turn signal. Typically, the oscillation of a turn signal is between about 0.75 and about 2.5 Hz. Therefore, at box 588, if the intensity of the pixel group oscillates between about 0.75 and about 2.5 Hz, the pixel group may be considered a turn signal indication.
[0262] At box 590, the likelihood that the vehicle has an active turn signal indication is calculated. A three-part test can be used for the likelihood that a group of pixels is a turn signal. First, the pixel should have a color corresponding to the turn signal color (as identified at box 586), the pixel should have an oscillation between about 0.75 and about 2.5 (as calculated at box 588), and the pixel group should have a shape that fits within the template shape. The oscillation of the pixel group from high intensity to low intensity indicates the likelihood of an active turn signal; however, if a single boundary area has two (or more) groups of pixels with the correct color and oscillation, the pixel group may indicate a tap of the emergency flashers on the vehicle or a brake indication on the vehicle. In addition, the template shape can be configured to detect groups of pixels that form shapes that are generally similar to rectangles or circles, while groups of pixels that form thin lines may be rejected. Pixels that form thin lines are likely not turn signals, but rather indicate the presence of other light sources, such as glare. Besides sun glare, another common situation is when a vehicle passes under the shadow of a tree or bridge, where the signal will appear to flicker, but a combination of the above checks rules this out (because the oscillation may not have strong enough intensity changes, the oscillation may not have the correct frequency, etc.).
[0263] Therefore, to detect a possible turn signal indication, the processing system determines whether there is a group of pixels with a given boundary area that has both the correct pixel color and the oscillation intensity. In some embodiments, the processing system looks for the brightest group of pixels in each half of the boundary area. In addition, the image may contain a second group of oscillating pixels corresponding to a different boundary area. If only the group of pixels on one side oscillates over time, it is considered a turn signal. If both sides oscillate, it may be considered an emergency flasher. Although brake taps do not oscillate at the correct frequency, they can still be detected, and they rarely oscillate more than once. The processing system increases the confidence in the prediction of the turn signal when multiple flashes are observed. When a second group of oscillating pixels corresponding to a different boundary area is detected, this may indicate the possibility that the second vehicle also has an active turn signal indication. In response to determining the possibility that at least one other vehicle has an active turn signal indication, the control strategy of the autonomous driving vehicle can be modified.
[0264] In one embodiment, the license plate number of the target vehicle is detected by the control module of the host vehicle. License plate detection: License plate detection is one of the functions of an autonomous vehicle, which enables the vehicle to recognize and identify other vehicles on the road. License plate detection can be implemented using a combination of cameras, sensors, and software algorithms. According to one embodiment of the system, the vehicle type is determined from the license plate number of the target vehicle by referencing a database.
[0265] In one embodiment, an autonomous vehicle equipped with a camera acquires images of the surrounding environment, including other vehicles on the road. The images acquired by the camera are processed using a computer vision system using image processing algorithms to identify license plates. This involves analyzing the unique shape and pattern of the license plate in the image. Once the license plate is identified, optical character recognition (OCR) software is used to extract alphanumeric characters from the license plate. This involves analyzing the specific shapes and patterns of the characters in the image and then converting those patterns into text or numbers. The extracted license plate number can then be used to look up information about the vehicle in a database via a database lookup. In one embodiment, the details can include, but are not limited to, the make and model of the vehicle, the registered owner, the turning radius, the maximum weight, and the maximum speed. The autonomous vehicle can then use the information obtained from the license plate detection to calculate and predict the turning radius and turning trajectory. In one embodiment, license plate detection can also be used to track the movement of a single vehicle.
[0266] The parameters of the target vehicle are estimated by a control module of the host vehicle, wherein the parameters of the target vehicle include vehicle type, vehicle model, steering angle, and expected turning radius. In one embodiment, the vehicle type and vehicle model can be retrieved from a database based on the license plate number. In another embodiment, the image processing module can detect the vehicle type and vehicle model based on an image from a camera, vehicle size, vehicle color, vehicle features, vehicle size, and shape. According to one embodiment of the system, the vehicle type and vehicle model are detected by a computer vision module including an artificial intelligence engine, and the artificial intelligence engine includes a machine learning algorithm.
[0267] In one embodiment, the method includes establishing, by a control module of the host vehicle, boundaries of an impact zone that the host vehicle should avoid. In one embodiment, the steering angle is detected or estimated via image processing. Figure 5H A method for estimating a future heading of a vehicle based on an estimated steering angle is shown. The method includes receiving sensor data, the sensor data including information identifying a bounding box to represent a target vehicle in the host vehicle environment and the location of sensor data points corresponding to the target vehicle, as shown in 592. Identifying a region corresponding to a front tire of the target vehicle based on the size of the bounding box, as shown in 594. Estimating the orientation of the tire based on the sensor data points located within the region, and estimating the steering angle corresponding to the orientation of the tire, as shown in 596. As shown in Figure 5E As discussed in , detecting tire features (such as rims, spokes, shapes, etc.) may help detect the orientation of the tire and estimate the steering angle. The future heading of the vehicle is determined based on the estimation of the steering angle, as shown in 598. The future heading may produce a turning trajectory of the target vehicle.
[0268] In one embodiment, the turning trajectory is based on a computational model or a simulation model. There are many computational models, such as, etc., to calculate the trajectory of the vehicle at the expected steering angle. According to one embodiment of the system, a deterministic motion model is used to predict the motion trajectory of the target vehicle.
[0269] Fig.5I A method for estimating turning trajectories and calculating impact zones using one of the computational models listed herein or other computational models according to one embodiment is shown. In one embodiment, these models can be installed locally or accessed in real time through a cloud server. Fig.5I As shown, the radius from the pivot point or 0-point to the inside is used to calculate the turning radius trajectory in the turning scenario. The pivot point or 0-point is such a point, that is, the point where the vertical / orthogonal line 5100 (common to the rear tires) and 5102 (left front tire) and 5104 (right front tire) (two front tires) of the wheel centerline meet. It represents the point around which the wheel rotates and follows the path. If the steering wheel angle is maintained at the same angle (the pivot point is calculated based on this angle), the vehicle will form a circular path with a minimum turning radius as shown in 5100 and a maximum turning radius as shown in 5102. The vertical / orthogonal line of the wheel does not necessarily pass through the outermost corner of the body / car body. In such cases, the extreme points of the vehicle should be considered, and the extreme points of the vehicle will follow the maximum radius. Any area falling between the two circles shown as radii 5100 and 5102 will be located in the impact zone. Any area not between the two concentric circles will be located in the safety zone. In one embodiment, there will be a margin 5106 that can be added to the minimum turning radius to determine the boundaries 5108 of the safety zone, which is shown as a grey filled area.
[0270] However, when a vehicle turns, the steering angle and vehicle speed will change. Therefore, the safety zone may also change based on the changing steering angle and speed. In one embodiment, the safety zone is calculated using the predicted maximum and minimum steering angles for the target vehicle. In one embodiment, the safety zone is dynamically changed based on the observed steering angle changes when the target vehicle turns. In one embodiment, more than one trajectory will be calculated based on the expected turning radius changes; and a minimum enclosing safety zone will be considered. In one embodiment, once a large vehicle begins to turn, it will communicate with other vehicles that may be affected.
[0271] According to one embodiment, the host vehicle uses a computational model to calculate a turning radius based on an expected or predicted steering angle. According to one embodiment, the host vehicle is operable to use a simulation model to obtain a turning radius based on an expected or predicted steering angle.
[0272] According to one embodiment, the turning radius may be calculated using the following methods: (i) Geometric method: The turning radius may be calculated using a basic geometric formula that takes into account the vehicle's wheelbase, track width, and steering angle. This method requires precise measurements and assumes that the vehicle follows a circular path when turning. (ii) Simulation: The turning radius may be calculated using computer simulation software that simulates vehicle dynamics and vehicle behavior during turning. This method allows for consideration of more complex and realistic scenarios, such as different road conditions, vehicle speeds, and driver behavior. (iii) Test circuit / track measurements: The turning radius may be directly measured by driving the vehicle through a controlled test circuit that is designed to simulate different turning scenarios. The vehicle's data may be retrieved and used, or the AI / ML model may use this data during training to predict turning behavior. (iv) Field observation: The turning radius may be estimated based on empirical observations of the vehicle's turning behavior in the field. Such data may be collected by the autonomous vehicle over a period of time and may be used to train the AI / ML model and make predictions using the trained AI / ML model.
[0273] Figure 5J A method for estimating a turning trajectory of a vehicle with a pivot joint and calculating a crash zone according to one embodiment is shown. According to this embodiment, when there is a pivot joint or any flexible joint for the trailer line to have two different trajectories, the crash zone and the safety zone are calculated considering the minimum radius 5110 and the maximum radius 5112 of all trajectories described by the vehicle points. The area between the two circles of the minimum radius 5110 and the maximum radius 5112 is the crash zone. In one embodiment, the boundary separating the crash zone and the safety zone can be an open trajectory.
[0274] In one embodiment, the motion trajectory of the target vehicle is predicted by the control module of the host vehicle based on vehicle parameters, including vehicle type, vehicle model, steering angle, speed, and expected turning radius.
[0275] Figure 5KThe trajectory of a stationary vehicle on the path of a semi-trailer impacting the trailer axle behind it is shown according to one embodiment. Therefore, when planning the safety zone, the two parts of the semi-trailer (in this case, the cab and the attachment) should be analyzed by depicting the trajectory of each trailer attachment. If there is more than one, the innermost and outermost trajectories form the impact zone. Once the impact zone and its boundaries are known, the area outside the impact zone can be considered as a safety zone. In one embodiment, a safety margin can be added from the innermost and outermost trajectories to calculate a better safety zone by accommodating the changes that may occur during actual turns of large vehicles. The safety margin can be a preset value, which is based on the identified size and model of the vehicle. The safety margin can also be determined from past data in the form of the autonomous vehicle observing and learning the vehicle based on the vehicle's experience over a period of time. In one embodiment, once the safety zone or impact zone is calculated, the other zone can be derived with or without a safety margin.
[0276] Figure 5L The trajectory, impact zone, and safety zone of a semi-trailer according to one embodiment are shown. According to one embodiment, lane data can be used to derive a boundary for determining a safety zone. A boundary 5120 with a safety margin determined by the inner radius or minimum radius of the turn is combined with a lane divider / lane separator 5122. The boundary separating the impact zone and the safety zone is formed by the boundary 5120 and the lane divider 5122. In one embodiment, the boundary can be an open trajectory. The boundary 5120 combined with the lane divider 5122 separates the safety zone from the impact zone. In one embodiment, the boundary dividing the safety zone can be a straight boundary 5123, a certain distance from the intersection. The straight line 5123 combined with the lane divider 5122 can form a safety zone. The impact zone is an area that needs to be avoided by the main vehicle.
[0277] According to one embodiment, when the target vehicle begins to move, the host vehicle continuously updates the boundary for the impact zone. According to one embodiment, the boundary delineates at least one of an open area and a closed area, wherein the boundary separates the area around the host vehicle into a safety zone and an impact zone.
[0278] According to one embodiment, the collision avoidance action includes determining, by a control module of the host vehicle, a collision avoidance action for the host vehicle to avoid the impact zone, and autonomously performing the collision avoidance action by the host vehicle or any other vehicle when the large vehicle turns. Once the impact zone and the safety zone are calculated, the host vehicle maps its current position to find out whether the host vehicle is located in the impact zone. If the host vehicle is located in the impact zone, it can perform the collision avoidance action. According to one embodiment, the collision avoidance action includes generating an alert in the host vehicle, wherein the alert is at least one of a text message, a visual prompt, an audible alert, a tactile prompt, and a vibration. According to one embodiment, the collision avoidance action includes at least one of initiating a reverse movement by the host vehicle and initiating a lane change by the host vehicle.
[0279] According to one embodiment, the collision avoidance action includes broadcasting a message to neighboring vehicles, wherein the message includes instructions to maneuver the neighboring vehicles using collective and coordinated action to clear the impact zone.
[0280] According to one embodiment, the collision avoidance action includes alerting the target vehicle that a collision is imminent.
[0281] According to one embodiment, the collision avoidance action includes at least one of generating an alarm in the host vehicle and initiating a reverse movement by the host vehicle. Before performing such an action, the host vehicle will detect a vehicle behind the host vehicle.
[0282] According to one embodiment, the collision avoidance action includes initiating a lane change by the host vehicle. Before performing such an action, the host vehicle will detect whether there is an available lane next to it to perform such an action. It will also ensure that doing so will not cause a collision with vehicles in other lanes.
[0283] According to one embodiment, the collision avoidance maneuver is determined and executed in real time until the target vehicle merges safely into the target turning lane. According to one embodiment, the collision avoidance maneuver is determined via a computer vision module including an artificial intelligence engine, the artificial intelligence engine including a machine learning algorithm.
[0284] Fig. 6A A method for detecting that a large vehicle is turning and will impact a vehicle and taking action by an autonomous vehicle is shown. The method detects intersections and lanes at step 602, detects large vehicles at step 604, detects turn signals at step 606, performs facial detection to predict which direction the large vehicle will turn, and this information can be obtained by connecting with the large vehicle at step 606. The large vehicle can communicate with the autonomous vehicle, and the host vehicle can obtain information about the steering angle and turning radius via V2V communication at step 608. In addition, the autonomous vehicle can calculate this information on its own using a camera vision system. Based on the steering angle, the weight of the large vehicle, the vehicle type, and the vehicle model, the autonomous vehicle determines a safety zone at step 610. At step 612, the autonomous vehicle determines whether the autonomous vehicle is in a safety zone. If the autonomous vehicle is not in a safety zone, that is, it is in an impact zone, the autonomous vehicle can detect nearby vehicles at step 614 and communicate with them to take coordinated actions. If the autonomous vehicle finds space to move to the side / next lane or reverse, the autonomous vehicle will do so at step 616 to avoid the impact zone. If the autonomous vehicle cannot be disengaged from the impact zone at both step 614 and step 616, or steps 614 and 616 cannot be performed, the autonomous vehicle may let the large vehicle know of the possible collision at step 618 so that the large vehicle stops attempting to turn or the large vehicle may adjust its parameters so as not to impact any other vehicles.
[0285] According to one embodiment, a method is provided, including: detecting a large vehicle approaching an intersection through a control module of an autonomous vehicle; establishing communication with the large vehicle through the control module of the autonomous vehicle; receiving the model number, vehicle type, and turning radius of the large vehicle in real time through the control module of the autonomous vehicle; calculating, through the control module of the autonomous vehicle, an impact zone of the large vehicle when navigating a turn using a computer vision algorithm and based on the turning radius; determining, through the control module of the autonomous vehicle, a current position of the autonomous vehicle; mapping, through the control module of the autonomous vehicle, the current position and impact zone of the autonomous vehicle to determine a collision probability; and performing an action through the control module of the autonomous vehicle, wherein the action includes at least one of: generating an alarm in the autonomous vehicle; initiating a first reverse movement through the autonomous vehicle; initiating a first lane change through the autonomous vehicle; maintaining the current position of the autonomous vehicle; alerting the large vehicle of the impact zone, the current position of the autonomous vehicle, and the collision probability; and broadcasting a message to neighboring vehicles, wherein the message includes the impact zone, the collision probability, and instructions regarding the neighboring vehicles performing at least one of a second lane change, lane maintenance, and a second reverse movement to clear the impact zone in order to take collective and coordinated actions; and wherein the method is operable to predict an impact zone for a large vehicle making a turn and perform actions for collision avoidance.
[0286] According to one embodiment of the system, the host vehicle may calculate a minimum turning radius of the intersection. According to one embodiment of the system, the host vehicle communicates the minimum turning radius of the intersection to the target vehicle. According to one embodiment of the system, the host vehicle extracts a lower edge along the length of the target vehicle using a bounding box algorithm via a computer vision module; and calculates the boundary of the impact zone based on the turning radius mapped from the lower edge along the length of the target vehicle on a side facing the host vehicle, the steering angle, speed, and acceleration of the target vehicle, wherein the speed and acceleration are estimated by the host vehicle.
[0287] According to one embodiment of the system, the host vehicle is operable to detect changes in the speed, acceleration and steering angle of the target vehicle and update the boundaries of the impact zone in real time. According to one embodiment of the system, the host vehicle is operable to establish communication with the target vehicle to obtain the steering angle, speed, acceleration and update the boundaries of the impact zone in real time as the target vehicle moves.
[0288] According to one embodiment of the system, the host vehicle is operable to establish communication with the target vehicle and continuously update the boundaries of the impact zone as the target vehicle moves to merge into the target turn lane. According to one embodiment of the system, the host vehicle establishes communication with the target vehicle and requests an adjustment of the motion trajectory when merging into the target turn lane. According to one embodiment of the system, the adjustment includes at least one of a steering angle, a steering rate, a speed, and an acceleration.
[0289] According to one embodiment of the system, the host vehicle establishes communications with neighboring vehicles and provides boundaries of an impact zone for a target vehicle merging into a target turn lane.
[0290] Figure 6B A large vehicle 640 (large vehicle) is shown broadcasting a message 642 to a vehicle that may be hit during a turn. The communication may be a V2V communication or a network-based communication. The communication message may include specific turning parameters and / or a safety margin (as shown at 644) required for the vehicle to safely turn. The safety margin value may depend on the type of vehicle. In one embodiment, the host vehicle 646 may calculate safety parameters based on the information received from the large vehicle 640 via the communication message 648.
[0291] According to one embodiment of the system, the communication module enables at least one of vehicle-to-vehicle (V2V) communication, vehicle-to-infrastructure (V2I) communication, vehicle-to-everything (V2X) communication, and vehicle-to-network communication. According to one embodiment of the system, vehicle-to-vehicle (V2V) communication is based on a wireless communication protocol using at least one of dedicated short-range communication (DSRC) and cellular vehicle-to-everything (C-V2X) technology. According to another embodiment of the system, V2X communication includes at least one of vehicle-to-network (V2N), vehicle-to-grid (V2G), vehicle-to-device (V2D), and vehicle-to-pedestrian (V2P). According to one embodiment of the system, communication includes transmitting at least one of data, instructions, messages, and information, wherein the communication module supports the communication protocol. The communication protocols include Advanced Message Queuing Protocol (AMQP), Message Queuing Telemetry Transport (MQTT) protocol, Simple (or Streaming) Text-Oriented Message Protocol (STOMP), Zigbee protocol, Unified Diagnostic Service (UDS) protocol, Open Diagnostic Exchange Format (ODX) protocol, Internet Protocol Diagnostics (DoIP), On-Board Diagnostics (OBD) protocol and at least one of predefined protocol standards.
[0292] Fig. 7A A block diagram of a method for detecting the impact of a large vehicle turning into a lane is shown according to one embodiment.
[0293] According to one embodiment, a method is provided, including: at step 702, detecting a target vehicle approaching an intersection by a processor of a host vehicle; at step 704, detecting a target turning lane by a computer vision module; at step 706, establishing communication with the target vehicle by the processor via a communication module; at step 708, receiving parameters of the target vehicle by the processor, wherein the parameters of the target vehicle include vehicle type, vehicle model, steering angle, and expected turning radius; at step 710, determining a current position of the host vehicle and a current position of the target vehicle by the processor; at step 712, predicting a motion trajectory of the target vehicle by the processor of the host vehicle; at step 714, determining a boundary of a collision zone for the host vehicle by the processor; and at step 716, determining a collision avoidance action for the host vehicle to avoid the collision zone by the processor. In one embodiment, the system is configured for the host vehicle to autonomously perform a collision avoidance action to avoid the collision zone.
[0294] In one embodiment, the parameters of the target vehicle include vehicle type, vehicle model, steering angle can be estimated by the host vehicle, and turning radius can be received from the target vehicle via communication. In one embodiment, the weight of the target vehicle, additional accessories such as trailers, etc. can also be received from the target vehicle.
[0295] Figure 7B A block diagram of a system for detecting the impact of a large vehicle turning into a lane is shown according to one embodiment.
[0296] According to one embodiment, a system 740 is provided, comprising: a processor 742, a computer vision module 744, a control module 746, and a communication module 748; wherein the processor is operable to: at step 702, detect a target vehicle approaching an intersection through the computer vision module; at step 704, detect a target turning lane through the computer vision module; at step 706, establish communication with the target vehicle through the communication module through the processor; at step 708, receive parameters of the target vehicle through the processor, wherein the parameters of the target vehicle include vehicle type, vehicle model, steering angle, and expected turning radius; at step 710, determine the current position of the host vehicle and the current position of the target vehicle through the processor; at step 712, predict the motion trajectory of the target vehicle through the processor; at step 714, determine the boundary of the impact zone to be avoided by the host vehicle through the processor; at step 716, determine the collision avoidance action for the host vehicle to avoid the impact zone through the processor. In one embodiment, the system is configured for the host vehicle to autonomously perform the collision avoidance action, wherein the host vehicle is an autonomous driving vehicle.
[0297] In one embodiment of the system, the host vehicle establishes communication with the target vehicle via the communication module to obtain the steering angle, weight and turning radius of the target vehicle. In one embodiment of the system, the system is operable to operate as a component of the host vehicle.
[0298] In one embodiment of the system, the collision avoidance action includes generating an alert in the host vehicle, wherein the alert is at least one of a text message, a visual prompt, an audible alert, a tactile prompt, and a vibration. In one embodiment of the system, the collision avoidance action includes at least one of initiating a reverse motion by the host vehicle and initiating a lane change by the host vehicle. In one embodiment of the system, the collision avoidance action includes broadcasting a message to neighboring vehicles, wherein the message includes instructions to maneuver neighboring vehicles to clear the impact zone using collective and coordinated actions. In one embodiment of the system, the collision avoidance action includes alerting a target vehicle of an impending collision.
[0299] In one embodiment of the system, the collision avoidance action includes at least one of: generating an alert in the host vehicle, initiating a reverse movement by the host vehicle, initiating a lane change by the host vehicle, alerting a target vehicle to determine the boundaries of the impact zone, and broadcasting a message to neighboring vehicles, wherein the message includes instructions to maneuver the neighboring vehicles using collective and coordinated actions to clear the impact zone.
[0300] Fig. 8A An example message of a dedicated short range communication (DSRC) message format is shown. Fig. 8AShown are: (i) Basic Safety Message (BSM) format: BSM is a basic message type in DSRC, used to transmit information about the status, location, and movement of a vehicle to other vehicles in the area. In the example message, the header contains the message ID and protocol version, while the data part contains specific information about the vehicle, such as the vehicle's ID, speed, heading, and positioning. The timestamp indicates the time when the message was generated, and other vehicles can use the timestamp to determine the current status of the transmitting vehicle; (ii) Signal Phase and Timing (SPaT) format: SPaT messages provide information about the current status of traffic signals at intersections, including which phase is currently active and when the signal will change. Vehicles can use this information to optimize their driving behavior and avoid collisions. In the example message, the header contains the message ID and protocol version, while the data part includes the intersection's ID, the movement phase status, and the remaining time to the next phase (next phase) and the following phase (next following); (iii) Roadside Alert (RSA) format: RSA messages are used to notify vehicles of dangers or other important information on the road ahead, such as construction areas, accidents, or detours. In the example message, the header contains the message ID and protocol version, while the data portion includes the alert type (construction), the distance from the alert, the alert direction, and a text message providing additional details about the alert.
[0301] According to one embodiment, other possible elements may also be included in each message format. For example, the BSM format may also include the following information: acceleration, size and weight, vehicle safety extensions (including brakes, lights, wipers, transmission and powertrain), vehicle dimensions and vehicle identification information (including identification number and vehicle type).
[0302] In addition to the three examples provided above, there are several other message formats in the DSRC protocol. Some of these message formats include the MAP (Message Assistance for Path Provisioning) format: This message provides a map of the road network, including information about road layout, speed limits, and other relevant details; the CAM (Cooperative Awareness Message) format: Similar to the BSM message format, this message provides information about the current state of the vehicle, such as speed, positioning, and heading. CAM messages are usually sent more frequently than BSM messages to support more accurate situational awareness; the DENM (Decentralized Environmental Notification Message) format: This message provides information about environmental conditions that may affect driving, such as weather conditions, visibility, and road conditions; the EV (Emergency Vehicle) format: This message provides information about emergency vehicles, such as the location and direction of travel of emergency vehicles, to help other drivers safely navigate around emergency vehicles; the TCI (Traffic Control Information) format: This message provides information about traffic conditions, such as congestion, accidents, and construction zones, to help drivers make informed decisions about their routes.
[0303] Overall, the various message formats available in the DSRC protocol support a wide range of use cases, from basic vehicle-to-vehicle communications to more complex applications such as real-time traffic management and emergency response.
[0304] Figure 8B Example messages sent by a host vehicle to neighboring vehicles are shown. Example messages may include elements related to large vehicle turn alerts and request messages, where the host vehicle may request a lane change or reverse in order to perform coordinated actions. Such messages may be broadcast messages or messages sent to a single neighboring vehicle or a selected group of vehicles that need to perform the request.
[0305] Figure 8C An example message sent by the host vehicle to the target vehicle is shown. In one embodiment, the example message may include information related to the predicted turning radius and steering angle, and a request message to adjust the predicted turning radius and steering angle to target values to avoid collision.
[0306] Fig.8D An example message sent by a target vehicle to a host vehicle is shown. In one embodiment, the example message may include target vehicle information and the target vehicle's expected steering angle, turning radius, etc., based on which the host vehicle may calculate a safety zone.
[0307] Fig. 8E An example alert message displayed in a host vehicle is shown. In one embodiment, the example alert message may include an alert message and a graphical representation to show whether the host vehicle 801 is in a safety zone, where the safety zone is shown as 802 based on the turning radius of the target vehicle 803. The safety zone may be continuously updated as the host vehicle attempts to enter the safety zone. In one embodiment, the host vehicle may have a display at its rear end for alerting other vehicles via visual cues.
[0308] Fig.9A The structure of a neural network / machine learning model with a feedback loop is shown. The artificial neural network (ANN) model includes an input layer, one or more hidden layers, and an output layer. Each node or artificial neuron is connected to another node or artificial neuron and has an associated weight and threshold. If the output of any single node is above a specified threshold, the node is activated and sends data to the next layer of the network. Otherwise, no data is passed to the next layer of the network. The machine learning model or ANN model can be trained on a set of data to obtain a request in the form of input data, predict the input data, and then provide a response. The model can learn from the data. Learning can be supervised learning and / or unsupervised learning, and can be based on different scenarios and different data sets. Supervised learning includes the logic of using at least one of decision trees, logistic regression, and support vector machines. Unsupervised learning includes the logic of using at least one of k-means clustering, hierarchical clustering, hidden Markov model, and Apriori algorithm. The output layer can predict or detect collisions and the severity of collisions based on input data (such as target vehicle parameters, the position and orientation of the host vehicle and the target vehicle).
[0309] In one embodiment, the ANN may be a deep neural network (DNN), which is a multi-layer tandem neural network that includes an artificial neural network (ANN), a convolutional neural network (CNN), and a recurrent neural network (RNN), which can identify features from inputs, conduct expert reviews, and perform operations that require prediction, creative thinking, and analysis. In one embodiment, the ANN may be a recurrent neural network (RNN), which is a type of artificial neural network (ANN) that uses sequential data or time series data. Deep learning algorithms are often used to deal with sequential or temporal problems, such as language translation, natural language processing (NLP), speech recognition, and image recognition. Like feedforward and convolutional neural networks (CNNs), recurrent neural networks use training data for learning. Their notable feature is "memory" because they obtain information from previous inputs via feedback loops to affect current inputs and outputs. The output from the output layer in the neural network model is fed back to the model through feedback. When training the model, the weight changes of the hidden layer (one or more) will be adjusted to better match the expected output. This will allow the model to make fewer mistakes when providing results.
[0310] Neural networks feature feedback loops that dynamically adjust the system output as it learns new data. In machine learning, backpropagation and feedback loops are used to train AI models and continuously improve them as they are used. As the model receives more incoming data, it has more opportunities to learn from the data. The feedback loop, or backpropagation algorithm, identifies inconsistencies and feeds the corrected information back to the model as input.
[0311] Even if an AI / ML model is well trained with a large set of labeled data and concepts, after a period of time, the performance of the model may degrade when new unlabeled inputs are added for many reasons, including but not limited to concept drift, loss of precision in recall due to drift away from true positives, and data drift over time. The model’s feedback loop maintains the accuracy of AI results and ensures that the model maintains its performance and continues to improve even as new unlabeled data is ingested. A feedback loop is the process by which the prediction output of an AI model is reused to train a new version of the model.
[0312] Initially, when training an AI / ML model, a number of labeled samples are used, including both positive and negative examples of concepts (e.g., vehicles, tire orientation) for the model to learn. Afterwards, unlabeled data can be used to test the model. Using methods such as deep learning and neural networks, the model can predict whether the desired concept (e.g., steering angle for detected tire orientation, turn prediction based on facial positioning in the image, etc.) is present in the unlabeled image. Each image is given a probability score, with higher scores representing a higher level of confidence in the model's prediction. Images are automatically labeled with the predicted concepts. However, if the model returns a lower probability score, this input can be sent to a controller (which can be a human arbitrator) who verifies and corrects the results if necessary. Human arbitrators are only used in special cases. The feedback loop dynamically feeds the labeled data, either automatically labeled or verified by the controller, back to the model and is used as training data so that the system can improve its predictions in real time and dynamically.
[0313] Fig. 9B The structure of a neural network / machine learning model with reinforcement learning is shown. The network receives feedback from an authorized network environment. While the system is similar to supervised learning, the feedback obtained in this case is evaluative rather than instructive, meaning there is no teacher in supervised learning. After receiving the feedback, the network adjusts the weights to make better predictions in the future. Machine learning techniques (e.g., deep learning) allow the model to take labeled training data and learn to recognize these concepts in subsequent data and images. The model can be fed new data for testing, so training can be reinforced by feeding the model data that has already been predicted. If the machine learning model has a feedback loop, rewards are given for each true example of the system's output, further reinforcing the learning. Feedback loops ensure that AI results do not stagnate. By incorporating feedback loops, the model output keeps dynamically improving with use / time.
[0314] Fig. 9CAn example block diagram for detecting impact zones using a machine learning model is shown. The machine learning model 902 can take as input any data associated with the host vehicle and the target vehicle and learn to identify features within the data that predict the turning path / trajectory. The training data sample may include, for example, target vehicle information / data / profile 904, such as size, dimensions, vehicle type, vehicle model, weight, length, etc. In one embodiment, the system and method involve real-time identification of target vehicles and their features using onboard cameras and / or other sensors. The vehicle identification and feature information is transmitted to the cloud, where the vehicle identification is coupled with available turning radius and trajectory predictions for previously identified vehicles of similar categories and built with similar features. Subsequently, this information is used to calculate / estimate the turning trajectory. The systems and methods of the present disclosure may also provide data analysis information for later use to improve vehicle safety. When the host vehicle approaches an intersection, the host vehicle's sensors and cameras, as well as facial recognition algorithms, etc., may be used to detect vehicle features and estimate the turning profile.
[0315] In one embodiment, the training data samples may also include current contextual information 906 about the surrounding environment. This may include, for example, the location of the vehicle, current weather conditions, temperature, time of day, traffic conditions in the area, curb radius, other obstacles, etc. The system may also collect contextual information 906 from devices associated with the vehicle. For example, through applications installed on the device (such as, Maps and location services), the system can understand vehicle details.
[0316] Real-time sensor data 908 may include, for example, video, image, audio, infrared, temperature, 3D modeling, and any other suitable type of data for capturing the current state of the host vehicle's surroundings. In one embodiment, real-time sensor data may be processed using one or more machine learning models 902 that have been trained and based on similar types of data to predict real-time features of the target vehicle. Real-time features may include, for example, the size, shape, dimensions, signal lights, etc. of the target vehicle. Current information about the target may be used to estimate the turning radius trajectory and detect safety and impact zones. For example, currently detected sensor data and / or previously known information about the target vehicle category and / or intersection size may be used to predict safety zones and impact zones.
[0317] Any of the above types of data (e.g., target vehicle information / data / profile 904, contextual information 906, sensor data 908, or any other data) can be associated with collision zone and safety zone calculations, and this association can be automatically learned by the machine learning model 902. In one embodiment, during training, the machine learning model 902 can process training data samples (e.g., target vehicle information / data / profile 904 and / or contextual information 906) and detect or predict output 910 based on the current parameters of the machine learning model 902, and the output 910 can be a collision probability, that is, a collision probability and / or a safety zone and a collision zone. The detection or prediction of the collision probability and / or the safety zone and the collision zone can be based on the training data, and the training data has a label 912 associated with the training data sample 918. Predicting the collision probability and / or the safety zone and the collision zone refers to predicting future events based on past and present data, and most commonly predicting future events by analyzing, estimating trends or data patterns. Prediction or predictive analysis uses probabilities based on data analysis and processing. The detection of the collision probability and / or the safety zone and the collision zone refers to the occurrence of an event and the system detecting the event. Depending on how the event occurs, the predicted event may or may not turn into a collision. In one embodiment, during training, the event detected at 910 and the training data with the label 912 may be compared at 914. For example, the comparison 914 may be based on a loss function that measures the difference between the detected event 910 and the training data with the label 912. Based on the corresponding output of the comparison or loss function at 914, the training algorithm may update the parameters of the machine learning model 902 with the goal of minimizing the difference or loss between subsequent predictions or detections of the event 910 and the corresponding label 912. By iterating training in this manner, the machine learning model 902 can "learn" from different training data samples and become better at detecting various collision events at 910 that are similar to the collision event represented by the training label at 912. In one embodiment, the machine learning model 902 is trained using data that is specific to the target type for the model to detect collisions to estimate safe zones and impact zones. In one embodiment, the machine learning model 902 is trained using data that is common to the vehicle type and is used to detect collision probabilities and thereby determine safe and impact zones.
[0318] The machine learning model 902 can be trained using the training data so that it recognizes features that characterize the input data, and the features of the input data are related to a specific event type. For example, the trained machine learning model 902 can identify data features that characterize the possibility of an emergency as an actionable event. Through training, the machine learning model 902 can learn to identify predictive and non-predictive features and apply appropriate weights to the features to optimize the prediction accuracy of the machine learning model 902. In an embodiment where supervised learning is used and each training data sample 918 has a label 912, the training algorithm can iteratively process each training data sample 918 (including target vehicle information / data / profile 904, scenario information 906, and / or sensor data 908) and generate a prediction of a collision event 910 based on the current parameters of the model 902. Based on the results of the comparison 914, the training algorithm can adjust the parameters / configuration (e.g., weights) of the model 902 accordingly to minimize the difference between the prediction of the generated collision event 910 and the corresponding label 912. Any suitable machine learning model and training algorithm can be used, including, for example, neural networks, decision trees, clustering algorithms, and any other suitable machine learning techniques. Once training is complete, the machine learning model 902 can take input data associated with the target vehicle and output one or more predictions that indicate the probability of a collision based on the position of the host vehicle and can suggest a safe position for the host vehicle.
[0319] Fig.10An example flow chart for detecting a collision with the current position of a host vehicle using a machine learning model is shown. The system can receive data associated with sensor output (one or more) from one or more sensors in the host vehicle, as shown in 1002. Any type of sensor can be used to collect data related to the target vehicle. The sensor output can be, for example, an image, video, audio, LiDAR measurement, infrared measurement, temperature measurement, GPS data, or any other information measured or detected by the sensor. In one embodiment, the sensor output can be the result of one or more sensors capturing environmental information associated with the surrounding environment of the host vehicle, which can include traffic, curb edges, intersection details, etc. at the location. For example, the sensor output can be associated with passengers in the vehicle (including the driver). In one embodiment, the data associated with the sensor output can include raw sensor output (e.g., image, video, audio, etc.) and / or data derived from processing the sensor output. For example, derived data from image, video or LiDAR data can include data representing recognized objects, movements, gestures, facial expressions, postures, eye positions, etc. The system can receive any data associated with the sensor output from the sensor, including raw sensor output and / or any derived data. In one embodiment, the system can process the received data using a machine learning model trained with a set of training data and identify any actionable events of interest. The system can also receive any other data, as shown at 1006, where the other data can be weather data, manual input, broadcast messages from other traffic-related objects (such as vehicles and infrastructure), etc.
[0320] As shown in 1004, the system can extract features from the received data according to the machine learning model. The machine learning model can automatically do this based on what it learned during the training process. In one embodiment, appropriate weights learned during the training process can be applied to the features.
[0321] In step 1008, the machine learning model may generate a score based on the features of the received data that represents the likelihood or confidence that the received data is associated with a particular event type, such as a collision due to a particular vehicle type at an intersection, etc.
[0322] As shown in 1010, the system can determine whether the score is high enough relative to a threshold or standard to require specific action. If the score is not high enough, indicating a false-positive, the system can return to step 1002 and continue to monitor subsequent incoming data. On the other hand, if the score is high enough, the system can generate an appropriate alert and / or determine an appropriate action / response at step 1012. In one embodiment, the system can send an alert to an appropriate recipient based on the type of event detected. For example, an alert is generated in the host vehicle and a message is sent to nearby vehicles.
[0323] In one embodiment, the system may repeat, where appropriate, Fig.10 In one embodiment, steps 1002 to 1012 may be performed by the system, and any combination of these steps may be performed by any other computing system, such as a remote network or cloud network. In one embodiment, where a machine learning model is used to make such a determination, the system may transmit the trained machine learning model to a computing system in the vehicle to allow event detection to occur locally. This may be desirable because the sensor data may be too large to be transmitted to a remote system in a timely manner.
[0324] In one embodiment, a system is provided wherein the facial expression recognition module utilizes a convolutional neural network (CNN) pre-training process; and / or wherein the machine learning (ML) algorithm includes a bounding box procedure around the subject's face; and / or wherein the bounding box procedure utilizes a Viola-Jones detection algorithm; and / or wherein the facial recognition module utilizes a facial expression recognition (FER) algorithm. In one embodiment, one or more facial expressions currently obtained from the camera are compared to thresholds for pre-trained emergency classifications to determine when the current classification is an emergency. The use of a recurrent neural network architecture stems from its ability to use past temporal information to infer current inputs. Long short-term memory (LSTM) provides a computationally efficient way to train these networks. For example, a LSTM can be trained using video sequences of different vehicle types and their trajectory information as they turn. With this training mechanism, the model can predict when a collision is about to occur given a subject vehicle position based on a given real-time video input. According to one embodiment of the system, the bounding box algorithm is used in conjunction with a machine learning algorithm for object detection, wherein the machine learning algorithm is a convolutional neural network (CNN).
[0325] In one embodiment, the system may include a network security module. In one aspect, a secure communication management (SCM) computer device for providing a secure data connection is provided. The SCM computer device includes a processor in communication with a memory. The processor is programmed to receive a first data message from a first device. The first data message is in a standardized data format. The processor is also programmed to analyze whether the first data message contains a potential network security threat. If it is determined that the first data message does not contain a network security threat, the processor is also programmed to convert the first data message into a first data format associated with a vehicle environment, transmit the converted first data message into a first data format associated with the vehicle environment, and transmit the converted first data message to the communication module using a first communication protocol associated with the negotiation protocol.
[0326] According to one embodiment, security authentication for data transmission includes: providing a hardware-based security engine (HSE) located in a network security module, the hardware-based security engine has been manufactured in a secure environment and authenticated as part of an approved network in the secure environment; using the hardware-based security engine to asynchronously authenticate, verify and encrypt data, storing user permission data and connection status data in an access control list for defining an allowed data communication path of the approved network, so that the network security module can communicate with other computing systems (e.g., communication modules) subject to the access control list, and using the security engine to asynchronously authenticate and encrypt data includes using a hardware-based module provided with one or more security aspects for protecting the system to identify a user device (UD) incorporating credentials contained in the hardware, wherein the security aspects include the hardware-based module communicating with a user of the user device and the hardware-based security engine.
[0327] Fig.11A A block diagram of a network security module according to one embodiment is shown. In one embodiment, Fig.11A A block diagram of a network security module is shown. Data communications between the system 1100 and the server 1170 through the communication module 1112 are first verified by the information security management module 1132 of the network security module 1130 before being sent from the system to the server or from the server to the system. The information security management module is operable to analyze data for potential network security threats, encrypt data when no network security threats are detected, and send the encrypted data to the system or server. The system 1100 includes a processor 1108.
[0328] In one embodiment, the network security module further includes an information security management module that provides isolation between the system and the server. Fig. 11BA flow chart of protecting data by the network security module 1130 is shown. At step 1140, the information security management module is operable to receive data from the communication module. At step 1141, the information security management module exchanges security keys when communication begins between the communication module and the server. At step 1142, the information security management module receives the security key from the server. At step 1143, the information security management module authenticates the identity of the server by verifying the security key. At step 1144, the information security management module analyzes the security key for potential network security threats. At step 1145, the information security management module negotiates an encryption key between the communication module and the server. At step 1146, the information security management module receives encrypted data. At step 1147, when no network security threat is detected, the information security management module sends the encrypted data to the server.
[0329] In one embodiment, Fig. 11C A flow chart of protecting data by the network security module 1130 is shown. At step 1151, the information security management module is operable to: exchange security keys when communication begins between the communication module and the server. At step 1152, the information security management module receives the security key from the server. At step 1153, the information security management module authenticates the identity of the server by verifying the security key. At step 1154, the information security management module analyzes the security key for potential network security threats. At step 1155, the information security management module negotiates the encryption key between the communication module and the server. At step 1156, the information security management module receives encrypted data. At step 1157, the information security management module decrypts the encrypted data and performs an integrity check on the decrypted data. At step 1158, when no network security threat is detected, the information security management module sends the decrypted data to the communication module.
[0330] In one embodiment, the integrity check is a hash signature verification using Secure Hash Algorithm 256 (SHA256) or a similar method. In one embodiment, the information security management module is configured to perform asynchronous authentication and verification of the communication between the communication module and the server.
[0331] In one embodiment, the information security management module is configured to issue an alarm when a network security threat is detected. In one embodiment, the information security management module is configured to discard the received encrypted data if the integrity check of the encrypted data fails.
[0332] In one embodiment, the information security management module is configured to verify the integrity of the decrypted data by means of verifying accuracy, consistency and any possible data loss during communication through the communication module.
[0333] In one embodiment, the server is physically isolated from the system through the information security management module. When the system communicates with the server, such as Fig.11A As shown, first, identity authentication is performed on the system and the server. The system is responsible for communicating / exchanging the system's public key and the signature of the public key with the server. The system's public key and the signature of the public key are sent to the information security management module. The information security management module decrypts the signature and verifies whether the decrypted public key is consistent with the received original public key. If the decrypted public key is verified, the identity authentication is passed. Similarly, the system and the server perform identity authentication on the information security management module. After the identity authentication is passed to the information security management module, the communicating parties, the system and the server negotiate the encryption key and integrity verification key for the data communication between the communicating parties through the authenticated asymmetric key. The session ID number is sent during the identity authentication process, so that the key needs to be bound to the session ID number; when the system sends data to the outside, the information security gateway receives the data through the communication module, performs integrity authentication on the data, and then encrypts the data through the negotiated key, and finally sends the data to the server through the communication module. When the information security management module receives data through the communication module, it first decrypts the data and then verifies the integrity of the data. If the verification passes, the data is sent through the communication module; otherwise, the data will be discarded.
[0334] In one embodiment, identity authentication is achieved by using an asymmetric key with a signature. In one embodiment, the signature is achieved by a pair of asymmetric keys trusted by the information security management module and the system, wherein the private key is used to sign the identities of the two communicating parties, and the public key is used to verify whether the identities of the two communicating parties have been signed. The signature identity includes a public key and a private key pair. In other words, the signature identity refers to the public name of the certificates installed on the user's machine.
[0335] In one embodiment, both communicating parties need to authenticate their identities through a pair of asymmetric keys, and use a unique pair of asymmetric keys to identify the task responsible for communicating with the information security management module of the system.
[0336] In one embodiment, the dynamic negotiation key is encrypted by using the Rivest-Shamir-Adleman (RSA) encryption algorithm. RSA is a public key cryptographic system widely used for secure data transmission. The negotiated key includes a data encryption key and a data integrity check key.
[0337] In one embodiment, the data encryption method is a triple data encryption algorithm (3DES) encryption algorithm. The integrity check algorithm is a hash-based message identity authentication code (HMAC-MD5-128) algorithm. When the data is output, the data is integrity checked and calculated, and the calculated message authentication code (MAC) value is added to the header of the data message, and then the data (including the MAC of the header) is encrypted by using the 3DES algorithm. After the data is encrypted, the header information of the security layer is added, and then the data is sent to the next layer for processing. In one embodiment, the next layer refers to the transport layer in the Transmission Control Protocol / Internet Protocol (TCP / IP) model.
[0338] When data encryption and data integrity authentication are initiated between the communicating parties, the information security management module ensures the security, reliability and confidentiality of the communication between the system and the server through identity authentication. This method is particularly suitable for embedded platforms with fewer resources and not connected to the public key infrastructure (PKI) system, and by ensuring the security and reliability of the communication between the system and the server, it can ensure that the security of the data on the server under Internet conditions can be protected from hacker attacks.
[0339] Example Implementation:
[0340] By executing computer vision algorithms, the autonomous vehicle will infer whether the large vehicle will hit the autonomous vehicle. In one embodiment, this method detects and manages situations where a large vehicle may hit another vehicle while executing a turn.
[0341] In some embodiments, the disclosed methods may be implemented as computer program instructions encoded in a machine-readable format on a computer-readable storage medium, or on other non-transitory media or article of manufacture.
[0342] Fig. 12A An autonomous vehicle according to one embodiment is shown stopping at an intersection and detecting whether the autonomous vehicle is the closest vehicle to the intersection. The autonomous vehicle traveling to a destination will detect other vehicles approaching the intersection, will use lane detection for other vehicles traveling or parked at the intersection, and / or will use GPS information to detect vehicles approaching the intersection. If the autonomous vehicle stops at an intersection, the autonomous vehicle will detect whether the autonomous vehicle is the closest vehicle to the intersection through vehicle detection, intersection detection, and signal detection. If the autonomous vehicle is not the closest vehicle to the intersection, the process can end.
[0343] Fig. 12B and Fig. 12CThe autonomous vehicle is shown stopping at an intersection and detecting if vehicles in other lanes are merging in the opposite or perpendicular direction to the lane the autonomous vehicle is in, according to one embodiment. The autonomous vehicle will detect if vehicles in Lane 1 are merging in the opposite direction to which the autonomous vehicle is traveling (via lane detection or GPS information). Fig. 12B and Fig. 12C Example lane configurations and merging directions are shown. More lane configurations are possible and can be easily accommodated by the system and method. If a vehicle in lane 1 is detected to continue straight or turn right (eg Fig. 12B If the vehicle in lane 1 is likely to merge in the opposite direction to the autonomous vehicle (as shown in Fig. 12C ), the process will continue.
[0344] Fig.12D and Fig.12E FIG. 1 shows an autonomous vehicle according to one embodiment stopping at an intersection and detecting vehicle signs in other lanes. The autonomous vehicle will detect the license plate number of the vehicle in lane 1 to detect the type of vehicle with the help of a database. The vehicle detected by the autonomous vehicle may be Fig.12D The normal size vehicle shown may also be Fig.12E If a large vehicle is detected, the process will continue to find additional details from the large vehicle.
[0345] Fig.12F An autonomous vehicle according to one embodiment is shown stopping at an intersection and detecting vehicle signal lights in other lanes. The autonomous vehicle will detect the turn signal of a large vehicle in lane 1 to detect whether the large vehicle is turning left or right. If the autonomous vehicle does not detect the turn signal, the autonomous vehicle will perform other detections to infer what the driver is going to do.
[0346] Figure 12G and Fig.12H FIG. 1 shows an autonomous vehicle stopped at an intersection and performing face detection to predict the direction of a turn according to one embodiment. The autonomous vehicle will perform face detection and side-view face detection to determine where the driver is looking, thereby predicting the direction in which a large vehicle may turn. For example, if the autonomous vehicle detects that the driver is looking to the right, even though no face is detected (e.g., Figure 12G ), the autonomous vehicle will also infer that the large vehicle is turning right. However, if the driver’s face is looking straight ahead or to the left (as shown in Fig.12H If the driver is inconclusive, the autonomous vehicle will perform additional detection to continue to confirm the direction of the large vehicle's turn.
[0347] Fig.12I An autonomous vehicle according to one embodiment is shown stopped at an intersection and communicating with a large vehicle to predict the direction of the turn. If the autonomous vehicle detects that the large vehicle is merging into lane 2, the autonomous vehicle will establish a communication link with the large vehicle. The communication can be V2V or an Internet connection, i.e., a cloud server. Having detected the license plate number, the autonomous vehicle can obtain the steering wheel angle of the large vehicle. In one embodiment, the large vehicle (a bus in this example) will also share with the autonomous vehicle the turning radius required by the bus based on the steering wheel angle.
[0348] Fig.12J FIG. 1 shows an autonomous vehicle calculating a turn direction according to one embodiment. In one embodiment, this information can be obtained through experience or a simulator, which can be obtained on a local computer in the vehicle or on a server to which the autonomous vehicle can establish a connection. An example of a bus turning radius simulator is The turning radius that an autonomous vehicle will be given will likely be a “radius to the inside,” which will vary based on vehicle type and steering wheel angle.
[0349] Figure 12K The autonomous vehicle according to one embodiment uses a bounding box method to extract the lower edge of a large vehicle to predict the direction of the turn. The autonomous vehicle will detect the bounding box of the vehicle in lane 1 and will extract the lower edge (length) of the bounding box.
[0350] Figure 12L The autonomous driving vehicle according to one embodiment extracts a point along the lower edge of a large vehicle to map the turning radius. The autonomous driving vehicle can obtain a point along the lower edge from the vehicle in lane 1 to map the turning radius.
[0351] Figure 12M 1 shows a virtual turning radius mapped according to one embodiment. The autonomous vehicle will create a virtual line perpendicular to the lower edge of the bounding box, and the radius length is obtained by calculation or communication with the large vehicle. For this step, the autonomous vehicle can use a virtual map or GPS information.
[0352] Fig.12N The change in turning radius caused by the steering angle of a large vehicle according to one embodiment is shown. The greater the angle of the wheel, the smaller the radius.
[0353] Fig.12OThe current position of the autonomous vehicle and the turning radius are mapped according to the steering angle of the large vehicle for detecting the safety zone according to one embodiment. Since the autonomous vehicle knows its position in GPS, the vehicle position in lane 1 and the radius, the autonomous vehicle can detect in real time whether the bus has enough room to turn safely (without hitting the AV). If vehicle 1 has enough turning space, the process will end.
[0354] Figure 12P and Figure 12Q An autonomous vehicle is shown moving inside a safety zone according to one embodiment. If the autonomous vehicle detects that the autonomous vehicle is in the impact zone, the autonomous vehicle will attempt to enter the safety zone. For example, the autonomous vehicle will reverse if possible. The autonomous vehicle may also change lanes if possible.
[0355] Figure 12R An autonomous vehicle is shown communicating with a large vehicle about an impending collision due to the turning radius of the large vehicle according to one embodiment. If the autonomous vehicle detects that the large vehicle is about to strike the autonomous vehicle because the autonomous vehicle cannot leave the impact zone or impact area to enter a safe zone (e.g., due to vehicle density), the autonomous vehicle will send a notification to the large vehicle driver.
[0356] Fig.13 Calculation of the turning radius of a trailer truck according to one embodiment is shown. In one embodiment, large vehicle categories include, but are not limited to, buses, semi-trailers, tractor trailers, dump trucks, fire trucks, construction vehicles, military vehicles, emergency response vehicles, agricultural vehicles, etc. The turning radius of a trailer truck may vary depending on the trailer it is connected to. The overall safety zone is determined by taking into account the radius variation due to steering angle and distance from the center of rotation.
[0357] In one embodiment, the road conditions, the weight of the heavy vehicle, the change in steering angle when the vehicle makes a turn, the distance from the intersection to the autonomous vehicle, and the position of the autonomous vehicle relative to the large vehicle are taken into account when calculating the "safety zone". When calculating the "safety zone", the autonomous vehicle may maintain some additional distance from the circle to ensure that the autonomous vehicle is not hit by the large vehicle.
[0358] Example Implementation:
[0359] Fig.14A A safety zone for an autonomous vehicle when a large vehicle is turning according to one embodiment is shown. Although the autonomous vehicle is outside the circle, the autonomous vehicle will detect it as a "safety zone" because it is expected that the bus will continue to go straight and not continue to turn.
[0360] Fig. 14B A safety zone for an autonomous vehicle for zero steering angle when a large vehicle is turning according to one embodiment is shown. As the steering angle approaches zero, the turning radius tends to infinity.
[0361] Fig. 14C Shown is a safety zone for an autonomous vehicle for a steering angle when a large vehicle is turning according to one embodiment. As the bus approaches the lane, the steering wheel angle increases, so the radius / circle starts to decrease.
[0362] Fig.14D A safety zone for an autonomous vehicle for a steering angle when a large vehicle is turning according to one embodiment is shown. As the bus gets closer to the lane, the steering wheel angle increases further, so the radius / circle begins to decrease further.
[0363] Fig.14E A safety zone for an autonomous vehicle for a maximum steering angle when a large vehicle is turning according to one embodiment is shown. When the steering angle is maximum, the turning radius is minimum.
[0364] Fig.14F An autonomous vehicle is shown moving into a safety zone according to one embodiment. The autonomous vehicle will move slightly in the opposite direction to stay within the safety zone.
[0365] Figure 14G and Fig.14H Shown is the safety zone for an autonomous vehicle for maximum steering angle when a large vehicle is turning, according to one embodiment. The bus continues to turn with an approximately constant radius and steering wheel angle, so the bus turns tangent to the circle. The center point of the circle does not move; however, the line does move because the starting point is the rear wheel. The bus continues to turn until it enters the lane.
[0366] Fig.14I Shown is a safety zone for an autonomous vehicle to reduce steering angle when a large vehicle merges into a lane, according to one embodiment. The large vehicle reduces the steering angle. The radius increases again until the bus fully merges into the lane.
[0367] The autonomous vehicle sensors and communication modules include radar, lidar, ultrasonic sensors, global navigation satellite system (GNSS) and cameras. The vehicle can be an autonomous vehicle. In one embodiment, the vehicle does not have to be with other autonomous vehicles, however, the vehicle may need to conduct vehicle-to-vehicle communication.
[0368] The present invention solves the challenge faced by large and long vehicles when turning left. In this case, the turning vehicle may not be aware of oncoming traffic and if a vehicle approaches the intersection from the right (such as Figure 3BAs shown in Figure 1, large vehicles may hinder vehicles, and there may be a risk that large vehicles will collide with cars, scrape cars, or get stuck when trying to avoid cars. There may also be a risk of hitting other vehicles in adjacent lanes. When large vehicles make left turns or even right turns, there are many possible impact areas. In one embodiment, large vehicles block traffic behind them when making left turns. In one embodiment, sensors in the vehicle predict whether the vehicle will hit when turning. According to one embodiment, if a large vehicle may cause an impact or may cause an obstruction, the autonomous driving vehicle will begin to adjust its position. The autonomous driving vehicle may begin to communicate to other neighboring vehicles that the autonomous driving vehicle may move forward or backward in the lane based on the presence of other vehicles in the lane. If the autonomous driving vehicle can move forward or backward, it will do so. But if the autonomous driving vehicle cannot move because there is a vehicle in front or behind, the autonomous driving vehicle will notify the large vehicle. In this case, the large vehicle may not try to turn because it may hit the vehicle when turning. According to one embodiment, the large vehicle may be a bus, a semi-trailer, etc.
[0369] In one embodiment, the autonomous vehicle may monitor all vehicles communicating with it. The autonomous vehicle may predict that the large vehicle may come into contact with any vehicle in the vicinity of the autonomous vehicle. The autonomous vehicle may coordinate with nearby vehicles to adjust the positioning of the autonomous vehicle so that the large vehicle can pass without hitting the autonomous vehicle or any other car / vehicle that may be in the vicinity of the autonomous vehicle.
[0370] As the autonomous vehicle approaches an intersection, the autonomous vehicle begins to monitor other nearby vehicles in an area where other vehicles may eventually enter the intersection and may come into contact with the autonomous vehicle due to the size of the vehicle or congestion at the intersection. Once the autonomous vehicle determines that a vehicle outside the autonomous vehicle may come into contact with the autonomous vehicle or enter the impact zone, the autonomous vehicle adjusts its position.
[0371] In another embodiment, the autonomous vehicle monitors the traffic conditions around it to determine if the autonomous vehicle predicts a collision with the large vehicle based on its position, the traffic conditions around the vehicle, the geometry of the intersection, and the predicted trajectory of the large vehicle. The autonomous vehicle will alert the large vehicle by communicating that the large vehicle needs to make an adjustment because the autonomous vehicle is unable to adjust the position of the autonomous vehicle due to the vehicles around it. The autonomous vehicle may also contact vehicles next to the autonomous vehicle or the large vehicle itself based on the surrounding traffic situation scenario.
[0372] In another embodiment, the large vehicle will broadcast to surrounding vehicles that the large vehicle is approaching the intersection and will turn. In one embodiment, the large vehicle can broadcast the expected turning radius of the large vehicle to vehicles approaching the intersection. The large vehicle can also notify vehicles approaching the intersection to stop at a preset distance (e.g., 10 feet) before the intersection area to provide sufficient turning space for the large vehicle and will not come into contact with any vehicle when turning.
[0373] In one embodiment, the autonomous vehicle will determine what it needs to do. In another embodiment, the autonomous vehicle broadcasts to other vehicles to let nearby vehicles know that they are close to or within the impact zone to avoid contact with the large vehicle. In one embodiment, the autonomous vehicle will communicate with the large vehicle to let the large vehicle know that it may hit one or more vehicles while turning.
[0374] In another embodiment, a large vehicle, as it approaches an intersection, begins broadcasting that the large vehicle will be turning left and needs a clear area of a preset distance, such as 20 feet. Information that may be transmitted or received by the autonomous vehicle will be used to determine what the turning radius will be, what the impact zone is, and what the autonomous vehicle needs to do based on the current position of the autonomous vehicle to remain clear. In order to remain clear or avoid the impact zone, the autonomous vehicle begins making adjustments to ensure that the impact zone is cleared.
[0375] In one embodiment, the target vehicle may be a normal passenger car or a normal size vehicle with additional accessories. In one embodiment, the large vehicle may be a vehicle with V2V communication. In another embodiment, the large vehicle may be an autonomous vehicle.
[0376] In one embodiment, the target vehicle can transmit its length, any accessories, and the size of any accessories carried by the target vehicle. The target vehicle can then communicate with all vehicles around it. In one embodiment, the length of the vehicle is determined via scanning sensors, cameras, and radar.
[0377] In one embodiment, a large vehicle may be a normal vehicle with items in the back. Although the vehicle is of normal size, a towing vehicle or boat would classify such a vehicle as a large vehicle.
[0378] The description of one or more embodiments is for illustrative purposes only and is not intended to be exhaustive or limited to the embodiments described herein. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terms used herein best explain the principles of the embodiments, practical applications, and / or technical improvements over technologies found in the marketplace, and / or enable others of ordinary skill in the art to understand the embodiments described herein.
[0379] List of Terms
[0380] Item 1. A system comprising: a processor, a computer vision module and a control module; wherein the system is operable to: detect intersections and target vehicles near intersections through the processor; determine the current position of the main vehicle and the current position of the target vehicle through the processor; detect the target turning lane through the computer vision module; estimate the parameters of the target vehicle through the computer vision module through the processor, wherein the parameters of the target vehicle include vehicle type, vehicle model, steering angle and turning radius; predict the movement trajectory of the target vehicle through the processor; determine the boundary of the impact zone for the main vehicle through the processor; and determine the collision avoidance action for avoiding the impact zone through the processor.
[0381] Clause 2. A system as described in clause 1, wherein the system is operable as a component of a host vehicle, and wherein the host vehicle is an autonomous vehicle.
[0382] Clause 3. The system of clause 1, wherein the target vehicle is a large vehicle.
[0383] Clause 4. The system of clause 1, wherein the target vehicle comprises one of a semi-trailer, a bus, an SUV, a trailer, a truck, a recreational vehicle, a tractor-trailer, and a heavy construction machine.
[0384] Clause 5. The system of clause 1, wherein the system is configured to detect a license plate number of the target vehicle via a computer vision module.
[0385] Clause 6. The system of clause 1, wherein the system is configured to autonomously perform collision avoidance maneuvers via a control module.
[0386] Clause 7. The system of clause 1, wherein the intersection is detected by detecting traffic lights.
[0387] Clause 8. The system of clause 7, wherein the traffic light is detected via a video camera of a computer vision module of the host vehicle and via at least one of vehicle-to-infrastructure (V2I) communications.
[0388] Clause 9. The system of clause 1, wherein the current position of the target vehicle is determined in real time via a computer vision module of the host vehicle including a camera, a lidar, a GPS, a radar.
[0389] Clause 10. The system of clause 1, wherein the system is further operable to detect neighboring vehicles and neighboring lanes.
[0390] Clause 11. A system according to clause 10, wherein adjacent vehicles and adjacent lanes are detected via a computer vision module, the computer vision module including radar, lidar, camera, GPS and an artificial intelligence engine including a machine learning algorithm.
[0391] Clause 12. The system of clause 1, wherein the lane next to the host vehicle is detected via a computer vision module comprising radar, lidar, camera, GPS, and an artificial intelligence engine including a machine learning algorithm.
[0392] Clause 13. The system of clause 1, wherein a global navigation satellite system (GPS) is used to detect the current position of the host vehicle and the current position of the target vehicle.
[0393] Clause 14. The system of clause 1, wherein the target turn lane is a left turn lane for the target vehicle.
[0394] Clause 15. The system of clause 1, wherein the target turning lane is detected by detecting a turn signal on the target vehicle via a computer vision module.
[0395] Clause 16. The system of clause 1, wherein a facial detection algorithm is used to detect the target turning lane that the target vehicle is merging into by facial detection and gaze direction of a driver of the target vehicle.
[0396] Clause 17. The system of clause 16, wherein the camera is operable to acquire an image of a driver of the target vehicle.
[0397] Clause 18. A system according to clause 17, wherein a computer vision algorithm including pattern recognition technology is used to analyze the image of the driver to detect humans and human facial features, such as eyes, nose, mouth, and at least one of facial contours, ears, and hair.
[0398] Clause 19. The system of clause 1, wherein the target turning lane is detected by detecting a gaze direction of a driver of the target vehicle via a computer vision module.
[0399] Clause 20. The system of clause 1, wherein the target turning lane is detected by the host vehicle via a computer vision module by tracking the location and movement of the target vehicle over a period of time.
[0400] Clause 21. The system of clause 1, wherein the target turning lane is detected by the host vehicle detecting a speed and a moving direction of the target vehicle via a sensor, wherein the sensor is at least one of a radar and a lidar.
[0401] Clause 22. The system of clause 1, wherein the motion trajectory of the target vehicle is predicted using a deterministic motion model.
[0402] Clause 23. The system of clause 1, wherein the vehicle type is determined from the license plate number of the target vehicle by referencing a database.
[0403] Clause 24. A system as described in clause 1, wherein the vehicle type and vehicle model are detected by a computer vision module including an artificial intelligence engine, the artificial intelligence engine including a machine learning algorithm.
[0404] Clause 25. A system according to clause 24, wherein the machine learning algorithm is at least one of a regional convolutional neural network (R-CNN), RetinaNet, You Only Look Once (YOLO), and a Single Shot Multibox Detector (SSD).
[0405] Clause 26. The system of clause 1, wherein the parameters of the target vehicle further include size, speed, acceleration, yaw rate, and orientation of the target vehicle.
[0406] Clause 27. A system according to clause 1, wherein the parameters of the target vehicle are estimated via a computer vision module, the computer vision module including a camera, a lidar, a GPS, a radar, and an artificial intelligence engine including a machine learning algorithm.
[0407] Clause 28. The system of clause 1, wherein the host vehicle is configured to continuously update the boundaries of the impact zone as the target vehicle begins to move.
[0408] Clause 29. The system of clause 1, wherein the boundary delineates at least one of an open area and a closed area, wherein the boundary divides an area around the host vehicle into a safety zone and a crash zone.
[0409] Clause 30. The system of clause 1, wherein the host vehicle establishes communication with the target vehicle via the communication module to obtain a steering angle, a weight, and a turning radius of the target vehicle.
[0410] Clause 31. The system of clause 30, wherein communication between the host vehicle and the target vehicle occurs via vehicle-to-vehicle (V2V) communication.
[0411] Clause 32. The system of clause 31, wherein the V2V communication is based on a wireless communication protocol using at least one of dedicated short range communication (DSRC) and cellular vehicle-to-everything (C-V2X) technology.
[0412] Clause 33. The system of clause 30, wherein communication between the host vehicle and the target vehicle occurs via an internet connection.
[0413] Clause 34. The system of clause 1, wherein the host vehicle calculates the turning radius using a computational model based on a steering angle.
[0414] Clause 35. The system of clause 1, wherein the host vehicle is operable to obtain a turning radius using a simulation model based on a steering angle.
[0415] Clause 36. The system of clause 1, wherein the host vehicle is operable to calculate a minimum turning radius for an intersection.
[0416] Clause 37. The system of clause 36, wherein a minimum turning radius of the intersection is communicated to the target vehicle by the host vehicle.
[0417] Clause 38. A system according to clause 1, wherein the host vehicle extracts a lower edge along the length of the target vehicle using a bounding box algorithm via a computer vision module; and calculates the boundary of the impact zone based on a turning radius measured from the lower edge along the length of the target vehicle on the side facing the host vehicle, a steering angle, a speed, and an acceleration of the target vehicle, wherein the speed and acceleration are estimated by the host vehicle.
[0418] Clause 39. A system according to clause 38, wherein the bounding box algorithm is used in combination with a machine learning algorithm for object detection, wherein the machine learning algorithm is a convolutional neural network (CNN).
[0419] Clause 40. The system of clause 1, wherein the host vehicle is operable to detect changes in speed, acceleration, and steering angle of the target vehicle and update the boundaries of the impact zone in real time.
[0420] Clause 41. The system of clause 1, wherein the host vehicle is operable to establish communications with the target vehicle to obtain steering angle, velocity, acceleration, and update the boundaries of the impact zone in real time as the target vehicle is moving.
[0421] Clause 42. The system of clause 1, wherein the host vehicle is operable to establish communication with the target vehicle and continuously update the boundaries of the impact zone as the target vehicle moves to merge into the target turn lane.
[0422] Clause 43. The system of clause 1, wherein the host vehicle establishes communication with the target vehicle and requests to adjust the motion trajectory when merging into the target turning lane.
[0423] Clause 44. The system of clause 43, wherein the adjustment comprises at least one of a steering angle, a steering rate, a speed, and an acceleration.
[0424] Clause 45. The system of clause 1, wherein the host vehicle establishes communications with neighboring vehicles and provides boundaries of an impact zone for the target vehicle to merge into the target turn lane.
[0425] Clause 46. The system of clause 1, wherein the collision avoidance action includes generating an alert in the host vehicle, wherein the alert is at least one of a text message, a visual prompt, an audible alert, a tactile prompt, and a vibration.
[0426] Clause 47. The system of clause 1, wherein the collision avoidance action comprises at least one of a reverse movement initiated by the host vehicle and a lane change initiated by the host vehicle.
[0427] Clause 48. The system of clause 1, wherein the collision avoidance action comprises broadcasting a message to neighboring vehicles, wherein the message comprises instructions for maneuvering the neighboring vehicles using collective and coordinated action to clear the impact zone.
[0428] Clause 49. The system of clause 1, wherein the collision avoidance action includes alerting the target vehicle of an impending collision.
[0429] Clause 50. A system as described in clause 1, wherein the collision avoidance action includes at least one of: generating an alarm in the host vehicle; initiating reverse movement by the host vehicle; initiating a lane change by the host vehicle; alerting a target vehicle of the boundaries of the impact zone; and broadcasting a message to neighboring vehicles, wherein the message includes instructions regarding maneuvering neighboring vehicles using collective and coordinated actions to clear the impact zone.
[0430] Clause 51. The system of clause 1, wherein the collision avoidance maneuver is determined and executed in real time until the target vehicle safely turns into the target turning lane.
[0431] Clause 52. The system of clause 1, wherein the collision avoidance maneuver is determined via a computer vision module comprising an artificial intelligence engine, the artificial intelligence engine comprising a machine learning algorithm.
[0432] Clause 53. A method comprising: detecting an intersection and a target vehicle near the intersection through a processor of a main vehicle; determining a current position of the main vehicle and a current position of the target vehicle through the processor; detecting a target turning lane through a computer vision module; estimating parameters of the target vehicle through the processor, wherein the parameters of the target vehicle include vehicle type, vehicle model, steering angle, and turning radius; predicting a motion trajectory of the target vehicle through the processor; determining a boundary of a collision zone to be avoided through the processor; and determining a collision avoidance action for avoiding the collision zone through the processor.
[0433] Clause 54. The method of clause 53, wherein the method is operable as a component of a host vehicle, and wherein the host vehicle is an autonomous vehicle.
[0434] Clause 55. The method according to clause 53, wherein the method is further configured to detect the license plate number of the target vehicle via a computer vision module.
[0435] Clause 56. The method of clause 53, wherein the method is further configured to autonomously perform collision avoidance actions on the host vehicle via the control module.
[0436] Clause 57. A non-volatile computer-readable medium having instructions stored thereon, the instructions being executable by a computer system to implement the following operations, including: detecting an intersection and a target vehicle near the intersection through a processor of a main vehicle; determining a current position of the main vehicle and a current position of the target vehicle through the processor; detecting a target turning lane through a computer vision module; estimating parameters of the target vehicle through the processor, wherein the parameters of the target vehicle include vehicle type, vehicle model, steering angle, and turning radius; predicting a motion trajectory of the target vehicle through the processor; determining a boundary of a collision zone to be avoided through the processor; and determining a collision avoidance action for avoiding the collision zone through the processor.
[0437] Clause 58. A non-transitory computer-readable medium as described in clause 57, wherein the host vehicle is an autonomous vehicle.
[0438] Clause 59. The non-transitory computer-readable medium of clause 57, wherein the non-transitory computer-readable medium is further configured to detect a license plate number of the target vehicle via a computer vision module.
[0439] Clause 60. The non-transitory computer-readable medium of clause 57, wherein the non-transitory computer-readable medium is further configured to autonomously perform a collision avoidance action on the host vehicle via the control module.
[0440] Clause 61. A system comprising: a processor, a computer vision module, a control module and a communication module; wherein the system is operable to: detect a target vehicle approaching an intersection through the processor; detect a target turning lane through a computer vision system; establish communication with the target vehicle through the communication module through the processor; receive parameters of the target vehicle through the processor, wherein the parameters of the target vehicle include vehicle type, vehicle model, steering angle and turning radius; determine a current position of a main vehicle and a current position of a target vehicle through the processor; predict a movement trajectory of the target vehicle through the processor; determine a boundary of a collision zone that the main vehicle should avoid through the processor; and determine a collision avoidance action for the main vehicle to avoid the collision zone through the processor.
[0441] Clause 62. A system as described in clause 61, wherein the system is operable as a component of a host vehicle, and wherein the host vehicle is an autonomous vehicle.
[0442] Clause 63. The system of clause 61, wherein the system is further configured to autonomously perform collision avoidance actions via the control module.
[0443] Clause 64. The system of clause 61, wherein the system is operable as a component of a host vehicle.
[0444] Clause 65. The system of clause 61, wherein the host vehicle updates the boundaries of the impact zone in real time as the target vehicle begins to move.
[0445] Clause 66. The system of clause 61, wherein communication between the host vehicle and the target vehicle occurs via vehicle-to-vehicle (V2V) communication.
[0446] Clause 67. A system as described in clause 66, wherein vehicle-to-vehicle (V2V) communications are based on a wireless communication protocol using at least one of dedicated short range communications (DSRC) and cellular vehicle-to-everything (C-V2X) technologies.
[0447] Clause 68. The system of clause 61, wherein the collision avoidance action includes generating an alert in the host vehicle, wherein the alert is at least one of a text message, a visual prompt, an audible alert, a tactile prompt, and a vibration.
[0448] Clause 69. The system of clause 61, wherein the collision avoidance action comprises at least one of a reverse movement initiated by the host vehicle and a lane change initiated by the host vehicle.
[0449] Clause 70. The system of clause 61, wherein the collision avoidance action comprises broadcasting a message to neighboring vehicles, wherein the message comprises instructions to maneuver the neighboring vehicles using collective and coordinated action to clear the impact zone.
[0450] Clause 71. The system of clause 61, wherein the collision avoidance action includes alerting the target vehicle of an impending collision.
[0451] Clause 72. A system according to clause 61, wherein the collision avoidance action includes at least one of: generating an alarm in the host vehicle; initiating reverse movement by the host vehicle; initiating a lane change by the host vehicle; alerting a target vehicle of the boundaries of the impact zone; and broadcasting a message to neighboring vehicles, wherein the message includes instructions to maneuver neighboring vehicles using collective and coordinated actions to clear the impact zone.
[0452] Clause 73. A method comprising: detecting a target vehicle approaching an intersection by a processor; detecting a target turning lane by a computer vision module; establishing communication with the target vehicle via a communication module by the processor; receiving parameters of the target vehicle by the processor, wherein the parameters of the target vehicle include vehicle type, vehicle model, steering angle, and turning radius; determining a current position of a host vehicle and a current position of a target vehicle by the processor; predicting a motion trajectory of the target vehicle by the processor; determining a boundary of an impact zone for the host vehicle by the processor; and determining a collision avoidance action for the host vehicle to avoid the impact zone by the processor.
[0453] Clause 74. A method according to clause 73, wherein the method is operable as a component of a host vehicle, and wherein the host vehicle is an autonomous vehicle.
[0454] Clause 75. The method according to clause 73, wherein the method is further configured to autonomously perform collision avoidance actions via a control module.
[0455] Clause 76. A method comprising: detecting, by a processor of an autonomous vehicle, a large vehicle approaching an intersection; establishing communication with the large vehicle by the processor of the autonomous vehicle; receiving, by the processor of the autonomous vehicle, a model number, a vehicle type, and a turning radius of the large vehicle in real time; calculating, by the processor of the autonomous vehicle, an impact zone of the large vehicle when navigating a turn using a computer vision algorithm and based on the turning radius; determining, by the processor of the autonomous vehicle, a current position of the autonomous vehicle; mapping, by the processor of the autonomous vehicle, the current position and the impact zone of the autonomous vehicle to determine a probability of collision; and performing, by the processor of the autonomous vehicle, an action, wherein the action comprises at least one of: generating an alarm in the autonomous vehicle; initiating a first reverse movement by the autonomous vehicle; initiating a first lane change by the autonomous vehicle; maintaining the current position of the autonomous vehicle; alerting the large vehicle of the impact zone, the current position of the autonomous vehicle, and the probability of collision; and broadcasting a message to neighboring vehicles, wherein the message comprises the impact zone, the probability of collision, and instructions regarding, for collective and coordinated action, neighboring vehicles performing at least one of a second lane change, maintaining the lane, and performing a second reverse movement to clear the impact zone; and wherein the method is operable to predict an impact zone for a large vehicle making a turn and perform actions for collision avoidance.
Claims
1. A system comprising: Processor, computer vision module and control module; Among other things, the system is operable to: detecting, by a processor, target vehicles at and near intersections; determining, by a processor, a current position of the host vehicle and a current position of the target vehicle; Detect the target turning lane through a computer vision module; estimating, by a processor via a computer vision module, parameters of a target vehicle, wherein the parameters of the target vehicle include vehicle type, vehicle model, steering angle, and turning radius; Predict the motion trajectory of the target vehicle through the processor; determining, by a processor, boundaries of an impact zone for a host vehicle; and A collision avoidance maneuver is determined by the processor to avoid the impact zone.
2. The system according to claim 1, wherein: The system is operable as a component of a host vehicle, and wherein the host vehicle is an autonomous vehicle configured to autonomously perform collision avoidance maneuvers to avoid an impact zone via a control module.
3. The system according to claim 1, wherein: The target vehicle is a large vehicle and includes one of a semi-trailer, a bus, an SUV, a tractor, a truck, a recreational vehicle, a trailer, and heavy construction machinery.
4. The system according to claim 1, wherein: The current position of the target vehicle is determined in real time via the host vehicle's computer vision module including cameras, lidar, global positioning system, and radar.
5. The system according to claim 1, wherein: The system is also operable to detect adjacent vehicles and adjacent lanes.
6. The system according to claim 1, wherein: The current position of the host vehicle and the current position of the target vehicle are detected using a global positioning system of a global navigation satellite system.
7. The system according to claim 1, wherein: The target turning lane is the left turning lane of the target vehicle.
8. The system according to claim 1, wherein: The system is further configured to detect the license plate number of the target vehicle through a computer vision module, and wherein the computer vision module includes an artificial intelligence engine, and the artificial intelligence engine includes a machine learning algorithm.
9. The system according to claim 1, wherein: At least one of a deterministic motion model, a computational model, and a simulation model is used to predict a motion trajectory of the target vehicle based on a steering angle and a turning radius.
10. The system according to claim 1, wherein: The host vehicle is operable to establish communications with the target vehicle to obtain steering angle, velocity, and acceleration, and to update the boundaries of the impact zone in real time as the target vehicle is moving.
11. The system according to claim 1, wherein: The collision avoidance action includes generating an alert in the host vehicle, wherein the alert is at least one of a text message, a visual prompt, an audible prompt, a tactile prompt, and a vibration.
12. The system of claim 1, wherein: The collision avoidance maneuver includes at least one of a reverse motion initiated by the host vehicle and a lane change initiated by the host vehicle.
13. The system of claim 1, wherein: The collision avoidance maneuver includes broadcasting a message to neighboring vehicles, wherein the message includes instructions to maneuver the neighboring vehicles using collective and coordinated action to clear the impact zone.
14. The system of claim 1, wherein: The collision avoidance action is determined via a computer vision module, the computer vision module includes an artificial intelligence engine, and the artificial intelligence engine includes a machine learning algorithm.
15. A method comprising: detecting, by a processor of the host vehicle, a target vehicle approaching the intersection; Detect the target turning lane through a computer vision module; Establishing communication with the target vehicle via the communication module by the processor; Receiving parameters of a target vehicle through a processor, wherein the parameters of the target vehicle include vehicle type, vehicle model, steering angle, and turning radius; determining, by a processor, a current position of the host vehicle and a current position of the target vehicle; Predict the motion trajectory of the target vehicle through the processor; determining, by a processor, boundaries for an impact zone; and A collision avoidance maneuver is determined by the processor for the host vehicle to avoid the impact zone.
16. The method according to claim 15, wherein: The host vehicle is an autonomous vehicle, and the method is further configured to automatically perform, by the control module, a collision avoidance maneuver for avoiding the impact zone.
17. The method according to claim 15, wherein: The host vehicle updates the boundaries of the impact zone in real time as the target vehicle begins to move.
18. The method according to claim 15, wherein: The communication between the host vehicle and the target vehicle is performed via at least one of vehicle-to-vehicle (V2V) communication and network-based communication, and wherein the vehicle-to-vehicle (V2V) communication is based on a wireless communication protocol using at least one of dedicated short-range communication (DSRC) and cellular vehicle-to-everything (C-V2X) technology.
19. A non-transitory computer readable medium having instructions stored thereon, the instructions being executable by a computer system to perform the following operations, comprising: detecting, by a processor of the host vehicle, target vehicles at and near intersections; determining, by a processor, a current position of the host vehicle and a current position of the target vehicle; Detect the target turning lane through a computer vision module; estimating parameters of the target vehicle by a processor, wherein the parameters of the target vehicle include vehicle type, vehicle model, steering angle, and turning radius; Predict the motion trajectory of the target vehicle through the processor; determining, by a processor, boundaries for an impact zone; and A collision avoidance maneuver is determined by the control module to avoid the impact zone.
20. The non-transitory computer readable medium of claim 19, wherein: Collision avoidance maneuvers include alerting the target vehicle of an impending collision.
Citation Information
Cited By
Method and apparatus for controlling parking of vehicle using LiDAR sensor
US12576835B2
