An unmanned aerial vehicle attitude stabilization control system under a mountainous high-altitude environment
By combining the filtering, calculation, and control modules, the flight path is planned, the compensating force is predicted, and the motor force is adjusted, which solves the problem of flight instability of UAVs in mountainous high-altitude environments, and achieves more stable flight and higher mission completion rate.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-28
- Publication Date
- 2026-03-24
AI Technical Summary
Traditional drone flight control methods fail to respond promptly to changes in wind and obstacle effects, leading to flight instability and trajectory deviation, which is particularly evident in high-altitude mountainous environments.
The screening module plans flight routes based on wind information and battery power, the calculation module predicts the reverse compensation force, the determination module adjusts the motor force, and the control module coordinates the target speed control to achieve stable flight of the UAV in complex environments.
It improves the flight stability and mission completion rate of UAVs in mountainous high-altitude environments, reduces deviation, and lowers energy consumption.
Smart Images

Figure CN121028816B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data analysis technology, and in particular to an attitude stabilization control system for unmanned aerial vehicles in mountainous high-altitude environments. Background Technology
[0002] Adjusting flight parameters based on real-time stress conditions is fundamental to achieving precise control of the UAV. It effectively counteracts external disturbances such as wind, maintains stable flight attitude, and ensures flight path accuracy. Simultaneously, this dynamic optimization significantly improves flight safety and mission reliability, reduces energy consumption, and extends endurance. Traditional methods adjust UAV flight parameters only based on current stress conditions, failing to consider changes in wind and obstacles encountered during future flight. This results in inadequate adjustments to address wind variations and hinders stable flight maintenance. Furthermore, traditional methods, focusing solely on current stress conditions, are susceptible to significant impacts from sudden wind changes, leading to trajectory deviations. Summary of the Invention
[0003] To address the aforementioned technical problems, the purpose of this application is to provide an attitude stabilization control system for unmanned aerial vehicles (UAVs) in high-altitude mountainous environments. The specific technical solution adopted is as follows:
[0004] Firstly, a drone attitude stabilization control system is provided for high-altitude mountainous environments, the system comprising:
[0005] The filtering module is used to obtain the matching coefficient of the candidate route based on the distance required for the UAV to merge into the preset route along each candidate route, the wind force and wind direction information on the candidate route, the remaining battery power and the remaining flight distance of the UAV, and to filter the target route from multiple candidate routes based on the matching coefficient so that the UAV flies along the target route; multiple candidate routes are determined based on the offset distance between the current position of the UAV and the preset route.
[0006] The calculation module is used to calculate the reverse compensation force corresponding to the multiple force application directions at the current moment based on the force intensity of the UAV in multiple force application directions during the first historical period.
[0007] The determination module is used to determine the target force of each motor of the drone at the current moment based on the wind force at the current location, the distance between the current location and each obstacle, the frequency of drone deviation when the distance between the drone and the obstacle is less than a preset distance during the second historical period, and the reverse compensation force; each obstacle is located within a preset range centered on the current location of the drone.
[0008] The control module is used to determine the target speed of the UAV based on the angle between the total force vector of the UAV at each position on the target flight path and the target flight path, and to control the UAV to fly at the target speed according to the target force.
[0009] Optionally, the filtering module is also used for:
[0010] Based on the drone's current position and the offset distance between the current position and the preset flight path, through The search algorithm generates multiple candidate routes, each of which includes multiple planning points with equal intervals.
[0011] Obtain wind direction information for each planning point on each candidate route. If the angle between the wind direction at each planning point on the candidate route and the flight direction of the UAV at that planning point is less than a preset angle, the planning point is determined as a downwind planning point.
[0012] The tailwind coefficient of a candidate route is determined by the ratio of the number of tailwind planning points on each candidate route to the number of multiple planning points on that candidate route, and the average wind force of multiple tailwind planning points on that candidate route.
[0013] Based on the tailwind coefficient of each candidate route, the distance required for the drone to merge into the preset route along the candidate route, the remaining battery power of the drone, and the remaining flight distance of the drone, the matching coefficient of the candidate route is obtained. Based on the matching coefficient, the target route is selected from multiple candidate routes so that the drone flies along the target route until it merges into the preset route.
[0014] Optionally, the filtering module is also used for:
[0015] The endurance pressure coefficient of the drone along each candidate route is determined by the ratio of the drone's remaining flight distance along each candidate route to the drone's remaining battery power at the current moment.
[0016] The matching coefficient of a candidate route is obtained by multiplying the endurance pressure coefficient of the UAV along each candidate route by the distance required for the UAV to merge into the preset route along the candidate route, and the tailwind coefficient of the candidate route.
[0017] From multiple candidate routes, the candidate route with the highest matching coefficient is determined as the target route, so that the UAV flies along the target route until it merges into the preset route.
[0018] Optionally, the calculation module is also used for:
[0019] Obtain the force intensity of the drone in multiple force application directions at each moment within the first historical time period;
[0020] For the same direction of force application, calculate the difference in force intensity at each adjacent moment in that direction of force application, and determine the force intensity difference that is less than the preset difference as the downwind difference;
[0021] The ratio of the number of multiple downwind differences in each direction of force application to the number of multiple force intensity differences in that direction of force application is used to obtain the downwind ratio value for that direction of force application.
[0022] For the same direction of force application, the difference between the force intensity at the beginning and the force intensity at the end of the first historical period is calculated to obtain the wind force difference value in that direction of force application.
[0023] Based on the downwind ratio and the wind force difference in each applied force direction, calculate the reverse compensation force corresponding to multiple applied force directions at the current moment.
[0024] Optionally, the calculation module is also used for:
[0025] Based on the ratio of the force intensity of the drone in each direction of force application to the wind force difference in that direction of force application, and the downwind ratio in that direction of force application, determine the reverse compensation coefficient corresponding to that direction of force application at the current moment.
[0026] The reverse compensation force corresponding to the applied force direction is determined based on the product of the force intensity and the compensation value of the UAV in each applied force direction at the current moment; the compensation value is the sum of the reverse compensation coefficient and a preset value.
[0027] Optionally, the determining module is also used for:
[0028] Acquire multiple obstacles within a preset range centered on the drone's current location;
[0029] The influence coefficient of the drone on the obstacle is determined by multiplying the frequency of drone deviation when the distance between the drone and each obstacle is less than the preset distance during the second historical period with the wind force at the current location.
[0030] The reverse drag force of the drone at the current moment corresponding to the local wind direction of the obstacle is determined by multiplying the distance between the drone's current position and each obstacle by the influence coefficient of the drone on the obstacle; the local wind direction of each obstacle is obtained according to the preset obstacle turbulence table.
[0031] Based on the reverse drag force of the UAV corresponding to the local wind direction of each obstacle at the current moment, and the reverse compensation force, the target force applied by each motor of the UAV at the current moment is determined.
[0032] Optionally, the determining module is also used for:
[0033] The reverse drag force is vector-decomposed in multiple force application directions to obtain the reverse drag force components in multiple force application directions;
[0034] The target compensation force is obtained by calculating the vector sum of the reverse drag force components in multiple applied force directions and the reverse compensation force in multiple applied force directions.
[0035] The target compensation force is decomposed into the control direction of each motor of the UAV to obtain the target force applied by each motor.
[0036] Optionally, the control module is also used for:
[0037] Obtain multiple wind directions and corresponding wind forces at each location along the target flight path;
[0038] Multiply the unit vector of each wind direction at each location by the corresponding wind force to obtain multiple wind force vectors at each location;
[0039] The total force vector of the UAV at each position along the target flight path is determined by the vector sum of multiple wind force vectors at each position.
[0040] Calculate the angle between the total force vector of the UAV at each position on the target flight path and the flight direction at that position on the target flight path, obtain the angle corresponding to each position, and determine the smallest angle as the target angle;
[0041] The velocity attenuation coefficient of the UAV is determined based on the difference between the included angle and the target angle at each position, and the total force vector of the UAV at that position.
[0042] Based on the drone's speed decay coefficient and preset flight speed, the target speed of the drone is determined, and the drone is controlled to fly at the target speed by applying force according to the target.
[0043] Optionally, the control module is also used for:
[0044] The target speed of the drone is determined by multiplying the preset flight speed of the drone by the attenuation value, and the drone is controlled to fly at the target speed by applying force according to the target; the attenuation value indicates the difference between the preset value and the speed attenuation coefficient of the drone.
[0045] Optionally, the control module is also used for:
[0046] The target force applied by each motor and the target speed of the UAV are input to the PID controller so that the PID controller outputs the corresponding control quantity of the UAV.
[0047] The corresponding control quantity is input to the mixer so that the mixer can calculate the PWM duty cycle signal of each motor based on the control quantity.
[0048] The PWM duty cycle signal is output to the ESC to drive each motor to generate the required pull force and torque, so that the UAV flies along the target route at the target speed.
[0049] Based on common knowledge in the field, the above-mentioned preferred conditions can be combined arbitrarily to obtain various preferred embodiments of this application.
[0050] This application has the following beneficial effects: the screening module plans the flight route based on the yaw distance of the UAV, the wind force and direction information of the candidate route, as well as the remaining battery power and remaining flight distance; the calculation module predicts the future force based on the force intensity change law of multiple force directions in the first historical period and generates the reverse compensation force; the determination module adjusts the target force of each motor in real time based on the distance between the current position and the obstacle, the frequency of the obstacle's influence, and the reverse compensation force; and the control module determines the target speed of the UAV based on the angle between the total force vector and the target route and coordinates the target force to control the flight, thereby making the control of the UAV more stable, reducing the deviation, and improving the mission completion rate when flying at high altitude in mountainous areas. Attached Figure Description
[0051] To more clearly illustrate the technical solutions and advantages in the embodiments of this application 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 this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0052] Figure 1 This is a schematic diagram of the structure of an attitude stabilization control system for a drone in a mountainous high-altitude environment, as shown in one embodiment.
[0053] Figure 2 This is a flowchart of an attitude stabilization control method for a drone in a mountainous high-altitude environment, as described in one embodiment.
[0054] Figure 3 This is a schematic diagram of the structure of an electronic device in one embodiment. Detailed Implementation
[0055] To further illustrate the technical means and effects adopted by this application to achieve the intended purpose of the invention, the following, in conjunction with the accompanying drawings and preferred embodiments, details the specific implementation, structure, features, and effects of a drone attitude stabilization control system for high-altitude mountainous environments proposed in this application. In the following description, different "one embodiment" or "another embodiment" do not necessarily refer to the same embodiment. Furthermore, specific features, structures, or characteristics in one or more embodiments can be combined in any suitable form.
[0056] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains.
[0057] The following, with reference to the accompanying drawings, details a specific scheme for an attitude stabilization control system for unmanned aerial vehicles (UAVs) in a mountainous, high-altitude environment, as provided in this application. For example... Figure 1 As shown, the system includes:
[0058] The filtering module 11 is used to obtain the matching coefficient of the candidate route based on the distance required for the UAV to merge into the preset route along each candidate route, the wind force and wind direction information on the candidate route, the remaining battery power and the remaining flight distance of the UAV, and to filter the target route from multiple candidate routes based on the matching coefficient so that the UAV flies along the target route.
[0059] Among them, multiple candidate routes are determined based on the offset distance between the current position of the drone and the preset route, which is the flight path of the drone that has been set in advance.
[0060] When a drone deviates from its trajectory, its current position and the offset distance between its current position and the preset flight path can be obtained through GNSS (Global Navigation Satellite System). The offset distance indicates the shortest spatial distance, or vertical distance, between the drone's current position and the preset flight path.
[0061] In one embodiment, the filtering module is further configured to:
[0062] Based on the drone's current position and the offset distance between the current position and the preset flight path, through The search algorithm generates multiple candidate routes, each of which includes multiple planning points with equal intervals.
[0063] Obtain wind direction information for each planning point on each candidate route. If the angle between the wind direction at each planning point on the candidate route and the flight direction of the UAV at that planning point is less than a preset angle, the planning point is determined as a downwind planning point.
[0064] The tailwind coefficient of a candidate route is determined by the ratio of the number of tailwind planning points on each candidate route to the number of multiple planning points on that candidate route, and the average wind force of multiple tailwind planning points on that candidate route.
[0065] Based on the tailwind coefficient of each candidate route, the distance required for the drone to merge into the preset route along the candidate route, the remaining battery power of the drone, and the remaining flight distance of the drone, the matching coefficient of the candidate route is obtained. Based on the matching coefficient, the target route is selected from multiple candidate routes so that the drone flies along the target route until it merges into the preset route.
[0066] The preset angle can be set according to the actual situation, for example, 60°.
[0067] First, based on the drone's current position and the offset distance between the current position and the preset flight path, ... The search algorithm generates multiple candidate flight paths, each containing multiple equally spaced planning points. Then, the wind direction information for each planning point on the m-th candidate flight path is obtained. The angle between the UAV's flight direction at each planning point on the m-th candidate flight path and the wind direction at that point is determined. If the angle is less than 60°, the planning point is designated as a downwind planning point. The number of downwind planning points on the m-th candidate flight path is calculated. The number of multiple planning points on the m-th candidate route ratio ,when The larger the value, and the average wind force at multiple tailwind planning points on the m-th candidate route. The larger the value, the more favorable the wind direction for the drone's movement along the candidate route, and the more energy-efficient it is. Therefore, the tailwind coefficient for the m-th candidate route can be obtained. .
[0068] In one embodiment, the filtering module is further configured to:
[0069] The endurance pressure coefficient of the drone along each candidate route is determined by the ratio of the drone's remaining flight distance along each candidate route to the drone's remaining battery power at the current moment.
[0070] The matching coefficient of a candidate route is obtained by multiplying the endurance pressure coefficient of the UAV along each candidate route by the distance required for the UAV to merge into the preset route along the candidate route, and the tailwind coefficient of the candidate route.
[0071] From multiple candidate routes, the candidate route with the highest matching coefficient is determined as the target route, so that the UAV flies along the target route until it merges into the preset route.
[0072] Get the remaining battery power of the drone at the current time t. and the remaining flight distance of the drone along each candidate flight path. When the remaining power Smaller, and the remaining flight distance of the drone along each candidate flight path. The larger the value, the lower the tolerance for unnecessary power consumption. From this, we can obtain the endurance pressure coefficient of the drone at time t flying along each candidate flight path. The calculation formula is: .
[0073] Therefore, the matching coefficient of the m-th candidate route can be obtained when the UAV yaws at the current time t. , The calculation formula is: ,in, To determine the distance required for the UAV to merge from its current position i into the preset route along each candidate route, a matching coefficient is calculated for all candidate routes. The candidate route with the highest matching coefficient is then taken as the target route, which is the planned route for the current UAV to return to the preset route.
[0074] When the drone's endurance pressure coefficient is at the current time t The smaller the value, the greater the distance required for the drone to merge from its current position i along the m-th candidate route into the preset route. The smaller the value, the better the tailwind coefficient of the drone in the m-th candidate route. The larger the value, the less power is consumed when the m-th candidate route reaches the preset route, and the better it can meet the requirement of less unnecessary power consumption tolerance, so that less power is consumed in this flight and the route can be successfully completed.
[0075] The calculation module 12 is used to calculate the reverse compensation force corresponding to the multiple force application directions at the current moment based on the force intensity of the UAV in multiple force application directions during the first historical period.
[0076] The first historical time period can be set according to the actual situation, for example, 5 minutes.
[0077] Multiple force application directions can be six force application directions. The six force application directions can be forward force, backward force, left force, right force, upward force, and downward force in the body coordinate system, corresponding to the forces in the six degrees of freedom directions of the positive X-axis, negative X-axis, positive Y-axis, negative Y-axis, positive Z-axis, and negative Z-axis, respectively.
[0078] The force intensity of the drone in multiple force directions at each moment can be obtained by the following steps: The acceleration residual is obtained by comparing the drone acceleration measured by the IMU (Inertial Measurement Unit) at each moment with the theoretical acceleration in windless conditions calculated by the flight control model based on the throttle command. Multiplying this acceleration residual by the drone's mass yields the force intensity of the drone in multiple force directions at each moment.
[0079] In one embodiment, the computing module is further configured to:
[0080] Obtain the force intensity of the drone in multiple force application directions at each moment within the first historical time period;
[0081] For the same direction of force application, calculate the difference in force intensity at each adjacent moment in that direction of force application, and determine the force intensity difference that is less than the preset difference as the downwind difference;
[0082] The ratio of the number of multiple downwind differences in each direction of force application to the number of multiple force intensity differences in that direction of force application is used to obtain the downwind ratio value for that direction of force application.
[0083] For the same direction of force application, the difference between the force intensity at the beginning and the force intensity at the end of the first historical period is calculated to obtain the wind force difference value in that direction of force application.
[0084] Based on the downwind ratio and the wind force difference in each applied force direction, calculate the reverse compensation force corresponding to multiple applied force directions at the current moment.
[0085] The preset difference can be set according to the actual situation, for example, 0.
[0086] Obtain the force intensity of the drone in multiple force directions at each time point within the 5 minutes preceding the current time t during drone flight, and calculate the difference in force intensity in the a-th force direction at time point k-1 and time point k. ,when <0, then the Determining the downwind difference as the value of the force applied, calculate the number of multiple downwind differences in the a-th force application direction. The number of force intensity differences between the a-th force application direction and the multiple force intensity differences ratio The downwind ratio for the a-th force application direction is obtained. The force intensity at the start time within the first historical time period is calculated. Force intensity at the end of the first historical period The difference is used to obtain the wind force difference in the direction of the a-th applied force. .
[0087] When the proportion The larger the value, the greater the wind force difference. The smaller the value, the greater the force intensity in the a-th direction of the applied force at time t. As the force increases, the wind force experienced by the drone in the direction of force application becomes greater. To maintain the drone's flight balance in the future, the drone should apply a greater force in the opposite direction of force application.
[0088] In one embodiment, the computing module is further configured to:
[0089] Based on the ratio of the force intensity of the drone in each direction of force application to the wind force difference in that direction of force application, and the downwind ratio in that direction of force application, determine the reverse compensation coefficient corresponding to that direction of force application at the current moment.
[0090] The reverse compensation force corresponding to the applied force direction is determined based on the product of the force intensity and the compensation value of the UAV in each applied force direction at the current moment; the compensation value is the sum of the reverse compensation coefficient and a preset value.
[0091] The preset value can be set according to the actual situation, for example, 1.
[0092] The degree of force applied in the opposite direction to the force applied at time t (a-th time). for: Using maximum-minimum normalization to determine the degree of force applied After normalization, the reverse compensation coefficient in the a-th force application direction at time t is obtained. Reverse compensation coefficient The value range is [-0.5, 0.5].
[0093] when The larger the value, the greater the force intensity in the direction of the a-th applied force at the current time t. Based on this, the force applied by the UAV in the opposite direction to the a-th force application direction at time t should be greater. Therefore, the additional counter-compensation force applied by the UAV in the opposite direction to the a-th force application direction at time t to maintain balance can be obtained. Reverse compensating force The calculation formula is: This method is used to predict future wind conditions for drones flying at high altitudes in mountainous areas, preventing sudden changes in wind force from affecting their flight paths.
[0094] The determination module 13 is used to determine the target force of each motor of the drone at the current moment based on the wind force at the current position, the distance between the current position and each obstacle, the frequency of the drone's deviation when the distance between the drone and the obstacle is less than a preset distance during the second historical period, and the reverse compensation force.
[0095] Each obstacle is located within a preset range centered on the drone's current position. The preset range can be set according to the actual situation, for example, 2m.
[0096] The second historical period can be set according to the actual situation, for example, half a year.
[0097] The preset distance can be set according to the actual situation, for example, 1.5m.
[0098] In one embodiment, the determining module is further configured to:
[0099] Acquire multiple obstacles within a preset range centered on the drone's current location;
[0100] The influence coefficient of the drone on the obstacle is determined by multiplying the frequency of drone deviation when the distance between the drone and each obstacle is less than the preset distance during the second historical period with the wind force at the current location.
[0101] The reverse drag force of the drone at the current moment corresponding to the local wind direction of the obstacle is determined by multiplying the distance between the drone's current position and each obstacle by the influence coefficient of the drone on the obstacle; the local wind direction of each obstacle is obtained according to the preset obstacle turbulence table.
[0102] Based on the reverse drag force of the UAV corresponding to the local wind direction of each obstacle at the current moment, and the reverse compensation force, the target force applied by each motor of the UAV at the current moment is determined.
[0103] Obtain multiple obstacles within a preset range of the drone at its current position at time t, and count the number of times the drone deviates when the distance between the drone and each obstacle is less than a preset distance during the second historical time period. This refers to the number of times the drone's position shifts due to the appearance of the vth obstacle at its current location, and then calculating the frequency of the drone shifting when the distance between the drone and the vth obstacle is less than a preset distance. , This represents the number of times the distance between the drone and the v-th obstacle is less than a preset distance. The wind force at the drone's current location at time t is also a factor. The larger the value, the higher the frequency of positional shift. The larger the value, the greater the impact of the v-th obstacle on the drone's flight near this location, and the more likely it is to cause the drone to lose balance. Therefore, the influence coefficient of the v-th obstacle on the drone at this location can be obtained. .
[0104] Get the closest distance between the drone and the vth obstacle at the current time t. When the drone is closest to the vth obstacle The closer the drone is, the greater the influence coefficient of the v-th obstacle. The larger the obstacle, the more easily the drone becomes unbalanced due to wind changes caused by the obstacle. Therefore, a greater force should be applied to the drone in the opposite direction of the local wind induced by the obstacle. The local wind direction of each obstacle can be obtained by querying a pre-generated obstacle disturbance table. This table is a pre-generated offline database that stores the local disturbance velocity vectors at various points in the space surrounding the obstacle under specific incoming flow conditions. This table is constructed using CFD (Computational Fluid Dynamics) numerical simulations or measured wind field data, providing the drone with real-time obstacle-induced wind field information. This allows the drone to accurately predict and compensate for local wind disturbances caused by obstacles, thereby improving flight stability and path-tracking accuracy in complex terrain.
[0105] This allows us to determine the additional force exerted by the drone at time t in the opposite direction of the local wind direction caused by the v-th obstacle. Additional force applied The calculation formula is: Using max-min normalization pairs Normalization is performed to obtain the normalized additional force level. The range of additional force applied is [-0.5, 0.5].
[0106] when The larger the wind speed, the greater the force exerted by the drone in direction p must be compared to the recorded wind speed at its current location in order to maintain balance. Therefore, the reverse drag force of the drone in direction p at time t can be obtained. : .
[0107] In one embodiment, the determining module is further configured to:
[0108] The reverse drag force is vector-decomposed in multiple force application directions to obtain the reverse drag force components in multiple force application directions;
[0109] The target compensation force is obtained by calculating the vector sum of the reverse drag force components in multiple applied force directions and the reverse compensation force in multiple applied force directions.
[0110] The target compensation force is decomposed into the control direction of each motor of the UAV to obtain the target force applied by each motor.
[0111] Reverse drag force The system decomposes the force into multiple force directions, using these directions as vector components and the magnitude of the decomposed drag force as the vector magnitude, to obtain the reverse drag force components in each force direction. These reverse drag force components are then added to the reverse compensation forces in each force direction to obtain the compensation force for each force direction. Finally, the compensation forces in multiple force directions are vector-summed to obtain the target compensation force. The target compensation force is then input into a preset control matrix and mapped to the propeller shaft thrust direction of the four motors in one step through a generalized inverse operation, yielding the target thrust value that each motor needs to increase or decrease in real time, i.e., the target force applied to each motor.
[0112] The control module 14 is used to determine the target speed of the UAV based on the angle between the total force vector of the UAV at each position on the target flight path and the target flight path, and to control the UAV to fly at the target speed based on the target force.
[0113] The angle between the total force vector of the UAV at each position on the target flight path and the target flight path: The angle between the total force vector of the UAV at each position on the target flight path and the flight direction of the UAV at that position on the target flight path. The total force vector at each position is obtained according to the following steps: obtain multiple wind directions and corresponding wind forces at each position on the target flight path, multiply the unit vector of each wind direction at each position by the corresponding wind force to obtain multiple wind force vectors at each position, and determine the total force vector of the UAV at each position on the target flight path based on the vector sum of the multiple wind force vectors at each position.
[0114] In one embodiment, the control module is further configured to:
[0115] Obtain multiple wind directions and corresponding wind forces at each location along the target flight path;
[0116] Multiply the unit vector of each wind direction at each location by the corresponding wind force to obtain multiple wind force vectors at each location;
[0117] The total force vector of the UAV at each position along the target flight path is determined by the vector sum of multiple wind force vectors at each position.
[0118] Calculate the angle between the total force vector of the UAV at each position on the target flight path and the flight direction at that position on the target flight path, obtain the angle corresponding to each position, and determine the smallest angle as the target angle;
[0119] The velocity attenuation coefficient of the UAV is determined based on the difference between the included angle and the target angle at each position, and the total force vector of the UAV at that position.
[0120] Based on the drone's speed decay coefficient and preset flight speed, the target speed of the drone is determined, and the drone is controlled to fly at the target speed by applying force according to the target.
[0121] Obtain multiple wind directions and corresponding wind forces at each location along the target flight path. Multiply the unit vector of each wind direction at each location by the corresponding wind force to obtain multiple wind force vectors at each location. Based on the vector sum of the multiple wind force vectors at each location, determine the total force vector acting on the UAV at time t when it reaches each location along the target flight path. Calculate the angle between the total force vector acting on the UAV at each position along the target flight path and the flight direction at that position, obtaining the angle at time t. The smallest included angle is determined as the target included angle. The angle at time t Angle with target The difference The smaller the value, the smaller the total force vector of the drone. The larger the drone, the more tailwind it has, and for safety reasons, the lower its flight speed should be.
[0122] Therefore, the velocity decay coefficient of the UAV at time t can be obtained. , The calculation formula is: Using max-min normalization pairs Normalization is performed to obtain the normalized velocity decay coefficient. Its range is [0, 0.5].
[0123] In one embodiment, the control module is further configured to:
[0124] The target speed of the drone is determined by multiplying the preset flight speed of the drone by the attenuation value, and the drone is controlled to fly at the target speed by applying force according to the target; the attenuation value indicates the difference between the preset value and the speed attenuation coefficient of the drone.
[0125] A higher velocity decay coefficient corresponds to a lower UAV flight speed. Therefore, the target speed of the UAV at time t can be obtained. The formula for calculating the target rate is: S represents the preset flight speed, which can be set to 100 m / s. This allows us to determine the required flight speed for the drone at different times, preventing flight path deviations or even crashes caused by high-speed flight with high thrust.
[0126] In one embodiment, the control module is further configured to:
[0127] The target force applied by each motor and the target speed of the UAV are input to the PID controller so that the PID controller outputs the corresponding control quantity of the UAV.
[0128] The corresponding control quantity is input to the mixer so that the mixer can calculate the PWM duty cycle signal of each motor based on the control quantity.
[0129] The PWM duty cycle signal is output to the ESC to drive each motor to generate the required pull force and torque, so that the UAV flies along the target route at the target speed.
[0130] The above steps are used to obtain the target speed of the UAV at different times and the target force applied by different motors. A PID controller (Proportional-Integral-Derivative Controller) is used to calculate how to adjust the motors to reach the target state most quickly and smoothly, obtaining the corresponding control quantities such as throttle, pitch, roll, and yaw.
[0131] The corresponding control input is fed into the mixer to calculate the PWM (Pulse Width Modulation) signal for each motor. The PWM duty cycle signal is then output to the electronic speed controller (ESC), which precisely controls the motor to reach the specified speed, thereby generating the required pull force and torque, enabling the UAV to fly along the target route at the target speed.
[0132] This application uses a screening module to plan the flight route based on the UAV's yaw distance, candidate route wind force and direction information, remaining battery power, and remaining flight distance. A calculation module predicts future forces based on the force intensity variation patterns of multiple force directions within the first historical period and generates a reverse compensation force. A determination module adjusts the target force of each motor in real time based on the distance between the current position and obstacles, the frequency of obstacle influence, and the reverse compensation force. A control module determines the UAV's target speed based on the angle between the total force vector and the target route and coordinates the target force to control flight. This results in more stable control, reduced deviation, and improved mission completion rate of the UAV when flying at high altitudes in mountainous areas.
[0133] For the system embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The system embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components 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 modules can be selected to achieve the purpose of this application according to actual needs.
[0134] This application also provides a method for attitude stabilization control of unmanned aerial vehicles (UAVs) in high-altitude mountainous environments, such as... Figure 2 As shown, the method includes:
[0135] S21. Based on the distance required for the UAV to merge into the preset route along each candidate route, the wind force and wind direction information on the candidate route, the remaining battery power and remaining flight distance of the UAV, obtain the matching coefficient of the candidate route, and select the target route from multiple candidate routes according to the matching coefficient so that the UAV flies along the target route; multiple candidate routes are determined according to the offset distance between the current position of the UAV and the preset route.
[0136] S22. Based on the force intensity of the UAV in multiple force application directions during the first historical period, calculate the reverse compensation force corresponding to the multiple force application directions at the current moment.
[0137] S23. Based on the wind force at the current location, the distance between the current location and each obstacle, the frequency at which the drone deviates when the distance between the drone and the obstacle is less than a preset distance during the second historical period, and the reverse compensation force, determine the target force applied by each motor of the drone at the current moment; each obstacle is located within a preset range centered on the current location of the drone.
[0138] S24. Determine the target speed of the UAV based on the angle between the total force vector of the UAV at each position on the target flight path and the target flight path, and control the UAV to fly at the target speed according to the target force.
[0139] It should be understood that, although Figure 2 The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figure 2 At least some of the steps in the process may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least some of the sub-steps or stages of other steps.
[0140] Figure 3 This is a schematic diagram of the structure of an electronic device according to an example embodiment of this application. The electronic device includes a memory, a processor, and a computer program stored in the memory and used to run on the processor. When the processor executes the computer program, it implements the method described in any of the above embodiments. Figure 3 The electronic device 30 shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.
[0141] like Figure 3As shown, the electronic device 30 can be manifested as a general-purpose computing device, such as a server device. The components of the electronic device 30 may include, but are not limited to: at least one processor 31, at least one memory 32, and a bus 33 connecting different system components (including memory 32 and processor 31).
[0142] Bus 33 includes a data bus, an address bus, and a control bus.
[0143] The memory 32 may include volatile memory, such as random access memory (RAM) 321 and / or cache memory 322, and may further include read-only memory (ROM) 323.
[0144] The memory 32 may also include a program tool 325 (or utility) having a set (at least one) program module 324, such program module 324 including but not limited to: an operating system, one or more application programs, other program modules and program data, each or some combination of these examples may include an implementation of a network environment.
[0145] The processor 31 executes various functional applications and data processing, such as the methods provided in any of the above embodiments, by running computer programs stored in the memory 32.
[0146] Electronic device 30 can also communicate with one or more external devices 34 (e.g., keyboard, pointing device, etc.). This communication can be performed via input / output (I / O) interface 35. Furthermore, electronic device 30 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public network, such as the Internet) via network adapter 36. As shown, network adapter 36 communicates with other modules of electronic device 30 via bus 33. It should be understood that, although not shown in the figure, other hardware and / or software modules can be used in conjunction with electronic device 30, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID (disk array) systems, tape drives, and data backup storage systems.
[0147] It should be noted that although several units / modules or sub-units / modules of the electronic device have been mentioned in the detailed description above, this division is merely exemplary and not mandatory. In fact, according to the embodiments of this application, the features and functions of two or more units / modules described above can be embodied in one unit / module. Conversely, the features and functions of one unit / module described above can be further divided and embodied by multiple units / modules.
[0148] This application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method provided in any of the above embodiments.
[0149] The readable storage medium may be more specifically adopted, including but not limited to: portable disk, hard disk, random access memory, read-only memory, erasable programmable read-only memory, optical storage device, magnetic storage device, or any suitable combination thereof.
[0150] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
[0151] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the method described in any of the above embodiments.
[0152] The program code for executing the computer program product of this application can be written in any combination of one or more programming languages. The program code can be executed entirely on the user device, partially on the user device, as a standalone software package, partially on the user device and partially on a remote device, or entirely on a remote device.
[0153] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0154] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of the application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these modifications and improvements all fall within the protection scope of this application.
[0155] The various embodiments in this specification are described in a progressive manner. The same or similar parts between the various embodiments can be referred to each other. Each embodiment focuses on describing the differences from other embodiments.
Claims
1. A drone attitude stabilization control system for high-altitude mountainous environments, characterized in that, The system includes: The filtering module is used to obtain the matching coefficient of the candidate route based on the distance required for the UAV to merge into the preset route along each candidate route, the wind force and wind direction information on the candidate route, the remaining battery power and the remaining flight distance of the UAV, and to filter the target route from multiple candidate routes based on the matching coefficient so that the UAV flies along the target route; multiple candidate routes are determined based on the offset distance between the current position of the UAV and the preset route. The calculation module is used to calculate the reverse compensation force corresponding to the multiple force application directions at the current moment based on the force intensity of the UAV in multiple force application directions during the first historical period. The determination module is used to determine the target force of each motor of the drone at the current moment based on the wind force at the current location, the distance between the current location and each obstacle, the frequency of drone deviation when the distance between the drone and the obstacle is less than a preset distance during the second historical period, and the reverse compensation force; each obstacle is located within a preset range centered on the current location of the drone. The control module is used to determine the target speed of the UAV based on the angle between the total force vector of the UAV at each position on the target flight path and the flight direction at that position on the target flight path, and to control the UAV to fly at the target speed based on the target force.
2. The attitude stabilization control system for unmanned aerial vehicles in a high-altitude mountainous environment as described in claim 1, characterized in that, The filtering module is also used for: Based on the drone's current position and the offset distance between the current position and the preset flight path, through The search algorithm generates multiple candidate routes, each of which includes multiple planning points with equal intervals. Obtain wind direction information for each planning point on each candidate route. If the angle between the wind direction at each planning point on the candidate route and the flight direction of the UAV at that planning point is less than a preset angle, the planning point is determined as a downwind planning point. The tailwind coefficient of a candidate route is determined by the ratio of the number of tailwind planning points on each candidate route to the number of multiple planning points on that candidate route, and the average wind force of multiple tailwind planning points on that candidate route. Based on the tailwind coefficient of each candidate route, the distance required for the drone to merge into the preset route along the candidate route, the remaining battery power of the drone, and the remaining flight distance of the drone, the matching coefficient of the candidate route is obtained. Based on the matching coefficient, the target route is selected from multiple candidate routes so that the drone flies along the target route until it merges into the preset route.
3. The attitude stabilization control system for unmanned aerial vehicles in a high-altitude mountainous environment as described in claim 2, characterized in that, The filtering module is also used for: The endurance pressure coefficient of the drone along each candidate route is determined by the ratio of the drone's remaining flight distance along each candidate route to the drone's remaining battery power at the current moment. The matching coefficient of a candidate route is obtained by multiplying the endurance pressure coefficient of the UAV along each candidate route by the distance required for the UAV to merge into the preset route along the candidate route, and the tailwind coefficient of the candidate route. From multiple candidate routes, the candidate route with the highest matching coefficient is determined as the target route, so that the UAV flies along the target route until it merges into the preset route.
4. The attitude stabilization control system for unmanned aerial vehicles in a high-altitude mountainous environment as described in claim 1, characterized in that, The computing module is also used for: Obtain the force intensity of the drone in multiple force application directions at each moment within the first historical time period; For the same direction of force application, calculate the difference in force intensity at each adjacent moment in that direction of force application, and determine the force intensity difference that is less than the preset difference as the downwind difference; The ratio of the number of multiple downwind differences in each direction of force application to the number of multiple force intensity differences in that direction of force application is used to obtain the downwind ratio value for that direction of force application. For the same direction of force application, the difference between the force intensity at the beginning and the force intensity at the end of the first historical period is calculated to obtain the wind force difference value in that direction of force application. Based on the downwind ratio and the wind force difference in each applied force direction, calculate the reverse compensation force corresponding to multiple applied force directions at the current moment.
5. The attitude stabilization control system for unmanned aerial vehicles in a high-altitude mountainous environment as described in claim 4, characterized in that, The computing module is also used for: Based on the ratio of the force intensity of the drone in each direction of force application to the wind force difference in that direction of force application, and the downwind ratio in that direction of force application, determine the reverse compensation coefficient corresponding to that direction of force application at the current moment. The reverse compensation force corresponding to the applied force direction is determined based on the product of the force intensity and the compensation value of the UAV in each applied force direction at the current moment; the compensation value is the sum of the reverse compensation coefficient and a preset value.
6. The attitude stabilization control system for unmanned aerial vehicles in a high-altitude mountainous environment as described in claim 1, characterized in that, The determining module is also used for: Acquire multiple obstacles within a preset range centered on the drone's current location; The influence coefficient of the drone on the obstacle is determined by multiplying the frequency of drone deviation when the distance between the drone and each obstacle is less than the preset distance during the second historical period with the wind force at the current location. The reverse drag force of the drone at the current moment corresponding to the local wind direction of the obstacle is determined by multiplying the distance between the drone's current position and each obstacle by the influence coefficient of the drone on the obstacle; the local wind direction of each obstacle is obtained according to the preset obstacle turbulence table. Based on the reverse drag force of the UAV corresponding to the local wind direction of each obstacle at the current moment, and the reverse compensation force, the target force applied by each motor of the UAV at the current moment is determined.
7. The attitude stabilization control system for unmanned aerial vehicles in a high-altitude mountainous environment as described in claim 6, characterized in that, The determining module is also used for: The reverse drag force is vector-decomposed in multiple force application directions to obtain the reverse drag force components in multiple force application directions; The target compensation force is obtained by calculating the vector sum of the reverse drag force components in multiple applied force directions and the reverse compensation force in multiple applied force directions. The target compensation force is decomposed into the control direction of each motor of the UAV to obtain the target force applied by each motor.
8. The attitude stabilization control system for unmanned aerial vehicles in a high-altitude mountainous environment as described in claim 1, characterized in that, The control module is also used for: Obtain multiple wind directions and corresponding wind forces at each location along the target flight path; Multiply the unit vector of each wind direction at each location by the corresponding wind force to obtain multiple wind force vectors at each location; The total force vector of the UAV at each position along the target flight path is determined by the vector sum of multiple wind force vectors at each position. Calculate the angle between the total force vector of the UAV at each position on the target flight path and the flight direction at that position on the target flight path, obtain the angle corresponding to each position, and determine the smallest angle as the target angle; The velocity attenuation coefficient of the UAV is determined based on the difference between the included angle at each position and the included angle with the target, and the total force vector of the UAV at that position. Based on the drone's speed decay coefficient and preset flight speed, the target speed of the drone is determined, and the drone is controlled to fly at the target speed by applying force according to the target.
9. The attitude stabilization control system for unmanned aerial vehicles in a high-altitude mountainous environment as described in claim 8, characterized in that, The control module is also used for: The target speed of the drone is determined by multiplying the preset flight speed of the drone by the attenuation value, and the drone is controlled to fly at the target speed by applying force according to the target; the attenuation value indicates the difference between the preset value and the speed attenuation coefficient of the drone.
10. The attitude stabilization control system for unmanned aerial vehicles in a high-altitude mountainous environment as described in claim 1, characterized in that, The control module is also used for: The target force applied by each motor and the target speed of the UAV are input to the PID controller so that the PID controller outputs the corresponding control quantity of the UAV. The corresponding control quantity is input to the mixer so that the mixer can calculate the PWM duty cycle signal of each motor based on the control quantity. The PWM duty cycle signal is output to the ESC to drive each motor to generate the required pull force and torque, so that the UAV flies along the target route at the target speed.
Citation Information
Patent Citations
Unmanned aerial vehicle scheduling method and device between easily floating object and power transmission line
CN119088049A
Unmanned aerial vehicle two-dimensional plane wind disturbance resistance track correction method, device, equipment and medium
CN120578176A