Path planning method and computer readable medium

文档序号:190981 发布日期:2021-11-02 浏览:22次 中文

阅读说明:本技术 路径规划方法及计算机可读介质 (Path planning method and computer readable medium ) 是由 蔡孟庭 孙晓 于 2021-03-11 设计创作,主要内容包括:一种路径规划的示例方法,包括以下中的至少一者:确定初始位置和至少一个车辆约束条件;预先确定到新位置的距离;基于至少一个车辆约束条件确定最小转弯半径;选择至少与最小转弯半径一样大的车辆转弯半径;基于至少一个车辆约束条件和车辆转弯半径来确定候选位置;验证候选位置相对于新位置是否有效;以及将新位置转换为候选位置。(An example method of path planning, comprising at least one of: determining an initial position and at least one vehicle constraint; predetermining a distance to the new location; determining a minimum turning radius based on at least one vehicle constraint; selecting a vehicle turning radius at least as large as the minimum turning radius; determining a candidate location based on at least one vehicle constraint and a vehicle turning radius; verifying whether the candidate location is valid with respect to the new location; and converting the new location to a candidate location.)

1. A method of path planning, comprising:

determining an initial position and at least one vehicle constraint;

predetermining a distance to the new location;

determining a minimum turning radius based on the at least one vehicle constraint;

selecting a vehicle turning radius at least as large as the minimum turning radius;

determining a candidate location based on the at least one vehicle constraint and the vehicle turning radius;

verifying whether the candidate location is valid with respect to the new location; and

converting the new location to the candidate location.

2. The method of claim 1, further comprising modifying the at least one vehicle constraint if the new location is not verified as valid.

3. The method of claim 1, wherein the at least one vehicle constraint is a vehicle speed, and wherein the minimum turn radius is based on the vehicle speed.

4. The method of claim 1, wherein the at least one vehicle constraint comprises at least one of a maximum speed and an acceleration limit.

5. The method of claim 1, wherein the vehicle turning radius is randomly selected to be greater than the minimum turning radius.

6. The method of claim 1, wherein the vehicle turning radius is selected to be weighted toward a larger turning radius.

7. The method of claim 1, further comprising reducing vehicle acceleration to reduce vehicle speed if the candidate location is invalid.

8. The method of claim 7, further comprising determining a new candidate location based on the reduced vehicle speed.

9. The method of claim 8, further comprising verifying whether the new candidate location is valid with respect to the new location.

10. The method of claim 9, further comprising converting the new location to a new candidate location.

11. A non-transitory computer readable medium comprising instructions that, when executed by a processor, cause the processor to perform:

determining an initial position and at least one vehicle constraint;

predetermining a distance to the new location;

determining a minimum turning radius based on the at least one vehicle constraint;

selecting a vehicle turning radius at least as large as the minimum turning radius;

determining a candidate location based on the at least one vehicle constraint and the vehicle turning radius;

verifying whether the candidate location is valid with respect to the new location; and

converting the new location to the candidate location.

12. The non-transitory computer-readable medium of claim 11, further comprising instructions that cause the processor to reduce the at least one vehicle constraint if the new location is not verified as valid.

13. The non-transitory computer-readable medium of claim 11, wherein the at least one constraint is a vehicle speed, and wherein the minimum turning radius is based on the vehicle speed.

14. The non-transitory computer-readable medium of claim 11, wherein the at least one vehicle constraint comprises at least one of a maximum speed and an acceleration limit.

15. The non-transitory computer-readable medium of claim 11, wherein the vehicle turning radius is randomly selected to be greater than the minimum turning radius.

16. The non-transitory computer-readable medium of claim 11, wherein the vehicle turning radius is selected to be weighted toward a larger turning radius.

17. The non-transitory computer-readable medium of claim 11, further comprising instructions that cause the processor to decrease vehicle acceleration to decrease vehicle speed if the candidate location is invalid.

18. The non-transitory computer-readable medium of claim 17, further comprising instructions that cause the processor to determine a new candidate location based on the reduced vehicle speed.

19. The non-transitory computer-readable medium of claim 18, further comprising instructions that cause the processor to verify whether the new candidate location is valid relative to the new location.

20. The non-transitory computer-readable medium of claim 19, further comprising instructions that cause the processor to convert the new location to a new candidate location.

Technical Field

The present disclosure relates to artificial neural networks, and in particular, to providing fused breadth-first, depth-first, and fast-exploration random tree searches in three dimensions with physical constraints.

Background

Currently, a search based on a fast-exploration random tree (RRT) randomly generates new states and expands the tree if the transition between the new state and the closest state on the tree is valid. This is an inefficient search method. In situations where the timeliness of the solution is important, a more efficient solution is sought. The present disclosure describes a method that integrates breadth-first search (BFS), depth-first search (DFS), and fast-explore random tree (RRT) searches. In contrast to current methods that randomly generate new states, the described method randomly selects a state from a growing tree with favorable states and expands the tree based on the physical constraints of the vehicle (constraints). The method may provide a solution to expedite the generation of routes from one point to another.

Disclosure of Invention

An example method of path planning, comprising: determining an initial position and at least one vehicle constraint; predetermining a distance to the new location; determining a minimum turning radius based on at least one vehicle constraint; selecting a vehicle turning radius at least as large as the minimum turning radius; determining a candidate location based on at least one vehicle constraint and a vehicle turning radius; verifying whether the candidate location is valid with respect to the new location; and converting the new location to a candidate location.

An example non-transitory computer-readable medium comprising instructions that, when executed by a processor, cause the processor to perform: determining an initial position and at least one vehicle constraint; predetermining a distance to the new location; determining a minimum turning radius based on at least one vehicle constraint; selecting a vehicle turning radius at least as large as the minimum turning radius; determining a candidate location based on at least one vehicle constraint and a vehicle turning radius; verifying whether the candidate location is valid with respect to the new location; and converting the new location to a candidate location.

Drawings

In the drawings:

FIG. 1 is a first example system according to one embodiment of this disclosure;

FIG. 2 is a second example system according to an embodiment of this disclosure;

FIG. 3 is an example overview according to one embodiment of the present disclosure; and

fig. 4 is an example method according to one embodiment of this disclosure.

Detailed Description

The following examples are set forth merely to illustrate the application of the present apparatus and method and are not intended to limit the scope thereof. Equivalent modifications of such apparatus and methods are intended to fall within the scope of the claims.

Throughout the following description and claims, certain terms are used to refer to particular system components. As one skilled in the art will appreciate, different groups may refer to components and/or methods by different names. This document does not intend to distinguish between components and/or methods that differ in name but not function.

In the following discussion and claims, the terms "include" and "comprise" are used in an open-ended fashion, and thus should be interpreted to mean "including, but not limited to … …". Furthermore, the terms "coupled" or "coupling" are intended to mean either an indirect or direct connection. Thus, if a first device connects to a second device, that connection may be through a direct connection or through an indirect connection via other devices and connections.

FIG. 1 depicts an example hybrid computing system 100, which hybrid computing system 100 may be used to implement a neural network associated with the operation of one or more portions or steps of a process 600. In this example, the processors associated with the hybrid system include a Field Programmable Gate Array (FPGA)122, a Graphics Processor Unit (GPU)120, and a Central Processing Unit (CPU) 118.

The CPU 118, GPU 120 and FPGA 122 have the capability of providing a neural network. The CPU is a general-purpose processor that can perform many different functions, and the versatility of the CPU has led to the ability to perform a variety of different tasks. However, the processing of multiple data streams by the CPU is limited, and the function of the CPU with respect to the neural network is limited. GPUs are graphics processors with many small processing cores capable of processing parallel tasks in sequence. An FPGA is a field programmable device that has the ability to be reconfigured and to perform any functions that may be programmed into a CPU or GPU in a hardwired circuit. Because FPGAs are programmed in circuit form, they are many times faster than CPUs and significantly faster than GPUs.

The system may also include other types of processors, such as an Accelerated Processing Unit (APU), which includes a CPU having on-chip GPU elements, and a Digital Signal Processor (DSP) designed to perform high-speed digital data processing. An Application Specific Integrated Circuit (ASIC) may also perform the hardwired functions of the FPGA. However, the lead time to design and produce an ASIC is on the order of several quarters of a year, rather than the fast turn-around implementation time available in programming FPGAs.

A graphics processor unit 120, a central processor 118 and a field programmable gate array 122 are connected, and the graphics processor unit 120, the central processor 118 and the field programmable gate array 122 are connected to the memory interface and controller 112. The FPGA is connected to the memory interface through programmable logic circuits connected to the PLC to memory interconnect 130. This additional device is utilized because FPGAs operate at very large bandwidths and to minimize the circuitry utilized by the FPGA to perform memory tasks. The memory interface and controller 112 is additionally connected to a persistent memory disk 110, a system memory 114, and a Read Only Memory (ROM) 116.

The system of FIG. 1 can be used to program and train an FPGA. The GPU works well with unstructured data and is available for training, once the data is trained, a deterministic inference model can be found, and the CPU can program the FPGA with the model data determined by the GPU.

The memory interface and controller are connected to a central interconnect 124 that is additionally connected to the GPU 120, CPU 118 and FPGA 122. The central interconnect 124 is additionally connected to input and output interfaces 128 and network interfaces 126.

FIG. 2 depicts a second example hybrid computing system 200, which hybrid computing system 200 may be used to implement a neural network associated with the operation of one or more portions or steps of the process 600. In this example, the processor associated with the hybrid system includes a Field Programmable Gate Array (FPGA)210 and a Central Processing Unit (CPU) 220.

The FPGA is electrically coupled to an FPGA controller 212, and the FPGA controller 212 is coupled to a Direct Memory Access (DMA) 218. The DMAs are connected to an input buffer 214 and an output buffer 216, the input buffer 214 and the output buffer 216 being coupled to the FPGA to buffer data into and out of the FPGA, respectively. The DMA 218 includes two first-in-first-out (FIFO) buffers, one for the main CPU and one for the FPGA. DMA allows data to be written to and read from the appropriate buffer.

On the CPU side of the DMA is a main switch 228, the main switch 228 transferring data and commands to and from the DMA. The DMA is also connected to a SDRAM controller 224, which SDRAM controller 224 allows data to be transferred from CPU 220 to the FPGA and allows data to be transferred from the FPGA to CPU 220. The SDRAM controller is also connected to an external SDRAM 226 and the CPU 220. The main switch 228 is connected to a peripheral interface 230. The flash controller 222 controls the persistent memory and is connected to the CPU 220.

The proposed method can provide results in a faster and more efficient manner than previous methods, in part because instead of randomly generating new states and not a selection comprising invalid states, states are selected from a growing tree of known valid states. The described method is flexible and configurable according to kinematic constraints of the vehicle. The method utilizes the configuration of the vehicle to grow a tree with only valid states. The described method is efficient and fast enough to be executed by a processor within the vehicle, since the method takes into account the dynamic constraints of the car. The path output is selected only from the valid states and may be executed by a processor within the vehicle.

Unlike the conventional RRT search method, which randomly expands a tree, the disclosed method expands the tree using a BFS-DFS hybrid method. A state is randomly selected from the growing tree and from this state a new state is determined based on vehicle constraints.

This BFS-like functionality helps the RRT explore in a more efficient manner because the method generates new valid states.

The target state may be used as the newly generated state and it may be determined whether the transition between the new state and the closest state in the tree is valid. If the state is valid, the tree will expand from that state to the target state, which means that a path is found.

A state may be selected from the growing tree and a determination may be made as to whether the transition between the state and the target state is valid. If the state is valid, the tree can be extended from that state to the target state, indicating that a path has been found.

If a possible route is predetermined, it can be used as a guide for the RRT search. In this way, the spanning tree is a state randomly selected from the waypoints used as new states. If the transition between the new state and the closest state in the tree is valid, the bias expands the tree in the direction of the lead.

The description of the example method may include: a state is randomly selected from the growing tree in which the random selection has a bias in favor of deeper states (i.e., states further away from the starting state). In this way, deeper states have a higher probability of selection. With this DFS-like functionality, the method focuses on expanding the tree to unknown regions, rather than repeatedly exploring regions near the start state.

In one example method of determining a new state from states selected based on vehicle constraints, the method determines a path planned in a three-dimensional (3D) state comprising (x, y, pose). Given vehicle dynamics constraints such as acceleration, speed, and turn radius, a new state may be determined. In this example method of path planning, the path starts from an initial state. The 3D state includes a location (x, y) and a heading (z). To determine the new state, a predetermined distance is selected between the new state of FIG. 3 (new state 316 of vehicle 314, new state 320 of vehicle 318, and new state 324 of vehicle 322 of FIG. 3, respectively) and the initial state of vehicle 310 of FIG. 3, the initial state of vehicle 310 being represented by dashed circle 312 of FIG. 3. If it is assumed that the vehicle is traveling at the maximum speed v, the minimum turning radius of the vehicle can be determined. When the minimum turning radius r is known, an effective turning radius from r to infinity will be set. Given this setting for the effective turn radius, a random selection between r and infinity can be made, which is used to determine the intercept between the pseudo-random selections 316, 320, and 324 of FIG. 3.

The pseudo-randomly selected intersections are given by circles 316, 320 and 324 in fig. 3, and the dashed circle 312 of fig. 3 may be used to determine a new state (x ', y ', z ') with a high degree of confidence that the state is a valid state for the car to perform.

If there is no valid new state, the example method will utilize the vehicle acceleration constraints to decelerate and calculate a new speed v' and repeat the method again, as slower speeds correspond to smaller turn radii. Thus, once provided with vehicle parameters such as maximum speed, acceleration limit, and a function of current travel speed and minimum turn radius, the method will produce a valid new state.

The method combines the advantages of BFS, DFS and RRT searches. The method utilizes the functions similar to RRT to search towards random directions, utilizes the functions similar to BFS to expand search areas, and utilizes the functions similar to DFS to deepen unknown areas. By fusing spatial exploration methods, a new way to output correct results in an efficient way is found.

FIG. 4 depicts an exemplary method comprising: determining 410 an initial position and at least one vehicle constraint; predetermining 412 a distance to the new location; and determining 414 a minimum turning radius based on the at least one vehicle constraint. The method further comprises the following steps: selecting 416 a vehicle turning radius at least as large as the minimum turning radius; determining 418 a candidate location based on the at least one vehicle restraint condition and the vehicle turning radius; verifying 420 whether the candidate location is valid with respect to the new location; and converting 422 the new location to a candidate location.

The method may further comprise: if the new location is not verified as valid, the at least one vehicle constraint is reduced. The at least one vehicle constraint may be a vehicle speed, and wherein the minimum turning radius is based on the vehicle speed, and the at least one vehicle constraint comprises at least one of a maximum speed and an acceleration limit. The selection of the vehicle turning radius may be pseudo-random and the vehicle turning radius is selected to be weighted towards a larger turning radius.

The method may further comprise: if the candidate position is invalid, decreasing the vehicle acceleration to decrease the vehicle speed; determining a new candidate position based on the reduced vehicle speed; verifying whether the new candidate location is valid with respect to the new location; and converting the new location to a new candidate location.

An example non-transitory computer-readable medium includes instructions that, when read by a processor, cause the processor to perform: determining an initial position and at least one vehicle constraint; predetermining a distance to the new location; and determining a minimum turning radius based on at least one vehicle constraint. The processor further performs: selecting a vehicle turning radius at least as large as the minimum turning radius; determining a candidate location based on at least one vehicle constraint and a vehicle turning radius; verifying whether the candidate location is valid with respect to the new location; and converting the new location to a candidate location.

The processor also reduces the at least one vehicle constraint if the new location is not verified as valid. The at least one vehicle constraint may be a vehicle speed, and wherein the minimum turning radius is based on the vehicle speed, and the at least one vehicle constraint comprises at least one of a maximum speed and an acceleration limit. The selection of the vehicle turning radius may be pseudo-random and the selection of the vehicle turning radius is weighted towards larger turning radii.

The processor also reduces vehicle acceleration to reduce vehicle speed if the candidate location is not valid, determines a new candidate location based on the reduced vehicle speed, verifies whether the new candidate location is valid relative to the new location, and converts the new location to the new candidate location.

Those skilled in the art will appreciate that the various illustrative blocks, modules, elements, components, methods, and algorithms described herein may be implemented as electronic hardware, computer software, or combinations of both. To illustrate this interchangeability of hardware and software, various illustrative blocks, modules, elements, components, methods, and algorithms have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application. The various components and blocks may be arranged differently (e.g., arranged in a different order or divided in a different manner) without departing from the scope of the subject technology.

It should be understood that the specific order or hierarchy of steps in the processes disclosed is an illustration of example approaches. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the processes may be rearranged. Some steps may be performed simultaneously. The accompanying method claims present elements of the various steps in a sample order, and are not meant to be limited to the specific order or hierarchy presented.

The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. The preceding description provides various examples of the subject technology, and the subject technology is not limited to these examples. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but is to be accorded the full scope consistent with the language claims, wherein reference to an element in the singular is not intended to mean "one and only one" unless explicitly so stated, but rather "one or more. The term "some" means one or more unless explicitly stated otherwise. Pronouns for males (e.g., his) include females and neutral sexes (e.g., her and it), and vice versa. Headings and sub-headings, if any, are for convenience only and do not limit the invention. The terms "configured to," "operable to," and "programmed to" do not imply any particular tangible or intangible modification to an object, but are intended to be used interchangeably. For example, a processor configured to monitor and control operations or components may also mean that the processor is programmed to monitor and control operations or that the processor is operable to monitor and control operations. Likewise, a processor configured to execute code may be interpreted as a processor that is programmed to execute code or that is operable to execute code.

Phrases such as "an aspect" do not imply that such aspect is essential to the subject technology nor that such aspect applies to all configurations of the subject technology. The disclosure in connection with an aspect may apply to all configurations, or one or more configurations. One aspect may provide one or more examples. A phrase such as an aspect may refer to one or more aspects and vice versa. Phrases such as "an embodiment" do not imply that such embodiment is essential to the subject technology nor that such embodiment applies to all configurations of the subject technology. Disclosure relating to one embodiment may be applicable to all embodiments, or one or more embodiments. Embodiments may provide one or more examples. Phrases such as "an embodiment" may refer to one or more embodiments and vice versa. A phrase such as a "configuration" does not imply that such configuration is essential to the subject technology nor that such configuration applies to all configurations of the subject technology. The disclosure relating to one configuration may apply to all configurations, or one or more configurations. One configuration may provide one or more examples. A phrase such as a "configuration" may refer to one or more configurations and vice versa.

The word "example" is used herein to mean "serving as an example or illustration. Any aspect or design described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other aspects or designs.

All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Furthermore, no contribution to the public is intended, whether or not such disclosure is explicitly recited in the claims. Unless the element is explicitly recited using the phrase "means for … …," or in the case of method claims, using the phrase "step for … …," the element is recited, no element of any claim should be construed as being specified in U.S. patent law 35U.S. C., § 112, sixth paragraph. Furthermore, to the extent that the terms "includes," "has," "having," "has," "including," and the like are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term "comprising" as "comprising" is interpreted when employed as a transitional word in a claim.

References to "one embodiment," "an embodiment," "some embodiments," "various embodiments," etc., indicate that a particular element or feature is included in at least one embodiment of the invention. Although these phrases may appear in various places, these phrases are not necessarily referring to the same embodiment. Those skilled in the art, in light of the present disclosure, will be able to design and incorporate any of a variety of mechanisms suitable for carrying out the functions described above.

It is understood that this disclosure teaches only one example of an illustrative embodiment and that many variations of the invention can be readily devised by those skilled in the art after reading this disclosure and the scope of the invention is to be determined by the claims that follow.

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于车辆建模的系统和方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类