Constraint-based rate distribution
By integrating planning and predicted locations of external objects into the occupied grid, tactical rate planning is generated, solving the difficulty of path planning for autonomous vehicles in complex environments and enabling safe and efficient transportation network operation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-02
- Publication Date
- 2026-03-27
AI Technical Summary
When autonomous vehicles traverse transportation networks, the presence of external objects makes route planning and operation difficult, and existing technologies struggle to effectively handle the interference from these external objects.
By integrating planned locations and predicted locations of external objects into the occupied grid, and adding appropriate buffer distances, estimated rate planning is performed based on the occupied grid to generate tactical rate planning to ensure safe operation.
It enables safe and efficient path planning for autonomous vehicles in complex environments, and can dynamically adjust rate planning to cope with interference from external objects, thereby improving the safety and efficiency of transportation networks.
Smart Images

Figure CN121752480A_ABST
Abstract
Description
Technical Field
[0001] This application relates to autonomous driving, and more particularly to using constraints to generate a rate distribution for autonomous vehicles. Background Technology
[0002] Increased use of autonomous vehicles creates the potential for more efficient movement of passengers and goods through transportation networks. Furthermore, the use of autonomous vehicles can lead to improved vehicle safety and more efficient communication between vehicles. However, external obstacles make autonomous traversal of transportation networks challenging. Summary of the Invention
[0003] A first aspect of the disclosed implementation is a method for determining a rate plan for an autonomous vehicle (AV). The method includes: placing planned locations of the AV in an occupied grid for future time steps, wherein the planned locations are based on a strategic rate plan determined without considering world objects; placing predicted locations of the world objects in the occupied grid for at least some of the future time steps; adding corresponding buffer distances to the occupied grid corresponding to the predicted locations; obtaining an estimated rate plan for the AV based on the occupied grid; obtaining the rate plan from the estimated rate plan; and controlling the AV according to the rate plan.
[0004] A second aspect of the disclosed implementation is an AV including a memory and a processor. The processor is configured to execute instructions stored in the memory to determine a rate plan for the AV. The instructions include instructions for performing the following operations: placing planned locations of the AV in an occupied grid for future time steps, wherein the planned locations are based on a strategic rate plan determined without considering world objects; placing predicted locations of the world objects in the occupied grid for at least some of the future time steps; adding corresponding buffer distances to the occupied grid corresponding to the predicted locations; obtaining an estimated rate plan for the AV based on the occupied grid; obtaining the rate plan from the estimated rate plan; and controlling the AV according to the rate plan.
[0005] A third aspect of the disclosed implementation is a non-transitory computer-readable medium storing instructions operable to cause one or more processors to perform operations for determining a rate plan for an autonomous vehicle (AV). The operations include: placing planned locations of the AV in an occupied grid for future time steps, wherein the planned locations are based on a strategic rate plan determined without considering world objects; placing predicted locations of world objects in the occupied grid for at least some of the future time steps; adding corresponding buffer distances to the occupied grid corresponding to the predicted locations; obtaining an estimated rate plan for the AV based on the occupied grid; obtaining the rate plan from the estimated rate plan; and controlling the AV according to the rate plan.
[0006] These and other aspects, features, elements, implementations, and variations of the methods, apparatuses, processes, and algorithms disclosed herein are described in further detail below. Attached Figure Description
[0007] The disclosed technology can be best understood from the following detailed description when read in conjunction with the accompanying drawings. It is emphasized that, by convention, the various features in the drawings may not be drawn to scale. On the other hand, for clarity, the dimensions of various features may be arbitrarily enlarged or reduced. Furthermore, unless otherwise stated, the same reference numerals refer to the same elements throughout the drawings.
[0008] Figure 1 This is a diagram illustrating an example of a vehicle that can realize a portion of the aspects, features, and elements disclosed herein.
[0009] Figure 2 The diagram is an example of a vehicle transportation and communication system that can realize the aspects, features and elements disclosed herein.
[0010] Figure 3 An example is given of a system including an Optimized Rate Planning (OSP) tool for generating constraint-based rate distributions.
[0011] Figure 4 This is an example Figure 3 The operation process of OSP tools.
[0012] Figure 5 An example of setting an upper limit in an occupied grid is shown.
[0013] Figure 6 An example of adding a world object along the grid is shown.
[0014] Figure 7 This example demonstrates adding a world object to an occupying grid.
[0015] Figure 8 Another example of adding a virtual lead vehicle to an occupied grid is shown.
[0016] Figure 9 Examples of rate planning and smoothed rate planning are shown.
[0017] Figure 10 An example of a stop line is shown when a planned AV stops inside an intersection.
[0018] Figures 11A-11B Example 1100 illustrates rate planning based on occupancy grid.
[0019] Figure 12 This is an example of an occupied grid used as an upper and lower bound for constraints in search rate planning.
[0020] Figure 13 This is a flowchart illustrating an example of a technique used to generate the rate distribution of autonomous vehicles. Detailed Implementation
[0021] Automated vehicles (such as autonomous vehicles (AVs) or semi-autonomous vehicles that include advanced driver assistance systems (ADAS)) can use information derived from sensors to navigate a portion of a vehicle transport network. For simplicity, and unless otherwise indicated, both AVs and ADAS-enabled vehicles are referred to as AVs.
[0022] The AV uses advanced sensors such as cameras, LiDAR, and Radar to continuously scan and monitor its scene (e.g., the surrounding environment). Data from these sensors can be processed by an onboard computer to create a detailed map of the scene. Combined with real-time traffic, GPS, and map information, the optimal route is determined for the AV. The advanced control system can quickly determine acceleration, braking, and steering, ensuring safe navigation in dynamic settings.
[0023] Constraint-based velocity distribution integrates the planned location (e.g., position) of an AV (e.g., the main vehicle) and the predicted (e.g., expected) locations of external world objects that might obstruct the planned route of the AV into the occupation grid. The planned location of the AV is obtained (e.g., based on) strategic velocity planning, while the predicted locations of external objects can be derived from assumptions about world object maintenance by the AV (e.g., via its internal components, software, or modules). In some scenarios, virtual world objects may also be added to the occupation grid.
[0024] The search algorithm then estimates a tactical rate plan (also referred to herein as a modified rate plan, a detailed planned trajectory, a short-term rate plan, or a tactical rate plan) to adjust the initial strategic rate plan based on world objects in the scene. The occupied grid can be used to set constraints for a constraint-based optimization problem to solve for the optimal rate plan for objects within the occupied grid. A constraint-based rate distribution can be computed (e.g., obtained) at regular intervals (e.g., at each time step) to ensure that the rate plan is continuously refined in response to an evolving scene, thus guaranteeing the safe operation of the AV. For clarity, a search algorithm is used to obtain the estimated rate plan; the rate plan is then obtained from the estimated rate plan by solving an optimization problem. For further clarity, although the output of the search algorithm is referred to as the "estimated rate plan," this output is not technically a rate plan; rather, it is an estimate of the distance over time along the path the AV will travel relative to the occupied space in the occupied grid. The estimated rate plan does not include any velocity or acceleration data (it only includes distance values at discrete time steps).
[0025] As used herein, “rate planning” can be a dataset that correlates vehicle rate with a specific longitudinal position or travel time during autonomous driving. Rate planning specifies the desired rate or other motion parameters (e.g., acceleration or jerk) of the vehicle at various points or times along its (planned) route, ensuring that the vehicle adheres to these objectives during its autonomous navigation. Therefore, rate planning can include both rate and position. Determining rate planning can include identifying associated rates (or motion parameters) for portions of a path identified by a route planner. As described herein, portions of the path are those corresponding to a planning window. “Strategic” rate planning is rate planning that is planned without taking into account other identified world objects. “Tactical” (or “modified”) rate planning modifies strategic planning based on world objects in the scene.
[0026] To describe in more detail some of the implementations taught in this paper, first refer to the environment in which this disclosure can be implemented. Figure 1 This figure is an example of a vehicle 100 that can implement a portion of the aspects, features, and elements disclosed herein. The vehicle 100 includes a chassis 102, a powertrain 104, a controller 114, wheels 132 / 134 / 136 / 138, and may include any other elements or combinations of elements of the vehicle. Although for simplicity, the vehicle 100 is shown as including four wheels 132 / 134 / 136 / 138, one or more other propulsion devices (such as pushers or tracks) may be used. Figure 1In this configuration, the lines that interconnect components such as powertrain 104, controller 114, and wheels 132 / 134 / 136 / 138 indicate information such as data or control signals, power such as electricity or torque, or both information and power that can communicate between the components. For example, controller 114 may receive power from powertrain 104 and communicate with powertrain 104, wheels 132 / 134 / 136 / 138, or both, to control vehicle 100, which may include accelerating, decelerating, steering, or otherwise controlling vehicle 100.
[0027] The powertrain 104 includes a power source 106, a transmission 108, a steering unit 110, a vehicle actuator 112, and may include any other components of the powertrain (such as suspension, drive shaft, wheel axle, or exhaust system) or combinations of components. Although shown separately, wheels 132 / 134 / 136 / 138 may be included in the powertrain 104.
[0028] Power source 106 can be any device or combination of devices operable to provide energy (such as electrical, thermal, or kinetic energy). For example, power source 106 includes an engine (such as an internal combustion engine, an electric motor, or a combination of an internal combustion engine and an electric motor) and is operable to provide kinetic energy as a prime mover to one or more of the wheels 132 / 134 / 136 / 138. In some embodiments, power source 106 includes a potential energy unit, such as one or more dry cell batteries (such as nickel-cadmium (NiCd) batteries, nickel-zinc (NiZn) batteries, nickel-metal hydride (NiMH) batteries, lithium-ion (Li-ion) batteries, etc.), solar cells, fuel cells, or any other device capable of providing energy.
[0029] The transmission 108 receives energy (such as kinetic energy) from the power source 106 and transmits that energy to the wheels 132 / 134 / 136 / 138 to provide prime mover power. The transmission 108 may be controlled by a controller 114, a vehicle actuator 112, or both. The steering unit 110 may be controlled by the controller 114, the vehicle actuator 112, or both, and the steering unit 110 controls the wheels 132 / 134 / 136 / 138 to steer the vehicle. The vehicle actuator 112 may receive signals from the controller 114 and may actuate or control the power source 106, the transmission 108, the steering unit 110, or any combination thereof to operate the vehicle 100.
[0030] In the illustrated embodiment, controller 114 includes a positioning unit 116, an electronic communication unit 118, a processor 120, a memory 122, a user interface 124, a sensor 126, and an electronic communication interface 128. Although shown as a single unit, any one or more elements of controller 114 can be integrated into any number of separate physical units. For example, user interface 124 and processor 120 can be integrated into a first physical unit, and memory 122 can be integrated into a second physical unit. Although in Figure 1 Although not shown, controller 114 may include a power source such as a battery. Although shown as separate elements, positioning unit 116, electronic communication unit 118, processor 120, memory 122, user interface 124, sensor 126, electronic communication interface 128, or any combination thereof may be integrated into one or more electronic units, circuits, or chips.
[0031] In some embodiments, processor 120 includes any existing or subsequently developed means or combination of means capable of manipulating or processing signals or other information, such as optical processors, quantum processors, molecular processors, or combinations thereof. For example, processor 120 may include one or more dedicated processors, one or more digital signal processors, one or more microprocessors, one or more controllers, one or more microcontrollers, one or more integrated circuits, one or more application-specific integrated circuits, one or more field-programmable gate arrays, one or more programmable logic arrays, one or more programmable logic controllers, one or more state machines, or any combination thereof. Processor 120 may be operatively coupled to positioning unit 116, memory 122, electronic communication interface 128, electronic communication unit 118, user interface 124, sensor 126, powertrain 104, and any combination thereof. For example, processor may be operatively coupled to memory 122 via communication bus 130.
[0032] Processor 120 can be configured to execute instructions. Such instructions may include instructions for remote operation, which can be used to operate vehicle 100 from a remote location (including an operations center). Instructions for remote operation may be stored in vehicle 100 or received from external sources (such as traffic management centers) or server computing devices (which may include cloud-based server computing devices).
[0033] Memory 122 may include any tangible, non-transitory computer-usable or computer-readable medium capable of, for example, containing, storing, communicating, or transmitting machine-readable instructions or any information associated therewith, for use by or in connection with processor 120. Memory 122 may include, for example, one or more solid-state drives, one or more memory cards, one or more removable media, one or more read-only memory (ROM), one or more random access memory (RAM), one or more registers, one or more low-power double data rate (LPDDR) memory, one or more cache memories, one or more disks (including hard disks, floppy disks, or optical disks), magnetic cards or optical cards, or any type of non-transitory medium suitable for storing electronic information, or any combination thereof.
[0034] The electronic communication interface 128 may be a wireless antenna, a wired communication port, an optical communication port, or any other wired or wireless unit that can be coupled to the wired or wireless electronic communication medium 140, as shown in the figure.
[0035] The electronic communication unit 118 can be configured to transmit or receive signals via a wired or wireless electronic communication medium 140 (such as via an electronic communication interface 128). Although in Figure 1 Although not explicitly shown, electronic communication unit 118 is configured to transmit, receive, or both via any wired or wireless communication medium (such as radio frequency (RF), ultraviolet (UV), visible light, optical fiber, wired lines, or combinations thereof). Figure 1 A single electronic communication unit 118 and a single electronic communication interface 128 are shown, but any number of communication units and any number of communication interfaces can be used. In some embodiments, the electronic communication unit 118 may include a dedicated short-range communication (DSRC) unit, a wireless security unit (WSU), IEEE 802.11p (WiFi-P), or a combination thereof.
[0036] Positioning unit 116 can determine geographic location information, including but not limited to the longitude, latitude, altitude, direction of travel, or speed of the vehicle 100. For example, the positioning unit includes a Global Positioning System (GPS) unit, such as a National Marine Electronics Association (NMEA) unit with Wide Area Augmentation System (WAAS) enabled, a radio triangulation unit, or a combination thereof. Positioning unit 116 can be used to obtain information, for example, representing the current heading of the vehicle 100, the current position of the vehicle 100 in two or three dimensions, the current angular orientation of the vehicle 100, or a combination thereof.
[0037] User interface 124 may include any unit capable of serving as a human interface, including any of a virtual keyboard, physical keyboard, touchpad, display, touchscreen, speaker, microphone, camera, sensor, and printer. User interface 124 may be operatively coupled to processor 120 as shown, or operatively coupled to any other element of controller 114. Although shown as a single unit, user interface 124 may include one or more physical units. For example, user interface 124 may include an audio interface for audio communication with a person and a touchscreen display for vision- and touch-based communication with a person.
[0038] Sensor 126 may include one or more sensors (such as a sensor array) operable to provide information that can be used to control the vehicle. Sensor 126 may provide information relating to the current operating characteristics of the vehicle or its surrounding environment. Sensor 126 may include, for example, a rate sensor, an acceleration sensor, a steering angle sensor, a traction-related sensor, a braking-related sensor, or any sensor or combination of sensors operable to report information relating to some aspect of the current dynamic condition of the vehicle 100.
[0039] In some embodiments, sensor 126 includes sensors operable to obtain information relating to the physical environment surrounding vehicle 100. For example, one or more sensors detect road geometry and obstacles (such as stationary obstacles, vehicles, cyclists, and pedestrians). Sensor 126 may be or may include one or more cameras, laser sensing systems, infrared sensing systems, acoustic sensing systems, or any other suitable type of vehicle-mounted environmental sensing device, or a combination of such devices, now known or subsequently developed. Sensor 126 and positioning unit 116 may be combined.
[0040] Although not shown separately, vehicle 100 may include a trajectory controller. For example, controller 114 may include a trajectory controller. The trajectory controller is operable to obtain information describing the current state of vehicle 100 and a planned route for vehicle 100, and to determine and optimize the trajectory of vehicle 100 based on that information. In some embodiments, the trajectory controller outputs a signal operable to control vehicle 100 such that vehicle 100 follows the trajectory determined by the trajectory controller. For example, the output of the trajectory controller may be an optimized trajectory that can be supplied to powertrain 104, wheels 132 / 134 / 136 / 138, or both. The optimized trajectory may be a control input such as a set of steering angles, where each steering angle corresponds to a point in time or position. The optimized trajectory may be one or more paths, lines, curves, or combinations thereof.
[0041] One or more of wheels 132 / 134 / 136 / 138 may be: a steering wheel that pivots to a steering angle under the control of steering unit 110; a drive wheel that twists to propel vehicle 100 under the control of transmission 108; or a steering drive wheel that steers and propels vehicle 100.
[0042] The vehicle may include those not in Figure 1 The units or components shown include housings, Bluetooth® modules, FM radio units, near field communication (NFC) modules, liquid crystal display (LCD) units, organic light-emitting diode (OLED) display units, speakers, or any combination thereof.
[0043] Figure 2 This is a diagram illustrating an example of a vehicle transportation and communication system 200 that can implement the aspects, features, and elements disclosed herein. The vehicle transportation and communication system 200 includes a vehicle 202 (such as...) Figure 1 The vehicle 100 shown (e.g.) and one or more external objects (e.g., external object 206), the external objects may include any form of transportation (e.g., Figure 1 The vehicles 100 shown include pedestrians, cyclists, and any form of structure (such as buildings). Vehicle 202 can travel via one or more parts of the transportation network 208 and can communicate with external objects 206 via one or more electronic communication networks 212. Although in Figure 2 Not explicitly shown, but vehicles may traverse areas not explicitly or fully included in the transport network (such as off-road areas). In some embodiments, the transport network 208 may include one or more of vehicle detection sensors 210 (such as inductive loop sensors) that can be used to detect movement of vehicles on the transport network 208.
[0044] Electronic communication network 212 may be a multiple access system that provides communication (such as voice communication, data communication, video communication, message transmission communication or a combination thereof) between vehicle 202, external object 206 and operation center 230. For example, vehicle 202 or external object 206 may receive information (such as information representing transportation network 208) from operation center 230 via electronic communication network 212.
[0045] Operation center 230 includes controller device 232, which includes Figure 1The controller 114 shown has some or all of the features described. The controller device 232 can monitor and coordinate the movement of vehicles (including autonomous vehicles). The controller device 232 can monitor the status or conditions of vehicles (such as vehicle 202) and external objects (such as external object 206). The controller device 232 can receive vehicle data and infrastructure data, including any of the following: vehicle speed; vehicle location; vehicle operating status; vehicle destination; vehicle route; vehicle sensor data; external object speed; external object location; external object operating status; external object destination; external object route; and external object sensor data.
[0046] Furthermore, controller device 232 can establish remote control over one or more vehicles (such as vehicle 202) or external objects (such as external object 206). In this way, controller device 232 can remotely operate vehicles or external objects from a remote location. Controller device 232 can exchange (send or receive) status data with vehicles, external objects, or computing devices (such as vehicle 202, external object 206, or server computing device 234) via wireless communication links (such as wireless communication link 226) or wired communication links (such as wired communication link 228).
[0047] Server computing device 234 may include one or more server computing devices that can exchange (send or receive) status signal data with one or more vehicles or computing devices (including vehicles 202, external objects 206, or operation centers 230) via electronic communication network 212.
[0048] In some embodiments, the vehicle 202 or external object 206 communicates via wired communication link 228, wireless communication links 214 / 216 / 224, or any combination of wired or wireless communication links of any number or type. For example, as shown, the vehicle 202 or external object 206 communicates via terrestrial wireless communication link 214, via non-terrestrial wireless communication link 216, or via a combination thereof. In some implementations, terrestrial wireless communication link 214 includes an Ethernet link, a serial link, a Bluetooth link, an infrared (IR) link, an ultraviolet (UV) link, or any link capable of electronic communication.
[0049] Vehicles (such as vehicle 202) or external objects (such as external object 206) can communicate with another vehicle, external object, or operations center 230. For example, the primary vehicle or main vehicle 202 can receive one or more inter-vehicle messages, such as basic safety messages (BSMs), from operations center 230 via direct communication link 224 or via electronic communication network 212. For example, operations center 230 can broadcast messages to the primary vehicle within a defined broadcast range (such as 300 meters) or to a defined geographical area. In some embodiments, vehicle 202 receives messages via a third party (such as a signal repeater (not shown) or another remote vehicle (not shown)). In some embodiments, vehicle 202 or external object 206 periodically transmits one or more inter-vehicle messages based on defined intervals (such as 100 milliseconds).
[0050] Vehicle 202 can communicate with electronic communication network 212 via access point 218. Access point 218, which may include a computing device, is configured to communicate with vehicle 202, electronic communication network 212, operations center 230, or a combination thereof via wired or wireless communication links 214 / 220. For example, access point 218 is a base station, base transceiver station (BTS), node B, enhanced node B (eNode-B), home node B (HNode-B), wireless router, wired router, hub, repeater, switch, or any similar wired or wireless device. Although shown as a single unit, an access point may include any number of interconnecting elements.
[0051] The vehicle 202 can communicate with the electronic communication network 212 via satellite 222 or other non-terrestrial communication devices. The satellite 222, which may include a computing device, can be configured to communicate with the vehicle 202, the electronic communication network 212, the operations center 230, or a combination thereof via one or more communication links 216 / 236. Although shown as a single unit, the satellite may include any number of interconnecting elements.
[0052] Electronic communication network 212 can be any type of network configured to provide voice, data, or any other type of electronic communication. For example, electronic communication network 212 includes a local area network (LAN), a wide area network (WAN), a virtual private network (VPN), a mobile or cellular telephone network, the Internet, or any other electronic communication system. Electronic communication network 212 can use communication protocols such as Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Internet Protocol (IP), Real-Time Transfer Protocol (RTP), Hypertext Transfer Protocol (HTTP), or combinations thereof. Although shown as a single unit, electronic communication network can include any number of interconnecting elements.
[0053] In some embodiments, vehicle 202 communicates with operations center 230 via electronic communication network 212, access point 218, or satellite 222. Operations center 230 may include one or more computing devices capable of exchanging (sending or receiving) data from: vehicles (such as vehicle 202); data from external objects (including external object 206); or data from computing devices (such as server computing device 234).
[0054] In some embodiments, the vehicle 202 identifies a portion of the transportation network 208 or its conditions. For example, the vehicle 202 may include one or more on-vehicle sensors 204 (such as... Figure 1 The sensors shown (such as 126) include rate sensors, wheel speed sensors, cameras, gyroscopes, optical sensors, laser sensors, radar sensors, acoustic sensors, or any other sensor or device or combination thereof capable of determining or identifying a portion or condition of the transport network 208.
[0055] Vehicle 202 can traverse one or more portions of transport network 208 using information communicated via electronic communication network 212 (such as information representing transport network 208, information identified by sensors 204 on one or more vehicles, or combinations thereof). External object 206 is capable of all or some of the communication and actions described above with respect to vehicle 202.
[0056] For the sake of simplicity, Figure 2 The diagram shows a vehicle 202 as the main transport vehicle, an external object 206, a transport network 208, an electronic communication network 212, and an operations center 230. However, any number of vehicles, networks, or computing devices can be used. In some embodiments, the vehicle transport and communication system 200 includes... Figure 2 Devices, units, or elements not shown in the diagram.
[0057] Although vehicle 202 is shown communicating with operations center 230 via electronic communication network 212, vehicle 202 (and external object 206) can communicate with operations center 230 via any number of direct or indirect communication links. For example, vehicle 202 or external object 206 can communicate with operations center 230 via a direct communication link such as a Bluetooth communication link. Although for simplicity... Figure 2 One of the transportation networks 208 and one of the electronic communication networks 212 are shown, but any number of networks or communication devices may be used.
[0058] External object 206 Figure 2The external object is exemplified as a second remote vehicle. The external object is not limited to another vehicle. It can be any infrastructure element capable of transmitting data to the operations center 230, such as a fence, sign, building, etc. The data can be, for example, sensor data from the infrastructure element.
[0059] Regardless of the sensor source, individual vehicles operating in a vehicle transportation network determine their (e.g., optimal) operation based on the sensed data. Collective action based on sensed data, as described herein, can improve the operation of multiple vehicles and also improve the operation of the vehicle transportation system itself.
[0060] Figure 3 An example is illustrated, comprising an Optimal Rate Planning (OSP) tool for generating constraint-based rate distributions. System 300 includes world 302 and AV 304. World 302 can be as follows... Figure 2 The transportation and communication system 200 is described. Thus, world 302 may include other world objects crossing roads, which may be included in or described in maps (e.g., high-definition (HD) maps) included in or accessible in AV 304. AV 304 may be... Figure 1 100 or Figure 2 The vehicle 202.
[0061] AV 304 comprises a set of tools that can be collectively referred to as the AV software stack. The AV software stack contains a collection of algorithms that work seamlessly together to enable autonomous operation of AV 304. The software stack can tune sensor data fusion, perception, decision-making, and control to safely navigate and interact with World 304.
[0062] AV 304 (i.e., the AV software stack therein or associated with it) is shown as including perception tool 306, world model prediction tool 308, route planning / decision-making tool 310, OSP tool 312, proactive risk mitigation tool 314, trajectory following tool 316, and AV control tool 318. The disclosure herein focuses primarily on the functional aspects, operation, and capabilities of OSP tool 312.
[0063] At least some tools can be implemented so that they can be powered by one or more processors (such as...) Figure 1 The corresponding software program executed by a processor (such as a processor 120). The software program may include machine-readable instructions, which can be stored in a storage medium such as... Figure 1The software program can be executed in memory such as memory 122 and when executed by a processor such as processor 120. In some implementations, more or fewer tools can be included in the AV software stack. Some tools or aspects thereof can be implemented directly in hardware, firmware, software executed by hardware, circuit systems, or combinations thereof.
[0064] Perception tool 306 includes sensors and acquires sensor data from world 302. For example, the perception tool can acquire an image of world 302, point clouds corresponding to objects in world 302, etc. World model prediction tool 308 receives sensor data and determines (e.g., converts, detects, etc.) world objects based on the sensor data. That is, for example, world model prediction tool 308 determines world objects based on received sensor data. For example, world model prediction tool 308 can convert point clouds received from light detection and ranging (LiDAR) sensors (i.e., the sensors in sensor 126) into world objects. Sensor data from several sensors can be fused together to determine world objects (e.g., guessing the identity, classification, etc. of world objects). Examples of world objects include bicycles, pedestrians, and vehicles.
[0065] The world model prediction tool 308 can receive sensor information that allows it to acquire (e.g., determine, calculate, identify, select, etc.) and maintain additional information about at least a portion of the detected world objects. For example, the world model prediction tool 308 can maintain the corresponding states of at least a portion of the determined world objects. For instance, the states associated with a world object may include zero or more than zero of velocity, attitude, geometry (such as width, height, and depth), classification (e.g., bicycle, large truck, pedestrian, road sign, etc.), and location. Thus, the state of an object includes discrete state information (e.g., classification) and continuous state information (e.g., attitude and velocity).
[0066] The World Model Prediction Tool 308 fuses sensor information, tracks world objects, maintains a list of hypotheses for at least some dynamic objects (e.g., object A may be going straight, turning right, or turning left), creates and maintains predicted trajectories for each hypothesis, and maintains likelihood estimates for each hypothesis (e.g., considering object attitude / velocity and trajectory attitude / velocity, the probability that object A is going straight is 90%).
[0067] Route planning / decision tool 310 determines road-level planning. For example, given a start point and a destination point, route planning / decision tool 310 determines the route from the start point to the destination point. Route planning / decision tool 310 can determine a list of roads (i.e., road-level planning) that the AV follows when navigating from the start point to the destination point.
[0068] Route planning / decision-making tool 310 determines (e.g., identifies) decisions along road-level planning. High-level descriptive examples of discrete-level decisions may include: stopping at an intersection between roads A and B, moving slowly forward, accelerating to a certain speed limit, then merging into the rightmost lane, preparing to stop because a traffic light may turn red, etc. Decisions may be based on data included in a map. For example, the map may indicate the presence of traffic lights or lane merging into another lane, etc. The output of route planning / decision-making tool 310 may be referred to as strategic rate planning. As mentioned above, rate planning is "strategic" because it is planned without considering other identified world objects. Although Figure 3 The example illustrates that route planning / decision-making tool 310 can follow world model prediction tool 308, but this is not always the case.
[0069] The OSP tool 312, further described in this paper, modifies the strategic rate planning based on the occupied mesh and world objects that may interfere with AV 304 (e.g., interfere with strategic rate planning). OSP tool 312 can be considered as targeting the current scene (e.g., world objects observed in the scene at the current time step t0) and how the scene will behave within the planning horizon (e.g., the next 6 seconds or any other number of seconds) at future time steps (t0). n Planning is performed at points (n=1, ..., N). The planning horizon can be divided into a predefined number of time steps N. The OSP tool 312 considers multiple world objects interacting with the AV 304. That is, the OSP tool 312 can handle multiple constraints associated with multiple corresponding world objects at once (e.g., simultaneously). While this document describes certain scenarios with respect to the OSP tool 312 (e.g., probing for unprotected turns at intersections and crossing intersections), those skilled in the art will understand that the teachings herein can be readily extended or adapted to other scenarios encountered by the AV 304, such as inserting gaps during lane merging or other road scenarios.
[0070] While route planning / decision tool 310 generates a strategic rate plan, OSP tool 312 can modify the strategic rate plan (more precisely, the portion of the strategic rate plan corresponding to the planning window (also known as the time horizon)) to obtain a tactical rate plan (or a detailed planned trajectory). OSP tool 312 can receive discrete-level decisions from the strategic rate plan, world objects (and corresponding state information), and predicted trajectories and likelihoods of external objects. OSP tool 312 can use at least some of the received information to determine a detailed planned trajectory (e.g., a tactical rate plan) for AV 304.
[0071] OSP tool 312 can be summarized as performing the following steps: filling (e.g., generating, building, updating, etc.) the occupied grid, performing a search algorithm (e.g., The process involves identifying an estimated path, smoothing the estimated path, adding stopping conditions (such as those described below regarding stopping lines), defining constraints, and then solving the optimization problem based on these constraints. The solution to the optimization problem is a short-run or tactical rate programming problem.
[0072] The proactive risk mitigation tool 314 can further adjust the tactical rate planning to account for potential hazards. Potential hazards are those not currently identified as interfering with the path of AV 304 but may interfere with it in the future. For example, the vehicle may be parked on one side of the street. The driver's door is currently closed. Thus, the door does not currently interfere with the path of AV 304. However, the door may open in the future, potentially requiring the AV to make emergency maneuvers to avoid it.
[0073] Active risk mitigation tool 314 considers the responsiveness of AV 304 when planning the active trajectory for the vehicle. This minimizes the rate and / or lateral changes in response to potential hazards while still allowing for a comfortable and safe reaction response (i.e., the reaction trajectory) should a hazardous object interfere with the vehicle's path. An active trajectory for AV 304 can be determined that proactively adjusts the planned path and rate to avoid a collision if the hazardous object materializes as predicted. The active trajectory ensures that AV 304 will not have to perform emergency evasive maneuvers that would be uncomfortable for the AV 304's occupants in the event of a hazard materializing. Again, regarding door scenarios, AV 304 can move precisely to the left.
[0074] The trajectory following tool 316 generates control signals (e.g., steering, acceleration, etc.) to cause the AV 304 to be controlled according to the output of the route planning / decision tool 310. The route planning / decision tool 310 may operate at a first frequency (e.g., 10 Hz), and the trajectory following tool 316 may operate at a different second frequency (e.g., 100 Hz). The AV control tool 381 may output control signals to control the actuators of the AV 304, thereby controlling the AV 304 according to a rate plan.
[0075] Figure 4 This is an example Figure 3 The OSP tool 312 operates as follows: The OSP tool 312 constructs an occupied mesh that includes AVs and other world objects. Constraints are associated with other world objects. A search algorithm is used to find paths for AVs based on the occupied mesh (e.g., tactical rate planning). In the example, using... (Pronounced A-star) search algorithm. However, other search algorithms are also possible.
[0076] For ease of understanding, this paper illustrates and describes a visual representation of an occupied grid. However, a representation that can be stored in memory (such as...) can be used. Figure 1 The occupied grid can be maintained in any suitable data structure (such as memory 122, etc.) and usable by the search algorithm. It can be considered a tool that, as the AV travels along its path, visualizes and stores constraints relative to distance and time. Essentially, the occupied grid stores the constraints (described further herein) associated with the path of the AV. References Figures 6 to 12 Further describe the processing flow 400.
[0077] At 402, an upper limit is set in the occupied grid based on strategic rate planning (e.g., an upper limit is added to the occupied grid). The upper limit setting AV can be based on its predicted possible distance to future locations, which are predicted based on strategic rate planning.
[0078] Figure 5Example 500 illustrates setting upper limits in an occupied grid. Locations of AV 502 within a planning window (e.g., a time horizon) and planned according to a strategic rate are identified. Example 500 illustrates AV 502 being planned to be at locations 504, 506, 508, 510, etc., at time steps t=1, t=2, t=3, t=4, etc. The planned locations are placed in occupied grid 512A. Occupied grid 512A is a two-dimensional graph where the x-axis represents time and the y-axis represents the distance along the path of AV 502 from its current location 513 (e.g., the location at time step t=0). More specifically, the y-axis can indicate the distance AV 502 travels from one time step to the immediately following time step. Occupied grid 512A illustrates points 514 and 516 corresponding to locations 504 and 510, respectively.
[0079] Although the location is Figure 5 The intervals may appear visually equal, but they may not be, because strategic rate planning is generated relative to (e.g., based on) road rate limits and road curvature. Additionally, road rate limits and road curvature act as (e.g., to set) an upper limit on how fast AV 502 can drive in the absence of other road users. Occupied grid 512B shows that occupied grid 512A has been updated to include this upper limit.
[0080] Each vertical bar (such as vertical bar 518) indicates the possible location of AV 502 at the corresponding time step. For example, vertical bar 518 illustrates the possible location of AV 502 at t=4. Region 520 illustrates the possible location of AV 502 if it moves faster than the rate indicated by the strategic rate planning. Region 522 indicates the location of AV 502 if it moves slower than the rate indicated by the strategic rate planning. Occupying grid 512B includes vertical bars (upper limits) corresponding to the time step of the planning window. Thus, vertical bar 524 corresponds to the last time step in the current planning window.
[0081] Refer again Figure 4At position 404, several world objects are added to the occupied grid. More specifically, world objects whose paths are predicted to interact with the AV's path are added to the occupied grid. Adding world objects to the occupied grid includes adding the predicted location of the world object to the occupied grid. The distance based on the predicted path of the corresponding world object is added to the occupied grid. Buffer distances are also added to the occupied grid. The distances and buffer distances are based on whether the world object is classified as a path-along world object or an intersecting world object. A path-along world object is a world object traveling in the same direction as the AV, and the AV and the world object are currently or will be in the same road lane. An intersecting world object is a world object whose path intersects (e.g., intersects) with the AV's path.
[0082] Figure 6 Example 600 illustrates adding along-world objects to an occupied mesh. Scene 602 illustrates AV 604, a leading vehicle 606 (e.g., a vehicle in front of AV 604), and a trailing vehicle 608 (e.g., a vehicle behind AV 604) traveling in the same direction along lane 610. Thus, both the leading vehicle 606 and the trailing vehicle 608 are classified as along-world objects. As described above, occupied mesh 612 has been generated and includes an upper bound. Thus, vertical bars 614 can be similar to... Figure 5 The vertical bar is 518.
[0083] The predicted locations of the lead vehicle 606 and the trailing vehicle 608 are each added to the occupied grid 612. Locations marked (1) (such as location 616, etc.) correspond to the predicted location of the lead vehicle 606; and locations marked (2) (such as location 618, etc.) correspond to the predicted location of the trailing vehicle 608. Then, a corresponding buffer distance is added for each predicted location. The calculation of the buffer distance is further described below. When searching for tactical rate planning, the buffer distance is considered to be a constraint on the location of the AV. In other words, when searching for tactical rate planning, the buffer distance can be considered to correspond to the forbidden location of the AV. For example, a buffer distance 620 is added corresponding to location 616; and a buffer distance 622 is added corresponding to location 618. In all figures, the buffer distance is the buffer distance filled with pattern 628. The buffer distance is shown as the front and back of the world object added to the occupied grid. In situations where a vehicle may be merging into an AV lane (such as when the AV may be making a left turn at an unprotected intersection), a buffer distance in front of the leading vehicle can be used. In this case, the buffer distance can be used to determine if there is sufficient distance for the AV to be (e.g., adapted to) in front of the merging vehicle. Although not described in such detail, regarding... Figure 11AThis scenario illustrates a situation where AV1104 will merge ahead of the second vehicle 1114 along the path.
[0084] Figure 7 Another example 700 illustrates adding world objects to an occupied grid. Scene 702 illustrates AV 704 traveling along a planned path 708 (i.e., according to strategic rate planning) in lane 706 toward a T-junction 710, where at the T-junction 710, AV 704 is planned to turn left and then proceed west in lane 712. Scene 702 also includes a vehicle 714 along the path, which is also predicted to be traveling in lane 712. The vehicle 714 along the path is initially observed at location 714'. Scene 702 also includes a crossing vehicle 716. The crossing vehicle 716 is predicted to be traveling east along path 718 in lane 720. The paths of AV 704 and the crossing vehicle 716 are predicted to intersect at location 722.
[0085] As mentioned above, grid 724 has already been generated and includes the upper limit. Thus, the vertical bar 726 can be similar to... Figure 5 Vertical bar 518. Predicted locations (such as location 728, etc.) of vehicles 714 along the path are added to occupied grid 724; and locations of intersecting vehicles 716 (such as location 730, etc.) are added to occupied grid 724. The location of intersecting vehicles 716 is not based on the predicted path of intersecting vehicles 716 over time. Instead, and as can be observed in occupied grid 724, intersecting vehicles 716 appear stationary over time. When intersecting vehicles 716 briefly intersect the path of AV704, the location is time-based (rather than distance-based as used by world objects along the path). The location of intersecting vehicles 716 is the location of the intersection (location 722).
[0086] Then, buffer distances are added for specific locations, such as buffer distances 732 and 734. In the occupied grid 724, location 736 corresponds to location 722 (i.e., the intersection). The occupied grid may include an additional (e.g., extra) buffer time 738 after the crossing vehicle 716 passes AV 704 as an additional safety measure (just in case the crossing vehicle 716 stalls, for example).
[0087] Buffer distances for world objects along a path can be set (e.g., calculated, configured, selected, etc.) based on headway (THW), such as using Equation (1); and buffer distances for intersecting world objects can be set based on collision time (TTC), such as using Equation (2). (1) (2)
[0088] In equation (1), The speed is AV 704, 1.3 seconds and 1.6 seconds indicate the minimum and maximum headway respectively; and 14 represents a speed of 14 meters per second. Equation (1) is essentially relative to the speed of AV 704. The linear equation is explained. The faster the AV 704 travels, the faster its THW will eventually reach 1.3 seconds; and the slower the AV 704 travels, the slower its THW will remain at 1.6 seconds. Equation (1) (i.e., where the values 1.6, 1.3, 14, and 0.033 are used) is derived empirically and has been found to produce comfortable results (e.g., ride comfort) during testing. THW is known to be the time interval between two vehicles passing a specific point on the roadway, typically measured from the front of one vehicle to the front of the following vehicle.
[0089] In equation (2), It is the observed rate of the crossing vehicles. Equation (2) lists the minimum required time for the crossing vehicle 716 to allow AV 704 to pass through it or for AV 704 to wait for the crossing vehicle 716 to pass through AV 704 first (specifically at the intersection) to be comfortable.
[0090] Refer again Figure 4 At point 406, if necessary (e.g., based on obstruction visibility), a virtual leading vehicle is added to the occupying grid. When a virtual prediction (i.e., the predicted path or location of a virtual world object) intersects with the path of the AV, a special “virtual” leading vehicle is created (e.g., added to the occupying grid) to create a probing effect, causing the AV to slowly and progressively cross the intersection's starting point to gain more visibility. This “virtual” leading vehicle disappears (e.g., is removed from the occupying grid) when visibility becomes possible.
[0091] For illustration, if an AV is turning left at an intersection and the lane the AV is planned to turn into is obscured, the virtual crossover vehicle can be positioned close to (e.g., at) the last point on the lane that can be observed by the AV's sensors along its path. As further described herein, a virtual leading vehicle is added to the occupying grid to induce (e.g., cause or generate) a tentative movement of the AV toward the intersection. More generally, other types of virtual vehicles can be added as needed, depending on the road geometry.
[0092] Virtual vehicles are those that do not actually exist in the scenario (e.g., Figure 3 The vehicles in World 302), and not by Figure 3 The perception tool 306 senses the vehicle. Virtual vehicles can be added to vehicles in situations where part of the road is obscured (such as when driving around narrow corners and / or in environments with limited visibility (e.g., on foggy days or when lanes are not fully visible), or when the unexpected appearance of a vehicle is anticipated. Figure 3 The world model prediction tool 308 maintains a world model. Virtual vehicles are added to the world model in occluded areas of roads (e.g., lanes) or at maximum perception range. Probing motion allows the AV to slowly gain more visibility into the scene while maintaining the ability to stop for real vehicles that may appear and are currently imperceptible to the sensors on the AV. Probing motion aids in handling intersections with limited visibility and unprotected crossings.
[0093] Figure 8 Another example 800 illustrates adding a virtual leading vehicle to an occupied grid. Scenario 802 illustrates AV 804 traveling along a planned path 806 toward a T-junction 816, where AV 804 (based on strategic rate planning) is planned to turn left and then proceed westward. Scenario 802 illustrates a portion of the opposite traffic lane 810 obstructed by, for example, a parked vehicle (such as obstacle 812). Scenario 802 illustrates a vehicle 814 that may be in the opposite traffic lane 810 but is not detected by AV 804's sensors due to obstacle 812. Thus, AV 804 will be controlled to move cautiously toward and into the T-junction 816. In this scenario, a virtual leading vehicle 818 is added to the occupied grid 820.
[0094] As mentioned above, grid 820 has been generated and includes its upper limit. Thus, vertical bars 822 can be similar to... Figure 5 The vertical bar 518. The virtual leading vehicle 818 is treated as a world object along the path, and its predicted location (such as location 824, etc.) is added to the occupied grid 820 along with the buffer distance (such as buffer distance 826, etc.).
[0095] Although the buffer distance of real (e.g., observed or sensed) world objects along the path is calculated as described above with respect to Equation (1), the THW for the virtual leading vehicle can be set to a small constant (e.g., 0.5 seconds) to maintain a close following distance. The virtual leading vehicle 818 is configured to be at a certain offset ahead of AV 804 and always have a non-zero rate. Thus, the virtual leading vehicle 818 can only decelerate AV 804 without bringing it to a complete stop. As further described below, AV 804 can be stopped if other factors (e.g., stop lines) are added to the occupied grid. AV 804 may also stop when other world objects are observed and added to the occupied grid as scene 802 evolves.
[0096] Refer again Figure 4 At position 408, the estimated rate planning (e.g., short-term or tactical rate planning) for the planning window is determined based on the occupied grid (e.g., search, computation, identification, etc.). That is, after all relevant world objects are included in the occupied grid, the search algorithm (e.g., The search algorithm searches from the current AV position (e.g., the starting position, such as...). Figure 6 The current position (e.g., 624) to the top right corner of the planning window (e.g., the target position, such as the current position 624, etc.) represents the farthest distance (e.g., the target position, such as the target position, etc.) Figure 6 The estimated fastest path (position 626, etc.). The result is an estimated rate programming problem, which is then used to formulate constraints in the optimization problem that generates the actual rate programming problem (e.g., short-run rate programming). As already mentioned, the estimated rate programming problem is essentially a set of distance values at discrete time steps.
[0097] Traditional occupancy grids decompose space into cells based on the x and y coordinates of the cells represented in the occupancy grid; and perform traditional occupancy grids in this two-dimensional space based on which cells are occupied or otherwise unavailable. Search. However, the occupation grid described in this paper includes time on the horizontal axis and distance on the vertical axis. The occupation grid described in this paper conveys information such as: at 50 meters along the path of the AV and 3 seconds from now, the location will be occupied and the AV cannot be allowed to be at that location. The search algorithm can be considered as a traditional A The search is modified, and a heuristic that follows the strategic planning as closely as possible is used to estimate the distance along the path of AV relative to time. For example, strategic rate planning, world model objects, and their relative headway all represent occupied space in the occupied grid. Occupied grid direction The search algorithm indicates the space that the AV cannot occupy. To further clarify, everything drawn on the occupation grid at this point (e.g., tactical rate plans, world objects, THW) represents occupied space. To perform the search, at least the following operations must be performed: identify the lead vehicle, obtain the tactical rate plan, and generate the occupation grid.
[0098] Refer again Figure 4 At position 410, the estimated short-term rate plan can be smoothed. The path smoothing interpolation algorithm can be applied to the estimated predictions of AV, resulting in a more realistic (and smoother) rate plan. Figure 9 Example 900 illustrates the estimated rate planning and example 950 illustrates the smoothed estimated rate planning (i.e., the smoothed path). The estimated rate planning illustrated in example 900 is obtained at 408 and includes a set of locations shown on grid 904 (shown as black-filled squares) such as location 902, etc. The smoothed estimated rate planning (i.e., the smoothed curve 952) illustrates the smoothed result of the estimated rate planning (or simply the smoothed rate planning). Again, the estimated (or smoothed) rate planning consists of distance values at discrete time steps.
[0099] exist Figure 4 At point 412, the OSP checks whether the smoothed rate planning requires the AV to stop inside the intersection (e.g., in the middle) at any point within the planning window. If not, the AV is controlled to continue according to the rate planning (i.e., the smoothed rate planning). On the other hand, if the AV is planned to stop in the middle of the intersection, a virtual stop line is created at the start of the intersection to prevent the AV from entering until a clear path from the start to the end of the intersection is detected (e.g., identified, calculated, planned, etc.). The start and end points of the intersection can be identified based on a map (e.g., a high-resolution map) (e.g., obtaining the start and end points of the intersection from the map).
[0100] Figure 10Example 1000 illustrates a stop line when a planned AV stops inside an intersection. Scenario 1002 illustrates an AV 1004 planned to travel along path 1006 (e.g., a smoothed rate plan), through intersection 1007, westward onto lane 1008, which includes a leading vehicle 1010 traveling along it. Scenario 1002 also includes a crossing vehicle 1012 traveling eastward on lane 1014. Occupying grid 1016 has been constructed to include predicted locations of the leading vehicle 1010 (such as location 1018, etc.) and predicted locations of the crossing vehicle 1012 (such as location 1020, etc.). Occupying grid 1016 also illustrates the following: a smoothed rate plan 1022 has been identified for AV 1004, and as indicated by a set of locations 1024, AV 1004 is planned to remain stationary within the intersection for a period of time (e.g., more than 1 second) while waiting for the preceding vehicle 1012 to pass, allowing AV 1004 to continue its journey behind it. As identified based on the map, occupying grid 1016 also includes lines 1026 and 1028 that demarcate the start and end of intersection 1007.
[0101] Thus, a virtual stop line 1030 is created at the start of the intersection to prevent AVs from entering the intersection 1007 until a clear path from the start to the end of the intersection can be identified. OSP tool 312 updates the occupancy grid 1016 to obtain occupancy grid 1016', which adds static locations reflecting the placement of the virtual stop line 1030, such as location 1032. Therefore, a new, smoothed rate plan 1034 can be obtained (e.g., by searching or recalculating) based on the updated occupancy grid.
[0102] Figures 11A-11B Example 1100 illustrates rate planning based on an occupancy grid. Example 1100 illustrates how the occupancy grid changes as scenario 1102 evolves.
[0103] In the first instance, scenario 1102 includes AV 1104, which travels along lane 1106 and is (based on strategic rate planning) planned to turn and head west on lane 1108, thus intersecting with intersection 1110. Scenario 1102 includes a first along-path vehicle 1112 and a second along-path vehicle 1114 predicted to travel west on lane 1108. Scenario 1102 also includes a first intersecting vehicle 1116 and a second intersecting vehicle 1118 predicted to travel east on lane 1120. Therefore, Figure 3 The OSP tool 312 generates the occupying grid 1122.
[0104] Occupying grid 1122 includes: planned locations such as AV 1104 based on strategic rate planning, indicated by vertical bars 1124; predicted locations (such as location 1126, etc.) of a first vehicle 1112 along the path and associated distance buffers therewith; predicted locations (such as location 1128, etc.) of a second vehicle 1114 along the path and associated distance buffers therewith; predicted locations (such as location 1130, etc.) of a first intersecting vehicle 1116 and associated distance buffers therewith; and predicted locations (such as location 1132, etc.) of a second intersecting vehicle 1118 and associated distance buffers therewith.
[0105] Occupying grid 1122 also illustrates tactical rate planning including locations (such as location 1134, etc.) (using as described above). The ) has been identified and smoothed (as shown in the smoothed rate planning 1136).
[0106] Because the (smoothed) rate planning necessitates that AV 1104 must stop inside intersection 1110 (not explicitly shown), a virtual stop line 1138 is added to cause AV 1104 to stop at the starting point of intersection 1110, and a new rate plan is generated. The updated occupied grid 1122' illustrates the locations of the stop lines (such as location 1140, etc.) and the locations of the updated rate plans (such as location 1142, etc.).
[0107] In the second time, and as Figure 11B As shown, scenario 1102 has evolved such that the first vehicle 1112 along the path and the first intersecting vehicle 1116 are no longer in the scenario; the second vehicle 1114 along the path has advanced to... Figure 11B The locations shown are: a second vehicle 1118 has passed intersection 1110; and a third vehicle 1144 along the path has entered the scene. A new (updated) occupation grid 1122'' is generated. Occupation grid 1122'' includes new predicted locations for the second vehicle 1114 along the path (such as location 1146, etc.), predicted locations for the third vehicle 1144 along the path (such as location 1148, etc.), and distance buffers associated with these predicted locations. Occupation grid 1122'' also illustrates tactical rate planning including locations (such as location 1150, etc.) (using the methods described above). The ) has been identified and smoothed (as shown in the smoothed rate planning 1152).
[0108] Figure 12This illustrates an example of occupied grid 1200 used as upper and lower bounds for constraints during search rate planning. At each time step, upper bound constraints (such as those indicated by upward-pointing arrow 1202) are determined by searching upwards from the estimated distance along the path of AV, and lower bound constraints (such as those indicated by downward-pointing arrow 1204) are determined by searching downwards from the respective estimated distances along the path of AV. Note that occupied grid 1200 is the same as occupied grid 612 and corresponds to the... Figure 6 The scenario described. As already mentioned, an optimization problem is set up and solved to obtain a rate plan from an estimated rate plan (which, for brevity, can be a smoothed estimated rate plan).
[0109] The optimization problem can be divided into two parts: the cost function to be minimized and the constraints on the optimization solution (e.g., the constraints that the optimization solution must adhere to). The result of the optimization problem is an estimated distance as a function of time along the path for the AV to follow in order to safely interact with the relevant world objects. In other words, the solution to the optimization problem is the set of optimal speeds and optimal accelerations for the AV to follow in order to create a rate plan to adjust for world objects on the road.
[0110] As shown in (3), the optimization problem is to minimize the cost function. The optimization problem in (3) is subject to constraints (3a1)-(3d). In the following text, This represents the distance along the path at time step t. This represents the rate of AV at time step t. Let represent the acceleration of AV at time step t, and It is the relaxation value. (3) (3a1) (3a2) (3b) (3c) (3d)
[0111] Constraints (3a1)-(3a2) are used to define (e.g., set) the kinematic constraints for the motion model used for optimization. The motion model (e.g., constraints (3a1)-(3a2)) ensures that the solved optimization values are physically usable for AV. Constraint (3a1) is based on the location at time step t. ,rate and acceleration To constrain the possible locations of AV at the next time step t+1. Given the speed and acceleration of AV at time step t, constraint (3a2) constrains the speed at the next time step t+1.
[0112] Constraint (3b) (which may be referred to as vehicle follow constraint) sets the leading vehicle follow constraint and ensures that the AV maintains a following relationship with the leading vehicle (LV) (e.g., Figure 6 The safe following distance of the lead vehicle (606) and always behind the vehicle (BV) (e.g., Figure 6 The trailing vehicle (608) is positioned in front of the leading vehicle. That is, constraint (3b) sets a distance away from the leading vehicle. Variables sBV, sLV, vLV, and aLV (indicating the location of the trailing vehicle, the location of the leading vehicle, the velocity of the leading vehicle, and the acceleration of the leading vehicle, respectively) are obtained from the occupied grid (as constraint statements). The location of the trailing vehicle (sBV) sets a lower bound for the location of the AV; and the location of the leading world object sets an upper bound. The location of the leading world object is set / defined by the second equation of motion. The location of the AV is determined by... Define, where The expected THW obtained as described above, and It's a relaxation value. Therefore, the location of AV ensures maintaining a safe distance from leading world objects. Regarding... Figure 12 The upper and lower bounds are shown.
[0113] Constraint (3c) indicates that the AV will always move forward or remain stationary (stop). That is, the AV should not move backward. In other words, the future location of the AV is always a definite positive value. Constraint (3d) sets generally variable constraints for the following: the AV's velocity (speed...) The speed should always be between 0 and a constant upper limit value. Between); the degree of acceptable acceleration or deceleration of AV at a given time (i.e., The degree of acceptable jerk of AV at a given time (i.e., ); and the range of relaxation values at any given time step (i.e., The constraints (3d) ensure that the optimized value is within the safety limits set by the constraints (3d). While some constraints are described in this paper, other constraints are possible.
[0114] Cost function It can be shown in equation (4). The cost function essentially converts the occupants' expected experience (e.g., comfort) of the AV into an equation. (4)
[0115] expression This minimizes the velocity variation of the AV for smooth rate planning. (Expression) This minimizes the acceleration variation of AV for smooth rate programming. Expression This minimizes the difference between the speed of strategic rate planning and the optimized (e.g., deterministic) speed. Expression This minimizes the difference between the acceleration derived from strategic rate planning and the optimized (e.g., deterministic) acceleration. Expression Minimize its relaxation, thereby minimizing the error. Value This represents the weight of each term in the cost function. Weight It is a definite positive number that defines how much to assign to the corresponding term in the cost function. For example, a higher weight used to minimize velocity / acceleration changes compared to the weights in follow-rate planning makes smooth rate planning preferred over follow-strategy rate planning.
[0116] To describe some implementations in further detail, the following references may be made to examples of systems used for constraint-based rate distributions or techniques using such systems. Figure 13 This is a flowchart illustrating an example of technique 1300 for generating rate distributions for autonomous vehicles. It can use techniques such as those related to... Figures 1-12 The described system, hardware, and software apparatus are used to perform technique 1300. Technique 1300 may be performed, for example, by executing a machine-readable program or other computer-executable instructions (such as routines, instructions, programs, or other code). Steps or operations of the described technique 1300 or another technique, method, process, or algorithm disclosed herein may be implemented directly in hardware, firmware, software executed by hardware, circuit systems, or combinations thereof.
[0117] For the sake of simplicity, technique 1300 is depicted and described herein as a series of steps or operations. However, the steps or operations of technique 1300 according to this disclosure may occur in various orders and / or simultaneously. Additionally, other steps or operations not presented and described herein may be used. Furthermore, not all illustrated steps or operations may be necessary to implement the technique according to the disclosed subject matter.
[0118] At position 1302, the planned location for the AV is placed within the occupied grid. As described above, the planned location is based on a strategic rate plan determined without considering world objects. As described above, world objects are those that may interfere with the AV's path. The planned locations added to the occupied grid correspond to locations at future time steps within the planning window.
[0119] At 1304, as described above, the predicted location of the world object is placed in the occupied grid. The predicted location is a location corresponding to at least some future time steps within the future time steps. At 1306, the corresponding buffer distance corresponding to the predicted location is added to the occupied grid. At 1308, an estimated rate plan is obtained for the AV based on the occupied grid. The estimated rate plan can be a smoothed rate plan. It can be used... A search algorithm is used to obtain the estimated rate plan. At 1310, the rate plan (i.e., the short-term or tactical rate plan) is obtained from the estimated rate plan. As described above, the rate plan can be obtained (e.g., solved) by formulating an optimization problem that minimizes the velocity variation of the AV, minimizes the acceleration variation of the AV, and minimizes the difference from the tactical rate plan. The optimization problem can use the kinematic constraints of the AV and distance constraints related to the distance between the AV and other relevant road users as constraints.
[0120] At 1312, the AV is controlled according to the rate plan. Controlling the AV according to the rate plan may include, and as described above regarding the virtual stop line: in response to determining that the rate plan causes the AV to stop at the intersection, the AV is stopped at the virtual stop line added to the occupied grid; the occupied grid is continuously updated and the updated rate plan is identified until the updated rate plan causes the AV to no longer stop at the intersection; and the AV is controlled according to the updated rate plan.
[0121] Although Figure 13 It is not specifically shown, but technology 1300 can be performed continuously while the AV is being autonomously controlled (such as at each time step).
[0122] World objects within a world object can be identified as world objects along a path. In this case, the corresponding buffer distance for the world object can be based on the headway to the world object. World objects can also be identified as intersecting world objects. In this case, the corresponding buffer distance for the world object can be based on the collision time between the AV and the world object.
[0123] As described above, in response to the sensor determining that an intersecting lane is obstructing the AV, Technique 1300 can place a virtual vehicle along the path in the occupied grid.
[0124] For the sake of simplicity, the various techniques described herein are depicted and described as a series of operations. However, the operations according to this disclosure can occur in various orders and / or simultaneously. Additionally, other steps or operations not presented and described herein may be used. Furthermore, not all exemplified operations may be necessary to implement the techniques according to the disclosed subject matter.
[0125] As used herein, the terms “driver” or “operator” are used interchangeably. As used herein, the terms “braking” or “deceleration” are used interchangeably. As used herein, the terms “computer” or “computing device” include any unit or combination of units capable of performing any of the methods disclosed herein or any one or more of them.
[0126] As used herein, the term "instructions" can include indications or expressions for performing any of the methods disclosed herein or any one or more of them, and can be implemented in hardware, software, or any combination thereof. For example, instructions can be implemented as information (such as a computer program) stored in memory, and instructions can be executed by a processor to perform any of the various methods, algorithms, aspects, or combinations thereof described herein. In some implementations, instructions, or a portion thereof, can be implemented as a dedicated processor or circuit system, which can include dedicated hardware for performing any of the methods, algorithms, aspects, or combinations thereof described herein. In some implementations, a portion of instructions can span multiple processors on a single device or be distributed across multiple devices that can communicate directly or across networks (such as local area networks, wide area networks, the Internet, or combinations thereof).
[0127] As used herein, the terms “example,” “implementation,” “aspect,” “feature,” or “element” indicate that they are used as examples, instances, or illustrations. Unless otherwise expressly indicated, any example, embodiment, implementation, aspect, feature, or element is independent of each other and may be used in combination with any other example, embodiment, implementation, aspect, feature, or element.
[0128] As used herein, the terms “determine” and “identify” or any variation thereof include using one or more of the devices shown and described herein to select, identify, calculate, locate, receive, determine, establish, obtain or otherwise identify or determine in any way.
[0129] As used herein, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or.” That is, unless otherwise specified or expressly indicated by the context, “X includes A or B” is intended to indicate any natural inclusion. “X includes A or B” is satisfied in any of the foregoing instances if X includes A; X includes B; or X includes both A and B. Additionally, unless otherwise specified or expressly indicated from the context, the articles “a” and “an” as used in this application and the appended claims should generally be understood to mean “one or more.”
[0130] Furthermore, for the sake of simplicity, although the accompanying drawings and descriptions may include sequences or series of operations or stages, the elements of the methods disclosed herein may occur in various orders or in parallel. Additionally, the elements of the methods disclosed herein may occur together with other elements not explicitly presented and described herein. Moreover, it is not necessary to require all elements of the methods described herein to implement the method according to the invention. Although aspects, features, and elements are described herein in specific combinations, each aspect, feature, or element may be used independently, or in various combinations with other aspects, features, and / or elements, or in various combinations without other aspects, features, and / or elements.
[0131] While the disclosed technology has been described in conjunction with certain embodiments, it should be understood that the disclosed technology is not limited to the disclosed embodiments, but is intended to cover various modifications and equivalent arrangements included within the scope of the appended claims, which shall be given the broadest interpretation permitted by law to cover all such modifications and equivalent arrangements.
Claims
1. A method for determining rate planning for an autonomous vehicle (AV), comprising: For a future time step, the planned location of the AV is placed in an occupied grid, wherein the planned location is based on a strategic rate plan determined without considering world objects; For at least some of the future time steps, the predicted location of the world object is placed in the occupied grid; Add a corresponding buffer distance to the predicted location within the occupied grid; Based on the occupancy grid, an estimated rate plan for the AV is obtained; Obtain the rate plan from the estimated rate plan; and The AV is controlled according to the rate plan.
2. The method according to claim 1, further comprising: World objects in the world objects are identified as world objects along the path, wherein the corresponding buffer distance to the world object is based on the headway to the world object.
3. The method according to claim 1, further comprising: World objects in the world object are identified as intersecting world objects, wherein the corresponding buffer distance for the world object is based on the collision time between the AV and the world object.
4. The method according to claim 1, wherein, The rate plan is obtained by solving an optimization problem that minimizes the velocity variation of the AV, minimizes the acceleration variation of the AV, and minimizes the difference from the strategic rate plan.
5. The method according to claim 4, wherein, The optimization problem uses the kinematic constraints of the AV and the distance constraints related to the distance between the AV and the vehicles along the path.
6. The method according to claim 1, further comprising: In response to the determination that the sensors of the AV are blocked in the intersecting lanes, a virtual vehicle along the path is placed in the occupied grid.
7. The method according to claim 1, wherein, Controlling the AV according to the rate plan includes: In response to determining the rate plan, the AV stops at the intersection: The AV is stopped at the virtual stop line added to the occupied grid. The occupied grid is continuously updated and the updated rate plan is identified until the updated rate plan prevents the AV from stopping at the intersection. The AV is controlled according to the updated rate plan.
8. An autonomous vehicle, or AV, comprising: Memory; as well as A processor configured to execute instructions stored in the memory to determine a rate plan for the AV, the instructions including instructions for performing the following operations: For a future time step, the planned location of the AV is placed in an occupied grid, wherein the planned location is based on a strategic rate plan determined without considering world objects; For at least some of the future time steps, the predicted location of the world object is placed in the occupied grid; Add a corresponding buffer distance to the predicted location within the occupied grid; Based on the occupancy grid, an estimated rate plan for the AV is obtained; Obtain the rate plan from the estimated rate plan; and The AV is controlled according to the rate plan.
9. The AV according to claim 8, wherein, The processor is also configured to execute instructions to: World objects in the world objects are identified as world objects along the path, wherein the corresponding buffer distance to the world object is based on the headway to the world object.
10. The AV according to claim 8, wherein, The processor is also configured to execute instructions to: World objects in the world object are identified as intersecting world objects, wherein the corresponding buffer distance for the world object is based on the collision time between the AV and the world object.
11. The AV according to claim 8, wherein, The rate plan is obtained by solving an optimization problem that minimizes the velocity variation of the AV, minimizes the acceleration variation of the AV, and minimizes the difference from the strategic rate plan.
12. The AV according to claim 11, wherein, The optimization problem uses the kinematic constraints of the AV and the distance constraints related to the distance between the AV and the vehicles along the path.
13. The AV according to claim 8, wherein, The processor is also configured to execute instructions to: In response to the determination that the sensors of the AV are blocked in the intersecting lanes, a virtual vehicle along the path is placed in the occupied grid.
14. The AV according to claim 8, wherein, Controlling the AV according to the rate plan includes: In response to determining the rate plan, the AV stops at the intersection: The AV is stopped at the virtual stop line added to the occupied grid. The occupied grid is continuously updated and the updated rate plan is identified until the updated rate plan prevents the AV from stopping at the intersection. The AV is controlled according to the updated rate plan.
15. A non-transitory computer-readable medium storing instructions operable to cause one or more processors to perform operations for determining rate planning for an autonomous vehicle, i.e., an AV, the operations comprising: For a future time step, the planned location of the AV is placed in an occupied grid, wherein the planned location is based on a strategic rate plan determined without considering world objects; For at least some of the future time steps, the predicted location of the world object is placed in the occupied grid; Add a corresponding buffer distance to the predicted location within the occupied grid; Based on the occupancy grid, an estimated rate plan for the AV is obtained; Obtain the rate plan from the estimated rate plan; and The AV is controlled according to the rate plan.
16. The non-transitory computer-readable medium according to claim 15, wherein, The operation also includes: World objects in the world objects are identified as world objects along the path, wherein the corresponding buffer distance to the world object is based on the headway to the world object.
17. The non-transitory computer-readable medium according to claim 15, wherein, The operation also includes: World objects in the world object are identified as intersecting world objects, wherein the corresponding buffer distance for the world object is based on the collision time between the AV and the world object.
18. The non-transitory computer-readable medium according to claim 15, wherein, The rate planning is identified by solving an optimization problem that minimizes the velocity variation of the AV, minimizes the acceleration variation of the AV, and minimizes the difference from the strategic rate planning, wherein the optimization problem uses kinematic constraints of the AV and distance constraints related to the distance between the AV and vehicles along the path.
19. The non-transitory computer-readable medium according to claim 15, wherein, The operation also includes: In response to the determination that the sensors of the AV are blocked in the intersecting lanes, a virtual vehicle along the path is placed in the occupied grid.
20. The non-transitory computer-readable medium according to claim 15, wherein, Controlling the AV according to the rate plan includes: In response to determining the rate plan, the AV stops at the intersection: The AV is stopped at the virtual stop line added to the occupied grid. The occupied grid is continuously updated and the updated rate plan is identified until the updated rate plan prevents the AV from stopping at the intersection. The AV is controlled according to the updated rate plan.
Citation Information
Cited By
A method and system for active identification and control collaborative optimization of key parameters of a drive-by-wire chassis
CN122143929A