Target vehicle position prediction for assisted lane change
By receiving sensor data to predict the position and acceleration of the target vehicle in multiple predicted segments, this technology solves the problems of expensive calculations and low update frequency in existing lane change assist systems, and realizes lane change assistance in complex traffic conditions.
Patent Information
- Application Number
- CN202410784932.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-05-13
- Filing Date
- 2024-06-18
- Publication Date
- 2025-11-14
AI Technical Summary
Existing lane change assist systems are computationally expensive and cannot update predictions frequently, resulting in lane changes only being possible when adjacent lanes are empty, thus failing to provide assistance in more complex traffic situations.
By receiving sensor data, the vehicle position prediction module and the interval selection module are used to predict the position and acceleration of the target vehicle in multiple prediction segments based on a set of criteria, determine the lane change position of the main vehicle, and perform automatic lane change operation when the conditions are met.
It enables lane change assistance even in more complex traffic conditions, improving the frequency and accuracy of predictions while reducing computational burden.
Smart Images

Figure CN120942334A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to autonomous vehicles and driving assistance, and more specifically to predicting intervals for lane change assistance. Background Technology
[0002] Modern vehicles typically integrate software-driven platforms with advanced sensing and control to provide a level of driver assistance. One example of driver assistance is assisted or autonomous lane changing. The vehicle system collects data about the vehicle's surroundings from various onboard sensors. The acquired data is then analyzed to determine whether a lane change is possible.
[0003] Some lane change assist systems can only perform lane changes when the adjacent lane is empty (i.e., there are no vehicles in the adjacent lane). Other methods rely on machine learning models for motion prediction (e.g., motion prediction of vehicles around the ego vehicle). These methods are computationally expensive and cannot update predictions frequently.
[0004] The background description provided herein is intended to provide a general overview of the context of this disclosure. To the extent described in this background section, the work of the currently attributed inventors and aspects of the description that may not be considered prior art at the time of filing are neither expressly nor impliedly acknowledged as prior art to this disclosure. Summary of the Invention
[0005] A system for predicting the position of a target vehicle includes a vehicle position prediction module configured to receive sensor data associated with a set of target vehicles. The sensor data indicates the position of the set of target vehicles relative to a master vehicle. The vehicle position prediction module is configured to determine a prediction corresponding to each target vehicle within a subset of the set of target vehicles. The prediction is based on a set of criteria. The prediction includes multiple prediction segments corresponding to future time intervals. The prediction indicates the position of the corresponding target vehicle at each of the multiple prediction segments. A first prediction segment of the multiple prediction segments is based on the sensor data. The first prediction segment of the multiple prediction segments includes: maintaining an acceleration associated with the corresponding target vehicle based on a first result of the set of criteria. The first prediction segment of the multiple prediction segments includes: adjusting the acceleration associated with the corresponding target vehicle based on a second result of the set of criteria. The first prediction segment of the multiple prediction segments includes: performing a portion of a lane change maneuver associated with the corresponding target vehicle based on a third result of the set of criteria. A second prediction segment of the multiple prediction segments is based on the first prediction segment. The system includes an interval selection module configured to determine the master vehicle's lane change position based on the prediction corresponding to the corresponding target vehicle.
[0006] Among other features, multiple prediction segments correspond to consecutive time intervals of equal duration. Among other features, the duration of the consecutive time intervals is 10 to 500 milliseconds. Among other features, the prediction indicates the speed of the corresponding target vehicle in each of the multiple prediction segments. Among other features, sensor data is received from a set of sensors configured to detect a group of target vehicles. Among other features, the system includes an autonomous vehicle control module configured to perform automatic lane change maneuvers based on the lane change position of the master vehicle.
[0007] Among other features, the vehicle position prediction module is configured to output a prediction to the interval selection module in response to determining that the duration of the prediction exceeds a prediction threshold. Among other features, the vehicle position prediction module is configured to determine a third prediction segment in response to determining that the duration of the prediction does not exceed a prediction threshold.
[0008] Among other features, the vehicle position prediction module is configured to determine a prediction corresponding to each vehicle in the group of target vehicles. Among other features, determining the master vehicle's lane change position is based on the interval between two target vehicles in the group, including the size of the interval, the duration of presence associated with the interval, or the time of occurrence associated with the interval.
[0009] Among other features, the set of criteria includes: criteria satisfied when the corresponding target vehicle is classified in a first category; criteria satisfied when the corresponding target vehicle is classified in a second category; criteria satisfied when the corresponding target vehicle is classified in a third category; criteria satisfied when there is a preceding vehicle in front of the corresponding target vehicle; criteria satisfied when the interval between the preceding vehicle and the corresponding target vehicle meets a first threshold distance; criteria satisfied when the interval between the preceding vehicle and the corresponding target vehicle meets a second threshold distance; criteria satisfied when the speed of the corresponding target vehicle exceeds the speed of the preceding vehicle; criteria satisfied when the speed of the corresponding target vehicle exceeds a threshold speed; criteria satisfied when there is an adjacent interval to the corresponding target vehicle; criteria satisfied when the speed of the corresponding target vehicle is outside a threshold range; and criteria satisfied when the acceleration of the corresponding target vehicle is outside a threshold range.
[0010] A method for predicting the position of a target vehicle includes receiving sensor data associated with a set of target vehicles. The sensor data indicates the position of the set of target vehicles relative to a host vehicle. The method includes the steps of: for each corresponding target vehicle in a subset of the set of target vehicles, determining a prediction corresponding to that corresponding target vehicle. The prediction is based on a set of criteria. The prediction includes multiple prediction segments corresponding to future time intervals. The prediction indicates the position of the corresponding target vehicle at each of the multiple prediction segments. A first prediction segment of the multiple prediction segments is based on the sensor data. The first prediction segment of the multiple prediction segments includes: maintaining an acceleration associated with the corresponding target vehicle based on a first result of the set of criteria. The first prediction segment of the multiple prediction segments includes: adjusting the acceleration associated with the corresponding target vehicle based on a second result of the set of criteria. The first prediction segment of the multiple prediction segments includes: performing a portion of a lane change maneuver associated with the corresponding target vehicle based on a third result of the set of criteria. A second prediction segment of the multiple prediction segments is based on the first prediction segment. The method includes determining the lane change position of a host vehicle based on the prediction corresponding to the corresponding target vehicle.
[0011] Among other features, multiple prediction segments correspond to consecutive time intervals of equal duration. Among other features, the duration of the consecutive time intervals is 10 to 500 milliseconds. Among other features, the prediction indicates the speed of the corresponding target vehicle in each of the multiple prediction segments. Among other features, sensor data is received from a set of sensors configured to detect the group of target vehicles.
[0012] Among other features, the method includes performing automatic lane change maneuvers based on the position of the primary vehicle in the lane change lane. Among other features, the method includes: outputting the prediction in response to determining that the duration of the prediction exceeds a prediction threshold. Among other features, the method includes: determining a third prediction segment in response to determining that the duration of the prediction does not exceed a prediction threshold.
[0013] Among other features, determining the lane change location of the primary vehicle is based on the interval between two target vehicles in the group of target vehicles, including the size of the interval, the duration of presence associated with the interval, or the time of occurrence associated with the interval.
[0014] A non-transitory computer-readable storage medium stores processor-executable instructions. The instructions include receiving sensor data associated with a set of target vehicles. The sensor data indicates the position of the set of target vehicles relative to a host vehicle. The instructions include: for each corresponding target vehicle in a subset of the set of target vehicles, determining a prediction corresponding to that corresponding target vehicle. The prediction is based on a set of criteria. The prediction includes multiple prediction segments corresponding to future time intervals. The prediction indicates the position of the corresponding target vehicle at each of the multiple prediction segments. A first prediction segment of the multiple prediction segments is based on the sensor data. The first prediction segment of the multiple prediction segments includes: maintaining the acceleration associated with the corresponding target vehicle based on a first result of the set of criteria. The first prediction segment of the multiple prediction segments includes: adjusting the acceleration associated with the corresponding target vehicle based on a second result of the set of criteria. The first prediction segment of the multiple prediction segments includes: performing a portion of lane change maneuvering associated with the corresponding target vehicle based on a third result of the set of criteria. A second prediction segment of the multiple prediction segments is based on the first prediction segment. The instructions include determining the host vehicle's lane change position based on the prediction corresponding to the corresponding target vehicle.
[0015] Among other features, the instruction includes multiple prediction segments corresponding to consecutive time intervals of equal duration. Among other features, the duration of the consecutive time intervals is 10 to 500 milliseconds. Among other features, the prediction indicates the speed of the corresponding target vehicle in each of the multiple prediction segments. Among other features, sensor data is received from a set of sensors configured to detect the group of target vehicles. Among other features, the instruction includes performing automatic lane change maneuvers based on the lane change position of the master vehicle.
[0016] Among other features, the instruction includes outputting the prediction in response to determining that the duration of the prediction exceeds a prediction threshold. Among other features, the instruction includes determining a third prediction segment in response to determining that the prediction duration does not exceed a prediction threshold.
[0017] Among other features, determining the lane change location of the primary vehicle is based on the interval between two target vehicles in the group of target vehicles, including the size of the interval, the duration of presence associated with the interval, or the time of occurrence associated with the interval.
[0018] The detailed description and specific implementation are for illustrative purposes only and are not intended to limit the scope of this disclosure. Attached Figure Description
[0019] This disclosure will be more fully understood from the detailed description and accompanying drawings.
[0020] Figure 1This is a graphical example of possible lane changes.
[0021] Figure 2 This is a block diagram of an example system for autonomous lane changing.
[0022] Figures 3A to 3D Together, they form a flowchart of an example method for predicting vehicle position and speed.
[0023] In the accompanying drawings, reference numerals may be used repeatedly to identify similar and / or identical elements. Detailed Implementation
[0024] introduction
[0025] This disclosure proposes a low-computational-load predictor for the position and velocity of vehicles near a master (or ego) vehicle. For example, in Figure 1 In the diagram, the primary vehicle 104 is surrounded by target vehicles 108-1, 108-2, 108-3, and 108-4. The proposed method achieves a shorter computation time than that available through machine learning models. This reduced computation time allows for the creation and updating of predictions at a higher frequency, enabling more accurate predictions. Generating predictions of where the vehicles will be (rather than where they are) allows the primary vehicle 104 to receive lane change assistance in a more diverse range of situations. For example, some lane change assistance systems are only available when the interval is directly opposite the primary vehicle 104 (e.g., to the right of the primary vehicle 104). This disclosure enables lane change assistance to be performed when the interval is not directly adjacent to the primary vehicle 104 (e.g., in front of and to the left of the primary vehicle 104).
[0026] Prediction segment
[0027] The proposed method determines the position and velocity predictions for each vehicle (i.e., target vehicle) near the master vehicle. In some implementations, all vehicles within the range of the master vehicle's sensors are analyzed. In some implementations, vehicles within a threshold range are analyzed. In some implementations, vehicles detected by the master vehicle's sensors are analyzed. The proposed method generates predictions for each vehicle over multiple time periods. In some implementations, predictions consist of time periods of 1ms, 10ms, 20ms, 50ms, 100ms, 500ms, and / or 1000ms. For example, predictions are made for each target vehicle in a first time period (e.g., 0ms to 20ms), and then predictions for each target vehicle in the next time period (e.g., 21ms to 40ms) are determined. In some implementations, prediction segments are generated until the prediction reaches a threshold length, such as 1 second, 5 seconds, 10 seconds, 20 seconds, and / or 30 seconds. Each prediction segment includes the predicted velocity, trajectory, acceleration, position, and / or lane assignment for each target vehicle. Vehicles immediately preceding each target vehicle (if present) are also tracked within each prediction segment.
[0028] Vehicle coordinates
[0029] Each prediction is based on information received from sensors communicating with the main vehicle, such as radar, lidar, cameras, vehicle-to-vehicle communication systems, etc. Data such as position, velocity, and acceleration in the longitudinal and lateral directions are received from the sensors communicating with the main vehicle and used to create the prediction.
[0030] In some implementations, sensor data is received in a vehicle coordinate system (VCS), which is a coordinate system defined relative to the host vehicle. For example, in a two-dimensional plane, the host vehicle would be (0, 0) in the VCS. In some implementations, the data is transformed from the VCS to the Frenet coordinate system, which defines the target vehicle data relative to the road. For example, in Frenet coordinates, longitudinal movement is along the road, while lateral movement is perpendicular to the road (i.e., the direction of travel). In some implementations, the first predicted segment is based on data from the host vehicle, and subsequent segments are based on previous predicted segments and sensor data. In some implementations, subsequent predicted segments are based solely on previous predicted segments.
[0031] block diagram
[0032] Figure 2This is a block diagram of an example system for generating motion predictions of target vehicles around a master vehicle. The system includes a scene analysis and prediction module 204, which communicates with a trajectory planning and control module 274. The scene analysis and prediction module 204 receives data from a sensor suite 224, an obstacle detection module 228, and a vehicle detection module 232. In some implementations, the sensor suite 224 includes one or more lidar, radar, cameras, and / or other sensors. Data from the sensor suite 224 is used by the obstacle detection module 228 to identify obstacles in the road (e.g., pedestrians, debris, and / or potholes). The vehicle detection module 232 uses data from the sensor suite 224 to identify other vehicles near the master vehicle (i.e., the ego vehicle). A lane change module 212 includes a prediction module 216 and a spacing selection module 220. The lane change module uses data from the sensor suite 224, the obstacle detection module 228, and / or the vehicle detection module 232 to predict the position, velocity, and / or acceleration of vehicles identified by the vehicle detection module 232. The interval selection module 220 uses the predictions from the prediction module 216 to select available intervals for assisting lane change maneuvers. In some implementations, the threat assessment module 286 reviews the interval selection from the interval selection module 220 in response to potential collisions and / or unsafe passenger situations that might arise from performing a lane change into the selected interval (e.g., confirming the existence of the selected interval). The trajectory planning and control module 274 receives position data, speed data, acceleration distribution data, and threat assessments.
[0033] The trajectory planning and control module 274 includes a spacing alignment module 278 and a lane change path determination module 282. In some implementations, the spacing alignment module 278 determines a longitudinal trajectory (i.e., forward and backward) to align the ego vehicle with a selected spacing. In some implementations, the spacing alignment module 278 verifies that data from the scenario analysis and prediction module 204 is available for performing a successful lane change. The lane change path determination module 282 determines longitudinal and lateral trajectories to perform lane change maneuvers. The determined trajectories are used by the lane change execution trajectory 208 to perform lane change maneuvers.
[0034] The lane change execution module 208 includes an autonomous vehicle control system 250, a transmission control module 254 (for controlling the vehicle's transmission), an acceleration control module 258 (for controlling the vehicle's acceleration), a braking control module 262 (for controlling the vehicle's braking), a user interface 270, and a steering control module 266 (for controlling the vehicle's direction and tire angle). The autonomous vehicle control system 250 interacts with other components of the lane change execution module 208, and in some implementations, the autonomous vehicle control system 250 controls and / or communicates with other components of the lane change execution module 208. In some implementations, the user interface 270 includes visual, tactile, and / or auditory alerts that notify the user in the primary vehicle that they can perform assisted lane changes, how to perform the lane change, and / or that an assisted lane change action is about to be performed and / or is currently being performed.
[0035] Determine the prediction segment
[0036] Figures 3A to 3D This is a flowchart of an example method for generating position and velocity predictions for target vehicles near the master vehicle. At 304, the control process selects an initial target vehicle (the target vehicle to be analyzed near the master vehicle). At 308, the control process determines whether the prediction time (i.e., prediction length) is 0 (in other words, the control process determines whether the first prediction segment is 0). If so, the control process proceeds to 312. If the prediction time is not 0, the control process proceeds to 324. At 324, the control process receives target vehicle data from the prediction data (i.e., previous prediction segments and / or multiple previous prediction segments), and the control process continues to 328. At 312, the control process receives target vehicle data (such as position, velocity, and / or acceleration) in Vehicle Coordinate System (VCS) format. At 316, the control process converts the VCS data to Frenet data (which is defined about the road) and assigns the target vehicle to a lane based on its lateral position in the Frenet frame. In some implementations, it is assumed that the master (i.e., self) vehicle is centered in its corresponding lane. In some implementations, the target vehicle is assigned to an adjacent lane based on its lateral distance from the master vehicle. For example, a target vehicle located at half the lane width is assigned to an adjacent lane, and a target vehicle located at more than 1.5 lane widths is assigned to the first lane on the other side of the adjacent lane. At 320, the control process assigns the target vehicle to the initial mode and continues to 328.
[0037] At 328, the control process determines whether three conditions are true. Under the first condition, the control process determines whether a preceding vehicle exists in front of the target vehicle. In some implementations, a preceding vehicle exists if the master vehicle detects a vehicle in front of the target vehicle. In some implementations, a preceding vehicle exists if a vehicle within a threshold distance is detected in front of the target vehicle. If a preceding vehicle exists, the control process determines whether the second and third conditions are also true. Under the first condition, the control process determines whether the interval between the guide vehicle and the target vehicle is less than a threshold interval size (i.e., the following distance interval). In some implementations, the following distance interval is based on the length of the master vehicle, such as 3, 4, 5, 6, or 10 vehicle lengths. Under the third condition, the control process determines whether the target vehicle's speed is greater than the speed of the preceding vehicle. If all three conditions are true, the control process proceeds to 336. If fewer than all three conditions are true (e.g., 0, 1, or 2 conditions are true), the control process proceeds to 332. At 332, the control process determines whether the target vehicle is in follow mode. If the target vehicle is in follow mode (e.g., the target vehicle was assigned to follow mode in the previous prediction segment), the control process transfers to 336. If the target vehicle is not in follow mode, the control process transfers to 340.
[0038] Figure 3B The process continues at 336. At 336, the control process determines whether both conditions are true. First, the control process determines whether the distance between the target vehicle and its preceding vehicle is less than a lane change threshold distance. In some implementations, the lane change threshold distance is based on the length of the leading vehicle, such as 1, 2, 3, or 4 vehicle lengths. Second, the control process determines whether the difference between the target vehicle's speed and the preceding vehicle's speed is greater than a threshold speed (e.g., the lane change interruption speed). In some implementations, the lane change interruption speed falls between 5 and 15 mph. If both conditions are true, the control process proceeds to 350. If only one condition is true, or if no condition is true, the control process proceeds to 344. At 344, the control process determines whether the target vehicle is in lane change following mode. If the target vehicle is in lane change following mode, the control process proceeds to 350. If the vehicle is not in lane change following mode, the control process proceeds to 346.
[0039] At point 346, the control process decelerates the target vehicle to maintain a following distance interval between the target vehicle and the preceding vehicle. In some implementations, the following distance interval is greater than a lane change threshold distance. In some implementations, the following distance interval is based on the length of the lead vehicle, such as 2, 3, 4, or 5 vehicle lengths. At point 348, the control process assigns the target vehicle to follow mode, and the control process continues to point 378. At point 350, the control process determines whether the target vehicle is in lane change mode. If yes, the control process proceeds to point 366. If not, the control process proceeds to point 352. At point 352, the control process determines whether the size of the adjacent interval (e.g., the interval in the lane adjacent to the target vehicle) is greater than the critical interval size (e.g., an interval sufficient for lane change). In some implementations, the critical interval size is between 10 and 30 meters. If the adjacent interval size is greater than the critical interval size, the control process proceeds to point 366. If the adjacent interval size is not greater than the critical interval size, the control process proceeds to point 354. At point 354, the control process decelerates the target vehicle to maintain a lane change distance interval with the preceding vehicle. Then, the control process continues to 356 and assigns the target vehicle to lane change following mode.
[0040] Figure 3C The process continues at 340. At 340, the control process determines whether the target vehicle's speed is above a threshold range (i.e., a threshold range near the speed limit, such as above and / or below the speed limit of 5, 10, 15, or 20 km / h). For example, if the speed limit is 55 km / h, in some implementations, the threshold range is 40 kph to 60 kph. If the target vehicle is above the threshold range (i.e., above the highest value of the threshold range), the control process proceeds to 360. If the target vehicle is not above the threshold range (i.e., within or below the threshold range), the control process proceeds to 358.
[0041] At 360, the control process decelerates the target vehicle by a tuning value (e.g., decelerates the target vehicle to reduce the amount by which its speed exceeds a threshold range, or decelerates the target vehicle to within the threshold range). After 360, the control process continues to 378.
[0042] At 358, the control process determines whether the target vehicle speed is below a speed threshold range. If the vehicle speed is not below the speed threshold range, the control process proceeds to 364. If the vehicle speed is below the speed threshold range, the control process proceeds to 362. At 362, the control process accelerates the target vehicle to the tuned value, and the control process continues to 378. In some implementations, the tuned value is 0.5, 1, 1.5, 2, 2.5, or 3 m / s. 2In some implementations, the tuning values for acceleration and deceleration are the same. In some implementations, the tuning values for acceleration and deceleration are different. In some implementations, the tuning value for acceleration is less than the tuning value for deceleration. In some implementations, the tuning value is less than the difference between the target vehicle speed and the highest value of the threshold range.
[0043] At 364, the control process sets the target vehicle acceleration to the average acceleration of the previous time intervals. In some implementations, the average acceleration is based on all previous time intervals. In some implementations, the average acceleration is based on the previous time interval. In some implementations, the average acceleration is based on a set of previous time intervals (e.g., 2, 3, 5, 10, or 20 previous intervals). After 364, the control process continues to 378.
[0044] Figure 3D Continuing at 366. At 366, the control process adds a lane change maneuver (or part of a lane change maneuver) with a constant lateral velocity and additional longitudinal (e.g., forward) acceleration to the prediction. At 368, the control process assigns the target vehicle to the lane change mode and increments the lane change timer. The lateral velocity is adjusted so that the lane change can be completed within a threshold time (e.g., 1, 3, 5, or 10 seconds). At 370, the control process determines whether the lane change timer has exceeded the threshold time. If the timer has exceeded (e.g., the lane change maneuver is complete), the control process continues to 372. If the timer has not exceeded (e.g., the lane change is still in progress), the control process transitions to 378. At 372, the control process assigns the target vehicle to the initial mode. At 374, the lateral velocity of the target vehicle is set to zero. At 376, the preceding vehicles in the previous lane and the new lane are updated, and the control process continues to 382.
[0045] At point 378, the control process determines whether the acceleration / deceleration of the target vehicle, calculated in previous steps of the method (e.g., at steps 360, 362, and 364), is within a threshold (e.g., if the acceleration can be performed safely or comfortably and / or within the vehicle's physical limitations). In some implementations, the threshold is 0.5, 1, 1.5, 2, 2.5, or 3 m / s². 2In some implementations, the acceleration and deceleration thresholds are the same. In some implementations, the acceleration and deceleration thresholds are different. In some implementations, the acceleration threshold is less than the deceleration threshold. If the acceleration change is outside the threshold, the control process moves to 380. If the acceleration change is within the threshold, the control process moves to 382. In 380, the acceleration change is adjusted to within the threshold limit, and the control process continues to 382. In 382, the control process propagates the target vehicle through the calculated maneuver (e.g., lane change maneuver portion, maintained speed and / or acceleration change) and adds the calculated maneuver to the prediction. The control process continues to 384 and determines whether all target vehicles have been predicted in the current time interval. If not all target vehicles have been predicted in the current time interval, the control process moves to 386. If so, the control process moves to 388.
[0046] At 386, the control process selects the next target vehicle and continues to 308. At 388, the control process determines whether the total prediction length is less than 20 seconds. In some implementations, the prediction is 5, 10, 15, 20, or 30 seconds. If the total prediction length is greater than 20 seconds, the control process ends. If the prediction is less than 20 seconds, the control process moves to 390. At 390, the control process moves to the next time interval and proceeds to 304.
[0047] in conclusion
[0048] The foregoing description is illustrative in nature and is in no way intended to limit this disclosure, its application, or use. The broad teachings of this disclosure can be implemented in various forms. Therefore, while this disclosure includes specific examples, its true scope should not be limited thereto, as other modifications will become apparent upon examination of the drawings, specification, and appended claims. In the drafted specification and claims, one or more steps within the method may be performed in a different order (or simultaneously) without altering the principles of this disclosure. Similarly, one or more instructions stored in a non-transitory computer-readable medium may be performed in a different order (or simultaneously) without altering the principles of this disclosure. Unless otherwise stated, the numbering or other designation of the steps in the specification or method is for convenience of reference and does not indicate a fixed order.
[0049] Furthermore, although each embodiment has been described above as having certain features, any one or more of those features described with respect to any embodiment of this disclosure may be implemented and / or combined with features of any other embodiment, even if such combination is not explicitly described. In other words, the described embodiments are not mutually exclusive, and substitutions between one or more embodiments remain within the scope of this disclosure.
[0050] Various terms are used to describe spatial and functional relationships between elements (e.g., between modules, circuit elements, semiconductor layers, etc.), including “connection,” “joint,” “coupled,” “adjacent,” “closely adjacent,” “above,” “under,” and “set.” Unless explicitly described as “direct,” when describing a relationship between a first element and a second element in the foregoing disclosure, the relationship includes a direct relationship where no other intermediate elements exist between the first element and the second element, and an indirect relationship where one or more intermediate elements exist between the first element and the second element.
[0051] As described below, the term "set" generally refers to a grouping of one or more elements. However, in various implementations, a "set" can be an empty set in certain cases (in other words, in those cases, the set has zero elements). As an example, a set of search results obtained from a query can be an empty set. In unclear contexts, the term "non-empty set" can be used to explicitly indicate the exclusion of an empty set; that is, a non-empty set will always have one or more elements.
[0052] A “subset” of the first set typically includes some elements of the first set. In various implementations, a subset of the first set is not necessarily an appropriate subset: in some cases, a subset can be contiguous with (equal to) the first set (in other words, a subset can include the same elements as the first set). In unclear contexts, the term “appropriate subset” can be used to explicitly indicate that a subset of the first set must exclude at least one element of the first set. Furthermore, in various implementations, the term “subset” does not necessarily exclude the empty set. As an example, consider a candidate set selected based on a first criterion and a subset of the candidate set selected based on a second criterion; if no element in the candidate set satisfies the second criterion, then the subset can be an empty set. In unclear contexts, the term “non-empty subset” can be used to explicitly indicate the exclusion of the empty set.
[0053] In the accompanying drawings, the direction of the arrows typically indicates the flow of information (e.g., data or instructions) of interest. For example, when components A and B exchange various information, but the information sent from component A to component B is relevant to the illustration, the arrow may point from component A to component B. This unidirectional arrow does not imply that no other information is being sent from component B to component A. Furthermore, for information sent from component A to component B, component B may send a request for that information to component A or receive confirmation of that information.
[0054] In this application, including the following definitions, the term "module" may be replaced by the term "controller" or the term "circuit". The term "module" may refer to, as part of, or include: an application-specific integrated circuit (ASIC); digital, analog, or mixed-signal analog / digital discrete circuits; digital, analog, or mixed-signal analog / digital integrated circuits; combinational logic circuits; field-programmable gate arrays (FPGAs); processor hardware (shared, dedicated, or grouped) that executes code; memory hardware (shared, dedicated, or grouped) coupled to the processor hardware and storing the code executed by the processor hardware; other suitable hardware components that provide the aforementioned functionality; or combinations of some or all of the foregoing, such as in a system-on-a-chip.
[0055] Modules may include one or more interface circuits. In some examples, the interface circuits may implement wired or wireless interfaces for connecting to a local area network (LAN) or a wireless personal area network (WPAN). Examples of LANs are IEEE Standard 802.11-2020 (also known as the Wi-Fi wireless networking standard) and IEEE Standard 802.3-2018 (also known as the Ethernet wired networking standard). Examples of WPANs are IEEE Standard 802.15.4 (including the ZIGBEE standard from the ZigBee Alliance) and the BLUETOOTH wireless networking standard from the Bluetooth Special Interest Group (SIG) (including core specification versions 3.0, 4.0, 4.1, 4.2, 5.0, and 5.1 from the Bluetooth SIG).
[0056] Modules can communicate with other modules using interface circuitry. While modules may be described in this disclosure as communicating logically directly with other modules, in various implementations, modules may actually communicate via a communication system. Communication systems include physical and / or virtual networking devices such as hubs, switches, routers, and gateways. In some implementations, the communication system connects to or traverses a wide area network (WAN) such as the Internet. For example, a communication system may include multiple LANs interconnected via the Internet or peer-to-peer leased lines using technologies including Multiprotocol Label Switching (MPLS) and Virtual Private Networks (VPNs).
[0057] In various implementations, the functionality of a module can be distributed among multiple modules connected via a communication system. For example, multiple modules can implement the same functionality distributed by a load balancing system. In another example, the functionality of a module can be split between a server (also known as a remote or cloud) module and a client (or user) module. For example, a client module may include a native or web application that executes on a client device and communicates with the server module over the network.
[0058] Some or all of the hardware characteristics of a module can be defined using a language used for hardware description, such as IEEE Standard 1364-2005 (commonly referred to as "Verilog") and IEEE Standard 1076-2008 (commonly referred to as "VHDL"). Hardware description languages can be used to fabricate and / or program hardware circuits. In some implementations, some or all of the characteristics of a module can be defined by a language such as IEEE 1666-2005 (commonly referred to as "System C"), which includes code and hardware description as described below.
[0059] As described above, the term "code" can include software, firmware, and / or microcode, and can refer to programs, routines, functions, classes, data structures, and / or objects. Shared processor hardware includes a single microprocessor that executes some or all of the code from multiple modules. Group processor hardware includes microprocessors that, in combination with additional microprocessors, execute some or all of the code from one or more modules. References to multiple microprocessors include multiple microprocessors on a discrete die, multiple microprocessors on a single die, multiple cores of a single microprocessor, multiple threads of a single microprocessor, or a combination thereof.
[0060] Memory hardware can also store data together with or separately from code. Shared memory hardware includes a single memory device that stores some or all of the code from multiple modules. An example of shared memory hardware could be a Level 1 cache on or near a microprocessor die, which can store code from multiple modules. Another example of shared memory hardware could be a solid-state drive (SSD) or a magnetic hard disk drive (HDD), which can store code from multiple modules. Group memory hardware includes a memory device that stores some or all of the code from one or more modules in combination with other memory devices. An example of group memory hardware is a storage area network (SAN), which can store code for a specific module across multiple physical devices. Another example of group memory hardware is the random access memory of each of a group of servers, which stores code for a specific module in combination. The term memory hardware is a subset of the term computer-readable media.
[0061] The apparatus and methods described in this application can be implemented, in part or in whole, by a special-purpose computer created by configuring a general-purpose computer to execute one or more specific functions contained in a computer program. Such apparatus and methods can be described as computerized or computer-implemented apparatus and methods. The aforementioned function blocks and flowchart elements serve as software specifications that can be translated into computer programs through the routine work of skilled technicians or programmers.
[0062] The computer program includes processor-executable instructions stored on at least one non-transitory computer-readable medium. The computer program may also include or depend on stored data. The computer program may include a basic input / output system (BIOS) for interacting with the hardware of a special-purpose computer, device drivers for interacting with specific devices of the special-purpose computer, one or more operating systems, user applications, background services, background applications, etc.
[0063] The computer program may include: (i) descriptive text to be parsed, such as HTML (Hypertext Markup Language), XML (Extensible Markup Language), or JSON (JavaScript Object Notation); (ii) assembly code; (iii) object code generated from source code by a compiler; (iv) source code for execution by an interpreter; and (v) source code for compilation and execution by a just-in-time (JIT) compiler, etc. As an example only, source code may be from languages including C, C++, C#, Objective-C, Swift, Haskell, Go, SQL, R, Lisp, etc. Fortran, Perl, Pascal, Curl, OCaml, It is written using the syntax of languages such as HTML5 (Hypertext Markup Language, Fifth Revision), Ada, ASP (Active Server Pages), PHP (PHP: Hypertext Preprocessor), Scala, Eiffel, Smalltalk, Erlang, and Ruby. Visual Lua, MATLAB, SIMULINK and
[0064] The term non-transitory computer-readable medium does not include transient electrical or electromagnetic signals propagated through a medium (such as on a carrier wave). Non-limiting examples of non-transitory computer-readable media include non-volatile memory circuitry (e.g., flash memory circuitry, erasable programmable read-only memory circuitry, or mask read-only memory circuitry), volatile memory circuitry (e.g., static random access memory circuitry or dynamic random access memory circuitry), magnetic storage media (e.g., analog or digital magnetic tape or hard disk drive), and optical storage media (e.g., CD, DVD, or Blu-ray disc).
[0065] The term "set" generally refers to a grouping of one or more elements. The elements of a set do not necessarily need to have any common or grouped characteristics. The phrase "at least one of A, B, and C" should be interpreted as indicating the use of non-exclusive OR logic (A or B or C), and should not be interpreted as indicating "at least one of A, at least one of B, and at least one of C." The phrase "at least one of A, B, or C" should be interpreted as indicating the use of non-exclusive OR logic (A or B or C).
Claims
1. A system for predicting the location of a target vehicle, the system comprising: The vehicle location prediction module is configured to: Receive sensor data associated with a group of target vehicles, wherein the sensor data indicates the position of the group of target vehicles relative to a master vehicle; and For each corresponding target vehicle in a subset of the set of target vehicles, a prediction corresponding to that target vehicle is determined, wherein: The prediction is based on a set of criteria. The prediction includes multiple prediction segments corresponding to future time intervals. The prediction indicates the position of the corresponding target vehicle in each of the multiple prediction segments. The first prediction segment of the plurality of prediction segments is based on the sensor data. The first prediction segment among the plurality of prediction segments includes: Based on the first result of the aforementioned set of criteria, the acceleration associated with the corresponding target vehicle is maintained. Based on the second result of the aforementioned set of criteria, the acceleration associated with the corresponding target vehicle is adjusted, and Based on the third result of the aforementioned set of criteria, a portion of the lane change maneuver associated with the corresponding target vehicle is executed, and The second prediction segment of the plurality of prediction segments is based on the first prediction segment; and An interval selection module is configured to determine the lane change position of the primary vehicle based on the prediction corresponding to the corresponding target vehicle.
2. The system according to claim 1, wherein, The multiple prediction segments correspond to consecutive time intervals with equal durations.
3. The system according to claim 2, wherein, The duration of the continuous time interval is from 10 milliseconds to 500 milliseconds.
4. The system according to claim 1, wherein, The prediction indicates the speed of the corresponding target vehicle in each of the multiple prediction segments.
5. The system according to claim 1, wherein, The sensor data is received from a set of sensors configured to detect the set of target vehicles.
6. The system according to claim 1, the system comprising an autonomous vehicle control module configured to perform automatic lane change maneuvers based on the lane change position of the master vehicle.
7. The system according to claim 1, wherein, The vehicle location prediction module is configured as follows: In response to determining that the duration of the prediction exceeds a prediction threshold, the prediction is output to the interval selection module; and In response to determining that the duration of the prediction does not exceed a prediction threshold, a third prediction segment is determined.
8. The system according to claim 1, wherein, The vehicle location prediction module is configured to determine a prediction corresponding to each target vehicle in the group of target vehicles.
9. The system according to claim 1, wherein, Determining the lane change position of the primary vehicle is based on the interval between two target vehicles in the group of target vehicles, including: The size of the interval The duration of presence associated with the interval, or The occurrence time associated with the interval.
10. The system according to claim 1, wherein, The set of criteria includes: The criteria that must be met when the corresponding target vehicle is classified into the first category. The criteria that must be met when the corresponding target vehicle is classified into the second category. The criteria that must be met when the corresponding target vehicle is classified into the third category. The criteria that must be met when there is a vehicle traveling in front of the target vehicle. The criterion satisfied when the distance between the advancing vehicle and the corresponding target vehicle meets the first threshold distance. The criterion satisfied when the distance between the advancing vehicle and the corresponding target vehicle meets the second threshold distance. The criteria satisfied when the speed of the target vehicle exceeds the speed of the preceding vehicle. The criteria satisfied when the speed of the corresponding target vehicle exceeds the threshold speed. The criteria satisfied when there is an interval adjacent to the corresponding target vehicle. The criteria satisfied when the speed of the corresponding target vehicle is outside the threshold range, and The criteria satisfied when the acceleration of the corresponding target vehicle is outside the threshold range.
11. A method for predicting the location of a target vehicle, the method comprising the following steps: Receive sensor data associated with a group of target vehicles, wherein the sensor data indicates the position of the group of target vehicles relative to the master vehicle; For each corresponding target vehicle in a subset of the set of target vehicles, a prediction corresponding to that target vehicle is determined, wherein: The prediction is based on a set of criteria. The prediction includes multiple prediction segments corresponding to future time intervals. The prediction indicates the position of the corresponding target vehicle in each of the multiple prediction segments. The first prediction segment of the plurality of prediction segments is based on the sensor data. The first prediction segment among the plurality of prediction segments includes: Based on the first result of the set of criteria, maintain the acceleration associated with the corresponding target vehicle; based on the second result of the set of criteria, adjust the acceleration associated with the corresponding target vehicle; and Based on the third result of the aforementioned set of criteria, a portion of the lane change maneuver associated with the corresponding target vehicle is executed, and The second prediction segment of the plurality of prediction segments is based on the first prediction segment; and The lane change position of the main vehicle is determined based on the prediction corresponding to the target vehicle.
12. The method according to claim 11, wherein: The multiple prediction segments correspond to consecutive time intervals with equal durations. The duration of the continuous time interval is from 10 milliseconds to 500 milliseconds. The prediction indicates the speed of the corresponding target vehicle in each of the plurality of prediction segments, and The sensor data is received from a set of sensors configured to detect the set of target vehicles.
13. The method of claim 11, wherein the method includes performing automatic lane change maneuvers based on the lane change position of the master vehicle.
14. The method according to claim 11, wherein the method comprises the following steps: In response to determining that the duration of the prediction exceeds a prediction threshold, the prediction is output; as well as In response to determining that the duration of the prediction does not exceed a prediction threshold, a third prediction segment is determined.
15. The method according to claim 11, wherein, Determining the lane change position of the primary vehicle is based on the interval between two target vehicles in the group of target vehicles, including: The size of the interval The duration of presence associated with the interval, or The occurrence time associated with the interval.
16. A non-transitory computer-readable storage medium storing processor-executable instructions, the instructions comprising: Receive sensor data associated with a group of target vehicles, wherein the sensor data indicates the position of the group of target vehicles relative to the master vehicle; For each corresponding target vehicle in a subset of the set of target vehicles, a prediction corresponding to that target vehicle is determined, wherein: The prediction is based on a set of criteria. The prediction includes multiple prediction segments corresponding to future time intervals. The prediction indicates the position of the corresponding target vehicle in each of the multiple prediction segments. The first prediction segment of the plurality of prediction segments is based on the sensor data. The first prediction segment among the plurality of prediction segments includes: Based on the first result of the set of criteria, maintain the acceleration associated with the corresponding target vehicle; based on the second result of the set of criteria, adjust the acceleration associated with the corresponding target vehicle; and Based on the third result of the aforementioned set of criteria, a portion of the lane change maneuver associated with the corresponding target vehicle is executed, and The second prediction segment of the plurality of prediction segments is based on the first prediction segment; and The lane change position of the main vehicle is determined based on the prediction corresponding to the target vehicle.
17. The non-transitory computer-readable storage medium according to claim 16, wherein, The instructions include: The multiple prediction segments correspond to consecutive time intervals with equal durations; The duration of the continuous time interval is from 10 milliseconds to 500 milliseconds; The prediction indicates the speed of the corresponding target vehicle in each of the plurality of prediction segments; and The sensor data is received from a set of sensors configured to detect the set of target vehicles.
18. The non-transitory computer-readable storage medium according to claim 16, wherein, The instructions include performing automatic lane change maneuvers based on the lane change position of the master vehicle.
19. The non-transitory computer-readable storage medium according to claim 16, wherein, The instructions include: In response to determining that the duration of the prediction exceeds a prediction threshold, the prediction is output; and In response to determining that the duration of the prediction does not exceed a prediction threshold, a third prediction segment is determined.
20. The non-transitory computer-readable storage medium according to claim 16, wherein, Determining the lane change position of the primary vehicle is based on the interval between two target vehicles in the group of target vehicles, including: The size of the interval The duration of presence associated with the interval, or The occurrence time associated with the interval.