Attitude calculation method for multi-rotor UAV flight controller

By obtaining the rotational speed and turbulence effect of the multi-rotor UAV rotor and adjusting the filtering margin, the problem of insufficient accuracy in attitude calculation of multi-rotor UAVs was solved, and higher precision attitude calculation was achieved.

CN121115832BActive Publication Date: 2026-03-13SHAANXI TIANXUAN AEROSPACE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-10-17
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

In the existing technology, the attitude calculation method of multi-rotor UAV flight controllers suffers from data distortion due to fixed margin filtering, resulting in poor attitude calculation accuracy.

Method used

By acquiring the rotational speed of each rotor of a multi-rotor UAV, determining the fundamental frequency and the influence of turbulence effects, adjusting the margin in conjunction with dynamic fluctuation indicators, and using a band-stop filter to filter the accelerometer and gyroscope data, attitude calculation is performed.

Benefits of technology

It improves the accuracy of attitude calculation for multi-rotor UAV flight controllers, enhances the rationality of data filtering, and improves the precision of attitude calculation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121115832B_ABST
    Figure CN121115832B_ABST
Patent Text Reader

Abstract

This invention relates to the field of attitude calculation technology, specifically to an attitude calculation method for a multi-rotor unmanned aerial vehicle (UAV) flight controller. The method includes: acquiring the rotational speed of each target rotor of the target UAV at each target time, and determining the fundamental frequency, turbulence effect value, and dynamic fluctuation index of each target rotor at each target time; adjusting a preset margin to obtain the target margin of each target rotor at each target time; and, based on the fundamental frequency and target margin of each target rotor at each target time, performing band-stop filtering on the accelerometer and gyroscope data collected by each target rotor at each target time, and performing attitude calculation based on the band-stop filtered data. This invention improves the rationality of data filtering and denoising by adaptively adjusting the preset margin, and enhances the accuracy of attitude calculation for the multi-rotor UAV flight controller.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of attitude calculation technology, and more specifically to an attitude calculation method for a multi-rotor unmanned aerial vehicle (UAV) flight controller. Background Technology

[0002] The flight controller is the core system for an unmanned aerial vehicle (UAV) to complete the entire flight process, including takeoff, flight, mission execution, and return to base. A flight controller generally consists of three main parts: sensors, an onboard computer, and servo actuators. Its functions primarily fall into three categories: UAV attitude stabilization and control, UAV mission equipment management, and emergency control.

[0003] Currently, mainstream methods for calculating the flight attitude of unmanned aerial vehicles (UAVs) generally employ multi-sensor data fusion combined with filtering algorithms. Due to manufacturing processes and the excitation from the engine and aerodynamic forces during flight, the data collected by gyroscopes and accelerometers in UAVs often contains noise. Therefore, filtering of the collected data is often necessary. Currently, the common method for filtering gyroscope and accelerometer data is to use a band-stop filter, often setting a fixed margin for the band-stop filter based on manual experience.

[0004] However, when band-stop filtering is applied to data acquired by gyroscopes and accelerometers with a fixed margin, the following technical problems often arise:

[0005] In practice, different attitudes of multi-rotor drones often lead to different vibrations and motion noises. Fixed margins are often difficult to adapt to the dynamic noise changes during the movement of multi-rotor drones, resulting in data distortion after filtering and deviations in the attitude calculation results of the drone. Therefore, when band-stop filtering is applied to the data collected by gyroscopes and accelerometers with a fixed margin, the filtering and noise reduction are often not reasonable, resulting in poor accuracy of attitude calculation by the flight controller of multi-rotor drones. Summary of the Invention

[0006] To address the technical problem of poor accuracy in attitude calculation by multi-rotor UAV flight controllers due to inadequate filtering and noise reduction, this invention proposes an attitude calculation method for multi-rotor UAV flight controllers.

[0007] In a first aspect, the present invention provides an attitude calculation method for a multi-rotor unmanned aerial vehicle (UAV) flight controller, the method comprising:

[0008] Obtain the rotational speed of each target rotor of the target multi-rotor UAV at each target time, and determine the fundamental frequency of each target rotor at each target time based on the rotational speed of each target rotor at each target time;

[0009] Based on the positional distribution of the center point of the target multi-rotor UAV and each target rotor, as well as the rotational speed of each target rotor at each target time, the turbulence effect influence value of each target rotor at each target time is determined.

[0010] Based on the changes in rotational speed and lift of each target rotor at each target time, determine the dynamic fluctuation index of each target rotor at each target time.

[0011] Based on the turbulence effect and dynamic fluctuation index of each target rotor at each target time, the preset margin is adjusted to obtain the target margin of each target rotor at each target time.

[0012] Based on the fundamental frequency and target margin of each target rotor at each target time, the accelerometer data and gyroscope data collected by each target rotor at each target time are band-stop filtered, and the attitude is calculated based on the band-stop filtered data.

[0013] In conjunction with the first aspect above, in one possible implementation, determining the turbulence effect influence value of each target rotor at each target time based on the positional distribution between the center point of the target multi-rotor UAV and each target rotor, and the rotational speed of each target rotor at each target time, includes:

[0014] Based on the center point of the target multi-rotor UAV and the center point of each target rotor, construct the target position vector corresponding to each target rotor;

[0015] Based on the target position vector corresponding to each target rotor and the rotational speed of each target rotor at each target time, determine the lift representative vector of each target rotor at each target time;

[0016] The sum of the lift vectors of all target rotors at the same target moment is determined as the resultant lift vector of the target multi-rotor UAV at that target moment;

[0017] Normalize the magnitude of the resultant force representing the lift at each target time to obtain the rotational speed non-uniformity at each target time.

[0018] The angle between the lift vector of each target rotor at each target time and the resultant lift force at that target time is determined as the target angle for each target rotor at each target time.

[0019] Based on the target angle of each target rotor at each target time and the non-uniformity of the rotational speed at that target time, the turbulence effect value of each target rotor at each target time is determined.

[0020] In conjunction with the first aspect above, in one possible implementation, determining the lift representative vector of each target rotor at each target time based on the target position vector corresponding to each target rotor and the rotational speed of each target rotor at each target time includes:

[0021] The product of the rotational speed of each target rotor at each target time and its corresponding target position vector is used to determine the lift vector of each target rotor at each target time.

[0022] In conjunction with the first aspect above, in one possible implementation, determining the dynamic fluctuation index of each target rotor at each target time based on the changes in rotational speed and lift of each target rotor at each target time includes:

[0023] Construct a preset historical time period corresponding to each target time;

[0024] Obtain the rotational speed of each target rotor at different times within a preset historical time period corresponding to each target time.

[0025] Obtain the representative resultant force of the lift of the target multirotor UAV at different times within a preset historical time period corresponding to each target time.

[0026] Based on the rotational speed of each target rotor at different times within a preset historical time period corresponding to each target time, determine the rate of change of rotational speed of each target rotor at each target time.

[0027] Based on the lift representative resultant force of the target multirotor UAV at different times within a preset historical time period corresponding to each target time, determine the rate of change of the lift resultant force at each target time.

[0028] Based on the rate of change of the resultant lift force at each target moment and the rate of change of the rotational speed of each target rotor at each target moment, the dynamic fluctuation index of each target rotor at each target moment is determined.

[0029] In conjunction with the first aspect above, in one possible implementation, constructing the preset historical time period corresponding to each target time includes:

[0030] Any target time is designated as the marker time, and the preset historical time period corresponding to the marker time is constructed with the marker time as the end target time.

[0031] In conjunction with the first aspect above, in one possible implementation, determining the rate of change of rotational speed of each target rotor at each target time based on the rotational speed of each target rotor at different times within a preset historical time period corresponding to each target time includes:

[0032] The rotational speeds of each target rotor within a preset historical time period corresponding to each target time are used to form a rotational speed sequence of each target rotor at each target time.

[0033] The rate of change of rotational speed of each target rotor at each target time is determined by the absolute value of the difference between adjacent rotational speeds in the rotational speed sequence of each target rotor at each target time.

[0034] In conjunction with the first aspect above, in one possible implementation, determining the rate of change of the resultant lift force at each target moment based on the resultant lift force at different times within a preset historical time period corresponding to each target moment of the target multi-rotor UAV includes:

[0035] The resultant lift force of the target multirotor UAV within a preset historical time period corresponding to each target moment is used to construct a sequence of resultant lift forces at each target moment.

[0036] The rate of change of the resultant lift force at each target time is determined by the absolute value of the difference between the moduli of adjacent resultant lift forces in the resultant lift force sequence at each target time.

[0037] In conjunction with the first aspect above, in one possible implementation, determining the dynamic fluctuation index of each target rotor at each target time based on the rate of change of the resultant lift force at each target time and the rate of change of the rotational speed of each target rotor at each target time includes:

[0038] Normalize the product between the rate of change of rotational speed of each target rotor at each target time and the rate of change of the resultant lift force at the same target time to obtain the dynamic fluctuation index of each target rotor at each target time.

[0039] In conjunction with the first aspect above, in one possible implementation, adjusting the preset margin based on the turbulence effect influence value and dynamic fluctuation index of each target rotor at each target time to obtain the target margin of each target rotor at each target time includes:

[0040] Based on the turbulence effect and dynamic fluctuation index of each target rotor at each target time, determine the target weight of each target rotor at each target time.

[0041] The target margin for each target rotor at each target time is determined by multiplying the target weight of each target rotor at each target time with the preset margin.

[0042] In conjunction with the first aspect above, in one possible implementation, the step of performing band-stop filtering on the accelerometer data and gyroscope data collected by each target rotor at each target time, based on the fundamental frequency and target margin of each target rotor at each target time, includes:

[0043] Any target rotor is designated as the marker rotor, and the band-stop filter that performs band-stop filtering on the accelerometer data and gyroscope data collected from the marker rotor at different target times is designated as the marker band-stop filter.

[0044] Any target time is defined as the mark time. When the accelerometer data and gyroscope data collected by the mark rotor at the mark time are band-stop filtered by the mark band-stop filter, the fundamental frequency and margin of the mark band-stop filter are set as the fundamental frequency and target margin of the mark rotor at the mark time, respectively.

[0045] Secondly, the present invention provides an attitude calculation system for a multi-rotor unmanned aerial vehicle (UAV) flight controller, the system comprising:

[0046] The acquisition and determination module is used to acquire the rotational speed of each target rotor of the target multi-rotor UAV at each target time, and determine the fundamental frequency of each target rotor at each target time based on the rotational speed of each target rotor at each target time;

[0047] The turbulence effect influence value determination module is used to determine the turbulence effect influence value of each target rotor at each target time based on the positional distribution between the center point of the target multi-rotor UAV and each target rotor, as well as the rotational speed of each target rotor at each target time.

[0048] The dynamic fluctuation index determination module is used to determine the dynamic fluctuation index of each target rotor at each target time based on the changes in rotational speed and lift of each target rotor at each target time.

[0049] The margin adjustment module is used to adjust the preset margin based on the turbulence effect and dynamic fluctuation index of each target rotor at each target time, so as to obtain the target margin of each target rotor at each target time.

[0050] The filtering and attitude calculation module is used to perform band-stop filtering on the accelerometer and gyroscope data collected by each target rotor at each target time, based on the fundamental frequency and target margin of each target rotor at each target time, and to perform attitude calculation based on the band-stop filtered data.

[0051] Thirdly, a server is provided, including a memory and a processor. The memory is used to store executable program code, and the processor is used to call and run the executable program code from the memory, causing the device to perform the methods of the first aspect or any possible implementation thereof.

[0052] Fourthly, a computer program product is provided, comprising: computer program code, which, when run on a computer, causes the computer to perform the methods described in the first aspect or any possible implementation thereof.

[0053] Fifthly, a computer-readable storage medium is provided that stores computer program code, which, when executed on a computer, causes the computer to perform the methods described in the first aspect or any possible implementation thereof.

[0054] The present invention has the following beneficial effects:

[0055] The attitude calculation method for a multi-rotor UAV flight controller of the present invention solves the technical problem of poor accuracy in attitude calculation caused by poor rationality of filtering and denoising by adaptively adjusting the preset margin. This improves the rationality of data filtering and denoising, and thus improves the accuracy of attitude calculation for the multi-rotor UAV flight controller. Specifically, the present invention quantifies the fundamental frequency of each target rotor at each target time based on the rotational speed of each target rotor at each target time, and comprehensively considers multiple features related to margin adjustment, such as the influence value of turbulence effect and dynamic fluctuation index, thereby adaptively quantifying the target margin of each target rotor at each target time. Based on the fundamental frequency and target margin of each target rotor at each target time, a band-stop filter is used to perform band-stop filtering on the accelerometer data and gyroscope data collected by each target rotor at each target time, improving the rationality of data filtering and denoising, and thus improving the accuracy of attitude calculation for the multi-rotor UAV flight controller. Attached Figure Description

[0056] To more clearly illustrate the technical solutions and advantages 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.

[0057] Figure 1 This is a flowchart of an attitude calculation method for a multi-rotor unmanned aerial vehicle (UAV) flight controller according to the present invention;

[0058] Figure 2 This is a schematic diagram of the composition structure of an attitude calculation system for a multi-rotor unmanned aerial vehicle (UAV) flight controller according to the present invention.

[0059] Figure 3 This is a schematic diagram of the structure of a computer device according to the present invention. Detailed Implementation

[0060] To further illustrate the technical means and effects adopted by the present invention to achieve its intended purpose, the specific implementation methods, structures, features, and effects of the technical solution proposed according to the present invention are described in detail below with reference to the accompanying drawings and preferred embodiments. 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.

[0061] 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 invention pertains.

[0062] The flight controller is the core system for an unmanned aerial vehicle (UAV) to complete the entire flight process, including takeoff, flight, mission execution, and return to base. A flight controller generally consists of three main parts: sensors, an onboard computer, and servo actuators. Its functions primarily fall into three categories: UAV attitude stabilization and control, UAV mission equipment management, and emergency control.

[0063] High-precision inertial measurement units (IMUs) are typically used to detect an aircraft's attitude, acceleration, and angular velocity. Attitude calculation refers to the process of using data collected by attitude sensors such as gyroscopes, accelerometers, and magnetometers to mathematically calculate the aircraft's three attitude angles: pitch, yaw, and roll.

[0064] Due to the different principles and accuracies of various sensors, using only a single sensor often cannot accurately measure the three attitude angles of an aircraft. Therefore, it is often necessary to fuse data from multiple sensors. Furthermore, sensor data is susceptible to various noise interferences, requiring filtering and noise reduction of each sensor's data. Traditional fixed-margin band-stop filters are often unable to handle the different noises generated by the flexible flight attitude changes of multi-rotor UAVs during flight. Therefore, this invention proposes an attitude calculation method for a multi-rotor UAV flight controller.

[0065] refer to Figure 1 The flowchart illustrates an attitude calculation method for a multi-rotor unmanned aerial vehicle (UAV) flight controller according to the present invention. This attitude calculation method for the multi-rotor UAV flight controller includes the following steps:

[0066] Step S1: Obtain the rotational speed of each target rotor of the target multi-rotor UAV at each target time, and determine the fundamental frequency of each target rotor at each target time based on the rotational speed of each target rotor at each target time.

[0067] The target multi-rotor UAV can be any multi-rotor UAV whose attitude is to be calculated. A multi-rotor UAV is a special type of unmanned rotary-wing aircraft with three or more rotor axes. The target rotor can be the rotor mounted on the target multi-rotor UAV. A rotor, also known as a propeller, generates lift by cutting through the air at high speed, and is the physical basis for flight control of a multi-rotor UAV. The target time can be the moment during the attitude calculation process. The duration between adjacent target times can be 0.002 seconds. Rotational speed, also known as rotational speed, can be the frequency at which the rotor blades complete one full rotation per minute.

[0068] It should be noted that when calculating the flight attitude of a UAV, it is usually necessary to fuse sensor signals from gyroscopes and accelerometers to calculate the roll, pitch, and yaw angles, and finally correct the yaw angle using a magnetometer. Since the rotor vibrations of multi-rotor UAVs often affect the sensing parameters of gyroscopes and accelerometers, it is often necessary to filter and denoise the data collected by these devices. This can be achieved by acquiring the signals from the UAV's gyroscopes and accelerometers through the flight control chip.

[0069] Since the vibration of a drone during flight is often directly related to the operation of its multi-rotor, the rotational speed of each rotor can be obtained to facilitate subsequent filtering and noise reduction processing.

[0070] As an example, this step may include the following steps:

[0071] The first step is to obtain the rotational speed of each target rotor of the target multi-rotor UAV at each target time.

[0072] For example, the rotational speed of each target rotor can be obtained at each target time using an encoder or an electronically controlled PWM (Pulse Width Modulation) signal, and recorded as the rotational speed of each target rotor at each target time.

[0073] The second step is that the fundamental frequency vibration is often directly related to the rotor speed. Therefore, based on the rotational speed of the target rotor at different target times, the formula for determining the fundamental frequency of the target rotor at different target times can be:

[0074] ;

[0075] in, It is the fundamental frequency of the a-th target rotor at the b-th target time. 'a' is the rotor number of the target. 'b' is the sequence number of the different target times. It is the rotational speed of the rotor of the a-th target at the b-th target moment. This represents the number of blades in the rotor of the a-th target. The number of blades in rotors of different targets is often the same. The 60 in the text represents the number of seconds per minute.

[0076] It should be noted that the power system of a multi-rotor UAV includes a rotor and an electric motor, which often generate excitation vibrations. During rotor rotation, the periodic changes in aerodynamic forces often produce vibrations, the frequency of which is closely related to the rotational frequency of the electric motor. For example, periodic changes in aerodynamic forces can include blade vortex shedding. These vibrations are often transmitted to the fuselage, affecting the sensors mounted on the fuselage, leading to increased state estimation errors and impacting the accuracy and stability of flight control.

[0077] The flight attitude of a multi-rotor UAV is often achieved by changing the rotational speed distribution of the rotor. Specifically, the flight attitude of a multi-rotor UAV can be shown in Table 1:

[0078] Table 1

[0079]

[0080] For multi-rotor drones, each blade periodically passes through the same position when the rotor rotates, and is subjected to periodically changing aerodynamic forces. Therefore, the fundamental frequency vibration of the drone rotor is directly related to the rotor speed. First, the fundamental frequency of vibration is calculated by the rotor speed of the drone. The fundamental frequency can be blocked by a band-stop filter corresponding to the fundamental frequency, thereby reducing the vibration data.

[0081] Since the flight attitude change of a rotary-wing UAV is achieved through the speed distribution of the multi-rotor, the speed of different rotors often varies during flight. Different speeds often lead to different flight attitudes, resulting in changes in aerodynamic forces and vibration. Therefore, in a rotary-wing UAV, the fundamental frequency of the multi-rotor can be determined in real time based on the real-time speed of the multi-rotor.

[0082] When all rotors rotate at the same speed, their fundamental frequencies are often the same, resulting in a relatively concentrated vibration energy. However, when multiple rotors rotate at different speeds, their fundamental frequencies differ, often resulting in multiple fundamental frequencies and a more dispersed distribution of vibration energy. Therefore, the fundamental frequency of each rotor can be determined by its rotational speed.

[0083] Step S2: Based on the positional distribution between the center point of the target multi-rotor UAV and each target rotor, and the rotational speed of each target rotor at each target time, determine the turbulence effect value of each target rotor at each target time.

[0084] It should be noted that, in addition to the differences in fundamental frequency distribution caused by differences in rotational speed, the different rotational speed distributions are also related to the UAV's flight attitude. Taking forward flight as an example, when the UAV is flying forward, the rotational speed of the front rotor decreases while the rotational speed of the rear rotor increases, creating a pitching moment that tilts the fuselage forward. This adjustment reduces the lift at the front and increases the lift at the rear, thus achieving forward flight driven by the horizontal component of the thrust vector.

[0085] In the different distributions of multi-rotor rotation speeds in a drone, the lift generated by rotors at different speeds also varies accordingly. The direction of the resultant force providing lift from the multi-rotor is the direction of the drone's motion. During the drone's motion, rotors closer to the direction of motion tend to be closer to the windward side during flight, and their rotor vibration is more stable. For rotors farther away from the direction of the resultant lift force, they are more affected by airflow turbulence, and the airflow near their rotors is more chaotic, resulting in a wider frequency distribution of vibration data.

[0086] As an example, this step may include the following steps:

[0087] The first step is to construct the target position vector corresponding to each target rotor based on the center point of the target multi-rotor UAV and the center point of each target rotor.

[0088] The magnitude of the target position vector corresponding to the target rotor can be equal to the distance between the center point of the target multi-rotor UAV and the center point of the target rotor. The direction of the target position vector corresponding to the target rotor can be the direction from the center point of the target rotor to the center point of the target multi-rotor UAV.

[0089] The second step is to determine the lift vector of each target rotor at each target time based on the target position vector corresponding to each target rotor and the rotational speed of each target rotor at each target time.

[0090] For example, the product of the rotational speed of each target rotor at each target time and its corresponding target position vector can be used to determine the lift vector of each target rotor at each target time.

[0091] For example, the formula for determining the lift vector of the target rotor at different target times can be:

[0092] ;

[0093] in, This is the lift vector representing the a-th target rotor at the b-th target time. 'a' is the rotor number, and 'b' is the time number at each target time. It is the rotational speed of the rotor of the a-th target at the b-th target moment. It is the target position vector corresponding to the a-th target rotor.

[0094] It should be noted that, To a certain extent, it can characterize the lift of the rotor of the a-th target at the b-th target moment.

[0095] The third step is to determine the sum of the lift vectors of all target rotors at the same target time as the resultant lift vector of the aforementioned multi-rotor UAV at that target time.

[0096] For example, the formula for determining the resultant force corresponding to the lift of a target multi-rotor UAV at different target times can be:

[0097] ;

[0098] in, The resultant lift force represents the lift of the target multi-rotor UAV at the b-th target moment. b is the sequence number of the different target moments. N is the number of target rotors. a is the sequence number of the target rotors. It is the lift vector of the rotor of the a-th target at the b-th target time.

[0099] It should be noted that, To a certain extent, it can characterize the overall lift of the target multi-rotor UAV at the b-th target moment.

[0100] The fourth step is to normalize the magnitude of the resultant force representing the lift at each target time to obtain the rotational speed non-uniformity at each target time.

[0101] For example, the formula for determining the rotational speed non-uniformity at different target times can be:

[0102] ;

[0103] in, It represents the rotational speed non-uniformity at the b-th target time. b is the sequence number of the different target times. It is a normalization function. It is the modulo function. The lift of the target multi-rotor UAV at the b-th target moment represents the resultant force. 'a' is the serial number of the target rotor. yes The model.

[0104] It should be noted that when A larger value often indicates that the lift of the target multi-rotor UAV is relatively uneven, and the rotation speed of the target multi-rotor UAV is relatively uneven.

[0105] The fifth step is to determine the target angle for each target rotor at each target time by the angle between the lift vector representing the lift force at each target time and the resultant lift force representing the lift force at that target time.

[0106] For example, the formula for determining the target rotor's included angle at different target times can be:

[0107] ;

[0108] in, It is the target angle of the a-th target rotor at the b-th target time. 'a' is the rotor number of the target. 'b' is the sequence number of the different target times. It is an inverse cosine function. It is the lift vector of the rotor of the a-th target at the b-th target time. The lift of the target multi-rotor UAV at the b-th target moment represents the resultant force. It is the modulo function. yes The model. yes The model.

[0109] It should be noted that the further the drone's rotor is from the direction of the resultant force, the wider the frequency distribution of the vibration data tends to be. When The smaller the value, the more likely the lift and the resultant lift force of the a-th target rotor at the b-th target time are to be consistent. This also means that the position of the a-th target rotor is more likely to be far away from the direction of the resultant lift force. In this case, the a-th target rotor is more likely to be affected by the airflow turbulence effect.

[0110] The sixth step is to determine the turbulence effect value of each target rotor at each target time based on the target angle and the rotational speed non-uniformity of each target rotor at each target time.

[0111] For example, the formula for determining the turbulence effect of the target rotor at different target times can be:

[0112] ;

[0113] in, This represents the turbulence effect of the a-th target rotor at the b-th target time. 'a' is the rotor number, and 'b' is the time number at each target time. It is a normalization function. It refers to the rotational speed non-uniformity at the b-th target time. It is a cosine function. It is the target angle of the rotor of the a-th target at the b-th target moment.

[0114] It should be noted that the greater the non-uniformity of the drone's rotational speed and the stronger the turbulence effect of the surrounding air during drone flight, the greater the impact of turbulence on its rotor. When A larger value often indicates that the lift of the target multi-rotor UAV is relatively uneven, and consequently, that the rotational speed of the target multi-rotor UAV is relatively uneven. The smaller the value, the more likely the lift and resultant lift of the rotor of target a at the time of target b are to be consistent, which often indicates that the rotor of target a is more affected by airflow turbulence at this time. Therefore, It can characterize the turbulence effect on the rotor of the a-th target at the b-th target time. The larger the value, the greater the turbulence effect on the rotor of the a-th target at the b-th target time.

[0115] Step S3: Determine the dynamic fluctuation index of each target rotor at each target time based on the changes in rotational speed and lift of each target rotor at each target time.

[0116] It should be noted that during actual flight, the greater the rotational speed fluctuation, the greater the change in the fundamental frequency of the UAV rotor, which often requires an increased bandwidth to cover the frequency drift. At the same time, the greater the change in the overall lift of the UAV, the greater the change in the aerodynamic force experienced by the UAV, and the vibration often generates a larger vibration frequency range. Therefore, the dynamic fluctuation of each rotor of the UAV can be quantified.

[0117] As an example, this step may include the following steps:

[0118] The first step is to construct the preset historical time period corresponding to each target time.

[0119] For example, any target time can be designated as a marker time, and a preset historical time period corresponding to the marker time can be constructed using the marker time as the end target time. The preset historical time period corresponding to the marker time can represent a period of time preceding the marker time, and its duration can be 0.5 seconds.

[0120] The second step is to obtain the rotational speed of each target rotor at different times within a preset historical time period corresponding to each target time.

[0121] The third step is to obtain the representative resultant force of lift of the target multirotor UAV at different times within a preset historical time period corresponding to each target time.

[0122] It should be noted that the method for obtaining the resultant force represented by the rotational speed and lift of the target multirotor UAV at different times can be the same as the method for obtaining the resultant force represented by the rotational speed and lift of the target multirotor UAV at different target times, and will not be repeated here.

[0123] The fourth step, determining the rate of change of rotational speed of each target rotor at each target time based on its rotational speed at different times within a preset historical time period corresponding to each target time, may include the following sub-steps:

[0124] The first sub-step involves taking all the rotational speeds of each target rotor within a preset historical time period corresponding to each target time and constructing a rotational speed sequence for each target rotor at each target time.

[0125] The rotational speed sequence can be a time series.

[0126] The second sub-step is to determine the rate of change of rotational speed of each target rotor at each target time based on the absolute value of the difference between adjacent rotational speeds in the rotational speed sequence of each target rotor at each target time.

[0127] For example, the formula for determining the rate of change of the target rotor speed at different target times can be:

[0128] ;

[0129] in, It represents the rate of change of rotational speed of the a-th target rotor at the b-th target time. 'a' is the rotor number, and 'b' is the time number at each target time. is the number of rotational velocities of the rotor of the a-th target at the b-th target time. i is the index of the rotational velocity of the rotor of the a-th target at the b-th target time. It is an absolute value function. It is the i-th rotational speed in the rotational speed sequence of the a-th target rotor at the b-th target time. It is the (i+1)th rotational speed in the rotational speed sequence of the a-th target rotor at the b-th target time.

[0130] It should be noted that, It can characterize the change in rotational speed of the rotor of the a-th target at the b-th target time. The larger the value, the faster the rotational speed of the rotor of the a-th target at the b-th target time changes, the larger the drift range of its fundamental frequency, and the larger the vibration frequency range of the UAV rotor.

[0131] The fifth step, based on the representative resultant force of the lift at different times within the preset historical time period corresponding to each target time of the aforementioned multi-rotor UAV, determines the rate of change of the resultant lift at each target time, which may include the following sub-steps:

[0132] The first sub-step involves constructing a sequence of representative lift forces for each target time by taking all the lift forces of the target multirotor UAV within a preset historical time period corresponding to each target time.

[0133] Here, lift represents the resultant force sequence, which can be a time series.

[0134] The second sub-step is to determine the rate of change of the resultant lift force at each target time based on the absolute value of the difference between the moduli of adjacent resultant lift forces in the resultant lift force sequence at each target time.

[0135] For example, the formula for determining the rate of change of the resultant lift force at the target time can be:

[0136] ;

[0137] in, It is the rate of change of the resultant lift force at the b-th target time. b is the sequence number of the different target times. is the number of lift representative resultant forces in the lift representative resultant force sequence at the b-th target time. j is the sequence number of the lift representative resultant forces in the lift representative resultant force sequence at the b-th target time. It is an absolute value function. It is the magnitude of the j-th lift representative resultant force in the lift representative resultant force sequence at the b-th target time. It is the modulus of the (j+1)th resultant force of the lift representative force in the sequence of lift representative forces at the b-th target time.

[0138] It should be noted that, It can characterize the change of the resultant lift force of the target multi-rotor UAV at the b-th target moment. The larger the value, the faster the aerodynamic force changes during the flight of the UAV, and the greater the change in its vibration data and the wider the vibration frequency range.

[0139] The sixth step is to determine the dynamic fluctuation index of each target rotor at each target time based on the rate of change of the resultant lift force at each target time and the rate of change of the rotational speed of each target rotor at each target time.

[0140] For example, the product of the rate of change of rotational speed of each target rotor at each target time and the rate of change of the resultant lift force at the same target time can be normalized to obtain the dynamic fluctuation index of each target rotor at each target time.

[0141] For example, the formula for determining the dynamic fluctuation index of the target rotor at different target times can be:

[0142] ;

[0143] in, This is the dynamic fluctuation index of the a-th target rotor at the b-th target time. 'a' is the serial number of the target rotor. 'b' is the serial number of the different target times. It is a normalization function. It is the rate of change of the resultant lift force at the b-th target time. It is the rate of change of rotational speed of the rotor of the a-th target at the b-th target time.

[0144] It should be noted that, It can characterize the change in rotational speed of the rotor of the a-th target at the b-th target time. This can characterize the change in the resultant lift force of the target multi-rotor UAV at the b-th target moment. Therefore, when A larger value often indicates a greater change in the rotational speed of the rotor of the target a at the b-th target moment, and a greater change in the overall lift of the multi-rotor UAV. This often indicates a greater dynamic fluctuation of the rotor of the target a at the b-th target moment.

[0145] Step S4: Adjust the preset margin according to the turbulence effect influence value and dynamic fluctuation index of each target rotor at each target time to obtain the target margin of each target rotor at each target time.

[0146] The preset margin can be a pre-set margin, which can be equal to 30°.

[0147] As an example, this step may include the following steps:

[0148] The first step is to determine the target weight of each target rotor at each target time based on the turbulence effect and dynamic fluctuation index of each target rotor at each target time.

[0149] The second step is to multiply the target weight of each target rotor at each target time with the aforementioned preset margin to determine the target margin of each target rotor at each target time.

[0150] For example, the formula for determining the target margin of the target rotor at different target times can be:

[0151] ;

[0152] in, W represents the target margin for the a-th target rotor at the b-th target time. 'a' is the rotor number. 'b' is the sequence number of the different target times. 'W' is the preset margin. It is the turbulence effect value of the rotor of the a-th target at the b-th target time. It is the dynamic fluctuation index of the rotor of the a-th target at the b-th target time. It is the target weight of the a-th target rotor at the b-th target time.

[0153] It should be noted that the stronger the turbulence effect on the drone rotor and the greater its dynamic fluctuation over time, the more unstable its vibration is, and the greater the margin of the corresponding band-stop filter should be. It can characterize the influence of turbulence on the rotor of the a-th target at the b-th target time. The larger the value, the more unstable the aerodynamic force on the rotor of the a-th target at the b-th target time, and the wider the vibration frequency. This can characterize the dynamic fluctuations of the rotor of the a-th target at the b-th target time. A larger value generally indicates greater changes in the fundamental frequency of the UAV rotor's vibration and the aerodynamic conditions it experiences in the short term, resulting in a wider vibration frequency range. Therefore, when... The larger the value, the greater the margin required. It can characterize the margin required when performing band-stop filtering on the data collected from the a-th target rotor at the b-th target time.

[0154] Step S5: Based on the fundamental frequency and target margin of each target rotor at each target time, the accelerometer data and gyroscope data collected by each target rotor at each target time are band-stop filtered, and the attitude is calculated based on the band-stop filtered data.

[0155] As an example, this step may include the following steps:

[0156] The first step is to designate any target rotor as the marker rotor, and to designate the band-stop filter that performs band-stop filtering on the accelerometer data and gyroscope data collected from the marker rotor at different target times as the marker band-stop filter.

[0157] The second step is to determine any target time as the mark time. When performing band-stop filtering on the accelerometer data and gyroscope data collected by the mark rotor at the mark time, the fundamental frequency and margin of the mark band-stop filter are set to the fundamental frequency and target margin of the mark rotor at the mark time, respectively.

[0158] The third step is to perform attitude calculation based on the data after band-stop filtering.

[0159] It should be noted that after band-stop filtering of accelerometer and gyroscope data, complementary filtering can be used to calculate the UAV's attitude. Specifically, the acquired accelerometer and gyroscope data can be filtered using the above method to reduce noise caused by rotor vibration, and then complementary filtering can be used to calculate the UAV's attitude.

[0160] Multi-sensor data fusion and adaptive filtering are employed. Specifically, data fusion from multiple sensors, including gyroscopes, accelerometers, and magnetometers, combined with adaptive filtering algorithms, achieves high-precision attitude calculation. During the filtering process, filtering parameters are dynamically adjusted based on the real-time operation of the rotor to adapt to the noise characteristics under different flight attitudes.

[0161] Rotor speed analysis and band-stop filter parameter settings: Specifically, by collecting the rotational speed of each rotor of the UAV, the fundamental frequency of each rotor is calculated, and the parameters of the band-stop filter are determined based on the fundamental frequency, thereby filtering out the noise introduced by rotor vibration.

[0162] The fundamental frequency distribution of multi-rotor rotors at different speeds is analyzed. Based on the non-uniformity of rotor speed, turbulence level, and dynamic fluctuations, the margin of the band-stop filter is dynamically adjusted to effectively cover the range of rotor vibration frequency changes under different flight conditions and reduce the impact of vibration noise on attitude calculation accuracy.

[0163] The relationship between flight attitude and rotor speed distribution was analyzed. Specifically, the characteristics of rotor speed distribution and corresponding vibration of multi-rotor UAVs under different flight attitudes were analyzed in depth. Based on this, band-stop filter parameters were determined so that the filter could adapt to noise changes under different flight attitudes, thereby improving the accuracy and stability of attitude calculation. Different flight attitudes can include: hovering, forward flight, side flight, yaw rotation, rapid acceleration / deceleration, etc.

[0164] The dynamic adaptive processing of vibration noise specifically involves calculating the turbulence and dynamic fluctuations of the rotor to assess the complexity and stability of rotor vibration in real time. This allows for dynamic adjustment of the margin of the band-stop filter, achieving precise suppression of vibration noise and ensuring accurate acquisition of sensor data under various flight conditions, thus providing a reliable data foundation for attitude calculation.

[0165] Attitude calculation is performed by combining band-stop filtering and complementary filtering. Specifically, after band-stop filtering suppresses vibration noise, complementary filtering algorithm is used to further process the signals from the accelerometer and gyroscope. By combining the advantages of both, the short-term stability of the gyroscope and the long-term accuracy of the accelerometer are utilized to achieve high-precision, real-time attitude calculation of the UAV.

[0166] The accuracy of attitude calculation has been improved. Specifically, by using an adaptive filtering algorithm to dynamically adjust the filtering parameters based on the real-time operation of the rotor and to accurately suppress vibration noise, noise interference in sensor data can be effectively reduced, thereby improving the accuracy and reliability of attitude calculation. This allows the UAV to perceive its own attitude more accurately during flight and achieve more precise flight control.

[0167] It enhances flight stability. Specifically, due to more accurate attitude calculation, the UAV can adjust its attitude in a timely and accurate manner, better resisting the effects of external interference (such as gusts and air turbulence) and internal vibrations, thereby improving flight stability and safety. Especially in complex environments and when performing high-precision tasks (such as aerial photography, target monitoring, and complex terrain avoidance), it can better complete the task and ensure flight safety.

[0168] Adapting to various flight attitudes and dynamic changes, specifically, this invention can dynamically adjust filtering parameters according to different flight attitudes and rotor speed distributions of multi-rotor UAVs, adapting to changes in vibration and noise under different flight conditions, without relying on experience for frequency band selection, and has better adaptability and flexibility. It is suitable for various complex flight missions and scenarios, such as hovering, forward flight, side flight, rotation, rapid acceleration / deceleration, etc., enabling UAVs to maintain good performance and attitude calculation accuracy under various flight conditions.

[0169] The system robustness has been improved. Specifically, by adaptively adjusting the filtering parameters and optimizing the filtering algorithm, the ability to suppress sensor noise interference has been enhanced, and the impact of sensor noise on attitude calculation and flight control has been reduced. This makes the flight control system more stable and reliable in the face of various complex flight environments and emergencies, improves the overall system robustness, and reduces the risk of flight accidents that may be caused by attitude calculation errors.

[0170] The flight control performance has been optimized. Specifically, the more accurate attitude calculation results provide more precise input information for the flight control unit, which helps to optimize the UAV's flight control strategy, achieve more efficient, smoother and more flexible flight control, improve the overall flight performance of the UAV, and at the same time provide more reliable technical support for the further intelligent and automated development of UAVs.

[0171] refer to Figure 2 Based on the same inventive concept as the above-described method embodiments, this invention provides an attitude calculation system for a multi-rotor unmanned aerial vehicle (UAV) flight controller. This system includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, it implements the steps of an attitude calculation method for a multi-rotor UAV flight controller, specifically including:

[0172] The acquisition and determination module 201 is used to acquire the rotational speed of each target rotor of the target multi-rotor UAV at each target time, and determine the fundamental frequency of each target rotor at each target time based on the rotational speed of each target rotor at each target time;

[0173] The turbulence effect influence value determination module 202 is used to determine the turbulence effect influence value of each target rotor at each target time based on the positional distribution between the center point of the target multi-rotor UAV and each target rotor, as well as the rotational speed of each target rotor at each target time.

[0174] The dynamic fluctuation index determination module 203 is used to determine the dynamic fluctuation index of each target rotor at each target time based on the changes in rotational speed and lift of each target rotor at each target time.

[0175] The margin adjustment module 204 is used to adjust the preset margin according to the turbulence effect influence value and dynamic fluctuation index of each target rotor at each target time, so as to obtain the target margin of each target rotor at each target time.

[0176] The filtering and attitude calculation module 205 is used to perform band-stop filtering on the accelerometer data and gyroscope data collected by each target rotor at each target time according to the fundamental frequency and target margin of each target rotor at each target time, and to perform attitude calculation based on the band-stop filtered data.

[0177] Figure 3 This is a schematic diagram of the structure of a computer device provided in an embodiment of the present invention. For example, as shown... Figure 3As shown, the computer device 300 includes: a memory 301, a processor 302, and a computer program 303 stored in the memory 301 and running on the processor 302. When the processor 302 executes the computer program 303, the computer device can execute any of the attitude calculation methods of the multi-rotor UAV flight controller described above.

[0178] Based on the same inventive concept as the above-described method embodiments, the present invention provides a server, including a memory and a processor. The memory is used to store executable program code, and the processor is used to call and run the executable program code from the memory, causing the device to execute any of the above-described attitude calculation methods for a multi-rotor UAV flight controller.

[0179] Based on the same inventive concept as the above-described method embodiments, the present invention provides a computer program product comprising: computer program code, which, when run on a computer, causes the computer to execute any of the above-described attitude calculation methods for a multi-rotor UAV flight controller.

[0180] Based on the same inventive concept as the above-described method embodiments, the present invention provides a computer-readable storage medium storing computer program code, which, when run on a computer, causes the computer to execute any of the above-described attitude calculation methods for a multi-rotor UAV flight controller.

[0181] In summary, this invention quantifies the fundamental frequency of each target rotor at each target time based on its rotational speed at each target time, and comprehensively considers multiple features related to margin adjustment, such as the influence value of turbulence effect and dynamic fluctuation index, thereby adaptively quantifying the target margin of each target rotor at each target time. Based on the fundamental frequency and target margin of each target rotor at each target time, a band-stop filter is used to perform band-stop filtering on the accelerometer data and gyroscope data collected by each target rotor at each target time, improving the rationality of data filtering and noise reduction, thereby improving the accuracy of attitude calculation of the multi-rotor UAV flight controller.

[0182] 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 scope of the technical solutions of the embodiments of the present invention, and should all be included within the protection scope of the present invention.

Claims

1. An attitude calculation method for a multi-rotor unmanned aerial vehicle (UAV) flight controller, characterized in that, Includes the following steps: Obtain the rotational speed of each target rotor of the target multi-rotor UAV at each target time, and determine the fundamental frequency of each target rotor at each target time based on the rotational speed of each target rotor at each target time; Based on the positional distribution of the center point of the target multi-rotor UAV and each target rotor, as well as the rotational speed of each target rotor at each target time, the turbulence effect influence value of each target rotor at each target time is determined. Based on the changes in rotational speed and lift of each target rotor at each target time, determine the dynamic fluctuation index of each target rotor at each target time. Based on the turbulence effect and dynamic fluctuation index of each target rotor at each target time, the preset margin is adjusted to obtain the target margin of each target rotor at each target time. Based on the fundamental frequency and target margin of each target rotor at each target time, the accelerometer data and gyroscope data collected by each target rotor at each target time are band-stop filtered, and the attitude is calculated based on the band-stop filtered data.

2. The attitude calculation method for a multi-rotor UAV flight controller according to claim 1, characterized in that, The determination of the turbulence effect influence value of each target rotor at each target time, based on the positional distribution between the center point of the target multi-rotor UAV and each target rotor, and the rotational speed of each target rotor at each target time, includes: Based on the center point of the target multi-rotor UAV and the center point of each target rotor, construct the target position vector corresponding to each target rotor; Based on the target position vector corresponding to each target rotor and the rotational speed of each target rotor at each target time, determine the lift representative vector of each target rotor at each target time; The sum of the lift vectors of all target rotors at the same target moment is determined as the resultant lift vector of the target multi-rotor UAV at that target moment; Normalize the magnitude of the resultant force representing the lift at each target time to obtain the rotational speed non-uniformity at each target time. The angle between the lift vector of each target rotor at each target time and the resultant lift force at that target time is determined as the target angle for each target rotor at each target time. Based on the target angle of each target rotor at each target time and the non-uniformity of the rotational speed at that target time, the turbulence effect value of each target rotor at each target time is determined.

3. The attitude calculation method for a multi-rotor UAV flight controller according to claim 2, characterized in that, The step of determining the lift representative vector of each target rotor at each target time based on the target position vector corresponding to each target rotor and the rotational speed of each target rotor at each target time includes: The product of the rotational speed of each target rotor at each target time and its corresponding target position vector is used to determine the lift vector of each target rotor at each target time.

4. The attitude calculation method for a multi-rotor UAV flight controller according to claim 2, characterized in that, The determination of dynamic fluctuation indicators for each target rotor at each target time, based on the changes in rotational speed and lift of each target rotor at each target time, includes: Construct a preset historical time period corresponding to each target time; Obtain the rotational speed of each target rotor at different times within a preset historical time period corresponding to each target time. Obtain the representative resultant force of the lift of the target multirotor UAV at different times within a preset historical time period corresponding to each target time. Based on the rotational speed of each target rotor at different times within a preset historical time period corresponding to each target time, determine the rate of change of rotational speed of each target rotor at each target time. Based on the lift representative resultant force of the target multirotor UAV at different times within a preset historical time period corresponding to each target time, determine the rate of change of the lift resultant force at each target time. Based on the rate of change of the resultant lift force at each target moment and the rate of change of the rotational speed of each target rotor at each target moment, the dynamic fluctuation index of each target rotor at each target moment is determined.

5. The attitude calculation method for a multi-rotor UAV flight controller according to claim 4, characterized in that, The construction of the preset historical time period corresponding to each target time includes: Any target time is designated as the marker time, and the preset historical time period corresponding to the marker time is constructed with the marker time as the end target time.

6. The attitude calculation method for a multi-rotor UAV flight controller according to claim 4, characterized in that, The step of determining the rate of change of rotational speed of each target rotor at each target time based on its rotational speed at different times within a preset historical time period corresponding to each target time includes: The rotational speeds of each target rotor within a preset historical time period corresponding to each target time are used to form a rotational speed sequence of each target rotor at each target time. The rate of change of rotational speed of each target rotor at each target time is determined by the absolute value of the difference between adjacent rotational speeds in the rotational speed sequence of each target rotor at each target time.

7. The attitude calculation method for a multi-rotor UAV flight controller according to claim 4, characterized in that, The step of determining the rate of change of the resultant lift force at each target time based on the resultant lift force at different times within a preset historical time period corresponding to each target time includes: The resultant lift force of the target multirotor UAV within a preset historical time period corresponding to each target moment is used to construct a sequence of resultant lift forces at each target moment. The rate of change of the resultant lift force at each target time is determined by the absolute value of the difference between the moduli of adjacent resultant lift forces in the resultant lift force sequence at each target time.

8. The attitude calculation method for a multi-rotor UAV flight controller according to claim 4, characterized in that, The determination of the dynamic fluctuation index of each target rotor at each target time, based on the rate of change of the resultant lift force at each target time and the rate of change of the rotational speed of each target rotor at each target time, includes: Normalize the product between the rate of change of rotational speed of each target rotor at each target time and the rate of change of the resultant lift force at the same target time to obtain the dynamic fluctuation index of each target rotor at each target time.

9. The attitude calculation method for a multi-rotor unmanned aerial vehicle (UAV) flight controller according to claim 1, characterized in that, The step of adjusting the preset margin based on the turbulence effect influence value and dynamic fluctuation index of each target rotor at each target time to obtain the target margin of each target rotor at each target time includes: Based on the turbulence effect and dynamic fluctuation index of each target rotor at each target time, determine the target weight of each target rotor at each target time. The target margin for each target rotor at each target time is determined by multiplying the target weight of each target rotor at each target time with the preset margin.

10. The attitude calculation method for a multi-rotor unmanned aerial vehicle (UAV) flight controller according to claim 1, characterized in that, The step involves applying band-stop filtering to the accelerometer and gyroscope data collected by each target rotor at each target time, based on the fundamental frequency and target margin of each target rotor at each target time. This includes: Any target rotor is designated as the marker rotor, and the band-stop filter that performs band-stop filtering on the accelerometer data and gyroscope data collected from the marker rotor at different target times is designated as the marker band-stop filter. Any target time is defined as the mark time. When the accelerometer data and gyroscope data collected by the mark rotor at the mark time are band-stop filtered by the mark band-stop filter, the fundamental frequency and margin of the mark band-stop filter are set as the fundamental frequency and target margin of the mark rotor at the mark time, respectively.

Citation Information

Patent Citations

  • Self-adaptive PID control method considering autonomous take-off and landing of unmanned aerial vehicle on maneuvering platform

    CN112198888A

  • State estimation method for weak-drive long-endurance gliding state fixed-wing unmanned aerial vehicle

    CN120406572A