Autonomous navigation method for a quad-rotor unmanned aerial vehicle and unmanned aerial vehicle device
By creating a grid map on a quadrotor drone and combining RRT* and A* algorithms to generate paths, the problem of quickly and safely reaching the target point in a complex map-free indoor environment is solved, and efficient path planning and flight performance improvement is achieved.
Patent Information
- Application Number
- CN202211347786.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-31
- Publication Date
- 2025-04-18
- Estimated Expiration
- 2042-10-31
AI Technical Summary
In complex mapless indoor environments, how quadrotor drones can quickly and safely reach target points has become a key issue, and the existing technology wastes a lot of time when building ESDF maps, affecting the rapidity of motion planning.
By obtaining the depth image and position information of the quadrotor drone, creating a raster map, and using the RRT* algorithm to generate trajectories that meet the dynamic constraints, combining the A* algorithm to generate local trajectories without collisions, optimize the preliminary path to generate a specified path.
It realizes path planning to quickly and safely reach the target point without collision in a complex map-free indoor environment, improving the indoor flight safety and maneuverability of the quadrotor drone.
Smart Images

Figure CN115542947B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of quad-rotor unmanned aerial vehicles (UAVs), and in particular to an autonomous navigation method for a quad-rotor unmanned aerial vehicle (UAV) and an UAV device. Background Art
[0002] Unmanned aerial vehicles (UAVs) are referred to as "drones". According to different working principles and body structures, they are divided into rotary-wing and fixed-wing drones. Quadcopters are typical rotary-wing drones. They are small in size, can take off and land vertically, and are agile, making it possible for them to fly in complex and narrow indoor spaces. With vigorous research in recent years, quadcopters have the advantages of low cost, easy operation, easy maintenance, and stability and reliability, and are widely used in all walks of life.
[0003] Thanks to the rapid development of artificial intelligence technology and machine vision, quadcopters are no longer just flying vehicles, but also have the ability to process images and autonomously plan flights. Applying object recognition and target tracking algorithms in machine vision to drones has expanded the application of drones in agricultural plant protection, smart cities, security and rescue, and post-disaster rescue. Therefore, the combination of quadcopters and machine vision to achieve autonomous navigation in complex indoor scenes will have important application value.
[0004] Faced with unknown and complex indoor scenes, how the quadcopter can reach the target point quickly, safely and without collision becomes a key issue. Traditionally, gradient-based path planning relies on pre-built ESDF maps to evaluate the gradient size and direction, and uses numerical optimization to generate local optimal solutions. Although the optimization procedure has fast convergence, the need to construct the ESDF (Euclidean Signed Distance Field) map in advance will greatly affect the speed. There are usually two methods to construct ESDF maps, which can be divided into incremental global update methods and batch local calculation methods. However, neither of them considers the trajectory itself during the construction process, and a lot of time is wasted on unnecessary maps, which limits the use of motion planning methods under limited resources.
[0005] In summary, a visual autonomous navigation method suitable for complex and mapless indoor environments is a problem that needs to be solved in this technical field. Summary of the invention
[0006] A brief summary of one or more aspects is given below to provide a basic understanding of these aspects. This summary is not an exhaustive overview of all conceived aspects, and is neither intended to identify the key or critical elements of all aspects nor to define the scope of any or all aspects. Its only purpose is to give some concepts of one or more aspects in a simplified form as a prelude to a more detailed description that will be given later.
[0007] The purpose of the present invention includes providing an autonomous navigation method for a quad-rotor drone, which can be applicable to visual navigation in complex indoor map-free scenes, and helps to improve the indoor flight safety and maneuverability of the quad-rotor drone.
[0008] The purpose of the present invention also includes providing a drone device that can be used for visual navigation in complex indoor map-free scenes, which helps to improve the indoor flight safety and maneuverability of quad-rotor drones.
[0009] The embodiments of the present invention can be implemented in the following ways:
[0010] An autonomous navigation method for a quad-rotor unmanned aerial vehicle, comprising:
[0011] Obtain the depth image and posture information of the quadrotor drone;
[0012] Creating a grid map according to the depth image and the posture information; wherein the grid map is a grid map from the perspective of the hovering position of the quadrotor drone;
[0013] Planning a designated path from the hovering position to the target point on the grid map; wherein the planning process includes: using the RRT* algorithm to generate a trajectory that satisfies dynamic constraints but does not consider obstacles; for the part of the trajectory where obstacles exist, using the A* algorithm to generate a collision-free local trajectory, and using the local trajectory to generate attraction points outside the obstacles to plan a preliminary path; optimizing the preliminary path to generate the designated path;
[0014] The quadrotor drone is controlled to fly to the target point along the designated path.
[0015] Optionally, the step of creating a grid map according to the depth image and the pose information includes:
[0016] Generate point cloud data according to the depth image and the pose information, and convert the point cloud data from a camera coordinate system to a world coordinate system;
[0017] Determine whether each point in the converted point cloud data is within the restricted map; if the point is not within the map, move the point to the map boundary; if the point is within the map, determine whether the distance from the point to the camera is greater than the farthest measurable distance; if the distance from the point to the camera is greater than the farthest measurable distance, move the point to the farthest measurable distance and obtain the coordinates of the point in the map; if the distance from the point to the camera is less than or equal to the farthest measurable distance, consider the point to be an obstacle;
[0018] Remove the map outside the camera's field of view and expand the obstacles according to the size of the quadcopter; add a virtual roof to limit the flight altitude;
[0019] The camera is a depth camera used to obtain the depth image.
[0020] Optionally, the steps of using the RRT* algorithm to generate a trajectory that satisfies the dynamic constraints but does not consider obstacles include:
[0021] The starting point is taken as the root node of the tree T, and the tree T is made to grow toward the target point. Each time, a random point X rand When sampling, random points X rand Find a subset of T x that is inside the circle for the center of the circle backward , if the subset χ backward If there are multiple points, select the node X with the smallest state transfer cost. near As a random point X rand The parent node of the random point X rand Add to the tree T, with a random point X rand Find the positive T subset χ in the circle for the center of the circle forward , subset χ forward If the point in is a random point X rand Point as the parent node can get a lower cost, then the random point X rand Update to subset χ forward The parent node of the point in the tree; if the target point is connected to any state node in the tree, the trajectory is obtained by recursively tracing back from the target point to its parent node to the starting point.
[0022] Optionally, for a portion of the trajectory where an obstacle exists, the step of using an A* algorithm to generate a collision-free local trajectory, and using the local trajectory to generate an attraction point outside the obstacle includes:
[0023] The point where the trajectory enters the obstacle is defined as the path starting point P1 of the local trajectory, and the point where the trajectory exits is defined as the path ending point P2 of the local trajectory;
[0024] Let the open list represent the nodes to be traversed, and the closed list represent the nodes that have been traversed;
[0025] During initialization, the starting point of the path and the set of points around the starting point of the path are added to the open list, and the node n with the smallest total consumption is selected from the open list; the node n is deleted from the open list and added to the closed list; the neighboring nodes m of node n are traversed, and the total consumption of the neighboring nodes m and the movement consumption from the starting point of the path through the node n to the neighboring node m are calculated, and the point with the smallest movement consumption among the neighboring nodes m is selected to generate a trajectory; the nodes in the open list are traversed until the end of the path to obtain a local trajectory;
[0026] The midpoint of the local trajectory is represented by P m , let the midpoint of the line from P1 to P2 be P c ; From P c To P m Make vector extension lines;
[0027] Ray tracing is performed along the extended line of the vector. When an unobstructed grid is found on both sides, the tracing stops, and the grid where the tracing stops is used as the attraction point P. a .
[0028] Optionally, the step of optimizing the preliminary path includes:
[0029] Considering the smoothness, similarity and collision terms of the path, the variables to be planned are reduced according to the differential flatness characteristics of the drone, and the trajectory optimization problem Q is defined as:
[0030] Q=argmin J=λ s J s +λ r J r +λ c J c
[0031] Among them, J s represents the smoothing term, J r represents the similarity between the optimized trajectory and the original trajectory, J c represents the collision term, λ s ,λ r ,λ c is the weight of the penalty term.
[0032] Optionally, for each dimension of {x,y,z}, consider an m-segment, n-order polynomial trajectory p m (t) = c0 + c1t + c2t 2 +c n t n ; Let c m =[c0; c1; c2; ···; c n] T is the coefficient of the mth segment of the trajectory, and finds the optimal coefficient for each segment of the trajectory;
[0033] The smoothing term consists of the integral of the square of the derivative of the trajectory:
[0034]
[0035] Where T is the total time of m-segment trajectory; T i is the time of the i-th trajectory among the m-segment trajectories; is the coefficient vector of segment m; Q s In order to simplify the formula, equivalent variables are set.
[0036] Optionally, for each dimension of {x,y,z}, consider an m-segment, n-order polynomial trajectory p m (t) = c0 + c1t + c2t 2 +c n t n ; Let c m =[c0; c1; c2; ···; c n ] T is the coefficient of the mth segment of the trajectory, and finds the optimal coefficient for each segment of the trajectory;
[0037] The similarity is expressed as the integral of the squared difference between the optimized trajectory and the initial path points:
[0038]
[0039] Where T is the total time of m-segment trajectory; T i is the time of the i-th trajectory among the m-segment trajectories; is the coefficient vector of segment m; p * (t) represents the initial path; p(t) is the optimized path.
[0040] Optionally, for each dimension of {x,y,z}, consider an m-segment, n-order polynomial trajectory p m (t) = c0 + c1t + c2t 2 +c n t n ; Let c m =[c0; c1; c2; ···; c n ] T is the coefficient of the mth segment of the trajectory, and finds the optimal coefficient for each segment of the trajectory;
[0041] The function of the collision phase is:
[0042]
[0043] Where T is the total time of m-segment trajectory; is the coefficient vector of segment m; p ap (t) is the constant position of an attraction point ap in the set APs; and is the corresponding time segment of the optimized trajectory affected by the tension; L is the set of trajectory segments with attractive points, The time segment of the ith trajectory segment.
[0044] Alternatively, since the overall optimization objective is quadratic, and the weights and durations are non-negative, the coefficient matrix of the quadratic terms is always positive definite, and an unconstrained formulation of the quadratic programming with bounded derivative constraints can be derived, leading to a closed-form optimal solution when state and control constraints are ignored and given boundary conditions and time allocations.
[0045] A drone device comprises a quad-rotor drone, a depth camera, a binocular camera and an onboard microcomputer; the depth camera, the binocular camera and the onboard microcomputer are all mounted on the quad-rotor drone; the depth camera is used to obtain a depth image, and the binocular camera is used to obtain position information; the onboard microcomputer and the quad-rotor drone are used to execute the above-mentioned autonomous navigation method of the quad-rotor drone.
[0046] The beneficial effects of the autonomous navigation method of a quad-rotor drone and the drone device provided by the embodiments of the present invention include:
[0047] An embodiment of the present invention provides an autonomous navigation method for a quad-rotor drone, which includes obtaining a depth image and posture information of the quad-rotor drone; creating a grid map based on the depth image and posture information; planning a designated path from a hovering position to a target point on the grid map; and controlling the quad-rotor drone to fly to the target point along the designated path. The planning process includes: using the RRT* algorithm to generate a trajectory that satisfies dynamic constraints but does not consider obstacles; for the part of the trajectory where obstacles exist, using the A* algorithm to generate a collision-free local trajectory, and using the local trajectory to generate attraction points outside the obstacles to plan a preliminary path; optimizing the preliminary path to generate the designated path. Through this method, a designated path that reaches the target point quickly, safely and without collision can be planned, which is suitable for autonomous navigation in complex indoor environments without maps.
[0048] An embodiment of the present invention also provides a drone device, whose onboard microcomputer is used to execute the above-mentioned autonomous navigation method of the quad-rotor drone, and thus also has the beneficial effect of being able to plan a designated path to reach the target point quickly, safely and without collision, and is suitable for autonomous navigation in complex and mapless indoor environments. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] The above features and advantages of the present invention can be better understood after reading the detailed description of the embodiments of the present disclosure in conjunction with the following drawings. In the drawings, the components are not necessarily drawn to scale, and components with similar related properties or features may have the same or similar reference numerals.
[0050] Figure 1 A flowchart of an autonomous navigation method for a quad-rotor drone provided according to one aspect of the present invention is shown;
[0051] Figure 2 A structural block diagram of a drone device provided according to one aspect of the present invention is shown;
[0052] Figure 3 A trajectory generation flow chart according to one aspect of the present invention is shown;
[0053] Figure 4 A schematic diagram of the RRT* trajectory and attraction points provided according to one aspect of the present invention is shown;
[0054] Figure 5 A real in-flight map and a path diagram at a position on a flight trajectory provided according to one aspect of the present invention are shown;
[0055] Figure 6 A real in-flight map and a path map at another location on a flight trajectory provided according to one aspect of the present invention are shown;
[0056] Figure 7 A real in-flight map and a path map at another position on a flight trajectory provided according to one aspect of the present invention are shown;
[0057] Figure 8 A real in-flight map and a path map at another position on a flight trajectory provided according to one aspect of the present invention are shown;
[0058] Fig. 9 A comparison diagram of the actual trajectory and the expected trajectory of a quadrotor drone provided according to one aspect of the present invention is shown.
[0059] Reference numerals:
[0060] 10-Quadrotor drone; 11-Depth camera; 12-Binocular camera; 13-Onboard microcomputer. DETAILED DESCRIPTION
[0061] The present invention is described in detail below in conjunction with the accompanying drawings and specific embodiments. Note that the aspects described below in conjunction with the accompanying drawings and specific embodiments are only exemplary and should not be construed as limiting the scope of protection of the present invention in any way.
[0062] Please refer to Figure 1-Figure 3 , an embodiment of the present invention provides an autonomous navigation method for a quad-rotor UAV, and also provides a UAV device.
[0063] The drone device includes a quad-rotor drone 10, a depth camera 11, a binocular camera 12, and an onboard microcomputer 13. The depth camera 11, the binocular camera 12, and the onboard microcomputer 13 are all mounted on the quad-rotor drone 10. The depth camera 11 is used to obtain a depth image, and the binocular camera 12 is used to obtain posture information. The onboard microcomputer 13 is electrically connected to the depth camera 11, the binocular camera 12, and the quad-rotor drone 10 at the same time. The depth image obtained by the depth camera 11 and the posture information obtained by the binocular camera 12 are transmitted to the onboard microcomputer 13. The onboard microcomputer 13 processes the obtained depth image and posture information and transmits the processing results to the quad-rotor drone 10. Specifically, the depth camera 11 and the binocular camera 12 are both arranged toward the front of the quad-rotor drone 10.
[0064] Optionally, in this embodiment, the depth camera 11 adopts an Intel realsense D435 camera, and the depth camera is used to obtain a depth image in real time during the rapid movement of the quadcopter drone. The binocular camera 12 adopts a binocular fisheye camera. In other embodiments, other types of binocular cameras may also be used. Specifically, the Intel realsense T265 camera is used in this embodiment, and the binocular fisheye camera provides accurate and robust positioning information for the quadcopter drone during flight. At the same time, the visual inertial navigation odometer runs inside the Intel realsense T265 camera, and the visual inertial navigation odometer is an algorithm for simultaneous positioning and mapping (V-SLAM). The onboard microcomputer 13 is an NVIDIA Jetson TX2 module, which provides excellent speed and energy efficiency for embedded AI computing devices. The onboard microcomputer and the quadcopter drone are configured to execute the above-mentioned autonomous navigation method of the quadcopter drone, that is, the above-mentioned autonomous navigation method of the quadcopter drone is realized by the onboard microcomputer and the controller of the quadcopter drone. In other words, the autonomous navigation method of the quadcopter drone provided by the embodiment of the present invention can be implemented based on the drone device.
[0065] Autonomous navigation methods for quadrotor drones include:
[0066] S01: Obtain the depth image and posture information of the quadrotor drone.
[0067] The drone device is placed at the take-off point, and then the binocular camera is started to provide real-time position information for the quadcopter. The depth camera obtains the depth image in real time and transmits it to the onboard WeChat computer to provide depth images for the quadcopter.
[0068] S02: Create a grid map based on the depth image and pose information.
[0069] The drone device is controlled to take off to a preset height and then hover. The position of the drone device at this time is the hovering position, and the grid map under this perspective is created using the depth image and posture information. The specific value of the preset height can be set according to needs, for example, set to 1 meter.
[0070] The specific process of creating a raster map includes:
[0071] S21: Generate point cloud data according to the depth image and the position information, and transform the point cloud data from the camera coordinate system to the world coordinate system. The point cloud data includes multiple points.
[0072] S22: Determine for each point in the point cloud data whether it is within a restricted map. Specifically, the restricted map is a map with an artificially limited size, and the artificially limited map size is a map fence.
[0073] When a point is not in the map, it is moved to the map boundary. When a point is in the map, it is determined whether the distance from the point to the depth camera is greater than the farthest measurable distance of the depth camera.
[0074] If the distance from the point to the depth camera is greater than the farthest measurable distance, the point is moved to the farthest measurable distance and the coordinates of the point in the map are obtained. If the distance from the point to the depth camera is less than or equal to the farthest measurable distance, the point is regarded as an obstacle, thereby establishing a grid map. Specifically, in this embodiment, the step of establishing a grid map can be performed by the onboard microcomputer 13.
[0075] S23: Remove the map outside the camera's view, expand the obstacles according to the size of the quadrotor, and finally add a virtual roof to limit the flight height.
[0076] S03: Plan a specified path from the hovering position to the target point on the grid map.
[0077] After the target point is obtained, a specified path is planned from the current position of the quadcopter (i.e. the hovering position) to the target point. The planning process includes the following steps:
[0078] S31: Use the RRT* algorithm to generate a trajectory that satisfies the dynamic constraints but does not consider obstacles.
[0079] Specifically, the starting point is taken as the root node of the tree T, and the tree T is made to grow toward the target point. Each time, a random point X rand When sampling, random points X rand Find a subset of T x that is inside the circle for the center of the circle backward , if the subset χ backwardIf there are multiple points, select the node X with the smallest state transfer cost. near As a random point X rand The parent node of the random point X rand Add to the tree T, with a random point X rand Find the positive T subset χ in the circle for the center of the circle forward , subset χ forward If the point in is a random point X rand Point as the parent node can get a lower cost, then the random point X rand Update to subset χ forward until the target point is connected to any state node in the tree, then the trajectory is obtained by recursively tracing back from the target point to its parent node to the starting point. The trajectory obtained by using the RRT* algorithm can also be called the RRT* trajectory. It should be noted that in this embodiment, the "starting point" is the hovering position point, Figure 4 The "end point" marked in the figure is the target point.
[0080] S32: For the part of the trajectory where there is an obstacle, use the A* algorithm to generate a collision-free local trajectory, and use the local trajectory to generate an attraction point outside the obstacle.
[0081] Since the trajectory generated by the RRT* algorithm does not take obstacles into account, a collision-free local trajectory needs to be generated for the part of the trajectory where obstacles exist. Figure 4 A schematic diagram of partially generating attraction points of obstacles in the generated RRT* trajectory is shown. Specifically, the RRT* trajectory is divided into m segments to form m trajectory segments. If there is an obstacle on a certain trajectory segment, the A* algorithm is used to generate a collision-free local trajectory.
[0082] The process of the A* algorithm to generate a collision-free local trajectory includes:
[0083] Let the point where the obstacle is penetrated in the trajectory generated by the RRT* algorithm be the path starting point P1 of the local trajectory, and the point where the obstacle is penetrated be the path ending point P2 of the local trajectory;
[0084] The A* algorithm is used to find a set of points that avoid obstacles and minimize F each time until the target point. Specifically, in this embodiment, the total cost of a point is F, F = G + H, G is the cost of moving the point from the path starting point P1, and H is the estimated cost of moving the point to the path end point P2. Specifically, the process of generating the local path includes: let the open list represent the nodes to be traversed, and the closed list represent the nodes that have been traversed.
[0085] During initialization, add the set of points around the path starting point P1 and the path end point P2 to the open list, and select the node n with the smallest total cost F from the open list. Delete node n from the open list and add it to the false list, traverse all neighboring nodes m of node n, if the neighboring node m is in the closed list and obstacles, skip and take the next one, if the neighboring node m is not in the list, add the neighboring node m to the open list, and calculate the total cost of the neighboring node m and the movement cost G from the path starting point P1 through node n to the neighboring node m, and select the point with the smallest movement cost among all neighboring nodes m of node n to generate a trajectory. Repeat the above process, traverse all nodes in the open list until the path end point P2, and obtain a local trajectory, which can also be called an A* trajectory.
[0086] After obtaining the A* trajectory, the attraction point can be generated outside the obstacle point according to the A* trajectory. Specifically, the midpoint of the A* trajectory is represented as P m , let the midpoint of the line from P1 to P2 be P c From P c To P m Make a vector extension line. Tracing along the vector extension line, when there are unobstructed grids on both sides (i.e. Figure 4 When the colorless grid in the image is reached, the tracking stops and the grid where the tracking stops is used as the attraction point P. a . According to the RRT trajectory and the attraction point P a Plan a preliminary route.
[0087] S33: Optimize the preliminary path to generate a designated path.
[0088] Considering the trajectory smoothness, similarity and collision terms, the variables to be planned are reduced according to the differential flatness characteristics of the quadrotor drone. Specifically, the trajectory optimization problem Q is defined as:
[0089] Q=argmin J=λ s J s +λ r J r +λ c J c
[0090] Among them, J s represents the smoothing term, J r represents the similarity between the optimized trajectory and the original trajectory, J c represents the collision term, λ s ,λ r ,λ c is the weight of the penalty term.
[0091] For each dimension of {x,y,z}, consider an m-segment, n-order polynomial trajectory p m(t) = c0 + c1t + c2t 2 +c n t n ; Let c m =[c0; c1; c2; ···; c n ] T is the coefficient of the mth segment of the trajectory, and the ultimate goal is to find the optimal coefficient for each segment of the trajectory.
[0092] The purpose of smoothing the trajectory can be achieved by minimizing the high-order derivatives of the curve, so the smooth term of the above trajectory is composed of the integral of the square of the derivative of the trajectory:
[0093]
[0094] Where T is the total time of m trajectory segments; T i is the time of the i-th trajectory among the m-segment trajectories, that is, the time of the i-th trajectory segment; is the coefficient vector of segment m; Q s In order to simplify the formula, equivalent variables are set.
[0095] Since the preliminary path already satisfies the dynamic constraints, it is necessary to make the optimized trajectory similar enough to the original trajectory. The similarity is the integral of the squared difference between the optimized trajectory and the preliminary path:
[0096]
[0097] Where T is the total time of the m-segment trajectory; T i is the time of the i-th trajectory among the m-segment trajectories; is the coefficient vector of segment m; p * (t) represents the initial path; p(t) is the optimized path, that is, the specified path in this embodiment.
[0098] Finally, for the collision phase, the collision phase is similar to the above similarity, except that some selected attraction points are subtracted, which provide a pulling force to pull the collision part to the nearby non-collision area, and its penalty function is:
[0099]
[0100] Where T is the total time of m-segment trajectory; is the coefficient vector of segment m; p ap (t) is the constant position of an attraction point ap in the set APs; and is the corresponding time segment of the optimized trajectory affected by the tension; L is the set of trajectory segments with attractive points, The time segment of the ith trajectory segment.
[0101] Since the overall optimization objective J is quadratic, and the weights and durations are non-negative, the coefficient matrix of the quadratic terms is always positive definite, and an unconstrained formula for QP (quadratic programming) with boundary derivative constraints can be derived, which leads to a closed-form optimal solution when state and control constraints are ignored and boundary conditions and time allocation are given.
[0102] Figure 5-Figure 8 Figure 2 shows the path diagrams at four different locations on a flight trajectory. Figure 5-Figure 8 It can be seen from the images that the path planned by the autonomous navigation method of the present invention has good smoothness, and the planned trajectory has no collision with obstacles, which fully demonstrates the stability and good performance of the method of the present invention.
[0103] S04: Control the quadrotor drone to fly to the target point along the specified path.
[0104] After generating the specified path, control the quadcopter to fly to the target point along the specified path. Then it can fly to the landing point and land.
[0105] Fig. 9 A comparison diagram of the actual flight trajectory and the expected trajectory (i.e., the specified path in this embodiment) is shown. It can be seen from the figure that the autonomous navigation method provided by the present invention can well control the quadrotor drone to fly along the specified path.
[0106] The above description is only a specific implementation mode of the present invention, but the protection scope of the present invention is not limited thereto. Any changes or substitutions that can be easily conceived by any technician familiar with the technology in the field within the technical scope disclosed by the present invention should be covered within the protection scope of the present invention.
Claims
1. An autonomous navigation method for a quad-rotor drone, characterized in that: include: Obtain the depth image and posture information of the quadrotor drone; Creating a grid map according to the depth image and the posture information; wherein the grid map is a grid map from the perspective of the hovering position of the quadrotor drone; Planning a designated path from the hovering position to the target point on the grid map; wherein the planning process includes: using the RRT* algorithm to generate a trajectory that satisfies dynamic constraints but does not consider obstacles; for the part of the trajectory where obstacles exist, using the A* algorithm to generate a collision-free local trajectory, and using the local trajectory to generate attraction points outside the obstacles to plan a preliminary path; optimizing the preliminary path to generate the designated path; Controlling the quadrotor drone to fly to the target point along the designated path; The step of creating a grid map according to the depth image and the pose information comprises: Generate point cloud data according to the depth image and the pose information, and convert the point cloud data from a camera coordinate system to a world coordinate system; Determine whether each point in the converted point cloud data is within the restricted map; if the point is not within the map, move the point to the map boundary; if the point is within the map, determine whether the distance from the point to the camera is greater than the farthest measurable distance; if the distance from the point to the camera is greater than the farthest measurable distance, move the point to the farthest measurable distance and obtain the coordinates of the point in the map; if the distance from the point to the camera is less than or equal to the farthest measurable distance, consider the point to be an obstacle; Remove the map outside the camera's field of view and expand the obstacles according to the size of the quadcopter; add a virtual roof to limit the flight altitude; Wherein, the camera is a depth camera for acquiring the depth image; The steps to generate a trajectory that satisfies dynamic constraints but does not consider obstacles using the RRT* algorithm include: The starting point is taken as the root node of the tree T, and the tree T is made to grow toward the target point. Each time, a random point X rand When sampling, random points X rand Find a subset of T x that is inside the circle for the center of the circle backward , if the subset χ backward If there are multiple points, select the node X with the smallest state transfer cost. near As a random point X rand The parent node of the random point X rand Add to the tree T, with a random point X rand Find the positive T subset χ in the circle for the center of the circle forward , subset χ forward If the point in is a random point X rand Point as the parent node can get a lower cost, then the random point X rand Update to subset χ forward The parent node of the point in the tree; if the target point is connected to any state node in the tree, the trajectory is obtained by recursively tracing back from the target point to its parent node to the starting point; For a portion of the trajectory where an obstacle exists, the steps of using an A* algorithm to generate a collision-free local trajectory, and using the local trajectory to generate an attraction point outside the obstacle include: The point where the trajectory enters the obstacle is defined as the path starting point P1 of the local trajectory, and the point where the trajectory exits is defined as the path ending point P2 of the local trajectory; Let the open list represent the nodes to be traversed, and the closed list represent the nodes that have been traversed; During initialization, the starting point of the path and the set of points around the starting point of the path are added to the open list, and the node n with the smallest total consumption is selected from the open list; the node n is deleted from the open list and added to the closed list; the neighboring nodes m of node n are traversed, and the total consumption of the neighboring nodes m and the movement consumption from the starting point of the path through the node n to the neighboring node m are calculated, and the point with the smallest movement consumption among the neighboring nodes m is selected to generate a trajectory; the nodes in the open list are traversed until the end of the path to obtain a local trajectory; The midpoint of the local trajectory is represented by P m , let the midpoint of the line from P1 to P2 be P c ; From P c To P m Make vector extension lines; Ray tracing is performed along the extended line of the vector. When an unobstructed grid is found on both sides, the tracing stops, and the grid where the tracing stops is used as the attraction point P. a ; The step of optimizing the preliminary path comprises: Considering the smoothness, similarity and collision terms of the path, the variables to be planned are reduced according to the differential flatness characteristics of the drone, and the trajectory optimization problem Q is defined as: Q=argminJ=λ s J s +λ r J r +λ c J c Among them, J s represents the smoothing term, J r represents the similarity between the optimized trajectory and the original trajectory, J c represents the collision term, λ s ,λ r ,λ c is the weight of the penalty term.
2. The autonomous navigation method of a quadrotor drone according to claim 1, characterized in that: For each dimension of {x,y,z}, consider an m-segment, n-order polynomial trajectory p m (t) = c0 + c1t + c2t 2 +c n t n ; Let c m =[c0; c1; c2; ···; c n ] T is the coefficient of the mth segment of the trajectory, and finds the optimal coefficient for each segment of the trajectory; The smoothing term consists of the integral of the square of the derivative of the trajectory: Where T is the total time of the m-segment trajectory; T i is the time of the i-th trajectory among the m-segment trajectories; is the coefficient vector of segment m; Q s In order to simplify the formula, equivalent variables are set.
3. The autonomous navigation method of a quad-rotor drone according to claim 1, characterized in that: For each dimension of {x,y,z}, consider an m-segment, n-order polynomial trajectory p m (t) = c0 + c1t + c2t 2 +c n t n ; Let c m =[c0; c1; c2; ···; c n ] T is the coefficient of the mth segment of the trajectory, and finds the optimal coefficient for each segment of the trajectory; The similarity is expressed as the integral of the squared difference between the optimized trajectory and the initial path points: Where T is the total time of the m-segment trajectory; T i is the time of the i-th trajectory among the m-segment trajectories; is the coefficient vector of segment m; p * (t) represents the initial path; p(t) is the optimized path.
4. The autonomous navigation method of a quad-rotor drone according to claim 1, characterized in that: For each dimension of {x,y,z}, consider an m-segment, n-order polynomial trajectory p m (t) = c0 + c1t + c2t 2 +c n t n ; Let c m =[c0; c1; c2; ···; c n ] T is the coefficient of the mth segment of the trajectory, and finds the optimal coefficient for each segment of the trajectory; The function of the collision phase is: Where T is the total time of m-segment trajectory; is the coefficient vector of segment m; p ap (t) is the constant position of an attraction point ap in the set APs; and is the corresponding time segment of the optimized trajectory affected by the tension; L is the set of trajectory segments with attractive points, The time segment of the ith trajectory segment.
5. The autonomous navigation method of a quad-rotor drone according to claim 1, characterized in that: Since the overall optimization objective is quadratic, and the weights and durations are non-negative, the coefficient matrix of the quadratic terms is always positive definite, and an unconstrained formulation of the quadratic programming with bounded derivative constraints can be derived, which leads to a closed-form optimal solution when state and control constraints are ignored and boundary conditions and time allocation are given.
6. A drone device, characterized in that: The UAV device includes a quadrotor UAV, a depth camera, a binocular camera and an onboard microcomputer; the depth camera, the binocular camera and the onboard microcomputer are all mounted on the quadrotor UAV; the depth camera is used to obtain a depth image, and the binocular camera is used to obtain posture information; the onboard microcomputer and the quadrotor UAV are used to execute the autonomous navigation method of the quadrotor UAV described in any one of claims 1-5.
Citation Information
Patent Citations
Rapid tracking cooperative obstacle avoidance method for unmanned aerial vehicle
CN110244756A
Unmanned aerial vehicle path planning method based on control parameterization
CN110989626A