Turn signal distribution for complex maneuvering actions

By using a hierarchical structure to allocate turning signals in autonomous vehicles, the efficiency and computing resource problems of turning signals activation in complex maneuverable action environments are solved, and efficient and accurate turning signals are achieved.

CN120379864APending Publication Date: 2025-07-25MOTIONAL AD LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380087303.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-11-18
Filing Date
2023-10-11
Publication Date
2025-07-25

AI Technical Summary

Technical Problem

The prior art is difficult to quickly and efficiently determine whether, when and in which direction the autonomous vehicle activates turning signals, especially in complex maneuverable environments, with high computational cost and inefficiency.

Method used

The hierarchical structure is used to allocate the turning signals, and determine whether, when and in which direction the turning signals are activated based on the position information of the vehicle. Complex maneuvering actions are processed in priority through the hierarchical structure of the autonomous system.

Benefits of technology

Improves the efficiency and accuracy of turn signal allocation, reduces computing resource consumption, and allows autonomous systems to reassign resources to other tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120379864A_ABST
    Figure CN120379864A_ABST
Patent Text Reader

Abstract

A method for turn signal distribution in complex maneuvers may include receiving location information associated with a location of a vehicle (102). Some described methods also include determining, hierarchically and based on the location information, whether to activate the turn signal prior to activating the turn signal of the vehicle (102) based on the vehicle (102) turning at the roadway intersection. Some described methods also include determining a time to activate the turn signal before the vehicle (102) turns at the roadway intersection. Some described methods also include transmitting a control signal (516, 18, 520, 522, 524) to activate the turn signal at the determined time. A system and a computer program product are also provided.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross - Reference to Related Applications

[0002] This application claims priority to U.S. Provisional Application No. 63 / 417,962, filed Oct. 20, 2022, and U.S. Application No. 17 / 990,551, filed Nov. 18, 2022, both titled "Turn Signal Assignment for Complex Maneuvers", which are hereby incorporated by reference in their entirety. Background Art

[0003] Turn signals of a vehicle, such as an autonomous vehicle, can be activated to indicate the direction of the vehicle, thus complying with the turn signal requirements included in road regulations. However, it may be difficult to quickly and efficiently determine whether the turn signals of the vehicle should be activated, when the turn signals should be activated, and / or in which direction the turn signals should be activated. Considering such options may be computationally expensive, inefficient, and slow, especially in complex environments that include complex maneuvers for the vehicle. Brief Description of the Drawings

[0004] Figure 1 is an example environment in which a vehicle including one or more components of an autonomous system can be implemented;

[0005] Figure 2 is a diagram of one or more systems of a vehicle including an autonomous system;

[0006] Figure 3 is Figure 1 and Figure 2 is a diagram of one or more example devices and / or components of one or more example systems;

[0007] Figure 4 is a diagram of certain components of an example autonomous system;

[0008] Figure 5 is a flowchart of an example process for turn signal assignment for complex maneuvers;

[0009] Figure 6 is a diagram of an example process for turn signal assignment when changing lanes;

[0010] Figure 7 is a diagram of an example vehicle bypassing an obstacle;

[0011] Figure 8 is a flowchart of an example process for turn signal assignment in an intersection;

[0012] Figure 9 is an example trajectory of a vehicle

[0013] Figure 10 is an example trajectory of a vehicle; and

[0014] Figure 11 is a flowchart for the processing of turn signal allocation in complex maneuvers. Detailed Description of the Invention

[0015] In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be apparent, however, that the embodiments described herein may be practiced without these specific details. In some instances, well-known structures and devices are illustrated in block diagram form in order to avoid unnecessarily obscuring aspects of the present disclosure.

[0016] In the drawings, for ease of description, the specific arrangements or orderings of illustrative elements (such as those representing systems, devices, modules, instruction blocks, and / or data elements, etc.) are illustrated. However, those skilled in the art will understand that unless explicitly described, the specific order or arrangement of the illustrative elements in the drawings is not intended to imply a required order or sequence of processing, or a separation of processing. Additionally, unless explicitly described, the inclusion of illustrative elements in the drawings is not intended to imply that such elements are required in all embodiments, nor that the features represented by such elements cannot be included in some embodiments or combined with other elements in some embodiments.

[0017] Furthermore, in the drawings, connecting elements (such as solid lines, dashed lines, or arrows, etc.) are used to illustrate connections, relationships, or associations between or among two or more other illustrative elements. The absence of any such connecting element is not intended to imply that no connection, relationship, or association can exist. In other words, some connections, relationships, or associations between elements are not illustrated in the drawings so as not to obscure the present disclosure. Additionally, for ease of illustration, a single connecting element may be used to represent multiple connections, relationships, or associations between elements. For example, if a connecting element represents the communication of a signal, data, or instruction (e.g., "software instruction"), those skilled in the art should understand that such an element may represent one or more signal paths (e.g., a bus) that may be required to affect the communication.

[0018] Although terms such as "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, without departing from the scope of the described embodiments, a first contact may be referred to as a second contact, and similarly, a second contact may be referred to as a first contact. Both the first contact and the second contact are contacts, but they are not the same contact.

[0019] The terms used in the description of the various embodiments described herein are included only for the purpose of describing a particular embodiment and are not intended to be limiting. As used in the description of the various embodiments and the appended claims, the singular forms "a", "an", and "the" are also intended to include the plural forms and may 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 of the associated listed items. It will also be understood that when the terms "comprises", "comprising", "includes", and / or "including" are used in this specification, it specifies the presence of the stated features, integers, steps, operations, elements, and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0020] As used herein, the terms "communicate" and "communicating" refer to at least one of receiving, receiving, transmitting, conveying, 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, etc.) that is 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 may refer to a direct or indirect connection that is essentially wired and / or wireless. Additionally, two units can communicate with each other even if the information transmitted can be modified, processed, relayed, and / or routed between the first unit and the second unit. For example, even if the first unit receives information passively 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 intermediate 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 (e.g., a data packet, etc.) that includes data.

[0021] As used herein, depending on the context, the term "if" may optionally be interpreted to mean "when", "upon", "in response to determining that", and / or "in response to detecting", etc. Similarly, depending on the context, the phrase "if it has been determined" or "if [stated condition or event] is detected" may optionally be interpreted to mean "when determining...", "in response to determining that", or "when [stated condition or event] is detected" and / or "in response to detecting [stated condition or event]", etc. Further, as used herein, the terms "has", "have", or "having", etc. are intended to be open-ended terms. Additionally, unless otherwise expressly stated, the phrase "based on" is intended to mean "at least partially based on".

[0022] Reference will now be made in detail to the 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 described embodiments. However, it will be apparent to one of ordinary skill in the art that the various described embodiments may be practiced without these specific details. In other instances, well-known methods, procedures, components, circuits, and networks have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.

[0023] General Overview

[0024] In some aspects and / or embodiments, the systems, methods, and computer program products described herein include and / or implement turn signal allocation for complex maneuvers. Generally, turn signals of a vehicle (e.g., an autonomous vehicle) can be activated to indicate the direction of the vehicle. A control system associated with the vehicle uses a hierarchy to allocate turn signals for complex maneuvers of the vehicle. For example, the hierarchy can be applied based on position information associated with the vehicle to determine whether the turn signals of the vehicle should be activated, when the turn signals should be activated, and / or in which direction the turn signals should be activated. The hierarchy can include a priority order for making determinations based on position information to account for various complex maneuvers.

[0025] Implementations of the systems, methods, and computer program products described herein provide techniques for turn signal allocation for complex maneuvers. Road regulations typically include requirements for turn signals. However, regulations often do not account for combinations of sequentially proximate intersections or concurrent actions such as lane changes or bypassing an obstacle in a lane, crossing an intersection, and / or approaching a stop or pick-up / drop-off zone, etc. Vehicles such as autonomous vehicles may also have difficulty quickly and efficiently determining whether to activate the vehicle's turn signal, when to activate the turn signal, and / or in which direction to activate the turn signal. Considering such options can be computationally expensive, inefficient, and slow, especially in complex environments involving complex maneuvers. Some advantages of the described techniques include using a hierarchy to allocate turn signals for complex maneuvers of a vehicle, including the maneuvers described above. Applying a prioritized hierarchy helps to efficiently, quickly, and accurately handle each complex maneuver.

[0026] Some additional advantages of the described techniques include significantly reduced computational requirements compared to traditional systems. In some examples, implementations of the systems and methods described herein reduce the computational resources consumed by the autonomous system of an autonomous vehicle to allocate turn signals during the operation of the autonomous vehicle through an environment. This allows the computational resources that would otherwise be used to be reallocated to other tasks performed by the autonomous system.

[0027] Now refer to Figure 1 , to illustrate example environment 100, in which vehicles including an autonomous system and vehicles not including an autonomous system operate. As illustrated, environment 100 includes vehicles 102a - 102n, objects 104a - 104n, routes 106a - 106n, area 108, vehicle-to-infrastructure (V2I) devices 110, network 112, remote autonomous vehicle (AV) system 114, queue management system 116, V2I system 118, and turn signal allocation system 550. Vehicles 102a - 102n, vehicle-to-infrastructure (V2I) devices 110, network 112, autonomous vehicle (AV) system 114, queue management system 116, V2I system 118, and turn signal allocation system 550 (regarding Figures 5 to 1is more specifically described) interconnected via a wired connection, a wireless connection, or a combination of wired and wireless connections (e.g., establishing a connection for communication, etc.). In some embodiments, objects 104a - 104n are interconnected with at least one of vehicles 102a - 102n, vehicle - to - infrastructure (V2I) devices 110, network 112, autonomous vehicle (AV) system 114, queue management system 116, V2I system 118, and turn signal distribution system 550 via a wired connection, a wireless connection, or a combination of wired and wireless connections.

[0028] Vehicles 102a - 102n (individually referred to as vehicle 102 and collectively referred to as vehicles 102) include at least one device configured to transport goods and / or passengers. In some embodiments, vehicle 102 is configured to communicate with V2I device 110, remote AV system 114, queue management system 116, V2I system 118, and / or turn signal distribution system 550 via network 112. In some embodiments, vehicle 102 includes cars, buses, trucks, and / or trains, etc. In some embodiments, vehicle 102 is the same as or similar to vehicle 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, as described herein, vehicle 102 travels along corresponding routes 106a - 106n (individually referred to as route 106 and collectively referred to as routes 106). In some embodiments, one or more than one vehicle 102 includes an autonomous system (e.g., an autonomous system the same as or similar to autonomous system 202).

[0029] Objects 104a - 104n (individually referred to as object 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., buildings, signs, fire hydrants, etc.), etc. Each object 104 (e.g., located at a fixed location and over a period of time) is stationary or (e.g., having a speed and associated with at least one trajectory) moving. In some embodiments, object 104 is associated with a corresponding location in region 108.

[0030] Routes 106a - 106n (individually referred to as Route 106 and collectively as Routes 106) are each associated with (e.g., define) a series of actions (also referred to as a trajectory) along which an AV can be navigated. Each Route 106 begins at an initial state (e.g., a state corresponding to a first spatio - temporal location and / or speed, etc.) and ends at a final goal state (e.g., a state corresponding to a second spatio - temporal location different from the first) or a goal region (e.g., a subspace of acceptable states (e.g., a termination state)). In some embodiments, the first state includes a location where one or more individuals will board the AV, and the second state or region includes one or more locations where one or more individuals boarding the AV will disembark. In some embodiments, Route 106 includes multiple acceptable state sequences (e.g., multiple spatio - temporal location sequences) that are associated with (e.g., define) multiple trajectories. In an example, Route 106 includes only high - level actions or imprecise state locations, such as a series of connecting roads indicating a direction change at a roadway intersection, etc. Additionally or alternatively, Route 106 can include more precise actions or states, such as, for example, a specific target lane or precise location within a lane region and a target speed at those locations. In an example, Route 106 includes multiple precise state sequences along at least one high - level action with a finite look - ahead horizon to reach an intermediate goal, where the combination of successive iterations of the finite - horizon state sequences cumulatively corresponds to multiple trajectories that together form a high - level route terminating at the final goal state or region.

[0031] Region 108 includes a physical area (e.g., a geographic area) in which vehicle 102 can be navigated. In an example, Region 108 includes at least one state (e.g., a country, a province, an individual state among 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, Region 108 includes at least one named arterial road (referred to herein as a "road"), such as a highway, an interstate highway, a parkway, an urban street, etc. Additionally or alternatively, in some examples, Region 108 includes at least one unnamed road, such as a driveway, a section of a parking lot, a section of a vacant lot and / or undeveloped area, a dirt road, etc. In some embodiments, a road includes at least one lane (e.g., a portion of the road through which vehicle 102 can pass). In an example, a road includes at least one lane associated with (e.g., identified based on) at least one lane marking line.

[0032] A 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 a vehicle 102 and / or a V2I system 118. In some embodiments, the V2I device 110 is configured to communicate with the vehicle 102, a remote AV system 114, a queue management system 116, and / or the V2I system 118 via a 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, streetlights, a parking meter, 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 queue 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.

[0033] 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.

[0034] 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 queue 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 queue 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). 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.

[0035] The queue management system 116 includes at least one device configured to communicate with the vehicle 102, the V2I device 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), etc.).

[0036] 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 queue 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 different from 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 institution (e.g., a private institution for maintaining the V2I device 110, etc.).

[0037] Provide Figure 1 The number and arrangement of the illustrated elements are provided as examples. Compared with Figure 1 the illustrated elements, there may be additional elements, fewer elements, different elements, and / or elements with different arrangements. Additionally or alternatively, at least one element of the environment 100 may perform one or more functions described as being performed by Figure 1 at least one different element. Additionally or alternatively, at least one set of elements of the environment 100 may perform one or more functions described as being performed by at least one different set of elements of the environment 100.

[0038] Now referring to Figure 2 , the vehicle 200 (which may be the same as or similar to Figure 1 the vehicle 102) includes an autonomous system 202, a powertrain control system 204, a steering control system 206, and a braking system 208, or is associated with the autonomous system 202, the powertrain control system 204, the steering control system 206, and the braking system 208. In some embodiments, the vehicle 200 is the same as the vehicle 102 (see Figure 1)Same or similar. In some embodiments, the autonomous system 202 is configured to endow the vehicle 200 with autonomous driving capabilities (e.g., implement at least one of the following driving automation or maneuver-based functions, features, and / or devices, etc., the at least one driving automation or maneuver-based function, feature, and / or device enabling the vehicle 200 to operate partially or fully 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 operate the vehicle 200 in road traffic and continuously perform a part or all of the dynamic driving task (DDT). In another embodiment, the autonomous system 202 includes an advanced driver assistance system (ADAS) that includes 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 can be made to SAE International standard J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems (SAE International's standard J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems), the entire content of which is incorporated by reference. In some embodiments, the vehicle 200 is associated with an autonomous queue manager and / or a ridesharing company.

[0039] The autonomous system 202 includes a sensor suite that includes one or more devices such as a camera 202a, a LiDAR sensor 202b, a Radar sensor 202c, and a microphone 202d. In some embodiments, the 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 traveled by the vehicle 200, etc.). In some embodiments, the autonomous system 202 uses one or more devices included in the autonomous system 202 to generate data associated with the environment 100 described herein. The data generated by one or more devices of the autonomous system 202 can be used by one or more systems described herein to observe the environment (e.g., environment 100) in which the vehicle 200 is located. In some embodiments, the autonomous system 202 includes a communication device 202e, an autonomous vehicle computing 202f, a drive-by-wire (DBW) system 202h, and a safety controller 202g.

[0040] The camera 202a includes at least one device configured to communicate with the communication device 202e, the autonomous vehicle computing 202f, and / or the safety controller 202g via a bus (e.g., a bus 302 that is the same as or similar to Figure 3 the bus). The camera 202a includes at least one camera (e.g., a digital camera using an optical sensor such as a charge-coupled device (CCD), a thermal camera, an infrared (IR) camera, and / or an event camera, etc.) for capturing images including physical objects (e.g., cars, buses, curbs, and / or people, etc.). In some embodiments, the camera 202a generates camera data as an output. In some examples, the camera 202a generates camera data that includes image data associated with the image. In this example, the image data may specify at least one parameter corresponding to the image (e.g., image characteristics such as exposure, brightness, etc., and / or an image timestamp, etc.). In such an example, the image may be in a format (e.g., RAW, JPEG, and / or PNG, etc.). In some embodiments, the camera 202a includes a plurality of independent cameras configured on (e.g., positioned on) the vehicle for capturing images for the purpose of stereovision (stereo vision). In some examples, the camera 202a includes generating image data and transmitting the image data to the autonomous vehicle computing 202f and / or a queue management system (e.g., the same as Figure 1a plurality of cameras of the same or similar queue management system as the queue management system 116. In such an example, the autonomous vehicle computing 202f determines the depth to one or more objects in the field of view of at least two of the plurality of cameras based on image data from 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 optimized for sensing objects at one or more distances relative to the camera 202a.

[0041] 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 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 is different 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 fish-eye lens, and / or a lens with a viewing angle of about 120 degrees or greater, etc.) to generate images related to as many physical objects as possible.

[0042] The Light Detection and Ranging (LiDAR) sensor 202b includes being configured to communicate with the communication device 202e, the autonomous vehicle computing 202f, and / or the safety controller 202g via a bus (e.g., with Figure 3at least one device that communicates via a bus (e.g., a bus identical or similar to bus 302). 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 it encounters. The LiDAR sensor 202b further includes at least one light detector that detects the light after the light emitted from the light emitter encounters a 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 the 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 boundary of a physical object and / or the surface of a physical object (e.g., the topology of the surface), etc. In such examples, the image is used to determine the boundary of the physical object in the field of view of the LiDAR sensor 202b.

[0043] A Radio Detection and Ranging (Radar) sensor 202c includes at least one device configured to communicate with a communication device 202e, an autonomous vehicle computer 202f, and / or a safety controller 202g via a bus (e.g., a bus identical or similar to Figure 3 bus 302). The Radar sensor 202c includes a system configured to emit (pulsed or continuous) radio waves. The radio waves emitted by the Radar sensor 202c include radio waves within a predetermined spectrum. In some embodiments, during operation, the radio waves emitted by the Radar sensor 202c encounter a physical object and are reflected back to the Radar sensor 202c. In some embodiments, the radio waves emitted by the Radar sensor 202c are not reflected by some objects. In some embodiments, at least one data processing system associated with the Radar sensor 202c generates a signal representing the objects included in the field of view of the Radar sensor 202c. For example, at least one data processing system associated with the 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 the physical object in the field of view of the Radar sensor 202c.

[0044] The microphone 202d includes at least one device configured to communicate with the communication device 202e, the autonomous vehicle computing 202f, and / or the safety controller 202g via a bus (e.g., a bus the same as or similar to the Figure 3 bus 302). The 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, the microphone 202d includes a transducer device and / or a similar device. In some embodiments, one or more of the systems described herein may receive the data generated by the microphone 202d and determine the position (e.g., distance, etc.) of an object relative to the vehicle 200 based on the audio signal associated with the data.

[0045] 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 a device the same as or similar to the Figure 3 communication interface 314. In some embodiments, the communication device 202e includes a vehicle-to-vehicle (V2V) communication device (e.g., a device for enabling wireless communication of data between vehicles).

[0046] The autonomous vehicle computing 202f includes at least one device configured to communicate with the camera 202a, the LiDAR sensor 202b, the Radar sensor 202c, the microphone 202d, the communication device 202e, the safety controller 202g, and / or the DBW system 202h. In some examples, the autonomous vehicle computing 202f includes devices such as a client device, a mobile device (e.g., a cellular phone and / or a tablet, etc.), and / or a server (e.g., a computing device including one or more central processing units and / or graphics processing units, etc.). In some embodiments, the autonomous vehicle computing 202f is the same as or similar to the autonomous vehicle computing 400 described herein. Additionally or alternatively, in some embodiments, the autonomous vehicle computing 202f is configured to communicate with an autonomous vehicle system (e.g., an autonomous vehicle system the same as or similar to the Figure 1 remote AV system 114), a queue management system (e.g., a queue management system the same as or similar to the Figure 1 queue management system 116), a V2I device (e.g., a V2I device the same as or similar to the Figure 1 V2I device 110), and / or a V2I system (e.g., a V2I system the same as or similar to the Figure 1communicate with a V2I system 118 that is the same as or similar to the V2I system).

[0047] The safety controller 202g includes at least one device configured to communicate with the camera 202a, the LiDAR sensor 202b, the Radar sensor 202c, the microphone 202d, the communication device 202e, the autonomous vehicle computing 202f, and / or the DBW system 202h. In some examples, the safety controller 202g includes one or more controllers (such as an electrical controller and / or an electromechanical controller, etc.) configured to generate and / or transmit control signals to operate one or more devices of the vehicle 200 (such as the powertrain control system 204, the steering control system 206, and / or the braking system 208, etc.). In some embodiments, the safety controller 202g is configured to generate control signals that take precedence over (e.g., override) the control signals generated and / or transmitted by the autonomous vehicle computing 202f.

[0048] 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 (such as an electrical controller and / or an electromechanical controller, etc.) configured to generate and / or transmit control signals to operate one or more devices of the vehicle 200 (such as the powertrain control system 204, the steering control system 206, and / or the 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 (such as turn signals, headlights, door locks, and / or windshield wipers, etc.).

[0049] 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 control signals from the DBW system 202h, and the powertrain control system 204 causes the vehicle 200 to perform longitudinal vehicle movements (such as starting to move forward, stopping moving forward, starting to move backward, stopping moving backward, accelerating in a certain direction, decelerating in a certain direction, etc.), or perform lateral vehicle movements (such as making a left turn and / or making a right turn, etc.). In an example, the powertrain control system 204 increases, keeps the same, or decreases the energy (such as fuel and / or electricity, etc.) provided to the motor of the vehicle, thereby causing at least one wheel of the vehicle 200 to rotate or not rotate.

[0050] 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 two front wheels and / or two rear wheels of the vehicle 200 left or right to turn the vehicle 200 left or right. In other words, the steering control system 206 causes the activities required to regulate the y-axis component of the vehicle's movement.

[0051] The braking system 208 includes at least one device configured to actuate one or more brakes to decelerate the vehicle 200 and / or keep it stationary. In some examples, the braking system 208 includes at least one controller and / or actuator configured to close one or more calipers associated with one or more wheels of the vehicle 200 onto the corresponding rotors of the vehicle 200. Additionally or alternatively, in some examples, the braking system 208 includes an automatic emergency braking (AEB) system and / or a regenerative braking system, etc.

[0052] In some embodiments, the vehicle 200 includes at least one platform sensor (not explicitly illustrated) for measuring or inferring the nature of the state or condition of the vehicle 200. In some examples, the vehicle 200 includes platform sensors such as a global positioning system (GPS) receiver, an inertial measurement unit (IMU), a wheel speed sensor, a wheel brake pressure sensor, a wheel torque sensor, an engine torque sensor, and / or a steering angle sensor. Although the braking system 208 is illustrated as being located Figure 2 proximal to the vehicle 200 as shown, the braking system 208 can be located anywhere in the vehicle 200.

[0053] Now refer to Figure 3, a schematic diagram of an exemplary device 300. As illustrated, 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, device 300 corresponds to: at least one device of vehicle 102 (e.g., at least one device of a system of vehicle 102); at least one device of a turn signal distribution system 550 (e.g., at least one device of a system of turn signal distribution system 550); and / or one or more devices of network 112 (e.g., one or more devices of a system of network 112). In some embodiments, one or more devices of vehicle 102 (e.g., at least one device of a system of vehicle 102), at least one device of turn signal distribution system 550 (e.g., at least one device of a system of turn signal distribution system 550), 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. As Figure 3 shown, device 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.

[0054] Bus 302 includes components that permit communication between components of device 300. In some cases, 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.). Memory 306 includes random access memory (RAM), read only memory (ROM), and / or another type of dynamic and / or static storage device that stores data and / or instructions for use by processor 304 (e.g., flash memory, magnetic memory, and / or optical memory, etc.).

[0055] 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 disc (CD), a digital versatile disc (DVD), a floppy disk, a cassette tape, a magnetic 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 corresponding drives.

[0056] The input interface 310 includes components of the enabling device 300 that receive information via a user input (e.g., a touchscreen display, a keyboard, a keypad, a mouse, buttons, switches, a microphone, and / or a camera, etc.). Additionally or alternatively, in some embodiments, the input interface 310 includes sensors 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.).

[0057] In some embodiments, the communication interface 314 includes transceiver-like components (e.g., a transceiver and / or separate receivers and transmitters, etc.) that enable the 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, the communication interface 314 enables the device 300 to receive information from another device and / or provide information to another device. In some examples, the 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, an interface, and / or a cellular network interface, etc.

[0058] In some embodiments, the device 300 performs one or more of the processes described herein. The device 300 performs these processes based on software instructions stored by a computer-readable medium such as the memory 306 and / or the storage component 308, executed by the processor 304. A computer-readable medium (e.g., a non-transitory computer-readable medium) is defined herein as a non-transitory memory device. The non-transitory memory device includes storage space located within a single physical storage device or storage space distributed across multiple physical storage devices.

[0059] In some embodiments, software instructions are read into the memory 306 and / or the storage component 308 from another computer-readable medium or from another device via the communication interface 314. When executed, the software instructions stored in the memory 306 and / or the storage component 308 cause the processor 304 to perform one or more of the processes described herein. Additionally or alternatively, hardwired circuitry is used instead of or in combination with software instructions to perform one or more of the processes described herein. Thus, unless otherwise explicitly stated, the embodiments described herein are not limited to any particular combination of hardware circuitry and software.

[0060] The memory 306 and / or the storage component 308 includes a data store or at least one data structure (e.g., a database, etc.). The device 300 is capable of receiving information from the data store or at least one data structure in the memory 306 or the storage component 308, storing information in the data store or at least one data structure, communicating information to the data store or at least one data structure, or searching for information stored in the data store or at least one data structure. In some examples, the information includes network data, input data, output data, or any combination thereof.

[0061] 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 than one process described herein. In some embodiments, the module is implemented in software, firmware, and / or hardware, etc.

[0062] Provide Figure 3 The number and arrangement of the illustrated components are provided as examples. In some embodiments, compared to Figure 3 the illustrated components, the device 300 may include additional components, fewer components, different components, or components arranged differently. Additionally or alternatively, a set of components of the device 300 (e.g., one or more than one component) may perform one or more than one function described as being performed by another component or another set of components of the device 300.

[0063] Now refer to Figure 4, an example block diagram of an autonomous vehicle computing 400 (sometimes referred to as an "AV stack") is illustrated. 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 the autonomous vehicle's automatic navigation system (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 identical or similar to the autonomous vehicle computing 400, etc.). In some examples, 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 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., via a microprocessor, a microcontroller, an application specific integrated circuit (ASIC), and / or a 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 remote systems (e.g., an autonomous vehicle system identical or similar to the remote AV system 114, a queue management system identical or similar to the queue management system 116, and / or a V2I system identical or similar to the V2I system 118, etc.).

[0064] 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 one or more physical objects within the field of view of the at least one camera (e.g., representing the one or more physical objects). In such examples, the perception system 402 classifies the at least one physical object based on one or more groupings 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.

[0065] 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 from the perception system 402 (e.g., the data associated with the classification of the physical object described above), 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 the tactical functions required to operate the vehicle 102 in road traffic. 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 speed, acceleration, deceleration, etc. In some embodiments, the planning system 404 receives data associated with the 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.

[0066] In some embodiments, the positioning system 406 receives data associated with (e.g., representing) the 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 certain 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 the respective point clouds. 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 location of the vehicle in the area. In some embodiments, the map includes a combined point cloud of the area generated prior to the navigation of the vehicle. In some embodiments, the map includes, but is not limited to, a high-precision map of the roadway geometry, a map describing the connectivity of the road network, a map describing the physical properties of the roadways (such as traffic speed, traffic flow, the number of vehicle and bicycle traffic lanes, lane width, lane traffic direction or the type and location of lane markings, or a combination thereof, etc.), and a map describing the spatial location of road features (such as crosswalks, traffic signs or various other driving signals, etc.). In some embodiments, the map is generated in real time based on the data received by the perception system.

[0067] In another example, the positioning system 406 receives Global Navigation Satellite System (GNSS) data generated by a Global Positioning System (GPS) receiver. In some examples, the positioning system 406 receives GNSS data associated with the location of a vehicle in an area, and the positioning system 406 determines the latitude and longitude of the vehicle in the area. In such examples, the positioning system 406 determines the location of the vehicle in the area based on the latitude and longitude of the vehicle. In some embodiments, the positioning system 406 generates data associated with the location of the vehicle. In some examples, based on the positioning system 406 determining the location of the vehicle, the positioning system 406 generates data associated with the location of the vehicle. In such examples, the data associated with the location of the vehicle includes data associated with one or more semantic properties corresponding to the location of the vehicle.

[0068] 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 cause the powertrain control system (e.g., the DBW system 202h and / or the powertrain control system 204, etc.), the steering control system (e.g., the steering control system 206), and / or the braking system (e.g., the braking system 208) to operate. 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 activities required to regulate the y-axis component of the vehicle motion. Longitudinal vehicle motion control causes activities required to regulate the x-axis component of the vehicle motion. In an 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 (e.g., headlights, turn signals, door locks, and / or windshield wipers, etc.) to change states.

[0069] In some embodiments, the perception system 402, the planning system 404, the positioning system 406, and / or the 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, the perception system 402, the planning system 404, the positioning system 406, and / or the control system 408 implement at least one machine learning model individually or in combination with one or more of the above systems. In some examples, the perception system 402, the planning system 404, the positioning system 406, and / or the 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 the environment, etc.).

[0070] The database 410 stores data transmitted to, received from, and / or updated by the perception system 402, the planning system 404, the positioning system 406, and / or the control system 408. In some examples, the database 410 includes a storage component for storing data and / or software related to operations and using the autonomous vehicle computing 400 of at least one system (e.g., related to Figure 3the same or similar storage components as the storage component 308). In some embodiments, the database 410 stores data associated with 2D and / or 3D maps of at least one area. In some examples, the database 410 stores data associated with 2D and / or 3D maps of a part of a city, multiple parts of multiple cities, multiple cities, counties, states, and / or countries (e.g., nations), etc. In such examples, a vehicle (e.g., a vehicle the same or similar to the vehicle 102 and / or the vehicle 200) can drive along one or more drivable areas (e.g., single-lane roads, multi-lane roads, highways, back roads, and / or off-road roads, etc.), and cause at least one LiDAR sensor (e.g., a LiDAR sensor the same or similar to the LiDAR sensor 202b) to generate data associated with an image representing the objects included in the field of view of the at least one LiDAR sensor.

[0071] In some embodiments, the database 410 can be implemented across multiple devices. In some examples, the database 410 is included in a vehicle (e.g., a vehicle the same or similar to the vehicle 102 and / or the vehicle 200), an autonomous vehicle system (e.g., an autonomous vehicle system the same or similar to the remote AV system 114), a queue management system (e.g., a queue management system the same or similar to Figure 1 the queue management system 116) and / or a V2I system (e.g., a V2I system the same or similar to Figure 1 the V2I system 118), etc.

[0072] Now refer to Figure 5 , a flowchart of a process 500 for turn signal allocation for complex maneuvers is illustrated. As described herein, a turn signal includes a signal or other indicator (e.g., light and / or sound, etc.) emitted by a vehicle to indicate the direction of travel of the vehicle and / or a change in the direction of travel. In some embodiments, one or more of the steps described with respect to the process 500 are performed by a turn signal allocation system 550 (see Figure 1 )(e.g., fully and / or partially, etc.).

[0073] For example, the turn signal allocation system 550 may perform one or more steps of process 500 to determine whether to activate a turn signal, determine when to activate a turn signal, and / or activate a turn signal. In an embodiment, the turn signal allocation system 550 is included in the autonomous vehicle computing 400 and / or one or more other systems such as those described with respect to environment 10. The turn signal allocation system 550 may be implemented in software (e.g., software instructions stored in memory), computer hardware (e.g., via 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.

[0074] Additionally or alternatively, in some embodiments, one or more steps described with respect to processes 500 and 1200 (see FIG. 12) are performed by another device or group of devices separate from or including the turn signal allocation system 550, such as vehicles 102a - 102n and / or vehicle 200 (e.g., one or more controllers of the DBW system 202h), vehicle - to - infrastructure (V2I) device 110, network 112, remote autonomous vehicle (AV) system 114, queue management system 116, V2I system 118, planning system 404, and / or control system 408, etc. (e.g., fully and / or partially, etc.). In some embodiments, the turn signal allocation system 550 includes, forms part of, is coupled to, and / or uses: vehicles 102a - 102n and / or vehicle 200, objects 104a - 104n, routes 106a - 106n, regions 108, vehicle - to - infrastructure (V2I) device 110, network 112, remote autonomous vehicle (AV) system 114, queue management system 116, V2I system 118, planning system 404, and / or control system 408. In some embodiments, the turn signal allocation system 550 is the same as or similar to: vehicles 102a - 102n and / or vehicle 200, objects 104a - 104n, routes 106a - 106n, regions 108, vehicle - to - infrastructure (V2I) device 110, network 112, remote autonomous vehicle (AV) system 114, queue management system 116, V2I system 118, planning system 404, and / or control system 408.

[0075] In an embodiment, when a particular vehicle is operating along a trajectory, the turn signal allocation system 550 transmits a control signal to activate the turn signal of the vehicle. Although with respect to Figures 5 to 1Reference is made to vehicle 702, but vehicle 702 may also include vehicles 102a - 102n, vehicle 200, other vehicles described herein, and / or their locations.

[0076] The turn signal allocation system 550 may determine whether to activate the turn signal of the vehicle based at least on position information associated with the position of vehicle 702. For example, the turn signal allocation system 550 may determine whether to change the state of the turn signal from on to off or from off to on and / or whether to change the direction of the turn signal based at least on the position information.

[0077] The position information may include the heading direction of vehicle 702, the trajectory of vehicle 702 (e.g., lateral trajectory), and / or descriptors associated with the trajectory, etc. The heading direction includes the direction that vehicle 702 is pointing or the direction of the steering angle of vehicle 702. The lateral trajectory includes the upcoming trajectory, path, and / or lateral projection path, etc. The descriptor includes homotopy words or high - level descriptors of the vehicle's trajectory, such as "Homotopy::allow_lane_change = true" or "Homotopy::allow_lane_change = false", etc.

[0078] The turn signal allocation system 550 may use the position information to determine the current driving direction of vehicle 702 and / or the future driving direction of vehicle 702. Refer to Figure 5 , at 502, vehicle 702 may receive position information from one or more systems or devices (such as the autonomous vehicle computing 400, device 300, or autonomous system 202, etc.).

[0079] The turn signal allocation system 550 may hierarchically determine whether to activate the turn signal. The hierarchical determination may include a plurality of ordered determinations or steps performed by the turn signal allocation system 550 to determine whether to activate the turn signal and / or when to activate the turn signal, etc. In an embodiment, the turn signal allocation system 550 performs each of the plurality of ordered determinations in a predetermined order (e.g., sequentially or in a priority order). The turn signal allocation system 550 may activate the turn signal of vehicle 702 based on an affirmative determination in any of the ordered determinations. At 514, activating the turn signal of vehicle 702 at any of the ordered determinations ends the hierarchical determination, such that the turn signal allocation system 550 does not enter any remaining determinations among the plurality of ordered determinations.

[0080] Based on at least a negative determination in any of the ordered determinations, the turn signal allocation system 550 makes the next determination in the plurality of ordered determinations in a predetermined order. In an embodiment, the hierarchical determinations include, in order of priority, a first determination of whether to activate the steering-based turn signal 516, a second determination of whether to activate the lane-based turn signal 518, a third determination of whether to activate the trajectory-based turn signal 520, a fourth determination of whether to activate the stop-based turn signal 522, and / or a fifth determination of whether to activate the intersection-based turn signal 524.

[0081] The turn signal allocation system 550 can make the hierarchical determinations before activating a turn signal based on a turn (e.g., a change in direction) of the vehicle 702 at a roadway intersection (such as an intersection including two or more lanes, etc.). In other words, the turn signal allocation system 550 makes each of the ordered determinations in the plurality of ordered determinations before determining whether the vehicle 702 is making a turn (e.g., a left turn and / or a right turn, etc.) at a roadway intersection. Thus, in an embodiment, the last determination in the plurality of ordered determinations in the predetermined order includes: determining whether the vehicle 702 is making a turn at a roadway intersection, and as a result, whether and / or when to activate a turn signal in the case where the vehicle 702 is making a turn at a roadway intersection. Such an embodiment allows the turn signal allocation system 550 to efficiently, quickly, and accurately apply a hierarchy (e.g., hierarchical determinations in a predetermined order in the plurality of ordered determinations) when allocating turn signals during complex maneuvers regardless of the driving direction and / or local turn signal regulations.

[0082] Reference Figure 5 , at 504, the turn signal allocation system 550 makes the first determination in the plurality of ordered determinations in order of priority. The first determination includes: determining whether to activate a turn signal of the vehicle 702 and allocating the steering-based turn signal 516.

[0083] The turn signal allocation system 550 determines a deviation (e.g., a heading difference) from a reference path to determine whether to allocate the steering-based turn signal 516. In an embodiment, the turn signal allocation system 550 determines an angle between the heading direction and the reference path, which includes the center of the lanes on the roadway. In other words, the turn signal allocation system 550 determines a heading difference (e.g., an angle) between the heading direction and the reference path. The reference path serves as the baseline path of the vehicle 702.

[0084] The turn signal allocation system 550 compares the angle with a threshold angle. The threshold angle can be 90 degrees (e.g., indicating a left or right turn), a range between 45 degrees and 75 degrees, a range between 75 degrees and 100 degrees, a range between 100 degrees and 125 degrees, or other ranges in between that are larger or smaller. Comparing the angle with the threshold angle provides a deviation from a reference path. In an embodiment, this determination can be used for a K-turn, a U-turn, a turn from a shoulder or a roadway, or other turns where there is a recovery from a departure from the roadway. For example, this determination can be used during a high-angle differential turn relative to the reference path.

[0085] If the turn signal allocation system 550 determines that the angle is greater than (or equal to) the threshold angle, the turn signal allocation system 550 activates the steering-based turn signal 516 in the direction of the steering angle (e.g., left or right). Thus, if the turn signal allocation system 550 determines that the angle is greater than (or equal to) the threshold angle, the turn signal allocation system 550 does not proceed to the next determination in the plurality of ordered determinations in order of precedence.

[0086] In an embodiment, at least based on the determination that the angle is greater than the threshold angle, the turn signal allocation system 550 determines the time to activate the steering-based turn signal 516. For example, the turn signal allocation system 550 can determine that the steering-based turn signal 516 should be activated when it determines that the angle is greater than the threshold angle or at a certain (e.g., pre-determined or determined) time or distance after it determines that the angle is greater than the threshold angle. At least based on the determination that the steering-based turn signal 516 should be activated, the turn signal allocation system 550 transmits a control signal to the vehicle 702 to activate the steering-based turn signal 516 at the determined time. In an embodiment, the turn signal allocation system 550 transmits another control signal to deactivate the steering-based turn signal 516 after detecting that the maneuver has been completed.

[0087] If the turn signal allocation system 550 determines that the angle is less than (e.g., not greater than or equal to) the threshold angle, the turn signal allocation system 550 proceeds to the next (e.g., second) determination in the plurality of ordered determinations in order of precedence.

[0088] Referring again to Figure 5 , at 506, the turn signal allocation system 550 proceeds to the second determination in the plurality of ordered determinations in order of precedence. The second determination includes: determining whether to activate the turn signal of the vehicle 702 and allocating the lane-based turn signal 518. The second determination is made after the first determination.

[0089] As at least a portion of the second determination, the turn signal allocation system 550 determines whether the vehicle 702 is undergoing a lane change (e.g., a change of lanes in a roadway in a left or right direction). This allows the turn signal allocation system 550 to appropriately activate the lane-based turn signals 518 when the vehicle 702 is changing lanes and / or crossing a lane boundary. As described above, the turn signal allocation system 550 determines whether the vehicle 702 is undergoing a lane change after determining that the angle between the heading direction of the vehicle 702 and the reference path is less than a threshold angle.

[0090] The turn signal allocation system 550 determines whether the vehicle 702 is undergoing a lane change based on descriptors. As described herein, the descriptors include homotopy words or high-level descriptors of the trajectory of the vehicle 702. In other words, the descriptors include high-level descriptors of a solution subspace, where all solutions in the solution subspace can be continuously deformed to obtain other solutions in the subspace. In an embodiment, the descriptors include a description of the trajectory of the vehicle 702 relative to an obstacle and / or a description of the trajectory of the vehicle 702 relative to a lane change, etc. Thus, in an embodiment, the descriptors indicate whether the vehicle 702 is undergoing a lane change and / or bypassing an obstacle, etc.

[0091] Figure 6 is a diagram of an example process 600 for turn signal allocation when changing lanes. At 506, the turn signal allocation system 550 can use the process 600 to determine whether to allocate the lane-based turn signals 518. In an embodiment, at 602, the vehicle 702 is driving within a lane (e.g., driving straight). As Figure 6 shown, the first descriptor 604 (e.g., "Homotopy::allow_lane_change = true") indicates that the vehicle 702 is undergoing a lane change.

[0092] Return reference Figure 5, if the turn signal allocation system 550 determines, based on a descriptor (e.g., the first descriptor 604), that the vehicle 702 is changing lanes (e.g., from a current lane to a target lane), then the turn signal allocation system 550 activates the lane-based turn signal 518 in the direction of the lane change (e.g., left or right). At least based on the determination that the lane-based turn signal 518 should be activated, the turn signal allocation system 550 transmits a control signal to the vehicle 702 to activate the lane-based turn signal 518 at a determined time. In an embodiment, after detecting that the lane change maneuver has been completed, the turn signal allocation system 550 transmits another control signal to deactivate the lane-based turn signal 518. Thus, if the turn signal allocation system 550 determines that the vehicle 702 is undergoing a lane change, the turn signal allocation system 550 does not proceed to the next determination in the plurality of ordered determinations in order of precedence.

[0093] At 608, the vehicle 702 changes lanes (e.g., crosses a lane boundary from a current lane to a target lane) at least based on the first descriptor 604. For example, the first descriptor 604 indicates that a lane change is permitted. Thus, at 608, the vehicle 702 changes lanes left or right at least based on the first descriptor 604.

[0094] At 614, the turn signal allocation system 550 determines whether the rear differential of the vehicle 702 is in an adjacent lane (e.g., the lane from which the vehicle 702 is changing lanes), or whether the rear differential has entered the target lane. In an embodiment, the turn signal allocation system 550 determines that the rear differential of the vehicle 702 has moved from an adjacent lane to the target lane in which the vehicle 702 is located. At least based on such a determination, at 612, the turn signal allocation system 550 determines that the vehicle 702 has changed lanes (e.g., crossed a lane boundary).

[0095] In an embodiment, the turn signal allocation system 550 deactivates the lane-based turn signal 518 at least based on the second descriptor 606 and / or the determination that the vehicle 702 has changed lanes. The second descriptor 606 (e.g., "Homotopy::allow_lane_change = false") indicates that the vehicle 702 is no longer undergoing a lane change or is otherwise not currently undergoing a lane change. At least based on the second descriptor 606, the turn signal allocation system 550 terminates the lane-based turn signal 518, and at 602, the vehicle 702 returns to operating within the current lane.

[0096] Return reference Figure 5, if the turn signal allocation system 550 determines that the vehicle 702 is not undergoing a lane change and determines that the lane-based turn signal 518 is not active, then the turn signal allocation system 550 makes the next (e.g., third) determination in the plurality of ordered determinations in order of priority.

[0097] Referring again to Figure 5 , at 508, the turn signal allocation system 550 makes the third determination in the plurality of ordered determinations in order of priority. The third determination includes: determining whether to activate the turn signal of the vehicle 702 and allocating the trajectory-based turn signal 520. The third determination is made after the second determination and the first determination.

[0098] As at least a part of the third determination, after determining whether to activate the lane-based turn signal 518, the turn signal allocation system 550 determines whether to activate the trajectory-based turn signal 520. For example, the turn signal allocation system 550 determines whether the vehicle 702 is performing a maneuver within a lane without crossing the lane boundary and / or without bypassing an obstacle that causes the trajectory of the vehicle 702 to deviate from the reference path of the vehicle 702. In an embodiment, as a part of the third determination, the turn signal allocation system 550 determines whether the vehicle 702 is nudging around an obstacle (such as an object within the current lane of the vehicle 702, etc.), or whether the vehicle 702 is crossing the lane boundary of the current lane of the vehicle 702. For example, the vehicle 702 can bypass an obstacle by nudging rather than by changing lanes (e.g., crossing the lane boundary). In another embodiment, the vehicle 702 can bypass an obstacle by crossing the lane boundary and then recrossing the lane boundary after the inflection point at the location of the obstacle to re-enter the original lane and travel along the reference path. Such an example can be different from the determination of the lane-based turn signal 518 (e.g., the second determination) because the vehicle 702 is bypassing an obstacle, which causes the vehicle 702 to temporarily and laterally deviate from the reference path rather than crossing the lane boundary to reach and / or remain in the target lane.

[0099] Figure 7 FIG. 700 is an example of the vehicle 702 bypassing an obstacle 701. Referring to Figure 7 , the vehicle 702 travels along a reference path (e.g., a self-base path) 704. As described herein, the reference path 704 can be the center of the lane on the roadway on which the vehicle 702 is traveling. The reference path 704 serves as the base path of the vehicle 702.

[0100] As Figure 7As shown, vehicle 702 deviates from reference path 704 to bypass obstacle 701. In this example, vehicle 702 nudges around obstacle 701 to the right of obstacle 701 and passes through obstacle 701 at intersection 710, where vehicle 702 temporarily crosses lane boundary 703. When vehicle 702 reaches intersection 710, vehicle 702 laterally deviates from reference path 704. Additionally, when vehicle 702 continues around obstacle 701 and along discretized trajectory 706 at a first point 708 after intersection 710, vehicle 702 turns back towards reference path 704. However, when vehicle 702 bypasses obstacle 701, vehicle 702 travels along a lateral trajectory (e.g., discretized trajectory 706) that is offset from reference path 704 by a distance greater than or equal to a threshold deviation (e.g., distance). The threshold deviation can be 1 to 2 m, 2 to 3 m, and / or 3 to 4 m, etc.

[0101] In this example, turn signal allocation system 550 determines the deviation (e.g., distance) between the lateral trajectory of vehicle 702 and reference path 704. Here, such as when vehicle 702 reaches intersection 710, turn signal allocation system 550 determines that the lateral trajectory meets or exceeds the threshold deviation. As a result, turn signal allocation system 550 activates trajectory-based turn signal 520 based on the direction of the lateral trajectory. At least based on the determination that trajectory-based turn signal 520 should be activated, turn signal allocation system 550 transmits a control signal to vehicle 702 to activate trajectory-based turn signal 520 at a determined time. In an embodiment, turn signal allocation system 550 transmits another control signal to deactivate trajectory-based turn signal 520 after detecting that the bypass maneuver has been completed.

[0102] When turn signal allocation system 550 determines that the lateral trajectory returns within the threshold deviation with respect to reference path 704, turn signal allocation system 550 deactivates trajectory-based turn signal 520. In other words, if turn signal allocation system 550 determines that the deviation meets the threshold deviation and then detects a subsequent deviation in the opposite direction that causes vehicle 702 to return to a lateral trajectory that is offset from reference path 704 by less than the threshold deviation, turn signal allocation system 550 deactivates trajectory-based turn signal 520.

[0103] Thus, once the lateral trajectory of the vehicle 702 returns closer to the reference path 704, the turn signal allocation system 550 terminates the trajectory-based turn signal 520. This helps to signal the intention to maneuver within a wide lane when bypassing an obstacle within the lane, when bypassing an obstacle that causes the vehicle to cross a lane boundary and return to the original lane, and / or when bypassing an obstacle in the absence of lane boundaries. Thus, if the turn signal allocation system 550 determines that the deviation meets a threshold deviation, the turn signal allocation system 550 does not proceed to the next determination in the plurality of ordered determinations in order of priority.

[0104] If the turn signal allocation system 550 determines that the deviation between the reference path 704 and the lateral trajectory of the vehicle 702 is less than the threshold deviation, the turn signal allocation system 550 determines not to activate the trajectory-based turn signal 520. Thus, if the turn signal allocation system 550 determines that the deviation fails to meet the threshold deviation, the turn signal allocation system 550 proceeds to the next (e.g., fourth) determination in the plurality of ordered determinations in order of priority.

[0105] Referring again to Figure 5 , at 510, the turn signal allocation system 550 proceeds to the fourth determination in the plurality of ordered determinations in order of priority. The fourth determination includes: determining whether to activate the turn signal of the vehicle 702 and allocating the stop-based turn signal 522. The fourth determination is made after the third determination, the second determination, and the first determination.

[0106] As at least a part of the fourth determination, the turn signal allocation system 550 determines whether the vehicle 702 is within a threshold distance of a destination parking space and / or a pick-up / drop-off (“PuDo”) zone. Based on this determination, the turn signal allocation system 550 may activate the stop-based turn signal 522. In other words, when the vehicle 702 is within a threshold distance of a destination parking space or a PuDo zone, the turn signal allocation system 550 may initialize the stop-based turn signal 522.

[0107] As an example, the turn signal allocation system 550 determines the distance relative to a destination parking space and / or a PuDo zone. The destination parking space includes a predetermined parking space and / or a parking lot, etc. at the destination of the vehicle 702. The PuDo zone includes a predetermined pick-up / drop-off zone at the destination of the vehicle 702. The turn signal allocation system 550 may compare the determined distance with a threshold distance (e.g., 1 to 2 m, 2 to 3 m, 3 to 4 m, or 4 to 5 m, etc.).

[0108] If the turn signal allocation system 550 determines that the distance to the destination parking space and / or the PuDo zone is less than a threshold distance, the turn signal allocation system 550 activates the parking-based turn signal 522 in a direction (e.g., left or right) based on the relative position of the vehicle 702 compared to the position of the destination parking space and / or the PuDo zone. For example, the turn signal allocation system 550 activates the parking-based turn signal 522 in a direction (e.g., left or right) based on whether the vehicle 702 is reversing into a destination parking space on the right or left, and / or driving into a destination parking space on the right or left, etc.

[0109] Additionally and / or alternatively, the turn signal allocation system 550 activates the parking-based turn signal 522 in a direction based on the lane index and / or the local driving direction. For example, the in-lane PuDo zone may include an offset of the vehicle 702 to one side (e.g., the left or right side) of the lane being traveled. In this example, the vehicle 702 may be parked in the PuDo zone near the curb but not enter any parking space (such as the destination parking space, etc.). In this example, the turn signal allocation system 550 uses the lane index and / or the local driving direction to determine the direction of the parking-based turn signal 522.

[0110] During parking, the turn signal allocation system 550 determines which side of the lane the vehicle 702 is biased towards the baseline trajectory or otherwise remains along the baseline trajectory. In some examples, the default position is to the center of the bias. In such examples, the turn signal allocation system 550 determines not to activate the turn signal. During parking, the vehicle 702 is biased to one side (e.g., the left or right side) of the lane. The turn signal allocation system 550 determines whether the vehicle 702 is traveling in the rightmost lane and / or the leftmost lane. Alternatively, the turn signal allocation system 550 determines that the vehicle 702 is traveling in a single-lane roadway based on the lane being determined to be both the rightmost lane and the leftmost lane. When the turn signal allocation system 550 determines that the vehicle 702 is traveling in the rightmost lane, the turn signal allocation system 550 determines that it is biased to the right and activates the parking-based turn signal 522 in the right direction. Additionally and / or alternatively, when the turn signal allocation system 550 determines that the vehicle 702 is traveling in the leftmost lane, the turn signal allocation system 550 determines that it is biased to the left and activates the parking-based turn signal 522 in the left direction.

[0111] If the turn signal allocation system 550 determines that the vehicle 702 is traveling within a single-lane roadway, the turn signal allocation system 550 determines the local driving direction in which the vehicle 702 is operating. For example, in the case where the turn signal allocation system 550 determines that the local driving direction is on the right side of the roadway and / or when the turn signal allocation system 550 determines that the local driving direction is on the right side of the roadway, the turn signal allocation system 550 activates the stop-based turn signal 522 in the right direction (e.g., offset to the right). Alternatively, in the case where the turn signal allocation system 550 determines that the local driving direction is on the left side of the roadway and / or when the turn signal allocation system 550 determines that the local driving direction is on the left side of the roadway, the turn signal allocation system 550 activates the stop-based turn signal 522 in the left direction (e.g., offset to the left).

[0112] Accordingly, if the turn signal allocation system 550 determines to activate the stop-based turn signal 522, the turn signal allocation system 550 does not proceed to the next determination in the plurality of ordered determinations (e.g., the fifth determination) in order of precedence. In some examples, when stopped at a destination parking space and / or a PuDo zone, the turn signal allocation system 550 terminates (e.g., deactivates) the stop-based turn signal 522 and activates the hazard warning lights of the vehicle 702. At least based on the determination that the stop-based turn signal 522 should be activated, the turn signal allocation system 550 transmits a control signal to the vehicle 702 to activate the stop-based turn signal 522 at a determined time. In an embodiment, the turn signal allocation system 550 transmits another control signal to deactivate the stop-based turn signal 522 after detecting that the parking maneuver has been completed.

[0113] If the turn signal allocation system 550 determines that the distance relative to the destination parking space and / or PuDo zone meets (e.g., is greater than or equal to) a threshold distance, the turn signal allocation system 550 determines not to activate the stop-based turn signal 522. The turn signal allocation system 550 proceeds to the next (e.g., fifth) determination in the plurality of ordered determinations in order of precedence.

[0114] Referring again to Figure 5 , at 512, the turn signal allocation system 550 makes a fifth determination in the plurality of ordered determinations in order of precedence. The fifth determination includes: determining whether to activate the turn signals of the vehicle 702 and allocating intersection-based turn signals 524. In some embodiments, the fifth determination is the last determination in the plurality of ordered determinations of a hierarchical determination. The fifth determination is made after the fourth determination, the third determination, the second determination, and the first determination.

[0115] As at least a part of the fifth determination, the turn signal allocation system 550 determines whether to activate the intersection-based turn signal 524. In an embodiment, if the turn signal allocation system 550 reaches the fifth determination regarding whether to activate the intersection-based turn signal 524, the turn signal allocation system 550 has determined not to activate the steering-based turn signal 516, the lane-based turn signal 518, the trajectory-based turn signal 520, and the stop-based turn signal 522. As a result, the turn signal allocation system 550 has determined that the vehicle 702 is not undergoing a complex maneuver and, instead, may be turning at an intersection in the traffic lane.

[0116] In some embodiments, after the turn signal allocation system 550 determines that the vehicle 702 is turning at an intersection, the turn signal allocation system 550 determines the time to activate the intersection-based turn signal 524. Generally, when the vehicle 702 is within a proximity threshold distance (e.g., less than or equal to the proximity threshold distance) from the upcoming intersection at which the vehicle 702 is planning to turn, the turn signal allocation system 550 activates the intersection-based turn signal 524. The turn signal allocation system 550 activates the intersection-based turn signal 524 in the direction of the turn at the intersection. Activating the intersection-based turn signal 524 when the vehicle 702 reaches the proximity threshold distance from the upcoming intersection (e.g., at the signaling interval) provides notice of the upcoming turn to other vehicles 702 and / or complies with local turn signal regulations.

[0117] However, in some examples, due to the proximity distance threshold, the signaling interval may overlap with other roadway intersections that occur before the vehicle 702 reaches the intersection at which the vehicle 702 is planning to turn. To accommodate such a situation, the turn signal allocation system 550 can identify the intermediate roadway intersections and determine whether the direction of the intersection-based turn signal 524 can match the turn direction options at the intermediate roadway intersections. The turn signal allocation system 550 can delay the activation of the intersection-based turn signal 524 until the vehicle 702 leaves the intermediate roadway intersection and no other intermediate roadway intersections are detected within the signaling interval and before the roadway intersection at which the vehicle 702 is planning to turn.

[0118] As an example, and with reference to Figure 10 depicting an example trajectory 1000 of the vehicle 702, the turn signal allocation system 550 is at least based on position information and / or other input information 810 (see Figure 8)Extract the upcoming path 1001 of the vehicle 702. The upcoming path 1001 can include the trajectory of the vehicle 702, which includes a roadway intersection where the vehicle 702 is planning to turn (e.g., the subsequent intersection 1004) and an initial (e.g., intermediate) roadway intersection 1002 before the subsequent roadway intersection 1004 where the vehicle 702 is planning to turn. The turn signal distribution system 550 detects that the subsequent roadway intersection 1004 is along the upcoming path 1001 after the initial roadway intersection 1002. Additionally and / or alternatively, the turn signal distribution system 550 detects a distance 1006 before the turn at the subsequent roadway intersection 1004 to activate (e.g., turn on) the intersection-based turn signal 524. The distance 1006 refers to the signaling interval. In this example, the intersection-based turn signal 524 includes a right-turn signal 1010.

[0119] Reference Figure 10 , since the turn signal distribution system 550 detects that the initial roadway intersection 1002 is within the distance 1006 (e.g., the signaling interval) and / or the initial roadway intersection 1002 has the option to turn right, the turn signal distribution system 550 delays the activation of the intersection-based turn signal 524 (e.g., the right-turn signal 1010) until after the vehicle 702 leaves the initial roadway intersection 1002. As Figure 10 shown, at 1008, the turn signal distribution system 550 determines to keep the intersection-based turn signal 524 off until after the vehicle 702 leaves the initial roadway intersection 1002.

[0120] After the turn signal distribution system 550 determines that the vehicle 702 has left the initial roadway intersection 1002, the turn signal distribution system 550 activates the right-turn signal 1010 (e.g., the intersection-based turn signal 524) within the signaling interval and before the turn at the subsequent roadway intersection 1004. At least based on the determination that the intersection-based turn signal 524 should be activated, the turn signal distribution system 550 transmits a control signal to the vehicle 702 to activate the intersection-based turn signal 524 at the determined time. In an embodiment, the turn signal distribution system 550 transmits another control signal to deactivate the intersection-based turn signal 524 after detecting that the turning maneuver at the subsequent roadway intersection 1004 has been completed. For example, reference Figure 10 , at 1012, the turn signal distribution system 550 turns off the right-turn signal 1010.

[0121] Figure 8 And Figure 9Illustrate another example of determining the time to activate the intersection-based turn signal 524 using the turn signal allocation system 550. In particular, Figure 8 is a flowchart of an example process 800 for turn signal allocation in an intersection, and Figure 9 is an example trajectory 900 of a vehicle such as vehicle 702.

[0122] Refer to Figure 9 , the trajectory 900 shows the vehicle 702 traveling in lane 914, passing through the initial intersection 902, traveling in lane 908, and passing through the subsequent intersection 904. In this example, the vehicle 702 is planning to go straight or turn at the subsequent intersection 904. Additionally, the initial intersection 902 is located within the signaling interval before the subsequent intersection 904. The initial intersection 902 includes two options: going straight and turning right. The trajectory 900 also includes a connection segment 916 that connects lane 914 and lane 908 through the initial intersection 902. The trajectory 900 also includes a connection segment 906 that connects lane 908 with lane 912 or lane 910 through the subsequent intersection 904. As Figure 9 shown, lanes 910 and 912 are the two options after the subsequent intersection 904. In particular, lane 910 continues straight from lane 908 through the subsequent intersection 904, and lane 912 includes a right turn after the subsequent intersection 904.

[0123] Refer to Figure 8 , the turn signal allocation system 550 determines the time to activate the intersection-based turn signal 524 at least based on the input information 810, which includes intersections 802 on the path (e.g., Figure 9 the initial intersection 902 and the subsequent intersection 904 shown), path information (e.g., lanes 908, 914, 910, 912, connection segment 916, and connection segment 906) 804, the distance to turn on the flashers 806 (e.g., the signaling distance), and / or the path length (e.g., the length of the path along which the vehicle 702 is traveling towards the subsequent intersection 904) 808, etc. In this example, the path length 808 is 100 m, although other path lengths are contemplated.

[0124] At 812, the turn signal allocation system 550 extracts the path length 808 in front of the vehicle 702 (e.g., itself), and detects intersections 802 on the path within the path length 808. For example, the turn signal allocation system 550 detects and identifies the initial intersection 902 and the subsequent intersection 904 within the path length 808 at least based on the input information 810.

[0125] At 814, the turn signal distribution system 550 extracts lane connection segments (e.g., path information 804) from the path intersections 802 (e.g., initial intersection 902 and subsequent intersection 904) within the path length 808. For example, the turn signal distribution system 550 extracts lane connection segment 916 (also referred to herein as connection segment 916) and lane connection segment 906 (also referred to herein as connection segment 906) and other connection segments.

[0126] At 816, the turn signal distribution system 550 removes any false alarms from the intersection (e.g., subsequent intersection 904) before the intersection at which the ego (e.g., vehicle 702) is turning (e.g., path intersection 802). For example, the turn signal distribution system 550 identifies the initial intersection 902 as an intermediate intersection within the path length 808 (e.g., signaling interval) before the subsequent intersection 904. At least based on this identification, the turn signal distribution system 550 removes the initial intersection 902 as a false alarm. In other words, the turn signal distribution system 550 determines not to activate the intersection-based turn signal 524 until after the vehicle 702 has crossed and left the initial intersection 902.

[0127] At 818, the turn signal distribution system 550 removes lane connection segments outside the query range. For example, the turn signal distribution system 550 removes the connection segment 916 associated with the initial intersection 902 that has been removed as a false alarm. Thus, the turn signal distribution system 550 determines not to activate the intersection-based turn signal 524 until after the vehicle 702 has crossed and left the connection segment 916 within the initial intersection 902.

[0128] At 820, the turn signal distribution system 550 extracts the turn signal direction from the first lane connection segment remaining after removing the lane connection segments outside the query range and within the path length 808 (e.g., signaling interval). In Figure 9 the example shown, the turn signal distribution system 550 extracts the turn signal direction from the first lane connection segment (e.g., connection segment 906) remaining along the path length 808 after removing the connection segment 916.

[0129] At 822, the turn signal distribution system 550 activates the intersection-based turn signal 524. For example, the turn signal distribution system 550 transmits a control signal to the vehicle 702 to activate the intersection-based turn signal 524 at a determined time. In an embodiment, the turn signal distribution system 550 transmits a control signal to the vehicle 702 to activate the intersection-based turn signal 524 after the vehicle 702 has passed through the initial intersection 902.

[0130] Return reference Figure 5, at 514, the turn signal distribution system 550 has activated or deactivated a turn signal (e.g., a turn signal 516 based on steering, a turn signal 518 based on a lane, a turn signal 520 based on a trajectory, a turn signal 522 based on a stop, and / or a turn signal based on an intersection). Thus, the turn signal distribution system 550 ends the hierarchical determination of a plurality of ordered determinations in order of priority.

[0131] Now refer to Figure 11 , a flowchart of a process 1100 for turn signal distribution in complex maneuvers is illustrated. In some embodiments, one or more of the steps described with respect to process 1100 are performed by the turn signal distribution system 550 (e.g., fully and / or partially, etc.). Additionally or alternatively, in some embodiments, one or more of the steps described with respect to process 1100 are performed by another device or group of devices separate from or including the turn signal distribution system 550 (e.g., fully and / or partially, etc.).

[0132] At 1102, at least one processor (e.g., the turn signal distribution system 550) receives position information associated with the position of a vehicle (e.g., vehicle 102 and / or vehicle 200). The position information may include the heading direction of the vehicle, the trajectory of the vehicle (e.g., the lateral trajectory of the vehicle), and / or a descriptor associated with the trajectory, etc. The heading direction includes the direction in which the vehicle is pointing or the direction of the steering angle. The lateral trajectory includes an upcoming trajectory, path, and / or lateral projection path, etc. The descriptor includes a homotopy word or a high-level descriptor of the trajectory of the vehicle, such as "Homotopy::allow_lane_change = true" or "Homotopy::allow_lane_change = false", etc.

[0133] At 1104, at least one processor hierarchically determines whether to activate a turn signal of the vehicle before activating the turn signal based on a turn (e.g., a change in direction) of the vehicle at a roadway intersection (such as an intersection of two or more lanes, etc.). The hierarchical determination includes a plurality of ordered determinations. The turn signal includes a signal for a turn of the vehicle operated by a device on the vehicle. Activation of the turn signal includes changing the turn signal from on to off or from off to on.

[0134] For example, determining whether to activate the turn signal may include: determining that the angle between the heading direction and a reference path is less than a threshold angle. The reference path includes the center of a lane on a roadway, a baseline, etc. The threshold angle includes an angle of about 90 degrees or other predetermined threshold angle. If the angle is greater than the threshold, the turn signal is activated in the direction of the steering angle.

[0135] Determining whether to activate a turn signal may include: determining, based on a descriptor, that the vehicle is not undergoing a lane change. A lane change includes a change in a lane of a roadway in a left or right direction. If the descriptor indicates that the vehicle is undergoing a lane change, then activate the turn signal in the direction based on the direction of the lane change. After determining that an angle is less than a threshold angle, determine that the vehicle is not undergoing a lane change.

[0136] Determining whether to activate a turn signal may include: determining that a deviation (e.g., distance) between a lateral trajectory and a reference path is less than a threshold deviation (e.g., 1 to 2 m or 2 to 3 m, etc.). If the deviation meets the threshold deviation, then activate the turn signal based on the direction of the trajectory. Additionally, if the deviation meets the threshold deviation and then a subsequent deviation is detected in the opposite direction, then activate the turn signal in the opposite direction. After determining that an angle is less than a threshold angle and determining that the vehicle is not undergoing a lane change, determine that the deviation is less than the threshold deviation.

[0137] Determining whether to activate a turn signal may include: determining that a distance relative to a destination parking space (e.g., a predetermined parking space and / or a parking lot, etc., at the destination of the vehicle) and / or a pick-up / drop-off zone (e.g., a predetermined pick-up / drop-off zone at the destination of the vehicle) is greater than a threshold distance (e.g., 1 to 2 m, 2 to 3 m, 3 to 4 m, or 4 - 5 m, etc.). If the distance meets the threshold distance, then activate the turn signal based on the relative position of the vehicle to the destination parking space or pick-up / drop-off zone or a lane index and a local driving direction. After determining that the deviation is less than the threshold deviation, determining that the angle is less than the threshold angle, and determining that the vehicle is not undergoing a lane change, determine that the distance is greater than the threshold distance.

[0138] At 1106, at least one data processor determines the time to activate a turn signal before the vehicle turns at a roadway intersection. The at least one data processor determines the time to activate the turn signal when determining to activate the turn signal. Additionally and / or alternatively, the at least one data processor determines the time to activate the turn signal based at least on position information. For example, determining the time to activate the turn signal may include: extracting an upcoming path of the vehicle based on position information. The upcoming path includes a roadway intersection and an initial roadway intersection before the roadway intersection. Additionally and / or alternatively, determining the time to activate the turn signal includes: detecting that the roadway intersection is after the initial roadway intersection. Additionally and / or alternatively, determining the time to activate the turn signal includes: delaying the time to activate the turn signal until after the vehicle has left the initial roadway intersection.

[0139] At 1108, at least one data processor transmits a control signal to activate a turn signal at a determined time. The at least one data processor may transmit a second control signal to deactivate the turn signal after detecting that the turn has been completed.

[0140] According to some non - limiting embodiments or examples, a system is provided that includes: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause operations including: receiving position information associated with a position of a vehicle; hierarchically and based on the position information, determining whether to activate a turn signal of the vehicle before activating the turn signal based on the vehicle turning at a roadway intersection; determining a time to activate the turn signal before the vehicle turns at the roadway intersection; and transmitting a control signal to activate the turn signal at the determined time.

[0141] According to some non - limiting embodiments or examples, at least one non - transitory computer - readable medium is provided that includes one or more instructions that, when executed by at least one processor, cause the at least one processor to: receive position information associated with a position of a vehicle; hierarchically and based on the position information, determine whether to activate a turn signal of the vehicle before activating the turn signal based on the vehicle turning at a roadway intersection; determine a time to activate the turn signal before the vehicle turns at the roadway intersection; and transmit a control signal to activate the turn signal at the determined time.

[0142] According to some non - limiting embodiments or examples, a method is provided that includes: receiving position information associated with a position of a vehicle; hierarchically and based on the position information, determining whether to activate a turn signal of the vehicle before activating the turn signal based on the vehicle turning at a roadway intersection; determining a time to activate the turn signal before the vehicle turns at the roadway intersection; and transmitting a control signal to activate the turn signal at the determined time.

[0143] Further non - limiting aspects or embodiments are set forth in the numbered clauses below:

[0144] Clause 1: A system, comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause operations including: receiving position information associated with a position of a vehicle; hierarchically and based on the position information, determining whether to activate a turn signal of the vehicle before activating the turn signal based on the vehicle turning at a roadway intersection; when determining to activate the turn signal and at least based on the position information, determining a time to activate the turn signal before the vehicle turns at the roadway intersection; and transmitting a control signal to activate the turn signal at the determined time.

[0145] Clause 2: The system according to Clause 1, wherein the position information includes a heading direction of the vehicle, and wherein determining whether to activate the turn signal includes: determining that an angle between the heading direction and a reference path is less than a threshold angle.

[0146] Clause 3: The system according to Clause 2, wherein the position information further includes a descriptor, and wherein determining whether to activate the turn signal further includes: based on the descriptor, determining that the vehicle is not undergoing a lane change.

[0147] Clause 4: The system according to Clause 3, wherein after determining that the angle is less than the threshold angle, it is determined that the vehicle has not undergone the lane change.

[0148] Clause 5: The system according to Clause 3, wherein the position information further includes a lateral trajectory, and wherein determining whether to activate the turn signal further includes: determining that a deviation between the lateral trajectory and the reference path is less than a threshold deviation.

[0149] Clause 6: The system according to Clause 5, wherein after determining that the angle is less than the threshold angle and determining that the vehicle is not undergoing the lane change, it is determined that the deviation is less than the threshold deviation.

[0150] Clause 7: The system according to Clause 5, wherein determining whether to activate the turn signal further includes: determining that a distance relative to a destination parking space and / or a pick-up / drop-off zone is greater than a threshold distance.

[0151] Clause 8: The system according to Clause 7, wherein after determining that the deviation is less than the threshold deviation, determining that the angle is less than the threshold angle, and determining that the vehicle is not undergoing the lane change, it is determined that the distance is greater than the threshold distance.

[0152] Clause 9: The system according to any one of Clauses 1 to 8, wherein determining the time to activate the turn signal includes: extracting the upcoming path of the vehicle based on the position information, where the upcoming path includes the roadway intersection and an initial roadway intersection before the roadway intersection.

[0153] Clause 10: The system according to Clause 9, wherein determining the time to activate the turn signal includes: detecting that the roadway intersection is after the initial roadway intersection; and delaying the time to activate the turn signal until after the vehicle leaves the initial roadway intersection.

[0154] Clause 11: The system according to any one of Clauses 1 to 10, wherein the operation further includes: after detecting that the turn has been completed, transmitting a second control signal to deactivate the turn signal.

[0155] Clause 12: The system according to any one of Clauses 1 to 11, wherein the hierarchy determination includes a plurality of ordered determinations.

[0156] Clause 13: A method includes: receiving position information associated with the position of a vehicle; hierarchically and based on the position information, determining whether to activate the turn signal of the vehicle before activating the turn signal based on the vehicle turning at a roadway intersection; when determining to activate the turn signal and at least based on the position information, determining the time to activate the turn signal before the vehicle turns at the roadway intersection; and transmitting a control signal to activate the turn signal at the determined time.

[0157] Clause 14: The method according to Clause 13, wherein the position information includes the heading direction of the vehicle, and wherein determining whether to activate the turn signal includes: determining that the angle between the heading direction and a reference path is less than a threshold angle.

[0158] Clause 15: The method according to Clause 14, wherein the position information further includes a descriptor, and wherein determining whether to activate the turn signal further includes: based on the descriptor, determining that the vehicle is not undergoing a lane change.

[0159] Clause 16: The method according to Clause 15, wherein after determining that the angle is less than the threshold angle, determining that the vehicle has not undergone the lane change.

[0160] Clause 17: The method according to Clause 15, wherein the location information further includes a lateral trajectory, and wherein determining whether to activate the turn signal further includes: determining that the deviation between the lateral trajectory and the reference path is less than a threshold deviation.

[0161] Clause 18: The method according to Clause 17, wherein, after determining that the angle is less than the threshold angle and determining that the vehicle is not undergoing the lane change, it is determined that the deviation is less than the threshold deviation.

[0162] Clause 19: The method according to Clause 17, wherein determining whether to activate the turn signal further includes: determining that the distance relative to the destination parking space and / or the pick-up / drop-off zone is greater than a threshold distance.

[0163] Clause 20: At least one non-transitory storage medium storing instructions which, when executed by at least one processor, cause the at least one processor to: receive location information associated with the location of a vehicle; hierarchically and based on the location information, determine whether to activate the turn signal of the vehicle before activating the turn signal based on the vehicle turning at a roadway intersection; when determining to activate the turn signal and at least based on the location information, determine the time to activate the turn signal before the vehicle turns at the roadway intersection; and transmit a control signal to activate the turn signal at the determined time.

[0164] In the foregoing description, aspects and embodiments of the present disclosure have been described with reference to numerous specific details, which may vary depending on the implementation. Accordingly, the specification and drawings are to be regarded as illustrative rather than in a limiting sense. The sole and exclusive indication of the scope of the invention, and what the applicant desires to be the scope of the invention, is the literal and equivalent scope of the claims as issued from this application in the specific form of the issued claims, including any subsequent amendments. Any definition of terms expressly set forth herein for inclusion in such claims shall be construed in the sense such terms are used in the claims. Additionally, when the term "further comprises" is used in the foregoing specification or the appended claims, the text following this phrase may be additional steps or entities, or sub-steps / sub-entities of the previously recited steps or entities.

Claims

1. A system, comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause operations including: receiving position information associated with a position of a vehicle; hierarchically and based on the position information, determining whether to activate a turn signal of the vehicle before activating the turn signal based on the vehicle turning at a roadway intersection; when determining to activate the turn signal and at least based on the position information, determining a time to activate the turn signal before the vehicle turns at the roadway intersection; and transmitting a control signal to activate the turn signal at the determined time.

2. The system according to claim 1, wherein, The position information includes a heading direction of the vehicle, and wherein determining whether to activate the turn signal includes: determining that an angle between the heading direction and a reference path is less than a threshold angle.

3. The system according to claim 2, wherein, The position information further includes a descriptor, and wherein determining whether to activate the turn signal further includes: based on the descriptor, determining that the vehicle is not undergoing a lane change.

4. The system according to claim 3, wherein After determining that the angle is less than the threshold angle, determining that the vehicle is not undergoing the lane change.

5. The system according to claim 3, wherein The position information further includes a lateral trajectory, and wherein determining whether to activate the turn signal further includes: determining that a deviation between the lateral trajectory and the reference path is less than a threshold deviation.

6. The system according to claim 5, wherein After determining that the angle is less than the threshold angle and determining that the vehicle is not undergoing the lane change, determining that the deviation is less than the threshold deviation.

7. The system according to claim 5, wherein, Determining whether to activate the turn signal further includes: determining that a distance relative to a destination parking space and / or a pick-up / drop-off zone is greater than a threshold distance.

8. The system according to claim 7, wherein, After determining that the deviation is less than the threshold deviation, determining that the angle is less than the threshold angle, and determining that the vehicle is not undergoing the lane change, determining that the distance is greater than the threshold distance.

9. The system according to any one of claims 1 to 8, wherein Determining the time to activate the turn signal includes: based on the position information, extracting an upcoming path of the vehicle, where the upcoming path includes the roadway intersection and an initial roadway intersection before the roadway intersection.

10. The system according to claim 9, wherein Determining the time to activate the turn signal includes: detecting that the roadway intersection is after the initial roadway intersection; and delaying the time to activate the turn signal until after the vehicle leaves the initial roadway intersection.

11. The system according to any one of claims 1 to 10, wherein The operations further include: after detecting that the turn has been completed, transmitting a second control signal to deactivate the turn signal.

12. The system according to any one of claims 1 to 11, wherein, The hierarchical determination includes a plurality of ordered determinations.

13. A method, comprising: receiving position information associated with a position of a vehicle; hierarchically and based on the position information, determining whether to activate a turn signal of the vehicle before activating the turn signal based on the vehicle turning at a roadway intersection; When it is determined to activate the turn signal and at least based on the position information, determine the time to activate the turn signal before the vehicle turns at the roadway intersection; And Transmit a control signal to activate the turn signal at the determined time.

14. The method according to claim 13, wherein, The position information includes the heading direction of the vehicle, and wherein determining whether to activate the turn signal includes: determining that the angle between the heading direction and a reference path is less than a threshold angle.

15. The method according to claim 14, wherein, The position information further includes a descriptor, and wherein determining whether to activate the turn signal further includes: determining based on the descriptor that the vehicle is not undergoing a lane change.

16. The method according to claim 15, wherein, After determining that the angle is less than the threshold angle, determine that the vehicle is not undergoing the lane change.

17. The method according to claim 15, wherein, The position information further includes a lateral trajectory, and wherein determining whether to activate the turn signal further includes: determining that the deviation between the lateral trajectory and the reference path is less than a threshold deviation.

18. The method according to claim 17, wherein After determining that the angle is less than the threshold angle and determining that the vehicle is not undergoing the lane change, determine that the deviation is less than the threshold deviation.

19. The method according to claim 17, wherein, Determining whether to activate the turn signal further includes: determining that the distance relative to a destination parking space and / or a pick-up / drop-off zone is greater than a threshold distance.

20. At least one non-transitory storage medium that stores instructions which, when executed by at least one processor, cause the at least one processor to: Receive position information associated with the position of a vehicle; Hierarchically and based on the position information, determine whether to activate the turn signal of the vehicle before activating the turn signal based on the vehicle turning at a roadway intersection; When it is determined to activate the turn signal and at least based on the position information, determine the time to activate the turn signal before the vehicle turns at the roadway intersection; And Transmit a control signal to activate the turn signal at the determined time.