System and method for traffic jam prevention
By using the processor in the autonomous vehicle to obtain sensor data and intersection parameters, determine the constraints of the vehicle status, generate and select trajectories to minimize traffic jams, the problem of the autonomous vehicle responding correctly at the intersection is solved, and effective traffic management in marked and unmarked intersections is achieved.
Patent Information
- Application Number
- CN202380060910.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-01-06
- Filing Date
- 2023-06-22
- Publication Date
- 2025-04-11
AI Technical Summary
The prior art is difficult to effectively solve the problem of the correct response of autonomous vehicles at intersections, especially in both marked intersections and unmarked intersections.
By using at least one processor, sensor data and intersection parameters in the autonomous vehicle environment are obtained, constraints are determined based on vehicle state, multiple trajectories are generated, and trajectories are selected based on constraints to minimize the possibility of traffic jam state.
It is realized that potential intersections are identified in marked and unmarked intersections and operates autonomous vehicles to minimize traffic jams, improving the correct response ability of autonomous vehicles at intersections.
Smart Images

Figure CN119816442A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority / benefit of U.S. Provisional Application No. 63 / 354,714, filed on June 23, 2022, entitled “SYSTEMS AND METHODS FOR GRIDLOCK PREVENTION,” and U.S. Application No. 18 / 150,892, filed on January 6, 2023, each of which is incorporated herein by reference in its entirety. Background Art
[0003] Various countries apply road markings to their infrastructure to avoid long stops of traffic flow at intersections and lane merges (also known as gridlocks). These markings are often called "yellow boxes" in Singapore and "box junctions" in the UK. Other nomenclatures may also be used in the United States, such as "keep-open" zones, etc.
[0004] It is not easy to comply with the special rules of intersections. For example, specific constraints on the direction of entry are not formally stipulated in legislation. In addition, even at intersections without infrastructure markings, some constraints are practiced as "driver courtesy" (e.g., not formally stipulated).
[0005] Existing legislation strives to formalize rules for all but the simplest situations that are still assigned high priority. Example situations that are difficult to formalize include exceptions for turning pockets (marked or unmarked), signaled but "inactive" crosswalks (e.g., crosswalks that vehicles would cross when the light is green to go straight), and inferred "keep-clear" areas for secondary roads / roadways / parking lots.
[0006] While humans generally know how to obey road markings to navigate traffic jams, and further understand the “courtesy” of unmarked roads, it may be increasingly difficult for autonomous vehicles to react correctly at intersections. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Figure 1 is an example environment in which a vehicle including one or more components of an autonomous system may be implemented;
[0008] Figure 2 is a diagram of one or more example systems of a vehicle including an autonomous system;
[0009] Figure 3 yes Figure 1 and Figure 2diagrams of components of one or more example devices and / or one or more example systems;
[0010] Figure 4 is a diagram of certain components of an example autonomous system;
[0011] Figure 5 is a diagram of an example implementation of a process for traffic jam prevention;
[0012] Figure 6 is a diagram of an example implementation of a process for traffic jam prevention;
[0013] 7A to 7F is a diagram of an example implementation of a process for traffic jam prevention;
[0014] FIG. 8A to FIG. 8B is a diagram of an example implementation of a process for traffic jam prevention;
[0015] 9A to 9C is a diagram of an example implementation of a process for traffic jam prevention; and
[0016] Fig.10 is a flow chart of an example process for traffic jam prevention. DETAILED DESCRIPTION
[0017] In the following description, for the purpose of explanation, many specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it will be apparent that the embodiments described in the present disclosure can be implemented without these specific details. In some instances, well-known configurations and devices are illustrated in block diagram form to avoid unnecessarily obscuring aspects of the present disclosure.
[0018] In the accompanying drawings, for ease of description, the specific arrangement or order of schematic elements (such as those representing systems, devices, modules, instruction blocks and / or data elements, etc.) is illustrated. However, those skilled in the art will understand that, unless explicitly described, the specific order or arrangement of the schematic elements in the accompanying drawings is not intended to mean that a specific processing order or sequence, or separation of processing is required. In addition, unless explicitly described, the inclusion of a schematic element in the accompanying drawings is not intended to mean that such an element is required in all embodiments, nor is it intended to mean that the features represented by such an element may not be included in some embodiments or may not be combined with other elements in some embodiments.
[0019] In addition, in the accompanying drawings, connecting elements (such as solid or dotted lines or arrows, etc.) are used to illustrate the connection, relationship or association between or among two or more other schematic elements, and the absence of any such connecting elements is not intended to mean that there can be no connection, relationship or association. In other words, some connections, relationships or associations between elements are not illustrated in the accompanying drawings so as not to obscure the present disclosure. In addition, for ease of illustration, a single connecting element can be used to represent multiple connections, relationships or associations between elements. For example, if the connecting element represents the communication of a signal, data or instruction (e.g., "software instruction"), it will be understood by those skilled in the art that such an element can represent one or more than one signal path (e.g., bus) that may be needed to affect the communication.
[0020] Although the terms "first", "second" and / or "third", etc. are used to describe various elements, these elements should not be limited by these terms. The terms "first", "second" and / or "third" are only used to distinguish one element from another. For example, a first contact may be referred to as a second contact, and similarly, a second contact may be referred to as a first contact without departing from the scope of the described embodiments. Both the first contact and the second contact are contacts, but they are not the same contacts.
[0021] The terms used in the description of the various embodiments described herein are included only for the purpose of describing specific embodiments and are not intended to be limiting. As used in the description of the various embodiments described and in the appended claims, the singular forms "a", "an" and "the" are also intended to include plural forms and can be used interchangeably with "one or more than one" or "at least one", unless the context clearly indicates otherwise. It will also be understood that the term "and / or" as used herein refers to and includes any and all possible combinations of one or more than one of the associated listed items. It will also be understood that when the terms "include", "comprises", "have" and / or "have" are used in this specification, the stated features, integers, steps, operations, elements and / or components are specifically stated, but the presence or addition of one or more than one other features, integers, steps, operations, elements, components and / or groups thereof are not excluded.
[0022] As used herein, the terms "communication" and "communicating" refer to at least one of receiving, receiving, transmitting, transmitting and / or providing information (or information represented by, for example, data, signals, messages, instructions and / or commands, etc.). For a unit (e.g., a device, a system, a component of a device or system, and / or a combination thereof) to communicate with another unit, this means that the unit can directly or indirectly receive information from the other unit and / or send (e.g., transmit) information to the other unit. This can refer to a direct or indirect connection that is wired and / or wireless in nature. In addition, even if the transmitted information can be modified, processed, relayed and / or routed between the first unit and the second unit, the two units can communicate with each other. For example, even if the first unit passively receives information and does not actively transmit information to the second unit, the first unit can communicate with the second unit. As another example, if at least one intermediary unit (e.g., a third unit located between the first unit and the second unit) processes the information received from the first unit and transmits the processed information to the second unit, the first unit can communicate with the second unit. In some embodiments, a message may refer to a network packet (eg, a data packet, etc.) that includes data.
[0023] As used herein, the term "if" is optionally interpreted to mean "when," "at," "in response to being determined to be," and / or "in response to being detected," etc., depending on the context. Similarly, the phrases "if it is determined" or "if [the stated condition or event] is detected" are optionally interpreted to mean "when determining," "in response to being determined to be" or "when [the stated condition or event] is detected," and / or "in response to being detected," etc., depending on the context. In addition, as used herein, the terms "have," "have," or "possess," etc. are intended to be open-ended terms. Furthermore, unless expressly stated otherwise, the phrase "based on" is intended to mean "based at least in part on."
[0024] “At least one” and “one or more than one” include a function being performed by one element, a function being performed by more than one element, such as in a distributed manner, several functions being performed by one element, several functions being performed by several elements, or any combination of the above.
[0025] Some embodiments of the present disclosure are described herein in conjunction with thresholds. As described herein, satisfying (such as meeting, etc.) a threshold may refer to a value being greater than a threshold, more than a threshold, above a threshold, greater than or equal to a threshold, less than a threshold, less than a threshold, below a threshold, less than or equal to a threshold, and / or equal to a threshold, etc.
[0026] Reference will now be made in detail to embodiments, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the various embodiments described. However, it will be apparent to one of ordinary skill in the art that the various embodiments described may be implemented without these specific details. In other cases, well-known methods, processes, components, circuits, and networks have not yet been described in detail in order not to unnecessarily obscure aspects of the embodiments.
[0027] General Overview
[0028] In some aspects and / or embodiments, the systems, methods, and computer program products described herein include and / or implement a method for traffic jams. The method includes: using at least one processor, obtaining sensor data associated with an environment in which an autonomous vehicle is operating. In one or more embodiments or examples, the sensor data is generated by at least one sensor of an autonomous vehicle operating in the environment. The method includes: using at least one processor, obtaining intersection parameters indicating intersection boundaries for intersections located in the environment. The method includes: using at least one processor, determining at least one constraint based on the state of the autonomous vehicle. In one or more embodiments or examples, at least one constraint minimizes the possibility that the operation of the autonomous vehicle causes a traffic jam state at the intersection. The method includes: using at least one processor, generating a plurality of trajectories for the operation of the autonomous vehicle. The method includes: using at least one processor, selecting a trajectory from a plurality of trajectories based on at least one constraint. In one or more embodiments or examples, the trajectory minimizes the possibility that the operation of the autonomous vehicle causes a traffic jam state. The method includes: using at least one processor, providing data associated with the trajectory. In one or more embodiments or examples, the data associated with the trajectory is configured to cause the autonomous vehicle to operate along the trajectory.
[0029] With the implementation of the systems, methods, and computer program products described herein, techniques for traffic jam prevention are provided. Some of the advantages of these techniques include identifying potential intersections and operating autonomous vehicles to minimize and / or prevent traffic jam situations. The disclosed techniques can be advantageously used in both marked intersections and unmarked intersections.
[0030] Reference now Figure 1, illustrates an example environment 100 in which vehicles including autonomous systems and vehicles not including autonomous systems operate. As illustrated, the environment 100 includes vehicles 102a-102n, objects 104a-104n, routes 106a-106n, areas 108, vehicle-to-infrastructure (V2I) devices 110, a network 112, a remote autonomous vehicle (AV) system 114, a fleet management system 116, and a V2I system 118. The vehicles 102a-102n, the vehicle-to-infrastructure (V2I) devices 110, the network 112, the autonomous vehicle (AV) system 114, the fleet management system 116, and the V2I system 118 are interconnected (e.g., establish connections for communication, etc.) via wired connections, wireless connections, or a combination of wired or wireless connections. In some embodiments, objects 104a-104n are interconnected with at least one of vehicles 102a-102n, vehicle-to-infrastructure (V2I) devices 110, networks 112, autonomous vehicle (AV) systems 114, fleet management systems 116, and V2I systems 118 via wired connections, wireless connections, or a combination of wired or wireless connections.
[0031] Vehicles 102a-102n (individually referred to as vehicles 102 and collectively referred to as vehicles 102) include at least one device configured to transport goods and / or people. In some embodiments, vehicles 102 are configured to communicate with V2I devices 110, remote AV systems 114, fleet management systems 116, and / or V2I systems 118 via network 112. In some embodiments, vehicles 102 include cars, buses, trucks, and / or trains, etc. In some embodiments, vehicles 102 are similar to vehicles 200 described herein (see Figure 2 ). In some embodiments, vehicles 200 in the set of vehicles 200 are associated with an autonomous queue manager. In some embodiments, vehicles 102 travel along respective routes 106a-106n (individually referred to as routes 106 and collectively referred to as routes 106) as described herein. In some embodiments, one or more vehicles 102 include an autonomous system (e.g., an autonomous system that is the same as or similar to autonomous system 202).
[0032] Objects 104a-104n (individually referred to as objects 104 and collectively referred to as objects 104) include, for example, at least one vehicle, at least one pedestrian, at least one cyclist, and / or at least one structure (e.g., a building, a sign, a fire hydrant, etc.), etc. Each object 104 is stationary (e.g., located at a fixed location and over a period of time) or moves (e.g., has a speed and is associated with at least one trajectory). In some embodiments, objects 104 are associated with corresponding locations in area 108.
[0033] Routes 106a-106n (individually referred to as routes 106 and collectively referred to as routes 106) are each associated with (e.g., specifying) a series of actions (also referred to as trajectories) connecting states along which the AV can navigate. Each route 106 begins at an initial state (e.g., a state corresponding to a first spatiotemporal location and / or speed, etc.) and ends at a final target state (e.g., a state corresponding to a second spatiotemporal location different from the first spatiotemporal location) or a target zone (e.g., a subspace of acceptable states (e.g., terminal states)). In some embodiments, the first state includes a location where one or more individuals will board the AV, and the second state or zone includes one or more locations where one or more individuals boarding the AV will disembark. In some embodiments, routes 106 include multiple acceptable state sequences (e.g., multiple spatiotemporal location sequences) that are associated with (e.g., define multiple trajectories). In an example, routes 106 include only high-level actions or imprecise state locations, such as a series of connecting roads indicating a change of direction at a lane intersection, etc. Additionally or alternatively, the route 106 may include more precise actions or states, such as, for example, specific target lanes or precise locations within lane regions and target speeds at those locations, etc. In an example, the route 106 includes a plurality of precise state sequences along at least one high-level action with a limited look-ahead horizon to an intermediate target, wherein a combination of consecutive iterations of the limited horizon state sequences cumulatively correspond to a plurality of trajectories that collectively form a high-level route terminating at a final target state or region.
[0034] The area 108 includes a physical area (e.g., a geographic region) in which the vehicle 102 can navigate. In an example, the area 108 includes at least one state (e.g., a country, a province, a separate state of multiple states included in a country, etc.), at least a portion of a state, at least one city, at least a portion of a city, etc. In some embodiments, the area 108 includes at least one named thoroughfare (referred to herein as a "road"), such as a highway, an interstate highway, a parkway, a city street, etc. Additionally or alternatively, in some examples, the area 108 includes at least one unnamed road, such as a driveway, a section of a parking lot, a section of an open space and / or undeveloped area, a dirt road, etc. In some embodiments, the road includes at least one lane (e.g., a portion of the road that the vehicle 102 can traverse). In an example, the road includes at least one lane associated with (e.g., identified based on) at least one lane marking.
[0035] The vehicle-to-infrastructure (V2I) device 110 (sometimes referred to as a vehicle-to-infrastructure or vehicle-to-everything (V2X) device) includes at least one device configured to communicate with the vehicle 102 and / or the V2I system 118. In some embodiments, the V2I device 110 is configured to communicate with the vehicle 102, the remote AV system 114, the fleet management system 116, and / or the V2I system 118 via the network 112. In some embodiments, the V2I device 110 includes a radio frequency identification (RFID) device, a sign, a camera (e.g., a two-dimensional (2D) and / or three-dimensional (3D) camera), lane markings, street lights, parking meters, etc. In some embodiments, the V2I device 110 is configured to communicate directly with the vehicle 102. Additionally or alternatively, in some embodiments, the V2I device 110 is configured to communicate with the vehicle 102, the remote AV system 114, and / or the fleet management system 116 via the V2I system 118. In some embodiments, the V2I device 110 is configured to communicate with the V2I system 118 via the network 112.
[0036] The network 112 includes one or more wired and / or wireless networks. In an example, the network 112 includes a cellular network (e.g., a long-term evolution (LTE) network, a third generation (3G) network, a fourth generation (4G) network, a fifth generation (5G) network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., a public switched telephone network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber-based network, a cloud computing network, etc., and / or a combination of some or all of these networks, etc.
[0037] The remote AV system 114 includes at least one device configured to communicate with the vehicle 102, the V2I device 110, the network 112, the fleet management system 116, and / or the V2I system 118 via the network 112. In an example, the remote AV system 114 includes a server, a server group, and / or other similar devices. In some embodiments, the remote AV system 114 is co-located with the fleet management system 116. In some embodiments, the remote AV system 114 participates in the installation of some or all of the components of the vehicle (including autonomous systems, autonomous vehicle computing, and / or software implemented by autonomous vehicle computing, etc.). In some embodiments, the remote AV system 114 maintains (e.g., updates and / or replaces) these components and / or software during the life of the vehicle.
[0038] The queue management system 116 includes at least one device configured to communicate with the vehicles 102, the V2I devices 110, the remote AV system 114, and / or the V2I system 118. In an example, the queue management system 116 includes a server, a server group, and / or other similar devices. In some embodiments, the queue management system 116 is associated with a ridesharing company (e.g., an organization for controlling the operation of multiple vehicles (e.g., vehicles including autonomous systems and / or vehicles not including autonomous systems)).
[0039] In some embodiments, the V2I system 118 includes at least one device configured to communicate with the vehicle 102, the V2I device 110, the remote AV system 114, and / or the fleet management system 116 via the network 112. In some examples, the V2I system 118 is configured to communicate with the V2I device 110 via a connection other than the network 112. In some embodiments, the V2I system 118 includes a server, a server group, and / or other similar devices. In some embodiments, the V2I system 118 is associated with a municipality or a private agency (e.g., a private agency for maintaining the V2I device 110, etc.).
[0040] In some embodiments, Fig.10 As illustrated, the apparatus 300 is configured as software instructions to perform one or more steps of the disclosed method.
[0041] supply Figure 1 The number and arrangement of elements illustrated are examples. Figure 1 There may be additional elements, fewer elements, different elements, and / or differently arranged elements than those illustrated. Additionally or alternatively, at least one element of environment 100 may be described as being Figure 1Additionally or alternatively, at least one set of elements of environment 100 may perform one or more functions described as being performed by at least one different set of elements of environment 100.
[0042] Reference now Figure 2 , vehicle 200 (which can be Figure 1 102) includes, or is associated with, autonomous system 202, powertrain control system 204, steering control system 206, and braking system 208. In some embodiments, vehicle 200 is similar to vehicle 102 (see Figure 1 ) is the same or similar. In some embodiments, the autonomous system 202 is configured to give the vehicle 200 autonomous driving capabilities (e.g., implementing at least one of the following driving automatic or maneuver-based functions, features and / or devices, etc., which enable the vehicle 200 to operate partially or completely without human intervention, including but not limited to fully autonomous vehicles (e.g., vehicles that abandon reliance on human intervention, such as Level 5 ADS-operated vehicles, etc.), highly autonomous vehicles (e.g., vehicles that abandon reliance on human intervention in certain situations, such as Level 4 ADS-operated vehicles, etc.), and / or conditionally autonomous vehicles (e.g., vehicles that abandon reliance on human intervention in limited situations, such as Level 3 ADS-operated vehicles, etc.), etc.). In one embodiment, the autonomous system 202 includes the operational or tactical functionality required to enable the vehicle 200 to operate in traffic on the road and continuously perform part or all of the dynamic driving task (DDT). In another embodiment, the autonomous system 202 includes an advanced driver assistance system (ADAS) including driver support features. The autonomous system 202 supports various levels of driving automation ranging from no driving automation (e.g., level 0) to full driving automation (e.g., level 5). For a detailed description of fully autonomous vehicles and highly autonomous vehicles, reference may be made to SAE International's standard J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems, the entire contents of which are incorporated by reference. In some embodiments, the vehicle 200 is associated with an autonomous queue manager and / or a ride-sharing company.
[0043] Autonomous system 202 includes a sensor suite that includes one or more devices such as camera 202a, LiDAR sensor 202b, Radar sensor 202c, and microphone 202d. In some embodiments, autonomous system 202 may include more or fewer devices and / or different devices (e.g., ultrasonic sensors, inertial sensors, GPS receivers (discussed below), and / or odometer sensors for generating data associated with an indication of the distance that vehicle 200 has traveled, etc.). In some embodiments, autonomous system 202 uses one or more devices included in autonomous system 202 to generate data associated with environment 100 described herein. Data generated by one or more devices of autonomous system 202 can be used by one or more systems described herein to observe the environment (e.g., environment 100) in which vehicle 200 is located. In some embodiments, autonomous system 202 includes communication device 202e, autonomous vehicle computing 202f, drive-by-wire (DBW) system 202h, and safety controller 202g.
[0044] The camera 202a includes a communication device 202e, an autonomous vehicle computer 202f, and / or a safety controller 202g configured to communicate with the communication device 202e via a bus (e.g., Figure 3 The camera 202a includes at least one device for communicating with the autonomous vehicle computing 202f (e.g., an image processing unit 202a, a bus ... Figure 1In some embodiments, the autonomous vehicle computing 202f determines a depth to one or more objects in a field of view of at least two of the plurality of cameras based on image data from the at least two cameras. In some embodiments, the camera 202a is configured to capture images of objects within a distance relative to the camera 202a (e.g., up to 100 meters and / or up to 1 kilometer, etc.). Thus, the camera 202a includes features such as sensors and lenses that are optimized for sensing objects at one or more distances relative to the camera 202a.
[0045] In an embodiment, the camera 202a includes at least one camera configured to capture one or more images associated with one or more traffic lights, street signs, and / or other physical objects that provide visual navigation information. In some embodiments, the camera 202a generates traffic light data associated with the one or more images. In some examples, the camera 202a generates TLD (traffic light detection) data associated with one or more images including a format (e.g., RAW, JPEG, and / or PNG, etc.). In some embodiments, the camera 202a that generates TLD data differs from other systems incorporating cameras described herein in that the camera 202a may include one or more cameras with a wide field of view (e.g., a wide-angle lens, a fisheye lens, and / or a lens with a viewing angle of approximately 120 degrees or greater, etc.) to generate images related to as many physical objects as possible.
[0046] The light detection and ranging (LiDAR) sensor 202b includes a communication device 202e, an autonomous vehicle computing device 202f, and / or a safety controller 202g via a bus (e.g., Figure 3The LiDAR sensor 202b includes at least one device that communicates with a bus (the same or similar bus as the bus 302 of the embodiment of the present invention). The LiDAR sensor 202b includes a system configured to emit light from a light emitter (e.g., a laser emitter). The light emitted by the LiDAR sensor 202b includes light outside the visible spectrum (e.g., infrared light, etc.). In some embodiments, during operation, the light emitted by the LiDAR sensor 202b encounters a physical object (e.g., a vehicle) and is reflected back to the LiDAR sensor 202b. In some embodiments, the light emitted by the LiDAR sensor 202b does not penetrate the physical object encountered by the light. The LiDAR sensor 202b also includes at least one light detector that detects the light emitted from the light emitter after encountering the physical object. In some embodiments, at least one data processing system associated with the LiDAR sensor 202b generates an image (e.g., a point cloud and / or a combined point cloud, etc.) representing objects included in the field of view of the LiDAR sensor 202b. In some examples, at least one data processing system associated with the LiDAR sensor 202b generates an image representing the boundaries of the physical object and / or the surface of the physical object (e.g., the topology of the surface), etc. In such examples, the image is used to determine the boundaries of the physical object in the field of view of the LiDAR sensor 202b.
[0047] The radio detection and ranging (Radar) sensor 202c includes a sensor configured to communicate with the communication device 202e, the autonomous vehicle computing 202f, and / or the safety controller 202g via a bus (e.g., Figure 3 At least one device for communicating with a bus (same or similar bus as bus 302 of the embodiment of the present invention). Radar sensor 202c includes a system configured to transmit (pulsed or continuous) radio waves. The radio waves transmitted by Radar sensor 202c include radio waves within a predetermined spectrum. In some embodiments, during operation, the radio waves transmitted by Radar sensor 202c encounter physical objects and are reflected back to Radar sensor 202c. In some embodiments, the radio waves transmitted by Radar sensor 202c are not reflected by some objects. In some embodiments, at least one data processing system associated with Radar sensor 202c generates a signal representing an object included in the field of view of Radar sensor 202c. For example, at least one data processing system associated with Radar sensor 202c generates an image representing the boundary of a physical object and / or the surface of a physical object (e.g., the topology of the surface), etc. In some examples, the image is used to determine the boundary of a physical object in the field of view of Radar sensor 202c.
[0048] The microphone 202d includes a microphone configured to communicate with the communication device 202e, the autonomous vehicle computing device 202f, and / or the safety controller 202g via a bus (e.g., Figure 3 At least one device for communicating with the vehicle 200 (the same or similar bus as bus 302 of FIG. 1 ). Microphone 202d includes one or more microphones (e.g., an array microphone and / or an external microphone, etc.) that capture an audio signal and generate data associated with (e.g., representing) the audio signal. In some examples, microphone 202d includes a transducer device and / or the like. In some embodiments, one or more systems described herein can receive the data generated by microphone 202d and determine the position (e.g., distance, etc.) of an object relative to vehicle 200 based on an audio signal associated with the data.
[0049] The communication device 202e includes at least one device configured to communicate with the camera 202a, the LiDAR sensor 202b, the Radar sensor 202c, the microphone 202d, the autonomous vehicle computing 202f, the safety controller 202g, and / or the DBW (drive-by-wire) system 202h. For example, the communication device 202e may include at least one device configured to communicate with the camera 202a, the LiDAR sensor 202b, the Radar sensor 202c, the microphone 202d, the autonomous vehicle computing 202f, the safety controller 202g, and / or the DBW (drive-by-wire) system 202h. Figure 3 The communication device 202e may be a device that is the same as or similar to the communication interface 314 of the vehicle. In some embodiments, the communication device 202e includes a vehicle-to-vehicle (V2V) communication device (eg, a device for enabling wireless communication of data between vehicles).
[0050] Autonomous vehicle computing 202f includes at least one device configured to communicate with camera 202a, LiDAR sensor 202b, Radar sensor 202c, microphone 202d, communication device 202e, safety controller 202g, and / or DBW system 202h. In some examples, autonomous vehicle computing 202f includes devices such as client devices, mobile devices (e.g., cellular phones and / or tablet computers, etc.), and / or servers (e.g., computing devices including one or more central processing units and / or graphics processing units, etc.). In some embodiments, autonomous vehicle computing 202f is the same or similar to autonomous vehicle computing 400 described herein. Additionally or alternatively, in some embodiments, autonomous vehicle computing 202f is configured to communicate with an autonomous vehicle system (e.g., with Figure 1 remote AV system 114 of the same or similar autonomous vehicle system), a fleet management system (e.g., Figure 1 of the same or similar queue management system as the queue management system 116), V2I devices (e.g., Figure 1 V2I device 110 that is the same as or similar to V2I device 110) and / or V2I system (e.g., Figure 1The V2I system 118 may communicate with the same or similar V2I system.
[0051] Safety controller 202g includes at least one device configured to communicate with camera 202a, LiDAR sensor 202b, Radar sensor 202c, microphone 202d, communication device 202e, autonomous vehicle computing 202f, and / or DBW system 202h. In some examples, safety controller 202g includes one or more controllers (electrical controllers and / or electromechanical controllers, etc.) configured to generate and / or transmit control signals to operate one or more devices of vehicle 200 (e.g., powertrain control system 204, steering control system 206, and / or braking system 208, etc.). In some embodiments, safety controller 202g is configured to generate control signals that take precedence over (e.g., override) control signals generated and / or transmitted by autonomous vehicle computing 202f.
[0052] The DBW system 202h includes at least one device configured to communicate with the communication device 202e and / or the autonomous vehicle computing 202f. In some examples, the DBW system 202h includes one or more controllers (e.g., electrical controllers and / or electromechanical controllers, etc.) configured to generate and / or transmit control signals to operate one or more devices of the vehicle 200 (e.g., powertrain control system 204, steering control system 206, and / or braking system 208, etc.). Additionally or alternatively, one or more controllers of the DBW system 202h are configured to generate and / or transmit control signals to operate at least one different device of the vehicle 200 (e.g., turn signal lights, headlights, door locks, and / or windshield wipers, etc.).
[0053] The powertrain control system 204 includes at least one device configured to communicate with the DBW system 202h. In some examples, the powertrain control system 204 includes at least one controller and / or actuator, etc. In some embodiments, the powertrain control system 204 receives a control signal from the DBW system 202h, and the powertrain control system 204 causes the vehicle 200 to perform longitudinal vehicle motion (such as starting to move forward, stopping to move forward, starting to move backward, stopping to move backward, accelerating in a certain direction, decelerating in a certain direction, etc.), or to perform lateral vehicle motion (such as turning left and / or turning right, etc.). In an example, the powertrain control system 204 increases, maintains the same, or decreases the energy (e.g., fuel and / or electricity, etc.) provided to the motor of the vehicle, thereby rotating or not rotating at least one wheel of the vehicle 200. In other words, the steering control system 206 causes the activity required to regulate the y-axis component of the vehicle motion.
[0054] The steering control system 206 includes at least one device configured to rotate one or more wheels of the vehicle 200. In some examples, the steering control system 206 includes at least one controller and / or actuator, etc. In some embodiments, the steering control system 206 rotates the two front wheels and / or the two rear wheels of the vehicle 200 to the left or right to turn the vehicle 200 left or right.
[0055] Braking system 208 includes at least one device configured to actuate one or more brakes to decelerate and / or hold vehicle 200 stationary. In some examples, braking system 208 includes at least one controller and / or actuator configured to cause one or more calipers associated with one or more wheels of vehicle 200 to close on respective rotors of vehicle 200. Additionally or alternatively, in some examples, braking system 208 includes an automatic emergency braking (AEB) system and / or a regenerative braking system, etc.
[0056] In some embodiments, vehicle 200 includes at least one platform sensor (not explicitly illustrated) for measuring or inferring a property of a state or condition of vehicle 200. In some examples, vehicle 200 includes platform sensors such as a global positioning system (GPS) receiver, an inertial measurement unit (IMU), wheel rate sensors, wheel brake pressure sensors, wheel torque sensors, engine torque sensors, and / or steering angle sensors. Although brake system 208 is illustrated as being located at Figure 2 The braking system 208 is located on the proximal side of the vehicle 200 , but the braking system 208 can be located anywhere in the vehicle 200 .
[0057] Reference now Figure 3, a schematic diagram of an exemplary device 300. As illustrated, the device 300 includes a processor 304, a memory 306, a storage component 308, an input interface 310, an output interface 312, a communication interface 314, and a bus 302. In some embodiments, the device 300 corresponds to: at least one device of the vehicle 102 (e.g., at least one device of a system of the vehicle 102); at least one device of the remote AV system 114, the fleet management system 116, the V2I system 118; and / or one or more devices of the network 112 (e.g., one or more devices of a system of the network 112). In some embodiments, one or more devices of vehicle 102 (e.g., one or more devices of a system of vehicle 102 (such as remote AV system 114, fleet management system 116, and at least one device of V2I system 118), and / or one or more devices of network 112 (e.g., one or more devices of a system of network 112) include at least one device 300 and / or at least one component of device 300. Figure 3 As shown, apparatus 300 includes a bus 302 , a processor 304 , a memory 306 , a storage component 308 , an input interface 310 , an output interface 312 , and a communication interface 314 .
[0058] The bus 302 includes components that permit communication between components of the device 300. In some cases, the processor 304 includes a processor (e.g., a central processing unit (CPU), a graphics processing unit (GPU), and / or an accelerated processing unit (APU), etc.), a microphone, a digital signal processor (DSP), and / or any processing component that can be programmed to perform at least one function (e.g., a field programmable gate array (FPGA) and / or an application specific integrated circuit (ASIC), etc.). The memory 306 includes a random access memory (RAM), a read-only memory (ROM), and / or another type of dynamic and / or static storage device (e.g., flash memory, magnetic memory, and / or optical memory, etc.) that stores data and / or instructions for use by the processor 304.
[0059] Storage component 308 stores data and / or software related to the operation and use of device 300. In some examples, storage component 308 includes a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optical disk, and / or a solid-state disk, etc.), a compact disk (CD), a digital versatile disk (DVD), a floppy disk, a cassette, a tape, a CD-ROM, a RAM, a PROM, an EPROM, a FLASH-EPROM, an NV-RAM, and / or another type of computer-readable medium, and a corresponding drive.
[0060] The input interface 310 includes components that permit the device 300 to receive information, such as via user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, a microphone, and / or a camera, etc.). Additionally or alternatively, in some embodiments, the input interface 310 includes a sensor for sensing information (e.g., a global positioning system (GPS) receiver, an accelerometer, a gyroscope, and / or an actuator, etc.). The output interface 312 includes components for providing output information from the device 300 (e.g., a display, a speaker, and / or one or more light emitting diodes (LEDs), etc.).
[0061] In some embodiments, communication interface 314 includes a transceiver-like component (e.g., a transceiver and / or a separate receiver and transmitter, etc.) that permits device 300 to communicate with other devices via a wired connection, a wireless connection, or a combination of a wired connection and a wireless connection. In some examples, communication interface 314 permits device 300 to receive information from another device and / or provide information to another device. In some examples, communication interface 314 includes an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, interface and / or cellular network interface, etc.
[0062] In some embodiments, the device 300 performs one or more processes described herein. The device 300 performs these processes based on the processor 304 executing software instructions stored by a computer-readable medium such as a memory 306 and / or a storage component 308. Computer-readable media (e.g., non-transitory computer-readable media) are defined herein as non-transitory memory devices. Non-transitory memory devices include storage space located within a single physical storage device or storage space distributed across multiple physical storage devices.
[0063] In some embodiments, the software instructions are read into the memory 306 and / or storage component 308 from another computer-readable medium or from another device via the communication interface 314. The software instructions stored in the memory 306 and / or storage component 308, when executed, cause the processor 304 to perform one or more processes described herein. Additionally or alternatively, hardwired circuitry is used in place of or in combination with the software instructions to perform one or more processes described herein. Therefore, unless expressly stated otherwise, the embodiments described herein are not limited to any specific combination of hardware circuitry and software.
[0064] The memory 306 and / or the storage component 308 include a data storage unit or at least one data structure (e.g., a database, etc.). The device 300 can receive information from the data storage unit or at least one data structure in the memory 306 or the storage component 308, store information in the data storage unit or at least one data structure, communicate information to the data storage unit or at least one data structure, or search for information stored in the data storage unit or at least one data structure. In some examples, the information includes network data, input data, output data, or any combination thereof.
[0065] In some embodiments, the device 300 is configured to execute software instructions stored in the memory 306 and / or the memory of another device (e.g., another device that is the same as or similar to the device 300). As used herein, the term "module" refers to at least one instruction stored in the memory 306 and / or the memory of another device, which, when executed by the processor 304 and / or the processor of another device (e.g., another device that is the same as or similar to the device 300), causes the device 300 (e.g., at least one component of the device 300) to perform one or more processes described herein. In some embodiments, the module is implemented in software, firmware, and / or hardware, etc.
[0066] supply Figure 3 The number and arrangement of components illustrated are examples. Figure 3 The device 300 may include additional components, fewer components, different components, or differently arranged components than those illustrated. Additionally or alternatively, a set of components (e.g., one or more components) of the device 300 may perform one or more functions described as being performed by another component or set of components of the device 300.
[0067] Reference now Figure 4, illustrates an example block diagram of an autonomous vehicle computing 400 (sometimes referred to as an "AV stack"). As illustrated, the autonomous vehicle computing 400 includes a perception system 402 (sometimes referred to as a perception module), a planning system 404 (sometimes referred to as a planning module), a positioning system 406 (sometimes referred to as a positioning module), a control system 408 (sometimes referred to as a control module), and a database 410. In some embodiments, the perception system 402, the planning system 404, the positioning system 406, the control system 408, and the database 410 are included in and / or implemented in an automatic navigation system of a vehicle (e.g., the autonomous vehicle computing 202f of the vehicle 200). Additionally or alternatively, in some embodiments, the perception system 402, the planning system 404, the positioning system 406, the control system 408, and the database 410 are included in one or more independent systems (e.g., one or more systems that are the same or similar to the autonomous vehicle computing 400, etc.). In some examples, the perception system 402, planning system 404, positioning system 406, control system 408, and database 410 are included in one or more independent systems located in the vehicle and / or at least one remote system as described herein. In some embodiments, any and / or all of the systems included in the autonomous vehicle computing 400 are implemented in software (e.g., software instructions stored in a memory), computer hardware (e.g., by a microprocessor, microcontroller, application specific integrated circuit (ASIC) and / or field programmable gate array (FPGA), etc.), or a combination of computer software and computer hardware. It will also be understood that in some embodiments, the autonomous vehicle computing 400 is configured to communicate with a remote system (e.g., an autonomous vehicle system that is the same or similar to the remote AV system 114, a fleet management system 116 that is the same or similar to the fleet management system 116, and / or a V2I system that is the same or similar to the V2I system 118, etc.).
[0068] In some embodiments, the perception system 402 receives data associated with at least one physical object in the environment (e.g., data used by the perception system 402 to detect at least one physical object) and classifies the at least one physical object. In some examples, the perception system 402 receives image data captured by at least one camera (e.g., camera 202a), the image being associated with (e.g., representing) one or more physical objects within the field of view of the at least one camera. In such examples, the perception system 402 classifies the at least one physical object based on one or more groups of physical objects (e.g., bicycles, vehicles, traffic signs, and / or pedestrians, etc.). In some embodiments, based on the classification of the physical object by the perception system 402, the perception system 402 transmits data associated with the classification of the physical object to the planning system 404.
[0069] In some embodiments, the planning system 404 receives data associated with a destination and generates data associated with at least one route (e.g., route 106) along which a vehicle (e.g., vehicle 102) can travel toward the destination. In some embodiments, the planning system 404 periodically or continuously receives data (e.g., data associated with the classification of physical objects described above) from the perception system 402, and the planning system 404 updates at least one trajectory or generates at least one different trajectory based on the data generated by the perception system 402. In other words, the planning system 404 can perform tasks related to tactical functions required to operate the vehicle 102 in traffic on the road. Tactical efforts involve maneuvering the vehicle in traffic during the journey, which includes but is not limited to deciding whether and when to overtake another vehicle, change lanes, or select an appropriate rate, acceleration, deceleration, etc. In some embodiments, the planning system 404 receives data associated with an updated position of the vehicle (e.g., vehicle 102) from the positioning system 406, and the planning system 404 updates at least one trajectory or generates at least one different trajectory based on the data generated by the positioning system 406.
[0070] In some embodiments, the positioning system 406 receives data associated with (e.g., representing) a location of a vehicle (e.g., vehicle 102) in an area. In some examples, the positioning system 406 receives LiDAR data associated with at least one point cloud generated by at least one LiDAR sensor (e.g., LiDAR sensor 202b). In some examples, the positioning system 406 receives data associated with at least one point cloud from multiple LiDAR sensors, and the positioning system 406 generates a combined point cloud based on each point cloud. In these examples, the positioning system 406 compares the at least one point cloud or the combined point cloud with a two-dimensional (2D) and / or three-dimensional (3D) map of the area stored in the database 410. Then, based on the positioning system 406 comparing the at least one point cloud or the combined point cloud with the map, the positioning system 406 determines the position of the vehicle in the area. In some embodiments, the map includes a combined point cloud of the area generated before the navigation of the vehicle. In some embodiments, the map includes, but is not limited to, a high-precision map of lane geometry, a map describing the connectivity of the road network, a map describing the physical properties of the lane (such as traffic speed, traffic flow, the number of vehicle and bicycle lanes, lane width, lane traffic direction, or the type and location of lane markings, or a combination thereof), and a map describing the spatial location of road features (such as crosswalks, traffic signs, or various types of other driving lights, etc.) In some embodiments, the map is generated in real time based on data received by the perception system.
[0071] In another example, positioning system 406 receives global navigation satellite system (GNSS) data generated by a global positioning system (GPS) receiver. In some examples, positioning system 406 receives GNSS data associated with a location of a vehicle in an area, and positioning system 406 determines the latitude and longitude of the vehicle in the area. In such an example, positioning system 406 determines the position of the vehicle in the area based on the latitude and longitude of the vehicle. In some embodiments, positioning system 406 generates data associated with the position of the vehicle. In some examples, based on the location of the vehicle determined by positioning system 406, positioning system 406 generates data associated with the position of the vehicle. In such an example, the data associated with the position of the vehicle include data associated with one or more semantic properties corresponding to the position of the vehicle.
[0072] In some embodiments, the control system 408 receives data associated with at least one trajectory from the planning system 404, and the control system 408 controls the operation of the vehicle. In some examples, the control system 408 receives data associated with at least one trajectory from the planning system 404, and the control system 408 controls the operation of the vehicle by generating and transmitting control signals to operate the powertrain control system (e.g., DBW system 202h and / or powertrain control system 204, etc.), the steering control system (e.g., steering control system 206) and / or the braking system (e.g., braking system 208). For example, the control system 408 is configured to perform operational functions such as lateral vehicle motion control or longitudinal vehicle motion control. Lateral vehicle motion control causes the activity required to regulate the y-axis component of the vehicle motion. Longitudinal vehicle motion control causes the activity required to regulate the x-axis component of the vehicle motion. In the example, in the case where the trajectory includes a left turn, the control system 408 transmits a control signal to cause the steering control system 206 to adjust the steering angle of the vehicle 200, thereby causing the vehicle 200 to turn left. Additionally or alternatively, the control system 408 generates and transmits control signals to cause other devices of the vehicle 200 (eg, headlights, turn signal lights, door locks, and / or windshield wipers, etc.) to change states.
[0073] In some embodiments, perception system 402, planning system 404, positioning system 406, and / or control system 408 implement at least one machine learning model (e.g., at least one multi-layer perceptron (MLP), at least one convolutional neural network (CNN), at least one recurrent neural network (RNN), at least one autoencoder, and / or at least one transformer, etc.). In some examples, perception system 402, planning system 404, positioning system 406, and / or control system 408 implement at least one machine learning model alone or in combination with one or more of the above systems. In some examples, perception system 402, planning system 404, positioning system 406, and / or control system 408 implement at least one machine learning model as part of a pipeline (e.g., a pipeline for identifying one or more objects located in an environment, etc.).
[0074] Database 410 stores data transmitted to, received from, and / or updated by perception system 402, planning system 404, positioning system 406, and / or control system 408. In some examples, database 410 includes a storage component (e.g., a storage component) for storing data and / or software related to operations and using at least one system of autonomous vehicle computing 400. Figure 3In some embodiments, database 410 stores data associated with a 2D and / or 3D map of at least one area. In some examples, database 410 stores data associated with a 2D and / or 3D map of a portion of a city, portions of multiple cities, multiple cities, counties, states, and / or countries (State) (e.g., a country), etc. In such an example, a vehicle (e.g., a vehicle that is the same or similar to vehicle 102 and / or vehicle 200) can be driven along one or more drivable areas (e.g., single-lane roads, multi-lane roads, highways, remote roads, and / or off-road roads, etc.) and cause at least one LiDAR sensor (e.g., a LiDAR sensor that is the same or similar to LiDAR sensor 202b) to generate data associated with an image representing an object included in the field of view of the at least one LiDAR sensor.
[0075] In some embodiments, database 410 can be implemented across multiple devices. In some examples, database 410 includes a vehicle (e.g., a vehicle that is the same or similar to vehicle 102 and / or vehicle 200), an autonomous vehicle system (e.g., an autonomous vehicle system that is the same or similar to remote AV system 114), a fleet management system (e.g., a vehicle that is the same or similar to remote AV system 114), and a fleet management system (e.g., a vehicle that is the same or similar to remote AV system 114). Figure 1 The same or similar queue management system as the queue management system 116 of FIG. 1 and / or the V2I system (e.g., Figure 1 The V2I system 118 is the same as or similar to the V2I system 118).
[0076] The present disclosure relates to the following systems, methods and computer program products, which provide for determining potential intersections during the operation of an autonomous vehicle, and determining potential trajectories that the autonomous vehicle can take at the intersection to minimize and / or prevent traffic jams (e.g., traffic jam conditions) at the intersection. The disclosed systems, methods and computer program products can use conditional longitudinal forward constraints and / or speed constraints to prevent intersection traffic jams. In addition, the disclosed systems, methods and computer program products can utilize road markings, overlaps of lane connectors, and combinations of semantics for distinguishing lane relationships (such as convergent, divergent and disjoint lane relationships, etc.).
[0077] There are at least three main types of traffic jams that can be advantageously reduced based on the present disclosure. The first type is a pedestrian crossing traffic jam, which is caused by a vehicle stopping at a pedestrian crossing, thus hindering pedestrians. The second type is a marked intersection traffic jam, which is a situation where a vehicle stops at a marked intersection, thus hindering the road traffic through the intersection. This type of traffic jam may be more important than a pedestrian crossing traffic jam, and as discussed herein, may bear higher penalties. The third type is unmarked intersection traffic jam prevention (also referred to as courtesy rules). This includes, for example, a vehicle stopping at the entrance to the carriageway leading to a road.
[0078] The constraints on autonomous vehicles for the above traffic jams follow a common pattern of not hindering movement through intersections (whether marked or unmarked). However, there may be variability in the definition of "keep-open" zones. For example, a crosswalk is different from a stop sign intersection. In addition, the severity of the penalties for non-compliance may vary.
[0079] Reference now Figure 5 , a diagram illustrating a system 500 for preventing traffic jams. In some embodiments, the system 500 is coupled to a vehicle (e.g., Figure 1 and Figure 2 In one or more embodiments or examples, the system 500 communicates with and / or with a portion of an AV (e.g., such as an Figure 2 The illustrated autonomous system 202, Figure 3 300, etc.), AV systems, AV computing (such as Figure 2 AV Computing 202F and / or Figure 4 AV computing 400, etc.), remote AV systems (such as Figure 1 remote AV system 114), etc., queue management system (such as Figure 1 queue management system 116, etc.), and V2I systems (such as Figure 1 The system 500 may be used to operate an autonomous vehicle. The system 500 may not be used to operate an autonomous vehicle.
[0080] In one or more embodiments or examples, the system 500 includes one or more of the following: Figure 4 The planning system 404, perception system 402 and control system 408 may be the same or similar to the planning system 404, perception system 402 and control system 408.
[0081] A system 500 is disclosed. The system 500 includes at least one processor. The system 500 includes at least one memory storing instructions thereon, which, when executed by the at least one processor, causes the at least one processor to perform operations, including obtaining sensor data 512 associated with an environment in which an autonomous vehicle is operating. In one or more embodiments or examples, the sensor data 512 is generated by at least one sensor 511 of an autonomous vehicle operating in the environment. The operations include obtaining intersection parameters 510 indicating intersection boundaries for an intersection located in the environment. The operations include determining at least one constraint 514 based on the state of the autonomous vehicle using at least one processor. In one or more embodiments or examples, at least one constraint 514 minimizes the possibility that the operation of the autonomous vehicle causes a traffic jam state at the intersection. The operations include generating a plurality of trajectories 516 for the operation of the autonomous vehicle. The operations include selecting a trajectory 518 from the plurality of trajectories 516 based on the at least one constraint 514. In one or more embodiments or examples, the trajectory 518 minimizes the possibility that the operation of the autonomous vehicle causes a traffic jam state. These operations include providing data 520 associated with trajectory 518. In one or more embodiments or examples, data 520 associated with trajectory 518 is configured to cause the autonomous vehicle to operate along trajectory 518.
[0082] In one or more examples or embodiments, the disclosed system 500 is configured to determine an intersection in an environment and provide data 520 that enables an autonomous vehicle to safely operate through the intersection while minimizing traffic jam conditions. One or more constraints, such as at least one constraint 514, etc., may be used to select a specific trajectory 518 for operation of the autonomous vehicle. The system 500, for example, uses sensor data 512 to determine a safe trajectory through the intersection while minimizing traffic jams.
[0083] In one or more examples or embodiments, system 500 is configured to use a sensing system 502 (which may be associated with Figure 4 Sensor data 512 may be obtained by using a sensor system 512 (similar to perception system 402 of the autonomous vehicle). Sensor data 512 may be one or more of the following: Radar sensor data, camera sensor data, image sensor data, audio sensor, and LiDAR sensor data. The specific type of sensor data is not limiting. Sensor data 512 may indicate the environment around the autonomous vehicle. For example, sensor data 512 may indicate an object and / or multiple objects in the environment around the autonomous vehicle.
[0084] In one or more examples or embodiments, the system 500 obtains sensor data 512 from at least one sensor 511. The at least one sensor 511 may be one or more sensors, such as an onboard sensor. The at least one sensor 511 may be associated with an autonomous vehicle. The autonomous vehicle may include one or more sensors that may be configured to monitor the environment in which the autonomous vehicle is operating, such as through sensor data 512 via the at least one sensor 511. For example, monitoring may provide sensor data 512 indicating what is happening in the environment around the autonomous vehicle, such as for determining a trajectory of the autonomous vehicle. The sensors may include Figure 2 One or more of the sensors shown. At least one sensor 511 may be Figure 2 One or more of the illustrated sensors (202a, 202b, 202c, 202d). The at least one sensor 511 may be one or more of the following: a Radar sensor, a camera sensor, a microphone, an infrared sensor, an image sensor, and a LiDAR sensor.
[0085] In one or more examples or embodiments, the system 500 is configured to obtain intersection parameters 510. The system 500 uses, for example, a perception system 502 to obtain intersection parameters. In one or more embodiments or examples, obtaining intersection parameters 510 includes obtaining intersection parameters 510 based on sensor data 512. In other words, the system 500 can determine the intersection and the boundaries of the intersection based on the sensor data 512 it obtains. This can be known as online intersection parameter determination. In one or more examples or embodiments, the system 500 is configured to obtain the intersection parameters 510 from a memory (such as within a vehicle or on a server, such as a Figure 3 For example, the system 500 obtains intersection parameters 510 from a database (such as a memory 306 of FIG. 1 ). Figure 4 database 410, etc.) and / or storage devices (such as Figure 3 The storage component 308 of the system 500 may obtain the intersection parameters 510. In this case, the system 500 may not use the sensor data 512 for the determination of the intersection parameters 510, which may also be referred to as offline intersection parameter determination.
[0086] In one or more examples or embodiments, intersection parameters 510 indicate one or more features of intersection. For example, intersection parameters 510 indicate one or more features of intersection such as boundary, delineation, lane and marking etc. Intersection parameters 510, for example, include one or more spatial parameters of boundary, delineation and / or lane that characterize intersection. Although the term "intersection" is used, it will be understood that intersection can be more than just a standard multi-fork intersection, but any instance that the intelligent agent in the environment can legally enter or leave the area where the autonomous vehicle is operating. In one or more embodiments or examples, intersection parameters 510 indicate one or more of the following items: bus stop, pedestrian crossing, vehicle intersection, area associated with vehicle intersection and roadway. For example, intersection parameters 510 include one or more intersection type parameters, such as bus stop, pedestrian crossing, vehicle intersection, area associated with vehicle intersection and / or roadway etc. The intersection parameters 510, for example, indicate intersection boundaries of different types of intersections, such as marked intersections, unmarked intersections, crossroads, yellow grid areas, box intersections, and keep-open areas, etc. The intersection parameters 510, for example, include intersection type parameters that characterize the types of intersections, such as marked intersections, unmarked intersections, crossroads, yellow grid areas, box intersections, and keep-open areas, etc.
[0087] In one or more examples or embodiments, intersection parameters 510 include turn parameters. Turn parameters, for example, indicate turn boundaries (e.g., markings, waiting turn areas) within intersection boundaries. For example, a vehicle may be allowed to enter an intersection to make a turn through traffic (e.g., a left turn in a four-way intersection in the United States).
[0088] In one or more examples or embodiments, sensor data 512 indicates infrastructure in the environment. This can make system 500 make determinations related to actions that can be taken by autonomous vehicles. In one or more examples or embodiments, sensor data indicates one or more of the following items: traffic light conditions and pedestrian crossing conditions. Traffic light conditions are, for example, green lights, yellow lights, or red lights. The pedestrian crossing conditions are, for example, walking conditions or prohibited walking conditions. System 500 can be configured to determine the activity of traffic light conditions and / or pedestrian crossing conditions based on sensor data 512. The activity condition is the situation that the intelligent body is legally allowed to cross the border and enter the lane where the autonomous vehicle is located. System 500 can be configured to determine the inactivity of traffic light conditions and / or pedestrian crossing conditions based on sensor data 512. The inactivity condition refers to the situation that the intelligent body is not legally allowed to cross the border and enter the lane where the autonomous vehicle is located. In one or more examples or embodiments, system 500 is configured to infer the situation of traffic light conditions and / or pedestrian crossing conditions based on sensor data 512. For example, if a pedestrian is crossing a crosswalk, the system 500 is configured to infer that the crosswalk condition is "walking" (eg, activity) without necessarily having sensor data indicating the actual state of the crosswalk.
[0089] In one or more examples or embodiments, system 500 uses a planning system 504 (with Figure 4 The system 500 may be configured to determine actions that may be taken by the autonomous vehicle using a control system 514 (similar to the planning system 404 of the autonomous vehicle). The system 500 may, for example, determine at least one constraint 514 for selecting a particular trajectory to be taken. The at least one constraint 514 may be viewed as a limitation on a particular action or action that may be taken by the autonomous vehicle. An example of the at least one constraint 514 is that the autonomous vehicle may not have a speed of 0 on a highway. Another example of the at least one constraint 514 is that the autonomous vehicle may reduce its speed to a particular threshold when approaching a crosswalk. The at least one constraint 514 may vary based on the state of the autonomous vehicle. The state of the autonomous vehicle may be, for example, one or more of a rate, speed, acceleration, location, and time to take action. As an example, the at least one constraint 514 may be different when the autonomous vehicle is moving at 70 mph compared to 20 mph.
[0090] Advantageously, at least one constraint 514 discussed herein can minimize the possibility that the operation of the autonomous vehicle causes a traffic jam state at an intersection. In other words, at least one constraint 514 can be used to prevent the autonomous vehicle from blocking the intersection, which will cause a traffic jam state. The traffic jam state can be considered as a state in which the autonomous vehicle hinders the legal movement of pedestrians, bicycles and / or vehicles at the intersection. Although there may be conflicting legalities in completely preventing a traffic jam state, it is still advantageous to reduce the possibility of a traffic jam state occurring.
[0091] In one or more embodiments or examples, determining at least one constraint 514 based on the state of the autonomous vehicle includes determining a longitudinal forward constraint and / or a speed constraint. For example, at least one constraint 514 is based on one or more of speed, acceleration, or position (e.g., location). The longitudinal forward constraint can be along a single horizontal line and / or a two-dimensional area. The longitudinal forward constraint can be in the time-space domain (ST domain). Example longitudinal forward constraints include: the system 500 operates the autonomous vehicle so that the autonomous vehicle passes through the intersection boundary within a time threshold. The time threshold can be based on a traffic light cycle such as determined from sensor data 512. The time threshold can be a stored value. Example speed constraints include: the system 500 operates the autonomous vehicle so that the autonomous vehicle maintains a speed higher than 0 within the intersection boundary. Other constraints can also be used. For example, at least one constraint 514 includes avoiding objects within the intersection boundary or taking actions based on traffic light conditions.
[0092] In one or more examples or embodiments, the system 500 also generates multiple trajectories 516 that the autonomous vehicle can take using the planning system 504. In one or more examples or embodiments, the system 500 generates only a single trajectory, such as when there is only one allowed trajectory to take.
[0093] In one or more embodiments or examples, generating multiple trajectories 516 includes: determining the agents in the environment based on the sensor data 512. In one or more embodiments or examples, generating multiple trajectories 516 includes: predicting the movement of the agents. In one or more embodiments or examples, generating multiple trajectories 516 includes: generating multiple trajectories 516 based on the movement of the agents. Agents can be considered dynamic objects in the environment. Agents include, for example, pedestrians, bicycles, motorcycles, and vehicles. In some examples, the system 500 is configured to generate multiple trajectories 516 so as not to intersect with the trajectory of any agent in the environment and / or the predicted trajectory of the agent.
[0094] In one or more examples, the system 500 is configured to predict the movement of an agent, such as a trajectory of an agent, etc. For example, the system 500 includes a model and / or neural network system for determining and / or predicting the movement of an agent. For example, the system 500 determines and / or predicts the movement of an agent based on a model and / or neural network. For example, the system 500 inputs the sensor data 512 into the model and / or neural network to predict the movement of any agent.
[0095] The system 500 selects a trajectory 518 from the plurality of trajectories 516, for example. In one or more examples and embodiments, the system 500 selects the trajectory 518 based on the at least one constraint 514 to minimize the likelihood that the operation of the autonomous vehicle will result in a traffic jam condition. The system 500 may consider any other agents in the environment when selecting the trajectory 518. The system 500 may be configured to provide data 520, such as control data, to enable the autonomous vehicle to operate. Providing data 520 associated with the trajectory 518 may include generating a control system 508 (with Figure 4 In some examples, system 500 provides control data to control system 508. In some examples, system 500 transmits control data to, for example, a control system of the autonomous vehicle and / or an external system. In one or more embodiments or examples, operation of system 500 includes operating the autonomous vehicle based on data 520 associated with trajectory 518.
[0096] In one or more embodiments or examples, the system 500 is configured to use one or more penalty parameters for the autonomous vehicle violating one or more rules. In one or more embodiments or examples, the system includes: determining a penalty parameter indicating a violation of the rule based on the sensor data 512 and the rules of the autonomous vehicle. In one or more embodiments or examples, selecting a track 518 in the plurality of tracks 516 includes: selecting a track 518 in the plurality of tracks 516 based on the penalty parameter. The rules can be stored, for example, in a memory such as Figure 3 Memory 306, Figure 3 The storage component 308 and / or Figure 4 The system 500 may be configured to obtain the rules. The rules may be obtained from a data structure storing a hierarchy of rules for the autonomous vehicle (sometimes referred to as a rule book).
[0097] In some embodiments, the planning system 504 can access data including rules used for planning. For example, a formal language (e.g., using Boolean logic) is used to specify the rules. In some examples, the rules are rules of the road, passenger comfort rules, and / or expression rules. In some examples, the rules of the road define whether a specific maneuver is permitted in the driving lane of the vehicle and / or in the environment of the vehicle. For example, the rule book may include a rule parameter indicating that the vehicle cannot stop in an intersection. Furthermore, the system 500 will penalize stopping in an intersection based on the rule parameter, and thus will not perform maneuvers that require stopping in an intersection unless necessary, wherein the system 500 will determine the penalty parameter. In some examples, the passenger comfort rule defines whether a specific passenger in the vehicle has motion sickness and is sensitive to high "g" forces. In the situation encountered by the vehicle, at least some of the rules can be applied to the situation. Rules can have priorities. For example, the rule of "if the road is a highway, move to the leftmost lane" may have a lower priority than "if the exit is approaching within one mile, move to the rightmost lane".
[0098] For example, by using penalty parameters, the system 500 makes a determination of rule violation when rule violation is required. For example, the autonomous vehicle may not have a trajectory to take that would not violate one or more rules in the rulebook, and the system 500 can be configured to determine the "best" rule to violate (e.g., the trajectory with the lowest penalty and / or most preferred rule).
[0099] In one or more examples or embodiments, the penalty parameter indicates a soft penalty (e.g., a soft constraint) or a hard penalty (e.g., a hard constraint). A soft penalty may indicate that the autonomous vehicle enters a crosswalk slightly. A hard penalty may indicate that the autonomous vehicle passes through a crosswalk and / or hits another agent when it is illegal. In one or more examples or embodiments, the penalty parameter includes a score. A score may indicate the severity of the penalty parameter (e.g., the severity of non-compliance with the rule). In some examples, the system 500 selects a trajectory 518 including a penalty parameter with a minimum score (e.g., with the slightest violation of the rule). In some cases, for lower priority rules, a soft penalty may be superior to the comfort loss of the user of the autonomous vehicle for otherwise requiring a hard braking event. For example, for an autonomous vehicle, it may be better to decelerate in a normal manner and enter an intersection slightly than to brake very hard and not enter an intersection.
[0100] The penalty parameter may indicate a single violation and / or consecutive violations. For example, the penalty parameter may indicate an entry distance measurement for the autonomous vehicle to enter the intersection boundary. As an example, the system 500 is configured to apply the cost to a trajectory in the plurality of trajectories 516 to determine the trajectory 518.
[0101] In one or more than one example or embodiment, system 500 can be configured to determine the pedestrian crossing condition parameter indicating the condition of pedestrian crossing based on sensor data 512. The condition of pedestrian crossing can be active (e.g., pedestrians can legally cross) or inactive (e.g., pedestrians cannot legally cross). Like vehicle intersections, pedestrian crossings can change in structure. For example, pedestrian crossing conditions include pedestrian crossings without signals and markings, pedestrian crossings without signals and inferences, and pedestrian crossings with signals. A pedestrian crossing without signals and markings can be a pedestrian crossing with clear markings on the road, but without traffic signals to control the pedestrian crossings. System 500 can be configured to determine pedestrian crossing condition parameters as active for pedestrian crossings without signals and markings, wherein pedestrians are preferred, but there is a clear intersection boundary. A pedestrian crossing without signals and inferences can include a pedestrian crossing that is neither marked nor signaled. System 500 can be configured to determine the crosswalk condition parameters as active for a pedestrian-free and inferred crosswalk, wherein pedestrians are preferred, but system 500 is configured to use sensor data 512 to determine the intersection boundary based on linking parallel sidewalk limits and / or curb descents. For a signaled crosswalk, the system can be configured to determine the crosswalk condition parameters as active or inactive based on a traffic light cycle. System 500 can determine a penalty parameter for an autonomous vehicle located in the intersection boundary under the condition of the crosswalk being active. System 500 can determine a penalty parameter for an autonomous vehicle located in the intersection boundary under the condition of the crosswalk being inactive.
[0102] In one or more embodiments or examples, selecting a trajectory 518 in a plurality of trajectories 516 includes selecting a trajectory 518 in a plurality of trajectories 516 that indicates that the autonomous vehicle stops before the intersection boundary or that the autonomous vehicle travels through the intersection boundary. In one or more embodiments or examples, selecting a trajectory 518 in a plurality of trajectories 516 includes selecting a trajectory 518 in which the autonomous vehicle stops before the intersection boundary in the plurality of trajectories 516. In one or more embodiments or examples, selecting a trajectory 518 in a plurality of trajectories 516 includes selecting a trajectory 518 in which the autonomous vehicle travels through the intersection boundary in the plurality of trajectories 516. In other words, the system 500 can be configured to cause the autonomous vehicle to stop before the intersection or to drive through (e.g., drive through) the intersection. Other trajectories can also be selected as needed.
[0103] In one or more embodiments or examples, selecting a trajectory 518 in the plurality of trajectories 516 includes selecting a trajectory 518 in the plurality of trajectories 516 that indicates inhibiting the autonomous vehicle from stopping the autonomous vehicle at the intersection boundary. Advantageously, the system 500 can be configured to reduce intersection traffic congestion by preventing the autonomous vehicle from stopping at the intersection boundary.
[0104] In one or more embodiments or examples, generating the plurality of trajectories 516 includes determining whether the sensor data 512 indicates a lane interaction parameter. In one or more embodiments or examples, the lane interaction parameter indicates one of: a shared entry, a shared exit, a disjoint entry, and a disjoint exit. In one or more embodiments or examples, selecting a trajectory 518 from the plurality of trajectories 516 includes selecting the trajectory 518 based on the lane interaction parameter. As an example, the system 500 selects the trajectory 518 using a lane connector relationship. The system 500 may determine a lane connector pair relationship (such as a lane interaction parameter, etc.) indicating a diverging (e.g., shared entry), merging (e.g., shared exit), or diverging (e.g., neither diverging nor merging) lane offline or online. The system 500 may obtain the sensor data 512 and determine whether the sensor data 512 indicates whether the lane interaction parameter is restricted (e.g., by a traffic light red cycle). Additionally, the system 500 can select a trajectory 518 based on lane interaction parameters, such as by selecting a trajectory 518 for an autonomous vehicle going straight, a trajectory 518 that leaves gaps for merging and diverging traffic, etc. When the trajectory 518 is a turning trajectory, the system 500 can select a trajectory 518 that leaves gaps only for diverging traffic.
[0105] Mathematically, this can be expressed, for example, as:
[0106] bool isIntersectionGridlock=V_ego <low_speed_threshold&&((ego_going_straight&&
[0107] ego_footprint_intersects_unrestricted_non_divergent_lane_connector)||
[0108] ego_footprint_intersects_unrestricted_disjoint_lane_connector).
[0109] As disclosed above,
[0110] V_ego: the velocity of the self-transporter;
[0111] low_speed_threshold: low speed threshold (zero or near zero) used to determine if the ego vehicle has stopped;
[0112] ego_going_straight: True if the corresponding route lane connector through the intersection is a "straight" turn type;
[0113] ego_footprint_intersects_unrestricted_non_divergent_lane_connector: if the occupied area intersects with a lane connector that does not share any entry lane along the ego route through the intersection, and the lane connector is unsignalized or the corresponding traffic light is in a condition other than steady red; and
[0114] ego_footprint_intersects_unrestricted_disjoint_lane_connector: If the occupied area intersects with a lane connector that does not share an entry or exit lane along the ego route through the intersection, and that lane connector is unsignalized or the corresponding traffic light is in a condition other than steady red.
[0115] As an example, the system 500 can be used for traffic jam prevention. First, the system 500 can define applicable "keep-open" zones (such as indicated by intersection parameters 510, etc.). The system 500 can obtain the intersection parameters 510 based on sensor data 512 (such as self-path and / or road markings, etc.), or can obtain the intersection parameters 510 from a database (such as Figure 4 database 410, etc.) and / or storage devices (such as Figure 3514) is obtained offline. It can be noted that even with the use of the marked area intersection parameters 510, in some instances, such as for inactive crosswalks, etc., the system 500 may not perform determinations related to the intersection. In one or more than one example or embodiment, the system 500 is configured to determine and apply at least one constraint 514 to generate multiple trajectories 516. The system 500 can use sensor data 512 to perform obstacle detection and / or traffic light conditions or cycle timing. The system 500 can use penalty parameters and / or at least one constraint 514 to specify whether the intersection can be unblocked. At least one constraint 514 can be performed in the VS domain (e.g., speed-space domain, such as to slow down the autonomous vehicle to stop before the intersection, or to ensure the minimum speed on the intersection, etc.), or can be performed in the TS domain (e.g., time-space domain, such as certain timings when the path forward interval that does not allow the intersection to pass, etc.). Advantageously, the system 500 has the benefit of utilizing predictions, such as following a vehicle (eg, an agent) that is predicted to stop (has not yet stopped) inside an intersection and responding to a yellow traffic light, etc.
[0116] System 500 can be configured to apply costs to trajectory scores, where trajectory 518 is a series of time-stamped gestures. An example implementation can be represented as a binary violation, for example:
[0117] bool isGridlock=V_ego <low_speed_threshold&&
[0118] footprint_intersects_keep_clear_area.
[0119] The above equation illustrates a binary violation cost. Assume two tracks A and B, where A has isGridlock=true and B has isGridlock=false. In one or more embodiments or examples, B is a "better" option than A if there are no other costs being considered for these two tracks.
[0120] Figure 6 6 is a diagram of an example implementation of a process for preventing traffic jams. As shown, a system 600 (such as with Figure 5 500, etc.) may include a planning system 604 (with Figure 5 Planning system 504 and Figure 4 Planning system 604 may be configured to receive one or more inputs.
[0121] like Figure 6As shown, the planning system 604 can receive intersection parameters 601. The intersection parameters 601 can be based on a digital semantic map 602 such as stored in a database and / or obtained via sensor data. The digital semantic map 602 is, for example, a map that represents certain areas in the environment as being associated with certain conditions (e.g., where pedestrians are located, where vehicles are located, etc., where parking is allowed, intersections, and keep-open areas). As an example, the digital semantic map 602 is a map representing a drivable area along which an autonomous vehicle has a defined keep-open area (such as a place where the autonomous vehicle is not allowed to stop, etc.). The intersection parameters 601 can be determined 603 based on a "keep-open area" such as an intersection.
[0122] In addition, the planning system 604 can receive one or more of the following: positioning data 626 indicating the location of the autonomous vehicle, mission route and / or target data 624 indicating a planned route for the autonomous vehicle, obstacle detection and prediction data 622 indicating obstacles and agents in the environment of the autonomous vehicle, and traffic light detection data 620 indicating the conditions of traffic lights in the environment.
[0123] The system 600 may include a model-based trajectory generator 606 configured to determine a plurality of trajectories (such as for Figure 5 The model-based trajectory generator 606 may include a traffic jam constraint calculator 608, which may be used to determine one or more constraints (such as Figure 5 The planning system 604 may further utilize a black box trajectory generator 610, which may be a neural network and / or machine learning system for input into the selection of a particular trajectory. The black box trajectory generator 610 may take different input trajectories as input and output a selected “best” trajectory.
[0124] The system 600 may also include a trajectory selector (e.g., trajectory scorer) 612 associated with the planning system 604. The trajectory selector 612 may receive input from the model-based trajectory generator 606 and / or the black-box trajectory generator 610. The trajectory selector 612 may use the traffic jam cost calculator 614 to select a trajectory 630 (e.g., a command trajectory), such as Figure 5 The traffic jam cost calculator 614 may determine different costs associated with the multiple trajectories provided by the trajectory selector 612 (such as Figure 5 In one or more embodiments or examples, the cost is based on rules included in a rulebook.
[0125] 7A to 7F is a diagram of an example scenario for applying a process for traffic jam prevention such as using systems 500 , 600 , etc. 7A to 7C The first case is illustrated, and FIG. 7D to FIG. 7F Example of the second situation. Specifically, Fig. 7A An amber light example is illustrated for an autonomous vehicle 702 that includes system 500. As shown, autonomous vehicle 702 is approaching intersection 706 having intersection boundary 704. Autonomous vehicle 702 obtains sensor data indicating an amber light. Figure 7B Example ST analysis and Figure 7C Example vs analysis.
[0126] As discussed, the system of autonomous vehicle 702 determines a plurality of trajectories (e.g., homotopic options), two of which are within Figure 7B 704 (completely through the intersection) and the second trajectory 716 (stopped at the intersection boundary 704). Region 708 indicates a yellow light with a yellow light countdown 710 (thus no constraint exists), while region 714 indicates a red light (a constraint that the vehicle cannot stop in the intersection nor enter the intersection). Figure 7C As shown, based on the VS analysis, the autonomous vehicle 702 may stop ( 718 ) at the intersection boundary 704 or pass through ( 720 ) the intersection.
[0127] With respect to passing through an intersection, in ST space, this is the minimum path advancement constraint before obstructing the exit of the keep-open region. In VS space, this is the minimum rate constraint through the keep-open region. With respect to stopping before intersection boundary 704 (e.g., where passing through the intersection is not possible), in VS space, this is a zero rate constraint imposed just before the keep-open region, conditionally imposed in the presence of other constraints that cause stopping inside the keep-open region. In ST space, this is the maximum path advancement constraint until the exit of the keep-open region becomes free.
[0128] FIG. 7D to FIG. 7F 2. A similar scenario is illustrated, but with a leading agent (e.g., a vehicle) 754 that is obstructing progress through intersection 706. System 500 can be configured to predict that leading agent 754 will stop (760) (at Fig. 7E), and the corresponding stop point for the ego will then be within the keep-clear region 762 as indicated by line 764, the system 500 can be configured to enlarge the ST obstacle to force an early stop (before the keep-clear region) (766), or the system 500 can add a VS constraint to stop early (768) instead of stopping directly behind the leading agent 754 (770). In this scenario, there is no option to pass in front of the leading car, so the maximum speed / advance constraint is adjusted. However, when the system 500 predicts that the leading agent 754 is not predicted to stop (760), the autonomous vehicle 702 can follow closely through the keep-clear region.
[0129] FIG. 8A to FIG. 8B is a diagram of an example implementation of a process for traffic jam prevention at different types of intersections, wherein Fig. 8A Illustrate a bus entrance (e.g., a bus bay) and Figure 8B Example of a roadway entrance (e.g., courtesy rule situation). Fig. 8A In FIG. 8 , there is a bus stop 804 with a yellow grid area 802 and a keep-open area. This example is only a merging lane relationship, and the keep-open area only applies to through traffic. Figure 8B 808A, 808B, respectively. Figure 8B Example intersection parameter determination is illustrated that follows courtesy rules for roads, which essentially act as a marked intersection.
[0130] 9A to 9C is a diagram of an example implementation of a process for traffic jam prevention. Specifically, 9A to 9C Different potential lane intersection parameters are illustrated indicating shared entrance, shared exit, split entrance, or split exit. Fig. 9A , vehicles 910, 912, and 914 will be in the lane intersection parameters indicating the merging lane 902, while vehicles 916 and 918 will be in the lane intersection parameters indicating the separating lane 904. Fig. 9B , vehicles 922, 924, and 926 will be entering a lane having lane intersection parameters indicating a merging lane 902, while the crossing lane will have lane intersection parameters indicating a separating lane 904. Fig. 9C , vehicles 956 and 958 will be entering a lane with lane intersection parameters indicative of merging lane 902, while vehicles 960 and 962 will be entering a lane with lane intersection parameters indicative of split lane 904. Blocking the merging lane in a turning situation may be acceptable, but stopping in a split lane will be penalized.
[0131] Reference now Fig.10 , illustrating a flow chart of a method or process 1000 for traffic jam prevention (such as for operating and / or controlling an AV, etc.). The method may be implemented by the disclosed system (such as Figure 4 AV Computing 400, Figure 2 AV Computing 202F or Figure 5 AV Computing 540, Figure 1 and Figure 2 Vehicles 102, 200, Figure 3 The device 300, and / or Figure 5 , Figure 6 , 7A to 7F , FIG. 8A to FIG. 8B and 9A to 9C The disclosed system may include at least one processor, which may be configured to perform one or more of the operations of method 1000. Method 1000 may be performed by another device or device group (e.g., completely and / or partially, etc.) separate from the system disclosed herein or including the system disclosed herein.
[0132] In one or more embodiments or examples, the method 1000 includes: at step 1002, using at least one processor, obtaining sensor data associated with the environment in which the autonomous vehicle is operating. In one or more embodiments or examples, the sensor data is generated by at least one sensor of the autonomous vehicle operating in the environment. In one or more embodiments or examples, the method 100 includes: at step 1004, using at least one processor, obtaining intersection parameters indicating intersection boundaries for intersections located in the environment. In one or more embodiments or examples, the method 1000 includes: at step 1006, using at least one processor, determining at least one constraint based on the state of the autonomous vehicle. In one or more embodiments or examples, at least one constraint minimizes the possibility that the operation of the autonomous vehicle causes a traffic jam state at the intersection. In one or more embodiments or examples, the method 1000 includes: at step 1008, using at least one processor, generating multiple trajectories used for the operation of the autonomous vehicle. In one or more embodiments or examples, method 1000 includes: at step 1010, using at least one processor, selecting a trajectory in a plurality of trajectories based on at least one constraint. In one or more embodiments or examples, the trajectory minimizes the possibility that the operation of the autonomous vehicle causes a traffic jam state. In one or more embodiments or examples, method 1000 includes: at step 1012, using at least one processor, providing data associated with the trajectory. In one or more embodiments or examples, the data associated with the trajectory is configured to cause the autonomous vehicle to operate along the trajectory. The intersection boundary can be an unmarked intersection, a crossroad, a yellow line frame, a box intersection, a keep-open area, etc. Obtaining intersection parameters at step 1004 can be performed offline or online, such as based on sensor data. The state of the autonomous vehicle can include, for example, the rate and / or time of leaving the intersection.
[0133] In one or more embodiments or examples, determining at least one constraint based on the state of the autonomous vehicle at step 1006 includes: determining a longitudinal forward constraint and / or a speed constraint. The longitudinal forward constraint may include passing through a certain area at a specific time, and the speed constraint may include maintaining a speed greater than 0 in an intersection. In one or more embodiments or examples, method 1000 includes: determining a penalty parameter indicating a violation of the rule based on sensor data and the rules of the autonomous vehicle. In one or more embodiments or examples, selecting a trajectory from a plurality of trajectories at step 1010 includes: selecting a trajectory from a plurality of trajectories based on a penalty parameter. The penalty parameter may indicate a soft penalty and / or a hard penalty, and may also include a score.
[0134] In one or more embodiments or examples, generating a plurality of trajectories at step 1008 includes: determining an agent in the environment based on sensor data. In one or more embodiments or examples, generating a plurality of trajectories at step 1008 includes: predicting the movement of the agent. In one or more embodiments or examples, generating a plurality of trajectories at step 1008 includes: generating a plurality of trajectories based on the movement of the agent.
[0135] In one or more embodiments or examples, the sensor data indicates one or more of the following: traffic light conditions and pedestrian crossing conditions. Conditions may include active conditions, inactive conditions, and inferred conditions. In one or more embodiments or examples, intersection parameters indicate one or more of the following: bus stops, pedestrian crossings, vehicle intersections, areas associated with vehicle intersections, and roadways. Areas associated with vehicle intersections may include turning parameters indicating intersection boundaries and / or turning markings in the area to be turned.
[0136] In one or more embodiments or examples, selecting a track from among the plurality of tracks at step 1010 includes: selecting a track from among the plurality of tracks that indicates that the autonomous vehicle stops before the intersection boundary. In one or more embodiments or examples, selecting a track from among the plurality of tracks at step 1010 includes: selecting a track from among the plurality of tracks that indicates that the autonomous vehicle travels through the intersection boundary. In one or more embodiments or examples, generating a plurality of tracks at step 1008 includes: determining whether the sensor data indicates a lane interaction parameter. In one or more embodiments or examples, the lane interaction parameter indicates one of the following: a shared entrance, a shared exit, a split entrance, and a split exit. In one or more embodiments or examples, selecting a track from among the plurality of tracks at step 1010 includes: selecting a track based on the lane interaction parameter.
[0137] In one or more embodiments or examples, selecting a track from among the plurality of tracks at step 1010 includes: selecting a track from among the plurality of tracks that indicates inhibiting the autonomous vehicle from stopping the autonomous vehicle at an intersection boundary. In one or more embodiments or examples, obtaining intersection parameters at step 1004 includes: obtaining intersection parameters based on sensor data. In one or more embodiments or examples, method 1000 includes: operating the autonomous vehicle based on data associated with the track using at least one processor.
[0138] In the previous description, aspects and embodiments of the present disclosure have been described with reference to many specific details, which may vary depending on the implementation. Therefore, the description and the accompanying drawings should be regarded as illustrative, not restrictive. The only and exclusive indication of the scope of the invention, and the applicant's expectation that the content of the scope of the invention is the literal and equivalent scope of the claims issued from this application in the specific form of the claims, including any subsequent amendments. Any definition of the terms used to be included in such claims that are clearly set forth herein should be based on the meaning of such terms as used in the claims. In addition, when the term "also includes" is used in the previous description or the attached claims, the following of the phrase may be an additional step or entity, or a sub-step / sub-entity of the previously described step or entity.
[0139] A non-transitory computer-readable medium is disclosed, comprising instructions stored thereon, which, when executed by at least one processor, cause the at least one processor to perform one or more operations according to the method disclosed herein.
[0140] Also disclosed are methods, non-transitory computer-readable media, and systems according to any of the following items.
[0141] Item 1. A method comprising:
[0142] obtaining, using at least one processor, sensor data associated with an environment in which the autonomous vehicle is operating, the sensor data being generated by at least one sensor of the autonomous vehicle operating in the environment;
[0143] obtaining, using the at least one processor, intersection parameters indicative of an intersection boundary for an intersection located in the environment;
[0144] determining, using the at least one processor, at least one constraint based on a state of the autonomous vehicle, the at least one constraint minimizing a likelihood that operation of the autonomous vehicle will result in a traffic jam condition at the intersection;
[0145] generating, using the at least one processor, a plurality of trajectories for operation of the autonomous vehicle;
[0146] selecting, using the at least one processor, a trajectory from the plurality of trajectories based on the at least one constraint that minimizes a likelihood that operation of the autonomous vehicle will result in the traffic jam condition; and
[0147] Using the at least one processor, data associated with the trajectory is provided, the data associated with the trajectory being configured to cause the autonomous vehicle to operate along the trajectory.
[0148] Item 2. The method of item 1, wherein determining the at least one constraint based on the state of the autonomous vehicle comprises:
[0149] Determine longitudinal headway constraints and / or speed constraints.
[0150] Item 3. The method according to any one of the preceding items, further comprising:
[0151] determining, based on the sensor data and the rules of the autonomous vehicle, a penalty parameter indicative of a violation of the rule,
[0152] The selecting of a trajectory from among the plurality of trajectories comprises: selecting a trajectory from among the plurality of trajectories based on the penalty parameter.
[0153] Item 4. The method according to any one of the preceding items, wherein generating the plurality of trajectories comprises:
[0154] determining an agent in the environment based on the sensor data;
[0155] predicting the movement of the agent; and
[0156] The plurality of trajectories are generated based on the movement of the agent.
[0157] Item 5. A method according to any of the preceding items, wherein the sensor data indicates one or more of the following: traffic light conditions and pedestrian crossing conditions.
[0158] Item 6. A method according to any of the preceding items, wherein the intersection parameters indicate one or more of: a bus stop, a pedestrian crossing, a vehicle intersection, an area associated with a vehicle intersection, and a roadway.
[0159] Item 7. The method of any of the preceding items, wherein selecting a trajectory from the plurality of trajectories comprises:
[0160] selecting a trajectory among the plurality of trajectories that instructs the autonomous vehicle to stop before the intersection boundary; or
[0161] A trajectory from the plurality of trajectories is selected that indicates the autonomous vehicle traveling through the intersection boundary.
[0162] Item 8. The method of any one of the preceding items, wherein generating the plurality of trajectories comprises:
[0163] determining whether the sensor data indicates a lane interaction parameter, wherein the lane interaction parameter indicates one of: a shared entrance, a shared exit, a split entrance, and a split exit,
[0164] Wherein, selecting a trajectory from the plurality of trajectories comprises: selecting the trajectory based on the lane interaction parameter.
[0165] Item 9. The method of any of the preceding items, wherein selecting a trajectory from the plurality of trajectories comprises:
[0166] A trajectory among the plurality of trajectories is selected that indicates restraining the autonomous vehicle to stop the autonomous vehicle within the intersection boundary.
[0167] Item 10. The method according to any one of the preceding items, wherein obtaining the intersection parameters comprises:
[0168] The intersection parameters are obtained based on the sensor data.
[0169] Item 11. The method according to any one of the preceding items, further comprising:
[0170] Using the at least one processor, the autonomous vehicle is operated based on the data associated with the trajectory.
[0171] Item 12. A non-transitory computer-readable medium comprising instructions stored thereon, which, when executed by at least one processor, cause the at least one processor to perform operations comprising:
[0172] obtaining sensor data associated with an environment in which the autonomous vehicle is operating, the sensor data being generated by at least one sensor of the autonomous vehicle operating in the environment;
[0173] obtaining intersection parameters indicative of intersection boundaries for an intersection located in the environment;
[0174] determining, using the at least one processor, at least one constraint based on a state of the autonomous vehicle, the at least one constraint minimizing a likelihood that operation of the autonomous vehicle will result in a traffic jam condition at the intersection;
[0175] generating a plurality of trajectories for operation of the autonomous vehicle;
[0176] selecting a trajectory from the plurality of trajectories based on the at least one constraint that minimizes a likelihood that operation of the autonomous vehicle will result in a traffic jam condition; and
[0177] Data associated with the trajectory is provided, the data associated with the trajectory being configured to cause the autonomous vehicle to operate along the trajectory.
[0178] Item 13. The non-transitory computer-readable medium of Item 12, wherein determining the at least one constraint based on a state of the autonomous vehicle comprises:
[0179] Determine longitudinal headway constraints and / or speed constraints.
[0180] Item 14. The non-transitory computer-readable medium of any one of Items 12 to 13, further comprising:
[0181] determining, based on the sensor data and the rules of the autonomous vehicle, a penalty parameter indicative of a violation of the rule,
[0182] The selecting of a trajectory from among the plurality of trajectories comprises: selecting a trajectory from among the plurality of trajectories based on the penalty parameter.
[0183] Item 15. The non-transitory computer-readable medium of any one of Items 12 to 14, wherein generating the plurality of trajectories comprises:
[0184] determining an agent in the environment based on the sensor data;
[0185] predicting the movement of the agent; and
[0186] The plurality of trajectories are generated based on the movement of the agent.
[0187] Item 16. The non-transitory computer-readable medium of any one of Items 12 to 15, wherein the sensor data indicates one or more of: a traffic light condition and a crosswalk condition.
[0188] Item 17. A non-transitory computer-readable medium according to any one of Items 12 to 16, wherein the intersection parameter indicates one or more of: a bus stop, a crosswalk, a vehicle intersection, an area associated with a vehicle intersection, and a roadway.
[0189] Item 18. The non-transitory computer-readable medium of any one of Items 12 to 17, wherein selecting a trajectory from the plurality of trajectories comprises:
[0190] selecting a trajectory among the plurality of trajectories that instructs the autonomous vehicle to stop before the intersection boundary; or
[0191] A trajectory from the plurality of trajectories is selected that indicates the autonomous vehicle traveling through the intersection boundary.
[0192] Item 19. The non-transitory computer-readable medium of any one of Items 12 to 18, wherein generating the plurality of trajectories comprises:
[0193] determining whether the sensor data indicates a lane interaction parameter, wherein the lane interaction parameter indicates one of: a shared entrance, a shared exit, a split entrance, and a split exit,
[0194] Wherein, selecting a trajectory from the plurality of trajectories comprises: selecting the trajectory based on the lane interaction parameter.
[0195] Item 20. The non-transitory computer-readable medium of any one of Items 12 to 19, wherein selecting a trajectory from the plurality of trajectories comprises:
[0196] A trajectory among the plurality of trajectories is selected that indicates restraining the autonomous vehicle to stop the autonomous vehicle within the intersection boundary.
[0197] Item 21. The non-transitory computer-readable medium of any one of Items 12 to 20, wherein obtaining the intersection parameter comprises:
[0198] The intersection parameters are obtained based on the sensor data.
[0199] Item 22. The non-transitory computer-readable medium of any one of Items 12 to 21, further comprising:
[0200] Using the at least one processor, the autonomous vehicle is operated based on the data associated with the trajectory.
[0201] Item 23. A system comprising at least one processor and at least one memory storing instructions, wherein the instructions, when executed by the at least one processor, cause the at least one processor to perform operations comprising:
[0202] obtaining sensor data associated with an environment in which the autonomous vehicle is operating, the sensor data being generated by at least one sensor of the autonomous vehicle operating in the environment;
[0203] obtaining intersection parameters indicative of intersection boundaries for an intersection located in the environment;
[0204] determining, using the at least one processor, at least one constraint based on a state of the autonomous vehicle, the at least one constraint minimizing a likelihood that operation of the autonomous vehicle will result in a traffic jam condition at the intersection;
[0205] generating a plurality of trajectories for operation of the autonomous vehicle;
[0206] selecting a trajectory from the plurality of trajectories based on the at least one constraint that minimizes a likelihood that operation of the autonomous vehicle will result in a traffic jam condition; and
[0207] Data associated with the trajectory is provided, the data associated with the trajectory being configured to cause the autonomous vehicle to operate along the trajectory.
[0208] Item 24. The system of Item 23, wherein determining the at least one constraint based on the state of the autonomous vehicle comprises:
[0209] Determine longitudinal headway constraints and / or speed constraints.
[0210] Item 25. The system according to any one of Items 23 to 24, further comprising:
[0211] determining, based on the sensor data and the rules of the autonomous vehicle, a penalty parameter indicative of a violation of the rule,
[0212] The selecting of a trajectory from among the plurality of trajectories comprises: selecting a trajectory from among the plurality of trajectories based on the penalty parameter.
[0213] Item 26. The system of any one of Items 23 to 25, wherein generating the plurality of trajectories comprises:
[0214] determining an agent in the environment based on the sensor data;
[0215] predicting the movement of the agent; and
[0216] The plurality of trajectories are generated based on the movement of the agent.
[0217] Item 27. A system according to any one of Items 23 to 26, wherein the sensor data indicates one or more of: traffic light conditions and crosswalk conditions.
[0218] Item 28. A system according to any one of Items 23 to 27, wherein the intersection parameter indicates one or more of: a bus stop, a crosswalk, a vehicle intersection, an area associated with a vehicle intersection, and a roadway.
[0219] Item 29. The system of any one of Items 23 to 28, wherein selecting a trajectory from the plurality of trajectories comprises:
[0220] selecting a trajectory among the plurality of trajectories that instructs the autonomous vehicle to stop before the intersection boundary; or
[0221] A trajectory from the plurality of trajectories is selected that indicates the autonomous vehicle traveling through the intersection boundary.
[0222] Item 30. The system of any one of Items 23 to 29, wherein generating the plurality of trajectories comprises:
[0223] determining whether the sensor data indicates a lane interaction parameter, wherein the lane interaction parameter indicates one or more of: a shared entrance, a shared exit, a split entrance, and a split exit,
[0224] Wherein, selecting a trajectory from the plurality of trajectories comprises: selecting the trajectory based on the lane interaction parameter.
[0225] Item 31. The system of any one of Items 23 to 30, wherein selecting a trajectory from the plurality of trajectories comprises:
[0226] A trajectory among the plurality of trajectories is selected that indicates restraining the autonomous vehicle to stop the autonomous vehicle within the intersection boundary.
[0227] Item 32. The system according to any one of Items 23 to 31, wherein obtaining the intersection parameter comprises:
[0228] The intersection parameters are obtained based on the sensor data.
[0229] Item 33. A system according to any one of Items 23 to 32, wherein the at least one memory stores instructions that, when executed by the at least one processor, cause the at least one processor to perform operations comprising: operating the autonomous vehicle based on the data associated with the trajectory.
Claims
1. A method comprising: obtaining, using at least one processor, sensor data associated with an environment in which the autonomous vehicle is operating, the sensor data being generated by at least one sensor of the autonomous vehicle operating in the environment; obtaining, using the at least one processor, intersection parameters indicative of an intersection boundary for an intersection located in the environment; determining, using the at least one processor, at least one constraint based on a state of the autonomous vehicle, the at least one constraint minimizing a likelihood that operation of the autonomous vehicle will result in a traffic jam condition at the intersection; generating, using the at least one processor, a plurality of trajectories for operation of the autonomous vehicle; selecting, using the at least one processor, a trajectory from the plurality of trajectories based on the at least one constraint, the trajectory minimizing a likelihood that operation of the autonomous vehicle will result in the traffic jam condition; as well as Using the at least one processor, data associated with the trajectory is provided, the data associated with the trajectory being configured to cause the autonomous vehicle to operate along the trajectory.
2. The method according to claim 1, wherein: Determining the at least one constraint based on the state of the autonomous vehicle comprises: Determine longitudinal headway constraints and / or speed constraints.
3. The method according to any one of the preceding claims, further comprising: determining, based on the sensor data and the rules of the autonomous vehicle, a penalty parameter indicative of a violation of the rule, The selecting of a trajectory from among the plurality of trajectories comprises: selecting a trajectory from among the plurality of trajectories based on the penalty parameter.
4. A method according to any one of the preceding claims, wherein: Generating the plurality of trajectories comprises: determining an agent in the environment based on the sensor data; predicting the movement of the agent; and The plurality of trajectories are generated based on the movement of the agent.
5. A method according to any one of the preceding claims, wherein: The sensor data indicates one or more of: a traffic light condition and a crosswalk condition.
6. A method according to any one of the preceding claims, wherein: The intersection parameters indicate one or more of: a bus stop, a pedestrian crossing, a vehicle intersection, an area associated with a vehicle intersection, and a roadway.
7. A method according to any one of the preceding claims, wherein: Selecting a trajectory from the plurality of trajectories includes: selecting a trajectory among the plurality of trajectories that instructs the autonomous vehicle to stop before the intersection boundary; or A trajectory from the plurality of trajectories is selected that indicates the autonomous vehicle traveling through the intersection boundary.
8. A method according to any one of the preceding claims, wherein: Generating the plurality of trajectories comprises: determining whether the sensor data indicates a lane interaction parameter, wherein the lane interaction parameter indicates one of: a shared entrance, a shared exit, a split entrance, and a split exit, Wherein, selecting a trajectory from the plurality of trajectories comprises: selecting the trajectory based on the lane interaction parameter.
9. A method according to any one of the preceding claims, wherein: Selecting a trajectory from the plurality of trajectories includes: A trajectory among the plurality of trajectories is selected that indicates restraining the autonomous vehicle to stop the autonomous vehicle within the intersection boundary.
10. A method according to any one of the preceding claims, wherein: Obtaining the intersection parameters includes: The intersection parameters are obtained based on the sensor data.
11. The method according to any one of the preceding claims, further comprising: Using the at least one processor, the autonomous vehicle is operated based on the data associated with the trajectory.
12. A non-transitory computer readable medium comprising instructions stored thereon, which when executed by at least one processor cause the at least one processor to perform operations comprising: obtaining sensor data associated with an environment in which the autonomous vehicle is operating, the sensor data being generated by at least one sensor of the autonomous vehicle operating in the environment; obtaining intersection parameters indicative of intersection boundaries for an intersection located in the environment; determining, using the at least one processor, at least one constraint based on a state of the autonomous vehicle, the at least one constraint minimizing a likelihood that operation of the autonomous vehicle will result in a traffic jam condition at the intersection; generating a plurality of trajectories for operation of the autonomous vehicle; selecting a trajectory from the plurality of trajectories based on the at least one constraint, the trajectory minimizing a likelihood that operation of the autonomous vehicle will result in the traffic jam condition; as well as Data associated with the trajectory is provided, and the data associated with the trajectory is configured to cause the autonomous vehicle to operate along the trajectory.
13. A system comprising at least one processor and at least one memory storing instructions, wherein the instructions, when executed by the at least one processor, cause the at least one processor to perform operations comprising: obtaining sensor data associated with an environment in which the autonomous vehicle is operating, the sensor data being generated by at least one sensor of the autonomous vehicle operating in the environment; obtaining intersection parameters indicative of intersection boundaries for an intersection located in the environment; determining, using the at least one processor, at least one constraint based on a state of the autonomous vehicle, the at least one constraint minimizing a likelihood that operation of the autonomous vehicle will result in a traffic jam condition at the intersection; generating a plurality of trajectories for operation of the autonomous vehicle; selecting a trajectory from the plurality of trajectories based on the at least one constraint, the trajectory minimizing a likelihood that operation of the autonomous vehicle will result in the traffic jam condition; as well as Data associated with the trajectory is provided, the data associated with the trajectory being configured to cause the autonomous vehicle to operate along the trajectory.
14. The system according to claim 13, wherein: Determining the at least one constraint based on the state of the autonomous vehicle comprises: Determine longitudinal headway constraints and / or speed constraints.
15. The system according to any one of claims 13 to 14, further comprising: determining, based on the sensor data and the rules of the autonomous vehicle, a penalty parameter indicative of a violation of the rule, The selecting of a trajectory from among the plurality of trajectories comprises: selecting a trajectory from among the plurality of trajectories based on the penalty parameter.
16. A system according to any one of claims 13 to 15, wherein: Generating the plurality of trajectories comprises: determining an agent in the environment based on the sensor data; predicting the movement of the agent; and The plurality of trajectories are generated based on the movement of the agent.
17. A system according to any one of claims 13 to 16, wherein: The sensor data indicates one or more of: a traffic light condition and a crosswalk condition.
18. A system according to any one of claims 13 to 17, wherein: The intersection parameters indicate one or more of: a bus stop, a pedestrian crossing, a vehicle intersection, an area associated with a vehicle intersection, and a roadway.
19. A system according to any one of claims 13 to 18, wherein: Selecting a trajectory from the plurality of trajectories includes: selecting a trajectory among the plurality of trajectories that instructs the autonomous vehicle to stop before the intersection boundary; or A trajectory from the plurality of trajectories is selected that indicates the autonomous vehicle traveling through the intersection boundary.
20. A system according to any one of claims 13 to 19, wherein: Generating the plurality of trajectories comprises: determining whether the sensor data indicates a lane interaction parameter, wherein the lane interaction parameter indicates one or more of: a shared entrance, a shared exit, a split entrance, and a split exit, Wherein, selecting a trajectory from the plurality of trajectories comprises: selecting the trajectory based on the lane interaction parameter.