Vehicle behavior planning for overtaking vehicles
By generating trajectories that avoid inside overtaking maneuvers and leveraging sensor data analysis and vehicle state recognition, the safety risk of inside overtaking maneuvers is resolved, improving the safety of autonomous or semi-autonomous vehicles.
Patent Information
- Application Number
- CN202210285380.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-03-24
- Filing Date
- 2022-03-22
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2042-03-22
AI Technical Summary
Inside overtaking maneuvers present safety risks in autonomous or semi-autonomous vehicle operations, especially when encountering larger vehicles, where blind spots and unexpected nature increase the likelihood of accidents.
By acquiring and analyzing sensor data, a driving context is generated to identify the risk of an inside overtaking maneuver and to generate a trajectory that avoids the inside overtaking maneuver, including taking into account the class and state of nearby vehicles, providing enough space to allow them to merge, and changing lanes to execute the overtaking maneuver.
It effectively avoids inside overtaking maneuvers, improves the safety of vehicle operation, and reduces the risk of accidents, especially when interacting with large vehicles.
Smart Images

Figure CN115195711B_ABST
Abstract
Description
Technical Field
[0001] The subject matter described herein relates generally to systems and methods for trajectory planning and, more particularly, to identifying driving context related to inside passing of large vehicles and generating trajectories that allow for merging and passing. Background Art
[0002] An inside undertaking maneuver occurs when a first vehicle passes another vehicle in the inside lane (e.g., passing a vehicle traveling in the passing lane). Inside undertaking maneuvers can increase the risk of an accident. Typically, this increased risk may arise from vehicles in the passing lane moving slower than traffic in the same lane, an increased blind spot on the side of the vehicle being passed, a decreased driver's tendency to anticipate passing vehicles in the inside lane, and so on. In any case, this risk may be further exacerbated when the vehicle being passed is larger, such as a truck or a vehicle larger than a typical passenger vehicle. For example, vans, delivery trucks, dump trucks, buses, and trucks all represent longer vehicles, which are associated with an increased risk for inside undertaking maneuvers. Therefore, in the context of vehicles operating under autonomous or semi-autonomous control, unknowingly performing inside undertaking maneuvers can present a significant hazard. That is, such vehicles may continue to perform inside undertaking maneuvers without recognizing the increased risk. Consequently, identifying and avoiding instances of inside undertaking maneuvers presents difficulties. Summary of the Invention
[0003] In one embodiment, example systems and methods associated with improving vehicle behavior planning to avoid inside overtaking maneuvers are disclosed. As previously described, inside overtaking maneuvers can represent a significant safety risk. That is, overtaking another vehicle in the inside lane can subject the overtaking vehicle to additional risk because the overtaken vehicle may not be aware of the overtaking vehicle's presence, as such maneuvers are uncommon and / or even illegal in some jurisdictions. Furthermore, this risk is exacerbated when the overtaken vehicle is a truck (i.e., a semi-truck) or another large vehicle due to expanded blind spots and other difficulties.
[0004] Thus, in one embodiment, the disclosed method involves determining when an ego vehicle (ego vehicle) encounters a nearby vehicle traveling in a passing lane (i.e., an adjacent outside lane) and generating a trajectory by the ego vehicle that avoids an inside overtaking maneuver. For example, in at least one configuration, the ego vehicle acquires and analyzes sensor data to determine a driving context. The driving context typically identifies the type of roadway on which the ego vehicle is traveling (e.g., multi-lane and single lane), the position of the ego vehicle in the lane (e.g., passing lane, driving lane, etc.), the position of the nearby vehicle, and the type of the nearby vehicle (e.g., vehicle class). In another arrangement, the driving context may also identify the status of the nearby vehicle, such as whether the nearby vehicle is currently attempting a lane change, which can be identified from an active turn signal.
[0005] From this information, the host vehicle can identify situations where an inside overtaking maneuver may occur and generate a trajectory that avoids the inside overtaking maneuver for autonomous or semi-autonomous control of the vehicle. For example, when the host vehicle identifies that a nearby vehicle is traveling in the passing lane of a multi-lane road, when the host vehicle is traveling in the driving lane (i.e., the slow lane or the inside lane), and continuing to travel would result in an inside overtaking maneuver, the host vehicle can further consider whether to adjust the path to avoid the inside overtaking maneuver or continue traveling. In at least one configuration, the host vehicle considers the class of the nearby vehicle and considers whether the nearby vehicle is attempting a lane change by identifying whether the turn signal is active. Therefore, if the nearby vehicle meets the merging threshold (e.g., is a Class 4 or larger vehicle with an active turn signal), then the host vehicle can generate a trajectory to provide enough space for the nearby vehicle to merge in, while also changing the lane of the host vehicle to perform the overtaking maneuver of the nearby vehicle. Therefore, the host vehicle improves behavior planning to avoid inside overtaking maneuvers.
[0006] In one embodiment, a merging system is disclosed. The merging system includes one or more processors and a memory communicatively coupled to the one or more processors. The memory stores a control module including instructions that, when executed by the one or more processors, cause the one or more processors to generate a driving context from sensor data regarding the surrounding environment of a host vehicle. The driving context identifies a lane of a roadway and a position of the host vehicle within the lane. The control module includes instructions for, in response to determining that the driving context and a state of a nearby vehicle satisfy a merging threshold, generating a trajectory for the host vehicle that avoids inside overtaking of the nearby vehicle. The control module includes instructions for controlling the host vehicle according to the trajectory.
[0007] In one embodiment, a non-transitory computer-readable medium is disclosed. The computer-readable medium stores instructions that, when executed by one or more processors, cause the one or more processors to perform the disclosed functionality. The instructions include instructions for generating a driving context from sensor data regarding a host vehicle's surroundings. The driving context identifies a lane of a roadway and the host vehicle's position within the lane. The instructions include instructions for, in response to determining that the driving context and a state of a nearby vehicle satisfy a merging threshold, generating a trajectory for the host vehicle that avoids inside overtaking of the nearby vehicle. The instructions include instructions for controlling the host vehicle in accordance with the trajectory.
[0008] In one embodiment, a method is disclosed. In one embodiment, the method includes generating a driving context from sensor data regarding a host vehicle's surroundings. The driving context identifies a lane of a roadway and a position of the host vehicle within the lane. The method includes, in response to determining that the driving context and a state of a nearby vehicle satisfy a merging threshold, generating a trajectory for the host vehicle that avoids inside overtaking of the nearby vehicle. The method includes controlling the host vehicle according to the trajectory. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The accompanying drawings illustrate various systems, methods and other embodiments of the present disclosure, and the accompanying drawings are incorporated into and constitute a part of the specification. It should be understood that the element boundaries (e.g., boxes, groups of boxes or other shapes) illustrated in the accompanying drawings represent an embodiment of boundaries. In some embodiments, an element can be designed as multiple elements, or multiple elements can be designed as one element. In some embodiments, an element that is shown as an internal component of another element can be implemented as an external component, and vice versa. In addition, elements may not be drawn to scale.
[0010] Figure 1 One embodiment of a vehicle configuration is illustrated in which example systems and methods of the present disclosure may operate.
[0011] Figure 2 One embodiment of a merging system associated with adaptively generating a trajectory for a vehicle avoiding an inside overtaking maneuver is illustrated.
[0012] Figure 3 One embodiment of a method associated with planning maneuvers of vehicles is illustrated.
[0013] Figure 4 An example of a driving context including a truck and a host vehicle is illustrated. DETAILED DESCRIPTION
[0014] Systems, methods, and other embodiments are disclosed that improve vehicle behavior planning to avoid inside passing maneuvers. As previously discussed, inside passing maneuvers can present a significant safety risk. Specifically, passing another vehicle in the inside lane can increase risk due to blind spots, the unexpected nature of the maneuver, and other factors. Furthermore, the risk can be exacerbated when a vehicle is passed by a truck (i.e., a semi-trailer) or another large vehicle due to extended blind spots and other difficulties.
[0015] Thus, in one embodiment, the disclosed method involves determining when a host vehicle encounters a nearby vehicle traveling in a passing lane (the adjacent outside lane) and generating a trajectory by the host vehicle that avoids an inside passing maneuver. For example, in at least one configuration, the host vehicle acquires and analyzes sensor data to determine a driving context. The driving context typically identifies the type of roadway the host vehicle is traveling in (e.g., multi-lane vs. single lane), the host vehicle's position within the lane (e.g., passing lane, driving lane, etc.), the position of the nearby vehicle, and the type of nearby vehicle (e.g., vehicle class). Class typically defines different sizes of vehicles based on class. For example, a standard passenger car may be a Class 2 vehicle, a city bus may be a Class 4 vehicle, and a semi-trailer (also known as a truck) may be a Class 8 or higher vehicle. In any case, the specific vehicle class can further inform the risks associated with an inside passing maneuver. Additionally, the driving context can also identify the status of the nearby vehicle, such as whether the nearby vehicle is currently attempting a lane change due to an active turn signal and the separation of nearby vehicles from a particular lane.
[0016] From this information, the host vehicle can identify situations in which an inside passing maneuver is likely to occur. For example, if the host vehicle identifies that a nearby vehicle is traveling in the passing lane on a multi-lane road while the host vehicle is in the driving lane (the slow lane or the inside lane), the host vehicle can then further consider whether to adjust its path to avoid the inside passing maneuver or to continue driving. In at least one configuration, the host vehicle considers the class of the nearby vehicle and determines whether the nearby vehicle is attempting a lane change by identifying whether the turn signal is active, and determining whether the class exceeds a defined merging threshold. If the nearby vehicle meets the merging threshold (e.g., it is a fourth class or a larger vehicle with an active turn signal) and actively indicates a lane change, the host vehicle can then generate a trajectory to provide sufficient space for the nearby vehicle to merge, while changing the host vehicle's lane to execute the passing maneuver of the nearby vehicle. Based on this occurrence, in at least one method, the host vehicle generates a trajectory that avoids inside passing maneuvers, either for autonomous control, semi-autonomous control, or with simple guidance to the driver. In this way, the host vehicle improves its behavior planning to avoid inside passing maneuvers.
[0017] refer to Figure 1, an example of a vehicle 100 is illustrated. As used herein, a "vehicle" is any form of powered vehicle. In one or more implementations, vehicle 100 is an automobile. Although the arrangement is described herein with respect to an automobile, it should be understood that the embodiments are not limited to automobiles. In some implementations, vehicle 100 can be any form of vehicle, such as a vehicle that travels with other vehicles on a multi-lane roadway and thus benefits from the functionality discussed herein.
[0018] The vehicle 100 also includes various components. It should be understood that in various embodiments, the vehicle 100 may not have Figure 1 All elements shown. Vehicle 100 may have Figure 1 Different combinations of various elements are shown. In addition, the vehicle 100 may have relatively Figure 1 In some arrangements, the vehicle 100 may be implemented without Figure 1 One or more of the elements shown. Figure 1 The various elements are shown as being located inside the vehicle 100, but it is understood that one or more of these elements may be located outside the vehicle 100. Furthermore, the elements shown may be physically separated by a long distance and provided as a remote service (e.g., a cloud computing service).
[0019] Some possible components of vehicle 100 are Figure 1 is shown in and will be described in conjunction with the subsequent drawings. For the sake of brevity of description, Figure 1 Many of the elements in the description will be in Figures 2 to 4 In addition, it should be understood that for simplicity and clarity of illustration, appropriate reference numerals are repeated in different figures to indicate corresponding, similar or like elements. In addition, it should be understood that the embodiments described herein can be practiced using various combinations of the described elements.
[0020] In any case, the vehicle 100 includes a merge system 170 for improving behavior planning (i.e., trajectory generation) associated with situations involving inside overtaking maneuvers. Furthermore, while depicted as a standalone component, in one or more embodiments, the merge system 170 is integrated with the auxiliary system 160 or another similar system of the vehicle 100 to support the functionality of the other systems / modules. The aforementioned functionality and methods will become more apparent through further discussion of the accompanying figures.
[0021] Furthermore, assistance system 160 can take many different forms, but generally provides some form of automated assistance to the operator of vehicle 100. For example, assistance system 160 can include various advanced driver assistance system (ADAS) functions, such as lane keeping functionality, adaptive cruise control, collision avoidance, emergency braking, and the like. In other aspects, assistance system 160 can be a semi-autonomous or fully autonomous system that can partially or fully control vehicle 100. Therefore, regardless of the form taken, assistance system 160 works in conjunction with the sensors of sensor system 120 to obtain observations about the surrounding environment, from which additional determinations can be made to provide various functions. Furthermore, while merging system 170 is generally discussed in terms of assistance system 160, in at least one configuration, merging system 170 can provide control support without directly influencing lateral or longitudinal control of the vehicle. That is, merging system 170 can instead provide warnings, alerts, visual guidance, or other non-intrusive assistance to improve the behavior of host vehicle 100.
[0022] As another aspect, vehicle 100 also includes a communication system 180. In one embodiment, communication system 180 communicates according to one or more communication standards. For example, communication system 180 may include multiple different antennas / transceivers and / or other hardware components for communicating at different frequencies and according to respective protocols. In one arrangement, communication system 180 communicates via short-range communication, such as Bluetooth, WiFi, or another suitable protocol for communication between vehicle 100 and other nearby devices (e.g., other vehicles). In another arrangement, communication system 180 further communicates according to a long-range protocol, such as Global System for Mobile Communications (GSM), Enhanced Data Rates for GSM Evolution (EDGM), or another communication technology that provides for communication between vehicle 100 and cloud-based resources. In either case, system 170 can utilize various wireless communication technologies to support communication with nearby vehicles (vehicle-to-vehicle, V2V), nearby infrastructure elements (vehicle-to-infrastructure, V2I), and the like. For example, in one or more arrangements, a nearby vehicle can communicate its intention to merge into the lane of host vehicle 100 without displaying active turn signals. In this way, the host vehicle 100 obtains information about the status of nearby vehicles without utilizing direct observation through sensor data.
[0023] refer to Figure 2, one embodiment of the incorporation system 170 is further illustrated. As shown, the incorporation system 170 includes a processor 110. Thus, the processor 110 can be part of the incorporation system 170, or the incorporation system 170 can access the processor 110 via a data bus or another communication path. In one or more embodiments, the processor 110 is an application specific integrated circuit configured to implement the functions associated with the control module 220. More generally, in one or more aspects, the processor 110 is an electronic processor, such as a microprocessor, that can perform the various functions described herein when executing coded functions associated with the incorporation system 170.
[0024] In one embodiment, the system 170 includes a memory 210 that stores a control module 220. The memory 210 is a random access memory (RAM), a read-only memory (ROM), a hard drive, a flash memory, or other memory for storing the module 220. The module 220 is, for example, computer-readable instructions that, when executed by the processor 110, cause the processor 110 to perform various functions disclosed herein. In one or more embodiments, while the module 220 is instructions embodied in the memory 210, in other aspects, the module 220 includes hardware such as a processing component (e.g., a controller), circuitry, etc., for independently performing one or more of the functions described.
[0025] Furthermore, in one embodiment, the incorporation system 170 includes a data repository 230. In one arrangement, the data repository 230 is an electronically based data structure for storing information. For example, in one approach, the data repository 230 is a database stored in the memory 210 or another suitable medium and is configured with routines that can be executed by the processor 110 to analyze the stored data, provide the stored data, organize the stored data, etc. In any case, in one embodiment, the data repository 230 stores data used by the module 220 when performing various functions. In one embodiment, the data repository 230 includes driving context 240, sensor data 250, and other information used, for example, by the control module 220.
[0026] Thus, the control module 220 generally includes instructions for controlling the processor 110 to obtain data inputs from one or more sensors of the vehicle 100, which data inputs form the sensor data 250. Generally, the sensor data 250 includes information reflecting observations of the surrounding environment of the vehicle 100. In various embodiments, the observations of the surrounding environment may include surrounding lanes, vehicles, objects, obstacles, etc. that may be present in a lane, near a roadway, within a parking lot, a garage structure, a driveway, or other areas where the vehicle 100 is traveling or parked.
[0027] Although the control module 220 is discussed as controlling various sensors to provide sensor data 250, in one or more embodiments, the control module 220 may employ other techniques to obtain active or passive sensor data 250. For example, the control module 220 may passively sniff sensor data 250 from the stream of electronic information provided by various sensors to other components within the vehicle 100. Furthermore, when providing sensor data 250, the control module 220 may employ various methods to fuse data from multiple sensors. Thus, in one embodiment, the sensor data 250 represents a combination of perceptions obtained from multiple sensors and / or other aspects of the vehicle 100. For example, in another configuration, the sensor data may include information obtained via the communication system 180, such as data regarding average traffic speed from other vehicles and / or infrastructure equipment.
[0028] Whether the sensor data 250 is derived from a single sensor, multiple sensors, or other means, the sensor data 250 is comprised of various information that supports the control module 220 in determining the driving context 240, the vehicle states of nearby vehicles, and the like. Furthermore, the sensor data 250 and the driving context 240 include an assessment of the surrounding environment around the host vehicle 100, which, in at least one approach, includes 360 degrees about the host vehicle 100. In this manner, the driving context 240 assesses not only the area in front of the host vehicle 100, but also the sides and rear, to account for traffic and / or other hazards that may interfere with adjusting the trajectory of the vehicle 100.
[0029] The control module 220 analyzes the sensor data 250 to determine the driving context 240. In various approaches, the control module 220 implements machine learning algorithms (e.g., deep neural networks, such as convolutional neural networks (CNNs)), strategies, heuristics, and other processing mechanisms to analyze the sensor data 250 and derive the driving context 240 and other useful information (e.g., vehicle state) therefrom. The driving context 240 generally defines the type of roadway in which the host vehicle is traveling, as well as other aspects of the surrounding environment, such as the presence of nearby vehicles, the state of nearby vehicles, the type of vehicles, etc. With respect to the type of roadway, the driving context 240 indicates the number of lanes, the type of lane (e.g., passing lane, driving lane, exit lane, etc.), whether the environment is a highway or an urban environment, etc.
[0030] It should be noted that, as used herein, the inside lane is considered the driving lane (also known as the slow lane), while the passing lane (also known as the fast lane) is typically used for passing / overtaking other vehicles. Furthermore, the specific orientation of these lanes may vary depending on the driving habits of a particular country (e.g., right-hand traffic versus left-hand traffic). For example, in countries with right-hand traffic (e.g., the United States), the passing lane is on the left, while the driving lane is on the right. In the case of a multi-lane road with two lanes of traffic traveling in the same direction, the left or outside lane is the passing lane, while the right or inside lane is the driving / slow lane. In situations where the number of lanes in a particular direction exceeds two, this usage is typically applied to the relative positioning of vehicles. That is, relative to a nearby vehicle being overtaken, the right lane is the inside lane, which can be called the slow lane, while the left lane is the outside lane or the passing lane. Of course, in the case of a nearby vehicle in the leftmost lane, the nearby vehicle is traveling in the outside / passing lane, and the inside / slow lane may be the only overtaking option, known as an inside overtaking maneuver. In the case of left-hand traffic, the configuration is simply reversed.
[0031] In any case, the control module 220 acquires the sensor data 250 and generates a driving context to assess the surrounding environment. As another aspect of generating the driving context 240, the control module 220 further determines the vehicle state of any nearby vehicles. The vehicle state indicates the position, category size, lane change status, and other aspects (e.g., trajectory, etc.) of the nearby vehicles. The position is typically the lane position and the distance from the host vehicle 100. The category size indicates how large the nearby vehicles are, with particular emphasis on length. As previously mentioned, since vehicles with longer lengths are associated with an increased risk of inside overtaking maneuvers, the control module 220 classifies nearby vehicles to quantify the length and, therefore, the risk of inside overtaking maneuvers.
[0032] The class of a vehicle is a rating assigned based on gross vehicle weight (GVWR), which typically corresponds to the length of the vehicle. Thus, the control module 220 can classify nearby vehicles according to a standard, such as the Federal Highway Administration (FHWA) vehicle classification, which defines vehicles from Class 1 to Class 13. These classes include Class 1 - motorcycles, Class 2 - passenger cars, Class 3 - pickup trucks / vans, Class 4 - buses, Class 5 - two-axle trucks, etc. Therefore, vehicles with a class rating higher than 4 are generally vehicles with greater length. Of course, while the control module 220 can apply the class rating, in an alternative or additional arrangement, the control module 220 can determine the length of the vehicle 100 separately. However, depending on traffic and the ability to observe nearby vehicles, this determination may be difficult. Therefore, the control module 220 can apply the class rating based on, for example, an estimate of a particular type of vehicle, without requiring a precise determination of length.
[0033] In any case, the control module 220 uses the driving context 240 to determine how to plan a trajectory for the host vehicle 100. As the host vehicle 100 is traveling, the control module 220 identifies nearby vehicles and determines the driving context 240 to assess whether an inside passing maneuver will occur if the host vehicle 100 continues traveling. In other words, if the control module 220 identifies that the host vehicle 100 is traveling on a multi-lane road with nearby vehicles in the outside lane, the control module 220 further assesses whether to continue traveling or adjust the trajectory to avoid an inside passing maneuver.
[0034] Thus, in one or more configurations, the control module 220 determines whether the driving context 240 and the vehicle state of the nearby vehicle satisfy a merge threshold to determine how to proceed. For example, in one or more arrangements, the merge threshold defines a baseline value for various aspects of the situation, above which the control module 220 modifies the trajectory of the host vehicle 100 to avoid an inside overtaking maneuver. Thus, the merge threshold generally defines various aspects of the driving context, such as whether the roadway is a multi-lane urban or highway roadway, the relative position of the nearby vehicle relative to the host vehicle 100 in a lane of the multi-lane roadway (e.g., the adjacent outside lane), the length of the nearby vehicle (i.e., Class 4 or greater), and other characteristics that indicate whether the nearby vehicle is or is likely to merge back into the lane of the host vehicle 100.
[0035] Other characteristics may include the nearby vehicle reducing speed, activating a turn signal toward the lane of the host vehicle 100, and / or providing communication of the intent to change lanes to the host vehicle 100 via V2V or another communication mechanism. Thus, in response to determining that the driving context and the state of the nearby vehicle meet the merge threshold (i.e., the host vehicle 100 is in a situation associated with an inside passing maneuver and the nearby vehicle intends to change lanes), the control module 220 then generates a trajectory for the host vehicle that modifies the current path.
[0036] In one approach, the control module 220 generates a trajectory to provide a gap for a nearby vehicle for merging in front of the host vehicle 100. Thus, the control module 220 can generate a trajectory to initially slow the host vehicle 100 to provide a gap into which the nearby vehicle will fit, based on the length of the nearby vehicle. Thus, the control module 220 can use a category determination or an explicit determination of the length of the nearby vehicle to determine the gap size. In this way, the nearby vehicle can merge back into the travel lane, and the control module 220 can further generate a trajectory to execute a lane change before or after the nearby vehicle merges, allowing the host vehicle 100 to perform a passing maneuver rather than an inside passing maneuver, thereby improving safety.
[0037] When the control module 220 generates the trajectory, in one approach, the control module 220 implements the trajectory for controlling the host vehicle 100 by generating longitudinal and lateral controls that cause the host vehicle to follow the trajectory (e.g., via the assistance system 160). Of course, in instances where the host vehicle is not fully or semi-autonomous, the control module 220 may alternatively provide instructions to the operator via a heads-up display or another human-machine interface (HMI) to support implementation of the trajectory.
[0038] Will combine Figure 3 Additional aspects of providing cooperative control based on the vehicle's system conditions are discussed. Figure 3 A method 300 is illustrated in connection with planning maneuvers of vehicles. Figure 1 Although the method 300 is discussed in combination with the incorporation system 170, it should be understood that the method 300 is not limited to being implemented within the incorporation system 170, but is an example of a system in which the method 300 may be implemented.
[0039] At 310, the control module 220 acquires sensor data 250. In one embodiment, acquiring the sensor data 250 includes controlling one or more sensors of the vehicle 100 to generate observations about the surroundings of the vehicle 100. In one or more implementations, the control module 220 iteratively acquires the sensor data 250 from one or more sensors of the sensor system 120. The sensor data 250 includes observations of the surroundings of the host vehicle 100, including specific areas relevant to identifying nearby vehicles and aspects related to avoiding inside overtaking maneuvers. In addition, the sensor data 250 also includes information about traffic and other hazards that are relevant to generating a trajectory for the vehicle 100 so that the vehicle 100 can determine a trajectory for lane change maneuvers without, for example, colliding with other vehicles or encountering other difficulties.
[0040] At 320, the control module 220 determines the driving context 240. In one arrangement, the control module 220 determines the driving context 240 by analyzing the sensor data 250 to determine the configuration of the lanes of the roadway and the position of the vehicle 100 within the lanes. As another aspect, the control module 220 may also determine the vehicle status of one or more nearby vehicles. As previously described, the vehicle status identifies the nearby vehicle(s) and whether the nearby vehicle(s) are / are at least Category 4 vehicles. In other aspects, the vehicle status also indicates a trajectory, turn signal status, etc.
[0041] At 330, the control module 220 determines whether the driving context 240 satisfies the merge threshold. In one approach, the control module 220 initially determines whether the driving context 240 satisfies the general conditions of the merge threshold, such as whether the roadway is a multi-lane road (e.g., at least two lanes in the same direction) and whether a nearby vehicle is located in an adjacent outer lane. If these conditions are met, the control module 220 may continue at 340 by determining the nearby vehicle status. Otherwise, the control module 220 proceeds to acquire sensor data 250 at 310 and repeats the above-described functions.
[0042] At 340, the control module 220 may further determine the state of the nearby vehicle. The control module 220 may determine the vehicle state as part of the driving context 240 or separately in response to determining that the driving context meets the merge threshold. In any case, the vehicle state defines aspects specific to the nearby vehicle that is subject to the inside overtaking maneuver. For example, in one configuration, the control module 220 determines an indicator as to whether the nearby vehicle is attempting to merge into the lane of the host vehicle 100. Indicators may include a nearby vehicle decelerating, a nearby vehicle activating a turn signal, a lateral trajectory associated with a lane change, etc. Additionally, as part of the vehicle state, the control module 220 may also identify the length and / or category of the nearby vehicle.
[0043] At 350, the control module 220 determines whether the vehicle state meets the merge threshold. In one arrangement, the control module 220 determines whether the category of the nearby vehicle is at least the 4th size category. In other words, the control module 220 determines whether the length of the nearby vehicle exceeds the merge threshold (e.g., greater than 25 feet). As another aspect of determining whether the vehicle state meets the merge threshold, the control module 220 can determine whether the nearby vehicle intends to change lanes. In one arrangement, the control module 220 determines the intention to change lanes based on the above-mentioned characteristics (such as turn signals, trajectory, V2V communication, etc.). Therefore, if the vehicle state exhibits the above-mentioned characteristics related to category / length and intention to change lanes, then the control module 220 determines that the vehicle state meets the merge threshold and continues to generate the trajectory at 360. Otherwise, the control module restarts the method 300.
[0044] At 360, the control module 220 generates a trajectory for the host vehicle 100 that avoids inside overtaking the nearby vehicle. In at least one arrangement, generating the trajectory includes determining the length of the nearby vehicle and generating the trajectory with a gap in front of the host vehicle 100 that provides a length into which the nearby vehicle can merge. The control module 220 may already know the length from a previous determination or the control module 220 may actively determine the length / size as mentioned above. In yet another aspect, the control module 220 generates the trajectory with a lane change maneuver to an adjacent lane in which the nearby vehicle was / is traveling while maintaining a gap to the nearby vehicle in the current lane. Generating the trajectory with the lane change maneuver also includes identifying traffic that may affect the lane change (e.g., traffic approaching from behind) in order to adjust the speed / timing of the lane change.
[0045] At 370 , the control module 220 controls the host vehicle 100 according to the trajectory. In one arrangement, the control module 220 provides control inputs to the host vehicle 100 to control the path of the host vehicle 100 according to the trajectory. The assistance system 160 can initiate control based on the trajectory-based request from the control module 220. The control can vary depending on the specific mode of the host vehicle 100 (e.g., autonomous, semi-autonomous, etc.), but can include lateral control to cause the vehicle 100 to follow the trajectory, providing automatic braking / acceleration, etc. In this way, the merge system 170 avoids safety risks by preventing inside overtaking maneuvers.
[0046] As a further explanation of the functionality of the presently disclosed systems and methods, consider Figure 4 . Figure 4 A multi-lane roadway 400 is illustrated, which may be a highway or a multi-lane urban street. As shown, host vehicle 100 is traveling in the driving lane, inside of truck 410 in the passing / express lane. Therefore, host vehicle 100 is currently on trajectory 420 for an inside overtaking maneuver. However, merging system 170 recognizes that driving context 240 includes a multi-lane road with nearby vehicles in the outside adjacent lane, consistent with the described approach. Therefore, as host vehicle 100 approaches, merging system 170 can further determine whether truck 410 meets the category indicated by the merging threshold and whether the truck intends to merge into host vehicle 100's lane. In this manner, merging system 170 generates trajectory 430 that provides clearance for truck 410 to merge and also for host vehicle 100 to execute a lane change, allowing host vehicle 100 to overtake truck 410 when merging. In this way, the host vehicle 100 improves safety while also potentially improving traffic flow by allowing the truck 410 to change lanes.
[0047] Additionally, it should be understood that Figure 1The incorporated system 170 can be configured in various arrangements with separate integrated circuits and / or electronic chips. In such embodiments, the control system 220 is implemented as a separate integrated circuit. The circuits are connected via connection paths to provide for conveying signals between separate circuits. Of course, although separate integrated circuits are discussed, in various embodiments, the circuits can be integrated into general-purpose integrated circuits and / or integrated circuit boards. Additionally, the integrated circuits can be combined into fewer integrated circuits or divided into more integrated circuits. In some other embodiments, some of the functionality associated with the module 220 can be implemented as firmware that is executable by the processor and stored in non-volatile memory. In some other embodiments, the module 220 is integrated as a hardware component of the processor 110.
[0048] In another embodiment, the described methods and / or their equivalents may be implemented using computer-executable instructions. Thus, in one embodiment, a non-transitory computer-readable medium is configured with stored computer-executable instructions that, when executed by a machine (e.g., a processor, a computer, etc.), cause the machine (and / or associated components) to perform the method.
[0049] Although the methodologies illustrated in the figures are shown and described as a series of blocks for simplicity of explanation, it should be appreciated that these methodologies are not limited to the order of the blocks, as some blocks may appear in a different order and / or occur concurrently with other blocks shown and described. Furthermore, fewer than all of the illustrated blocks may be used to implement the example methodologies. Blocks may be combined or separated into multiple components. Furthermore, additional and / or alternative methodologies may employ additional blocks not illustrated.
[0050] Figure 1 An example environment in which the systems and methods disclosed herein may operate will be discussed in detail. In some examples, the vehicle 100 is configured to selectively switch between an autonomous mode, one or more semi-autonomous operating modes, and / or a manual mode. Such switching may be implemented in a suitable manner. "Manual mode" means that all or most of the navigation and / or maneuvering of the vehicle is performed based on input received from a user (e.g., a human driver).
[0051] In one or more embodiments, the vehicle 100 is an autonomous vehicle. As used herein, an "autonomous vehicle" refers to a vehicle operating in an autonomous mode. "Autonomous mode" refers to controlling the vehicle 100 using one or more computer systems to navigate and / or maneuver the vehicle 100 along a travel route with minimal or no input from a human driver. In one or more embodiments, the vehicle 100 is fully automated. In one embodiment, the vehicle 100 is configured with one or more semi-autonomous operating modes, in which one or more computer systems perform a portion of the navigation and / or maneuvering of the vehicle 100 along a travel route, and the vehicle operator (i.e., the driver) provides input to the vehicle 100 to perform a portion of the navigation and / or maneuvering of the vehicle 100 along the travel route. Such semi-autonomous operation may include supervisory control implemented by the incorporation system 170 to ensure that the vehicle 100 remains within defined state constraints.
[0052] The vehicle 100 may include one or more processors 110. In one or more arrangements, the processor(s) 110 may be the main processor of the vehicle 100. For example, the processor(s) 110 may be an electronic controller unit (ECU). The vehicle 100 may include one or more data repositories 115 (e.g., data repositories 230) for storing one or more types of data. The 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, magnetic disks, optical disks, hard drives, or other suitable storage media, or any combination thereof. The data repositories 115 may be a component of the processor(s) 110, or the data repositories 115 may be operably connected to the processor(s) 110 for use. The term "operably connected" as used throughout the description may include direct or indirect connections, including connections without direct physical contact.
[0053] In one or more arrangements, one or more data repositories 115 may include map data. The map data may include maps of one or more geographic areas. In some instances, the map data may include information (e.g., metadata, labels, etc.) regarding roads, traffic control devices, road markings, structures, features, and / or landmarks within the one or more geographic areas. In some instances, the map data may include aerial / satellite views. In some instances, the map data may include ground-level views of the area, including 360-degree ground-level views. The map data may include measurements, dimensions, distances, and / or information about one or more items included in the map data and / or relative to other items included in the map data. The map data may include digital maps with information about road geometry. The map data may also include feature-based map data, such as information about the relative locations of buildings, curbs, poles, and the like. In one or more arrangements, the data maps may include one or more topographic maps. In one or more arrangements, the map data may include static obstacle maps. Static obstacle map(s) may include information about one or more static obstacles located within the one or more geographic areas. A "static obstacle" is a physical object whose position does not change or does not substantially change over time and / or whose size does not change or does not substantially change over time. Examples of static obstacles include trees, buildings, curbs, fences, railings, medians, utility poles, statues, monuments, signs, benches, furniture, mailboxes, boulders, hills. A static obstacle can be an object that extends above the ground.
[0054] One or more data repositories 115 may include sensor data (eg, sensor data 250). In this context, "sensor data" refers to any information from sensors equipped with the vehicle 100, including capabilities and other information about such sensors.
[0055] As described above, the vehicle 100 may include a sensor system 120. The sensor system 120 may include one or more sensors. A "sensor" refers to any device, component, and / or system that can detect, sense, and / or sense something. One or more sensors may be configured to operate in real time. As used herein, the term "real time" refers to a level of processing response that is sufficiently immediate for a user or system to sense a particular process or determination to be made, or that enables a processor to keep up with certain external processes.
[0056] In an arrangement where the sensor system 120 includes multiple sensors, the sensors may operate independently of each other. Alternatively, two or more sensors may operate in combination with each other. In this case, the two or more sensors may form a sensor network. The sensor system 120 and / or one or more sensors may be operably connected to the processor(s) 110, the data repository(s) 115, and / or another element of the vehicle 100 (including Figure 1 Any of the elements shown). The sensor system 120 can acquire data of at least a portion of the external environment of the vehicle 100.
[0057] Sensor system 120 may include any suitable type of sensor. Various 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. Vehicle sensor(s) 121 may detect, determine, and / or sense information about vehicle 100 itself or the interior cabin of vehicle 100. In one or more arrangements, vehicle sensor(s) 121 may be configured to detect and / or sense changes in position and orientation of vehicle 100, such as, for example, based on inertial acceleration. In one or more arrangements, vehicle sensor(s) 121 may include one or more accelerometers, one or more gyroscopes, an inertial measurement unit (IMU), a dead reckoning system, a global navigation satellite system (GNSS), a global positioning system (GPS), a navigation system, and / or other suitable sensors. Vehicle sensor(s) 121 may be configured to detect and / or sense one or more characteristics of vehicle 100. In one or more arrangements, vehicle sensor(s) 121 may include a speedometer to determine the current speed of vehicle 100. Additionally, the vehicle sensor system 121 may include sensors throughout the passenger compartment, such as pressure / G-force sensors in the seats, seatbelt sensors, camera(s), and the like.
[0058] Alternatively or in addition, the 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, the one or more environmental sensors 122 may be configured to detect and / or sense obstacles in at least a portion of the external environment of the vehicle 100 and / or information / data about such obstacles. Such obstacles may be stationary objects and / or dynamic objects. The one or more environmental sensors 122 may be configured to detect and / or sense other things in the external environment of the vehicle 100, such as lane markings, signs, traffic lights, traffic signs, lane lines, crosswalks, curbs close to the vehicle 100, roadside objects, etc.
[0059] Various examples of sensors for sensor system 120 are described herein. Example sensors may be part of one or more environmental sensors 122 and / or one or more vehicle sensors. However, it should be understood that embodiments are not limited to the specific sensors described. As an example, in one or more arrangements, sensor system 120 may include one or more radar sensors, one or more lidar sensors, one or more sonar sensors, and / or one or more cameras. In one or more arrangements, one or more cameras may be high dynamic range (HDR) cameras or infrared (IR) cameras.
[0060] The vehicle 100 may include an input system 130. An "input system" includes, but is not limited to, any device, component, system, element, or arrangement, or any combination thereof, that enables information / data to be entered into the vehicle. The input system 130 may receive input from a vehicle occupant (e.g., an operator or passenger). The vehicle 100 may include an output system 140. An "output system" includes any device, component, or arrangement, or any combination thereof, that enables information / data to be presented to a vehicle occupant (e.g., a person, a vehicle passenger, etc.).
[0061] The vehicle 100 may include one or more vehicle systems 150. Various examples of the one or more vehicle systems 150 are described in Figure 1 1 , however, the vehicle 100 may include a different combination of systems than the illustrated example provided. In one example, the vehicle 100 may include a propulsion system, a braking system, a steering system, a throttle system, a transmission system, a signaling system, a navigation system, etc. The systems may include one or more devices, components, and / or combinations thereof, either individually or in combination.
[0062] For example, the navigation system may include one or more devices, applications, and / or combinations thereof configured to determine the geographic location of the vehicle 100 and / or determine a travel route for the vehicle 100. The navigation system may include one or more mapping applications to determine a travel route for the vehicle 100. The navigation system may include a global positioning system, a local positioning system, or a geographic positioning system.
[0063] Processor(s) 110, incorporated system 170, and / or auxiliary system 160 may be operatively connected to communicate with various vehicle systems 150 and / or their individual components. Figure 1, the processor(s) 110 and / or the assistance system 160 may communicate to send and / or receive information from the various vehicle systems 150 to control the movement, speed, maneuvering, heading, direction, etc. of the vehicle 100. The processor(s) 110, incorporated system 170, and / or the assistance system 160 may control some or all of the vehicle systems 150 and, thus, may be partially or fully autonomous.
[0064] Processor(s) 110, incorporated system 170, and / or auxiliary system 160 may be operatively connected to communicate with various vehicle systems 150 and / or their individual components. Figure 1 , the processor(s) 110 , the incorporated system 170 , and / or the auxiliary system 160 can communicate to send and / or receive information from the various vehicle systems 150 to control the movement, speed, maneuvering, heading, direction, etc. of the vehicle 100 . The processor(s) 110 , the incorporated system 170 , and / or the auxiliary system 160 can control some or all of the vehicle systems 150 .
[0065] Processor(s) 110, merging system 170, and / or assistance system 160 may be operable to control navigation and / or maneuvering of vehicle 100 by controlling one or more of vehicle systems 150 and / or components therein. For example, when operating in autonomous mode, processor(s) 110, merging system 170, and / or assistance system 160 may control the direction and / or speed of vehicle 100. Processor(s) 110, merging system 170, and / or assistance system 160 may cause vehicle 100 to accelerate (e.g., by increasing the power supply to the engine), decelerate (e.g., by reducing the power supply to the engine and / or applying the brakes), and / or change direction (e.g., by turning the front two wheels).
[0066] In addition, the incorporation system 170 and / or the auxiliary system 160 can be used to perform various driving-related tasks. The vehicle 100 may include one or more actuators. An actuator can be any element or combination of elements that is operable to modify, adjust, and / or change one or more vehicle systems or components thereof in response to receiving a signal or other input from (multiple) processors 110 and / or the auxiliary system 160. Any suitable actuator can be used. For example, the one or more actuators may include a motor, a pneumatic actuator, a hydraulic piston, a relay, a solenoid, and / or a piezoelectric actuator, to name just a few possibilities.
[0067] The vehicle 100 may include one or more modules, at least some of which are described herein. These modules may be implemented as computer-readable program code that, when executed by the processor 110, implements one or more of the various processes described herein. One or more of the modules may be components of the processor(s) 110, or one or more of the modules may be executed on and / or distributed among other processing systems to which the processor(s) 110 are operably connected. These 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.
[0068] In one or more arrangements, one or more of the modules described herein may include artificial or computational intelligence elements, such as neural networks, fuzzy logic, or other machine learning algorithms. Additionally, in one or more arrangements, one or more of the modules may be distributed across multiple modules described herein. In one or more arrangements, two or more of the modules described herein may be combined into a single module.
[0069] The vehicle 100 may include one or more modules forming an assistance system 160. The assistance system 160 may be configured to receive data from the sensor system 120 and / or any other type of system capable of capturing information relating to the vehicle 100 and / or the environment outside of the vehicle 100. In one or more arrangements, the assistance system 160 may use such data to generate one or more driving sensing models. The assistance system 160 may determine the location and velocity of the vehicle 100. The assistance system 160 may determine the location of obstacles or other environmental features, including traffic signals, trees, shrubs, adjacent vehicles, pedestrians, etc.
[0070] The assistance system 160 can be configured to receive and / or determine location information of obstacles within the external environment of the vehicle 100 for use by the processor(s) 110 and / or one or more of the modules described herein to estimate the position and orientation of the vehicle 100, the vehicle's position in global coordinates based on signals from multiple satellites, or any other data and / or signals that can be used to determine the current state of the vehicle 100 or determine the position of the vehicle 100 relative to its environment for creating a map or determining the position of the vehicle 100 with respect to map data.
[0071] The assistance system 160 can be configured, independently or in combination with the incorporation system 170, to determine driving path(s), a current autonomous driving maneuver for the vehicle 100, future autonomous driving maneuvers based on data acquired by the sensor system 120 and / or modifications to the current autonomous driving maneuver, a driving sensing model, and / or data from any other suitable source, such as determinations from sensor data 250. A "driving maneuver" refers to one or more actions that affect the movement of the vehicle. Examples of driving maneuvers include: accelerating, decelerating, braking, steering, lateral movement of the vehicle 100, changing lanes, merging into a lane, and / or reversing, to name a few possibilities. The assistance system 160 can be configured to implement the determined driving maneuvers. The assistance system 160 can directly or indirectly cause such autonomous driving maneuvers to be implemented. As used herein, "cause" or "enable" means to cause, command, direct, and / or enable an event or action to occur or at least to place such an event or action in a state where it can occur, whether directly or indirectly. Assistance system 160 may be configured to perform various vehicle functions and / or transmit data to, receive data from, interact with, and / or control vehicle 100 or one or more systems of vehicle 100 (e.g., one or more vehicle systems in vehicle systems 150) or vehicle 100 or one or more systems of vehicle 100.
[0072] Detailed embodiments are disclosed herein. However, it should be understood that the embodiments of the present disclosure are intended to be examples only. Therefore, the specific structural and functional details disclosed herein should not be interpreted as limiting but merely as a basis for the claims and as a representative basis for teaching those skilled in the art to employ the aspects described herein in various ways with virtually any appropriate detailed structure. Furthermore, the terms and phrases used herein are not intended to be limiting but are intended to provide an understandable description of possible implementations. Various embodiments are described in Figures 1 to 4 Although shown in FIG, the embodiments are not limited to the illustrated structures or applications.
[0073] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality and operation of the possible implementations of the systems, methods and computer program products according to various embodiments. In this regard, each box in the flowchart or block diagram can represent a module, segment or portion of a code, which includes one or more executable instructions for implementing the specified (multiple) logical functions. It should also be noted that in some alternative implementations, the functions indicated in the box may not occur in the order indicated in the figure. For example, depending on the functionality involved, two consecutive boxes can actually be executed simultaneously, or these boxes can sometimes be executed in the opposite order.
[0074] The above-mentioned systems, components and / or processes can be implemented in hardware or a combination of hardware and software, and can be implemented in a centralized manner in one processing system or in a distributed manner, in which different elements are spread across several interconnected processing systems. Any type of processing system or another device suitable for performing the methods described herein is suitable. The combination of hardware and software can be a processing system with a computer-usable program code that controls the processing system when loaded and executed so that it performs the methods described herein. The systems, components and / or processes can also be embedded in a computer-readable storage device, such as a computer program product or other data program storage device that can be read by a machine, tangibly embodying a program of instructions that can be executed by a machine to perform the methods and processes described herein. These elements can also be embedded in an application product that includes all the features that can implement the methods described herein and can perform these methods when loaded into a processing system.
[0075] In addition, the arrangements described herein may take the form of a computer program product embodied in one or more computer-readable media having (e.g., stored thereon) computer-readable program code. Any combination of one or more computer-readable media may be utilized. The computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. The phrase "computer-readable storage medium" refers to a non-transitory storage medium. The computer-readable medium may take the form of, but is not limited to, non-volatile media and volatile media. Non-volatile media may include, for example, optical disks, magnetic disks, etc. Volatile media may include, for example, semiconductor memories, dynamic memories, etc. Examples of such computer-readable media may include, but are not limited to, a floppy disk, a floppy disk, a hard disk, a magnetic tape, another magnetic medium, an ASIC, a CD, another optical medium, RAM, ROM, a memory chip or card, a memory stick, and other media from which a computer, processor, or other electronic device can read. In the context of this document, a computer-readable storage medium may be any tangible medium that may contain or store a program for use by, or in conjunction with, an instruction execution system, apparatus, or device.
[0076] The following include definitions of selected terms used herein. The definitions include various examples and / or forms of components that fall within the scope of the term and can be used in various implementations. These examples are not intended to be limiting. Both singular and plural forms of the terms may be included within the definitions.
[0077] References to "one embodiment," "an embodiment," "an example," "an example," etc. indicate that the embodiment(s) or example(s) described herein may include a particular feature, structure, characteristic, attribute, element, or limitation, but not every embodiment or example must include the particular feature, structure, characteristic, attribute, element, or limitation. Furthermore, although the phrase "in one embodiment" may be used repeatedly, use of the phrase does not necessarily refer to the same embodiment.
[0078] As used herein, a "module" includes a computer or (multiple) electrical hardware components, firmware, non-transitory computer-readable media storing instructions, and / or a combination of these components, which is configured to perform (multiple) functions or (multiple) actions, and / or is configured to cause functions or actions from another logic, method and / or system. A module may include a microprocessor controlled by an algorithm, discrete logic (e.g., ASIC), analog circuits, digital circuits, programmed logic devices, memory devices including instructions that execute the algorithm when executed, etc. In one or more embodiments, a module may include one or more CMOS gates, a combination of gates, or other circuit components. Where multiple modules are described, one or more embodiments may include merging the multiple modules into one physical module assembly. Similarly, where a single module is described, one or more embodiments distribute the single module between multiple physical components.
[0079] In addition, the module used herein includes routines, programs, objects, components, data structures, etc. that perform specific tasks or realize specific data types. In other aspects, memory stores the modules mentioned generally. The memory associated with the module can be a buffer or cache memory, RAM, ROM, flash memory or other suitable electronic storage medium embedded in the processor. In other aspects, the module envisioned by the present disclosure is implemented as a hardware component of an application specific integrated circuit (ASIC), a system on a chip (SoC), a programmable logic array (PLA) or is implemented as another suitable hardware component embedded together with a definition configuration set (e.g., instruction), for performing the function of the present disclosure.
[0080] In one or more arrangements, one or more of the modules described herein may include artificial or computational intelligence elements, such as neural networks, fuzzy logic, or other machine learning algorithms. Additionally, in one or more arrangements, one or more of the modules may be distributed across multiple modules described herein. In one or more arrangements, two or more of the modules described herein may be combined into a single module.
[0081] The program code embodied on computer-readable media can use any appropriate medium to transmit, including but not limited to any appropriate combination of wireless, wired, optical fiber, cable, RF etc. or aforementioned medium.Can write the computer program code for performing the operation of this arrangement various aspects with any combination of one or more programming languages, comprise the object-oriented programming language such as JavaTM, Smalltalk, C++ and the conventional program programming language such as " C " programming language or similar programming language.Program code can be performed on user's computer completely, partly on user's computer, performed as independent software package, partly on user's computer and partly on remote computer, or performed completely on remote computer or server.In the latter case, remote computer can be connected to user's computer by any type of network (including local area network (LAN) or wide area network (WAN)), or can be connected (for example, by using the Internet of Internet Service Provider) with external computer.
[0082] As used herein, the terms "one" and "an" are defined as one or more than one. As used herein, the term "plurality" is defined as two or more than two. As used herein, the term "another" is defined as at least a second or more. As used herein, the terms "include" and / or "have" are defined as including (i.e., open language). As used herein, the phrase "at least one of ... and ... " refers to and encompasses all possible combinations of one or more of the associated listed items. As an 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).
[0083] The various aspects herein may be embodied in other forms without departing from its spirit or essential attributes. Accordingly, reference should be made to the appended claims, rather than to the foregoing specification, as indicating the scope.
Claims
1. An incorporation system comprising: one or more processors (110); as well as a memory (210) communicatively coupled to the one or more processors and storing: A control module (220) comprising instructions that, when executed by the one or more processors, cause the one or more processors to: generating a driving context from sensor data about a surrounding environment of a host vehicle (100), the driving context identifying a lane of a roadway and a position of the host vehicle in the lane; In response to determining that the driving context and the state of the nearby vehicle satisfy a merge threshold, generating a trajectory for the host vehicle that avoids inside passing the nearby vehicle (430), including determining a length of the nearby vehicle and generating the trajectory with a gap in front of the host vehicle that provides the length and into which the nearby vehicle can merge; and The host vehicle is controlled according to the trajectory.
2. The merging system of claim 1 , wherein the control module includes instructions for generating the trajectory, the instructions including instructions for generating a trajectory having a lane change maneuver to an adjacent lane of the nearby vehicle while maintaining a gap to the nearby vehicle in a current lane.
3. The merging system according to any one of claims 1 to 2, wherein the control module includes instructions for generating the driving context, the instructions for generating the driving context including instructions for: analyzing the sensor data to determine the configuration of the lane of the roadway and the position of the host vehicle in the lane.
4. The merging system according to any one of claims 1 to 2, wherein the control module includes instructions for determining that the driving context satisfies the merging threshold, the instructions for determining that the driving context satisfies the merging threshold including instructions for identifying that the position of the host vehicle is in a driving lane of the roadway with at least one overtaking lane at an outer position of the host vehicle.
5. The merging system according to any one of claims 1 to 2, wherein the control module includes instructions for determining that the state of the nearby vehicle satisfies the merging threshold, and the instructions for determining that the state of the nearby vehicle satisfies the merging threshold include instructions for: identifying that the category of the nearby vehicle is at least the 4th size category and that the nearby vehicle is traveling in an adjacent outside lane.
6. The merging system of any one of claims 1 to 2, wherein the control module includes instructions for generating the driving context, the instructions for generating the driving context including instructions for identifying the nearby vehicle and the nearby vehicle being at least a Class 4 vehicle.
7. The incorporation system according to any one of claims 1 to 2, wherein the control module comprises instructions for acquiring the sensor data about the surrounding environment of the host vehicle using at least one sensor (120), and The control module includes instructions for controlling the host vehicle according to the trajectory by generating longitudinal control and lateral control to cause the host vehicle to follow the trajectory.
8. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors (110), cause the one or more processors to: generating a driving context from sensor data about a surrounding environment of a host vehicle (100), the driving context identifying a lane of a roadway and a position of the host vehicle in the lane; In response to determining that the driving context and the state of the nearby vehicle satisfy a merge threshold, generating a trajectory for the host vehicle that avoids inside passing the nearby vehicle (430), including determining a length of the nearby vehicle and generating the trajectory with a gap in front of the host vehicle that provides the length and into which the nearby vehicle can merge; and The host vehicle is controlled according to the trajectory.
9. The non-transitory computer-readable medium of claim 8, wherein the instructions for generating the trajectory include instructions for generating a trajectory with a lane change maneuver to an adjacent lane of the nearby vehicle while maintaining a gap to the nearby vehicle in a current lane.
10. The non-transitory computer-readable medium of any one of claims 8 to 9, wherein the instructions for generating the driving context include instructions for analyzing the sensor data to determine a configuration of the lane of the roadway and the position of the host vehicle in the lane.
11. A method for vehicle behavior planning, comprising: generating a driving context from sensor data about a surrounding environment of a host vehicle (100), the driving context identifying a lane of a roadway and a position of the host vehicle in the lane; In response to determining that the driving context and the state of the nearby vehicle satisfy a merge threshold, generating a trajectory for the host vehicle that avoids inside passing the nearby vehicle (430), including determining a length of the nearby vehicle and generating the trajectory with a gap in front of the host vehicle that provides the length and into which the nearby vehicle can merge; and The host vehicle is controlled according to the trajectory. 12 . The method of claim 11 , wherein generating the trajectory comprises generating a trajectory with a lane change maneuver to an adjacent lane of the nearby vehicle while maintaining a gap to the nearby vehicle in a current lane.
13. The method according to any one of claims 11 to 12, wherein generating the driving context comprises analyzing the sensor data to determine a configuration of the lanes of the roadway and the position of the host vehicle in the lanes.
14. The method according to any one of claims 11 to 12, wherein determining that the driving context satisfies the merging threshold comprises identifying that the position of the host vehicle is in a driving lane of the roadway with at least one overtaking lane being located to the outside of the host vehicle.
15. The method of any one of claims 11 to 12, wherein determining that the state of the nearby vehicle satisfies the merge threshold comprises identifying that the class of the nearby vehicle is at least a 4th size class and that the nearby vehicle is traveling in an adjacent outside lane. 16 . The method according to claim 11 , wherein generating the driving context comprises identifying the nearby vehicles and the nearby vehicles are at least Class 4 vehicles.
17. The method according to any one of claims 11 to 12, further comprising: acquiring said sensor data about said surrounding environment of said host vehicle using at least one sensor (120), Controlling the host vehicle according to the trajectory includes generating longitudinal control and lateral control to cause the host vehicle to follow the trajectory.
Citation Information
Patent Citations
Overtake assistance device
CN108602511A
Vehicle movement prediction method and apparatus
US20190095809A1
Travel assistance method and travel assistance device
WO2020016621A1