Constrained space uav landing path online receding horizon replanning method, system, device and medium
Patent Information
- Application Number
- CN202611188693.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-06
- Publication Date
- 2026-10-13
Smart Images

Figure CN122902689A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of unmanned aerial vehicle (UAV) path planning technology, and in particular to a method, system, device, and medium for online rolling temporal replanning of UAV landing paths in confined spaces. Background Technology
[0002] With the rapid development of drone technology, its application in confined space operations such as industrial inspection, disaster relief, mine exploration, and pipeline maintenance is becoming increasingly widespread. In these scenarios, drones often need to complete autonomous landing tasks in narrow, complex, and unstructured three-dimensional environments, such as landing at the bottom of mine tunnels, inside building ruins, or in large equipment compartments, to collect data, deliver supplies, or perform equipment maintenance. However, confined space environments are characterized by dense obstacles, limited spatial dimensions, and unknown and dynamically changing environmental information, posing significant challenges to the autonomous landing path planning of drones.
[0003] Traditional UAV landing path planning methods often employ a global pre-planning approach. This involves generating a complete path from the takeoff point to the landing point based on a known environmental map before flight, and the UAV strictly follows this pre-planned path during flight. This method works well in static scenarios where environmental information is fully known. However, in confined space operations, the environment often contains numerous unforeseen static obstacles, as well as dynamic obstacles such as personnel movement and equipment handling. The pre-planned path cannot adapt to these environmental changes in real time, greatly increasing the risk of collisions.
[0004] To address this issue, some existing technologies employ local path planning methods, which perceive the environment in real time during flight and make local adjustments to the path. However, most of these methods focus solely on obstacle avoidance, neglecting the optimization of landing time and energy consumption. This results in low landing efficiency and shortened flight time for drones, failing to meet the requirements for long-duration operations. Summary of the Invention
[0005] In view of this, in order to solve the above-mentioned technical problems, the present invention provides a method, system, device and medium for online rolling temporal replanning of landing path of unmanned aerial vehicle in confined space.
[0006] The first aspect of this invention provides an online rolling temporal replanning method for landing paths of unmanned aerial vehicles in confined spaces, the method comprising:
[0007] The system acquires environmental perception information and flight status of the UAV within a confined space at the current moment, and determines local obstacle information around the UAV based on the environmental perception information.
[0008] The flight state of the UAV is used as the starting state constraint of the scrolling time domain window, and the landing state corresponding to the preset landing point is used as the target constraint of the scrolling time domain window. Combined with the local obstacle information, a landing guidance trajectory pointing to the preset landing point is generated within the scrolling time domain window.
[0009] Based on the spatial relationship between the landing guidance trajectory or the landing path currently executed by the UAV and the local obstacle information, determine whether the current landing path meets the safe passage conditions, and trigger path replanning if the safe passage conditions are not met;
[0010] After triggering path replanning, within the rolling time window, with the objective function of minimizing landing time and energy consumption, the optimal control sequence that satisfies the preset obstacle avoidance constraints and UAV dynamics constraints is solved to obtain the replanned local landing path;
[0011] Execute the first control instruction in the optimal control sequence corresponding to the current time to control the UAV to execute the local landing path, then update the environmental perception information, the UAV flight status and the rolling time-domain window to iteratively generate subsequent local landing paths for execution until the UAV completes landing.
[0012] In one example, acquiring the current environmental perception information and flight status of the drone within the confined space, and determining the local obstacle information around the drone based on the environmental perception information, includes:
[0013] Acquire the three-dimensional environmental point cloud data of the UAV in the confined space at the current moment, and convert the three-dimensional environmental point cloud data into environmental point cloud data in a unified coordinate system;
[0014] Based on the current location of the UAV and the confined space range, determine the local map range corresponding to the current moment, and divide the local map range into multiple three-dimensional voxel grids;
[0015] The occupancy status of each three-dimensional voxel grid is determined by statistically analyzing the distribution of environmental point cloud data falling within each of the three-dimensional voxel grids.
[0016] The positional distribution of the occupied 3D voxel mesh is determined as the local obstacle information.
[0017] In one example, the step of using the UAV's flight state as the starting state constraint of the scrolling time-domain window, using the landing state corresponding to the preset landing point as the target constraint of the scrolling time-domain window, and combining the local obstacle information to generate a landing guidance trajectory pointing to the preset landing point within the scrolling time-domain window includes:
[0018] Based on the UAV's flight state, determine the UAV's position, velocity, and attitude at the current moment, and use the position, velocity, and attitude as the state constraints at the start time of the rolling time domain window;
[0019] Based on the landing state corresponding to the preset landing point, determine the landing position constraint and landing speed constraint at the end of the rolling time domain window;
[0020] Based on the initial state constraint and the target constraint, position continuity constraint and velocity continuity constraint are set between adjacent moments within the rolling time domain window;
[0021] Under the conditions of satisfying the initial state constraint, the target constraint, the position continuity constraint and the velocity continuity constraint, an initial landing trajectory is generated from the current position of the UAV to the preset landing point;
[0022] Based on the local obstacle information, the passable space corresponding to the initial landing trajectory within the rolling time domain window is defined, and a landing guidance trajectory from the current position of the UAV to the preset landing point is generated within the passable space.
[0023] In one example, determining whether the current landing path meets safe passage conditions based on the spatial relationship between the landing guidance trajectory or the landing path currently executed by the UAV and the local obstacle information, and triggering path replanning if the safe passage conditions are not met, includes:
[0024] The landing guidance trajectory or the landing path currently executed by the UAV is discretized into multiple path detection points according to the sampling time;
[0025] Based on the drone's geometry, a corresponding collision detection area is determined around each path detection point;
[0026] The collision detection area is spatially intersected with the occupied area in the local obstacle information;
[0027] If at least one path detection point's collision detection area intersects with the occupied area, the current landing path is determined not to meet the safe passage conditions, and path replanning is triggered.
[0028] If the collision detection areas corresponding to each path detection point do not intersect with the occupied area, the current landing path is determined to meet the safe passage conditions, and the execution state of the current landing path is maintained.
[0029] In one example, within the rolling time window, with the objective function of minimizing landing time and energy consumption, the optimal control sequence satisfying preset obstacle avoidance constraints and UAV dynamics constraints is solved to obtain the replanned local landing path, including:
[0030] The rolling time-domain window is discretized into multiple time intervals, and the time corresponding to each time interval is used as the control decision time.
[0031] Based on the UAV's position, velocity, and control input at the control decision moment, establish UAV dynamic constraints;
[0032] Based on the local obstacle information and the preset safety distance, establish obstacle avoidance constraints for the UAV at each control decision moment;
[0033] Based on the landing time and energy consumption, an objective function is constructed, and under the constraints of the UAV dynamics and obstacle avoidance, the control commands corresponding to each control decision moment are solved.
[0034] The optimal control sequence is obtained by combining the control commands corresponding to each control decision moment in chronological order, and a replanned local landing path is generated based on the optimal control sequence.
[0035] In one example, after executing the first control command in the optimal control sequence corresponding to the current time to control the UAV to execute the local landing path, the environmental perception information, the UAV flight status, and the rolling time-domain window are updated to iteratively generate subsequent local landing paths for execution until the UAV completes landing, including:
[0036] Extract the control instruction corresponding to the first time interval within the rolling time window from the optimal control sequence, and use it as the first control instruction.
[0037] The first control command is sent to the UAV flight control system, so that the flight control system controls the UAV to fly according to the first segment of the local landing path;
[0038] After the first segment of the trajectory is completed, the environmental perception information and flight status of the UAV are reacquired.
[0039] The scrolling time domain window is slid forward, and the starting time of the scrolling time domain window after the slide corresponds to the time when the environmental perception information and the UAV flight status are reacquired.
[0040] Based on the updated environmental perception information, UAV flight status, and rolling time-domain window, the local landing path replanning process continues until the UAV reaches the preset landing point and completes the landing.
[0041] In one example, the method further includes:
[0042] Based on the distance between the drone's current position and the preset landing point, determine whether the drone has entered the terminal landing phase;
[0043] When the UAV enters the terminal landing phase, the optimization weights corresponding to landing time and energy consumption in the objective function are adjusted, and preset terminal velocity constraints and preset terminal attitude constraints are added; the terminal velocity constraints are used to limit the speed of the UAV when it reaches the preset landing point; the terminal attitude constraints are used to limit the attitude of the UAV when it reaches the preset landing point.
[0044] Under the terminal velocity constraint and the terminal attitude constraint, a local landing path is generated within the updated rolling time window.
[0045] Secondly, the present invention also provides an online rolling temporal replanning system for landing paths of unmanned aerial vehicles in confined spaces, the system comprising:
[0046] The obstacle acquisition module is used to acquire the environmental perception information and flight status of the UAV in the confined space at the current moment, and to determine the local obstacle information around the UAV based on the environmental perception information.
[0047] The guidance trajectory generation module is used to take the UAV flight state as the starting state constraint of the scrolling time domain window, take the landing state corresponding to the preset landing point as the target constraint of the scrolling time domain window, and combine the local obstacle information to generate a landing guidance trajectory pointing to the preset landing point within the scrolling time domain window.
[0048] The path replanning trigger module is used to determine whether the current landing path meets the safe passage conditions based on the spatial relationship between the landing guidance trajectory or the landing path currently executed by the UAV and the local obstacle information, and to trigger path replanning if the safe passage conditions are not met.
[0049] The path replanning module is used to, after triggering path replanning, within the rolling time window, solve for the optimal control sequence that satisfies preset obstacle avoidance constraints and UAV dynamics constraints with the objective function of minimizing landing time and energy consumption, and obtain the replanned local landing path.
[0050] The flight control execution module is used to execute the first control command in the optimal control sequence corresponding to the current time, so as to control the UAV to execute the local landing path, and then update the environmental perception information, the UAV flight status and the rolling time domain window to iteratively generate subsequent local landing paths for execution until the UAV completes landing.
[0051] Thirdly, the present invention also provides an electronic device, the electronic device including a memory and a processor, the memory storing a computer program, the computer program being executed by the processor causing the processor to perform the steps of the online rolling temporal replanning method for landing paths of unmanned aerial vehicles in confined space as described in the first aspect.
[0052] Fourthly, the present invention also provides a computer-readable storage medium having a computer program stored thereon, which, when executed, implements the steps of the online rolling temporal replanning method for landing paths of unmanned aerial vehicles in confined space as described in the first aspect.
[0053] As can be seen from the above technical solutions, this invention continuously acquires current environmental perception information and flight status during the landing of a UAV in a confined space, and transforms it into local obstacle information, enabling path planning to be updated based on the real-time environment rather than a pre-fixed map. Simultaneously, using the current state of the UAV and the preset landing point state as the starting and target constraints of the rolling time-domain window, respectively, a guiding trajectory with landing directionality is generated. Then, based on the spatial relationship between this trajectory or the current execution path and local obstacles, it is determined whether replanning is needed, thus enabling timely detection of passage risks arising from dense obstacles, unknown environments, or changes in the environment. After triggering replanning, the optimal control sequence is further solved within the rolling time-domain window with landing time and energy consumption as optimization objectives, combined with obstacle avoidance constraints and UAV dynamics constraints. This ensures that the obtained local landing path avoids obstacles without deviating from the actual movement capabilities of the UAV. Finally, only the first control command corresponding to the current moment is executed, and the environment, flight status, and rolling window are updated after execution. Subsequent local landing paths are then iteratively generated and executed until the UAV completes landing. Therefore, this technical solution can address the problems of pre-planned paths in confined spaces being unable to adapt to unknown or dynamic obstacles in a timely manner, simple local obstacle avoidance being unable to balance efficiency and endurance, and paths that may be unfeasible due to lack of consideration for dynamic constraints. It achieves a comprehensive balance between real-time adjustment of landing paths, safe obstacle avoidance, flight feasibility, and landing time and energy consumption, thereby improving the stability and reliability of UAVs in autonomous landing in complex confined spaces. Attached Figure Description
[0054] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0055] Figure 1This is an application environment diagram of an online rolling temporal replanning method for landing paths of unmanned aerial vehicles in confined spaces, provided by an embodiment of the present invention.
[0056] Figure 2 A flowchart of an online rolling temporal replanning method for landing paths of unmanned aerial vehicles in confined spaces, provided by an embodiment of the present invention;
[0057] Figure 3 This is a schematic diagram of the structure of an online rolling temporal replanning system for landing paths of unmanned aerial vehicles in confined space, provided by an embodiment of the present invention.
[0058] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention. Detailed Implementation
[0059] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0060] The online rolling temporal replanning method for landing paths of unmanned aerial vehicles in confined spaces provided in this application embodiment can be applied to, for example... Figure 1In the application environment shown, terminal 101 communicates with server 102 via a network. A data storage system can store the data that server 102 needs to process. The data storage system can be integrated onto server 102 or placed on a cloud or other network server. Terminal 101 or server 102 executes an online rolling temporal replanning method for a confined space UAV landing path. This method includes: acquiring the current environmental perception information and flight state of the UAV within the confined space, and determining the local obstacle information around the UAV based on the environmental perception information; using the UAV flight state as the initial state constraint of the rolling temporal window, using the landing state corresponding to a preset landing point as the target constraint of the rolling temporal window, and combining the local obstacle information to generate a landing guidance trajectory pointing to the preset landing point within the rolling temporal window; and based on the landing guidance trajectory or the landing path currently executed by the UAV and the local obstacle information... The system determines the spatial relationship between the landing paths and whether the current landing path meets the safe passage conditions. If the safe passage conditions are not met, path replanning is triggered. After path replanning is triggered, within the rolling time window, the system solves for the optimal control sequence that satisfies the preset obstacle avoidance constraints and UAV dynamics constraints with the objective function of minimizing landing time and energy consumption, thus obtaining the replanned local landing path. The system executes the first control command corresponding to the current moment in the optimal control sequence to control the UAV to execute the local landing path. Then, the system updates the environmental perception information, UAV flight status, and rolling time window to iteratively generate subsequent local landing paths for execution until the UAV completes landing.
[0061] Terminal 101 can be, but is not limited to, various personal computers, laptops, smartphones, and tablets.
[0062] Server 102 can be a standalone physical server, a server cluster or distributed system consisting of multiple physical servers, or a cloud server that provides cloud computing services.
[0063] In this embodiment, the confined space can be understood as a three-dimensional space where the UAV's flight space is restricted by walls, supports, equipment, tunnel walls, utility tunnel walls, cabin partitions, or temporary storage materials. Since such spaces typically have characteristics such as short line-of-sight, dense obstacles, large variations in local passage width, and unstable communication quality, the path replanning process in this embodiment is preferably executed by the UAV's onboard computing unit, but can also be executed collaboratively by a ground terminal, edge server, or a server. When executed by the onboard computing unit, environmental perception information, UAV flight status, and flight control feedback data can be processed quickly and locally in a closed loop, thereby reducing the impact of network communication latency on landing safety. When executed by a terminal or server, more powerful computing resources can be used to complete complex optimization solutions, and then the generated control commands or local paths can be sent to the UAV flight control system.
[0064] like Figure 2 As shown, this application provides an online rolling temporal replanning method for the landing path of a UAV in confined space, which is applied to... Figure 1 Taking terminal 101 or server 102 as an example, the explanation includes the following steps S1 to S5. Wherein:
[0065] Step S1: Obtain the environmental perception information and flight status of the UAV in the confined space at the current moment, and determine the local obstacle information around the UAV based on the environmental perception information.
[0066] The environmental perception information can include LiDAR point clouds, depth camera data, binocular vision data, millimeter-wave radar data, or spatial obstacle information obtained by fusion of multiple sensors. The UAV's flight status can include information such as its current position, speed, attitude angle, angular velocity, remaining battery power, thrust status, and current execution path number. The current position and speed are used to determine the initial state of the rolling time-domain window, the attitude angle and angular velocity are used to determine whether the UAV's current flight is stable, and the remaining battery power can be used as a reference parameter for energy consumption optimization.
[0067] Among them, the local occupancy grid map at the current moment can be constructed through environmental perception information to obtain environmental obstacle distribution information. Compared with the global obstacle map, the local obstacle information has a smaller data volume and is more suitable for the fast optimization solution requirements within the scrolling time domain window.
[0068] Step S2: Using the UAV flight state as the starting state constraint of the scrolling time domain window, and the landing state corresponding to the preset landing point as the target constraint of the scrolling time domain window, and combining local obstacle information, a landing guidance trajectory pointing to the preset landing point is generated within the scrolling time domain window.
[0069] The rolling time window refers to a finite time interval extending into the future from the current moment. It is not a fixed, unchanging planning interval throughout the entire process, but rather slides forward over time after the UAV executes its initial control sequence. In this way, the UAV plans only a local path within a finite future timeframe each time, enabling timely path updates as the confined space environment changes.
[0070] By using the current UAV flight state as the starting state of the rolling time-domain window and the landing state of the preset landing point as the target constraint at the end of the window, it can be ensured that each local path planning points to the final landing target, avoiding deviation of the planned path from the landing mission requirements. Combined with known local obstacle information, an initial landing guidance trajectory can be quickly generated within the rolling time-domain window based on a fast trajectory search algorithm, providing a basis for subsequent safety assessments.
[0071] Step S3: Based on the spatial relationship between the landing guidance trajectory or the landing path currently executed by the UAV and local obstacle information, determine whether the current landing path meets the safe passage conditions, and trigger path replanning if the safe passage conditions are not met.
[0072] The landing path currently being executed by the UAV is the landing path currently being executed by the UAV issued by the flight control system. By checking whether there is an intersection between the landing guidance trajectory and the information of local obstacles, or whether there is an intersection between the spatial relationship between the landing path currently being executed by the UAV and the information of local obstacles, it is determined whether the current landing path meets the conditions for safe passage.
[0073] Generally, the minimum distance between all trajectory points on the path and the edge of the obstacle is checked. If the minimum distance is greater than the preset safe distance threshold, the safe passage condition is met, and no replanning is required. The drone continues to fly along the current path. If the minimum distance is less than or equal to the preset safe distance threshold, a collision risk is determined, the safe passage condition is not met, and path replanning within the current rolling time window is immediately triggered to regenerate a local landing path that meets the safety requirements.
[0074] Step S4: After triggering path replanning, within the rolling time window, with the objective function of minimizing landing time and energy consumption, solve for the optimal control sequence that satisfies the preset obstacle avoidance constraints and UAV dynamics constraints, and obtain the replanned local landing path.
[0075] The objective function is a weighted sum of minimizing landing time and minimizing thruster energy consumption. Under pre-defined obstacle avoidance and UAV dynamics constraints, a sequential quadratic programming algorithm is used to solve for the optimal solution of the objective function, obtaining the optimal control sequence at each control decision point. The position components in the optimal control sequence are extracted and connected in chronological order to form a spatial curve, which serves as the replanned local landing path. This replanned local landing path not only avoids local obstacles but is also constrained by UAV dynamics and control input capabilities, making it easier for the UAV flight control system to execute compared to a simple geometric obstacle avoidance path. Furthermore, by comprehensively optimizing landing time and energy consumption, landing efficiency and endurance can be balanced.
[0076] Step S5: Execute the first control command in the optimal control sequence corresponding to the current time to control the UAV to execute a local landing path. Then, update the environmental perception information, UAV flight status, and rolling time domain window to iteratively generate subsequent local landing paths for execution until the UAV completes landing.
[0077] Although each replanning process solves for the complete optimal control sequence within the rolling time window, the UAV does not execute the complete control sequence all at once, but only executes the first control command corresponding to the current moment.
[0078] For example, the control commands corresponding to the first time interval are extracted from the optimal control command sequence corresponding to the replanned local landing path, including thrust vector commands and torque commands. The control commands are sent to the UAV's flight control computer through the communication interface. The flight control computer drives the motors and control surfaces to perform actions according to the received control commands, so that the UAV flies along the first segment of the replanned local landing path. After waiting for a time interval, the rolling time domain window is slid forward by one time interval so that the start time of the new rolling time domain window is aligned with the current time. Within the new rolling time domain window, the above steps S2 to S5 are re-executed to form a closed-loop rolling optimization control loop until the UAV reaches above the landing point and completes the landing.
[0079] This application continuously acquires current environmental perception information and flight status during the landing of a UAV in a confined space, and transforms this information into local obstacle information, enabling path planning to be updated based on the real-time environment rather than a pre-fixed map. Simultaneously, using the UAV's current state and the preset landing point state as the starting and target constraints of the rolling time-domain window, respectively, a landing-directional guidance trajectory is generated. The spatial relationship between this trajectory or the current execution path and local obstacles is then used to determine whether replanning is necessary, thus enabling timely detection of passage risks arising from dense obstacles, unknown environments, or changes in the environment. After triggering replanning, the optimal control sequence is further solved within the rolling time-domain window, with landing time and energy consumption as optimization objectives, combined with obstacle avoidance constraints and UAV dynamics constraints. This ensures that the obtained local landing path avoids obstacles without deviating from the UAV's actual movement capabilities. Finally, only the first control command corresponding to the current moment is executed, and the environment, flight status, and rolling window are updated after execution. Subsequent local landing paths are then iteratively generated and executed until the UAV completes landing. Therefore, this technical solution can address the problems of pre-planned paths in confined spaces being unable to adapt to unknown or dynamic obstacles in a timely manner, simple local obstacle avoidance being unable to balance efficiency and endurance, and paths that may be unfeasible due to lack of consideration for dynamic constraints. It achieves a comprehensive balance between real-time adjustment of landing paths, safe obstacle avoidance, flight feasibility, and landing time and energy consumption, thereby improving the stability and reliability of UAVs in autonomous landing in complex confined spaces.
[0080] In some embodiments, acquiring the current environmental perception information and flight status of the UAV within a confined space, and determining local obstacle information around the UAV based on the environmental perception information, includes: acquiring the current three-dimensional environmental point cloud data of the UAV within the confined space, and converting the three-dimensional environmental point cloud data to environmental point cloud data in a unified coordinate system; determining the local map range corresponding to the current moment based on the current location of the UAV and the confined space range, and dividing the local map range into multiple three-dimensional voxel grids; statistically analyzing the distribution of environmental point cloud data falling into each three-dimensional voxel grid to determine the occupancy state of each three-dimensional voxel grid; and determining the positional distribution of the three-dimensional voxel grids in the occupancy state as local obstacle information.
[0081] Preferably, the UAV's lidar sensor rotates at a fixed angular velocity to scan and acquire 3D point cloud data within a 360-degree range around the UAV, obtaining an original point cloud dataset. The coordinates of each point cloud in the original dataset are then transformed from the lidar coordinate system to the UAV's body coordinate system, and then to the global navigation coordinate system, resulting in environmental point cloud data in a unified coordinate system. The boundary size of the local map is set according to the extent of the confined space, and the local map is divided into uniformly sized 3D voxel grids. The environmental point cloud data falling within each 3D voxel grid is statistically analyzed. If the number of points in a 3D voxel grid exceeds a preset occupancy threshold, the 3D voxel grid is marked as occupied; otherwise, it is marked as idle. The set of position coordinates of all 3D voxel grids marked as occupied is used as local obstacle information.
[0082] In determining the occupancy status of a voxel grid, a simple threshold judgment can be made based on the number of points in the cloud, or corrections can be made by combining point cloud reflection intensity, observation results from multiple consecutive frames, or sensor ranging confidence. For example, when the same voxel grid is determined to be occupied in multiple consecutive frames of point cloud, the obstacle confidence of that voxel grid can be increased; when a voxel grid only shows a few discrete points in a single frame of point cloud, it can be filtered out as a low-confidence obstacle or noise point. This can avoid frequent jumps in local obstacle information caused by sensor noise, dust reflection, or short-term occlusion.
[0083] The aforementioned local obstacle information includes not only the location of the occupied voxel grid, but also the boundary dimensions, center point coordinates, occupancy confidence, update timestamp, and distance from the UAV's current position. Subsequently, when determining safe passage conditions, the location and dimensions of the occupied voxel grid can be used to determine the collision detection area; when constructing obstacle avoidance constraints, inequality constraints can be established using the center point of the occupied voxel grid and the safe distance; and during rolling time-domain window updates, the update timestamp can be used to delete invalid obstacle information, ensuring that the local map always reflects the current confined space environment.
[0084] For example, real-time environmental perception and local occupancy grid map construction are performed first. Before the UAV enters the confined space and begins its landing mission, system initialization is completed, including intrinsic and extrinsic parameter calibration of the LiDAR sensor, initial alignment of the UAV's body coordinate system with the global navigation coordinate system, initialization of the rolling time-domain window parameters, and establishment of a communication link between the flight control system and the path planner. During flight, the onboard LiDAR sensor performs a 360-degree rotational scan at a fixed angular velocity. The scanning frequency is adaptively adjusted according to the complexity of the confined space, increasing the scanning frequency in areas with dense obstacles and appropriately decreasing it in relatively open areas to balance environmental perception accuracy and computational resource consumption. Each time the LiDAR sensor completes a full rotational scan, it outputs a frame of raw point cloud data containing millions of 3D points. Each point cloud data includes 3D coordinate information and reflection intensity information. The raw point cloud data is first transmitted to the onboard computing unit for preprocessing, including point cloud denoising and point cloud downsampling. Point cloud denoising employs a statistical filtering method, calculating the average distance between each point cloud and its 20 nearest neighbors. Point clouds with an average distance greater than the global average distance plus three standard deviations are identified as noise points and removed, effectively eliminating random noise and outliers generated during lidar measurements. Point cloud downsampling uses a voxel grid filtering method, dividing the original point cloud space into cubic voxel grids with a side length of 0.1 meters. Only one point cloud is retained within each voxel grid, which serves as the centroid of all points within that voxel grid. This significantly reduces the amount of point cloud data and improves subsequent processing speed while ensuring no loss of environmental features.
[0085] After preprocessing, the point cloud data needs coordinate system transformation. First, the point cloud coordinates in the LiDAR coordinate system are converted to those in the UAV body coordinate system. This transformation utilizes a pre-calibrated LiDAR extrinsic parameter matrix, which describes the rotational and translational relationships between the LiDAR and UAV body coordinate systems. This extrinsic parameter matrix is pre-obtained using a hand-eye calibration method and is verified before each UAV takeoff to ensure conversion accuracy. Next, the point cloud coordinates in the body coordinate system are converted to the global navigation coordinate system (GNAS). The GNAS uses a north-north-sky coordinate system with its origin set at the UAV's takeoff point. This transformation utilizes real-time pose information output by the UAV state estimation module, including the UAV's position coordinates, pitch angle, roll angle, and yaw angle in the GNAS. The UAV state estimation module integrates measurement data from the Global Navigation Satellite System (GNSS), Inertial Measurement Unit (INS), and Visual Odometry (VAU), employing an Extended Kalman Filter (EKF) algorithm for data fusion, with an output frequency of at least 100 Hz to ensure the real-time performance and accuracy of pose estimation. After the coordinate system transformation, environmental point cloud data unified in the GNAS is obtained.
[0086] Next, a local occupancy grid map for the current moment is constructed. The boundary size of the local map is set according to the actual extent of the confined space. Centered on the current position of the UAV, the local map extends 10 meters along the x, y, and z axes, forming a cube-shaped local map region with sides of 20 meters. This cube region is divided into uniformly sized 3D voxel grids, each with a side length of 0.2 meters. This size takes into account the measurement accuracy of the LiDAR, the geometry of the UAV, and computational resource consumption. For each 3D voxel grid, the number of environmental point clouds falling within that grid is counted. An occupancy threshold of 3 is set. When the number of point clouds within a 3D voxel grid is greater than or equal to 3, the 3D voxel grid is marked as occupied; when the number of point clouds is less than 3, the 3D voxel grid is marked as idle. To improve map update efficiency, an incremental update method is used, updating only the state of 3D voxel grids within the coverage area of the current frame's point cloud. Grids not covered by the current frame's point cloud retain their state from the previous moment. The set of position coordinates of all 3D voxel meshes marked as occupied is stored in the memory of the onboard computing unit as environmental obstacle distribution information for subsequent path planning module to call.
[0087] In some embodiments, the UAV flight state is used as the initial state constraint of the scrolling time-domain window, and the landing state corresponding to the preset landing point is used as the target constraint of the scrolling time-domain window. Combined with local obstacle information, a landing guidance trajectory pointing to the preset landing point is generated within the scrolling time-domain window. This includes: determining the UAV's position, velocity, and attitude at the current moment based on the UAV flight state, and using the position, velocity, and attitude as the state constraints at the beginning of the scrolling time-domain window; determining the landing position constraint and landing velocity constraint at the end of the scrolling time-domain window based on the landing state corresponding to the preset landing point; setting position continuity constraints and velocity continuity constraints between adjacent moments within the scrolling time-domain window based on the initial state constraint and target constraint; generating an initial landing trajectory pointing from the UAV's current position to the preset landing point under the condition that the initial state constraint, target constraint, position continuity constraint, and velocity continuity constraint are satisfied; and limiting the passable space corresponding to the initial landing trajectory within the scrolling time-domain window based on local obstacle information, and generating a landing guidance trajectory pointing from the UAV's current position to the preset landing point within the passable space.
[0088] Preferably, the pre-set landing point coordinates are read from the path planner and used as the position constraint at the end of the rolling time-domain window. The current position coordinates, current velocity vector, and current attitude angle of the UAV are read from the UAV state estimation module and used as the state constraint at the beginning of the rolling time-domain window. At each intermediate moment within the rolling time-domain window, position smoothing constraints and velocity continuity constraints are set to ensure that the displacement increment and velocity vector of the UAV between adjacent moments meet the kinematic continuity requirements. A polynomial trajectory generation algorithm is used to fit a smooth reference trajectory from the current position of the UAV to the landing point under the conditions of satisfying the initial state constraint, the end position constraint, and the intermediate smoothing constraint, as the initial landing trajectory. Subsequently, the initial landing trajectory is discretized into multiple trajectory points, and the spatial position of each trajectory point is marked using local obstacle information. Trajectory points that are far from the occupied voxel grid can be marked as safe trajectory points; trajectory points that are close to the occupied voxel grid or enter the vicinity of the occupied area can be marked as risk trajectory points. The resulting landing guidance trajectory not only includes the path trend pointing to the preset landing point, but also includes risk information related to the distribution of local obstacles, which facilitates subsequent safe passage judgment and path replanning.
[0089] For example, the landing point coordinates are used as the position constraint at the end of the scrolling time-domain window. Specifically, the scrolling time-domain window has a defined start time and a defined end time, and the total duration of the window is set to 2 seconds in this embodiment. At the end of the window, the three-dimensional position coordinates of the UAV in the global navigation coordinate system are required to be exactly equal to the pre-set three-dimensional coordinates of the landing point; this is the essential meaning of the end-point position constraint. Simultaneously, to achieve a smooth landing and prevent the UAV from bouncing or tipping over due to excessive speed at the moment of contact, this embodiment also sets an end-point velocity constraint at the end of the window, requiring that the velocity components of the UAV in the three orthogonal directions are all zero, meaning that the UAV is completely stationary when it reaches the landing point. The above position constraint and velocity constraint together constitute the complete boundary conditions at the end of the scrolling time-domain window.
[0090] The current position coordinates, current velocity vector, and current attitude angle of the UAV are read from the UAV state estimation module and used as the state constraints at the start of the rolling time window.
[0091] The rolling time window duration is set to 2 seconds. This duration is optimized based on the UAV's flight speed and the processing power of the onboard computing unit, ensuring both forward-looking planning and avoiding real-time issues caused by excessive computation. The UAV's current position coordinates, current velocity vector, and current attitude angles are read from the UAV state estimation module and used as state constraints at the start of the rolling time window. The current velocity vector includes the UAV's velocity components along the x, y, and z axes in the global navigation coordinate system, and the current attitude angles include pitch, roll, and yaw angles.
[0092] Within each intermediate time point of the rolling time window, position and velocity continuity constraints are set. The rolling time window is discretized into 20 equal time intervals, each 0.1 seconds, corresponding to the 20 intermediate time points. The position smoothing constraint requires that the second derivative of the UAV's displacement increment be continuous between two adjacent time points, i.e., acceleration be continuous, to avoid abrupt accelerations that could cause flight instability. The velocity continuity constraint requires that the first derivative of the UAV's velocity vector be continuous between two adjacent time points, i.e., acceleration be continuous, consistent with the position smoothing constraint.
[0093] For example, the scrolling time-domain window is discretized into There are 1 time intervals, with a time step of:
[0094]
[0095] For the For each discrete time point, the following continuity relationships can be set, namely, the position continuity constraint and the velocity continuity constraint are as follows:
[0096]
[0097]
[0098] in, , , They represent the first The position, velocity, and acceleration at discrete moments. The above relationships are used to restrict abrupt changes between adjacent trajectory points, enabling the UAV to smoothly transition according to its own motion capabilities.
[0099] When generating the landing guidance trajectory, a polynomial trajectory representation can be used, for example:
[0100]
[0101] in, Represents the normalized time parameter The following reference position Represents the polynomial coefficients. This represents the order of the polynomial. It is set by... , , , Given the same boundary conditions, an initial landing trajectory from the UAV's current position to the preset landing point can be fitted. Then, local obstacle information is used to determine whether the trajectory poses a risk; if a risk exists, a local landing path that satisfies obstacle avoidance and dynamic constraints is generated through a subsequent path replanning process.
[0102] In some embodiments, based on the spatial relationship between the landing guidance trajectory or the landing path currently executed by the UAV and local obstacle information, it is determined whether the current landing path meets the safe passage conditions, and if the safe passage conditions are not met, path replanning is triggered. This includes: discretizing the landing guidance trajectory or the landing path currently executed by the UAV into multiple path detection points according to the sampling time; determining a corresponding collision detection area around each path detection point according to the geometric dimensions of the UAV; performing spatial intersection judgment between the collision detection area and the occupied area in the local obstacle information; if at least one path detection point's corresponding collision detection area intersects with the occupied area, it is determined that the current landing path does not meet the safe passage conditions, and path replanning is triggered; if none of the path detection points' corresponding collision detection areas intersect with the occupied area, it is determined that the current landing path meets the safe passage conditions, and the execution state of the current landing path is maintained.
[0103] Preferably, the landing path currently executed by the UAV is discretized into a series of discrete path points, each corresponding to a sampling time. For each discrete path point, its coordinates in the global navigation coordinate system are calculated, and a spherical collision detection region is constructed with these coordinates as the center and the UAV's geometric dimensions as the radius. The 3D voxel grid of each occupied state in the environmental obstacle distribution information is traversed to determine whether the spherical collision detection region intersects with any occupied 3D voxel grid. If an intersection exists, the discrete path point is marked as a collision point. If at least one discrete path point is marked as a collision point, the currently executed landing path is determined to have a collision risk, triggering a path replanning process. If no discrete path point is marked as a collision point, the currently executed landing path is determined to be safe, and the flight continues along the original path.
[0104] For example, the landing path currently executed by the UAV is discretized into a series of discrete path points. The discretization time interval is the same as the rolling time window time interval, both being 0.1 seconds. Each discrete path point corresponds to a sampling time, containing the UAV's position coordinates in the global navigation coordinate system at that time. For each discrete path point, a spherical collision detection region is constructed with that coordinate as the center and the UAV's geometric dimensions as the radius. The UAV's geometric dimensions are taken as the radius of the UAV's circumscribed sphere, which is measured at the UAV's factory and pre-stored in the onboard computing unit. To improve the safety of collision detection, a safety margin of 0.1 meters is added to the UAV's geometric dimensions as the actual radius of the spherical collision detection region.
[0105] Traverse each occupied state of the 3D voxel grid in the environmental obstacle distribution information and determine whether the spherical collision detection area intersects with any occupied state of the 3D voxel grid.
[0106] To improve collision detection efficiency, a hierarchical bounding box technique is used for obstacle preprocessing. All occupied 3D voxel meshes are grouped according to their spatial location, constructing an octree hierarchical structure. During collision detection, it is first determined whether the spherical collision detection region intersects with the bounding box of the octree's root node. If they do not intersect, the path point is directly determined to have no collision risk; if they intersect, its child nodes are recursively checked until a leaf node is reached, at which point a precise intersection determination is performed. This method significantly reduces the number of obstacles requiring precise intersection determination, ensuring real-time collision detection.
[0107] If the spherical collision detection region of a discrete pathpoint intersects with any occupied 3D voxel mesh, the discrete pathpoint is marked as a collision point. If at least one discrete pathpoint is marked as a collision point, the currently executed landing path is determined to have a collision risk, and the path replanning process is immediately triggered. If no discrete pathpoints are marked as collision points, the currently executed landing path is determined to be safe, and the UAV continues to fly along the original path until the next rolling time window update.
[0108] In some embodiments, within a rolling time window, with the objective function of minimizing landing time and energy consumption, an optimal control sequence satisfying preset obstacle avoidance constraints and UAV dynamics constraints is solved to obtain a replanned local landing path. This includes: discretizing the rolling time window into multiple time intervals and using the time corresponding to each time interval as the control decision time; establishing UAV dynamics constraints based on the UAV's position state, velocity state, and control input at the control decision time; establishing obstacle avoidance constraints corresponding to each control decision time based on local obstacle information and preset safety distances; constructing an objective function based on landing time and energy consumption, and solving for the control commands corresponding to each control decision time under the constraints of UAV dynamics constraints and obstacle avoidance constraints; combining the control commands corresponding to each control decision time in chronological order to obtain the optimal control sequence, and generating a replanned local landing path based on the optimal control sequence.
[0109] For example, suppose the scrolling time-domain window is discretized as The time interval, the first The state variables at each control decision moment are: The control variable is Then the control sequence can be represented as:
[0110]
[0111] in, This can include thrust, torque, acceleration commands, or velocity commands, depending on the control interface supported by the UAV flight control system. If thrust and torque are used as control inputs, it can be expressed as:
[0112]
[0113] in, Indicates the first The thrust input at each control decision moment. This indicates the corresponding torque input.
[0114] The UAV dynamics constraints are used to ensure that the generated local landing path can be actually executed by the UAV. For example, a six-degree-of-freedom dynamic model of the UAV in a confined space is established, which includes position state equations, velocity state equations, attitude angle state equations, angular velocity state equations, and control input constraint equations.
[0115] Let the position of the UAV in the global navigation coordinate system be... The speed is The attitude angles (Euler angles) are (corresponding to roll angle, pitch angle, and yaw angle respectively), the airframe angular velocity is The control input is the rotational speed of the four rotors. .
[0116] Position state equation:
[0117]
[0118] Velocity state equation:
[0119]
[0120] in For the quality of drones, F is the rotation matrix from the body coordinate system to the navigation coordinate system. b The total thrust in the body coordinate system ( g is the acceleration due to gravity. This refers to air resistance.
[0121] Attitude angle state equation:
[0122]
[0123] in
[0124]
[0125] Angular velocity state equation:
[0126]
[0127] in Here is the rotational inertia matrix. The torque is generated by the difference in the rotational speeds of the four rotors.
[0128]
[0129] in For arm length, It is a constant.
[0130] Control input constraint equations:
[0131]
[0132] Where, n min n max Let n represent the minimum and maximum thrust of the UAV, respectively. i Let be the thrust of the i-th rotor. By controlling the input constraints, we can avoid the optimization results from giving control commands that exceed the physical capabilities of the UAV, thereby ensuring that the local landing path is executable.
[0133] In the sequential quadratic programming algorithm, the above differential equation is discretized into equality constraints. Specifically, the rolling time window is discretized into 20 time steps, with each step... The fourth-order Runge-Kutta method is used to transform the continuous state equations into discrete state transition constraints, namely:
[0134]
[0135] The state ,control These equality constraints are incorporated into the optimization problem to ensure that the generated paths satisfy the physical characteristics of the UAV.
[0136] The occupancy status of the 3D voxel meshes in the environmental obstacle distribution information is converted into obstacle avoidance constraints. The center point coordinates and mesh edge lengths of all occupancy status 3D voxel meshes are read from the environmental obstacle distribution information. A cuboid obstacle region is generated for each occupancy status 3D voxel mesh, with its center coinciding with the center of the 3D voxel mesh and its edge length equal to that of the 3D voxel mesh (let's say it's a cuboid obstacle region). Obstacle avoidance constraint formula:
[0137] Obstacle avoidance constraints are used to ensure that the UAV maintains a safe distance from obstacles within a rolling time window. For any discrete path point and any area occupying obstacles Obstacle avoidance constraints can be expressed as:
[0138]
[0139] in, This represents the minimum distance from a path point to an obstacle region. This represents the safe distance threshold. If the obstacle is at the center point of the voxel... This can also be written as:
[0140]
[0141] The objective function is a weighted sum of minimizing landing time and minimizing thruster energy consumption. Landing time is indirectly represented by the average velocity of the UAV within a rolling time window; a higher average velocity results in a shorter landing time. Thruster energy consumption is represented by the sum of the squares of the rotational speeds of the four rotors; the sum of the squares of the rotor speeds is proportional to the thruster's power consumption. The objective function is expressed as follows:
[0142] J=w1*(1 / v avg )+w2*sum(ω i 2 ),
[0143] Among them, v avgLet ω be the average velocity of the UAV within the rolling time window. i Let w1 be the rotational speed of the i-th rotor, and w2 be the landing time weight and energy consumption weight, respectively. The values of w1 and w2 are adjusted according to mission requirements. In emergency landing missions, the value of w1 is increased to prioritize minimizing landing time; in missions with limited endurance, the value of w2 is increased to prioritize minimizing energy consumption. In normal landing missions, the values of both w1 and w2 are 0.5, achieving the optimal balance between landing time and energy consumption.
[0144] Under the constraints of the dynamic model and obstacle avoidance conditions, a sequential quadratic programming algorithm is used to solve for the optimal solution of the objective function. A high-dimensional decision vector is formed by combining the control command variables at all control decision points within the rolling time window. This vector has 80 dimensions and corresponds to 20 control decision points, each containing the rotational speeds of four rotors. The control decision points are determined as follows: each control decision point corresponds one-to-one with a discretized time point within the rolling time window. The rolling time window (duration 2 seconds) is evenly divided into 20 equal time intervals, each 0.1 seconds long, resulting in a total of 20 control decision points (numbered...). The 0th decision point corresponds to the current moment, and the 19th decision point corresponds to the end of the window. At each decision point, a set of control commands needs to be determined, namely the rotational speeds of the four rotors.
[0145] Decision variables: Decision variables are vectors composed of control commands at all control decision points within the entire rolling time window. Since each decision point contains 4 rotor speeds, and there are a total of 20 decision points, the dimension of the decision vector is... .
[0146] The solution sought is the optimal value of this 80-dimensional vector, which minimizes the objective function and satisfies all constraints. From this, the rotor speed command at each moment can be extracted, and the desired position, velocity, attitude, and other state variables of the UAV can be calculated using a dynamic model to form a replanned local landing path. The objective function is expressed as a quadratic form of this high-dimensional decision vector, the dynamic model constraints are expressed as equality constraints, and the obstacle avoidance constraints and control input constraints are expressed as inequality constraints.
[0147] In each outer iteration of the sequential quadratic programming algorithm, a quadratic programming subproblem is constructed using the gradient of the objective function at the current iteration point and the Hessian matrix. The Hessian matrix is approximated using a quasi-Newton method, avoiding the enormous computational cost of directly calculating the Hessian matrix. Simultaneously, the inequality constraints are linearized using the Jacobian matrix of the inequality constraints at the current iteration point, transforming nonlinear constraints into linear ones. The interior-point solver is then used to solve the constructed quadratic programming subproblem, yielding the search direction vector. An Armijo step-size search is performed along the search direction vector to find the optimal step size that satisfies the sufficient descent condition. The initial step size of the Armijo step-size search is set to 1, and then gradually halved until the sufficient descent condition is met. The iteration point is updated by adding the step size multiplied by the search direction vector to the current iteration point, resulting in a new iteration point. This outer iteration process is repeated until the difference between the objective function values of two adjacent iterations is less than a preset convergence threshold. At this point, the high-dimensional decision vector obtained from the last iteration is taken as the optimal solution, from which the optimal control command sequence at each control decision point is extracted. The position components in the optimal control command sequence are extracted and connected in chronological order to form a spatial curve, which serves as the local landing path for replanning.
[0148] In some embodiments, after executing the first control instruction corresponding to the current moment in the optimal control sequence to control the UAV to execute a local landing path, the environmental perception information, UAV flight status, and rolling time-domain window are updated to iteratively generate subsequent local landing paths for execution until the UAV completes landing. This includes: extracting the control instruction corresponding to the first time interval within the rolling time-domain window from the optimal control sequence as the first control instruction; sending the first control instruction to the UAV flight control system to control the UAV to fly according to the first trajectory of the local landing path; after the first trajectory is executed, reacquiring the UAV's environmental perception information and UAV flight status; sliding the rolling time-domain window forward and making the starting time of the slid-forwarded rolling time-domain window correspond to the time when the environmental perception information and UAV flight status are reacquisitioned; and continuing the replanning process of the local landing path based on the updated environmental perception information, UAV flight status, and rolling time-domain window until the UAV reaches the preset landing point and completes landing.
[0149] After obtaining the replanned local landing path, the first control command is sent to the flight control system, and the rolling time window is updated. The control command corresponding to the first time interval, including the rotational speed commands of the four rotors, is extracted from the optimal control command sequence corresponding to the replanned local landing path. The control commands are then sent to the UAV's flight control computer via a high-speed serial communication interface. The communication interface uses a CAN bus with a communication rate of 1 megabit per second to ensure the real-time performance and reliability of the control command transmission. Based on the received control commands, the flight control computer drives the four motors to rotate at specified speeds via an electronic speed controller, generating corresponding thrust and torque, enabling the UAV to fly along the first segment of the replanned local landing path.
[0150] After a time interval of 0.1 seconds, the rolling time-domain window is slid forward by one time interval to align the start time of the new rolling time-domain window with the current time. The length of the new rolling time-domain window remains unchanged at 2 seconds. Within the new rolling time-domain window, all the above steps are repeated, including real-time acquisition of 3D environmental point cloud data, construction of a local occupancy grid map, generation of a reference landing trajectory, collision risk detection, solving for the optimal control sequence, and issuing control commands, forming a closed-loop rolling optimization control loop. This loop runs continuously at a frequency of 10 Hz until the UAV reaches above the landing point and completes landing.
[0151] In some embodiments, the method further includes: determining whether the UAV has entered the terminal landing phase based on the distance between the current position of the UAV and the preset landing point; when the UAV enters the terminal landing phase, adjusting the optimization weights corresponding to the landing time and energy consumption in the objective function, and adding preset terminal velocity constraints and preset terminal attitude constraints; the terminal velocity constraints are used to limit the speed of the UAV when it reaches the preset landing point; the terminal attitude constraints are used to limit the attitude of the UAV when it reaches the preset landing point; under the terminal velocity constraints and terminal attitude constraints, continuing to generate a local landing path within the updated rolling time domain window.
[0152] In this system, when the straight-line distance between the UAV and the landing point is less than a preset landing distance threshold, the system switches to the terminal landing control mode. The landing distance threshold is set to 1 meter, determined based on the measurement accuracy of the lidar and the landing accuracy requirements. In the terminal landing control mode, the landing time weight w1 in the objective function is set to zero, and the optimization objective is solely to minimize energy consumption, i.e., w2 is set to 1. Simultaneously, the terminal velocity constraint is set to a zero velocity constraint, requiring that the velocity components in the x, y, and z axes of the UAV are all zero when it reaches the landing point. Furthermore, attitude constraints are added, requiring that the pitch and roll angles of the UAV's body coordinate system be zero at the moment of landing, and the yaw angle point to a preset direction, which is input by the operator before the mission begins.
[0153] The attitude constraint is set as follows: the attitude angle at the landing time (end of the rolling time window) is... The constraint is represented as:
[0154]
[0155] in Preset the yaw angle (e.g., towards the runway or the direction specified by the mission).
[0156] This constraint is incorporated as an equality constraint into the optimization problem of the terminal landing control mode. In the sequential quadratic programming algorithm, the attitude angle state equation is integrated up to the terminal moment, requiring the terminal attitude to satisfy the above equality. Simultaneously, to ensure the smoothness of attitude changes, a penalty term for the rate of attitude change (such as the sum of squared angular velocities) is added to the objective function, but it is not reflected in the constraints. In this way, the UAV not only achieves position alignment and zero velocity at the moment of landing, but also remains horizontal with yaw aligned in the designated direction, thus achieving a precise and stable landing.
[0157] Furthermore, this application addresses dynamic obstacles such as personnel movement and equipment handling that may occur within confined spaces. Each time 3D environmental point cloud data is acquired, a differential comparison is performed between the current point cloud and the point cloud from the previous moment. The differential comparison uses an iterative nearest-neighbor algorithm to register the current and previous point clouds, and then calculates the distance between each point cloud and its corresponding point cloud. If the distance is greater than a preset dynamic threshold, the point cloud is marked as a dynamic point cloud. The dynamic threshold is set to 0.2 meters, which is greater than the measurement noise of the lidar and can effectively distinguish between dynamic and static point clouds. Newly appearing and disappeared point cloud regions are identified and marked as newly added obstacle regions and removed obstacle regions, respectively.
[0158] For 3D voxel meshes marked as newly added obstacle areas, their state is immediately updated to occupied, and a path replanning process is forcibly triggered, regardless of whether the currently executed landing path collides with the newly added obstacle area. This is because dynamic obstacles are uncertain, and their trajectories cannot be accurately predicted; triggering replanning in advance can effectively avoid collisions. For 3D voxel meshes marked as removing obstacle areas, their state is updated to idle, but replanning is not forcibly triggered; it is only considered in the normal update of the next rolling time-domain window. This is because after the obstacle is removed, the original path remains safe, and immediate replanning is unnecessary, avoiding unnecessary computational resource consumption. The location information of the newly added obstacle area is used as a temporary obstacle avoidance constraint, with a safety distance threshold set to 0.5 meters, which is stricter than the safety distance threshold for static obstacles to cope with the motion uncertainty of dynamic obstacles.
[0159] To further improve the robustness and reliability of this method, an exception handling mechanism can be added. When the onboard computing unit times out and cannot complete path replanning within the specified time interval, the UAV automatically switches to safe hovering mode, maintaining its current position and attitude until path replanning is completed. Timeout determination method: When the onboard computing unit performs the path replanning task, it starts a hardware timer with a duration set to the time interval of the rolling time window (0.1 seconds). The timer is reset and restarted at the start of each rolling time window update. If the sequential quadratic programming algorithm has not returned a converged optimal solution before the timer overflows (i.e., the count reaches 0.1 seconds), the replanning is considered to have timed out. Specifically, in the main loop of the algorithm, after each iteration, the current timer count is checked. If the remaining time is less than the preset safety margin (e.g., 0.01 seconds), the current iteration is forcibly terminated, the replanning result is abandoned, and a safe hovering command is immediately output. If the algorithm successfully converges before the timer overflows, control commands are output normally, and the timer is turned off. This timeout detection mechanism based on hardware timers ensures that control commands are not lost due to computational delays under any circumstances, thus guaranteeing flight safety.
[0160] When the lidar sensor malfunctions and cannot acquire environmental point cloud data, the drone immediately executes an emergency ascent procedure, ascends to a safe altitude, hovers, and sends a fault alarm to the ground control station, awaiting further instructions from the operator. When the drone's battery level falls below a preset low-battery threshold, the weight of the objective function is automatically adjusted, increasing the weight of energy consumption to prioritize a safe landing for the drone.
[0161] The following is a specific application scenario to further illustrate this method. In a mine roadway landing scenario, the roadway is 4 meters wide and 3 meters high, containing static obstacles such as pipes, cables, and supports, as well as dynamic obstacles such as miners and mine carts. The UAV is equipped with a 16-line LiDAR sensor with a maximum detection range of 20 meters and a scanning frequency of 10 Hz. The onboard computing unit uses NVIDIA Jetson Xavier NX, which has powerful parallel computing capabilities to meet the computational requirements of real-time path planning. After takeoff, the UAV first ascends to a height of 2 meters and then flies forward along the roadway. When it reaches 10 meters above the predetermined landing point, it begins to execute the online rolling temporal replanning method for landing paths disclosed in this application. The LiDAR sensor scans the roadway environment in real time, acquires 3D point cloud data, and constructs a locally occupied grid map. The path planner generates a reference landing trajectory and detects collision risks in real time. When a mine cart is detected passing ahead, the dynamic obstacle is identified through point cloud differential comparison, the map is immediately updated, and path replanning is forcibly triggered. The replanned path bypassed the mining truck and continued flying towards the landing point. When the drone was 1 meter away from the landing point, it switched to terminal landing control mode, descended slowly, and finally landed smoothly and accurately at the designated location. The entire landing process took about 15 seconds, with energy consumption reduced by about 20% compared to traditional methods, landing accuracy reaching the centimeter level, and no collisions occurred.
[0162] This method achieves autonomous landing of UAVs in complex and ever-changing confined space environments through an online rolling temporal replanning mechanism. Real-time environmental perception and local occupancy grid map construction accurately acquire current environmental information, providing a reliable foundation for path planning. The collision risk detection mechanism can promptly identify potential threats, ensuring flight safety. Rolling temporal optimization achieves the optimal balance between landing time and energy consumption while maintaining real-time performance. Fine-grained control in the terminal landing phase significantly improves landing accuracy and stability. The dynamic obstacle handling mechanism effectively addresses dynamic changes in the environment, enhancing the method's adaptability and robustness. This method has broad application prospects and can provide a safe and efficient landing solution for UAV operations in confined spaces.
[0163] Based on the same inventive concept, this application also provides a system for implementing the above-mentioned online rolling time-domain replanning method for landing paths of confined space unmanned aerial vehicles.
[0164] The solution provided by this system is similar to the solution described in the above method. Therefore, the specific limitations of one or more embodiments of the online rolling temporal replanning system for landing paths of UAVs in confined spaces provided below can be found in the limitations of the online rolling temporal replanning method for landing paths of UAVs in confined spaces described above, and will not be repeated here.
[0165] like Figure 3 As shown in the embodiments of this application, an online rolling temporal replanning system for the landing path of a UAV in confined space is also provided. The system includes:
[0166] The obstacle acquisition module 100 is used to acquire the environmental perception information and flight status of the UAV in the confined space at the current moment, and to determine the local obstacle information around the UAV based on the environmental perception information.
[0167] The guidance trajectory generation module 200 is used to generate a landing guidance trajectory pointing to the preset landing point within the scrolling time domain window, with the UAV flight state as the starting state constraint and the landing state corresponding to the preset landing point as the target constraint, and combined with local obstacle information.
[0168] The replanning trigger module 300 is used to determine whether the current landing path meets the safe passage conditions based on the spatial relationship between the landing guidance trajectory or the landing path currently executed by the UAV and local obstacle information, and to trigger path replanning if the safe passage conditions are not met.
[0169] The path replanning module 400 is used to solve for the optimal control sequence that satisfies the preset obstacle avoidance constraints and UAV dynamics constraints within a rolling time window after path replanning is triggered, with the objective function of minimizing landing time and energy consumption, and obtain the replanned local landing path.
[0170] The flight control execution module 500 is used to execute the first control command in the optimal control sequence corresponding to the current moment. After controlling the UAV to execute a local landing path, it updates the environmental perception information, UAV flight status and rolling time domain window to iteratively generate subsequent local landing paths for execution until the UAV completes landing.
[0171] In some embodiments, the obstacle acquisition module 100 is configured to:
[0172] Acquire the 3D environmental point cloud data of the UAV in the confined space at the current moment, and convert the 3D environmental point cloud data to environmental point cloud data in a unified coordinate system;
[0173] Based on the current location of the drone and the confined space, determine the local map range corresponding to the current moment, and divide the local map range into multiple three-dimensional voxel grids;
[0174] The occupancy status of each three-dimensional voxel grid is determined by statistically analyzing the distribution of environmental point cloud data falling within each three-dimensional voxel grid.
[0175] The positional distribution of the occupied 3D voxel mesh is determined as local obstacle information.
[0176] In some embodiments, the guide trajectory generation module 200 is used for:
[0177] Based on the UAV's flight status, determine the UAV's position, velocity, and attitude at the current moment, and use the position, velocity, and attitude as state constraints at the start of the rolling time domain window;
[0178] Based on the landing state corresponding to the preset landing point, determine the landing position constraint and landing speed constraint at the end of the rolling time domain window;
[0179] Based on the initial state constraints and the target constraints, set position continuity constraints and velocity continuity constraints between adjacent time points within the rolling time domain window;
[0180] Under the conditions of satisfying the initial state constraints, target constraints, position continuity constraints, and velocity continuity constraints, an initial landing trajectory is generated from the current position of the UAV to the preset landing point;
[0181] Based on local obstacle information, the passable space corresponding to the initial landing trajectory within the rolling time domain window is limited, and a landing guidance trajectory is generated within the passable space, pointing from the current position of the UAV to the preset landing point.
[0182] In some embodiments, the replanning triggering module 300 is used for:
[0183] The landing guidance trajectory or the landing path currently executed by the UAV is discretized into multiple path detection points according to the sampling time;
[0184] Based on the drone's geometry, a corresponding collision detection area is determined around each path detection point;
[0185] The collision detection area is spatially intersected with the occupied area in the local obstacle information.
[0186] If at least one path detection point's collision detection area intersects with the occupied area, the current landing path is determined not to meet the safe passage conditions, and path replanning is triggered.
[0187] If the collision detection areas corresponding to each path detection point do not intersect with the occupied area, the current landing path is determined to meet the safe passage conditions, and the execution state of the current landing path is maintained.
[0188] In some embodiments, the route replanning module 400 is used for:
[0189] The rolling time-domain window is discretized into multiple time intervals, and the time corresponding to each time interval is used as the control decision time.
[0190] Based on the UAV's position, velocity, and control input at the moment of control decision-making, establish UAV dynamic constraints;
[0191] Based on local obstacle information and preset safety distances, establish obstacle avoidance constraints for the UAV at each control decision moment;
[0192] The objective function is constructed based on the landing time and energy consumption, and the control commands corresponding to each control decision moment are solved under the constraints of UAV dynamics and obstacle avoidance.
[0193] By combining the control commands corresponding to each control decision moment in chronological order, the optimal control sequence is obtained, and a replanned local landing path is generated based on the optimal control sequence.
[0194] In some embodiments, the flight control execution module 500 is configured to:
[0195] Extract the control instruction corresponding to the first time interval within the rolling time window from the optimal control sequence, and use it as the first control instruction;
[0196] The first control command is sent to the UAV flight control system, which then controls the UAV to fly along the first segment of the local landing path.
[0197] After the first segment of the trajectory is completed, the environmental perception information and flight status of the UAV are reacquired.
[0198] Slide the scrolling time domain window forward, and make the starting time of the scrolling time domain window correspond to the time when the environmental perception information and the UAV flight status are reacquired;
[0199] Based on the updated environmental perception information, UAV flight status, and rolling time-domain window, the local landing path replanning process continues until the UAV reaches the preset landing point and completes the landing.
[0200] In some embodiments, the system further includes: a landing control module, configured to:
[0201] Based on the distance between the drone's current position and the preset landing point, determine whether the drone has entered the terminal landing phase;
[0202] When the UAV enters the terminal landing phase, the optimization weights corresponding to landing time and energy consumption in the objective function are adjusted, and preset terminal velocity constraints and preset terminal attitude constraints are added. The terminal velocity constraint is used to limit the speed of the UAV when it reaches the preset landing point; the terminal attitude constraint is used to limit the attitude of the UAV when it reaches the preset landing point.
[0203] Under the constraints of terminal velocity and terminal attitude, a local landing path is generated within the updated rolling time window.
[0204] like Figure 4 As shown, this application embodiment provides an electronic device. The electronic device 10 includes a memory 20 and a processor 30. The memory 20 stores a computer program. When the computer program is executed by the processor 30, the processor 30 performs the steps of the online rolling temporal replanning method for landing path of a confined space UAV as described in the above embodiment.
[0205] This application provides a computer-readable storage medium storing a computer program thereon. When the computer program is executed, it implements the steps of the online rolling temporal replanning method for landing paths of unmanned aerial vehicles in confined space as described in the above embodiments.
[0206] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, electronic devices, and computer storage media described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0207] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of the terms "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.
[0208] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0209] 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.
[0210] In the several embodiments provided by this invention, it should be understood that the disclosed systems, electronic devices, computer storage media, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, indirect coupling or communication connection between devices or units, and may be electrical, mechanical, or other forms.
[0211] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0212] Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0213] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for executing all or part of the steps of the methods described in the various embodiments of the present invention through a computer device (which may be a personal computer, a server, or a network device, etc.). The aforementioned storage medium includes: USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, optical disks, and other media capable of storing program code.
[0214] The above embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit it. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for online rolling temporal replanning of landing paths for unmanned aerial vehicles in confined spaces, characterized in that, The method includes: The system acquires environmental perception information and flight status of the UAV within a confined space at the current moment, and determines local obstacle information around the UAV based on the environmental perception information. The flight state of the UAV is used as the starting state constraint of the scrolling time domain window, and the landing state corresponding to the preset landing point is used as the target constraint of the scrolling time domain window. Combined with the local obstacle information, a landing guidance trajectory pointing to the preset landing point is generated within the scrolling time domain window. Based on the spatial relationship between the landing guidance trajectory or the landing path currently executed by the UAV and the local obstacle information, determine whether the current landing path meets the safe passage conditions, and trigger path replanning if the safe passage conditions are not met; After triggering path replanning, within the rolling time window, with the objective function of minimizing landing time and energy consumption, the optimal control sequence that satisfies the preset obstacle avoidance constraints and UAV dynamics constraints is solved to obtain the replanned local landing path; Execute the first control instruction in the optimal control sequence corresponding to the current time to control the UAV to execute the local landing path, then update the environmental perception information, the UAV flight status and the rolling time-domain window to iteratively generate subsequent local landing paths for execution until the UAV completes landing.
2. The online rolling temporal replanning method for landing paths of unmanned aerial vehicles in confined spaces according to claim 1, characterized in that, The process of acquiring the current environmental perception information and flight status of the UAV within the confined space, and determining the local obstacle information around the UAV based on the environmental perception information, includes: Acquire the three-dimensional environmental point cloud data of the UAV in the confined space at the current moment, and convert the three-dimensional environmental point cloud data into environmental point cloud data in a unified coordinate system; Based on the current location of the UAV and the confined space range, determine the local map range corresponding to the current moment, and divide the local map range into multiple three-dimensional voxel grids; The occupancy status of each three-dimensional voxel grid is determined by statistically analyzing the distribution of environmental point cloud data falling within each of the three-dimensional voxel grids. The positional distribution of the occupied 3D voxel mesh is determined as the local obstacle information.
3. The online rolling temporal replanning method for landing paths of unmanned aerial vehicles in confined spaces according to claim 1, characterized in that, The step of using the UAV's flight state as the starting state constraint of the scrolling time-domain window, using the landing state corresponding to the preset landing point as the target constraint of the scrolling time-domain window, and combining the local obstacle information to generate a landing guidance trajectory pointing to the preset landing point within the scrolling time-domain window includes: Based on the UAV's flight state, determine the UAV's position, velocity, and attitude at the current moment, and use the position, velocity, and attitude as the state constraints at the start time of the rolling time domain window; Based on the landing state corresponding to the preset landing point, determine the landing position constraint and landing speed constraint at the end of the rolling time domain window; Based on the initial state constraint and the target constraint, position continuity constraint and velocity continuity constraint are set between adjacent moments within the rolling time domain window; Under the conditions of satisfying the initial state constraint, the target constraint, the position continuity constraint and the velocity continuity constraint, an initial landing trajectory is generated from the current position of the UAV to the preset landing point; Based on the local obstacle information, the passable space corresponding to the initial landing trajectory within the rolling time domain window is defined, and a landing guidance trajectory from the current position of the UAV to the preset landing point is generated within the passable space.
4. The online rolling temporal replanning method for landing paths of unmanned aerial vehicles in confined spaces according to claim 1, characterized in that, The step of determining whether the current landing path meets safe passage conditions based on the spatial relationship between the landing guidance trajectory or the landing path currently executed by the UAV and the local obstacle information, and triggering path replanning when the safe passage conditions are not met, includes: The landing guidance trajectory or the landing path currently executed by the UAV is discretized into multiple path detection points according to the sampling time; Based on the drone's geometry, a corresponding collision detection area is determined around each path detection point; The collision detection area is spatially intersected with the occupied area in the local obstacle information; If at least one path detection point's collision detection area intersects with the occupied area, the current landing path is determined not to meet the safe passage conditions, and path replanning is triggered. If the collision detection areas corresponding to each path detection point do not intersect with the occupied area, the current landing path is determined to meet the safe passage conditions, and the execution state of the current landing path is maintained.
5. The online rolling temporal replanning method for landing paths of unmanned aerial vehicles in confined spaces according to claim 1, characterized in that, Within the rolling time window, with the objective function of minimizing landing time and energy consumption, the optimal control sequence satisfying preset obstacle avoidance constraints and UAV dynamics constraints is solved to obtain the replanned local landing path, including: The rolling time-domain window is discretized into multiple time intervals, and the time corresponding to each time interval is used as the control decision time. Based on the UAV's position, velocity, and control input at the control decision moment, establish UAV dynamic constraints; Based on the local obstacle information and the preset safety distance, establish obstacle avoidance constraints for the UAV at each control decision moment; Based on the landing time and energy consumption, an objective function is constructed, and under the constraints of the UAV dynamics and obstacle avoidance, the control commands corresponding to each control decision moment are solved. The optimal control sequence is obtained by combining the control commands corresponding to each control decision moment in chronological order, and a replanned local landing path is generated based on the optimal control sequence.
6. The online rolling temporal replanning method for landing paths of unmanned aerial vehicles in confined spaces according to claim 1, characterized in that, The step of executing the first control command in the optimal control sequence corresponding to the current time to control the UAV to execute the local landing path, and then updating the environmental perception information, the UAV flight status, and the rolling time-domain window to iteratively generate subsequent local landing paths for execution until the UAV completes landing, includes: Extract the control instruction corresponding to the first time interval within the rolling time window from the optimal control sequence, and use it as the first control instruction. The first control command is sent to the UAV flight control system, so that the flight control system controls the UAV to fly according to the first segment of the local landing path; After the first segment of the trajectory is completed, the environmental perception information and flight status of the UAV are reacquired. The scrolling time domain window is slid forward, and the starting time of the scrolling time domain window after the slide corresponds to the time when the environmental perception information and the UAV flight status are reacquired. Based on the updated environmental perception information, UAV flight status, and rolling time-domain window, the local landing path replanning process continues until the UAV reaches the preset landing point and completes the landing.
7. The online rolling temporal replanning method for landing paths of unmanned aerial vehicles in confined spaces according to claim 1, characterized in that, The method further includes: Based on the distance between the drone's current position and the preset landing point, determine whether the drone has entered the terminal landing phase; When the UAV enters the terminal landing phase, the optimization weights corresponding to landing time and energy consumption in the objective function are adjusted, and preset terminal velocity constraints and preset terminal attitude constraints are added; the terminal velocity constraints are used to limit the speed of the UAV when it reaches the preset landing point; the terminal attitude constraints are used to limit the attitude of the UAV when it reaches the preset landing point. Under the terminal velocity constraint and the terminal attitude constraint, a local landing path is generated within the updated rolling time window.
8. A system for online rolling temporal replanning of landing paths for unmanned aerial vehicles in confined spaces, characterized in that, The system includes: The obstacle acquisition module is used to acquire the environmental perception information and flight status of the UAV in the confined space at the current moment, and to determine the local obstacle information around the UAV based on the environmental perception information. The guidance trajectory generation module is used to take the UAV flight state as the starting state constraint of the scrolling time domain window, take the landing state corresponding to the preset landing point as the target constraint of the scrolling time domain window, and combine the local obstacle information to generate a landing guidance trajectory pointing to the preset landing point within the scrolling time domain window. The path replanning trigger module is used to determine whether the current landing path meets the safe passage conditions based on the spatial relationship between the landing guidance trajectory or the landing path currently executed by the UAV and the local obstacle information, and to trigger path replanning if the safe passage conditions are not met. The path replanning module is used to, after triggering path replanning, within the rolling time window, solve for the optimal control sequence that satisfies preset obstacle avoidance constraints and UAV dynamics constraints with the objective function of minimizing landing time and energy consumption, and obtain the replanned local landing path. The flight control execution module is used to execute the first control command in the optimal control sequence corresponding to the current time, so as to control the UAV to execute the local landing path, and then update the environmental perception information, the UAV flight status and the rolling time domain window to iteratively generate subsequent local landing paths for execution until the UAV completes landing.
9. An electronic device, characterized in that, The electronic device includes a memory and a processor. The memory stores a computer program. When the computer program is executed by the processor, the processor performs the steps of the online rolling temporal replanning method for landing paths of unmanned aerial vehicles in confined space as described in any one of claims 1-7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed, it implements the steps of the online rolling temporal replanning method for landing paths of unmanned aerial vehicles in confined space as described in any one of claims 1-7.