Unmanned aerial vehicle trajectory planning method, device and equipment and storage medium

Through the wheelbarrow model and motion primitive tree technology, the problem of drones relying on manual control in non-cooperating tasks is solved, and efficient drone trajectory planning and remote operation are achieved.

CN119723953APending Publication Date: 2025-03-28江淮前沿技术协同创新中心 +1
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411870900.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-18
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

Existing drones need to rely on manual loop control in non-cooperational tasks, resulting in operators having high attention for a long time, high cognitive burden, and low operating efficiency in emergency tasks.

Method used

The operational actions are converted into input primitives through the wheelbarrow model, and a motion primitive tree is built based on the current state of the drone and the input primitives, multiple feasible trajectories are generated, and the target trajectory is determined according to the user's intention.

Benefits of technology

It improves the efficiency of remote operation of drones, reduces user intervention and burden, and enhances the processing capabilities of drones in complex scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119723953A_ABST
    Figure CN119723953A_ABST
Patent Text Reader

Abstract

The invention discloses an unmanned aerial vehicle trajectory planning method, device and equipment and a storage medium, and relates to the technical field of man-machine cooperation trajectory planning, and the unmanned aerial vehicle trajectory planning method comprises the steps: converting a received operation action for an unmanned aerial vehicle into an input element through a wheelbarrow model; a motion primitive tree is constructed based on the current state and the input primitive of the unmanned aerial vehicle, and the motion primitive tree comprises a plurality of feasible tracks; and determining a target trajectory of the unmanned aerial vehicle from the feasible trajectories according to the input elements. According to the method and the device, the target trajectory conforming to the intention of the user is generated by fully utilizing the input primitive, so that the adjustment of the trajectory by the user is reduced in the flight process of the unmanned aerial vehicle based on the target trajectory, the operation burden of the user is reduced, and the remote operation efficiency of the unmanned aerial vehicle is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of human-machine collaborative trajectory planning, and in particular to unmanned aerial vehicle trajectory planning methods, devices, equipment and storage media. Background Art

[0002] The rapid development of autonomous drone technology has led to the widespread use of drones in collaborative target scenarios such as express delivery, remote sensing monitoring, and pesticide spraying. However, for non-collaborative tasks such as search and rescue, drones currently still need to rely on the "man-in-the-loop" control paradigm to ensure the smooth execution of the mission, which requires the operator to maintain high attention for a long time and manually operate to avoid obstacles.

[0003] The traditional direct teleoperation mode is highly dependent on the operator's direct control, which not only increases the operator's cognitive burden, but also increases the training cost. Especially in emergency tasks, operators need to make decisions in a short time, and frequent manual intervention will lead to low operational efficiency. Current improvements are mainly focused on human-centered control methods. Although they can improve the safety and stability of operations, they do not fully consider the impact of the operator's intention on trajectory planning. In some complex scenarios, such as when the terrain changes greatly or there is a large deviation between the operator's intuitive perception and the actual environment, it is difficult to ensure the effectiveness of the trajectory generated by relying solely on the operator's input, thereby reducing the efficiency of UAV teleoperation.

[0004] The above contents are only used to assist in understanding the technical solution of the present application and do not constitute an admission that the above contents are prior art. Summary of the invention

[0005] The main purpose of this application is to provide a UAV trajectory planning method, device, equipment and storage medium, aiming to improve the efficiency of UAV remote operation.

[0006] To achieve the above objectives, the present application proposes a UAV trajectory planning method, the method comprising:

[0007] The received operation actions for the drone are converted into input primitives through the unicycle model;

[0008] Based on the current state of the drone and the input primitives, construct a motion primitive tree, wherein the motion primitive tree includes a plurality of feasible trajectories;

[0009] According to the input primitives, a target trajectory of the UAV is determined from the feasible trajectories.

[0010] In one embodiment, the step of constructing a motion primitive tree based on the current state of the drone and the input primitive, wherein the motion primitive tree includes a plurality of feasible trajectories, comprises:

[0011] Based on the current state and the incremental sampling algorithm, generate a motion primitive tree;

[0012] Determining weights of terminal nodes of the motion primitive tree based on the input primitives;

[0013] Determining an extension node from each of the terminal nodes based on the weight of each of the terminal nodes and a weighted sampling method;

[0014] For each of the extended nodes, the motion primitive tree is updated according to the status of each extended node and the incremental sampling algorithm, and the steps of determining the weight of each terminal node of the motion primitive tree based on the input primitive and subsequent steps are repeated until the motion primitive tree meets the preset termination condition.

[0015] In one embodiment, the step of generating a motion primitive tree based on the current state and an incremental sampling algorithm comprises:

[0016] Based on the continuous action space of the current state, uniformly discretize along the dimension of the current state to obtain a discrete action set;

[0017] Determine the current state as the root node of the motion primitive tree, and determine the action nodes in the discrete action set that meet the preset safety and feasibility conditions as the branch nodes of the root node;

[0018] The motion primitive tree is generated based on the root node and the branch nodes.

[0019] In one embodiment, the step of determining the weight of each terminal node of the motion primitive tree based on the input primitive comprises:

[0020] Determining the intention cost of each of the terminal nodes based on the input primitives;

[0021] Based on each of the intention costs, a weight of each of the terminal nodes is determined, wherein there is a negative correlation between each of the intention costs and the weight of each of the terminal nodes.

[0022] In one embodiment, the step of determining an extension node from each of the terminal nodes based on the weight of each of the terminal nodes and the weighted sampling method includes:

[0023] Determining the number of terminal nodes of the motion primitive tree;

[0024] In the case where the number of nodes does not exceed a preset node threshold, randomly selecting at most a first preset number of the terminal nodes according to the weight of each of the terminal nodes, and determining them as the extended nodes;

[0025] In the case where the number of nodes exceeds the node threshold, a weight amplification process is performed on the second preset number of terminal nodes with the highest weights, and based on the weights of the terminal nodes, at most the first preset number of terminal nodes are randomly selected and determined as the extended nodes.

[0026] In one embodiment, the step of determining the target trajectory of the drone from the feasible trajectories according to the input primitives comprises:

[0027] Determining a comprehensive cost of each of the feasible trajectories according to the input primitives, wherein the comprehensive cost is obtained based on different types of costs and corresponding cost weights;

[0028] The target trajectory of the UAV is determined according to the comprehensive cost of each of the feasible trajectories.

[0029] In one embodiment, after the step of determining the target trajectory of the drone according to the comprehensive cost of each of the feasible trajectories, the step further includes:

[0030] The cost weights are adjusted according to the acquired real trajectory of the UAV.

[0031] In addition, to achieve the above purpose, the present application also proposes a UAV trajectory planning device, the UAV trajectory planning device comprising:

[0032] An operation action conversion module, used for converting the received operation actions for the drone into input primitives through the unicycle model;

[0033] A motion primitive tree construction module, configured to construct a motion primitive tree based on the current state of the drone and the input primitive, wherein the motion primitive tree includes a plurality of feasible trajectories;

[0034] The target trajectory determination module is used to determine the target trajectory of the UAV from the feasible trajectories according to the input primitives.

[0035] In addition, to achieve the above-mentioned purpose, the present application also proposes a UAV trajectory planning device, which includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, and the computer program is configured to implement the steps of the UAV trajectory planning method as described above.

[0036] In addition, to achieve the above-mentioned purpose, the present application also proposes a storage medium, which is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by the processor, the steps of the drone trajectory planning method described above are implemented.

[0037] In addition, to achieve the above-mentioned purpose, the present application also provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, it implements the steps of the drone trajectory planning method as described above.

[0038] One or more technical solutions proposed in the present application have at least the following technical effects: first, through the unicycle model, the received operation actions for the drone are converted into input primitives, so that the drone can understand the user's operation intentions, and provide a clear direction for the subsequent generation of a motion primitive tree and the determination of a target trajectory; next, based on the current state of the drone and the input primitives, a motion primitive tree is constructed, wherein the motion primitive tree includes multiple feasible trajectories, and a series of possible path trajectories are generated by efficiently integrating the current state information and operation intentions of the drone, ensuring that the drone can flexibly handle sudden obstacles and reduce user operation intervention; and then, the target trajectory of the drone can be determined from the feasible trajectories based on the input primitives, that is, according to the clear user intentions, a path that best meets the user's expectations is selected from all feasible path trajectories, thereby reducing the probability of manual adjustment by the user during the subsequent flight of the drone, reducing the user's operation burden, and improving the efficiency of the current remote operation. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0040] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0041] Figure 1 A flowchart of the first embodiment of the method for planning the trajectory of a UAV in this application is provided;

[0042] Figure 2 A schematic diagram of target trajectory determination provided in Example 1 of the present application;

[0043] Figure 3 A schematic diagram of the overall process of the UAV trajectory planning method provided in Example 3 of the present application;

[0044] Figure 4 This is a schematic diagram of the module structure of the drone trajectory planning device according to an embodiment of the present application;

[0045] Figure 5 Schematic diagram of the device structure of the hardware operating environment involved in the UAV trajectory planning method in the embodiment of the present application. DETAILED DESCRIPTION

[0046] It should be understood that the specific embodiments described herein are only used to explain the technical solutions of the present application and are not used to limit the present application.

[0047] In order to better understand the technical solution of the present application, a detailed description will be given below in conjunction with the accompanying drawings and specific implementation methods.

[0048] In this embodiment, for ease of description, the following description is made using the UAV trajectory planning device as the execution subject.

[0049] In conventional technology, auxiliary aerial teleoperation can be divided into two types according to the control authority: human-dominated control mode and drone-dominated control mode. Among them, in the human-dominated control mode, the operator directly enjoys the control right, and the drone is directly modified and enhanced based on the operator's input to ensure safety and stability; while in the drone-dominated control mode, the drone infers the operator's intention, generates the flight trajectory and tracks, and the operator intervenes only when the intention changes or when necessary. Among these two teleoperation modes, the drone-dominated control mode requires lower operating proficiency and less burden on human operators than the human-dominated control mode, but the current relevant research mainly focuses on the improvement of the human-dominated control mode. In the drone-dominated control mode, the operator's personalized needs for the trajectory are not taken into account. The operator may intervene frequently because the trajectory is not what he expected, resulting in increased operating burden and reduced teleoperation efficiency.

[0050] The present application provides a solution. First, through a unicycle model, the received operation action for the drone is converted into an input primitive, so that the operation is more intuitive and easy to handle, and a clear direction is provided for subsequent trajectory generation and determination. Then, based on the current state of the drone and the sampling algorithm, a motion primitive tree is constructed, and the motion primitive tree is expanded to generate a complete and diverse execution trajectory. In the expansion process of the motion primitive tree, the weights of each node in the motion primitive tree can be used to determine which nodes to further sample and expand according to the input primitives, which can reduce the expansion of unimportant nodes and improve the efficiency of trajectory planning. At the same time, all feasible paths contained in the motion primitive tree are as consistent as possible with the user's operation intention, so that the final drone action is closer to the operator's expectations. Finally, the target trajectory of the drone can be determined from the feasible trajectory according to the input primitives, and the evaluation and comparison of all feasible trajectories may be involved during the process to select the optimal trajectory, thereby reducing the intervention of user operations during the subsequent flight of the drone, further reducing the user's operating burden, and improving the efficiency of drone remote operation.

[0051] It should be noted that the execution subject of this embodiment can be a computing service device with data processing, network communication and program running functions, such as a tablet computer, a personal computer, a mobile phone, etc., or an electronic device capable of realizing the above functions, etc. The following takes the drone trajectory planning device as an example to illustrate this embodiment and the following embodiments.

[0052] Based on this, the present application embodiment provides a method for planning the trajectory of a drone, referring to Figure 1 , Figure 1 This is a flow chart of the first embodiment of the UAV trajectory planning method of the present application.

[0053] In this embodiment, the UAV trajectory planning method includes steps S10 to S30:

[0054] Step S10, converting the received operation action for the drone into an input primitive through the unicycle model;

[0055] In one feasible embodiment, a control model is used to convert the user's operating actions into input primitives that can be understood and processed by a computer, so as to guide a drone or other device to perform corresponding actions.

[0056] It should be noted that the unicycle model is a simplified dynamic model used to simulate the motion of a mobile robot, and is usually used for robot motion planning and control. Input primitives refer to instruction data used to guide the behavior of a drone.

[0057] For example, for the operator's operation action a=[v x ,w,v z ], which can be parameterized as an input primitive γ through the unicycle model a (t), the unicycle model can refer to the following formula:

[0058]

[0059] Among them, v x and v z They represent the expected speed in the forward direction (x-axis) and the height direction (z-axis) in the drone's body coordinate system, w represents the yaw rate around the z-axis, and R BW is the transformation matrix from the body coordinate system to the world coordinate system, and T represents the duration of the state.

[0060] It can be understood that through the unicycle model, the user's operating intention can be more accurately understood and converted into precise movement instructions.

[0061] Step S20, constructing a motion primitive tree based on the current state of the drone and the input primitives, wherein the motion primitive tree includes a plurality of feasible trajectories;

[0062] In a feasible embodiment, possible motion paths are generated using the real-time status information of the UAV and basic control instructions input by the operator, and these paths are represented in a tree structure.

[0063] It should be noted that the current state refers to the data set acquired and processed by the drone through internal sensors and control systems, including but not limited to position, attitude, etc. The motion primitive tree refers to a tree structure used to represent the motion path or action sequence of the drone, including multiple feasible trajectories, and each node in the motion primitive tree represents a motion primitive. A feasible trajectory refers to a path that can reach the terminal node through a series of safe and feasible motion primitive conversions starting from the current state (the root node of the motion primitive tree).

[0064] Exemplarily, the current state of the drone is taken as the root node of the motion primitive tree. Starting from the root node, the motion primitives that may be executed subsequently are taken as branch nodes to generate a motion primitive tree. According to the input primitives (desired direction, speed, etc.), some branch nodes that meet the user's intentions are further expanded, and the generated motion primitive tree is continuously updated until the preset tree depth is reached, thereby completing the construction of the motion primitive tree.

[0065] Exemplarily, when constructing the motion primitive tree, the flight restriction area, the endurance of the drone, etc. may be further considered to limit the expansion of the motion primitive tree.

[0066] It can be understood that by constructing a motion primitive tree, multiple paths can be quickly evaluated and the action trajectory that best meets user needs can be selected; when faced with sudden obstacles or environmental changes, the action trajectory can be quickly adjusted according to the motion primitive tree to find a new feasible path, thereby improving the efficiency of remote operation.

[0067] Step S30, determining the target trajectory of the UAV from feasible trajectories based on the input primitives.

[0068] In one feasible embodiment, the motion primitive tree contains a series of feasible trajectories, and the user's intention is determined according to the input primitive, so as to determine the target trajectory of the drone that best meets the user's needs. For example, the input primitive instructs the drone to fly forward and turn right, and from all the forward and right-turning paths in the motion primitive tree, a path that avoids obstacles and is the most energy-efficient is selected as the target trajectory.

[0069] For example, please refer to Figure 2 , Figure 2 A schematic diagram of determining the target trajectory based on the input primitive and motion primitive tree is provided. Figure 2The red line in the middle represents the final determined target trajectory 300, while the thin blue lines represent other branches in the motion primitive tree; the blue arrow represents the intended direction provided by the user, which is determined based on the input primitives. Figure 2 The intended direction received by the drone 100 is to go straight to the right, but there is an obstacle 200 in the straight section. From the generated motion primitive tree, a trajectory that can avoid the obstacle 200 and finally return to going straight to the right is determined as the target trajectory of the drone 100.

[0070] This embodiment provides a UAV trajectory planning method, which realizes the conversion of user intentions into machine-recognizable instructions by converting operating actions into input primitives, thereby facilitating subsequent trajectory planning; by constructing a motion primitive tree, it provides users with a variety of trajectory options, and at the same time, finds feasible flight trajectories more quickly when facing sudden obstacles or environmental changes; according to the user's operating intentions, the target trajectory that best meets the user's intentions is selected, thereby reducing the burden on the operator and improving the efficiency of remote operation.

[0071] In a feasible implementation manner, step S20 includes:

[0072] Step S21, generating a motion primitive tree based on the current state and the incremental sampling algorithm;

[0073] It should be noted that the incremental sampling algorithm is an algorithm that gradually builds a solution. According to the current state, it generates a series of possible flight actions, thereby generating a motion primitive tree for subsequent path planning.

[0074] For example, when the current state of the drone is moving forward, the incremental sampling algorithm is used to obtain that the drone may ascend or turn, or continue to move forward in the next step, so the branch nodes of the current state in the generated action primitive tree include ascending, turning, and moving forward.

[0075] For example, in addition to considering the driving status of the drone, external factors such as weather can also be taken into consideration in the incremental sampling algorithm to further restrict the generation of action sample sets, ensuring that the trajectory planning of the drone is more in line with the actual situation, thereby reducing the operator's means input, reducing the operator's input burden, and improving the efficiency of remote operation.

[0076] Step S22, determining the weight of each terminal node of the motion primitive tree based on the input primitive;

[0077] In a feasible embodiment, the basic control instructions (input primitives) input by the operator are used to evaluate the importance or priority of each terminal node in the motion primitive tree, and then a weight value is assigned to each terminal node.

[0078] For example, if the input primitive is "forward", higher weights may be given to terminal nodes that are heading directly toward the goal.

[0079] Exemplarily, the weight allocation may also be based on the smoothness of the path, the required energy consumption, etc.

[0080] It can be understood that by allocating weights reasonably, it helps to optimize path exploration and reduce unnecessary branches, thereby improving the efficiency of trajectory planning.

[0081] Step S23, determining an extension node from the terminal nodes of the motion primitive tree based on a weighted sampling method;

[0082] In a feasible embodiment, by introducing weights in node selection, it is determined that the nodes in the last branch of the motion primitive tree (terminal nodes) need to be further expanded to form a complete trajectory.

[0083] It should be noted that the weighted sampling method is a method for determining a target element from elements of different weights, and the selection probability of each element is proportional to its weight. An extended node refers to a node that can be further refined or expanded.

[0084] Exemplarily, the weight of each terminal node in the motion primitive tree is calculated, the probability of each terminal node being selected is determined according to the weight, and one or more nodes are randomly selected from the terminal nodes as extension nodes for the next step of sampling and branching.

[0085] For example, the weight of each node can be adjusted according to the implementation trajectory route of the drone.

[0086] It can be understood that the weighted sampling method can reduce unnecessary node expansion and improve the efficiency of path planning.

[0087] Step S24, updating the motion primitive tree according to the status of each expansion node and the incremental sampling algorithm, repeating the step of determining the expansion node from the terminal nodes of the motion primitive tree based on the weighted sampling method until the motion primitive tree meets the preset end condition.

[0088] It should be noted that the preset end condition refers to the stopping criteria pre-defined in trajectory planning, such as the depth of the tree, the number of nodes, etc.

[0089] For example, the state of each expansion node is evaluated, and an incremental sampling algorithm is used to gradually add new action nodes to the motion primitive tree. In each step, the weight of the new action node is calculated and a new expansion node is reselected. This process is repeated until the preset end condition is met, such as the depth of the tree is 5, and the resulting motion primitive tree contains all possible motion paths or trajectories.

[0090] For example, in addition to the incremental sampling algorithm, algorithms such as RRT (Rapidly-Exploring Random Trees) and PRM (Probabilistic Roadmap) may be used to expand the motion primitive tree.

[0091] In this implementation, by gradually increasing the sampling points, it is possible to avoid processing a large amount of data at one time, thereby improving the efficiency of path planning; by iteratively updating the motion primitive tree, the drone can adapt to different node actions, adjust the flight path in time, and improve the efficiency of remote operation.

[0092] In a feasible implementation, step S21 includes:

[0093] Step S211, based on the continuous action space of the current state, uniformly discretize along the dimension of the current state to obtain a discrete action set;

[0094] In a feasible embodiment, the space composed of all possible actions that the drone may take in the current state is divided into discrete intervals of equal size along the dimension of the current state, that is, each dimension can be divided into a series of discrete values, and the discrete values ​​of different dimensions are freely combined to obtain a set of discrete actions.

[0095] It should be noted that the continuous action space refers to a continuous set of actions that a drone may take, including speed changes, position movements, etc.

[0096] For example, when the current state includes two dimensions, speed and steering angle, the continuous action space is discretized into a series of values ​​along each dimension, such as speed dimension: {40, 50, 60}, steering angle dimension: {0, 90, 180}, and the obtained discrete action set contains a total of 9 combinations.

[0097] Step S212, determining the current state as the root node of the motion primitive tree, and determining the action nodes in the discrete action set that meet the preset safety and feasibility conditions as branch nodes of the root node;

[0098] It should be noted that safe and feasible conditions refer to a series of preset safety rules and constraints, such as avoiding collisions and staying within the flight range, which are used to ensure that the execution of the action will not cause safety hazards or create unfeasible situations.

[0099] For example, for feasibility considerations such as weather or flight restrictions, the parameter space of the drone can be constrained, and the dynamically feasible parameter set can be defined as follows:

[0100]

[0101] Among them, A feas represents a set of feasible actions, for the state space For any discrete action a within , the i-th order derivative (e.g., acceleration) along the trajectory cannot exceed the preset upper bound Similarly, a safe set of parameters can be defined as follows:

[0102]

[0103] in, in, Represents all action nodes in the current discrete space, It is a collection of obstacles in the current map.

[0104] It is understandable that by making early judgments and excluding action nodes that do not meet safety and feasibility conditions, unnecessary user input during the remote operation process can be reduced, thereby improving the efficiency of the remote operation.

[0105] Step S213: Generate a motion primitive tree based on the root node and the branch nodes.

[0106] Exemplarily, the current state of the drone is identified and set as the root node of the motion primitive tree. Then, all possible action nodes are analyzed to determine whether they meet the safety and feasibility conditions. For action nodes that meet the safety and feasibility conditions, they are added to the root node one by one as branch nodes to generate a motion primitive tree.

[0107] It can be understood that the updating process of the motion primitive tree in step S23 can refer to the generation process of the motion primitive tree mentioned above, and the above parameter set can be dynamically adjusted according to environmental changes and mission requirements to ensure the flight safety of the drone.

[0108] In this implementation, by selecting action nodes that meet safety and feasibility conditions as branch nodes, it is possible to ensure that the final trajectory is safe, thereby reducing the operator's manual adjustments and improving the efficiency of teleoperation.

[0109] Based on the first embodiment of the present application, in the second embodiment of the present application, the same or similar contents as those in the above-mentioned embodiment 1 can be referred to the above introduction, and will not be repeated later. On this basis, step S22 includes:

[0110] Step S221, determining the intention cost of each terminal node based on the input primitive;

[0111] It should be noted that intention cost refers to the price or cost required to achieve a specific intention.

[0112] Exemplarily, according to the intention cost function, a trajectory that meets the user's intention is selected from the motion primitive tree, and the trajectory ξ(t) is compared with the user's input primitive γ a The approximate direction vector between (t) can refer to the following intention cost determination formula:

[0113] C intent (ξ)=∥1-p·p * ∥

[0114] Among them, p represents the direction vector of the actual trajectory, Among them, x T , x0 represent the two endpoints of the trajectory respectively; p* represents the direction vector of the desired trajectory, in, They represent the starting points of the input primitives (i.e., the desired motion primitives). * Represents the dot product of two directional vectors, and its value is in the range of [-1,1]. If the directions of the two vectors are closer, the dot product is larger and the corresponding cost is smaller.

[0115] Step S222, based on each intention cost, determine the weight of each terminal node, wherein each intention cost and the weight of each terminal node are negatively correlated.

[0116] Exemplarily, using the above intention cost function, the closer the two direction vectors are, the more the direction vector of the actual trajectory meets the user's expectations, that is, the node that meets the user's intention has a smaller cost, and the weight can satisfy the following formula:

[0117]

[0118] This makes it more likely that nodes with lower costs will be sampled.

[0119] In this implementation, by evaluating the costs of different terminal nodes and assigning corresponding weights, the trajectory that best meets the user's expectations can be identified more quickly and continued to expand downward, thereby reducing the subsequent user's adjustment of the drone trajectory, reducing the user's operating burden, and improving the efficiency of remote operation.

[0120] In a feasible implementation manner, step S23 includes:

[0121] Step S231, determining the number of terminal nodes of the motion primitive tree;

[0122] As the expansion continues, the terminal nodes of the motion primitive tree will continue to increase, including a large number of low-weight action nodes, which increases the probability of low-weight nodes being selected. The resulting target trajectory may deviate from the user's intention. Therefore, the terminal nodes can be divided according to the number of nodes to ensure that the sampling is concentrated on most of the high-weight nodes and there is a certain probability of sampling low-weight nodes.

[0123] Step S232, when the number of nodes does not exceed the preset node threshold, randomly selecting at most a first preset number of terminal nodes according to the weights of the terminal nodes and determining them as extended nodes;

[0124] It should be noted that although the selection is random, the probability of being selected is proportional to the weight of the terminal node.

[0125] Exemplarily, the number of terminal nodes in the current motion primitive tree is 40, and the preset node threshold is 70. According to the weight of each node, 10 (first preset number) terminal nodes are randomly selected as extension nodes, sampled, and all safe and feasible child nodes of these extension nodes are evaluated and added to the motion primitive tree.

[0126] Step S233, when the number of nodes exceeds the node threshold, weight amplification processing is performed on the second preset number of terminal nodes with the highest weight, and terminal nodes up to the first preset number are randomly selected according to the weights of the terminal nodes and determined as extended nodes.

[0127] It should be noted that weight amplification processing refers to adjusting the weight of the node to highlight the importance of the node. Processing methods include softmax function, linear weighting, and exponential weighting.

[0128] Exemplarily, the number of terminal nodes in the current motion primitive tree is 100, which exceeds the preset node threshold. The first 50 (the second preset number) with the highest weights are selected from the terminal nodes for softmax function processing, which can refer to the following formula:

[0129]

[0130] Among them, β is an adjustment parameter used to control the degree to which the weight is amplified. After the weight amplification is completed, 10 terminal nodes are randomly selected as expansion nodes based on the weight of each terminal node for subsequent sampling.

[0131] It is understandable that by weight amplification, it can be ensured that sampling is mainly concentrated on high-weight nodes, but still retains a certain probability to explore other potential high-quality solutions.

[0132] Exemplarily, a cost cap may be further introduced, where after each expansion is completed, the node with the lowest cost among the current nodes is selected as the cost cap for the next expansion, so that in the next expansion, only nodes with costs less than or equal to the current cost cap will be further expanded.

[0133] In this implementation, by limiting the number of extended nodes and the selection strategy, it is possible to ensure that the generated path meets the user's intention; at the same time, giving high-weight nodes a greater selection probability can increase the possibility of finding the optimal path, thereby improving the efficiency of remote operation.

[0134] Based on the first embodiment and / or the second embodiment of the present application, in the third embodiment of the present application, the same or similar contents as those of the above-mentioned first and second embodiments can be referred to the above introduction, and will not be repeated later. On this basis, step S30 includes:

[0135] Step S31, determining the comprehensive cost of each feasible trajectory according to the input primitive, wherein the comprehensive cost is obtained based on different types of costs and corresponding cost weights;

[0136] It should be noted that the comprehensive cost is a tracking and indicator that is obtained by weighted summing of different types of costs, and is used to evaluate the pros and cons of paths from different perspectives; the cost weight refers to the proportion or importance of different types of costs in the calculation of the comprehensive cost.

[0137] For example, taking into account factors such as the consistency of the trajectory with the user's intention, trajectory smoothness, trajectory speed, duration, and trajectory curvature, the comprehensive cost can be determined based on the following formula:

[0138] C(ξ)=w intent C intent (ξ)+w smooth C smooth (ξ)+w speed C speed (ξ)

[0139] +w duration C duration (ξ)+w straight C straight (ξ)

[0140] Among them, the intention cost C intent (ξ) is used to evaluate the consistency between the trajectory and the operator’s intention; the smoothing cost C smooth (ξ) is used to measure the smoothness of the trajectory and is penalized by the acceleration change of the trajectory to encourage trajectory smoothness; the speed cost C speed (ξ) is used to evaluate trajectory speed and avoid trajectories with too low speed; time cost C duration(ξ) is used to penalize short-duration trajectories to encourage longer duration trajectories; the curvature cost C straight (ξ) is used to penalize the curvature deviation of the trajectory. The specific calculation method of the intention cost can refer to the intention cost determination formula of the second embodiment above, and the specific calculation method of other costs can refer to the following formula:

[0141]

[0142] Where v(t) is the velocity at time t, ∈ is a small amount to prevent division by zero, and κ(t) represents the curvature of the trajectory at time t. The curvature can be minimized to ensure that the trajectory remains as straight as possible.

[0143] For example, in a search and rescue mission, taking time as the most critical factor, the weight of the time cost can be increased to ensure that path selection gives priority to time efficiency.

[0144] Step S32, determining the target trajectory of the UAV according to the comprehensive cost of each feasible trajectory.

[0145] For example, the feasible trajectory with the lowest comprehensive cost is determined as the target trajectory of the drone, so that the selected target trajectory is, to a certain extent, the most consistent with the user's basic settings in multiple aspects. If energy consumption, resources, etc. are taken into consideration, by selecting the flight trajectory with the lowest comprehensive cost, it can be ensured that the drone completes the flight mission at the lowest cost and improves flight efficiency.

[0146] In this embodiment, by comprehensively considering different types of costs and their corresponding weights, the advantages and disadvantages of each feasible trajectory are comprehensively evaluated, so as to select a target trajectory that better meets user needs and expectations, ensure that the target trajectory meets the user's intention, reduce the operator's adjustment of the trajectory, and improve the efficiency of remote operation.

[0147] In a feasible implementation manner, after step S33, the method further includes:

[0148] Step S40: adjusting the weights of each cost according to the acquired real trajectory of the UAV.

[0149] For example, each cost weight may be adjusted based on a policy gradient method so that the weight configuration can gradually approach the user preference, and the weight may be updated according to the following formula:

[0150]

[0151] Among them, α is the learning rate, which is used to control the size of weight adjustment and can be determined based on experiments; R t is the user's operational feedback (real trajectory) at time t, R baseline is the preset value under the current target trajectory, (R t -Rbaselune ) reflects the deviation value of the trajectory under user operation; Represents the gradient of the cost function with respect to the weight.

[0152] Exemplarily, the weights may also be adjusted by linear regression, gradient descent, or other methods.

[0153] In this embodiment, the cost weight is adjusted according to the actual trajectory, so that the UAV can more accurately adapt to the current user's task requirements, improve the accuracy of subsequent path planning and selection, further reduce the user's operational intervention, and thus improve the efficiency of remote operation.

[0154] For example, in order to help understand the implementation process of the drone trajectory planning method obtained by combining the above-mentioned embodiment 1 and embodiment 2, please refer to Figure 3 , Figure 3 A schematic diagram of the overall process of a UAV trajectory planning method is provided, specifically:

[0155] The handle is used to receive the user's operating intentions and the trajectory adjustment during the flight of the drone. The user's operating intentions can be converted into input primitives through the operating actions of the handle.

[0156] The local map of the current environment is obtained through the depth camera and passed into the trajectory planner together with the input primitive. The motion primitive tree is generated by expanding the input primitive and kicking out the parts of the expanded action nodes that overlap with the obstacle points in the local map.

[0157] Through the personalized trajectory selection module, based on the user's historical or current trajectory adjustment data, the cost weights of each type of cost are adjusted to determine the comprehensive cost of each feasible trajectory in the motion primitive tree, and the feasible trajectory with the minimum comprehensive cost is determined as the target trajectory. The drone will fly according to the determined target trajectory.

[0158] It should be noted that the above examples are only used to understand the present application and do not constitute a limitation on the drone trajectory planning method of the present application. More simple transformations based on this technical concept are all within the scope of protection of the present application.

[0159] The present application also provides a drone trajectory planning device, please refer to Figure 4 , the UAV trajectory planning device includes:

[0160] The operation action conversion module 10 is used to convert the received operation action for the drone into an input primitive through the unicycle model;

[0161] A motion primitive tree construction module 20, configured to construct a motion primitive tree based on the current state of the drone and the input primitives, wherein the motion primitive tree includes a plurality of feasible trajectories;

[0162] The target trajectory determination module 30 is used to determine the target trajectory of the UAV from feasible trajectories based on the input primitives.

[0163] Optionally, the motion primitive tree construction module 10 is further used for:

[0164] Generate a motion primitive tree based on the current state and the incremental sampling algorithm;

[0165] Based on the input primitives, determining weights of terminal nodes of the motion primitive tree;

[0166] Based on the weight of each terminal node and the weighted sampling method, an expansion node is determined from each terminal node;

[0167] According to the status of each extended node and the incremental sampling algorithm, the motion primitive tree is updated, and the weights of each terminal node of the motion primitive tree and subsequent steps are determined based on the input primitives, until the motion primitive tree meets the preset end condition.

[0168] Preferably, the motion primitive tree construction module 20 is further configured to:

[0169] Based on the continuous action space of the current state, the discrete action set is obtained by uniformly discretizing along the dimension of the current state;

[0170] The current state is determined as the root node of the motion primitive tree, and the action nodes that meet the preset safety and feasibility conditions in the discrete action set are determined as branch nodes of the root node;

[0171] Based on the root node and the branch nodes, a motion primitive tree is generated.

[0172] Optionally, the motion primitive tree construction module 20 is further used for:

[0173] Based on the input primitives, determine the intention cost of each terminal node;

[0174] Based on each intention cost, the weight of each terminal node is determined, wherein each intention cost is negatively correlated with the weight of each terminal node.

[0175] Optionally, the motion primitive tree construction module 20 is further used for:

[0176] Determine the node number of the terminal node of the motion primitive tree;

[0177] When the number of nodes does not exceed the preset node threshold, randomly selecting at most a first preset number of terminal nodes according to the weight of each terminal node and determining them as extended nodes;

[0178] When the number of nodes exceeds the node threshold, a second preset number of terminal nodes with the highest weights are weighted amplified, and based on the weights of the terminal nodes, a maximum of a first preset number of terminal nodes are randomly selected as extended nodes.

[0179] Optionally, the target trajectory determination module 30 is further configured to:

[0180] Determine the comprehensive cost of each feasible trajectory according to the input primitive, wherein the comprehensive cost is obtained based on different types of costs and corresponding cost weights;

[0181] Determine the target trajectory of the UAV based on the comprehensive cost of each feasible trajectory.

[0182] Optionally, the target trajectory determination module 30 is further configured to:

[0183] Adjust the weights of each cost according to the actual trajectory of the drone.

[0184] The drone trajectory planning device provided in the embodiment of the present application adopts the drone trajectory planning method in the above embodiment to improve the efficiency of drone remote operation. Compared with the prior art, the drone trajectory planning device provided in the present application has the same beneficial effects as the drone trajectory planning method provided in the above embodiment, and other technical features in the drone trajectory planning device are the same as those disclosed in the above embodiment method, which will not be described in detail here.

[0185] An embodiment of the present application provides a drone trajectory planning device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the drone trajectory planning method in the above-mentioned embodiment one.

[0186] Reference below Figure 5 , which shows a schematic diagram of the structure of a drone trajectory planning device suitable for implementing the embodiment of the present application. The drone trajectory planning device in the embodiment of the present application may include but is not limited to mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Descriptions), PMPs (Portable Media Players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 5The drone trajectory planning device shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present application.

[0187] like Figure 5 As shown, the drone trajectory planning device may include a processing device 1001 (e.g., a central processing unit, a graphics processor, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM: Read Only Memory) 1002 or a program loaded from a storage device 1003 to a random access memory (RAM: Random Access Memory) 1004. In RAM1004, various programs and data required for the operation of the drone trajectory planning device are also stored. The processing device 1001, ROM1002, and RAM1004 are connected to each other via a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Generally, the following systems can be connected to the I / O interface 1006: an input device 1007 including, for example, a touch screen, a touchpad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; an output device 1008 including, for example, a liquid crystal display (LCD: Liquid Crystal Display), a speaker, a vibrator, etc.; a storage device 1003 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 1009. The communication device 1009 can allow the drone trajectory planning device to communicate wirelessly or wired with other devices to exchange data. Although the figure shows a drone trajectory planning device with various systems, it should be understood that it is not required to implement or have all the systems shown. More or fewer systems can be implemented or provided instead.

[0188] In particular, according to the embodiments disclosed in the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present application include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device, or installed from a storage device 1003, or installed from a ROM 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the method of the embodiment disclosed in the present application are executed.

[0189] The drone trajectory planning device provided in the embodiment of the present application adopts the drone trajectory planning method in the above embodiment to improve the efficiency of drone remote operation. Compared with the prior art, the beneficial effects of the drone trajectory planning device provided in the present application are the same as the beneficial effects of the drone trajectory planning method provided in the above embodiment, and the other technical features in the drone trajectory planning device are the same as the features disclosed in the method of the previous embodiment, which will not be repeated here.

[0190] It should be understood that the various parts disclosed in this application can be implemented by hardware, software, firmware or a combination thereof. In the description of the above embodiments, specific features, structures, materials or characteristics can be combined in any one or more embodiments or examples in a suitable manner.

[0191] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

[0192] An embodiment of the present application provides a computer-readable storage medium having computer-readable program instructions (i.e., a computer program) stored thereon, and the computer-readable program instructions are used to execute the drone trajectory planning method in the above-mentioned embodiment.

[0193] The computer-readable storage medium provided in the embodiment of the present application may be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems or devices, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM: Random Access Memory), a read-only memory (ROM: Read Only Memory), an erasable programmable read-only memory (EPROM: Erasable Programmable Read Only Memory or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM: CD-Read Only Memory), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system or device. The program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (Radio Frequency: Radio Frequency), etc., or any suitable combination of the above.

[0194] The above-mentioned computer-readable storage medium may be included in the UAV trajectory planning device; or it may exist independently without being assembled into the UAV trajectory planning device.

[0195] The computer-readable storage medium carries one or more programs. When the one or more programs are executed by the UAV trajectory planning device, the UAV trajectory planning device: converts the received operation actions for the UAV into input primitives through a unicycle model; constructs a motion primitive tree based on the current state of the UAV and the input primitives, wherein the motion primitive tree includes multiple feasible trajectories; and determines the target trajectory of the UAV from the feasible trajectories according to the input primitives.

[0196] Computer program code for performing the operations of the present application may be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0197] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0198] The modules involved in the embodiments described in this application may be implemented by software or hardware, wherein the name of the module does not constitute a limitation on the unit itself in some cases.

[0199] The readable storage medium provided in the embodiment of the present application is a computer-readable storage medium, which stores computer-readable program instructions (i.e., computer programs) for executing the above-mentioned UAV trajectory planning method, and can improve the efficiency of UAV teleoperation. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in the present application are the same as the beneficial effects of the UAV trajectory planning method provided in the above-mentioned embodiment, and will not be repeated here.

[0200] An embodiment of the present application also provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of the above-mentioned drone trajectory planning method.

[0201] The computer program product provided in the embodiment of the present application can improve the efficiency of UAV remote operation. Compared with the prior art, the beneficial effects of the computer program product provided in the present application are the same as the beneficial effects of the UAV trajectory planning method provided in the above embodiment, which will not be repeated here.

[0202] The above descriptions are only some embodiments of the present application, and are not intended to limit the patent scope of the present application. All equivalent structural changes made using the contents of the present application specification and drawings under the technical concept of the present application, or direct / indirect applications in other related technical fields are included in the patent protection scope of the present application.

Claims

1. A UAV trajectory planning method, characterized in that: The UAV trajectory planning method comprises: The received operation actions for the drone are converted into input primitives through the unicycle model; Based on the current state of the drone and the input primitives, construct a motion primitive tree, wherein the motion primitive tree includes a plurality of feasible trajectories; According to the input primitives, a target trajectory of the UAV is determined from the feasible trajectories.

2. The UAV trajectory planning method according to claim 1, characterized in that: The step of constructing a motion primitive tree based on the current state of the drone and the input primitives comprises: Based on the current state and the incremental sampling algorithm, generate a motion primitive tree; Determining weights of terminal nodes of the motion primitive tree based on the input primitives; Determining an extension node from each of the terminal nodes based on the weight of each of the terminal nodes and a weighted sampling method; According to the status of each of the extended nodes and the incremental sampling algorithm, the motion primitive tree is updated, and the step of determining the weight of each terminal node of the motion primitive tree based on the input primitive is repeated until the motion primitive tree meets a preset end condition.

3. The UAV trajectory planning method according to claim 2, characterized in that: The step of generating a motion primitive tree based on the current state and the incremental sampling algorithm comprises: Based on the continuous action space of the current state, uniformly discretize along the dimension of the current state to obtain a discrete action set; Determine the current state as the root node of the motion primitive tree, and determine the action nodes in the discrete action set that meet the preset safety and feasibility conditions as the branch nodes of the root node; The motion primitive tree is generated based on the root node and the branch nodes.

4. The UAV trajectory planning method according to claim 2, characterized in that: The step of determining the weight of each terminal node of the motion primitive tree based on the input primitive comprises: Determining the intention cost of each of the terminal nodes based on the input primitives; Based on each of the intention costs, a weight of each of the terminal nodes is determined, wherein there is a negative correlation between each of the intention costs and the weight of each of the terminal nodes.

5. The UAV trajectory planning method according to claim 2, characterized in that: The step of determining the extended node from each of the terminal nodes based on the weight of each of the terminal nodes and the weighted sampling method comprises: Determining the number of terminal nodes of the motion primitive tree; In the case where the number of nodes does not exceed a preset node threshold, randomly selecting at most a first preset number of the terminal nodes according to the weight of each of the terminal nodes, and determining them as the extended nodes; In the case where the number of nodes exceeds the node threshold, a weight amplification process is performed on the second preset number of terminal nodes with the highest weights, and based on the weights of the terminal nodes, at most the first preset number of terminal nodes are randomly selected and determined as the extended nodes.

6. The UAV trajectory planning method according to claim 1, characterized in that: The step of determining the target trajectory of the UAV from the feasible trajectories according to the input primitives comprises: Determining a comprehensive cost of each of the feasible trajectories according to the input primitives, wherein the comprehensive cost is obtained based on different types of costs and corresponding cost weights; The target trajectory of the UAV is determined according to the comprehensive cost of each of the feasible trajectories.

7. The UAV trajectory planning method according to claim 6, characterized in that: After the step of determining the target trajectory of the UAV according to the comprehensive cost of each of the feasible trajectories, the method further includes: The cost weights are adjusted according to the acquired real trajectory of the UAV.

8. A UAV trajectory planning device, characterized in that: The UAV trajectory planning device comprises: An operation action conversion module, used for converting the received operation actions for the UAV into input primitives through the unicycle model; A motion primitive tree construction module, configured to construct a motion primitive tree based on the current state of the drone and the input primitive, wherein the motion primitive tree includes a plurality of feasible trajectories; The target trajectory determination module is used to determine the target trajectory of the UAV from the feasible trajectories according to the input primitives.

9. A drone trajectory planning device, characterized in that: The device comprises: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the UAV trajectory planning method according to any one of claims 1 to 7.

10. A storage medium, characterized in that: The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, the steps of the drone trajectory planning method according to any one of claims 1 to 7 are implemented.

Citation Information

Cited By

  • Perception-planning-control integrated unmanned aerial vehicle airborne edge calculation method and system

    CN122293694A