Potential action alerts for path sharing
By sharing predicted vehicle trajectory information within the target area and providing early warnings through one-way broadcast transmission, the problem of following vehicles having difficulty predicting unexpected maneuvers of vehicles in front is solved, thus improving driving safety and responsiveness.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- TOYOTA MOTOR ENG & MFG NORTH AMERICA INC
- Filing Date
- 2025-12-18
- Publication Date
- 2026-06-19
AI Technical Summary
In complex driving scenarios, following vehicles may have difficulty predicting sudden or unexpected maneuvers by vehicles in front, leading to increased safety risks. Existing technologies are unable to effectively address this problem.
By sharing its predicted motion trajectory with nearby vehicles within a limited target area, and using one-way broadcast transmission to provide early warnings to potentially affected vehicles, the information transmission process is simplified and no prior connection needs to be established.
It improves the driver's safety and responsiveness in complex driving environments, reduces the safety risks of potential maneuvers, and enhances the driving experience.
Smart Images

Figure CN122245134A_ABST
Abstract
Description
Technical Field
[0001] The topics described in this article generally relate to sharing route information between vehicles, and more specifically, to providing short-range communication of specified predicted routes to facilitate perception of nearby vehicles affected within a limited target area. Background Technology
[0002] Driving presents the challenge of anticipating the actions of the vehicle ahead, even though the future intentions of the vehicle ahead are often uncertain. This problem can be particularly pronounced in complex driving scenarios where unexpected maneuvers are more likely, and failure to anticipate and act in time can lead to unsafe situations. In real-world driving, especially in mixed traffic environments with varying levels of automation, drivers frequently find themselves in situations requiring them to anticipate the actions of the vehicle ahead. For example, a driver following a vehicle may want to know in advance whether the vehicle ahead will suddenly change lanes, make an unexpected turn, or slow down. This knowledge allows the following driver to adjust their driving behavior, reducing the risk of collisions and improving overall traffic flow. Conversely, the driver of the vehicle ahead (in this case, their own vehicle) may also be concerned about ensuring that the drivers behind them are aware of their intentions, especially when their actions may not be immediately apparent, such as preparing to make a sudden turn or merge into another lane.
[0003] However, even when drivers and / or vehicle systems can observe a vehicle, predicting sudden maneuvers remains beyond their capabilities because these maneuvers often deviate from common driving practices and are therefore typically unpredictable. Drivers and vehicle systems often lack the ability to infer the intentions behind these actions, such as whether the vehicle ahead plans to turn left, merge into another lane, or take evasive action due to missing a highway exit. This limitation introduces uncertainty for following drivers, especially in scenarios involving complex maneuvers, such as rapid lane changes or navigating multi-lane intersections, which, if not anticipated in time, can lead to collisions. Summary of the Invention
[0004] The example systems and methods involve real-time path sharing. As previously mentioned, anticipating sudden or other unexpected maneuvers by nearby vehicles is difficult and often beyond the capabilities of advanced driver assistance systems (ADAS) and drivers. That is, the driver's task is typically to try to guess when other vehicles will act unexpectedly to avoid dangerous situations. However, this is often impractical, and therefore, drivers may be caught off guard when other vehicles perform such maneuvers.
[0005] Therefore, in at least one method, the system of the present invention aims to overcome this deficiency by enabling the vehicle to share its predicted trajectory of motion with nearby vehicles within a limited target area. This information transmission allows nearby vehicles to receive information that can be extrapolated as warnings about anticipated maneuvers of the vehicle, thereby enabling drivers to adjust their driving behavior accordingly. That is, the vehicle can predict its future path based on a known or inferred destination. Thus, when the vehicle may turn, suddenly change lanes, etc., the system can anticipate the maneuver and communicate it to nearby vehicles. Furthermore, to further simplify the method, the system typically does not establish a connection with nearby vehicles, but instead defines a target area, which is the area that may be affected by the maneuver. For example, in the case of a sudden lane change, the system can identify the target area as the area on the rear passenger side of the vehicle corresponding to the direction of the maneuver.
[0006] The system can then focus the transmission as a one-way broadcast to a target area without requiring pre-arranged / established connections. Therefore, if a nearby vehicle is present in the area, it can receive the transmission and provide a warning or other action to mitigate the safety risks of potential maneuvers. This approach is particularly valuable when a vehicle's decision-making process is not immediately clear through external observation. For example, on a multi-lane arterial road, a vehicle may need to quickly change lanes to complete an upcoming turn, potentially creating a collision with nearby vehicles. In such cases, sharing the predicted intent early can help drivers adjust their position or speed to accommodate the upcoming maneuver, thus improving safety. Similarly, in complex parking scenarios, vehicles may need to navigate multiple lanes or conflicting entrances to reach different store entrances; sharing trajectory predictions can help reduce confusion and prevent accidents. Additionally, drivers following slower vehicles can benefit from receiving trajectory predictions that indicate whether the vehicle ahead is likely to turn left or right, change lanes, or maintain its current path, enabling better decision-making and smoother traffic flow.
[0007] This approach is applicable to a wide range of driving environments, including manual, assisted, and autonomous driving, and is designed to improve safety, collaboration, and the overall driving experience in environments with highly uncertain and reactive vehicle inputs. By enabling vehicles to share predicted trajectories, the system provides a proactive solution to many common driving challenges, helping drivers navigate complex situations with greater confidence and safety.
[0008] In one embodiment, a motion system is disclosed. The motion system includes one or more processors and a memory communicatively coupled to the one or more processors. The memory stores a control module, the control module including instructions that, when executed by the one or more processors, cause the one or more processors to acquire data about a vehicle's route and current location. The instructions include instructions to predict a path for the vehicle based on the data. The instructions include instructions to generate a message about the path in response to determining that the path meets an action threshold. The instructions include instructions to convey the message to a target area.
[0009] In one embodiment, a non-transitory computer-readable medium is disclosed, the non-transitory computer-readable medium including instructions that, when executed by one or more processors, cause the one or more processors to perform one or more functions. The instructions include instructions for acquiring data about a vehicle's route and current location. The instructions include instructions for predicting a path for the vehicle based on the data. The instructions include instructions for generating a message about the path in response to determining that the path meets an action threshold. The instructions include instructions for conveying the message to a target area.
[0010] In one embodiment, a method is disclosed. In one embodiment, the method includes acquiring data about a vehicle's route and current location. The method includes predicting a path for the vehicle based on the data. The method includes generating a message about the path in response to determining that the path meets an action threshold. The method includes communicating the message to a target area. Attached Figure Description
[0011] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate various systems, methods, and other embodiments of this disclosure. It should be appreciated that the element boundaries illustrated in the drawings (e.g., boxes, groups of boxes, or other shapes) represent one embodiment of a boundary. In some embodiments, one element may be designed as multiple elements, or multiple elements may be designed as one element. In some embodiments, an element representing an internal component of another element may be implemented as an external component, and vice versa. Furthermore, the individual elements may not be drawn to scale.
[0012] Figure 1 The illustration shows an embodiment of a vehicle in which the systems and methods disclosed herein can be implemented.
[0013] Figure 2 This diagram illustrates an example of an action system associated with real-time path sharing of vehicles in a target area.
[0014] Figure 3This diagram illustrates the action system within a cloud computing environment.
[0015] Figure 4 The diagram illustrates a standalone example of a target region used for directed messaging.
[0016] Figure 5 The illustration shows an example scenario where the motion system operates to provide a warning to nearby vehicles.
[0017] Figure 6 This is a flowchart illustrating an embodiment of predicting vehicle paths and sharing the predicted paths within the target area of neighboring vehicles.
[0018] Figure 7 This is a flowchart illustrating an embodiment of providing information about the predicted path from nearby vehicles traveling in the target area. Detailed Implementation
[0019] Systems, methods, and other embodiments associated with real-time route sharing are disclosed. As previously mentioned, anticipating sudden or other unexpected maneuvers by nearby vehicles is difficult. That is, a driver's task is often to try to anticipate when other vehicles will act unexpectedly to avoid dangerous situations. However, it is usually not feasible to make accurate predictions all the time, and therefore, drivers may be caught off guard when other vehicles perform such maneuvers.
[0020] Therefore, in at least one approach, the motion system aims to overcome this deficiency by enabling the vehicle to share its predicted trajectory of motion with nearby vehicles within a limited target area. This information transmission allows nearby vehicles to receive information that can be extrapolated into warnings about anticipated maneuvers of the vehicle, thereby enabling drivers to adjust their driving behavior accordingly. That is, the vehicle can predict future routes based on known or inferred destinations. Thus, the system can make full use of information from navigation systems or learn possible destinations of the vehicle through repeated patterns observed by the driver.
[0021] Therefore, the system can then assess the current position against the route to determine possible maneuvers, thereby determining the vehicle's future trajectory. That is, the system attempts to predict when the vehicle might turn, suddenly change lanes, etc., by generating a predicted trajectory based at least on the inferred or explicitly known current position and route. Furthermore, to further simplify the method, the system typically does not establish connections with nearby vehicles, but instead defines a target area that might be affected by the predicted trajectory. For example, in the case of a sudden lane change, the system can identify the target area as the area on the rear passenger side (i.e., the right side) of the vehicle corresponding to the direction of the maneuver. In the case of a U-turn, the system can identify the target area as the area in front of the vehicle.
[0022] In all cases, the system focuses the transmission as a one-way broadcast transmission to the target area without requiring a pre-arranged connection. Furthermore, the system provides the transmission within a limited target area, for example, by limiting the transmission power and direction, to avoid providing the transmission to unaffected vehicles. If a nearby vehicle is present in the area, it can receive the transmission and provide warnings or other actions to facilitate avoidance of the potential maneuver. For example, a nearby vehicle can use audible or visual warnings generated inside the vehicle to alert the driver to the maneuver. In this way, the system provides proactive assistance for many common driving challenges, helping drivers navigate complex situations with greater confidence and safety.
[0023] See Figure 1 The diagram illustrates an example of vehicle 100. As used herein, "vehicle" refers to any form of powered transportation. In one or more implementations, vehicle 100 is an automobile. While various embodiments will be described in relation to automobiles herein, it should be understood that the embodiments are not limited to automobiles. In some implementations, vehicle 100 can be any device, for example, that transports passengers. In various approaches, vehicle 100 can be an autonomous vehicle. Vehicle 100 can operate manually, autonomously, semi-autonomously, or with the assistance of various advanced driver assistance systems (ADAS). Furthermore, vehicle 100 can be a networked vehicle capable of wirelessly communicating with other devices such as cloud computing components.
[0024] In any case, vehicle 100 also includes various components. It should be understood that, in various embodiments, vehicle 100 may not necessarily have... Figure 1 All the components shown. Vehicle 100 may have Figure 1 Any combination of the various elements shown. Furthermore, vehicle 100 may have, in addition to Figure 1 Additional components besides those shown. In some schemes, these can be omitted. Figure 1 The vehicle 100 is implemented using one or more of the components shown. Although in Figure 1 In this representation, the various components are shown as being located within vehicle 100; however, it should be understood that one or more of these components may be located outside vehicle 100. Furthermore, the components shown may be physically separated by a considerable distance. For example, as discussed further below, one or more components of the disclosed system may be implemented within vehicle 100, while other components of the system may be implemented in a cloud-based environment.
[0025] Some of the possible components of vehicle 100 are shown in Figure 1 In, and will be together with subsequent appendices Figure 1 The description begins here. However, for the sake of brevity, the description will be... Figures 2-7 Provided after discussion Figure 1The description of many elements herein. Furthermore, it should be appreciated that, for the sake of simplicity and clarity of illustration, reference numerals are repeated between different figures where appropriate to indicate corresponding or similar elements. Additionally, numerous specific details are outlined in the discussion to provide a thorough understanding of the embodiments described herein. However, those skilled in the art will understand that the embodiments described herein can be practiced using various combinations of these elements. In any case, as Figure 1 As illustrated in the embodiments, each vehicle 100 includes a motion system 170 that performs the methods and other functions disclosed herein related to predicting trajectories and providing potential motion warnings to nearby vehicles to facilitate improved safety of nearby vehicles.
[0026] Furthermore, the motion system 170, located within the vehicle 100, works in conjunction with the communication system 180. In one embodiment, the communication system 180 communicates according to one or more communication standards. For example, the communication system 180 may include multiple different antennas / transceivers and / or other hardware components for communicating at different frequencies and according to appropriate protocols. In one embodiment, the communication system 180 communicates via radio frequency (RF) communication protocols such as Wi-Fi, DSRC, V2I, V2V, or other suitable protocols for communicating between the vehicle 100 and other entities via direct signal transmission. Additionally, in one embodiment, the communication system 180 also communicates according to protocols such as Global System for Mobile Communications (GSM), Enhanced Data Rate GSM Evolution (EDGE), Long Term Evolution (LTE), 5G, or other communication technologies that enable communication between the vehicle 100 and various remote devices (e.g., cloud-based servers). In one embodiment, the communication system 180 includes one or more phased array antennas that function to direct the transmission of electromagnetic waves in a specific direction without, for example, mechanically moving the antenna's pointing direction. In any situation, the motion system 170 can make full use of various wireless communication technologies and hardware components to provide communication to other entities, such as nearby vehicles that may be traveling in the target area of the adjacent vehicle 100.
[0027] See Figure 2 The figure further illustrates one embodiment of the motion system 170. The motion system 170 is shown as including [missing information - likely a data source or component]. Figure 1The processor 110 of the vehicle 100. Therefore, the processor 110 may be part of the motion system 170, which may include a processor separate from the processor 110 of the vehicle 100, or the motion system 170 may access the processor 110 via a data bus or other communication path. In a further aspect, the processor 110 is a cloud-based resource. Therefore, the processor 110 may communicate with the motion system 170 via a communication network, or may be located in the same location as the motion system 170. In one embodiment, the motion system 170 includes a memory 210 for storing the control module 220. The memory 210 is random access memory (RAM), read-only memory (ROM), hard disk drive, flash memory, or other suitable memory (volatile or non-volatile) for storing other information used by the module 220 and / or the motion system 170. The module 220 is, for example, a computer-readable instruction within physical memory 210 that, when executed by the processor 110, causes the processor 110 to perform the various functions disclosed herein.
[0028] As previously mentioned, the motion system 170 can also be implemented within the vehicle 100 as part of a cloud-based system running within the cloud environment 300, such as... Figure 3 As illustrated in the diagram, the motion system 170 can be represented as a vehicle-based instance and a cloud-based instance. In this scheme, the vehicle-based instance can provide information to the cloud-based instance for different tasks. For example, the cloud-based instance can process unloading data for the vehicle-based instance, and the vehicle-based instance can report routes, trajectories, and other information to the cloud-based instance, etc. Generally, the cloud-based instance does not undertake the function of communicating the trajectory to nearby vehicles, but it can facilitate the learning of driving routes for vehicles to help infer routes and predict trajectories. Therefore, as shown, the motion system 170 can include independent instances within one or more entities (such as servers) of the cloud-based environment 300, and instances within vehicles 310, 320, and 330 whose function is to acquire, analyze, and distribute said information. Furthermore, Figure 3 The diagram also illustrates an example of how the motion system 170 communicates with a cloud-based instance while also providing one-way broadcast communication to nearby vehicles. As shown, vehicle 310 is sending a one-way broadcast to nearby vehicles 320 and 330. As will be described in more detail later, vehicles 310-330 do not need to have any pre-established relationships or connections. The inclusion within the same cloud environment 300 is shown merely for illustrative purposes and should not be construed as implying any pre-established associations / connections. In any case, the motion system 170 of vehicle 310 can provide the one-way broadcast as a potential motion alert to vehicles 320 and 330 to inform them of potential future maneuvers of vehicle 310, thereby enhancing safety.
[0029] See also Figure 2 In a general embodiment of the motion system 170, in one or more embodiments, the motion system 170 includes a data repository 240. In one embodiment, the data repository 240 is an electronic data structure (e.g., a database) stored in memory 210 or another electronic memory, and is configured with routines executable by processor 110 for analyzing the stored data, providing the stored data, organizing the stored data, etc. Thus, in one embodiment, the data repository 240 stores data used by module 220 in performing various functions. In one embodiment, the data repository 240 includes data 250, one or more models 260, and / or other information used by control module 220. It should be appreciated that although the data repository 240 is shown as including data 250 and models 260, independent instances of the motion system 170 may implement the data repository 240 to include different sets of information.
[0030] In any case, control module 220 includes instructions that control processor 110 to acquire data 250. Data 250 may include information about vehicle 100 itself and information about the vehicle's surrounding environment. Thus, in at least one method, motion system 170 captures observations of the surrounding environment in the form of sensor data received by motion system 170. Depending on the specific implementation, the form of data 250 may vary. However, it should be appreciated that data 250 includes at least location information (e.g., GNSS data) about the current location of vehicle 100, and in at least one embodiment, also includes route information, which may be explicit or inferred. Of course, in further embodiments, data 250 may include additional information, such as camera images or other sensor data, which facilitates the determination of the current location and lane position on the road surface, as well as other aspects of the surrounding environment, for example.
[0031] Therefore, control module 220 typically includes instructions that cause processor 110 to control one or more sensors of vehicle 100 to generate observations about the surrounding environment. In one embodiment, control module 220 controls the corresponding sensors of vehicle 100 to provide sensor data. Control module 220 may also process the sensor data into independent observations of the surrounding environment. For example, in one method, control module 220 fuses data from independent sensors to provide observations about specific aspects of the surrounding environment. For instance, in one or more methods, sensor data 250 itself may take the form of independent camera images, ultrasonic echoes, radar echoes, LiDAR echoes, satellite-based location data (e.g., GNSS), and / or other information.
[0032] Control module 220 can derive various deterministic results (e.g., location, attitude, characteristics, etc.) from sensor data and fuse data for independently identified aspects of the surrounding environment, such as lane markings. Control module 220 can also extrapolate data to observations, for example, by associating independent instances into meaningful observations about objects beyond instantaneous data points. In one scheme, control module 220 applies one of models 260 to an image in the sensor data to extract features representing objects and other features of the surrounding environment. Similarly, control module 220 can process other types of data (e.g., radar, LiDAR, etc.) into features and then merge features representing the same elements together.
[0033] Additionally, while control module 220 is discussed as controlling various sensors to provide sensor data, in one or more embodiments, module 220 may employ other active or passive techniques to acquire sensor data. For example, control module 220 may passively sniff out sensor data from electronic information streams provided to other components within vehicle 100 by various sensors or other modules / systems in vehicle 100. Furthermore, sensor data may include information about vehicle 100 itself, such as location, speed, acceleration, heading, steering angle, and the presence of passengers. Thus, in one embodiment, sensor data represents a combination of perceptions acquired from multiple sensors.
[0034] Of course, the available sensor data that the motion system 170 can acquire may vary depending on the sensors included in the vehicle 100 or other entities. As an example, depending on a particular implementation, the vehicle 100 may include different types of cameras or different arrangements of multiple cameras. When acquiring sensor data, the control module 220 can acquire various electronic inputs from the vehicle 100, which can be stored as data 250 in the data repository 240 of the motion system 170 and processed according to various algorithms such as machine learning algorithms and heuristic algorithms.
[0035] Furthermore, as briefly described, data 250 includes information about the current route of vehicle 100. In one example, the route information can be explicit. That is, the driver can input a specific destination into the navigation system or into a mobile device within vehicle 100. The navigation system then generates an explicit route from the current location to the destination, in at least one scenario, the route plotting a map of specific roads and turns leading to the destination. Control module 220 can then obtain the route information from the navigation system or mobile device of vehicle 100. The route information informs control module 220 of possible maneuvers to be performed along the route.
[0036] Similarly, when explicit route information is unavailable, control module 220 can obtain route information based on an inferred destination. In at least one scenario, control module 220 can learn patterns in the routes taken by the driver, and then infer the current destination from these patterns. For example, control module 220 can record routes according to time of day, day of the week, etc. Generally, most drivers take the same routes when going to work, picking up children, running errands, etc. These routes often follow patterns of time of day and day of the week. Users may also make similar stops along the route, such as stopping at the same location to buy morning coffee on their way to work. Therefore, control module 220 can record this information and train one of models 260 to infer routes based on current contextual cues, such as time, date, and passengers present in vehicle 100. As a result, the model (typically a machine learning model) outputs a destination and / or multiple destinations that may appear sequentially. Control module 220 can then generate a route for the inferred destination, which can then be used to predict maneuvers. Therefore, in addition to sensor data, data 250 may also include inferred or explicit route information.
[0037] Then, control module 220 uses data 250 to predict the path of vehicle 100. In at least one embodiment, control module 220 applies one of models 260 to data 250 to predict the path. It should be noted that data 250 includes road knowledge either as part of route information or independently. That is, route information includes road structure indicating road type, indicated speed, lanes, intersections, traffic signals, etc., so that the model can take into account various aspects affecting the control of vehicle 100.
[0038] In any situation, control module 220 predicts the path of vehicle 100 within a prediction time horizon (e.g., 5.0 seconds) relative to its current location / position on the road surface. Within control module 220, the prediction horizon can be increased or decreased based on vehicle, route, and other signal inputs. Generally, the predicted path is the trajectory of vehicle 100 within the defined prediction horizon. Therefore, the predicted path defines the trajectory (i.e., heading and speed) of the vehicle over multiple instances (e.g., every 0.1 seconds) within the prediction horizon. For example, suppose vehicle 100 is traveling on a multi-vehicle road in the lane furthest from the turn / exit lane. Further assume that an exit for vehicle 100 to follow the route is 160 meters ahead. The risk in this situation is that the driver might attempt an emergency lane change across multiple lanes to correct a careless deviation from the correct lane position and complete the turn, even if surrounding traffic may not anticipate this. That is, changing lanes in this way could affect nearby vehicles in adjacent lanes that vehicle 100 suddenly maneuvers through in order to still enter the exit / complete the turn. Therefore, the control module 220 predicts the path based at least on the current lane-level position and route information.
[0039] Once the control module 220 has generated a predicted path, in at least one scenario, the control module 220 can further determine whether to generate a message (potential action warning) about the predicted path, which is then sent to nearby vehicles. The action system 170 selectively provides this message to avoid nearby vehicles being overwhelmed by potentially irrelevant communication. Instead, the control module 220 determines when messages about the predicted path are relevant to the operation of nearby vehicles and then communicates these messages. To achieve this, the control module 220 may evaluate the predicted path, the actual presence of nearby vehicles, and / or other factors. In at least one scenario, the control module 220 evaluates the predicted path relative to an action threshold. For example, the action threshold defines different events that constitute a condition for communicating the message. These events may include a sudden input to control the vehicle to correct its deviation from the route, a sudden change in speed, a sharp turn of the vehicle, etc. In general, the action threshold defines any situation where a future maneuver (i.e., the predicted path) could affect the operation of at least one nearby vehicle as a sufficient event to constitute the communication of the message.
[0040] In various methods, the motion system 170 can define motion thresholds and how the predicted path differently satisfies (i.e., reaches) the motion thresholds. For example, in one method, the control module 220 determines that the predicted path satisfies the motion threshold whenever it is determined that the predicted path has characteristics that may affect the operation of other nearby vehicles. The motion system 170 can broadly define what it means for the operation to affect nearby vehicles. For example, without considering the explicit presence of nearby vehicles, the motion system 170 can define the operation affecting nearby vehicles as any change in operation that deviates from a steady state. Thus, for example, in at least one method, the control module 220 can consider the motion threshold to be satisfied when vehicle 100 changes speed or direction. In a further example, the control module 220 can set thresholds for, for example, deceleration rate, steering rate, etc. In an even further example, the control module 220 can define the motion threshold by additional elements, such as steering rate with and without signal, lane change with and without signal, deceleration rate specific to different speeds or different types of roads (e.g., highways and residential roads; high-speed driving and low-speed driving), etc.
[0041] In a further method, the motion system 170 determines whether the predicted trajectory meets a motion threshold based on the presence of a target area and nearby vehicles within or at least adjacent to the target area. The target area is the region where nearby vehicles 100 may be affected by the predicted path. That is, the target area is the region where vehicle 100 might enter or pass close by if it travels along the predicted path. Therefore, nearby vehicles present in the target area may face the risk of colliding with vehicle 100, or at least be obstructed by vehicle 100. Thus, the control module 220 determines the target area based on the predicted path. The target area is specific to the predicted path because the predicted movement of vehicle 100 is often the basis for defining the target area. Therefore, the control module 220 analyzes the predicted path to determine possible directions of motion, and then defines the target area according to these possible directions of motion relative to vehicle 100.
[0042] Of course, while control module 220 can be used as a heuristic method to determine the target region, in further examples, control module 220 can use one of the trained models 260 to identify the target region. In at least one approach, control module 220 can be trained to generate a path prediction model that also outputs the target region, while in other examples, target region determination can be performed by a separate model. In any case, such a model can accept the predicted path along with information about the surrounding environment (e.g., lane-level map) to identify the target region. In further approaches, the model can also accept vehicle characteristics (e.g., size) and / or other relevant information to generate the target region as output. The target region itself can be defined differently depending on the implementation. That is, the shape and size of the target region may vary from implementation to implementation. Control module 220 can generate the target region as a polygon (e.g., rectangle), wedge, circle, etc. The size of the target region may also vary from implementation to implementation. In one approach, the size of the target area is, for example, a predefined size (e.g., three times the length of vehicle 100), while in other approaches, the control module 220 dynamically determines the size based on current dynamics (e.g., speed) and / or environmental conditions (e.g., weather). Regardless of the approach taken, the motion system 170 can generate the target area to facilitate the definition of areas that may be affected by the predicted path.
[0043] Therefore, continuing to refer to the determination of whether the predicted path meets the action threshold, the control module 220 can use the target area to determine whether the action threshold is met. In this case, the control module 220 can actively determine whether a nearby vehicle exists within the target area or at least adjacent to the target area. For example, the control module 220 can collect sensor data from one or more sensors, which allows the control module 220 to determine the location of a nearby vehicle relative to vehicle 100. The control module 220 can use, for example, images, ultrasonic echoes, radar echoes, LiDAR echoes, etc., to identify and locate nearby vehicles. In this case, the control module 220 determines whether the detected nearby vehicle is within the target area or at least adjacent to the target area (e.g., within a threshold distance of 20m). Therefore, when the control module 220 determines that a nearby vehicle has been detected within or adjacent to the target area, the control module continues to generate and communicate messages.
[0044] Control module 220 generates a message that includes information sufficient to notify one or more nearby vehicles 100 of the vehicle's identity and the predicted route. Therefore, control module 220 can generate a message specifying the vehicle 100's location (e.g., lane position), brand / model, color, license plate number, etc. Generally, the identification information provided in the message is intended to be sufficient for drivers of nearby vehicles to easily determine which vehicle conveyed the message and the potential action that vehicle might take. Therefore, to convey the potential action itself, control module 220 may include a concise description of the predicted route or the associated action being taken by the driver.
[0045] For example, consider Figure 4 , Figure 4 The diagram illustrates target areas associated with different predicted trajectories. As shown, target area 410 is located to the left rear of vehicle 100 (e.g., driver's side) and is associated with a predicted path indicating a sudden left turn of vehicle 100. In this example, information about the path / risk might include "sudden left turn," "change lanes to the left," or other similar indications describing the predicted path. Target area 420 is located to the right rear of vehicle 100 (e.g., passenger side) and is associated with a predicted path indicating a sudden right turn or change lanes to the right. In this case, information about the path could specify "sudden right turn," "change lanes to the right," etc. Target area 430 is located to the left front of vehicle 100 and is associated with a predicted path indicating a U-turn. For target area 430, the message could specify "U-turn," "left turn U-turn," etc. Target area 440 is located in the rear area of vehicle 100 and is associated with a predicted path indicating deceleration or leaving the current road. Therefore, the message could specify "sudden deceleration," "severe deceleration," and "leave the road," etc.
[0046] In a further example, control module 220 can communicate the predicted trajectory itself as information about the maneuvers that vehicle 100 can perform, which can then be interpreted by nearby vehicles. Furthermore, while the assessment of the action threshold describes the determination of the target area, it should be understood that, without considering the presence of other vehicles, control module 220 could instead determine the target area, for example, when generating the message.
[0047] In any case, once a message is generated, the control module 220 sends the message. In one or more scenarios, this transmission is implemented as a one-way broadcast communication. That is, vehicle 100 typically does not establish a negotiated connection with one or more nearby vehicles beforehand. Instead, the control module 220 sends the message blindly without considering the establishment of a formal connection, and in at least one scenario, without knowing the actual presence of any nearby vehicles. By sending messages in this manner, the motion system 170 is simplified in implementation, thereby allowing the motion system 170 to be implemented in a wider range of existing vehicle configurations without requiring specific hardware.
[0048] Additionally, in at least one method, the control module 220 can focus the transmission to avoid reception by unaffected vehicles. For example, the control module 220 can transmit messages in an omnidirectional or directional manner. In the omnidirectional case, the control module 220 can modulate the transmit power to adapt to the signal strength, thereby limiting the distance over which the message can be transmitted. Typically, the control module 220 considers the target when determining how to transmit the message. That is, the control module 220 determines the target area to define the distance, and in one method, defines the direction along which the message is transmitted. Thus, the control module 220 can limit the signal strength to reduce the distance over which the message is transmitted while ensuring that the target area remains within the overall envelope of the transmission. Furthermore, as mentioned above, the control module 220 can also use beamforming to orient the transmission in a specific direction. Therefore, the control module 220 can control the direction and / or distance used to transmit the message in order to focus the transmission on nearby vehicles that may be affected by the predicted path.
[0049] To focus the transmission, control module 220 defines a target area and derives direction and distance based on the target area. The determination of the approximate direction of the target area has been described, but the overall coverage area can be determined using different methods. For example, depending on the implementation, control module 220 may define the target area as a wedge, circle, or polygon. Control module 220 then selects the transmission power and / or direction to ensure that the target area is included within the transmission coverage area. In cases where the transmission coverage area covers areas outside the target area, control module 220 may also include information about the target area definition in the message. That is, the control module may define the coordinates of the center point of the target area defined by a circular area. This center point, combined with the radius, can be omnidirectionally transmitted with the message, and nearby receiving vehicles can then calculate whether they are within the target area when the message is provided. Alternatively, control module 220 may define the target area as a single point indicating a vertical direction extending outward from the vehicle, defining a rectangular area, two points defining a specific rectangular area associated with a particular lane, or three or more points defining a complex polygon. In any situation, the control module 220 is able to send messages in the form of one-way broadcast communication so that nearby vehicles can obtain information about the control of vehicle 100 and avoid potentially risky maneuvers that are otherwise unpredictable to external observers.
[0050] As an example scenario of how the Action System 170 operates, consider Figure 5 , Figure 5 The diagram 500 illustrates a multi-lane road with multiple vehicles and exit ramps. As shown, vehicle 100 is traveling in the leftmost lane of the road. Therefore, it is assumed that vehicle 100 is following a route requiring it to exit via the exit ramp indicated by waypoint 510. Thus, action system 170 determines the current position of vehicle 100 and the route information of the designated waypoint 510. As a result, action system 170 indicates a predicted path 520, which shows vehicle 100 making a series of rapid lane changes to maintain the route. Action system 170 considers the predicted path relative to action thresholds and determines that the predicted path satisfies the action thresholds, for example, because the vehicle's steering rate exceeds a defined operational threshold. Alternatively, action system 170 may individually identify the series of rapid lane changes required to maintain the predicted path as satisfying the action thresholds. In either case, action system 170 determines a target area 530 based on the predicted path 520 and generates a message indicating that vehicle 100 may make an emergency right lane change to exit the road.
[0051] The action system 170 then directs the transmission to the target area using beamforming and sends the message by limiting the transmission power. This allows nearby vehicles within the target area to receive the message while limiting other vehicles from receiving it, which could confuse them about potential nearby risks. Once received, nearby vehicles issue warnings based on the description provided in the message, such as "Warning: The purple vehicle in the leftmost lane may suddenly veer to the right." In this way, the action system 170 is able to provide warnings to nearby vehicles to improve drivers' awareness of evasive or other unpredictable maneuvers by vehicle 100, thereby enhancing safety.
[0052] Combining Figure 6 Describe additional aspects regarding the sharing of route information between vehicles. Figure 6 The flowchart illustrates method 600, which involves predicting vehicle paths and selectively sharing the associated paths with nearby vehicles. Method 600 is derived from... Figures 1-2 This discussion is from the perspective of action system 170. Although method 600 is discussed in conjunction with action system 170, it should be understood that method 600 is not limited to implementation within action system 170, but can be an example of a system that implements method 600. Furthermore, although the method is illustrated as a generally sequential process, various aspects of method 600 can be executed in parallel to perform the described functions.
[0053] At 610, control module 220 acquires data 250. As previously described, data 250 includes at least information about the route of vehicle 100 and the current location of vehicle 100. Therefore, data 250 may include sensor data from vehicle 100 and / or other devices (e.g., roadside units, connected vehicles, etc.) as well as explicit or inferred route information. Thus, control module 220 can control sensor system 120 to acquire sensor data. In one embodiment, control module 220 controls camera 126 of vehicle 100 to observe the surrounding environment. Alternatively or additionally, control module 220 controls camera 126 and LiDAR 124 or another set of sensors to acquire sensor data. As part of controlling the sensors to acquire sensor data, it is generally understood that the sensors acquire sensor data of the area around vehicle 100, where data acquired from different types of sensors often overlap to provide a comprehensive sample of the surrounding environment at each time step. Therefore, in one embodiment, control module 220 controls the sensors to acquire sensor data of the surrounding environment.
[0054] Furthermore, in a further embodiment, control module 220 controls the sensor to acquire sensor data 250 in a continuous iterative or time-step manner. Thus, in one embodiment, action system 170 iteratively executes the functions discussed in blocks 610-630 to acquire data 250 and provide information based on data 250. Additionally, in one embodiment, control module 220 executes one or more of the aforementioned functions in parallel for independent observations to maintain updated perception. Furthermore, as previously described, when acquiring data from multiple sensors, control module 220 can fuse the data to form sensor data and provide improved determinations for detection, localization, etc.
[0055] As an additional aspect of acquiring data 250, control module 220 further determines route information. Route information can be explicit or inferred. That is, when an explicit destination is available from the vehicle 100's navigation system or other sources, control module 220 knows the destination and the route the driver is following. However, when no explicit destination is available, control module 220 infers the destination and associated route based on learned driver behavior. Therefore, control module 220 makes full use of a particular driver's driving history to infer route planning (i.e., the destination and the route to that destination). As previously mentioned, control module 220 identifies driver patterns based on past routes driven by the driver to assess possible current destinations and the route the driver will follow. It should be noted that the route taken by the driver may differ from the route determined by the navigation system, as the driver may travel along preferred roads or make temporary stops at intermediate destinations. Therefore, control module 220 can learn these tendencies and provide an inferred destination when an explicit destination is unavailable.
[0056] At 620, control module 220 predicts the path of vehicle 100 according to data 250. Generally, path prediction involves determining the future maneuvers of the vehicle associated with its route relative to its current location (e.g., lane position on the road surface). Path prediction is an attempt to identify the type of future maneuver, which could be a nominal maneuver unlikely to affect any nearby vehicles (e.g., maintaining the current trajectory) or an unexpected maneuver, such as a sudden change or other alteration of the trajectory that would normally not be determined from the observed behavior of vehicle 100. Thus, by applying the prediction model in model 260 to data 250, control module 220 is able to generate a prediction of the future motion of vehicle 100 within a defined prediction time domain (e.g., 5.0 seconds). In control module 220, the prediction time domain can be increased or decreased based on vehicle, route, and other signal inputs. It should be noted that the path itself typically defines the trajectory of vehicle 100 at different iterations within the prediction time domain (i.e., heading, acceleration, and velocity). Of course, as an alternative, the control module 220 can generate a path in the form of a simplified trajectory that indicates the overall expected direction of travel of the vehicle 100 (e.g., heading only).
[0057] At 630, control module 220 determines whether the path meets the action threshold. Depending on the implementation, control module 220 can determine whether the path meets the action threshold in several ways. As previously mentioned, control module 220 can consider the presence of nearby vehicles and the characteristics of the path relative to the target area, or control module 220 can consider the predicted path only compared to the action threshold. In both cases, control module 220 evaluates the general properties of the predicted path to determine, for example, whether a future maneuver is likely to affect the operation of at least one nearby vehicle. This may require determining specific actions, such as whether the future maneuver involves a sudden input to control vehicle 100 to correct the vehicle's deviation from the route, a sudden change in speed, a sharp turn of the vehicle, etc. Generally, the action threshold can be defined as an acceleration rate and a steering rate; exceeding the defined acceleration rate and steering rate, the maneuver is considered risky. When control module 220 determines that the path does indeed meet the action threshold, control module 220 continues to generate a message at 640. Otherwise, control module 220 continues to monitor the path regarding the action threshold via 610-630.
[0058] At 640, control module 220 generates a message about the route. This message may include, for example, identification information about vehicle 100 and information about future maneuvers (i.e., the route). In a further embodiment, the message may also include information defining a target area so that the receiving vehicle can determine the relevance of the message. In at least one method, the identification information is descriptive information about the vehicle, relating to the appearance of vehicle 100 and / or the vehicle's position on the road. For example, the descriptive information may specify color, brand / model, license plate number, or other identification information. The position may be a relative position on the road relative to nearby vehicles in the target area. For example, position information may specify that vehicle 100 is ahead, to the left / right, in a specific lane, etc.
[0059] Information about the route can include simple indications of the overall nature of the route (e.g., a sudden right turn) or more specific information (e.g., an emergency multi-lane lane change towards an exit). In a further approach, the information about the route can include the route itself so that nearby vehicles can interpret the information specifically relative to the vehicle according to the driver's preference. Furthermore, as mentioned above, in at least one embodiment, the message can also include the coordinates of the target area. It should be appreciated that, generally, target area information is provided when vehicle 100 is not performing beamforming so that nearby vehicles can determine the affected location. In any case, control module 220 can include different coordinates depending on the specific shape / size of the target area implemented by motion system 170. The coordinates can define a center point and radius (when the target area is circular), indicating a single point in a vertical direction extending outward from the vehicle, defining a rectangular area, two points defining a specific rectangular area associated with a particular lane, or three or more points defining a complex polygon. In this way, vehicle 100 can convey additional information to nearby vehicles to facilitate message focusing.
[0060] At 650, control module 220 determines the target area associated with the path. It should be noted that the determination at 650 can occur in parallel with other determinations in method 600, and is not limited to the stated order. Thus, in at least one configuration, control module 220 identifies areas adjacent to vehicle 100. Control module 220 defines this area based on whether the path of vehicle 100 is likely to affect the operation of other vehicles within that space. Therefore, vehicle 100 does not need to drive through the target area; instead, control module 220 determines whether the path of vehicle 100 will cause other vehicles operating in that space to adjust their operations, for example, to avoid collisions, maintain safe operating distances, etc. In at least one method, control module 220 uses a model, such as the same model used to determine the path, to generate the target area.
[0061] At 660, control module 220 transmits a message to the target area. In at least one method, control module 220 transmits the message wirelessly using a transmitter from vehicle 100. The specific protocol used by motion system 170 may differ, but the intention is to provide one-way broadcast communication that does not require a pre-established relationship between vehicles. Furthermore, the transmission of the message may be independent of the actual presence of other vehicles in the target area. That is, motion system 170 may be unaware of the presence of other vehicles, simply providing a message in the form of a safety / risk warning to facilitate the operation of other vehicles, without requiring additional technology on vehicle 100 to sense the presence of other vehicles.
[0062] Furthermore, the transmission can have a fixed or variable signal strength, and depending on the implementation, the direction can also be fixed or variable. When focusing the transmission on a target area, the control module 220 can use a transceiver to adjust the power setting and / or beamforming technology to direct the transmission towards the target area. In this way, the motion system 170 can provide information to nearby vehicles to improve safety.
[0063] Figure 7 The flowchart illustrates method 700, which is associated with receiving and providing potential action alert messages within a nearby vehicle. Method 700 is from... Figures 1-3 This discussion is from the perspective of action system 170. Although method 700 is discussed in conjunction with action system 170, it should be understood that method 700 is not limited to implementation within action system 170, but can be an example of a system implementing method 700. Furthermore, although the method is illustrated as a generally sequential process, various aspects of method 700 can be executed in parallel to perform the stated functions. As an initial description, action system 170 can be implemented as a standalone instance within a separate vehicle. In the context of a nearby vehicle, the nearby vehicle can implement a fully functional instance of action system 170 that can both generate / send messages and receive messages, or it can simply implement an instance for receiving and providing messages within vehicle 100 according to method 700.
[0064] At 710, the action system 170 monitors the transmission of messages. In various methods, the action system 170 may monitor signals on a specific wireless channel, identifiers or flags within received communications, etc. Upon detecting the reception of a message, the action system 170 proceeds to process the message, as described at 720.
[0065] At 720, the action system 170 determines the relevance of the message. Depending on the implementation, determining relevance may include several different aspects. For example, the action system 170 may determine whether the message is actually addressed to a vehicle that has received it. In a further aspect, determining relevance may involve verifying the message as a security measure. In determining whether the message is addressed to a vehicle that received it, the action system 170 may decode a target area specified in the message and determine whether the vehicle's location is within the coverage area of the target area. In yet another approach, the vehicle itself may actively sense to identify vehicle 100 based on the description or coordinates provided in the message. In yet another approach, the vehicle may simply assume that since it received the message, it is addressed to the receiving vehicle. If, in this case, the vehicle cannot determine whether the message is relevant, the vehicle may ignore the message and continue monitoring for subsequent messages.
[0066] Regarding message verification, the Action System 170 can verify the certificate using a cryptographic signature, verify the security ID included in the message, or take other security measures to ensure the message's authenticity. If the message cannot be verified, the vehicle can return a monitoring message instead of providing the message.
[0067] At 730, the action system 170 provides a message. Depending on the implementation, the action system 170 may provide the message in different ways. For example, in one method, the action system 170 provides the message in the form of an audible warning. The audible warning may be a simple beep or other noise that raises the driver's awareness of a potential safety hazard. In a further method, the warning may be a verbal alert identifying the vehicle 100 and the actions that the vehicle 100 may take. In an even further method, the action system 170 may provide the message in the form of an audible warning on an in-vehicle display or by means of an augmented reality (AR) display that overlays the alarm onto the actual vehicle 100 from the driver's perspective. The action system 170 may also use a combination of the methods described above to provide the message. In this way, the action system 170 is able to raise the driver's awareness, thereby improving the safety of nearby vehicles.
[0068] Now we will discuss this in great detail. Figure 1This serves as an example environment in which the systems and methods disclosed herein may operate. In some cases, vehicle 100 is configured to selectively switch between autonomous mode, one or more semi-autonomous operating modes, and / or manual mode. Of course, in a further aspect, vehicle 100 may be a manually driven vehicle, which may or may not include one or more driver assistance systems, such as active cruise control, lane keeping assist, collision avoidance, etc. In any case, "manual mode" means navigating and / or maneuvering the vehicle in accordance with input received from a user (e.g., a human driver). In one or more scenarios, vehicle 100 may be a conventional vehicle configured to operate only in manual mode.
[0069] In one or more embodiments, vehicle 100 is an autonomous vehicle. As used herein, "autonomous vehicle" refers to a vehicle operating in an autonomous mode. "Autonomous mode" refers to controlling vehicle 100, navigating and / or maneuvering vehicle 100 along a driving route using one or more computing systems with minimal or no input from a human driver. In one or more embodiments, vehicle 100 is highly automated or fully automated. In one embodiment, vehicle 100 is configured with one or more semi-autonomous operating modes, in which one or more computing systems perform a portion of the vehicle's navigation and / or maneuvering along a driving route, and a vehicle operator (i.e., driver) provides input to the vehicle to perform a portion of the vehicle 100's navigation and / or maneuvering along the driving route.
[0070] Vehicle 100 may include one or more processors 110. In one or more embodiments, the one or more processors 110 may be the main processor of vehicle 100. For example, the one or more processors 110 may be an electronic control unit (ECU). Vehicle 100 may include one or more data repositories 115 for storing one or more types of data. Data repositories 115 may include volatile and / or non-volatile memory. Examples of suitable data repositories 115 include RAM (random access memory), flash memory, ROM (read-only memory), PROM (programmable read-only memory), EPROM (erasable programmable read-only memory), EEPROM (electrically erasable programmable read-only memory), registers, disks, optical disks, hard disks, or any other suitable storage medium, or any combination thereof. Data repositories 115 may be a component of one or more processors 110, or data repositories 115 may be operatively connected to one or more processors 110 for use. The term "operatively connected" as used throughout this description may include direct or indirect connections, including connections without direct physical contact.
[0071] In one or more schemes, one or more data repositories 115 may include map data 116. Map data 116 may include maps of one or more geographic areas. In some cases, map data 116 may include information or data about roads, traffic control facilities, road markings, structures, features, and / or landmarks within one or more geographic areas. Map data 116 may be in any suitable form. In some cases, map data 116 may include a bird's-eye view of the area. In some cases, map data 116 may include a ground view of the area, including a 360° ground view. Map data 116 may include measurements, dimensions, distances, and / or information about one or more items included in map data 116 and / or relative to other items included in map data 116. Map data 116 may include digital maps with information about road geometry. Map data 116 may be of high quality and / or very detailed.
[0072] In one or more embodiments, map data 116 may include one or more topographic maps 117. The one or more topographic maps 117 may include information about the ground, topography, roads, surfaces, and / or other features of one or more geographic areas. The one or more topographic maps 117 may include elevation data for one or more geographic areas. Map data 116 may be of high quality and / or very detailed. The one or more topographic maps 117 may define one or more land surfaces, which may include paved roads, unpaved roads, land, and other things that define the land surface.
[0073] In one or more schemes, map data 116 may include one or more static obstacle maps 118. One or more static obstacle maps 118 may include information about one or more static obstacles located within one or more geographic areas. A “static obstacle” is a physical object whose location remains unchanged or substantially unchanged over a period of time, and / or whose size remains unchanged or substantially unchanged over a period of time. Examples of static obstacles include trees, buildings, curbs, fences, guardrails, median strips, utility poles, statues, monuments, signs, benches, furniture, mailboxes, large boulders, hills, etc. Static obstacles may be objects that extend across the ground plane. One or more static obstacles included in one or more static obstacle maps 118 may have associated location data, size data, latitude data, material data, and / or other data. One or more static obstacle maps 118 may include measurements, dimensions, distances, and / or information about one or more static obstacles. One or more static obstacle maps 118 may be of high quality and / or very detailed. One or more static obstacle maps 118 may be updated to reflect changes within the mapping area.
[0074] One or more data repositories 115 may include sensor data 119. In this context, "sensor data" means any information about the sensors equipped on vehicle 100, including information about the capabilities and other information of such sensors. As described below, vehicle 100 may include sensor system 120. Sensor data 119 may be associated with one or more sensors of sensor system 120. For example, in one or more scenarios, sensor data 119 may include information about one or more LiDAR sensors 124 of sensor system 120.
[0075] In some cases, at least a portion of the map data 116 and / or sensor data 119 may be located in one or more data repositories 115 located on the vehicle 100. Alternatively or additionally, at least a portion of the map data 116 and / or sensor data 119 may be located in one or more data repositories 115 located remotely from the vehicle 100.
[0076] As described above, vehicle 100 may include sensor system 120. Sensor system 120 may include one or more sensors. “Sensor” means any device, component, and / or system capable of detecting and / or sensing something. One or more sensors may be configured to detect and / or sense in real time. The term “real time” as used herein means that the user or system considers it sufficiently immediate for a particular processing or determination to be performed, or that the processor is able to keep up with the processing response level of some external processing.
[0077] In a sensor system 120 that includes multiple sensors, the sensors can operate independently of each other. Alternatively, two or more sensors can operate in combination with each other. In this case, two or more sensors can form a sensor network. The sensor system 120 and / or one or more sensors can be operatively connected to one or more processors 110, one or more data repositories 115, and / or another element of the vehicle 100 (including...). Figure 1 (Any of the elements shown). The sensor system 120 can acquire data on at least a portion of the external environment of the vehicle 100 (e.g., nearby vehicles).
[0078] Sensor system 120 may include various types of sensors. Examples of different types of sensors will be described herein. However, it should be understood that embodiments are not limited to the specific sensors described. Sensor system 120 may include one or more vehicle sensors 121. One or more vehicle sensors 121 may detect, determine, and / or sense information about vehicle 100 itself. In one or more embodiments, one or more vehicle sensors 121 may be configured to detect and / or sense changes in the position and orientation of vehicle 100, for example, based on inertial acceleration. In one or more embodiments, one or more vehicle sensors 121 may include one or more accelerometers, one or more gyroscopes, inertial measurement units (IMUs), dead reckoning systems, global navigation satellite systems (GNSS), global positioning systems (GPS), navigation systems 147, and / or other suitable sensors. One or more vehicle sensors 121 may be configured to detect and / or sense one or more characteristics of vehicle 100. In one or more embodiments, one or more vehicle sensors 121 may include speedometers to determine the current speed of vehicle 100.
[0079] Alternatively or additionally, sensor system 120 may include one or more environmental sensors 122 configured to acquire and / or sense driving environment data. "Driving environment data" includes data or information about the external environment in which the autonomous vehicle is located, or one or more portions thereof. For example, one or more environmental sensors 122 may be configured to detect, quantify, and / or sense obstacles and / or information / data about such obstacles in at least a portion of the external environment of vehicle 100. Such obstacles may be stationary objects and / or moving objects. One or more environmental sensors 122 may be configured to detect, measure, quantify, and / or sense other things in the external environment of vehicle 100, such as lane markings, signs, traffic lights, traffic signs, lane lines, pedestrian crossings, curbs adjacent to vehicle 100, objects outside the road, etc.
[0080] Various examples of sensors for sensor system 120 will be described herein. Example sensors may be part of one or more environmental sensors 122 and / or one or more vehicle sensors 121. However, it should be understood that embodiments are not limited to the specific sensors described.
[0081] For example, in one or more embodiments, sensor system 120 may include one or more radar sensors 123, one or more LiDAR sensors 124, one or more sonar sensors 125, and / or one or more cameras 126. In one or more embodiments, the one or more cameras 126 may be high dynamic range (HDR) cameras or infrared (IR) cameras.
[0082] Vehicle 100 may include an input system 130. An "input system" includes any device, component, system, element, or arrangement, or a group thereof, that enables information / data to be input into the machine. Input system 130 may receive input from vehicle passengers (e.g., a driver or passenger). Vehicle 100 may include an output system 135. An "output system" includes any device, component, or arrangement, or a group thereof, that enables information / data to be presented to vehicle passengers (e.g., people, vehicle passengers, etc.).
[0083] Vehicle 100 may include one or more vehicle systems 140. Figure 1 Various examples of one or more vehicle systems 140 are shown. However, vehicle 100 may include more, fewer, or different vehicle systems. It should be appreciated that although specific vehicle systems are defined separately, each or any system or part thereof may be combined or separated within vehicle 100 in other ways by hardware and / or software. Vehicle 100 may include a propulsion system 141, a braking system 142, a steering system 143, a throttle system 144, a transmission system 145, a signaling system 146, and / or a navigation system 147. Each of these systems may include one or more devices, components, and / or combinations thereof that are now known or developed later.
[0084] Navigation system 147 may include one or more devices, applications, and / or combinations thereof, now known or developed in the future, configured to determine the geographic location of vehicle 100 and / or determine the driving route of vehicle 100. Navigation system 147 may include one or more map applications to determine the driving route of vehicle 100. Navigation system 147 may include a Global Positioning System, a Local Positioning System, or a Geospatial Positioning System.
[0085] One or more processors 110, motion systems 170, and / or one or more autonomous driving modules 160 may be operatively connected to communicate with various vehicle systems 140 and / or their respective components. For example, return Figure 1 One or more processors 110 and / or one or more autonomous driving modules 160 can communicate to send and / or receive information from the various vehicle systems 140, thereby controlling the movement, speed, maneuvering, heading, direction, etc. of the vehicle 100. One or more processors 110 and / or one or more autonomous driving modules 160 can control some or all of these vehicle systems 140, and therefore can be partially or fully autonomous.
[0086] One or more processors 110 and / or one or more autonomous driving modules 160 may be operatively connected to communicate with various vehicle systems 140 and / or their respective components. For example, return Figure 1One or more processors 110, motion systems 170, and / or one or more autonomous driving modules 160 can communicate to send and / or receive information from various vehicle systems 140, thereby controlling the movement, speed, maneuvering, heading, and direction of vehicle 100. One or more processors 110, motion systems 170, and / or one or more autonomous driving modules 160 can control some or all of these vehicle systems 140.
[0087] One or more processors 110 and / or one or more autonomous driving modules 160 may be operable to control the navigation and / or maneuvering of vehicle 100 by controlling vehicle system 140 and / or one or more of its components. For example, when operating in autonomous mode, one or more processors 110 and / or one or more autonomous driving modules 160 may control the direction and / or speed of vehicle 100. One or more processors 110 and / or one or more autonomous driving modules 160 may cause vehicle 100 to accelerate (e.g., by increasing the fuel supply to the engine), decelerate (e.g., by reducing the fuel supply to the engine and / or by applying braking), and / or change direction (e.g., by turning both front wheels). As used herein, “cause” or “incidentally” means to directly or indirectly cause, prompt, compel, guide, instruct, instruct, and / or permit an event or action to occur, or at least be in a state where such an event or action can occur.
[0088] Vehicle 100 may include one or more actuators 150. Actuator 150 may be any element or combination of elements operable to modify, adjust, and / or change one or more components of vehicle system 140 or its components in response to receiving signals or other inputs from one or more processors 110 and / or one or more autonomous driving modules 160. Any suitable actuator may be used. For example, one or more actuators 150 may include electric motors, pneumatic actuators, hydraulic pistons, relays, solenoid valves, and / or piezoelectric actuators, to name just a few possibilities.
[0089] Vehicle 100 may include one or more modules, at least some of which are described herein. Modules may be implemented as computer-readable program code that, when executed by processor 110, implements one or more of the various processes described herein. One or more modules may be components of one or more processors 110, or one or more modules may be executable on and / or distributed among other processing systems to which one or more processors 110 are operatively connected. Modules may include instructions (e.g., program logic) executable by one or more processors 110. Alternatively or additionally, one or more data repositories 115 may contain such instructions.
[0090] In one or more embodiments, one or more modules described herein may include artificial or computational intelligence elements, such as neural networks, fuzzy logic, or other machine learning algorithms. Furthermore, in one or more embodiments, one or more modules may be distributed among multiple modules described herein. In one or more embodiments, two or more modules described herein may be combined into a single module.
[0091] Vehicle 100 may include one or more autonomous driving modules 160. The one or more autonomous driving modules 160 may be configured to receive data from sensor system 120 and / or any other type of system capable of capturing information related to vehicle 100 and / or its external environment. In one or more scenarios, the one or more autonomous driving modules 160 may use such data to generate one or more driving scenario models. The one or more autonomous driving modules 160 may determine the position and speed of vehicle 100. The one or more autonomous driving modules 160 may determine the location of obstacles, barriers, or other environmental features, including traffic signs, trees, bushes, adjacent vehicles, pedestrians, etc.
[0092] One or more autonomous driving modules 160 may be configured to receive and / or determine location information of obstacles in the external environment of vehicle 100 for use by one or more processors 110 and / or one or more modules described herein to estimate the position and orientation of vehicle 100, the vehicle's position in a global coordinate system based on signals from multiple satellites, or any other data and / or signals that may be used to determine the current state of vehicle 100 or the position of vehicle 100 relative to its environment, for creating a map or determining the position of vehicle 100 based on map data.
[0093] One or more autonomous driving modules 160 may be configured, either independently or in conjunction with the motion system 170, to determine a driving path, the current autonomous driving maneuver of vehicle 100, future autonomous driving maneuvers, and / or modifications to the current autonomous driving maneuver, based on data acquired by sensor system 120, a driving scenario model, and / or data from any other suitable source (e.g., determination from sensor data). A “driving maneuver” means one or more actions that affect the movement of the vehicle. Examples of driving maneuvers include: acceleration, deceleration, braking, steering, moving laterally along vehicle 100, changing lanes, merging into a lane, and / or reversing, to name just a few. One or more autonomous driving modules 160 may be configured to perform the determined driving maneuver. One or more autonomous driving modules 160 may directly or indirectly cause such autonomous driving maneuvers to be performed. As used herein, “cause” or “lead” means to directly or indirectly cause, command, instruct, and / or permit an event or action to occur, or at least to place such an event or action in a state where it is possible. One or more autonomous driving modules 160 may be configured to perform various vehicle functions and / or send data to vehicle 100 or one or more of its systems (e.g., one or more of vehicle systems 140), receive data from vehicle 100 or one or more of its systems, interact with vehicle 100 or one or more of its systems, and / or control vehicle 100 or one or more of its systems.
[0094] Detailed embodiments are disclosed herein. However, it should be understood that the disclosed embodiments are intended merely as examples. Therefore, the specific structural and functional details disclosed herein should not be construed as limiting, but rather serve as the basis for the claims and as a representative basis for teaching those skilled in the art to use the various aspects herein differently in substantially any reasonably detailed structure. Furthermore, the terms and phrases used herein are not limiting, but rather provide an understandable description of various possible implementations. Figures 1-7 Various embodiments are shown, but the embodiments are not limited to the illustrated structures or applications.
[0095] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments. In this regard, each block in a flowchart or block diagram may represent a module, program segment, or code section containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions described in the blocks may not occur in the order shown in the drawings. For example, in fact, two blocks shown successively may be executed substantially simultaneously, or the blocks may sometimes be executed in reverse order, depending on the functions involved.
[0096] The systems, components, and / or processes described above can be implemented in hardware or a combination of hardware and software, and can be implemented centrally in a single processing system or distributed, in the case of a distributed implementation where different components are distributed across several interconnected processing systems. Any type of processing system or other apparatus suitable for performing the methods described herein is appropriate. A typical combination of hardware and software can be a processing system having computer-usable program code that, when loaded and executed, controls the processing system to perform the methods described herein. The systems, components, and / or processes can also be embedded in a machine-readable computer-readable storage medium, such as a computer program product or other data program storage device, which tangibly contains a machine-executable instruction set for performing the methods and processes described herein. These components can also be embedded in an application product that contains all the features that make the implementation of the methods described herein possible and is capable of performing these methods when loaded into a processing system.
[0097] Furthermore, the solutions described herein can take the form of a computer program product contained in one or more computer-readable media, which have computer-readable program code contained thereon, for example, stored thereon. Any combination of one or more computer-readable media can be utilized. A computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. The phrase "computer-readable storage medium" means a non-transitory storage medium. A computer-readable storage medium can be, for example, but not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatuses, or devices, or any suitable combination thereof. More specific examples (not an exhaustive list) of computer-readable storage media will include the following: portable computer floppy disks, hard disk drives (HDDs), solid-state drives (SSDs), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), portable optical disc read-only memory (CD-ROM), digital versatile optical disc (DVD), optical storage devices, magnetic storage devices, or any suitable combination thereof. In the context of this document, a computer-readable storage medium can be any tangible medium capable of containing or storing a program for use by, or in conjunction with, an instruction execution system, apparatus, or device.
[0098] Typically, modules as used herein include routines, programs, objects, components, data structures, etc., that perform specific tasks or implement specific data types. In a further aspect, memory typically stores said modules. The memory associated with a module may be a buffer or cache embedded within a processor, RAM, ROM, flash memory, or another suitable electronic storage medium. In an even further aspect, the modules contemplated in this disclosure are implemented as application-specific integrated circuits (ASICs), system-on-a-chip (SoC) hardware components, programmable logic arrays (PLAs), or another suitable hardware component embedded with a defined set of configurations (e.g., instructions) for performing the disclosed functions.
[0099] The program code contained on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, fiber optic, cable, radio frequency (RF), or any suitable combination thereof. The computer program code used to perform the operations of various aspects of this solution may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java™, Smalltalk, and C++, and conventional procedural programming languages such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0100] The terms “one” and “an” as used herein are defined as one or more. The term “multiple” as used herein is defined as two or more. The term “another” as used herein is defined as at least a second or more. The terms “including” and / or “having” as used herein are defined as encompassing (i.e., open-ended language). The phrase “at least one of… and…” as used herein refers to and includes any one of one or more related enumerated items and all possible combinations thereof. For example, the phrase “at least one of A, B, and C” includes only A, only B, only C, or any combination thereof (e.g., AB, AC, BC, or ABC).
[0101] Various aspects herein may be embodied in other forms without departing from their spirit or essential attributes. Therefore, reference should be made to the following claims rather than the foregoing description to indicate its scope.
Claims
1. A motion system, comprising: One or more processors; and A memory, communicatively coupled to the one or more processors, and storing: A control module, comprising instructions that, when executed by the one or more processors, cause the one or more processors to: Obtain data about the vehicle's route and current location; Predict the vehicle's path based on the data; In response to determining that the path meets an action threshold, a message about the path is generated; as well as The message is transmitted to the target area.
2. The motion system according to claim 1, wherein the control module includes instructions for acquiring the data, the instructions including instructions for determining the current route of the vehicle and the current location of the vehicle, the current location specifying the lane of the road in which the vehicle is traveling, and The data mentioned includes one or more of GPS data, LiDAR data, radar data, ultrasonic data, map data, and camera image data.
3. The motion system according to claim 2, wherein the control module includes instructions for determining the route, the instructions including instructions to: infer the route based on learned behavior of the driver of the vehicle, or identify a specific destination and a route plan that the driver is following, and The control module includes instructions for inferring the route, including instructions for identifying the driver's pattern based on past routes driven by the driver.
4. The motion system according to claim 1, wherein the control module includes instructions for predicting the path, the instructions including instructions for determining future maneuvers of the vehicle associated with the route of the vehicle, wherein the future maneuvers are nominal maneuvers or unplanned maneuvers, and The message identifies the vehicle and the future mobility.
5. The motion system according to claim 4, wherein the control module includes instructions to determine that the path satisfies the motion threshold, the instructions including instructions to determine whether a potential future maneuver involves at least one of: controlling the vehicle to correct a sudden input of a position of the vehicle deviating from the route, a sudden change in speed, and a sharp turn of the vehicle.
6. The motion system according to claim 4, wherein the control module includes an instruction to determine that the path satisfies the motion threshold, the instruction including an instruction to determine that the future maneuver may affect the operation of at least one nearby vehicle.
7. The motion system according to claim 1, wherein the control module includes the following instructions: Determine the target area associated with the path, including identifying areas adjacent to the vehicle that would be affected by the vehicle's path and may include at least one nearby vehicle.
8. The motion system according to claim 1, wherein the control module includes an instruction to transmit the message to the target area, the instruction including an instruction to control the transceiver to focus the transmission of the message on the target area to alert nearby vehicles following the path, and The control module includes instructions to transmit the message to the target area, the instructions including transmitting the message without knowing the presence of any vehicles in the target area.
9. A non-transitory computer-readable medium storing instructions, said instructions, when executed by one or more processors, causing said one or more processors to: Obtain data about the vehicle's route and current location; Predict the vehicle's path based on the data; In response to determining that the path meets an action threshold, a message about the path is generated; as well as The message is transmitted to the target area.
10. The non-transitory computer-readable medium of claim 9, wherein the instructions for acquiring the data include instructions for determining the current route of the vehicle and the current location of the vehicle, the current location specifying the lane of the road in which the vehicle is traveling, and The data mentioned therein includes one or more of GPS data and image data.
11. The non-transitory computer-readable medium of claim 9, wherein the instructions for predicting the path include instructions for determining future maneuvers of the vehicle associated with the route of the vehicle, wherein the future maneuvers are nominal maneuvers or unplanned maneuvers, and The message identifies the vehicle and the future mobility.
12. The non-transitory computer-readable medium of claim 11, wherein the instruction to determine that the path satisfies the action threshold includes instructions to determine whether a potential future maneuver involves at least one of: controlling the vehicle to correct a sudden input of a position of the vehicle deviating from the route, a sudden change in speed, and a sharp turn of the vehicle.
13. The non-transitory computer-readable medium of claim 9, wherein the instructions further include instructions for determining a target area associated with the path, including identifying areas adjacent to the vehicle that would be affected by the path of the vehicle and may include at least one nearby vehicle.
14. A method comprising: Obtain data about the vehicle's route and current location; Predict the vehicle's path based on the data; In response to determining that the path meets an action threshold, a message about the path is generated; as well as The message is transmitted to the target area.
15. The method of claim 14, wherein acquiring the data includes determining the current route of the vehicle and the current location of the vehicle, the current location specifying the lane of the road in which the vehicle is traveling, and The data mentioned therein includes one or more of GPS data and image data.
16. The method of claim 15, wherein determining the route comprises one of: inferring the route based on learned behavior of the driver of the vehicle, or identifying a specific destination and a route plan that the driver is following, and Inferring the route includes identifying the driver's pattern based on the driver's previous driving routes.
17. The method of claim 14, wherein predicting the path includes determining the future mobility of the vehicle associated with the route of the vehicle, wherein the future mobility is a nominal mobility or an unexpected mobility, and The message identifies the vehicle and the future mobility.
18. The method of claim 17, wherein determining that the path satisfies the action threshold comprises determining whether the future maneuver involves at least one of: a sudden input of controlling the vehicle to correct a position of the vehicle deviating from the route, a sudden change in speed, and a sharp turn of the vehicle, and Determining that the path satisfies the action threshold includes determining that the future maneuver may affect the operation of at least one nearby vehicle.
19. The method according to claim 14, further comprising: Determine the target area associated with the path, including identifying areas adjacent to the vehicle that would be affected by the vehicle's path and may include at least one nearby vehicle.
20. The method of claim 14, wherein transmitting the message to the target area comprises controlling the transceiver to focus the transmission of the message on the target area to alert nearby vehicles following the path, and The transmission of the message to the target area includes transmitting the message without knowing the presence of any vehicles in the target area.