Channel Selection
By evaluating the stepwise and heuristic costs of channel selection on a graph network and utilizing the A* search algorithm, the issues of safety and efficiency in channel change are addressed, enabling safe and efficient channel selection for autonomous vehicles.
Patent Information
- Application Number
- CN202111473897.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-04-13
- Filing Date
- 2021-12-02
- Publication Date
- 2025-09-16
- Estimated Expiration
- 2041-12-02
AI Technical Summary
Lane changes present challenges in driving behavior, can lead to collisions with surrounding vehicles, and existing technologies struggle to effectively reduce travel time and improve safety on highways.
By projecting autonomous vehicles and traffic participant vehicles onto a graph network, calculating and evaluating the stepwise and heuristic costs of each node, and using the A* search algorithm to select the optimal channel, the channel selection is achieved by combining long-term strategic decision-making and real-time calculation.
It improves the safety and efficiency of channel changes, reduces travel time, and optimizes collaborative decision-making with other vehicles, ensuring computational efficiency and real-time response.
Smart Images

Figure CN114620063B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application is a continuation-in-part of U.S. patent application serial number 17 / 121,081 (agent docket number HRA-49075) filed on December 14, 2020, entitled “LANE SELECTION,” and claims priority to that U.S. patent application; the entire text of the above application is incorporated herein by reference. Background Art
[0003] Lane changes can be considered challenging driving behaviors because they may require multi-directional perception and prediction in relation to other drivers, as well as timely decision making. Aggressive lane change maneuvers without careful observation of other vehicles' maneuvers may result in collisions with surrounding vehicles.
[0004] However, if executed at the right moment, changing lanes can often significantly reduce travel time, provide wider visibility, and increase safety on the upcoming route. Consider being stuck behind a slow-moving vehicle on a highway. Maintaining the current lane might introduce travel delays. However, changing lanes can disrupt other road users and introduce risks. Summary of the Invention
[0005] According to one aspect, a system for lane selection may include a memory and a processor coupled to the memory, the processor executing instructions stored in the memory. The instructions may include receiving a current state of an autonomous vehicle, a current state of a traffic participant vehicle, and a target location of the autonomous vehicle within an operating environment, projecting the autonomous vehicle and the traffic participant vehicle onto a graph network based on the current state of the autonomous vehicle and the current state of the traffic participant vehicle, wherein one or more nodes of the graph network may represent a discretized space within the operating environment, determining a current node of the autonomous vehicle within the graph network, and determining a subsequent node of the autonomous vehicle based on: identifying one or more neighboring nodes that may be neighboring the current node, calculating one or more travel times associated with each of the one or more neighboring nodes, calculating one or more step-wise costs associated with each of the one or more neighboring nodes, calculating one or more heuristic costs associated with each of the one or more neighboring nodes, and predicting a location of the traffic participant vehicle based on the travel times, the step-wise costs, the heuristic costs, and a distance to the target.
[0006] The instructions may include determining a subsequent node for the autonomous vehicle based on calculating one or more total costs associated with each of the one or more neighboring nodes. The one or more total costs associated with each of the one or more neighboring nodes may be the sum of one or more stepped costs associated with each of the one or more neighboring nodes and one or more heuristic costs associated with each of the one or more neighboring nodes. One or more stepped costs associated with each of the one or more neighboring nodes may indicate an immediate cost of transitioning from the current node to each of the one or more neighboring nodes. One or more heuristic costs associated with each of the one or more neighboring nodes may indicate an estimated optimal cost to a target location. One or more stepped costs associated with each of the one or more neighboring nodes may include control effort, travel time, risk, and switching cost. The control effort may be determined based on the Euclidean distance between the current node and the corresponding neighboring node on the horizontal and vertical axes. The travel time may be determined based on the current state of the autonomous vehicle (including the current speed of the autonomous vehicle). The risk can be determined based on the current state of the traffic participant vehicle relative to the current state of the autonomous vehicle and the amount of fluctuation associated with the traffic participant vehicle. The switching cost can be determined based on a function of the deviation of the autonomous vehicle's initial position from the previous target channel.
[0007] According to one aspect, a system for lane selection may include a memory and a processor coupled to the memory, the processor executing instructions stored in the memory. The system for lane selection may include a controller that controls one or more vehicle systems to steer an autonomous vehicle from a current node to a subsequent node. The instructions may include receiving a current state of the autonomous vehicle, a current state of a traffic participant vehicle, and a target location of the autonomous vehicle within an operating environment, projecting the autonomous vehicle and the traffic participant vehicle onto a graph network based on the current state of the autonomous vehicle and the current state of the traffic participant vehicle, wherein one or more nodes of the graph network may represent a discretized space within the operating environment, determining a current node of the autonomous vehicle within the graph network, and determining a subsequent node of the autonomous vehicle based on: identifying one or more neighboring nodes that may be adjacent to the current node, calculating one or more travel times associated with each of the one or more neighboring nodes, calculating one or more step-wise costs associated with each of the one or more neighboring nodes, calculating one or more heuristic costs associated with each of the one or more neighboring nodes, and predicting a location of the traffic participant vehicle based on the travel times, the step-wise costs, the heuristic costs, and a distance to the target.
[0008] One or more of the stepped costs associated with each of the one or more adjacent nodes may include control effort, travel time, risk, and switching cost. The control effort may be determined based on the Euclidean distance between the current node and the corresponding adjacent node on the horizontal axis and the vertical axis. The travel time may be determined based on the current state of the autonomous vehicle (including the current speed of the autonomous vehicle). The risk may be determined based on the current state of the traffic participant vehicle relative to the current state of the autonomous vehicle and the amount of fluctuation associated with the traffic participant vehicle. The switching cost may be determined based on a function of the deviation of the initial position of the autonomous vehicle from the previous target channel.
[0009] According to one aspect, a computer-implemented method for channel selection may include receiving a current state of an autonomous vehicle, a current state of a traffic participant vehicle, and a target location of the autonomous vehicle within an operating environment, projecting the autonomous vehicle and the traffic participant vehicle onto a graph network based on the current state of the autonomous vehicle and the current state of the traffic participant vehicle, wherein one or more nodes of the graph network may indicate a discretized space within the operating environment, determining a current node of the autonomous vehicle within the graph network, and determining a subsequent node of the autonomous vehicle based on identifying one or more adjacent nodes that may be adjacent to the current node, calculating one or more travel times associated with each of the one or more adjacent nodes, calculating one or more step costs associated with each of the one or more adjacent nodes, calculating one or more heuristic costs associated with each of the one or more adjacent nodes, and predicting a location of the traffic participant vehicle based on the travel times, step costs, heuristic costs, and distance to the target.
[0010] A computer-implemented method for channel selection may include determining a subsequent node for an autonomous vehicle based on calculating one or more total costs associated with each of one or more neighboring nodes, determining the one or more total costs associated with each of the one or more neighboring nodes as a sum of one or more stepped costs associated with each of the one or more neighboring nodes and one or more heuristic costs associated with each of the one or more neighboring nodes, and controlling one or more vehicle systems to steer the autonomous vehicle from a current node to a subsequent node. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Figure 1 is an exemplary schematic diagram of a system for channel selection according to one aspect.
[0012] Figure 2is an exemplary flow chart of a method for channel selection according to one aspect.
[0013] Figure 3 is a diagram of exemplary components of a system for channel selection according to one aspect.
[0014] Figure 4 is an exemplary scenario in which a system for channel selection can be implemented according to one aspect.
[0015] Figure 5 is an exemplary scenario in which a system for channel selection can be implemented according to one aspect.
[0016] Figure 6 is an illustration of an exemplary computer-readable medium or computer-readable device including processor-executable instructions configured to embody one or more of the provisions set forth herein according to one aspect.
[0017] Figure 7 is an illustration of an exemplary computing environment in which one or more of the provisions set forth herein may be implemented according to one aspect. DETAILED DESCRIPTION
[0018] The following includes definitions of selected terms used herein. The definitions include various examples and / or forms of components that fall within the scope of a term and that can be used in embodiments. These examples are not intended to be limiting. Furthermore, one of ordinary skill in the art will appreciate that the components discussed herein can be combined, omitted, or organized with other components or into different architectures.
[0019] As used herein, a "processor" processes signals and performs general computation and arithmetic functions. The signals processed by a processor may include digital signals, data signals, computer instructions, processor instructions, messages, bits, bit streams, or other means that can be received, transmitted, and / or detected. Generally speaking, a processor can be a variety of processors, including multiple single-core and multi-core processors and coprocessors and other multiple single-core and multi-core processor and coprocessor architectures. A processor may include various modules to perform various functions.
[0020] As used herein, "memory" may include volatile memory and / or non-volatile memory. Non-volatile memory may include, for example, ROM (read-only memory), PROM (programmable read-only memory), EPROM (erasable programm ...
[0021] As used herein, a "disk" or "drive" may be a magnetic disk drive, a solid-state disk drive, a floppy disk drive, a tape drive, a Zip drive, a flash memory card, and / or a memory stick. Furthermore, the disk may be a CD-ROM (Compact Disc ROM), a CD-Recordable Drive (CD-R Drive), a CD-Rewritable Drive (CD-RW Drive), and / or a Digital Video ROM Drive (DVD-ROM). The disk may store an operating system that controls or allocates resources of a computing device.
[0022] As used herein, "bus" refers to an interconnected architecture that is operably connected to other computer components within a computer or between computers. A bus can transfer data between computer components. A bus can be a memory bus, a memory controller, a peripheral bus, an external bus, a crossbar switch, and / or a local bus, etc. A bus can also be a vehicle bus that interconnects components within a vehicle using protocols such as Media Oriented Systems Transport (MOST), Controller Area Network (CAN), Local Interconnect Network (LIN), etc.
[0023] As used herein, a "database" may refer to a table, a set of tables, and a set of data stores (eg, disks) and / or methods for accessing and / or manipulating those data stores.
[0024] An "operable connection" or a connection that causes entities to be "operably connected" is a connection that can send and / or receive signals, physical communications and / or logical communications. An operable connection may include a wireless interface, a physical interface, a data interface and / or an electrical interface.
[0025] As used herein, "computer communication" refers to communication between two or more computing devices (e.g., computers, personal digital assistants, cellular phones, network devices), and can be, for example, network transfers, file transfers, applet transfers, email, Hypertext Transfer Protocol (HTTP) transfers, etc. Computer communication can occur across, for example, wireless systems (e.g., IEEE 802.11), Ethernet systems (e.g., IEEE 802.3), token ring systems (e.g., IEEE 802.5), local area networks (LANs), wide area networks (WANs), point-to-point systems, circuit switching systems, packet switching systems, and the like.
[0026] As used herein, "vehicle" refers to any mobile vehicle that can carry one or more human occupants and is powered by any form of energy. The term "vehicle" includes cars, trucks, vans, minivans, SUVs, motorcycles, scooters, boats, personal watercraft, and aircraft. In some scenarios, a motor vehicle includes one or more engines. In addition, the term "vehicle" may refer to an electric vehicle (EV) powered by one or more electric motors that are powered entirely or partially by batteries. EV may include battery-powered electric vehicles (BEVs) and plug-in hybrid electric vehicles (PHEVs). In addition, the term "vehicle" may refer to an autonomous vehicle and / or a self-driving vehicle powered by any form of energy. An autonomous vehicle may or may not carry one or more human occupants.
[0027] As used herein, a "vehicle system" can be any automated or manual system that can be used to enhance vehicle operation, driving, and / or safety. Exemplary vehicle systems include an autopilot system, an electronic stability control system, an anti-lock braking system, a brake assist system, an automatic brake pre-fill system, a low-speed follow system, a cruise control system, a collision warning system, a collision mitigation braking system, an automatic cruise control system, a lane departure warning system, a blind spot indicator system, a lane keeping assist system, a navigation system, a transmission system, a brake pedal system, an electronic power steering system, a vision device (e.g., a camera system, a proximity sensor system), a climate control system, an electronic preload system, a monitoring system, an occupant detection system, a vehicle suspension system, a vehicle seating configuration system, a vehicle cabin lighting system, an audio system, a sensory system, and the like.
[0028] Aspects discussed herein can be described and implemented in the context of non-transitory computer-readable storage media that store computer-executable instructions. Non-transitory computer-readable storage media include computer storage media and communication media. For example, flash memory drives, digital versatile disks (DVDs), compact disks (CDs), floppy disks, and magnetic tape cassettes. Non-transitory computer-readable storage media can include volatile or non-volatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer-readable instructions, data structures, modules, or other data.
[0029] Figure 1 is an exemplary schematic diagram of a system for channel selection according to one aspect. Figure 1 The system for channel selection may include a scenario runner 110, an open source Car Learning to Act (CARLA) simulator 120, a Robot Operating System (ROS) bridge 130, a channel selector 150, and a controller 160. The controller may include a real-time planner 162 and a real-time controller 164.
[0030] According to one aspect, channel selection can be implemented as an arbitrary channel selection algorithm for a system that can be used for channel selection. In particular, highway driving can be considered as a target scenario, where each channel has different levels of traffic flow. When channel changes are arbitrary, it may be advisable not to change the channel unless it is highly beneficial, such as significantly reducing travel time or obtaining higher safety. It may be a challenge to evaluate such "benefits" together with multiple surrounding vehicles with uncertain dynamic speeds and headings. There may be a real-time channel selection algorithm that has careful cost considerations and has design modularity. The algorithm may include search-based optimization that evaluates the uncertain dynamic positions of other vehicles in continuous time and space domains. A motion planner framework (e.g., neural network integrated model predictive control) may be included in the CARLA simulation environment.
[0031] Because various traffic participants and vehicles have different, often unknown, and potentially conflicting, objectives, unstructured situations (e.g., merging in dense traffic) may need to be negotiated. This negotiation requires agents to both indicate their own intentions and interpret and respond to the intentions of others. Due to high computational costs and substantial uncertainty, these behaviors are typically planned only over short time horizons, and changing lanes during uncertain scenarios may not be possible.
[0032] Therefore, the system for channel selection focuses on an independent long-term strategic decision-making process that carefully estimates the benefits of channel changes to each channel and can be coupled with more computationally demanding negotiation behaviors. By incorporating long-term strategies, agents (e.g., or autonomous vehicles) can potentially avoid challenging interactions or scenarios that can be configured so that the agent has sufficient time or a favorable position to handle the scenario.
[0033] A system for channel selection provides many benefits and advantages. For example, a first challenge in designing an independent channel selector or a system for channel selection can involve a cost formula that can be used in a motion planning algorithm. In a scenario where there are three possible channel selections (i.e., channel change to the left, keep the current channel, and channel change to the right), each channel can be associated with a unique situation or scenario (e.g., a vehicle in the right channel is volatile, a vehicle in the center channel is slow, and a small gap between vehicles in the left channel). Based on this example, the cost formula can comprehensively cover the travel time, the effort of changing channels, and the risks associated with limited space and variability.
[0034] A second challenge in designing a system for lane selection can involve predicting the locations of other vehicles. Each vehicle can be different, and other traffic participant vehicles can have complex decision-making mechanisms.
[0035] Thus, a channel selector or a system for channel selection may be a flexible place holder for various prediction modules, each of which may be effective in unique circumstances.
[0036] A third challenge in designing systems for channel selection can relate to computational efficiency. The decision-making process during channel changes should typically be performed in a timely manner, and therefore the computations used for channel selection should be efficient. Considering channel selection as a long-term plan with multiple channel options, the choice of problem structure and algorithm can be leveraged to ensure real-time computational efficiency.
[0037] The system for channel selection described herein can provide a design and cost function under the search-based optimization method A* and extend the contribution of this method to enable systematic evaluation of dynamic obstacles (e.g., by accelerating Dijkstra's algorithm). In addition, the system for channel selection can have a modular framework so that any choice of prediction model (e.g., for other vehicles) and motion planner can be adapted under specific conditions. Thus, challenges associated with cost quantization and computational efficiency can be addressed. In this way, the system for channel selection can integrate motion planner design and demonstrate a complete pipeline for automatic channel changes.
[0038] A. Graph Network
[0039] According to one aspect, a processor may receive a current state of an autonomous vehicle, a current state of a traffic participant vehicle, and a target location of the autonomous vehicle within an operating environment. The processor may project the autonomous vehicle and the traffic participant vehicle onto a graph network based on the current state of the autonomous vehicle and the current state of the traffic participant vehicle. One or more nodes of the graph network may indicate a discretized space within the operating environment. The processor may determine an initial node and a current node (e.g., node 0) of the autonomous vehicle within the graph network. Figure 4 An exemplary graph network is described.
[0040] Autonomous vehicles and traffic participant vehicles can be initialized on the graph network. According to one aspect, given a road angle ψ, each position (x, y) can be rotated clockwise so that the direction of travel of the corridor can be set to east (e.g., travel from left to right).
[0041] x r =x cos ψ+y sin ψ,
[0042] y r =x sin ψ-y cos ψ (1)
[0043] This alignment enables the processor to perform indexing in a straightforward manner.
[0044] The processor can shift the rotation position (x r ,y r ) and project the rotation position onto the relative space. The vertical position can be set to 0 (ie, ), the longitudinal position can be offset Similarly, the longitudinal position of the vehicle i can also be shifted Right now, The lateral position of the autonomous vehicle can be rounded to the nearest node and shifted to the leftmost channel
[0045]
[0046]
[0047] There is a set of channel numbers J. The channel numbers can be in ascending order {1, 2, ... N lane This projection can reduce the size, keep the nodes evenly distributed with a constant step size, and make analysis simpler. However, it may cause an offset between the original and projected positions.
[0048] If the offset is not systematically evaluated to account for this offset in the cost formalization, then this offset can produce restorative behavior when the autonomous vehicle may be changing course.
[0049] For other vehicles, the lateral position can be relative to the channel width l lane Projected and shifted to the leftmost channel. Formally, for vehicle i∈{1,…,N_veh},
[0050]
[0051] Likewise, the lateral positions of other traffic participant vehicles may be in a continuous space, and there may not be any offset between the original position and the projected position.
[0052] B. Cost digitization
[0053] The processor can determine a subsequent node for the autonomous vehicle based on the following operations: identifying one or more neighboring nodes that can be adjacent to the current node, calculating one or more travel times associated with each of the one or more neighboring nodes, calculating one or more step costs associated with each of the one or more neighboring nodes, calculating one or more heuristic costs associated with each of the one or more neighboring nodes, and predicting a location of a traffic participant vehicle.
[0054] The processor may determine a subsequent node for the autonomous vehicle by calculating one or more total costs associated with each of the one or more neighboring nodes. The one or more total costs associated with each of the one or more neighboring nodes may be a sum of one or more stepped costs associated with each of the one or more neighboring nodes and one or more heuristic costs associated with each of the one or more neighboring nodes.
[0055] According to one aspect, the processor can perform channel selection by optimizing the cost framework as an A* search.The total cost f at each node n obtained from any parent node n0 of the node can include a stepwise cost g and a heuristic cost h.
[0056] f(n|n0)=g(n|n0)+h(n) (5)
[0057] The stepwise cost g can thus represent the instantaneous cost of transitioning from one node to another and the heuristic cost h can thus represent the approximately optimal cost to the goal. Each cost h and g is described in more detail herein.
[0058] B.1. Tiered Costs
[0059] One or more of the stepped costs associated with each of the one or more adjacent nodes may indicate the instantaneous cost of transitioning from the current node to each of the one or more adjacent nodes, respectively. In other words, the stepped cost may indicate the cost associated with traveling the distance from the current node to the adjacent node to be processed. In other words, the stepped cost g represents the instantaneous cost of transitioning from one node to another. One or more of the stepped costs associated with each of the one or more adjacent nodes may include control effort, travel time, risk, and switching cost, which may be implemented as four unique penalties or penalty functions.
[0060] B.1.1. Tiered Costing: Controlling Workload
[0061] The control workload may be determined by the processor based on Euclidean distances between the current node and corresponding adjacent nodes on the horizontal axis and the vertical axis.
[0062] According to one aspect, longitudinal and lateral movement can be represented by the processor as control workload, and the control workload can be evaluated as the projection of the distance between nodes on the horizontal axis and the vertical axis. From node n0 to n, the penalty function for control workload can be expressed as:
[0063] g control (n|n0)=λ lng |d(n0,n)cos(θ)+|λ lat |d(n0,n)sin(θ)| (6)
[0064] Where λ represents the weight, d(n0,n) represents the Euclidean distance from node n0 to node n, and θ can be the relative angle of the transition maneuver to the channel angle. The relative angle θ can be uniquely defined under two conditions (i.e., whether the transition is on the same horizontal plane or not). Equation (6) thus includes a longitudinal component (cosine) and a lateral component (sinine).
[0065]
[0066] in and represents the projected lateral position of node n0 and node n. Because channel changing behavior can be risky, lateral control can be more significantly penalized than longitudinal control. In this regard, the processor can place a high weight on lateral control compared to longitudinal control, i.e., λlat>>λlng. Equation (7) describes the specific angle being used
[0067] B.1.2. Tiered Costs: Travel Time
[0068] The travel time can be determined by the processor based on the current state of the autonomous vehicle (including the current speed of the autonomous vehicle). Reducing the travel time can often be a primary motivation for channel changes and is therefore included as part of the cost function. Given the current speed v, the transition time in seconds from node n0 to node n can be written as:
[0069]
[0070] The distance d(n0,n) depends on the lateral position of the node, since the distance step may be different between the longitudinal direction and the lateral direction. If node n is located in the same lateral position of node n0, i.e., If not, that is, Therefore, the penalty function for travel time from node n0 to node n can be:
[0071]
[0072] where v has units of [m / s]. Equation (10) may indicate the additional distance or cost associated with changing channels (eg, due to additional time and / or distance traveled).
[0073] The processor can estimate the additional travel time due to the slow vehicle ahead. f is less than the autonomous vehicle's vehicle speed, then it can be assumed that the autonomous vehicle follows the speed of the preceding vehicle (i.e., the vehicle in front of the autonomous vehicle), and the reduced speed can be calculated as the additional travel time Punishment in the form of:
[0074]
[0075] where (·)+ indicates a bounded positive value, i.e., max(0,·).
[0076] If the leading vehicle is faster than the autonomous vehicle (ie, < v f ), the additional travel time may become a negative cost, thereby encouraging the autonomous vehicle to stay at the same lateral position as node n. Equation (12) can be used by the processor to calculate the estimated travel time from one node to another. The complete cost function for travel time can be:
[0077] g time (n|n0)=λ time (t(n0,n)+t add (n0,n)) (12)
[0078] Equations (11) and (12) take equations (9) and (10) and separate them into a term with the time associated with the same channel time and the additional cost of changing the channel time.
[0079] B.1.3. Tiered Costs: Risks
[0080] The risk may be determined by the processor based on a current state of the traffic participant vehicle relative to a current state of the autonomous vehicle and an amount of volatility associated with the traffic participant vehicle.
[0081] To balance or compensate for the travel time savings from driving risk, a risk penalty can be assessed by the processor. Risk can increase in two situations. First, when the physical distance to a neighboring vehicle is short (e.g., proximity risk). Second, when neighboring vehicles fluctuate (e.g., uncertainty risk). In this regard, the processor can assess the overall risk based on this.
[0082] Neighbor risk can be assessed by a processor based on an inverse Euclidean distance that causes risk to increase exponentially as distance decreases (e.g., the closer an autonomous vehicle is to another vehicle, the greater the risk). In this regard, at node n, the neighbor risk can be a closeness component:
[0083]
[0084] Among them I n represents a set of vehicle indices on the same channel as node n, represents vehicle i at time t n The estimated position of t n Indicates the travel time from the current measurement location to node n. Neighbor risk may indicate an assessment of the overall risk associated with each corridor, which enables the autonomous vehicle to select corridors with less traffic density.
[0085] The uncertainty risk can be a measure of the degree of variability of other traffic participant vehicles, or can indicate the amount of change detected by sensors from an autonomous vehicle. For example, if a vehicle typically has emergency braking and / or sudden acceleration, then driving on a channel associated with such a volatile vehicle may not be recommended. In this case, the processor can suggest another channel with multiple less volatile vehicles. The determination of such uncertainty risk based on the empirical distribution of acceleration through the entropy of information theory can be performed by the processor. The empirical distribution can be constructed based on real-time observations (for example, to adapt to real-time changes), and the applied Bayesian inference can be performed to update the distribution with new observations. In this regard, the uncertainty risk can be a change component:
[0086]
[0087] where H represents the entropy function and A i represents the discrete random variable for the acceleration of vehicle i.
[0088] The risk cost can be the adjacent risk r adj(n) and uncertainty risk r uncert(n) The sum of:
[0089] g risk(n) =r- adj (n)+r uncert (n) (15)
[0090] B.1.4. Tiered Costs: Switching Costs
[0091] The switching cost may be determined by the processor as a function of the deviation of the autonomous vehicle's initial position from the previous target channel. According to one aspect, continuous channel changes may not be recommended unless necessary to increase safety. For example, if the target channel is updated when changing channels, this may result in erratic maneuvers, which may not be recommended for driving comfort and safety. The switching cost may be expressed as:
[0092]
[0093] where Λ switch(Δ) can be expressed as a dynamic weight as a function of the offset of the initial autonomous vehicle position from the previous target channel Δ, and y *,prevThe lateral position of the previous target channel can be used. As discussed above, this adaptive weighting can be implemented to mitigate the fluctuating behavior caused by the offset between the original position and the projected position of the autonomous vehicle (e.g., returning to the source point midway through a channel change). If the autonomous vehicle is changing channels (i.e., |Δ|>0), then the dynamic weighting can be increased, and if the autonomous vehicle completes the channel change (i.e., |Δ|≈0), then the dynamic weighting can be decreased.
[0094]
[0095] Equation (17), the absolute value of Δ can indicate the channel deviation. If the autonomous vehicle is in the center of the channel, regardless of whether the autonomous vehicle has completed the move or whether the autonomous vehicle has not yet started moving, then this term will be 0 because the autonomous vehicle is in the center of the channel. When the autonomous vehicle moves out of the center of the channel, this term will become an increasing term or larger, thereby increasing the cost. In this way, the more complete the execution of an action (such as a channel change), the more committed the autonomous vehicle can be to the action, thereby reducing the jitter associated with the decision or channel selection.
[0096] The full step-wise cost can be calculated by the processor as the sum of each penalty function (i.e., for getting node n from n0) plus the Euclidean distance to the goal location:
[0097] g(n|n0;y *,prev ) (18)
[0098] =g control (n|n0)+g time (n|n0)+g risk (n|n0)+g switch (n|n0;y *,prev )+λ goal d(n,goal)=Eq(6)+Eq(12)+Eq(15)+Eq(16)+λ goal d(n,goal) (19)
[0100] The distance λ that can be added to the target goald(n,goal) To achieve admissibility, which is discussed in more detail herein. In this way, the cost configuration may lack hard constraints. In particular, collisions can be treated as additional travel costs and / or risks. The absence of hard constraints ensures that the algorithm always has a feasible solution for any search (i.e., a solution always exists). In addition to providing a solution guarantee, this numerical formalization by the processor positions the vehicle to only participate in provably minimum-cost interactions.
[0101] B.2. Heuristic Cost
[0102] One or more of the heuristic costs associated with each of the one or more neighboring nodes may indicate an estimated optimal cost to a target location. In other words, the heuristic cost may be a lower bound on a cost or ideal cost that may not be achievable in the real world. According to one aspect, the heuristic cost may represent an approximate optimal cost to the target. In other words, the heuristic cost may be added as long as it is a lower bound at which the stepwise cost will actually terminate, thereby enabling the algorithm to be executed faster and in a more computationally efficient manner. Thus, the heuristic cost may be used to create a more computationally efficient channel selection.
[0103] For example, using the analogy of traveling from point A to point B on a map or in the real world, a heuristic might be the straight-line distance from point A to point B. The stepped cost can account for any obstacles, such as buildings or other vehicles carrying other road users. In this way, a path with the best or lowest cost can be determined. However, the optimal stepped cost may adhere to or comply with one or more restrictions or constraints to mitigate collisions with obstacles and buildings in order to reach the destination. The heuristic cost can be a tool for faster route selection and can be any arbitrary number that follows a set of rules. This set of rules can be a statistically lower bound on the true cost.
[0104] Given geographic information, the heuristic cost h approximately measures the cost to reach the goal. The heuristic cost can be a lower bound that ignores risk and switching costs. Formally, for a node n:
[0105] h(n)=λ goal d(n,goal) (20)
[0106] where the weight λ goal As the autonomous vehicle moves closer to the target point (e.g., a highway exit), it can be adaptively increased, i.e., In this way, the heuristic cost may be admissible, and thus the optimal path may be guaranteed. This is also true in the case of variations in the termination criteria discussed herein. The heuristic cost may be admissible (i.e., a lower bound on the optimal cost, since the stepwise cost is strictly positive and is lower bounded by the heuristic cost).
[0107] C. Estimation of the Position of Traffic Participants' Vehicles
[0108] Other vehicles can be moving obstacles. Estimating the position of other vehicles at each spatial step (i.e., at each transition of the autonomous vehicle from one node to another) can be useful, in particular for accurately evaluating the additional travel time cost according to equation (12) and the risk cost equation (15). The framework can be used flexibly with any prediction module or processor that outputs a trajectory given an observation, regardless of its model. In other words, any prediction module Φ can be applicable such that:
[0109]
[0110] in represents the initial position of vehicle i and t0 can be the current time in the measurement. Recall that t n Can be from the initial position The travel time to node n. For example, with a constant speed model, equation (21) becomes:
[0111]
[0112] Where (x i0 ,y i0 ) can be the initial position at t0, and Ψ i It can be the inertial heading angle of vehicle i relative to the road angle ψ. According to one aspect, more advanced prediction modules, such as Markov chain methods, can be applied. In addition, collaborative behavior can be evaluated in this framework using prediction modules that consider interactions between agents, such as social generative adversarial networks or graph networks for intention reasoning.
[0113] D. Termination Criteria
[0114] Generally speaking, the A* algorithm can reach the target position (i.e., n=n goal ). For example, in the case of driving on a highway, if the exit is located several kilometers away, the target may not be within the search range. There may be a variety of techniques to solve this problem, such as projecting the target to the nearest node within the search range. According to one aspect, the system can relax the termination criterion by having multiple alternative targets in the longitudinal end of the channel. The system can terminate when the path reaches any end point with the minimum cost (i.e., ) stops the algorithm, where the superscript ' indicates an alternative target node. It will be appreciated that having an alternative target can result in a longer or larger global path if the path from the alternative target to the true target breaks optimality. However, in practice, the rolling horizon window can correct for these types of errors before the autonomous vehicle reaches any suboptimal decision points. Any alternative target is reachable, and therefore there is no stopping criterion related to path-finding failure.
[0115] E. Overview
[0116] Figure 1 The components can be connected via a processor and a memory (such as Figure 7 The controller may be implemented using a processing unit 716 and a memory 718. The processor may perform any calculations of any of the above equations (e.g., equations (1)-(23), etc.). In addition, the controller may control one or more vehicle systems to steer the autonomous vehicle from the current node to the subsequent node.
[0117] In short, given a current node and a goal node, A* finds a path by exploring nodes prioritized by low cost until the search reaches the goal node. There are variations specifically tailored to the path selection problem.
[0118] Figure 2 is an exemplary flow chart of a method for channel selection according to one aspect. According to one aspect, the method for channel selection may receive one or more inputs including:
[0119] The current state of the autonomous vehicle, (x ego ,y- ego ,v ego );
[0120] The current state of the vehicle i(x i ,y i ,v i ,Ψ i )for i∈{1,…,N veh};
[0121] The centerline trajectory L of channel j j for j∈{1,…,N lane};and
[0122] Target position (x goal ,y goal ).
[0123] According to one aspect, a method for channel selection may generate an output of a sequence of nodes or paths based on one or more inputs, which may include one or more channel selections from a graph network at one or more different times.
[0124] The method may include receiving 202 a current state of the autonomous vehicle, a current state of the traffic participant vehicle, and a target position of the autonomous vehicle, projecting 204 the autonomous vehicle and the traffic participant vehicle onto a graph network, determining 206 a current node of the autonomous vehicle within the graph network, and determining 208 a subsequent node of the autonomous vehicle. Receiving 202 and projecting 204 may include initializing the graph network G by projecting the vehicle onto relative space and projecting a start node onto an open list l open , the open list indicates the nodes that are not processed by the channel selection method, algorithm, or system and have not yet been considered. If any alternative target is in the closed list l close In (i.e., if n′∈l close and indicates nodes processed or considered or visited by the channel selection method, algorithm, system, wherein Then the method can end.
[0125] Methods may include repeating the following:
[0126] a) Find the node with the lowest f according to equation (5) and add the node to the closed list l closed and setting the node added to the current node n0; and
[0127] b) For each neighboring node n:
[0128] if or n∈l closed , then ignore the node;
[0129] if
[0130] Add nodes to l open ;
[0131] Set the current node n0 as the parent node n p ;
[0132] Calculate the travel time t(n|n0) according to equation (8);
[0133] Calculate the total travel time t n =tn0+t(n|n0);
[0134] In t n Within, use equation (21) to predict the positions of other vehicles; and
[0135] Calculate f according to equation (5), g according to equation (19), and h according to equation (20), and record t n (e.g., total time or complete time).
[0136] If n∈l open , then update n with lower g p ,f,g,h and t n In other words, if the node is unprocessed or in the open list, then update the parent node and all costs with the lower step cost.
[0137] Find the node with the lowest f in equation (5) and add the node to the closed list l closed . Set the node to the current node n0.
[0138] In any alternative target closed When n′∈l closed In the case of stop.
[0139] A parent node leads to a child node or the current node. Once a path exists, the parent node is used to restore the established path. In other words, once a target is reached, the system or method can include going to the target's parent, from there to the target's parent's parent, and then to the target's parent's parent, all the way back to the beginning, thereby tracing the path to be output.
[0140] Recall that any alternative goal is reachable, and thus there is no stopping criterion related to failure to find an admissible path. Recall also that the heuristic cost is admissible, and thus optimality of the solution is guaranteed (eg, even with multiple alternative goals).
[0141] Considering a finite set of alternative targets G s , if the heuristic cost h is admissible, A* terminates by finding the optimal path (i.e., the best choice with alternative goals). This can be proved as follows: Suppose g1 and g2 are G s Assume the path is in g1 but the algorithm ends at g2 with a suboptimal cost:
[0142] f(g1)<f(g2) (23)
[0143] Node n must exist in the open list:
[0144] [R1] does not expand, i.e., f(n) ≥ f(g2)
[0145] [R2] is the best path from the beginning (as part of the best path), that is, g(n) = g * (n), where * indicates optimal.
[0146] Now, f(n) reads:
[0147] f(n)=g(n)+h(n) (24)
[0148] =g * (n)+h(n) through [R2] (25)
[0149] ≤g * (n)+h * (n) by permissibility (26)
[0150] By [R1], the following is true:
[0151] g *(n) +h * (n)≥f(n)≥f(g2) (27)
[0152] →f(g1)≥f(g2)
[0153] Equation (28) contradicts Equation (23), and the proof ends here. Alternatively, the problem with alternative goals can be transformed into a typical problem (where there is one true goal) by adding a pseudo goal (with zero stepwise and heuristic costs) that can be converted from any alternative goal.
[0154] Figure 3 is an exemplary component diagram of a system 300 for channel selection according to one aspect. The system 300 for channel selection (e.g., the system may be a channel selector) may include a pipeline associated with channel changes. Various sensors and inputs may be provided to the system 300 for channel selection, such as images from a camera 302 or image capture device, radar data from a radar sensor 304, lidar data from a lidar sensor 306, GPS data from a global positioning system (GPS) device 308, or other data from a database 310 that may include GPS data. A perception module 312 implemented via a processor may process the input data and feed the data to the system 300 for channel selection. The system 300 for channel selection may include three layers: (i) a channel selector 314, (ii) a trajectory planner 316, and (iii) a trajectory follower 318. The system 100 for channel selection or the scenario runner 110 may include one or more of the camera 302, the radar sensor 304, the lidar sensor 306, the GPS device 308, and the like. Database 310 may be in computer communication with ROS bridge 130 and / or system for channel selection 100 via one or more vehicle systems (e.g., communication interfaces, etc.). Channel selector 150 may include channel selector 314, and controller 160 may include trajectory planner 316. Trajectory follower 318 may be implemented via controller 160, real-time planner 162, and / or real-time controller 164.
[0155] Given the geographical information of surrounding corridors, ie, the trajectory of the centerline, the corridor selector 314 may determine the target corridor taking into account traffic volume, risk, and travel time.
[0156] The determined centerline trajectory of the target channel can be sent from channel selector 314 to trajectory planner 316, which can determine an unobstructed position trajectory to the target channel (i.e., motion planner). Finally, trajectory follower 318 or controller can calculate throttle and steering angles to track the unobstructed position trajectory (i.e., controller). According to one aspect, channel selector 314 can combine trajectory planning and trajectory follower algorithms.
[0157] The channel selector 314 or a system for channel selection can utilize knowledge of perception and positioning information as well as geographic information of the channel and highway exits to implement channel selection.According to one or more aspects, noise in positioning and perception may or may not be considered.
[0158] Figure 4 is an exemplary scenario 400 in which a system for channel selection may be implemented according to one aspect. Figure 4 In the example, the processor can generate a graph in which each node represents a location or potential location of the autonomous vehicle 402 (e.g., a controlled autonomous vehicle), and each edge can represent a maneuver to move from one location or node to another location or node. The nodes can be spatially evenly distributed at vertical and horizontal levels.
[0159] As from Figure 4 As seen from a bird's-eye view, the vertical planes can correspond to corridors, with one row of nodes per corridor (i.e., vertical step size = corridor width). The horizontal nodes can be evenly distributed with a step size equal to the current speed at a fixed time step (i.e., horizontal step size = current speed * time step). According to one aspect, the autonomous vehicle 402 can be positioned in discrete space, while the other traffic participant vehicles 404, 406, 408 can be positioned in continuous space.
[0160] Figure 5 is an exemplary scenario in which a system for channel selection can be implemented according to one aspect.
[0161] Yet another aspect relates to a computer-readable medium comprising processor-executable instructions configured to implement an aspect of the technology presented herein. Figure 6An aspect of a computer-readable medium or computer-readable apparatus designed in these ways is shown in , where an embodiment 600 includes a computer-readable medium 608, such as a CD-R, DVD-R, flash drive, hard drive platter, etc., on which computer-readable data 606 is encoded. The encoded computer-readable data 606 (such as binary data including a plurality of zeros and ones as shown in 606) in turn includes a set of processor-executable computer instructions 604, which are configured to perform one or more operations according to the principles set forth herein. In this embodiment 600, the processor-executable computer instructions 604 may be configured to perform a method 602, such as Figure 2 In another aspect, the processor-executable computer instructions 604 may be configured to implement a system such as Figure 1 System 100 or Figure 3 Many such computer-readable media can be designed by one of ordinary skill in the art that are configured to operate in accordance with the techniques presented herein.
[0162] As used in this application, the terms "component," "module," "system," "interface," and the like are generally intended to refer to a computer-related entity, hardware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processing unit, an object, an executable, a thread of execution, a program, or a computer. By way of illustration, both an application running on a controller and the controller can be components. One or more components residing within a process or thread of execution and a component can be localized on one computer or distributed between two or more computers.
[0163] Furthermore, the claimed subject matter is implemented as a method, apparatus, or article of manufacture using standard programming or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed subject matter. The term "article of manufacture," as used herein, is intended to encompass a computer program accessible from any computer-readable device, carrier, or media. Of course, many modifications may be made to this configuration without departing from the scope or spirit of the claimed subject matter.
[0164] Figure 7 The following discussion provides a description of a suitable computing environment for implementing one or more aspects of the provisions set forth herein. Figure 7The operating environment is only one example of a suitable operating environment and is not intended to suggest any limitation as to the scope of use or functionality of the operating environment. Exemplary computing devices include, but are not limited to, personal computers, server computers, handheld or laptop devices, mobile devices (such as mobile phones, personal digital assistants (PDAs), media players, etc.), multiprocessor systems, consumer electronics devices, minicomputers, mainframe computers, distributed computing environments including any of the above, and the like.
[0165] In general, various aspects are described in the general context of "computer-readable instructions" executable by one or more computing devices. Computer-readable instructions can be distributed via computer-readable media, as discussed below. Computer-readable instructions can be implemented as program modules, such as functions, objects, application programming interfaces (APIs), data structures, etc., that perform one or more tasks or implement one or more abstract data types. Typically, the functionality of the computer-readable instructions is combined or distributed as needed in various environments.
[0166] Figure 7 A system 700 is shown that includes a computing device 712 configured to implement one aspect provided herein. In one configuration, the computing device 712 includes at least one processing unit 716 and a memory 718. Depending on the exact configuration and type of the computing device, the memory 718 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.), or a combination of both. Figure 7 , as shown by dashed line 714.
[0167] In other aspects, the computing device 712 includes additional features or functionality. For example, the computing device 712 may include additional storage devices, such as removable storage devices or non-removable storage devices, including but not limited to magnetic storage devices, optical storage devices, etc. Such additional storage devices may be used to store data or data on a computer. Figure 7 7. In one aspect, computer readable instructions for implementing one aspect provided herein are in the storage device 720. The storage device 720 may store other computer readable instructions to implement an operating system, application programs, etc. For example, the computer readable instructions may be loaded into the memory 718 for execution by the processing unit 716.
[0168] As used herein, the term "computer-readable media" includes computer storage media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable instructions or other data. Memory 718 and storage device 720 are examples of computer storage media. Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage devices, cassettes, magnetic tape, magnetic disk storage devices or other magnetic storage devices, or any other medium that can be used to store the desired information and that can be accessed by computing device 712. Any such computer storage media is part of computing device 712.
[0169] The term "computer-readable media" includes communication media. Communication media typically embodies computer-readable instructions or other data in a "modulated data signal" such as a carrier wave or other transport mechanism and includes any information delivery media. The term "modulated data signal" includes a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
[0170] The computing device 712 includes an input device 724, such as a keyboard, a mouse, a pen, a voice input device, a touch input device, an infrared camera, a video input device, or any other input device. An output device 722, such as one or more displays, speakers, a printer, or any other output device, may be included in the computing device 712. The input device 724 and the output device 722 may be connected to the computing device 712 via a wired connection, a wireless connection, or any combination thereof. In one aspect, an input device or an output device from another computing device may be used as the input device 724 or output device 722 of the computing device 712. For example, the computing device 712 may include a communication connection 726 to facilitate communication with one or more other devices 730, such as via a network 728.
[0171] Although the subject matter has been described in language specific to structural features or methodological acts, it is to be understood that the subject matter of the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as exemplary aspects.
[0172] Various operations of various aspects are provided herein. The order in which one or more or all of the operations are described should not be interpreted as implying that these operations must be in order. Alternative orderings will be known based on the description. In addition, not all operations must be present in every aspect provided herein.
[0173] As used in this application, "or" is intended to mean an inclusive "or" rather than an exclusive "or". In addition, an inclusive "or" can include any combination thereof (e.g., A, B, or any combination thereof). In addition, unless otherwise specified or the context clearly points to a singular form, "a" and "an" as used in this application are generally interpreted to mean "one or more". In addition, at least one of A and B and / or similar expressions generally mean A or B or both A and B. In addition, to the extent that "includes," "having," "has," "with," or variations thereof are used in the detailed description or claims, such terms are intended to be inclusive in a manner similar to the term "comprising."
[0174] Furthermore, unless otherwise specified, the terms "first," "second," and the like do not imply temporal, spatial, or ordering. Rather, such terms are merely used as identifiers, names, and the like of features, elements, items, and the like. For example, a first channel and a second channel generally correspond to channel A and channel B, or two different or two identical channels, or the same channel. Additionally, "comprising," "comprises," "including," "includes," and the like generally mean comprising or including, but not limited to.
[0175] It will be appreciated that various of the features and functions disclosed above and other features and functions, or alternatives or variations thereof, may be ideally combined into many other different systems or applications. Furthermore, various currently unforeseen or unanticipated substitutions, modifications, variations, or improvements herein may be made later by those skilled in the art, and these are also intended to be encompassed by the appended claims.
Claims
1. A system for channel selection, the system comprising a memory, a processor coupled to the memory, and a controller, the processor executing instructions stored in the memory, the instructions comprising: receiving a current state of an autonomous vehicle, a current state of a traffic participant vehicle, and a target position of the autonomous vehicle within an operating environment; projecting the autonomous vehicle and the traffic participant vehicle onto a graph network based on the current state of the autonomous vehicle and the current state of the traffic participant vehicle, wherein one or more nodes of the graph network indicate a discretized space within the operating environment; determining a current node of the autonomous vehicle within the graphical network; as well as Determining a subsequent node for the autonomous vehicle is based on: Identifying one or more adjacent nodes adjacent to the current node; calculating one or more travel times associated with each of the one or more neighboring nodes; calculating one or more stepped costs associated with each of the one or more neighboring nodes; calculating one or more heuristic costs associated with each of the one or more neighboring nodes; as well as predicting a location of the traffic participant vehicle based on the one or more travel times, the one or more step-wise costs, the one or more heuristic costs, and a distance to the target location, Wherein, the controller controls one or more vehicle systems to steer the autonomous vehicle from the current node to the subsequent node.
2. The system for channel selection according to claim 1, wherein: The instructions include determining the subsequent node of the autonomous vehicle based on calculating one or more total costs associated with each of the one or more neighboring nodes, wherein the one or more total costs associated with each of the one or more neighboring nodes are the sum of one or more stepped costs associated with each of the one or more neighboring nodes and one or more heuristic costs associated with each of the one or more neighboring nodes.
3. The system for channel selection according to claim 1, wherein one or more of the stepped costs associated with each of the one or more neighboring nodes respectively indicate an instantaneous cost of transitioning from the current node to each of the one or more neighboring nodes. 4 . The system for channel selection of claim 1 , wherein one or more of the heuristic costs associated with each of the one or more neighboring nodes indicates an estimated best cost to the target location.
5. The system for channel selection according to claim 1 , wherein one or more of the stepped costs associated with each of the one or more adjacent nodes comprises a control effort cost, a travel time cost, a risk cost, and a switching cost, in, determining the control effort cost based on a Euclidean distance between the current node and each of the one or more neighboring nodes on a horizontal axis and a vertical axis, wherein the travel time cost is determined based on the current state of the autonomous vehicle, the current state including the current speed of the autonomous vehicle, wherein the risk cost is determined based on a current state of the traffic participant vehicle relative to the current state of the autonomous vehicle and a volatility associated with the traffic participant vehicle, Wherein, the switching cost is determined based on a function of a deviation of an initial position of the autonomous vehicle from a previous target path.
6. A system for channel selection, the system comprising: Memory; a processor coupled to the memory, the processor executing instructions stored in the memory, the instructions comprising: receiving a current state of an autonomous vehicle, a current state of a traffic participant vehicle, and a target position of the autonomous vehicle within an operating environment; projecting the autonomous vehicle and the traffic participant vehicle onto a graph network based on the current state of the autonomous vehicle and the current state of the traffic participant vehicle, wherein one or more nodes of the graph network indicate a discretized space within the operating environment; determining a current node of the autonomous vehicle within the graphical network; and Determining a subsequent node for the autonomous vehicle is based on: Identifying one or more adjacent nodes adjacent to the current node; calculating one or more travel times associated with each of the one or more neighboring nodes; calculating one or more stepped costs associated with each of the one or more neighboring nodes; calculating one or more heuristic costs associated with each of the one or more neighboring nodes; and predicting a location of the traffic participant vehicle based on the one or more travel times, the one or more step-wise costs, the one or more heuristic costs, and a distance to the target location; and A controller controls one or more vehicle systems to steer the autonomous vehicle from the current node to the subsequent node.
7. The system for channel selection according to claim 6, wherein one or more of the stepped costs associated with each of the one or more adjacent nodes comprises a control effort cost, a travel time cost, a risk cost, and a switching cost, in, determining the control effort cost based on a Euclidean distance between the current node and each of the one or more neighboring nodes on a horizontal axis and a vertical axis, wherein the travel time cost is determined based on the current state of the autonomous vehicle, the current state including the current speed of the autonomous vehicle, wherein the risk cost is determined based on a current state of the traffic participant vehicle relative to the current state of the autonomous vehicle and a volatility associated with the traffic participant vehicle, Wherein, the switching cost is determined based on a function of a deviation of an initial position of the autonomous vehicle from a previous target path.
8. A computer-implemented method for channel selection, the method comprising: receiving a current state of an autonomous vehicle, a current state of a traffic participant vehicle, and a target position of the autonomous vehicle within an operating environment; projecting the autonomous vehicle and the traffic participant vehicle onto a graph network based on the current state of the autonomous vehicle and the current state of the traffic participant vehicle, wherein one or more nodes of the graph network indicate a discretized space within the operating environment; determining a current node of the autonomous vehicle within the graphical network; as well as Determining a subsequent node for the autonomous vehicle is based on: Identifying one or more adjacent nodes adjacent to the current node; calculating one or more travel times associated with each of the one or more neighboring nodes; calculating one or more stepped costs associated with each of the one or more neighboring nodes; calculating one or more heuristic costs associated with each of the one or more neighboring nodes; predicting a location of the traffic participant vehicle based on the one or more travel times, the one or more step-wise costs, the one or more heuristic costs, and a distance to the target location; as well as One or more vehicle systems are controlled to steer the autonomous vehicle from the current node to the subsequent node.
9. The method of claim 8 , wherein the method comprises determining the subsequent node of the autonomous vehicle based on calculating one or more total costs associated with each of the one or more adjacent nodes, the one or more total costs associated with each of the one or more adjacent nodes being the sum of one or more stepped costs associated with each of the one or more adjacent nodes and one or more heuristic costs associated with each of the one or more adjacent nodes, respectively.
Citation Information
Patent Citations
Route determination device, vehicle control device, route determination method, and storage medium
CN108628300A