A point cloud-based unmanned aerial vehicle assisted obstacle avoidance method
By using a point cloud-based approach and employing principal component analysis and rolling map update techniques, the algorithm complexity and computational load issues in UAV obstacle avoidance were addressed, achieving efficient obstacle recognition and avoidance, and improving the safety and operational fault tolerance of UAVs in large-scale scenarios.
Patent Information
- Application Number
- CN202511300872.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-12
- Publication Date
- 2026-11-06
- Estimated Expiration
- 2045-09-12
AI Technical Summary
Existing drone-assisted obstacle avoidance technologies have complex algorithms that rely on prior maps and fail to fully utilize the perception capabilities of lidar. This leads to increased computational load in large-scale environments, and in dynamic environments, obstacle elements are incorrectly labeled as free space, affecting obstacle avoidance performance.
A point cloud-based approach is adopted to estimate the surface normal vectors of voxels through principal component analysis, update the map in a rolling manner, optimize the data storage structure, and smoothly decelerate when a collision risk is detected to avoid sudden stops.
Removing sensor noise at low mapping resolution avoids incorrect obstacle object elimination, optimizes memory usage in large-scale scenes, improves operational fault tolerance, and ensures safe drone flight.
Smart Images

Figure CN121091877B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of unmanned aerial vehicle (UAV) control technology, and in particular to a point cloud-based UAV obstacle avoidance method. Background Technology
[0002] Unmanned aerial vehicle (UAV) obstacle avoidance technology, as one of the core technologies ensuring safe flight of UAVs, has significant technological value in the field of UAV applications. Its core function is to quickly identify and avoid obstacles by sensing the surrounding environment in real time, effectively reducing collision risks and lowering the technical barrier for operators.
[0003] Especially in special application scenarios such as high-rise firefighting, drone-assisted obstacle avoidance technology has demonstrated unique and crucial application value. In high-rise building firefighting, traditional firefighting operations require operators to control drones close to the fire to spray extinguishing agents. If the distance is too far from the building, the firefighting effect is poor; if the distance is too close, the risk of collision increases significantly. This application scenario places extremely high demands on drone operators, resulting in significant safety and reliability deficiencies in practical applications. By applying drone-assisted obstacle avoidance technology, the margin for error in human operation can be greatly improved, allowing drones to approach the fire at close range and carry out efficient firefighting operations.
[0004] However, existing obstacle avoidance technologies suffer from complex algorithm structures, heavy reliance on prior maps, and failure to fully leverage the wide-area perception capabilities of sensors such as LiDAR. In existing technologies for constructing 3D spatial occupancy maps, ray casting techniques are widely used; however, in dynamic environments or with large voxel sizes, this technique may lead to occupancy voxels being incorrectly labeled as free space, and it significantly increases the computational load in large-scale environments. Summary of the Invention
[0005] In view of this, the purpose of this application is to provide a point cloud-based drone-assisted obstacle avoidance method, which at least enables the drone to remove sensor point cloud noise and avoid the erroneous elimination of obstacle objects at low mapping resolution; it can also optimize the data storage structure by using a rolling map method to solve the memory occupation problem of mapping in large-scale scenes; and it enables the drone to smoothly decelerate in advance when a collision risk is detected, avoiding large-scale sudden stops.
[0006] In a first aspect, embodiments of this application provide a point cloud-based drone-assisted obstacle avoidance method, the method comprising:
[0007] For multiple voxels within the light-irradiated area of the UAV, the surface normal vector of the occupied voxel is estimated by principal component analysis to determine the state of each voxel within the light-irradiated area of the UAV.
[0008] The global map is updated continuously based on the state of each voxel within the light-illuminated area of the drone, the pre-defined local map range, and the current position of the drone.
[0009] Based on the local map and the global map, determine whether there is a collision risk on the flight path of the drone;
[0010] Based on the collision risk, the speed of the drone is controlled to avoid collisions with obstacles.
[0011] Optionally, the state of each voxel within the light-illuminated area of the drone is determined by the following steps:
[0012] Determine whether the light from the drone passes through the voxel;
[0013] If the light from the drone does not pass through the voxel, then the voxel is determined to be occupied.
[0014] When the voxel is in an occupied state, calculate the surface normal vector of the voxel;
[0015] Calculate the angle between the direction vector of the UAV's rays and the surface normal vector of the voxel;
[0016] Determine whether the included angle is greater than a preset included angle threshold. If the included angle is greater than the preset included angle threshold, determine that the current observation quality is poor and maintain the state of the voxel.
[0017] Optionally, the angle between the direction vector of the UAV's rays and the surface normal vector of the voxel can be calculated using the following formula:
[0018]
[0019] Where δ is the included angle, r is the direction vector of the UAV's ray, and n is the surface normal vector of the voxel.
[0020] Optionally, based on the local map and the global map, determining whether there is a collision risk along the flight path of the drone includes:
[0021] Based on the remote control command of the UAV, determine the speed command in the UAV's body coordinate system;
[0022] The predicted target position of the UAV is determined based on the current position of the UAV, the transformation matrix from the body coordinate system to the world coordinate system, and the velocity command in the UAV's body coordinate system.
[0023] Based on the local map and the global map, determine whether there are obstacles between the drone's current position and the predicted target position;
[0024] If there are obstacles between the drone's current position and the predicted target position, then a collision risk is determined to exist on the drone's flight path;
[0025] If there are no obstacles between the drone's current position and the predicted target position, then it is determined that there is no risk of collision on the drone's flight path.
[0026] Optionally, the method further includes:
[0027] If there is an obstacle between the UAV's current position and the predicted target position, the scaling factor is reduced until the UAV passes through the obstacle;
[0028] The scaling factor is used to update the predicted target position of the UAV.
[0029] Optionally, the method further includes:
[0030] Obtain the actual distance between the drone and the obstacle;
[0031] Determine whether the actual distance between the drone and the obstacle is less than the preset emergency obstacle avoidance distance;
[0032] If the actual distance between the drone and the obstacle is less than the preset emergency obstacle avoidance distance, a reverse speed command is issued to move the drone away from the obstacle.
[0033] Optionally, the predicted target location of the UAV can be determined using the following formula:
[0034] p check =p odom +L bg v rc Δt check ;
[0035] Where, p check To predict the target location for the drone, p odom L represents the current location of the drone. bg v is the transformation matrix from the body coordinate system to the world coordinate system. rc Let Δt be the velocity command vector in the UAV's body coordinate system. check This is the time increment for collision detection.
[0036] Optionally, the predicted target position of the UAV is updated using the following formula:
[0037] p check =p odom +S f L bg v rc Δtcheck ;
[0038] Where, p check To predict the target location for the drone, p odom L represents the current location of the drone. bg v is the transformation matrix from the body coordinate system to the world coordinate system. rc Let Δt be the velocity command vector in the UAV's body coordinate system. check S is the time increment for collision detection. f s is the scaling factor. f ∈[0,1].
[0039] Optionally, the method further includes:
[0040] Determine whether the actual speed of the drone is 0;
[0041] If the actual speed of the drone is 0, then position commands are used to control the drone;
[0042] If the actual speed of the drone is not 0, then speed commands are used to control the drone.
[0043] Secondly, this application also provides a drone, including: a controller and a drone body; the controller is configured to perform the steps of the method described in any of the above-mentioned embodiments.
[0044] The point cloud-based UAV obstacle avoidance method provided in this application can at least enable the UAV to remove sensor point cloud noise and avoid the erroneous elimination of obstacle objects at low mapping resolution; it can also optimize the data storage structure by using a rolling map method to solve the memory occupation problem of mapping in large-scale scenes; and it can enable the UAV to smoothly decelerate in advance when a collision risk is detected, avoiding large-scale sudden stops.
[0045] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description
[0046] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of the present invention and should not be regarded as a limitation on the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0047] Figure 1 A flowchart illustrating a point cloud-based UAV obstacle avoidance method provided in an embodiment of the present invention;
[0048] Figure 2 This is a schematic diagram illustrating the erroneous removal of an obstacle surface, provided as an embodiment of the present invention.
[0049] Figure 3 This is a schematic diagram of scrolling map updating provided in an embodiment of the present invention;
[0050] Figure 4 This is a schematic diagram illustrating the prediction of target location by a drone according to an embodiment of the present invention. Detailed Implementation
[0051] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. The components of the embodiments of the present invention described and shown in the accompanying drawings can generally be arranged and designed in various different configurations.
[0052] Therefore, the following detailed description of the embodiments of the invention provided in the accompanying drawings is not intended to limit the scope of the claimed invention, but merely to illustrate selected embodiments of the invention. All other embodiments obtained by those skilled in the art based on the embodiments of the invention without inventive effort are within the scope of protection of the invention.
[0053] First, the applicable scenarios for this application will be introduced. This application can be applied to the field of unmanned aerial vehicle (UAV) control technology.
[0054] Unmanned aerial vehicle (UAV) obstacle avoidance technology, as one of the core technologies ensuring safe flight of UAVs, has significant technological value in the field of UAV applications. Its core function is to quickly identify and avoid obstacles by sensing the surrounding environment in real time, effectively reducing collision risks and lowering the technical barrier for operators.
[0055] Especially in special application scenarios such as high-rise firefighting, drone-assisted obstacle avoidance technology has demonstrated unique and crucial application value. In high-rise building firefighting, traditional firefighting operations require operators to control drones close to the fire to spray extinguishing agents. If the distance is too far from the building, the firefighting effect is poor; if the distance is too close, the risk of collision increases significantly. This application scenario places extremely high demands on drone operators, resulting in significant safety and reliability deficiencies in practical applications. By applying drone-assisted obstacle avoidance technology, the margin for error in human operation can be greatly improved, allowing drones to approach the fire at close range and carry out efficient firefighting operations.
[0056] However, existing obstacle avoidance technologies suffer from complex algorithm structures, heavy reliance on prior maps, and failure to fully leverage the wide-area perception capabilities of sensors such as LiDAR. In existing technologies for constructing 3D spatial occupancy maps, ray casting techniques are widely used; however, in dynamic environments or with large voxel sizes, this technique may lead to occupancy voxels being incorrectly labeled as free space, and it significantly increases the computational load in large-scale environments.
[0057] Furthermore, by applying drone-assisted obstacle avoidance technology, the margin for error in human operation can be significantly improved, allowing drones to approach the fire site at close range and carry out efficient firefighting operations. Existing obstacle avoidance technology uses millimeter-wave radar or lidar sensor point cloud data to construct a three-dimensional spatial occupancy map to achieve environmental perception, and by designing obstacle avoidance strategies, it enables drones to avoid collisions with obstacles in the event of operator errors in judgment or control.
[0058] It should be noted that, under the premise of operator-led operation, this application proposes an omnidirectional real-time obstacle avoidance method based on sensor point cloud information, improves the light projection strategy, and enables the UAV to remove sensor point cloud noise and avoid the incorrect removal of obstacle objects at low mapping resolution. It also optimizes the data storage structure by using a rolling map method to solve the memory consumption problem of mapping in large-scale scenes. Furthermore, this application proposes an obstacle avoidance scheme based on remote control speed command correction, which enables the UAV to smoothly decelerate in advance when a collision risk is detected, avoiding large-scale abrupt stops.
[0059] Please see Figure 1 , Figure 1 This is a flowchart illustrating a point cloud-based drone-assisted obstacle avoidance method provided in an embodiment of this application. Figure 1 As shown in the figure, the point cloud-based UAV-assisted obstacle avoidance method provided in this application includes:
[0060] S101. For multiple voxels within the light-irradiated area of the UAV, estimate the surface normal vector of the occupied voxels through principal component analysis, and determine the state of each voxel within the light-irradiated area of the UAV.
[0061] Here, in large-scale outdoor environments, memory constraints prevent the construction of footprint maps using excessively small voxel sizes, such as... Figure 2 As shown, when a ray intersects the map at a small angle of incidence, it may mistakenly pass through an adjacent voxel that has already been marked as occupied (the green part in the figure), causing the voxel that should have been occupied to be abnormally eliminated.
[0062] This phenomenon will directly affect obstacle avoidance performance and path planning accuracy.
[0063] To address the issue of voxels being abnormally eliminated, this application employs a surface normal field scheme. Principal component analysis is used to estimate the surface normal vector of occupied voxels, thereby achieving enhanced characterization of occupied voxels.
[0064] Specifically, the state of each voxel within the light-illuminated area of the drone can be determined through the following steps:
[0065] Determine whether the light from the drone passes through the voxel;
[0066] If the light from the drone does not pass through the voxel, then the voxel is determined to be occupied.
[0067] When the voxel is in an occupied state, calculate the surface normal vector of the voxel;
[0068] Calculate the angle between the direction vector of the UAV's rays and the surface normal vector of the voxel;
[0069] Determine whether the included angle is greater than a preset included angle threshold. If the included angle is greater than the preset included angle threshold, determine that the current observation quality is poor and maintain the state of the voxel.
[0070] Optionally, if the light from the drone passes through the voxel, the voxel is determined to be in an idle state (without obstacles).
[0071] The angle between the direction vector of the drone's rays and the surface normal vector of the voxel can be calculated using the following formula:
[0072]
[0073] Where δ is the included angle, r is the direction vector of the UAV's ray, and n is the surface normal vector of the voxel.
[0074] S102. Based on the state of each voxel within the light-irradiated area of the UAV, the pre-set local map range, and the current position of the UAV, the global map is updated in a rolling manner.
[0075] For details, please refer to Figure 3 In the image, the green area represents the scrolling map, the colored voxels represent the obstacles updated within the scrolling map, and the white voxels represent the previously detected obstacles.
[0076] Here, as the drone's flight environment constantly changes, the map needs to be updated in real time to maintain accuracy.
[0077] Specifically, the map scrolling update strategy sets a local map range centered on the drone's current location. As the drone moves, the local map range moves accordingly, covering newly entered environmental areas like a scrolling window. Newly acquired sensor point clouds are processed and updated only within this local map range.
[0078] In particular, at the edge of a local map, new data is merged with the original map data, and the occupancy probability of grid cells is adjusted based on point cloud information.
[0079] At the same time, the global map is updated incrementally on a regular basis, and the effective information accumulated in the local map is integrated into the global map to ensure that the global map can also reflect environmental changes in a timely manner.
[0080] This rolling update strategy reduces computation while ensuring the real-time nature and accuracy of the map, enabling drones to make decisions based on the latest map information.
[0081] S103. Based on the local map and the global map, determine whether there is a collision risk on the flight path of the UAV.
[0082] Specifically, based on the local map and the global map, it is determined whether there is a collision risk along the flight path of the drone, including:
[0083] Based on the remote control command of the UAV, determine the speed command in the UAV's body coordinate system;
[0084] The predicted target position of the UAV is determined based on the current position of the UAV, the transformation matrix from the body coordinate system to the world coordinate system, and the velocity command in the UAV's body coordinate system.
[0085] Based on the local map and the global map, determine whether there are obstacles between the drone's current position and the predicted target position;
[0086] If there are obstacles between the drone's current position and the predicted target position, then a collision risk is determined to exist on the drone's flight path;
[0087] If there are no obstacles between the drone's current position and the predicted target position, then it is determined that there is no risk of collision on the drone's flight path.
[0088] In some embodiments, the RCdata2cmd function can be used to convert remote control commands into velocity commands in the body coordinate system.
[0089] In some embodiments, the predicted target position of the drone can be calculated using the CalculateCheckPosition function.
[0090] As an example, please refer to the calculated predicted target location. Figure 4 In the figure, the red dots represent the predicted target locations (p). check The green dot represents the drone's current location (p). odom The direction of the line connecting the two points represents the direction of the velocity vector.
[0091] Optionally, the method further includes:
[0092] If there is an obstacle between the UAV's current position and the predicted target position, the scaling factor is reduced until the UAV passes through the obstacle.
[0093] The scaling factor is used to update the predicted target position of the UAV.
[0094] Specifically, the predicted target location of the UAV can be determined using the following formula:
[0095] p check =p odom +L bg v rc Δt check ;
[0096] Where, p check To predict the target location for the drone, p odom L represents the current location of the drone. bg v is the transformation matrix from the body coordinate system to the world coordinate system. rc Let Δt be the velocity command vector in the UAV's body coordinate system. check This is the time increment for collision detection.
[0097] Alternatively, the predicted target position of the UAV can be updated using the following formula:
[0098] p check =p odom +S f L bg v rc Δt check ;
[0099] Where, p check To predict the target location for the drone, p odom L represents the current location of the drone. bg v is the transformation matrix from the body coordinate system to the world coordinate system. rc Let Δt be the velocity command vector in the UAV's body coordinate system. check S is the time increment for collision detection. f s is the scaling factor. f ∈[0,1].
[0100] Optionally, after the drone safely passes the obstacle, the control commands for the drone can be obtained as follows:
[0101] p cmd =p check
[0102] v cmd =s f v rc ;
[0103] Where, p cmd For position control commands, v cmd This is a speed control command.
[0104] Optionally, the method further includes:
[0105] Obtain the actual distance between the drone and the obstacle;
[0106] Determine whether the actual distance between the drone and the obstacle is less than the preset emergency obstacle avoidance distance;
[0107] If the actual distance between the drone and the obstacle is less than the preset emergency obstacle avoidance distance, a reverse speed command is issued to move the drone away from the obstacle.
[0108] S104. Based on the collision risk, control the speed of the drone to avoid collisions between the drone and obstacles.
[0109] Optionally, the method further includes:
[0110] Determine whether the actual speed of the drone is 0;
[0111] If the actual speed of the drone is 0, then position commands are used to control the drone;
[0112] If the actual speed of the drone is not 0, then speed commands are used to control the drone.
[0113] Specifically, it can obtain the closest distance d between the drone and the obstacle. obs If d obs Less than the emergency obstacle avoidance distance d emergency This reverses the speed command, causing the drone to move away from the obstacle.
[0114] As an example, v can be determined using the following formula. cmd :
[0115] v cmd =-v bod y / |v body |;
[0116] Among them, vbody This represents the actual velocity in the machine's coordinate system.
[0117] This allows the drone to slow down smoothly before detecting an obstacle, and also enables it to brake suddenly in critical moments, avoiding collisions caused by erroneous control commands.
[0118] Here, when v cmd When v = 0, use position commands; otherwise, use velocity commands. You can use the getCommand function to get v... cmd and p cmd It is converted into a Mavros message and sent to the flight controller.
[0119] In some embodiments, the algorithm flow for drone-assisted obstacle avoidance is shown in Table 1 below.
[0120] Table 1:
[0121]
[0122] Thus, this application addresses the mapping needs of UAVs in large-scale scenarios by designing an improved light projection strategy. This strategy enables UAVs to remove sensor point cloud noise and prevent the erroneous removal of obstacle pixels at low mapping resolution, significantly improving the mapping quality of UAVs. Furthermore, it optimizes the data storage structure of the occupied map using a rolling map update method, solving the memory consumption problem in large-scale mapping scenarios. To address the fault tolerance requirements of erroneous control commands, this application designs an assisted obstacle avoidance scheme based on remote control command correction. This allows the UAV to decelerate evenly in advance when a risk is detected, avoiding sudden stops and large maneuvers, significantly improving the fault tolerance of human operation. This has significant application value in fields such as high-rise firefighting.
[0123] Based on the same inventive concept, this application also provides a point cloud-based drone obstacle avoidance device for the point cloud-based drone obstacle avoidance method. The solution provided by this device is similar to the solution described in the above method. Therefore, the specific limitations of one or more point cloud-based drone obstacle avoidance device embodiments provided below can be found in the limitations of the point cloud-based drone obstacle avoidance method described above, and will not be repeated here.
[0124] In an exemplary embodiment, a point cloud-based drone obstacle avoidance device is provided, comprising: a state determination module, configured to determine the state of each voxel within the light-illuminating area of the drone by estimating the surface normal vector of the voxel using principal component analysis; a map update module, configured to continuously update a global map based on the state of each voxel within the light-illuminating area of the drone, a pre-set local map range, and the current position of the drone; a collision risk determination module, configured to determine whether there is a collision risk on the flight path of the drone based on the local map and the global map; and a drone control module, configured to control the speed of the drone based on the collision risk to avoid collisions between the drone and obstacles.
[0125] The modules in the aforementioned point cloud-based UAV-assisted obstacle avoidance method and device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the corresponding operations of each module.
[0126] In an exemplary embodiment, a computer device is provided, which may be a terminal. The computer device includes a processor, memory, input / output interface, communication interface, display unit, and input device. The processor, memory, and input / output interface are connected via a system bus, and the communication interface, display unit, and input device are connected to the system bus via the input / output interface. The processor of the computer device provides computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The input / output interface of the computer device is used for exchanging information between the processor and external devices. The communication interface of the computer device is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, Near Field Communication (NFC), or other technologies. When the computer program is executed by the processor, it implements a pregnancy outcome analysis method based on low molecular weight heparin machine learning. The display unit of the computer device is used to form a visually visible image and may be a display screen, a projection device, or a virtual reality imaging device. The display screen can be an LCD screen or an e-ink screen. The input device of the computer device can be a touch layer covering the display screen, or buttons, trackballs, or touchpads set on the casing of the computer device, or external keyboards, touchpads, or mice, etc.
[0127] In one exemplary embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:
[0128] For multiple voxels within the light-irradiated area of the UAV, the surface normal vector of the occupied voxel is estimated by principal component analysis to determine the state of each voxel within the light-irradiated area of the UAV.
[0129] The global map is updated continuously based on the state of each voxel within the light-illuminated area of the drone, the pre-defined local map range, and the current position of the drone.
[0130] Based on the local map and the global map, determine whether there is a collision risk on the flight path of the drone;
[0131] Based on the collision risk, the speed of the drone is controlled to avoid collisions with obstacles.
[0132] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, the computer program performing the following steps when executed by a processor:
[0133] For multiple voxels within the light-irradiated area of the UAV, the surface normal vector of the occupied voxel is estimated by principal component analysis to determine the state of each voxel within the light-irradiated area of the UAV.
[0134] The global map is updated continuously based on the state of each voxel within the light-illuminated area of the drone, the pre-defined local map range, and the current position of the drone.
[0135] Based on the local map and the global map, determine whether there is a collision risk on the flight path of the drone;
[0136] Based on the collision risk, the speed of the drone is controlled to avoid collisions with obstacles.
[0137] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, performs the following steps:
[0138] For multiple voxels within the light-irradiated area of the UAV, the surface normal vector of the occupied voxel is estimated by principal component analysis to determine the state of each voxel within the light-irradiated area of the UAV.
[0139] The global map is updated continuously based on the state of each voxel within the light-illuminated area of the drone, the pre-defined local map range, and the current position of the drone.
[0140] Based on the local map and the global map, determine whether there is a collision risk on the flight path of the drone;
[0141] Based on the collision risk, the speed of the drone is controlled to avoid collisions with obstacles.
[0142] In some embodiments, a drone is provided, including a controller and a drone body; the controller is configured to perform the following steps:
[0143] For multiple voxels within the light-irradiated area of the UAV, the surface normal vector of the occupied voxel is estimated by principal component analysis to determine the state of each voxel within the light-irradiated area of the UAV.
[0144] The global map is updated continuously based on the state of each voxel within the light-illuminated area of the drone, the pre-defined local map range, and the current position of the drone.
[0145] Based on the local map and the global map, determine whether there is a collision risk on the flight path of the drone;
[0146] Based on the collision risk, the speed of the drone is controlled to avoid collisions with obstacles.
[0147] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.
[0148] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0149] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
[0150] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0151] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.
[0152] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0153] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A method for assisting an unmanned aerial vehicle (UAV) to avoid obstacles based on a point cloud, the method comprising: The method includes: For multiple voxels within the light-irradiated area of the UAV, the surface normal vector of the occupied voxel is estimated by principal component analysis to determine the state of each voxel within the light-irradiated area of the UAV. The global map is updated continuously based on the state of each voxel within the light-illuminated area of the drone, the pre-defined local map range, and the current position of the drone. Based on the local map and the global map, determine whether there is a collision risk on the flight path of the drone; Based on the collision risk, the speed of the drone is controlled to avoid collisions between the drone and obstacles; The state of each voxel within the light-irradiated area of the drone is determined through the following steps: Determine whether the light from the drone passes through the voxel; If the light from the drone does not pass through the voxel, then the voxel is determined to be occupied. When the voxel is in an occupied state, calculate the surface normal vector of the voxel; Calculate the angle between the direction vector of the UAV's rays and the surface normal vector of the voxel; Determine whether the included angle is greater than a preset included angle threshold. If the included angle is greater than the preset included angle threshold, determine that the current observation quality is poor and maintain the state of the voxel. The method further includes: If there is an obstacle between the UAV's current position and the predicted target position, the scaling factor is reduced until the UAV passes through the obstacle; The scaling factor is used to update the predicted target position of the UAV; The method further includes: Obtain the actual distance between the drone and the obstacle; Determine whether the actual distance between the drone and the obstacle is less than the preset emergency obstacle avoidance distance; If the actual distance between the drone and the obstacle is less than the preset emergency obstacle avoidance distance, a reverse speed command is issued to make the drone move away from the obstacle. The predicted target location of the UAV is determined by the following formula: ; The predicted target position of the UAV is updated using the following formula: ; wherein, predicting a target position for the UAV, a current position of the UAV, a transformation matrix from a body coordinate system to a world coordinate system, a velocity command vector in the body coordinate system of the UAV, a time increment for collision detection, a scaling factor, .
2. The method of claim 1, wherein, The angle between the direction vector of the drone's ray and the surface normal vector of the voxel is calculated using the following formula: ; wherein, is the angle between the direction vector of the drone light ray r and the surface normal vector n of the voxel.
3. The method of claim 1, wherein, Based on the local map and the global map, determine whether there is a collision risk on the flight path of the UAV, including: determining the speed command in the UAV's body coordinate system based on the remote control command of the UAV; The predicted target position of the UAV is determined based on the current position of the UAV, the transformation matrix from the body coordinate system to the world coordinate system, and the velocity command in the UAV's body coordinate system. Based on the local map and the global map, determine whether there are obstacles between the drone's current position and the predicted target position; If there are obstacles between the drone's current position and the predicted target position, then a collision risk is determined to exist on the drone's flight path; If there are no obstacles between the drone's current position and the predicted target position, then it is determined that there is no risk of collision on the drone's flight path.
4. The method of claim 1, wherein, The method further includes: Determine whether the actual speed of the drone is 0; If the actual speed of the drone is 0, then position commands are used to control the drone; If the actual speed of the drone is not 0, then speed commands are used to control the drone.
5. A drone, characterized in that, It includes a controller and a drone body; the controller is used to perform the steps of implementing the method according to any one of claims 1 to 4.
Citation Information
Patent Citations
Point cloud noise reduction method and device, electronic equipment and computer readable storage medium
CN111798398A
Unmanned aerial vehicle obstacle avoidance method and system and unmanned aerial vehicle cluster obstacle avoidance method and system
CN113625762A
Complex large environment unmanned aerial vehicle autonomous exploration method, system, device and medium
CN120523223A
