Method for a vehicle, vehicle and storage medium

By generating a lookup table of lateral widths associated with lanes and lane connections, the problem of inflexible vehicle operation when turning is solved, achieving greater operational flexibility and safety, especially when dealing with short and long longitudinal movements.

CN114623840BActive Publication Date: 2026-02-10MOTIONAL AD LLC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202110381132.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-12-10
Filing Date
2021-04-09
Publication Date
2026-02-10
Estimated Expiration
2041-04-09

AI Technical Summary

Technical Problem

Existing technologies struggle to effectively handle lane changes by autonomous vehicles when turning, especially short lateral movements over short longitudinal distances and long lateral movements over long longitudinal distances, leading to inflexible operation and reduced safety.

Method used

By generating a lookup table of lateral widths associated with lanes and lane connections in a geographic area, spatial constraints of lanes or lane connections are determined using planning circuits, a trajectory is generated and executed by control circuits, enabling precise movement of the vehicle.

Benefits of technology

It improves the operational flexibility and safety of vehicles when changing lanes, enabling them to better avoid obstacles and comply with traffic rules, thus enhancing the reliability and safety of autonomous driving.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114623840B_ABST
    Figure CN114623840B_ABST
Patent Text Reader

Abstract

The invention relates to a method for a vehicle, a vehicle and a storage medium. The method comprises: obtaining a lateral width lookup table associated with a map of a geographical area, the map comprising information for identifying lanes and lane connections in the geographical area along which a vehicle is able to travel, the lookup table comprising lateral widths associated with the lanes and the lane connections; determining a list of at least one lane or lane connection in at least one path of the vehicle; querying the lookup table to obtain at least one lateral width corresponding to the at least one lane or lane connection; generating a spatial constraint for the at least one lane or lane connection based on the at least one lateral width; generating a trajectory based on the list and the spatial constraint; and causing the vehicle to move along a selected trajectory of the trajectory.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This manual covers planning and control. Background Technology

[0002] A road connecting one location (e.g., an initial point) and another location (e.g., a destination) within a geographic area may include one or more turns. A road may also include multiple lanes. Autonomous vehicles driving on a road may need to change lanes, for example, while turning. Lane changes may be abrupt, e.g., involving a short lateral movement over a short longitudinal distance, or they may be gradual, e.g., involving a long lateral movement over a long longitudinal distance. Summary of the Invention

[0003] The present invention relates to a method for a vehicle, the method comprising: obtaining, via planning circuitry of the vehicle, a lookup table of lateral widths associated with a map of a geographic region, the map including information identifying lanes and lane connections in the geographic region that the vehicle can travel on, the lookup table including lateral widths associated with the lanes and lane connections; determining, via planning circuitry and based on the map, a list of at least one lane or at least one lane connection in at least one path of the vehicle; querying the lookup table via planning circuitry to obtain at least one lateral width corresponding to the at least one lane or the at least one lane connection; generating, via planning circuitry, spatial constraints for the at least one lane or the at least one lane connection based on the at least one lateral width; generating a trajectory via planning circuitry and based on the map, based on the list and the spatial constraints; and causing the vehicle to move along a selected trajectory in the trajectory via control circuitry of the vehicle.

[0004] The present invention relates to a vehicle comprising: a memory including a lateral width lookup table associated with a map of a geographic region, the map including information identifying lanes and lane connectors in the geographic region that the vehicle can travel on, the lookup table including lateral widths associated with the lanes and lane connectors; planning circuitry communicatively coupled to the memory; and control circuitry communicatively coupled to the planning circuitry, wherein the planning circuitry is configured to operate including: determining a list of at least one lane or at least one lane connector in at least one path of the vehicle; querying the lookup table to obtain at least one lateral width corresponding to the at least one lane or at least one lane connector; generating spatial constraints for the at least one lane or at least one lane connector based on the at least one lateral width; and generating a trajectory based on the list and the spatial constraints, wherein the control circuitry is configured to cause the vehicle to move along a selected trajectory in the trajectory.

[0005] The present invention relates to a non-transitory computer-readable storage medium comprising at least one program executable by at least one processor of a device, the at least one program comprising instructions that, when executed by the at least one processor, cause the device to operate, the operation comprising: obtaining a lateral width lookup table associated with a map of a geographic region, the map including information identifying lanes and lane connectors in the geographic region that a vehicle can travel on, the lookup table including lateral widths associated with the lanes and lane connectors; determining a list of at least one lane or at least one lane connector in at least one path of the vehicle; querying the lookup table to obtain at least one lateral width corresponding to the at least one lane or the at least one lane connector; generating spatial constraints for the at least one lane or the at least one lane connector based on the at least one lateral width; generating a trajectory based on the list and the spatial constraints; and causing the vehicle to move along a selected trajectory in the trajectory. Attached Figure Description

[0006] Figure 1 An example of an autonomous vehicle (AV) with autonomous capabilities is shown.

[0007] Figure 2 An example "cloud" computing environment is shown.

[0008] Figure 3 The computer system is shown.

[0009] Figure 4 An example architecture for AV is shown.

[0010] Figure 5Examples of inputs and outputs that can be used by the perception module are shown.

[0011] Figure 6 A block diagram showing the relationship between the inputs and outputs of the planning module.

[0012] Figure 7 This shows a directed graph used in path planning.

[0013] Figure 8 A block diagram showing the inputs and outputs of the control module is provided.

[0014] Figure 9 A block diagram showing the controller's inputs, outputs, and components is provided.

[0015] Figure 10A An example diagram of a lane is shown.

[0016] Figure 10B The diagram shows an example of a road segment containing two lanes.

[0017] Figure 11 A diagram showing an example of a lane connector that connects two lanes and its associated lateral width.

[0018] Figure 12 A diagram showing an example of a lane connection associated with an intersection.

[0019] Figure 13 A diagram showing an example of a path graph.

[0020] Figure 14 A flowchart illustrating an example of using a horizontal width lookup table for vehicle planning and control processes.

[0021] Figure 15A and 15B Different polygons are shown as examples of constraints representing vehicles.

[0022] Figure 16A and 16B Different polygons are shown as examples of constraints on a vehicle when dealing with obstacles such as pedestrians. Detailed Implementation

[0023] In the following description, numerous specific details are set forth for purposes of explanation in order to provide a thorough understanding of the invention. However, it will be apparent that the invention may be practiced without these specific details. In other instances, well-known constructions and apparatuses are shown in block diagram form to avoid unnecessarily obscuring the invention.

[0024] In the accompanying drawings, for ease of description, a specific arrangement or order of schematic elements (such as those representing devices, modules, instruction blocks, and data elements) is shown. However, those skilled in the art will understand that the specific order or arrangement of the schematic elements in the drawings is not intended to imply a requirement for a particular processing order or sequence, or a separation of processing procedures. Furthermore, the inclusion of schematic elements in the drawings is not intended to imply that such elements are required in all embodiments, nor is it intended to imply that features represented by such elements cannot be included in some embodiments or cannot be combined with other elements in some embodiments.

[0025] Furthermore, in the accompanying drawings, connecting elements, such as solid or dashed lines or arrows, are used to illustrate connections, relationships, or associations between two or more other schematic elements. The absence of any such connecting element does not imply that connections, relationships, or associations cannot exist. In other words, some connections, relationships, or associations between elements are not shown in the drawings so as not to obscure the scope of the invention. Additionally, for ease of illustration, a single connecting element is used to represent multiple connections, relationships, or associations between elements. For example, if a connecting element represents communication of signals, data, or instructions, those skilled in the art will understand that such an element represents one or more signal paths (e.g., a bus) that may be necessary to influence the communication.

[0026] Reference will now be made in detail to embodiments, examples of which are illustrated in the accompanying drawings. Numerous specific details are set forth in the following detailed description in order to provide a thorough understanding of the various embodiments described. However, it will be apparent to those skilled in the art that the various embodiments described can 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.

[0027] The features described below can each be used independently of each other or in any combination with other features. However, any individual feature may not solve any of the problems discussed above, or may only solve one of the problems discussed above. Some of the problems discussed above may not be adequately solved by any of the features described herein. Although headings are provided, information relating to specific headings but not found in the sections bearing those headings can be found elsewhere in this specification. Embodiments are described herein based on the following summary:

[0028] 1. General Overview

[0029] 2. System Overview

[0030] 3. AV Architecture

[0031] 4. AV Input

[0032] 5. AV Planning

[0033] 6. AV Control

[0034] 7. Horizontal width lookup table for AV planning and control

[0035] General Overview

[0036] This invention provides techniques and systems for using specialized lookup tables(s) that provide lateral widths for lanes and lane connectors. Spatial constraints can be determined based on these lateral widths. Spatial constraints for lanes and connectors can be used to provide information about how much lateral distance the vehicle has to operate within its planning decisions. To create these constraints, the vehicle's planning circuitry queries the lookup table to determine how far a lane or lane connector is from a change in the vehicle's path. The vehicle's trajectory is determined based on the spatial constraints. A larger lateral width for a lane or lane connector provides more possible trajectories for the vehicle to move within the lane or lane connector.

[0037] These technologies and systems offer greater flexibility in planning and controlling the movement of vehicles. For example, they can provide greater flexibility in the lateral constraints associated with lanes and connections used to determine one or more potential paths a vehicle may follow. They enable more precise determination of the lateral distances available for maneuvering by the vehicle. They provide more options for handling pedestrians, potholes, and other obstacles. For instance, if a pedestrian on the road ahead of the vehicle is about to violate the minimum safe crossing distance, rather than stopping or violating the minimum safe crossing distance, the vehicle can use greater flexibility to safely maneuver away from the pedestrian while continuing towards its destination.

[0038] System Overview

[0039] Figure 1 An example of an AV 100 with autonomous capabilities is shown.

[0040] As used herein, the term “autonomy” refers to a function, feature, or facility that enables a vehicle to operate partially or fully without real-time human intervention, including but not limited to full AV, high AV, and conditional AV.

[0041] As used in this article, an autonomous vehicle (AV) is a vehicle with autonomous capabilities.

[0042] As used in this article, "vehicle" includes any mode of transport for goods or people. Examples include cars, buses, trains, airplanes, drones, trucks, ships, vessels, submersibles, and spacecraft. Driverless cars are an example of vehicles.

[0043] As used herein, a “track” refers to a path or route that navigates an AV from a first spatiotemporal location to a second spatiotemporal location. In embodiments, the first spatiotemporal location is referred to as the initial location or starting point, and the second spatiotemporal location is referred to as the destination, final location, target, target location, or target position. In some examples, a track consists of one or more segments (e.g., segments of a road), and each segment consists of one or more blocks (e.g., a lane or part of an intersection). In embodiments, spatiotemporal locations correspond to real-world locations. For example, a spatiotemporal location is a pick-up or drop-off point for people or goods to board or alight.

[0044] As used herein, “(one or more) sensors” includes one or more hardware components for detecting information relating to the environment surrounding the sensor. Some hardware components may include sensing components (e.g., image sensors, biometric sensors), transmission and / or receiving components (e.g., laser or radio frequency wave transmitters and receivers), electronic components (such as analog-to-digital converters), data storage devices (such as RAM and / or non-volatile memory), software or firmware components, and data processing components (such as application-specific integrated circuits), microprocessors, and / or microcontrollers.

[0045] As used herein, a “scene description” is a data structure (e.g., a list) or data stream that includes one or more classified or tagged objects detected by one or more sensors on an AV vehicle, or one or more classified or tagged objects provided by a source outside the AV.

[0046] As used in this article, a "road" is a physical area that can be traversed by vehicles and can correspond to a named passageway (e.g., city streets, interstate highways, etc.) or an unnamed passageway (e.g., driveway within a house or office building, a section of a parking lot, a section of an vacant parking lot, a waste disposal area in a rural area, etc.). Because some vehicles (e.g., four-wheel drive pickup trucks, SUVs, etc.) can traverse a variety of physical areas that are not particularly suitable for vehicle travel, a "road" can be any physical area that is not formally defined as a passageway by any municipality or other government or administrative agency.

[0047] As used herein, a "lane" is the portion of a road that can be traversed by vehicles. Sometimes lanes are identified based on lane markings. For example, a lane may correspond to most or all of the space between lane markings, or only a portion of the space between lane markings (e.g., less than 50%). For instance, a road with widely spaced lane markings may accommodate two or more vehicles, allowing one vehicle to overtake another without crossing the lane markings; therefore, this could be interpreted as a lane being narrower than the space between lane markings, or as having two lanes. Lanes can also be interpreted in the absence of lane markings. For example, a lane may be defined based on physical features of the environment (e.g., rocks and trees along a main road in a rural area, or natural obstacles that should be avoided, for example, in underdeveloped areas). Lanes can also be interpreted independently of lane markings or physical features. For example, a lane may be interpreted based on any unobstructed path in an area that would otherwise lack features that would be interpreted as lane boundaries. In the example scenario, an AV could interpret a lane as a lane traversing an unobstructed portion of a field or open space. In another example scenario, an AV can interpret lanes that pass through a wide road (e.g., wide enough for two or more lanes) without lane markings. In this scenario, an AV can communicate lane-related information to other AVs, allowing them to coordinate route planning using the same lane information.

[0048] The term “over-the-air (OTA) client” includes any AV, or any electronic device embedded in, coupled to, or communicating with an AV (e.g., computer, controller, IoT device, electronic control unit (ECU)).

[0049] The term "over-the-air (OTA) update" means any update, alteration, deletion, or addition to software, firmware, data, or configuration settings, or any combination thereof, delivered to an OTA client using proprietary and / or standardized wireless communication technologies, including but not limited to: cellular mobile communications (e.g., 2G, 3G, 4G, 5G), radio local area networks (e.g., WiFi), and / or satellite internet.

[0050] The term "edge node" refers to one or more edge devices coupled to a network that provide a portal for communicating with AV and can communicate with other edge nodes and cloud-based computing platforms to schedule OTA updates and deliver OTA updates to OTA clients.

[0051] The term "edge device" refers to a device that implements an edge node and provides a physical wireless access point (AP) to the core network of an enterprise or service provider (such as Verizon or AT&T). Examples of edge devices include, but are not limited to: computers, controllers, transmitters, routers, routing switches, integrated access devices (IADs), multiplexers, metropolitan area network (MAN) and wide area network (WAN) access devices.

[0052] "One or more" includes functions performed by a single element, functions performed by multiple elements, such as in a distributed manner, several functions performed by a single element, several functions performed by several elements, or any combination of the foregoing.

[0053] It will also be understood that, although in some cases the terms “first,” “second,” etc., are used herein to describe various elements, these elements should not be limited by these terms. These terms are used only to distinguish one element from another. For example, without departing from the scope of the various 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.

[0054] The terminology used in the description of the various embodiments described herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used in the description of the various embodiments described and the appended claims, the singular forms “a,” “an,” and “the” are also intended to include the plural forms unless the context clearly indicates otherwise. It will also be understood that “and / or” as used herein refers to and includes any and all possible combinations of one or more of the relevant list items. It will also be understood that when the terms “comprising,” “including,” “possessing,” and / or “having” are used in this specification, they specifically indicate the presence of the stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0055] As used herein, depending on the context, the term "if" may optionally be understood as meaning "when" or "at that time" or "in response to being determined" or "in response to being detected." Similarly, depending on the context, the phrase "if determined" or "if [the stated condition or event] has been detected" may optionally be understood as meaning "when determined" or "in response to being determined" or "when [the stated condition or event] is detected" or "in response to being detected."

[0056] As used herein, an AV system refers to an AV and an array of hardware, software, stored data, and real-time generated data that support AV operation. In embodiments, the AV system is incorporated within an AV. In embodiments, the AV system is distributed across several locations. For example, some of the software of the AV system is similar to that described below. Figure 2 The cloud computing environment described is implemented in the cloud computing environment of 200.

[0057] Generally, this document describes technologies applicable to any vehicle with one or more autonomous capabilities, including fully autonomous, highly autonomous, and conditionally autonomous vehicles, such as so-called Level 5, Level 4, and Level 3 vehicles, respectively (see SAE International Standard J3016: Classification and Definition of Terms Related to Automated Driving Systems for Motor Vehicles on Roads, the entire contents of which are incorporated herein by reference for further details on vehicle autonomy levels). The technologies described in this document are also applicable to partially autonomous vehicles and driver-assisted vehicles, such as so-called Level 2 and Level 1 vehicles (see SAE International Standard J3016: Classification and Definition of Terms Related to Automated Driving Systems for Motor Vehicles on Roads). In embodiments, one or more Level 1, Level 2, Level 3, Level 4, and Level 5 vehicle systems may automatically perform certain vehicle operations (e.g., steering, braking, and map usage) under certain operating conditions based on the processing of sensor inputs. The technologies described in this document can benefit vehicles of any level, ranging from fully autonomous to human-operated vehicles.

[0058] AVs have advantages over vehicles that require human drivers. One advantage is safety. From 1965 to 2015, the number of traffic fatalities per 100 million miles driven in the United States decreased, partly due to additional safety features deployed in vehicles. For example, an extra half-second of warning, presumably related to an impending collision, mitigated many front and rear collisions. However, passive safety features (e.g., seat belts, airbags) may have reached their limits in improving this. Therefore, active safety measures, such as automated vehicle control, are a possible next step in improving these statistics. Since human drivers are considered the cause of serious pre-collision events in most collisions, automated driving systems could potentially achieve better safety outcomes by: more reliably identifying and avoiding emergencies than humans; making better decisions, obeying traffic laws better, and predicting future events better than humans; and controlling the vehicle more reliably than humans. Figure 1The AV system 120 enables the vehicle 100 to operate along a trajectory 198, traversing the environment 190 to the destination 199 (sometimes referred to as the final location), while avoiding objects (e.g., natural obstacles 191, vehicles 193, pedestrians 192, cyclists and other obstacles) and complying with road rules (e.g., operating rules or driving preferences).

[0059] In an embodiment, the AV system 120 includes means 101 equipped to receive and operate operating commands from and on a computer processor 146. We use the term "operating command" to refer to executable instructions (or sets of instructions) that cause the vehicle to perform actions (e.g., driving maneuvers). Operating commands may include, but are not limited to, instructions for the vehicle to begin moving forward, stop moving forward, begin moving backward, stop moving backward, accelerate, decelerate, make a left turn, and make a right turn. In an embodiment, the computer processor 146 is referenced below. Figure 3 The processor 304 described is similar. Examples of the device 101 include a steering controller 102, a brake 103, a gear, an accelerator pedal or other acceleration control mechanism, a windshield wiper, a side door lock, a window controller, and a turn indicator.

[0060] In an embodiment, the AV system 120 includes sensors 121 for measuring or inferring attributes of the state or condition of the vehicle 100, such as the AV's position, linear velocity and angular velocity, linear acceleration and angular acceleration, and heading (e.g., the direction of the front end of the vehicle 100). Examples of sensors 121 are GPS, inertial measurement units (IMUs) that measure both linear acceleration and angular rate of the vehicle, wheel rate sensors for measuring or estimating wheel slip ratio, wheel braking pressure or braking torque sensors, engine torque or wheel torque sensors, and steering angle and angular rate sensors.

[0061] In an embodiment, sensor 121 also includes sensors for sensing or measuring properties of the AV's environment. Examples include a monocular or stereo camera 122 with visible, infrared, or thermal (or both) spectra, a LiDAR 123, a RADAR, an ultrasonic sensor, a time-of-flight (TOF) depth sensor, a rate sensor, a temperature sensor, a humidity sensor, and a precipitation sensor.

[0062] In one embodiment, the AV system 120 includes a data storage unit 142 and a memory 144 for storing machine instructions associated with a computer processor 146 or data collected by the sensor 121. In another embodiment, the data storage unit 142 is associated with the following... Figure 3The described ROM 308 or storage device 310 is similar. In this embodiment, memory 144 is similar to main memory 306 described below. In this embodiment, data storage unit 142 and memory 144 store historical, real-time, and / or predictive information about environment 190. In this embodiment, the stored information includes maps, driving performance, traffic congestion updates, or weather conditions. In this embodiment, data related to environment 190 is transmitted from remote database 134 to vehicle 100 via a communication channel.

[0063] In an embodiment, the AV system 120 includes communication devices 140 for transmitting measured or inferred attributes of the state and conditions of other vehicles (such as position, linear velocity and angular velocity, linear acceleration and angular acceleration, and linear heading and angular heading) to vehicle 100. These devices include vehicle-to-vehicle (V2V) and vehicle-to-infrastructure (V2I) communication devices, as well as devices for wireless communication via point-to-point or ad hoc networks, or both. In an embodiment, communication device 140 communicates across the electromagnetic spectrum (including radio and optical communications) or other media (e.g., air and acoustic media). Combinations of vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I) communication (and in some embodiments, one or more other types of communication) are sometimes referred to as vehicle-to-all-things (V2X) communication. V2X communication typically conforms to one or more communication standards for communication with and between AVs.

[0064] In an embodiment, the communication device 140 includes a communication interface. For example, this may be a wired, wireless, WiMAX, Wi-Fi, Bluetooth, satellite, cellular, optical, near-field, infrared, or radio interface. The communication interface transmits data from a remote database 134 to the AV system 120. In an embodiment, the remote database 134 is embedded in, for example... Figure 2 In the cloud computing environment 200 described herein, communication device 140 transmits data collected from sensor 121 or other data related to the operation of vehicle 100 to remote database 134. In some embodiments, communication device 140 transmits information related to teleoperation to vehicle 100. In some embodiments, vehicle 100 communicates with other remote (e.g., "cloud") servers 136.

[0065] In this embodiment, the remote database 134 also stores and transmits digital data (e.g., data such as road and street locations). This data is stored in memory 144 on the vehicle 100 or transmitted from the remote database 134 to the vehicle 100 via a communication channel.

[0066] In one embodiment, the remote database 134 stores and transmits historical information (e.g., rate and acceleration distribution) related to driving attributes of vehicles that previously traveled along trajectory 198 at similar times of day. In one implementation, such data may be stored in memory 144 on vehicle 100 or transmitted from the remote database 134 to vehicle 100 via a communication channel.

[0067] The computer processor 146 located on the vehicle 100 generates control actions in an algorithmic manner based on both real-time sensor data and prior information, allowing the AV system 120 to perform its autonomous driving capabilities.

[0068] In one embodiment, the AV system 120 includes a computer peripheral device 132 coupled to a computer processor 146 for providing information and alerts to a user of the vehicle 100 (e.g., a passenger or a remote user) and receiving input from that user. In another embodiment, the peripheral device 132 is similar to the one described in the following reference. Figure 3 The discussed display 312, input device 314, and cursor controller 316 are coupled wirelessly or wiredly. Any two or more interface devices can be integrated into a single device.

[0069] In an embodiment, AV system 120 receives and enforces a privacy level for an occupant, such as one specified by the occupant or stored in a profile associated with the occupant. The occupant's privacy level determines how access is permitted to specific information associated with the occupant, stored in the occupant profile and / or stored on cloud server 136 and associated with the occupant profile (e.g., occupant comfort data, biometric data, etc.). In an embodiment, the privacy level specifies specific information associated with the occupant that is deleted once the ride is complete. In an embodiment, the privacy level specifies specific information associated with the occupant and identifies one or more entities authorized to access that information. Examples of entities authorized to access the information may include other AVs, third-party AV systems, or any entity that could potentially access the information. An occupant's privacy level can be specified at one or more granular levels. In an embodiment, the privacy level identifies specific information to be stored or shared. In an embodiment, the privacy level applies to all information associated with the occupant, allowing the occupant to specify that their personal information is not stored or shared. The designation of entities authorized to access specific information can also be specified at various granular levels. The set of entities authorized to access specific information may include, for example, other AVs, cloud server 136, specific third-party AV systems, etc.

[0070] In an embodiment, AV system 120 or cloud server 136 determines whether AV 100 or another entity can access certain information associated with an occupant. For example, a third-party AV system attempting to access occupant input related to a specific time and place must, for example, obtain authorization from AV system 120 or cloud server 136 to access occupant-related information. For example, AV system 120 uses a specified privacy level for the occupant to determine whether location- and time-related occupant input can be presented to a third-party AV system, AV 100, or another AV. This allows the occupant's privacy level to specify which other entities are allowed to receive data related to the occupant's actions or other data associated with the occupant.

[0071] Figure 2 This illustrates an example "cloud" computing environment. Cloud computing is a service delivery model that enables convenient, on-demand access over a network to a shared pool of configurable computing resources, such as networks, network bandwidth, servers, processing power, memory, storage, applications, virtual machines, and services. In a typical cloud computing system, one or more large cloud data centers house the machines used to deliver the services provided by the cloud. Now refer to... Figure 2 The cloud computing environment 200 includes cloud data centers 204a, 204b, and 204c interconnected via cloud 202. Data centers 204a, 204b, and 204c provide cloud computing services to computer systems 206a, 206b, 206c, 206d, 206e, and 206f connected to cloud 202.

[0072] A cloud computing environment 200 includes one or more cloud data centers. Generally, a cloud data center (e.g.) Figure 2 The cloud data center 204a shown refers to the cloud (e.g., Figure 2 The physical arrangement of servers in cloud 202 (or a specific portion of the cloud) is illustrated. For example, servers are physically arranged in rooms, groups, rows, and racks within a cloud data center. A cloud data center has one or more regions, each containing one or more server rooms. Each room has one or more rows of servers, and each row includes one or more racks. Each rack includes one or more individual server nodes. In some implementations, servers in regions, rooms, racks, and / or rows are arranged into groups based on the physical infrastructure requirements of the data center facility, including power, energy, heat, heat sources, and / or other requirements. In this embodiment, server nodes are similar to... Figure 3 The computer system described herein. Data center 204a has many computing systems distributed across multiple racks.

[0073] Cloud 202 includes cloud data centers 204a, 204b, and 204c, and networks and network resources (e.g., network devices, nodes, routers, switches, and network cables) for connecting cloud data centers 204a, 204b, and 204c and facilitating access to cloud computing services by computing systems 206a-f. In embodiments, the network represents one or more local area networks, wide area networks, or any combination of wired or wireless networks coupled using terrestrial or satellite connections. Data exchanged over the network is transmitted using various network layer protocols, such as Internet Protocol (IP), Multiprotocol Label Switching (MPLS), Asynchronous Transfer Mode (ATM), Frame Relay, etc. Furthermore, in embodiments where the network represents a combination of multiple subnetworks, different network layer protocols are used on each underlying subnetwork. In some embodiments, the network represents one or more interconnected internetworks (such as the public Internet).

[0074] Computing systems 206a-f or cloud computing service consumers connect to the cloud 202 via network links and network adapters. In embodiments, computing systems 206a-f are implemented as various computing devices, such as servers, desktops, laptops, tablets, smartphones, Internet of Things (IoT) devices, AVs (including cars, drones, space shuttles, trains, buses, etc.), and consumer electronics. In embodiments, computing systems 206a-f are implemented in other systems or as part of other systems.

[0075] Figure 3 A computer system 300 is illustrated. In an implementation, the computer system 300 is a dedicated computing device. The dedicated computing device is hardwired to perform these technologies, or includes a digital electronic device such as one or more application-specific integrated circuits (ASICs) or field-programmable gate arrays (FPGAs) that is persistently programmed to perform the aforementioned technologies, or may include one or more general-purpose hardware processors programmed to perform these technologies according to program instructions in firmware, memory, other memory, or a combination thereof. Such a dedicated computing device may also combine custom hardwired logic, ASICs, or FPGAs with custom programming to accomplish these technologies. In various embodiments, the dedicated computing device is a desktop computer system, a portable computer system, a handheld device, a network device, or any other device that includes hardwired and / or program logic to implement these technologies.

[0076] In one embodiment, the computer system 300 includes a bus 302 or other communication mechanism for conveying information, and a processor 304 coupled to the bus 302 to process information. The processor 304 is, for example, a general-purpose microprocessor. The computer system 300 also includes a main memory 306, such as random access memory (RAM) or other dynamic storage device, coupled to the bus 302 to store information and instructions executed by the processor 304. In one implementation, the main memory 306 is used to store temporary variables or other intermediate information during the execution of instructions to be executed by the processor 304. When these instructions are stored in a non-transitory storage medium accessible to the processor 304, the computer system 300 becomes a dedicated machine customized to perform the operations specified in the instructions.

[0077] In an embodiment, the computer system 300 further includes a read-only memory (ROM) 308 or other static storage device coupled to the bus 302 for storing static information and instructions of the processor 304. A storage device 310, such as a disk, optical disk, solid-state drive, or three-dimensional cross-point memory, is provided and coupled to the bus 302 to store information and instructions.

[0078] In this embodiment, the computer system 300 is coupled via a bus 302 to a display 312, such as a cathode ray tube (CRT), liquid crystal display (LCD), plasma display, light-emitting diode (LED) display, or an organic light-emitting diode (OLED) display for displaying information to a computer user. An input device 314, including alphanumeric keys and other keys, is coupled to the bus 302 for transmitting information and command selections to the processor 304. Another type of user input device is a cursor controller 316, such as a mouse, trackball, touchscreen, or cursor arrow keys, for transmitting directional information and command selections to the processor 304 and for controlling the movement of the cursor on the display 312. Such input devices typically have two degrees of freedom on two axes (a first axis (e.g., the x-axis) and a second axis (e.g., the y-axis)), which allow the device to specify a position in a plane.

[0079] According to one embodiment, the techniques described herein are executed by computer system 300 in response to processor 304 executing one or more sequences of one or more instructions contained in main memory 306. These instructions are read into main memory 306 from another storage medium, such as storage device 310. Executing the sequence of instructions contained in main memory 306 causes processor 304 to perform the process steps described herein. In alternative embodiments, hardwired circuitry is used instead of or in combination with software instructions.

[0080] As used herein, the term "storage medium" refers to any non-transitory medium that stores data and / or instructions that enable a machine to operate in a particular manner. Such storage media include non-volatile media and / or volatile media. Non-volatile media include, for example, optical discs, magnetic disks, solid-state drives, or three-dimensional cross-point memory such as storage device 310. Volatile media include dynamic memory, such as main memory 306. Common forms of storage media include, for example, floppy disks, floppy disks, hard disks, solid-state drives, magnetic tape or any other magnetic data storage media, CD-ROMs, any other optical data storage media, any physical media with perforations, RAM, PROMs and EPROMs, FLASH-EPROMs, NV-RAMs, or any other memory chips or memory cartridges.

[0081] Storage media differ from transmission media, but can be used in conjunction with them. Transmission media participate in the information transmission between storage media. For example, transmission media include coaxial cables, copper wires, and optical fibers, which include wires with a bus 302. Transmission media can also take the form of sound waves or light waves, such as those generated during radio wave and infrared data communication.

[0082] In embodiments, various forms of media involve carrying one or more sequences of one or more instructions to processor 304 for execution. For example, these instructions may initially be executed on a disk or solid-state drive of a remote computer. The remote computer loads the instructions into its dynamic memory and transmits them over a telephone line using a modem. A local modem of computer system 300 receives data over the telephone line and converts the data into an infrared signal using an infrared transmitter. An infrared detector receives the data carried in the infrared signal, and appropriate circuitry places the data on bus 302. Bus 302 carries the data to main memory 306, from which processor 304 retrieves and executes the instructions. The instructions received by main memory 306 may optionally be stored on storage device 310 before or after execution by processor 304.

[0083] Computer system 300 also includes a communication interface 318 coupled to bus 302. Communication interface 318 provides bidirectional data communication coupled to network link 320 connected to local network 322. For example, communication interface 318 is an Integrated Services Digital Network (ISDN) card, a cable modem, a satellite modem, or a modem used to provide data communication connectivity with a corresponding type of telephone line. As another example, communication interface 318 is a Local Area Network (LAN) card used to provide data communication connectivity with a compatible LAN. In some implementations, a wireless link is also implemented. In any such implementation, communication interface 318 transmits and receives electrical, electromagnetic, or optical signals carrying digital data streams representing various types of information.

[0084] Network link 320 typically provides data communication to other data devices via one or more networks. For example, network link 320 provides connectivity to host computer 324 or to a cloud data center or device operated by Internet Service Provider (ISP) 326 via local network 322. ISP 326, in turn, provides data communication services via a worldwide packet data communication network now commonly referred to as the "Internet" 328. Both local network 322 and Internet 328 use electrical, electromagnetic, or optical signals that carry digital data streams. Signals through various networks and signals on network link 320 via communication interface 318 are example forms of transmission media carrying digital data entering and leaving computer system 300. In embodiments, network 320 includes the aforementioned cloud 202 or a portion of cloud 202.

[0085] Computer system 300 sends messages and receives data including program code through one or more networks, network links 320, and communication interfaces 318. In an embodiment, computer system 300 receives code for processing. The received code is executed by processor 304 upon receipt and / or stored in storage device 310, or in other non-volatile storage devices for later execution.

[0086] AV architecture

[0087] Figure 4 Showing for AV (e.g., Figure 1 The example architecture 400 of the vehicle 100 shown is illustrated. Architecture 400 includes a sensing module 402 (sometimes called a sensing circuit), a planning module 404 (sometimes called a planning circuit), a control module 406 (sometimes called a control circuit), a positioning module 408 (sometimes called a positioning circuit), and a database module 410 (sometimes called a database circuit). Each module plays a role in the operation of the vehicle 100. Commonly, modules 402, 404, 406, 408, and 410 can be... Figure 1 This is part of the AV system 120 shown. In some embodiments, any of modules 402, 404, 406, 408, and 410 is a combination of computer software (e.g., executable code stored on a computer-readable medium) and computer hardware (e.g., one or more microprocessors, microcontrollers, application-specific integrated circuits (ASICs), hardware memory devices, other types of integrated circuits, other types of computer hardware, or any or all combinations of these hardware). Modules 402, 404, 406, 408, and 410 are each sometimes referred to as processing circuitry (e.g., computer hardware, computer software, or a combination of both). Combinations of any or all of modules 402, 404, 406, 408, and 410 are also examples of processing circuitry.

[0088] In use, the planning module 404 receives data representing the destination 412 and determines data representing the trajectory 414 (sometimes called a route) that the vehicle 100 can travel to reach (e.g., arrive at) the destination 412. In order for the planning module 404 to determine the data representing the trajectory 414, the planning module 404 receives data from the sensing module 402, the positioning module 408, and the database module 410.

[0089] The sensing module 402 is used, for example, as follows Figure 1 One or more sensors 121 are shown to identify nearby physical objects. Objects are categorized (e.g., grouped into types such as pedestrians, bicycles, cars, traffic signs, etc.), and a scene description including the categorized objects 416 is provided to the planning module 404. The planning module 404 also receives data representing the location AV 418 from the positioning module 408. The positioning module 408 determines the location of the AV by calculating the location using data from the sensors 121 and data from the database module 410 (e.g., geographic data). For example, the positioning module 408 uses data from GNSS (Global Navigation Satellite System) sensors and geographic data to calculate the longitude and latitude of the AV. In embodiments, the data used by the positioning module 408 includes high-precision maps with lane geometry properties, maps describing road network connectivity properties, maps describing lane physical properties (such as traffic speed, traffic volume, number of vehicle and bicycle lanes, lane width, lane traffic direction, or lane marking type and location, or combinations thereof), and maps describing the spatial locations of road features (such as intersections, traffic signs, or various types of other traffic signals). In one embodiment, a high-precision map is constructed by adding data to a low-precision map automatically or manually.

[0090] The control module 406 receives data representing trajectory 414 and data representing AV position 418, and operates the AV control functions 420a-420c (e.g., steering, throttle, braking, ignition) in a manner that will cause the vehicle 100 to travel along trajectory 414 to reach destination 412. For example, if trajectory 414 includes a left turn, the control module 406 will operate the control functions 420a-420c in such a way that the steering angle of the steering function will cause the vehicle 100 to turn left, and the throttle and brake will cause the vehicle 100 to pause before turning and wait for passing pedestrians or vehicles.

[0091] AV input

[0092] Figure 5 The sensing module 402 is shown. Figure 4 The inputs used are 502a-502d (e.g., Figure 1Examples of sensor 121 and outputs 504a-504d (e.g., sensor data) are shown. One input 502a is a LiDAR (light detection and ranging) system (e.g., Figure 1 The LiDAR system shown is 123. LiDAR is a technique that uses light (e.g., a beam of light such as infrared light) to obtain data related to physical objects in its line of sight. The LiDAR system produces LiDAR data as output 504a. For example, LiDAR data is a collection of 3D or 2D points (also called point clouds) used to construct a representation of environment 190.

[0093] Another input 502b is a RADAR (radar) system. RADAR is a technology that uses radio waves to obtain data related to nearby physical objects. RADAR can obtain data related to objects that are not within the line of sight of a LiDAR system. The RADAR system generates RADAR data as output 504b. For example, RADAR data is one or more radio frequency electromagnetic signals used to construct a representation of environment 190.

[0094] Another input 502c is a camera system. The camera system uses one or more cameras (e.g., a digital camera using a light sensor such as a charge-coupled device [CCD]) to acquire information about nearby physical objects. The camera system produces camera data as output 504c. Camera data is typically in the form of image data (e.g., data in image data formats such as RAW, JPEG, PNG, etc.). In some examples, the camera system has multiple independent cameras, for example, for stereoscopic imaging (stereoscopic vision), which enables the camera system to perceive depth. Although the objects perceived by the camera system are described here as "nearby," this is relative to the AV (view of objects). In some embodiments, the camera system is configured to "see" distant objects (e.g., objects as far as 1 kilometer or more in front of the AV). Therefore, in some embodiments, the camera system has features such as sensors and lenses optimized for perceiving distant objects.

[0095] Another input 502d is a Traffic Light Detection (TLD) system. The TLD system uses one or more cameras to acquire information related to traffic lights, street signs, and other physical objects that provide visual navigation information. The TLD system produces TLD data as output 504d. TLD data is often in the form of image data (e.g., data in image data formats such as RAW, JPEG, PNG, etc.). The TLD system differs from systems that include cameras in that it uses cameras with a wide field of view (e.g., using a wide-angle lens or fisheye lens) to acquire information related to as many physical objects as possible that provide visual navigation information, enabling the vehicle 100 to access all relevant navigation information provided by these objects. For example, the TLD system has a field of view of approximately 120 degrees or greater.

[0096] In some embodiments, sensor fusion technology is used to combine outputs 504a-504d. Thus, individual outputs 504a-504d are provided to other systems of the vehicle 100 (e.g., to systems such as...). Figure 4 The planning module 404 shown may provide combined outputs to other systems in the form of single or multiple combined outputs of the same type (e.g., using the same combination technique or combining the same outputs or both) or single or multiple combined outputs of different types (e.g., using different individual combination techniques or combining different individual outputs or both). In some embodiments, early fusion techniques are used. Early fusion techniques are characterized by combining the outputs before applying one or more data processing steps to the combined outputs. In some embodiments, late fusion techniques are used. Late fusion techniques are characterized by combining the outputs after applying one or more data processing steps to the individual outputs.

[0097] Path planning

[0098] Figure 6 Show (for example, as) Figure 4 The diagram 600 illustrates the relationship between the inputs and outputs of the planning module 404. Generally, the output of the planning module 404 is a route 602 from a starting point 604 (e.g., a source location or initial location) to an ending point 606 (e.g., a destination or final location). Route 602 is typically defined by one or more road segments. For example, a road segment refers to the distance to be traveled over at least a portion of a street, road, highway, driveway, or other physical area suitable for vehicle travel. In some examples, such as if the vehicle 100 is an off-road capable vehicle such as a four-wheel drive (4WD) or all-wheel drive (AWD) car, SUV, or pickup truck, route 602 includes “off-road” segments such as unpaved paths or open fields.

[0099] In addition to route 602, the planning module also outputs lane-level route planning data 608. Lane-level route planning data 608 is used to navigate segments of route 602 at specific times based on conditions. For example, if route 602 comprises a multi-lane highway, lane-level route planning data 608 includes trajectory planning data 610, which vehicle 100 can use to select a lane from the multiple lanes based on factors such as whether an exit is nearby, whether other vehicles are present in one or more lanes, or other factors that change over a period of minutes or less. Similarly, in some implementations, lane-level route planning data 608 includes a speed constraint 612 specific to a segment of route 602. For example, if the segment includes pedestrians or unexpected traffic, speed constraint 612 can limit vehicle 100 to a slower speed than expected, such as a speed based on speed limit data for that segment.

[0100] In this embodiment, the input to the planning module 404 includes (e.g., from...) Figure 4 The database module 410 shown contains database data 614 and current location data 616 (for example, ...). Figure 4 The AV position shown is 418), (for example, for use with Figure 4 The destination data 618 and object data 620 shown for destination 412 (e.g., as shown) Figure 4 The perception module 402 shown perceives classified objects 416. In some embodiments, database data 614 includes rules used during planning. The rules are specified using a formal language (e.g., Boolean logic). In any given situation encountered by vehicle 100, at least some of these rules will apply to that situation. A rule applies to a given situation if it has conditions satisfied based on information available to vehicle 100 (e.g., information about the surrounding environment). Rules can have priorities. For example, a rule “move to the leftmost lane if the road is a highway” can have a lower priority than “move to the rightmost lane if the exit is within a mile.”

[0101] Figure 7 This is illustrated in path planning (e.g., by planning module 404). Figure 4 The directed graph used is 700. Generally speaking, such as... Figure 7 The directed graph 700 shown is used to determine any path between a starting point 702 and an ending point 704. In the real world, the distance separating the starting point 702 and the ending point 704 may be relatively large (e.g., in two different urban areas) or relatively small (e.g., two intersections adjacent to a city block or two lanes of a multi-lane road).

[0102] In an embodiment, the directed graph 700 has nodes 706a-706d representing different locations that the vehicle 100 may occupy between the starting point 702 and the ending point 704. In some examples, for instance, when the starting point 702 and the ending point 704 represent different urban areas, nodes 706a-706d represent road segments. In some examples, for instance, when the starting point 702 and the ending point 704 represent different locations on the same road, nodes 706a-706d represent different locations on that road. Thus, the directed graph 700 includes information at different levels of granularity. In an embodiment, the directed graph with high granularity is also a subgraph of another directed graph with a larger scale. For example, a directed graph where the starting point 702 and the ending point 704 are far apart (e.g., many miles apart) has most of its information at a low granularity, and this directed graph is based on stored data, but it also includes some high-granularity information for representing a portion of the physical location in the field of view of the vehicle 100.

[0103] Nodes 706a-706d are distinct from objects 708a-708b that cannot overlap with nodes. In an embodiment, at a low granularity, objects 708a-708b represent areas that vehicles cannot pass through, such as areas without streets or roads. At a high granularity, objects 708a-708b represent physical objects within the field of view of vehicle 100, such as other vehicles, pedestrians, or other entities with which vehicle 100 cannot share physical space. In an embodiment, some or all of objects 708a-708b are static objects (e.g., objects that do not change position, such as streetlights or utility poles) or dynamic objects (e.g., objects that can change position, such as pedestrians or other cars).

[0104] Nodes 706a-706d are connected by edges 710a-710c. If two nodes 706a-706b are connected by edge 710a, the vehicle 100 can travel between one node 706a and the other node 706b, for example, without having to travel to an intermediate node before reaching the other node 706b. (When it is mentioned that the vehicle 100 travels between nodes, it means that the vehicle 100 travels between two physical locations represented by the respective nodes.) Edges 710a-710c are typically bidirectional, meaning that the vehicle 100 can travel from a first node to a second node, or from a second node to a first node. In an embodiment, edges 710a-710c are unidirectional, meaning that the vehicle 100 can travel from a first node to a second node, but not from a second node to a first node. In cases where edges 710a-710c represent, for example, a one-way street, a single lane of a street, road, or highway, or other features that can only be traversed in one direction due to legal or physical constraints, edges 710a-710c are one-way.

[0105] In this embodiment, the planning module 404 uses a directed graph 700 to identify a path 712 consisting of nodes and edges between a start point 702 and an end point 704. Edges 710a-710c have associated costs 714a-714b. Costs 714a-714b are values ​​representing the resources that would be spent if the vehicle 100 selected that edge. A typical resource is time. For example, if the physical distance represented by one edge 710a is twice the physical distance represented by another edge 710b, then the associated cost 714a of the first edge 710a can be twice the associated cost 714b of the second edge 710b. Other factors affecting time include anticipated traffic, the number of intersections, speed limits, etc. Another typical resource is fuel economy. Two edges 710a-710b may represent the same physical distance, but one edge 710a may require more fuel than the other edge 710b, for example, due to road conditions, anticipated weather, etc. When the planning module 404 identifies the path 712 between the starting point 702 and the ending point 704, the planning module 404 typically selects the path that is optimized for cost, such as the path that has the minimum total cost when the individual costs of the edges are added together.

[0106] AV control

[0107] Figure 8 Show (for example, as) Figure 4The block diagram 800 shows the inputs and outputs of the control module 406. The control module operates according to a controller 802, which includes, for example,: one or more processors similar to processor 304 (e.g., one or more computer processors such as a microprocessor or microcontroller or both); short-term and / or long-term data storage devices similar to main memory 306, ROM 308, and storage device 310 (e.g., memory, random access memory, or flash memory or both); and instructions stored in the memory that, when executed (e.g., by one or more processors), perform the operation of controller 802. In an embodiment, control circuitry includes controller 802.

[0108] In one embodiment, controller 802 receives data representing a desired output 804. The desired output 804 typically includes speed, such as rate and heading. The desired output 804 may be based, for example, from (e.g., as...) Figure 4 The planning module 404 receives the data shown. Based on the desired output 804, the controller 802 generates data that can be used as throttle input 806 and steering input 808. Throttle input 806 indicates, for example, engaging the throttle of the vehicle 100 (e.g., acceleration control) to achieve the magnitude of the desired output 804 by engaging the steering pedal or another throttle control. In some examples, throttle input 806 also includes data that can be used to engage the brakes of the vehicle 100 (e.g., deceleration control). Steering input 808 indicates the steering angle, such as the steering control of the AV (e.g., steering wheel, steering angle actuator, or other function for controlling the steering angle), which should be positioned to achieve the desired output 804.

[0109] In one embodiment, controller 802 receives feedback used when adjusting inputs provided to throttle and steering. For example, if vehicle 100 encounters an obstacle 810, such as a hill, the measured rate 812 of vehicle 100 drops below the desired output rate. In another embodiment, any measured output 814 is provided to controller 802 so that necessary adjustments can be made, for example, based on the difference 813 between the measured rate and the desired output. The measured output 814 includes measured position 816, measured speed 818 (including rate and heading), measured acceleration 820, and other sensor-measurable outputs of vehicle 100.

[0110] In one embodiment, information related to interference 810 is detected in advance, for example, by a sensor such as a camera or LiDAR sensor, and this information is provided to the predictive feedback module 822. The predictive feedback module 822 then provides information that the controller 802 can use to make appropriate adjustments. For example, if the vehicle 100's sensors detect ("see") a hill, the controller 802 can use this information to prepare to engage the throttle at an appropriate time to avoid significant deceleration.

[0111] Figure 9 A block diagram 900 shows the inputs, outputs, and components of controller 802. Controller 802 has a rate analyzer 902 that influences the operation of throttle / brake controller 904. For example, the rate analyzer 902 instructs throttle / brake controller 904 to accelerate or decelerate using throttle / brake 906 based on feedback received, for example, from controller 802 and processed by the rate analyzer 902. Controller 802 also includes a lateral tracking controller 908 that influences the operation of steering wheel controller 910. For example, the lateral tracking controller 908 instructs steering wheel controller 910 to adjust the position of steering angle actuator 912 based on feedback received, for example, from controller 802 and processed by the lateral tracking controller 908.

[0112] Controller 802 receives several inputs for determining how to control the throttle / brake 906 and steering angle actuator 912. Planning module 404 provides controller 802 with information, for example, to select the heading of vehicle 100 at the start of operation and to determine which road segment vehicle 100 will cross when it reaches an intersection. Positioning module 408 provides controller 802 with information describing the current location of vehicle 100, for example, so that controller 802 can determine whether vehicle 100 is at the expected location based on the positive control of the throttle / brake 906 and steering angle actuator 912. In embodiments, controller 802 receives information from other inputs 914, such as information received from a database, computer network, etc.

[0113] Horizontal width lookup table for AV planning and control

[0114] This section describes the AV system (e.g., the planned circuitry (see example)). Figure 4The 404 error indicates a computer-implemented method for planning lane-level routes that an AV can travel. Route planning may include determining one or more potential paths for the AV. A path is a physical, real-world path within a geographic area. To plan a route, the planning circuit represents and stores the geographic area as a map including map elements. The following paragraphs describe various map elements. Some map elements have direct correspondences to physical, real-world elements (e.g., lanes, intersections), while others are conceptual and implemented as computer constructs generated and used by the planning circuit to plan routes. The map may include information for identifying lanes and lane connections within the geographic area that a vehicle can travel on. Information about lanes and lane connections (such as lateral width) may be stored in a lookup table. The planning circuit can access the lookup table to obtain the lateral width for route planning.

[0115] Figure 10A A diagram illustrating an example of lane 1002 is shown. Lane 1002 is a physical lane on a road and is associated with a direction and polygon representing its geographical extent on a geographic map. Two lanes can be connected via lane connectors. Lane 1002 can be associated with a road segment. Two adjacent lanes associated with the same direction can be separated by lane dividers (e.g., lane markings). Lane dividers can have different types, such as single solid white, single dashed white, double solid white, double dashed white, single jagged white, and single solid yellow, left dashed white, and right solid white. In embodiments, these lane divider types are assigned to lane dividers during the map-building process as described above. Lanes can be associated with a baseline sequence that provides, for example, a default path to be taken within the lane.

[0116] Figure 10B The diagram illustrates an example of a road segment 1005 comprising two lanes, 1002 and 1004. A road segment is part of a physically drivable area in the environment. A road segment may include one or more lanes. Road segment 1005 may include multiple lanes traveling in the same direction. Lanes within the same road segment may be indexed in the lateral direction. Road segments are longitudinally connected to other road segments via road segment connectors. Road segment connectors are associated with intersections and may include one or more lane connectors.

[0117] Figure 11A diagram illustrating an example of a lane connector connecting two lanes 1130, 1132 and an associated lateral width 1102. Lane connector 1102 connects the end of lane 1130 to the beginning of another lane 1132. Lane connector 1102 and lanes 1130, 1132 are associated with lateral widths 1140a-1140e. Lane connector 1102 and lanes 1130, 1132 may have one or more associated lateral width values. Lateral width values ​​provide the lateral extent of the lateral area that a vehicle can occupy when driving in lane connector 1102 or lanes 1130, 1132. In an embodiment, the lateral width values ​​include a left lateral width value and a right lateral width value that provide lateral width information to the left and right of the centerline, respectively. Lateral widths (such as lateral widths 1140a-1140e, etc.) may be stored in a lookup table. The lookup may be used by planning circuitry for route planning. Lookup tables can be generated based on information from sources such as commercial databases, proprietary databases, geospatial map data, or other sources. In one embodiment, a lateral width lookup table can be generated on a server and provided to the AV via a network connection. Multiple lookup tables corresponding to different areas can exist. Furthermore, multiple lookup tables can exist within a single area. In one embodiment, the lookup table is indexed by distance. Lookup tables can be calculated for each lane or lane connector. In one embodiment, the lookup table can include separate tables, including a lane table and a lane connector table. In one embodiment, the lane table can include multiple entries. Each entry can include an identifier for the lane corresponding to a distance (e.g., the length of the baseline in meters) from the start point (e.g., 0.0 meters) to the end point (e.g., the length of the baseline). In one embodiment, the value associated with the identifier can be a pair of real numbers specifying the width to the left and right sides of the lane. In one embodiment, the lookup table can be implemented as an array of values ​​accessed by an array index corresponding to the lane identifier. Similar tables can be created for lane connectors. In one embodiment, a single table includes entries for both lanes and lane connectors.

[0118] The resolution of the lookup can be configurable. In an embodiment, tables associated with different geographic regions can have different resolutions. For example, based on a resolution of 1.0 meter, the size of the lookup table can be an upper limit of the path length. For example, increasing the resolution to 0.5 meters would double the size of the lookup table because there would be twice as many entries compared to a table with a resolution of 1.0 meter.

[0119] Lookup tables can be pre-computed at each index along the baseline. When a client queries the width of the left and right sides of a lane or lane connector, a location is given that can be projected onto the baseline to obtain the length along the baseline. Thus, a query may include determining the index closest to that location, retrieving the value associated with the index from the table, and interpolating these values ​​based on the interval progression value. For example, suppose the projected length is 3.3m along a baseline of length 7m. In this example, the query may include interpolating the pair of widths at the interval progression between the indexes obtained by retrieving the upper and lower limits of 3.3m (in this case 4.0m and 3.0m respectively) and the interval progression value between the indexes, in which case 0.3((projected_length / resolution)-floor(3.3)) is obtained as interpolated_pair_value = lookup[3] + 0.3*(lookup[4]-lookup[3]). Other techniques for interpolation are possible.

[0120] Figure 12 A diagram illustrating an example of a lane connector 1102 associated with intersection 1202 is shown. Lane connector 1102 can be associated with a polygon representing its geographical extent on a geographic map. Lane connector 1102 can be associated with road segment connectors and baseline sequences. Figure 11 In the lane connection 1102 shown, the shaded areas represent lane connection polygons, each including an associated baseline. In an embodiment, the intersection 1202 may be associated with a polygon on a map representing its geographical extent. The intersection 1202 may include one or more multi-segment roads.

[0121] The map of the geographic region may include various map elements, including lanes, lane connections, road segments, and intersections. In an embodiment, the planning circuitry uses one or more of these map elements to construct multiple plans for the AV to traverse the geographic region. The AV's initial point (e.g., a first location in space at a specific time, sometimes referred to as a spatiotemporal location) and destination (e.g., a second spatiotemporal location) are located within the geographic region. The planning circuitry can access a map of the geographic region, which may be stored, for example, in a database (see example...). Figure 4 The planning circuitry can receive the map from a different computer-readable storage medium (410) storing the map. The map includes information for identifying at least one lane in a geographic area that a vehicle can travel on. The planning circuitry can generate a map representing the driving environment of the AV from the map. Compared to a map of a geographic area, the map of the AV's driving environment represents a smaller geographic area. For example, the map of the AV's driving environment may include the AV's current spatiotemporal location and surrounding area. The planning circuitry can be configured to generate the map of the driving environment as the vehicle 100 travels from one geographic area to the next.

[0122] Figure 13 A diagram illustrating an example of path diagram 1305 is shown. Path diagram 1305 may be based on a map of a geographic area. The planning circuitry of AV 100 may consider one or more paths for determining how the vehicle can move. A list of possible paths can be generated. Constraints can be applied to the paths to select a path. The list of paths can be represented by path diagram 1305. Path diagram 1305 may include a baseline path 1304 and one or more other paths 1306, 1307, 1308. In an embodiment, baseline path 1304 represents a preferred or default path for a particular road segment. Lane connections 1315 may be included in path diagram 1305 to create paths between different lanes in path diagram 1305. In some cases, lane connections may serve as possible lane-changing paths. Ahead of AV 100, a trajectory 1316 is followed during movement. The portion of trajectory 1316 followed by path 1306 will not change (e.g., be replanned), but everything after that portion may undergo replanning. Path map 1305 may include parallel baselines 1307, 1308 that travel at an offset from baseline path 1304. Parallel baselines 1307, 1308 may provide a fine-grained (e.g., smoother) transition from starting path 1306 to baseline path 1304.

[0123] The planning circuit can use spatial constraints for lanes and connectors to measure how much lateral distance an AV (lane entrance) has to operate during route planning. To create these constraints, queries can be made relating to how far a lane or lane connector is from a transition in the path. For example, the planning circuit can: obtain or compute a lookup table for the lateral widths of lanes and lane connectors; compile a list of lanes and lane connectors in a given path; query the table for the widths of lanes and lane connectors during discrete transitions on the path; and use these widths to generate spatial constraints for lanes and connectors.

[0124] Figure 14 A flowchart illustrating an example of a process 1401 for planning and controlling a vehicle using a lateral width lookup table is provided. In this example, process 1401 is performed by planning circuitry and control circuitry. At 1405, the planning circuitry obtains a lateral width lookup table associated with a map of a geographic area, which provides lateral widths for one or more road segments including lanes, lane connectors, or both. The map may include information for identifying lanes and lane connectors in the geographic area that vehicles can travel on, and the lookup table includes lateral widths associated with the lanes and lane connectors. In an embodiment, the lateral width lookup table is a data structure that stores various lateral widths for one or more road segments including one or more lanes or lane connectors. In an embodiment, obtaining the lateral width lookup table includes retrieving information representing the lateral width lookup table via a network connection.

[0125] At point 1410, the planning circuit determines a list of at least one lane or at least one lane connector in at least one path of the vehicle based on information including a map. In an embodiment, the list of at least one lane or at least one lane connector includes two or more potential lane connectors. The two or more potential lane connectors may be associated with traffic intersections in a geographic area.

[0126] At 1415, the planning circuit queries a lookup table to obtain at least one lateral width corresponding to at least one lane or at least one lane connector. In an embodiment, querying the lookup table may include obtaining the lateral widths of two or more potential lane connectors. For example, querying the lookup table may include querying upcoming lane connectors, lanes, and departing lane connectors. In an embodiment, querying the lookup table at 1415 includes: obtaining at least two lateral widths associated with at least one lane or at least one lane connector; and interpolating based on the at least two lateral widths to produce an interpolated lateral width. In an embodiment, process 1401 includes determining at least one turning point on at least one path of the vehicle, and querying the lookup table at 1415 includes using the turning point to obtain the lateral width. In an embodiment, the queried width may include a first value corresponding to the lateral width on the left side of the lane or lane connector and a second value corresponding to the lateral width on the right side of the lane or lane connector.

[0127] At 1420, the planning circuit generates spatial constraints for at least one lane or at least one lane connector based on at least one lateral width. The AV can occupy any area within the boundary defined by the spatial constraints. At 1425, the planning circuit generates a trajectory based on information including a map, a list, and the spatial constraints. In an embodiment, each trajectory is a path for the vehicle to autonomously move from a first spatiotemporal location on the map to a second spatiotemporal location on the map, wherein the trajectory may include one or more lanes or lane connectors along which the vehicle can move. At 1430, the control circuit causes the vehicle to move along a selected trajectory. If multiple trajectories are generated, the trajectory can be selected based on one or more factors such as safety, passenger comfort, etc.

[0128] Figure 15A and 15B Different polygons 1502 and 1504 are shown as examples of constraints representing the vehicle 100. Figure 15A The polygon 1502 is shown based on the static horizontal width value. Figure 15B The diagram illustrates polygon 1504 based on one or more lateral width values ​​retrieved from a table. In this example, the retrieved lateral width values ​​provide more area for the vehicle 100 to maneuver compared to static lateral width values, and therefore... Figure 15B Polygon 1504 and Figure 15A It is larger than the smaller polygon 1502.

[0129] Figure 16A and 16B Different polygons 1632 and 1638 are shown as examples of constraints of the vehicle 100 when dealing with obstacles 1636 such as pedestrians. Figure 16A Polygon 1632 is shown, corresponding to the spatial constraints imposed in part by the static lateral width value. Figure 16B Polygon 1638 is shown, corresponding in part to spatial constraints imposed by dynamic lateral width values(one or more), retrieved, for example, from a lateral width lookup table. In this example, the retrieved lateral width values(one or more) provide more area for the vehicle 100 to maneuver and avoid obstacles 1636 compared to static lateral width values. Figure 16B Polygon 1638 and Figure 16A The smaller polygon 1632 is larger than the smaller polygon 1632. In this example, the larger area translates to more options for avoiding obstacles 1636 while continuing to drive (such as moving away from obstacles 1636), while still satisfying spatial constraints.

[0130] In an embodiment, the vehicle may include: a memory including a lateral width lookup table associated with a map of a geographic region, the map including information identifying lanes and lane connectors in the geographic region that the vehicle can travel on, the lookup table including lateral widths associated with the lanes and lane connectors; planning circuitry communicatively coupled to the memory; and control circuitry communicatively coupled to the planning circuitry. The planning circuitry may be configured to operate by: determining a list of at least one lane or at least one lane connector in at least one path of the vehicle; querying the lookup table to obtain at least one lateral width corresponding to the at least one lane or at least one lane connector; generating spatial constraints for the at least one lane or at least one lane connector based on the at least one lateral width; and generating a trajectory based on the list and the spatial constraints. The control circuitry may be configured to move the vehicle along a selected trajectory within the trajectory.

[0131] In the preceding description, embodiments of the invention have been described with reference to numerous specific details, which may vary from implementation to implementation. Therefore, the specification and drawings should be considered illustrative rather than restrictive. The sole and exclusive indication of the scope of the invention, and what the applicant expects to be the scope of the invention, is the literal and equivalent scope of the claims published from this application in the specific form of the claims, including any subsequent amendments. Any definitions of terms expressly set forth herein for inclusion in such claims should be taken as meaning as such terms are used in the claims. Furthermore, when the term “comprising” is used in the preceding specification or appended claims, what follows that phrase may be an additional step or entity, or a sub-step / sub-entity of a previously stated step or entity.

Claims

1. A method for a vehicle, comprising: The planning circuit of the vehicle is used to obtain a lateral width lookup table associated with a map of a geographic region, the map including information identifying lanes and lane connections in the geographic region that the vehicle can travel on, and the lookup table including the lateral width corresponding to each lane in the lanes and the lateral width corresponding to each lane connection in the lane connections. The planning circuit and the map are used to determine a list of at least one lane or at least one lane connection in at least one path of the vehicle; The planning circuit queries the lookup table to obtain at least one lateral width corresponding to the at least one lane or the at least one lane connection. The planning circuit generates spatial constraints for the at least one lane or the at least one lane connection based on the at least one lateral width, wherein generating the spatial constraints includes using the at least one lateral width to determine the lateral distance that the vehicle can use to maneuver away from obstacles on the path of the vehicle while continuing to drive toward the destination. A trajectory is generated using the planning circuit and based on the map, the list, and the spatial constraints; and The vehicle is moved along a selected trajectory within the track by the vehicle's control circuit.

2. The method according to claim 1, wherein, The list of at least one lane or at least one lane connection includes two or more potential lane connections, and wherein querying the lookup table includes obtaining the lateral width of each of the two or more potential lane connections.

3. The method according to claim 2, wherein, The two or more potential lane connections are associated with traffic intersections in the geographic area.

4. The method according to any one of claims 1 to 3, wherein, Querying the lookup table includes: obtaining at least two lateral widths associated with the at least one lane or the at least one lane connection, and interpolating based on the at least two lateral widths to generate an interpolated lateral width.

5. The method according to any one of claims 1 to 3, comprising: Determine at least one turning point on the path of the vehicle. Specifically, querying the lookup table includes using the transition point to obtain the horizontal width.

6. The method according to any one of claims 1 to 3, wherein, Obtaining the horizontal width lookup table includes retrieving information representing the horizontal width lookup table via a network connection.

7. The method according to any one of claims 1 to 3, wherein, The at least one lateral width corresponding to the at least one lane or the at least one lane connection includes: i) a first value corresponding to the lateral width on the left side of the lane or lane connection and ii) a second value corresponding to the lateral width on the right side of the lane or lane connection.

8. A vehicle, comprising: The memory includes a lateral width lookup table associated with a map of a geographic region, the map including information identifying lanes and lane connections in the geographic region that vehicles can travel on, the lookup table including lateral widths corresponding to each lane in the lanes and lateral widths corresponding to each lane connection in the lane connections. The circuitry is designed to be communicatively coupled to the memory; as well as The control circuit is communicatively coupled to the planned circuit. The planning circuit is configured to operate, the operation including: Determine a list of at least one lane or at least one lane connector in at least one path of the vehicle. The lookup table is consulted to obtain at least one lateral width corresponding to the at least one lane or the at least one lane connection. Spatial constraints for the at least one lane or the at least one lane connection are generated based on the at least one lateral width, wherein generating the spatial constraints includes using the at least one lateral width to determine the lateral distance that the vehicle can use to maneuver away from obstacles on its path while continuing to move toward its destination, and A trajectory is generated based on the list and the spatial constraints, wherein the control circuitry is configured to cause the vehicle to move along a selected trajectory within the trajectory.

9. The vehicle according to claim 8, wherein, The list of at least one lane or at least one lane connection includes two or more potential lane connections, and wherein querying the lookup table includes obtaining the lateral width of each of the two or more potential lane connections.

10. The vehicle according to claim 9, wherein, The two or more potential lane connections are associated with traffic intersections in the geographic area.

11. The vehicle according to any one of claims 8 to 10, wherein, Querying the lookup table includes: obtaining at least two lateral widths associated with the at least one lane or the at least one lane connection, and interpolating based on the at least two lateral widths to generate an interpolated lateral width.

12. The vehicle according to any one of claims 8 to 10, wherein, The operation includes determining a turning point on at least one path of the vehicle, and wherein querying the lookup table includes using the turning point to obtain the lateral width.

13. The vehicle according to any one of claims 8 to 10, wherein, Obtaining the horizontal width lookup table includes retrieving information representing the horizontal width lookup table via a network connection.

14. The vehicle according to any one of claims 8 to 10, wherein, The at least one lateral width corresponding to the at least one lane or the at least one lane connection includes: i) a first value corresponding to the lateral width on the left side of the lane or lane connection and ii) a second value corresponding to the lateral width on the right side of the lane or lane connection.

15. A non-transitory computer-readable storage medium comprising at least one program executable by at least one processor of a device, the at least one program comprising instructions that, when executed by the at least one processor, cause the device to operate, the operation comprising: Obtain a lookup table of lateral widths associated with a map of a geographic region, the map including information identifying lanes and lane connections in the geographic region that vehicles can travel on, the lookup table including lateral widths corresponding to each lane in the lanes and lateral widths corresponding to each lane connection in the lane connections; Determine a list of at least one lane or at least one lane connection in at least one path of the vehicle; The lookup table is consulted to obtain at least one lateral width corresponding to the at least one lane or the at least one lane connection; Based on the at least one lateral width, a spatial constraint is generated for the at least one lane or the at least one lane connection, wherein generating the spatial constraint includes using the at least one lateral width to determine the lateral distance that the vehicle can use to maneuver away from obstacles on the path of the vehicle while continuing to drive toward the destination. A trajectory is generated based on the list and the spatial constraints; and The vehicle is moved along a selected trajectory within the track.

16. The computer-readable storage medium according to claim 15, wherein, The list of at least one lane or at least one lane connection includes two or more potential lane connections, and wherein querying the lookup table includes obtaining the lateral width of each of the two or more potential lane connections.

17. The computer-readable storage medium of claim 16, wherein, The two or more potential lane connections are associated with traffic intersections in the geographic area.

18. The computer-readable storage medium according to any one of claims 15 to 17, wherein, Querying the lookup table includes: obtaining at least two lateral widths associated with the at least one lane or the at least one lane connection, and interpolating based on the at least two lateral widths to generate an interpolated lateral width.

19. The computer-readable storage medium according to any one of claims 15 to 17, wherein, The operation includes determining a turning point on at least one path of the vehicle, wherein querying the lookup table includes using the turning point to obtain the lateral width.

20. The computer-readable storage medium according to any one of claims 15 to 17, wherein, Obtaining the horizontal width lookup table includes retrieving information representing the horizontal width lookup table via a network connection.

21. A computer program product comprising a program for causing a computer to perform the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Lane width calculation method and apparatus

    CN107798855A

  • Road segment-based routing guidance system for autonomous driving vehicles

    CN109491378A

  • Trajectory planning method and device

    CN111123952A