A flight control method for FPV aircraft

CN122431375APending Publication Date: 2026-07-21HANGZHOU BILI INTELLIGENT TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
HANGZHOU BILI INTELLIGENT TECHNOLOGY CO LTD
Filing Date
2026-05-20
Publication Date
2026-07-21

Smart Images

  • Figure CN122431375A_ABST
    Figure CN122431375A_ABST
Patent Text Reader

Abstract

The application discloses a flight control method for FPV aircraft, which comprises the following steps: obtaining attitude information by solving the attitude through sensing information and determining the current inclination angle relative to the horizontal plane; receiving the remote controller attitude channel input and the throttle channel input; comparing the current inclination angle with the preset limit angle; when the current inclination angle is less than or equal to the limit angle, generating the attitude control quantity based on the attitude channel input, obtaining the height estimation result by the height related information in the height auxiliary control state, determining the height change information by combining the throttle channel input and generating the throttle control quantity; when the current inclination angle is greater than the limit angle, executing the inclination angle limiting to restrict the target inclination angle from exceeding the limit angle; stopping the height auxiliary and generating the throttle control quantity by the throttle channel input after receiving the exit input, and outputting the flight control signal. The height auxiliary and the large inclination angle restriction are realized by the inclination angle partition control, and the stability and safety are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of flight control technology, and in particular to a flight control method for FPV aircraft. Background Technology

[0002] In recent years, with the popularization of First Person View (FPV) drones, small multi-rotor aircraft have been widely used in racing entertainment, aerobatic flight, and flight training. Compared with traditional aerial photography drones, FPV drones emphasize the freedom and sensitivity of flight control. They typically adopt a flight mode without attitude stabilization, where the pilot directly controls the aircraft's roll, pitch, yaw, and throttle output via a remote controller to achieve high-speed maneuvers and complex flight actions. Because this type of flight mode requires high precision and coordination, the pilot needs to simultaneously adjust the attitude angle and throttle thrust in real time to maintain flight altitude and stability, thus placing high demands on the pilot's operating experience and reaction speed.

[0003] In related technologies, FPV drones typically employ a purely manual throttle control method, meaning that flight altitude is entirely adjusted by the pilot through the throttle lever to control the total thrust. During flight, when the aircraft pitches or rolls, the vertical component of the total thrust changes with the tilt angle. If the pilot fails to compensate for the throttle output in time, rapid altitude drops or sudden ascents can easily occur. Furthermore, novice pilots in the early stages of training need to handle both attitude control and throttle control simultaneously, which can easily lead to operational confusion, excessive attitude angles, or even rollovers and crashes, resulting in a high flight risk. Although some aerial photography drones employ automatic altitude hold or attitude limiting control strategies, these systems are typically designed with self-stabilized flight as their core, and the flight experience differs significantly from that of FPV flight mode, making it difficult to balance the FPV flight control experience with the training needs of beginners. Therefore, existing FPV flight control methods still have shortcomings in terms of operational difficulty, safety, and training friendliness.

[0004] Therefore, in the attitude and altitude control of FPV UAVs, the difficulty in real-time compensation for changes in the vertical thrust component caused by attitude tilt, the high coupling between throttle and attitude control, and the low fault tolerance of novice pilots have become urgent problems to be solved. Summary of the Invention

[0005] This application provides a flight control method for FPV aircraft, aiming to solve the problems in the prior art of attitude control and altitude control of FPV UAVs, such as the difficulty in real-time compensation for changes in the vertical thrust component caused by attitude tilt, high coupling between throttle and attitude control, and low fault tolerance for novice flight operations.

[0006] This application provides a flight control method for an FPV (Fast-Passive Vehicle) aircraft, the method comprising: Acquire sensor information for attitude calculation and perform attitude calculation to obtain the attitude information of the aircraft; Based on the attitude information, determine the current tilt angle of the aircraft relative to the horizontal plane; Receive remote control input, which includes at least attitude channel input and throttle channel input; Determine whether the current tilt angle is greater than a preset limit angle; When the current tilt angle is less than or equal to the preset limit angle, an attitude control quantity is generated based on the attitude channel input, and in the height-assisted control state, height-related information is obtained and a height estimation result is obtained. The height change information is determined based on the throttle channel input, and a throttle control quantity is generated based on the height estimation result and the height change information. When the current tilt angle is greater than the preset limit angle, tilt angle limit control is performed to constrain the target tilt angle of the aircraft from exceeding the preset limit angle. The tilt angle limit control includes limiting the amplitude of the attitude channel input and / or limiting the target tilt angle, and generating attitude control quantity based on the attitude channel input. Upon receiving the exit input of altitude-assisted control, exit the altitude-assisted control state, stop generating the throttle control quantity based on the altitude estimation result, and generate the throttle control quantity based on the throttle channel input; Output flight control signals corresponding to the attitude control quantity and the throttle control quantity.

[0007] Optionally, in the above scheme, the sensing information includes gyroscope data and accelerometer data; The attitude information of the aircraft includes the roll angle and pitch angle of the aircraft.

[0008] Optionally, in the above scheme, determining the current tilt angle of the aircraft relative to the horizontal plane based on the attitude information includes: Based on the roll angle and the pitch angle, the angle between the preset reference axis of the aircraft and the horizontal plane is determined, and the angle is used as the current tilt angle, wherein the preset reference axis is the vertical axis or thrust axis of the aircraft.

[0009] In the above scheme, optionally, the preset limiting angle is a configurable parameter, and the configuration range of the preset limiting angle is 10° to 60°.

[0010] Optionally, in the above scheme, the execution of tilt angle limit control includes: When the current tilt angle is greater than the preset limit angle, and the attitude channel input is pointing to increase the target tilt angle, the attitude channel input is subjected to amplitude limiting processing. If the current tilt angle is greater than the preset limit angle, the target tilt angle is limited to the preset limit angle, and the attitude control quantity is generated based on the target tilt angle.

[0011] Optionally, in the above scheme, obtaining height-related information and obtaining height estimation results includes: Obtain barometer altitude information; Based on the accelerometer data, determine the vertical acceleration information; The barometer altitude information is filtered to obtain a first altitude estimate; Integrate the vertical acceleration information and combine it with the attitude information to perform coordinate transformation to obtain a second height estimate; The height estimation result is obtained by fusing the first height estimate with the second height estimate based on complementary filtering or Kalman filtering.

[0012] Optionally, in the above scheme, determining the height change information based on the throttle channel input includes: When the throttle input is in a preset mid-range, the height change information is used to indicate that the target height is maintained; When the throttle input is higher than the preset median range, the height change information is used to indicate the amount of change in the target height and / or the ascent speed command; When the throttle input is lower than the preset median range, the height change information is used to indicate the amount of change in the target height and / or the descent speed command.

[0013] Optionally, in the above scheme, generating the throttle control quantity based on the altitude estimation result and the altitude change information includes: Based on the height change information, determine the target height or the target vertical velocity; Calculate the height error between the target height and the height estimation result and / or the velocity error between the target vertical velocity and the estimated vertical velocity; The height error and / or the speed error are input into the closed-loop controller to obtain the height control value; The throttle control quantity is generated based on the height control quantity.

[0014] Optionally, in the above scheme, generating attitude control quantities based on the attitude channel input includes: Based on the attitude channel input, determine the angular velocity command or attitude increment command; The attitude control quantity is generated based on the angular velocity command or attitude increment command; wherein, when the current tilt angle is less than or equal to the preset limit angle, the attitude holding control quantity is not generated based on the absolute attitude angle in the attitude information.

[0015] Optionally, in the above scheme, the step of receiving the exit input for height-assisted control includes: Receive trigger signals generated by the mode switch, button, or lever of the remote control; Upon receiving the trigger signal, exit the height-assisted control state and, after exiting, directly map the throttle channel input to the throttle control quantity. The method further includes: Multiple training gear parameter sets are set up, with different training gear parameter sets corresponding to different closed-loop controller parameters and / or different altitude change information mapping parameters. The current training gear parameter set is determined based on user selection and / or cumulative flight time.

[0016] Compared with the prior art, this application has at least the following beneficial effects: Based on further analysis and research of existing technical problems, this application recognizes the difficulties in real-time compensation for thrust vertical component changes caused by attitude tilt during attitude and altitude control of FPV UAVs, the high coupling between throttle and attitude control, and the low fault tolerance of novice pilots. This application addresses these issues by first determining the aircraft's current tilt angle relative to the horizontal plane based on attitude calculation results in the FPV flight control process, and then comparing this current tilt angle with a preset limit angle in real time. This divides the flight control logic into a normal control area and a tilt angle limit area. When the current tilt angle is less than or equal to the preset limit angle, the attitude channel input directly participates in attitude control. Under the premise of controlled altitude, altitude-assisted control logic is superimposed, so that the throttle channel input no longer directly corresponds to the motor thrust, but generates the throttle control quantity based on the altitude estimation result and altitude change information. This introduces closed-loop adjustment capability for altitude while maintaining the FPV angular velocity control characteristics. When the current tilt angle is greater than the preset limit angle, tilt angle limit control is executed to constrain the target tilt angle of the aircraft to not exceed the preset limit angle, preventing the aircraft from further aggravating the attitude instability trend at large tilt angles. At the same time, by setting the exit input of altitude-assisted control, the aircraft can quickly return to the pure manual throttle control mode when needed, thereby ensuring the continuity of control. The method provided in this application, through tilt angle determination, zone control, normal zone altitude assistance, and over-limit zone attitude constraint, combined with an exit mechanism, enables coordinated constraint and adjustment of the aircraft's tilt angle and altitude while maintaining the FPV flight maneuverability. This overcomes the problems of the prior art where FPV flight attitude maneuverability is strong but lacks altitude stability control, is prone to attitude loss of control at large tilt angles, and has high control difficulty. It achieves the technical effect of improving flight stability and safety without changing the essence of FPV control. Attached Figure Description

[0017] Figure 1 This is a flowchart illustrating a flight control method for an FPV aircraft provided in one embodiment of this application. Detailed Implementation

[0018] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0019] In one embodiment, such as Figure 1 As shown, a flight control method for an FPV aircraft is provided, including the following steps: Acquire sensor information for attitude calculation and perform attitude calculation to obtain the attitude information of the aircraft; Based on the attitude information, determine the current tilt angle of the aircraft relative to the horizontal plane; Receive remote control input, which includes at least attitude channel input and throttle channel input; Determine whether the current tilt angle is greater than a preset limit angle; When the current tilt angle is less than or equal to the preset limit angle, an attitude control quantity is generated based on the attitude channel input, and in the height-assisted control state, height-related information is obtained and a height estimation result is obtained. The height change information is determined based on the throttle channel input, and a throttle control quantity is generated based on the height estimation result and the height change information. When the current tilt angle is greater than the preset limit angle, tilt angle limit control is performed to constrain the target tilt angle of the aircraft from exceeding the preset limit angle. The tilt angle limit control includes limiting the amplitude of the attitude channel input and / or limiting the target tilt angle, and generating attitude control quantity based on the attitude channel input. Upon receiving the exit input of altitude-assisted control, exit the altitude-assisted control state, stop generating the throttle control quantity based on the altitude estimation result, and generate the throttle control quantity based on the throttle channel input; Output flight control signals corresponding to the attitude control quantity and the throttle control quantity.

[0020] This embodiment provides a flight control method for FPV aircraft, applicable to flight platforms with independent thrust units, such as multi-rotor FPV aircraft. An inertial measurement unit (IMU) is installed inside the aircraft. The IMU includes at least a three-axis gyroscope and a three-axis accelerometer, used to output the sensor information required for attitude calculation. The controller continuously acquires gyroscope angular velocity data and accelerometer three-axis acceleration data at a preset sampling period (e.g., 1ms to 5ms), and performs attitude calculation based on the sensor information to obtain the aircraft's attitude information. Attitude calculation can be implemented using complementary filtering, extended Kalman filtering, or quaternion integration, etc. In this method, the gyroscope angular velocity is used for attitude prediction, and the attitude increment is obtained through integration. Then, the gravity direction measured by the accelerometer is used to correct the drift of the roll and pitch angles, thereby outputting the attitude information. In this embodiment, the attitude information includes at least the roll and pitch angles, and can be maintained and updated internally by the controller using Euler angles, quaternions, or direction cosine matrices.

[0021] After obtaining the attitude information, the current tilt angle of the aircraft relative to the horizontal plane is determined based on the attitude information, which is used to characterize the overall tilt degree of the aircraft. Specifically, the vertical axis of the aircraft's airframe or the total thrust direction axis can be selected as a preset reference axis, and the direction vector of the preset reference axis in the geographic coordinate system is determined based on the attitude information. Then, the angle between this direction vector and the geographic vertical direction or the angle between this direction vector and the horizontal plane is calculated, and the angle is taken as the current tilt angle. To avoid implementation limitations, the attitude transformation can be completed either by a rotation matrix or by quaternion equivalent transformation; for example, the airframe unit vector can be transformed into a geographic vector through attitude transformation, and the current tilt angle can be obtained by vector dot product and inverse cosine operation, thereby ensuring that the current tilt angle is sensitive to the combined tilt of roll and pitch.

[0022] The aircraft control system continuously receives remote controller input, which includes at least attitude channel input and throttle channel input. Attitude channel input represents the pilot's intention to control roll, pitch, and yaw, while throttle channel input represents the pilot's intention to control thrust or altitude changes. The remote controller input can be transmitted to the flight controller via PWM, serial protocol, or digital communication link. The controller normalizes, performs dead-zone processing, and limits the channel input before entering the control calculation process. Subsequently, the controller determines whether the current tilt angle is greater than a preset limit angle. The preset limit angle is a configurable parameter, determined based on training settings or user settings, and is used to distinguish between the tilt angle range where "normal FPV control is allowed" and the tilt angle range where "limit protection is required." When the current tilt angle is less than or equal to the preset limit angle, the controller enters the normal control area; when the current tilt angle is greater than the preset limit angle, the controller enters the tilt angle limit area and executes limit control.

[0023] When the current tilt angle is less than or equal to a preset limit angle, the controller generates attitude control quantities based on the attitude channel input. To conform to FPV control characteristics, the attitude channel input is preferably mapped to angular velocity commands or attitude increment commands, rather than to an absolute attitude angle holding target. The controller compares the angular velocity command with the current angular velocity (measured by the gyroscope) to obtain the angular velocity error, and outputs the attitude control quantity through the angular velocity loop controller. The attitude control quantity is then distributed to each motor via a mixed control system to form differential thrust, thereby achieving the pilot's maneuver control response. Simultaneously, when altitude assist control is enabled, the controller acquires altitude-related information and obtains an altitude estimation result. It then determines altitude change information based on the throttle channel input and generates throttle control quantities based on the altitude estimation result and altitude change information. Altitude-related information may include barometer altitude information and vertical acceleration information. The barometer altitude information can be low-pass filtered to obtain a first altitude estimate. The vertical acceleration information can be obtained by combining accelerometer data with attitude information through coordinate transformation. Specifically, the mechanical acceleration is transformed to a geographic coordinate system, the vertical component is extracted, and after removing the gravity component, it is integrated to obtain the vertical velocity. Further integration yields a second altitude estimate. The controller fuses the first and second altitude estimates using complementary filtering or Kalman filtering to obtain the altitude estimate, balancing the low-frequency stability of the barometer with the high-frequency response of the inertial navigation system. Subsequently, altitude change information is determined based on the throttle channel input. When the throttle channel input is within a preset mid-range, the altitude change information indicates target altitude maintenance; when the throttle channel input is above the mid-range, the altitude change information indicates the amount of increase in target altitude and / or ascent speed command; when the throttle channel input is below the mid-range, the altitude change information indicates the amount of decrease in target altitude and / or descent speed command. The controller generates a target height or target vertical velocity based on altitude change information, and calculates the altitude error between the target height and the altitude estimation result and / or the velocity error between the target vertical velocity and the estimated vertical velocity. The error is input into a closed-loop controller (e.g., a PID controller or an equivalent state feedback controller) to obtain the altitude control quantity, which in turn generates the throttle control quantity. In implementation, the throttle control quantity can be obtained by superimposing the hovering reference thrust and the altitude control quantity, and the output is limited by amplitude, slope limitation or low-pass filtering to avoid discontinuous power response caused by sudden throttle changes.

[0024] When the current tilt angle exceeds a preset limit angle, the controller performs tilt angle limit control to constrain the aircraft's target tilt angle from exceeding the preset limit angle. Tilt angle limit control can include limiting the attitude channel input and / or limiting the target tilt angle: on the one hand, when the attitude channel input points in a direction that increases the target tilt angle, the attitude channel input can be limited or clamped, preventing the controller from further increasing the target tilt angle; on the other hand, the target tilt angle can be directly limited to a preset limit angle, and attitude control quantities can be generated based on the limited target tilt angle, thereby constraining the aircraft's attitude control target within a safe tilt angle range. The above two methods can be used individually or in combination; when used in combination, the input can be limited first to suppress the control quantity that further increases the tilt angle, and then the target tilt angle can be hard-limited to ensure that the target does not exceed the limit, thus achieving large tilt angle protection without changing the FPV control framework.

[0025] During flight, the system also receives an exit input for altitude-assisted control. This exit input can be generated by a remote control mode switch, button, or lever. When the exit input is triggered, the controller exits the altitude-assisted control state, stops generating throttle control values ​​based on altitude estimation results, and directly maps the throttle channel input to the throttle control value, allowing the pilot to switch to pure manual throttle control. The throttle mapping after exiting maintains the same thrust mapping curve as before altitude-assisted control was activated, and the mapping is smoothed by combining amplitude limiting and slope limiting, thus avoiding sudden thrust changes caused by mode switching. Finally, the controller outputs flight control signals corresponding to the attitude control and throttle control values. These flight control signals are distributed to each motor via a hybrid control algorithm to form PWM or equivalent drive signals, enabling the aircraft to achieve coordinated control of attitude maneuvers and altitude adjustment.

[0026] This embodiment performs zoned control based on the current tilt angle obtained from attitude calculation and the preset limit angle. When the tilt angle is within the limit range, height auxiliary control is superimposed and the target height is maintained or changed by inputting the throttle channel. At the same time, when the tilt angle exceeds the limit, tilt angle limit is implemented to constrain the target tilt angle, and one-click exit of height auxiliary control is supported. Thus, while maintaining the FPV maneuvering control logic, the controllability of height control is improved and the risk of large tilt angles is suppressed.

[0027] In this embodiment, the sensing information includes gyroscope data and accelerometer data; The attitude information of the aircraft includes the roll angle and pitch angle of the aircraft.

[0028] In this embodiment, the sensor information used for attitude calculation includes gyroscope data and accelerometer data. The gyroscope outputs the three-axis angular velocity information of the aircraft within the airframe, and the accelerometer outputs the three-axis linear acceleration information of the aircraft within the airframe. The controller periodically collects gyroscope angular velocity data and performs integral prediction of the aircraft attitude based on the angular velocity data. Simultaneously, it collects accelerometer data and corrects the attitude prediction result based on the measured gravity component. By fusing gyroscope and accelerometer data, the roll angle and pitch angle of the aircraft can be obtained. The roll angle represents the rotation angle of the aircraft around the front-rear axis of the fuselage, and the pitch angle represents the rotation angle of the aircraft around the left-right axis of the fuselage. During the attitude calculation process, a complementary filtering algorithm can be used to achieve a balance between high-frequency response and low-frequency stability, or an extended Kalman filter algorithm can be used to recursively estimate the attitude state variables, thereby improving the accuracy of the attitude calculation. The roll angle and pitch angle obtained in the above manner are used as aircraft attitude information in subsequent tilt angle calculations and control logic judgments.

[0029] This embodiment limits the attitude information to the fusion calculation results of the gyroscope and accelerometer, which can ensure that the attitude estimation has good dynamic response capability and stability, thereby improving the accuracy of tilt angle judgment.

[0030] In this embodiment, determining the current tilt angle of the aircraft relative to the horizontal plane based on the attitude information includes: Based on the roll angle and the pitch angle, the angle between the preset reference axis of the aircraft and the horizontal plane is determined, and the angle is used as the current tilt angle, wherein the preset reference axis is the vertical axis or thrust axis of the aircraft.

[0031] In this embodiment, the determination of the aircraft's current tilt angle relative to the horizontal plane based on attitude information is implemented as follows: The controller first obtains the roll angle and pitch angle, and constructs the aircraft's attitude transformation relationship based on these angles. This attitude transformation relationship can be implemented using an Euler angle to rotation matrix or a quaternion to direction cosine matrix. Taking the rotation matrix as an example, the controller constructs an attitude transformation matrix from the aircraft system to the geographic coordinate system based on the roll angle and pitch angle, mapping the aircraft system's preset reference axis to the geographic coordinate system. The preset reference axis can be selected as the Z-axis of the aircraft body, i.e., the axis perpendicular to the aircraft plane, or it can be selected as the resultant force direction axis of the motors, i.e., the thrust direction axis of the aircraft. After mapping, the unit vector of the reference axis in the geographic coordinate system is obtained.

[0032] Subsequently, the controller calculates the angle between the unit vector and the vertical direction of the geographic coordinate system, or the angle between it and the horizontal plane. If the angle with the vertical direction is used, the current tilt angle can be expressed as the inverse cosine of the dot product of the unit vector and the geographic vertical unit vector; if the angle with the horizontal plane is used, it can be calculated using the ratio of the vertical to the horizontal components of the vector. The current tilt angle obtained through this calculation method comprehensively reflects the degree of tilt in both roll and pitch directions, accurately representing the extent to which the aircraft deviates from a horizontal state. To ensure calculation stability, the attitude information can be low-pass filtered or processed by moving average before calculating the current tilt angle, thereby suppressing misjudgments caused by instantaneous attitude fluctuations.

[0033] This embodiment defines the current tilt angle as the geometric angle between the preset reference axis of the aircraft and the horizontal plane, thereby obtaining a comprehensive tilt index, which makes the subsequent tilt angle threshold judgment more accurate and improves the reliability of the control strategy.

[0034] In this embodiment, the preset limiting angle is a configurable parameter, and the configuration range of the preset limiting angle is 10° to 60°.

[0035] In this embodiment, the preset limit angle is a configurable parameter with a value range of 10° to 60°. This limit angle parameter is stored in the flight controller's non-volatile memory and loaded into the operating parameter area upon system startup. Users can modify this limit angle parameter through ground station software, mobile terminal applications, or the remote controller's menu interface. To prevent parameter missetting, a parameter range check logic can be set to automatically correct to the boundary value when the user-set limit angle exceeds the allowable range. Different limit angle parameters can be automatically invoked in different training or flight modes. For example, the basic training mode uses a smaller limit angle to reduce maneuver risk, while the advanced mode uses a larger limit angle to retain greater control freedom. The controller reads this limit angle parameter in each attitude update cycle and compares it with the current tilt angle to achieve real-time limit judgment.

[0036] This embodiment allows the flight control system to be flexibly adjusted according to different flight requirements by setting configurable limiting angle parameters, thereby improving the system's adaptability and scalability.

[0037] In this embodiment, the execution of tilt angle limit control includes: When the current tilt angle is greater than the preset limit angle, and the attitude channel input is pointing to increase the target tilt angle, the attitude channel input is subjected to amplitude limiting processing. If the current tilt angle is greater than the preset limit angle, the target tilt angle is limited to the preset limit angle, and the attitude control quantity is generated based on the target tilt angle.

[0038] When the current tilt angle is detected to be greater than a preset limit angle, the controller executes tilt angle limit control. The tilt angle limit control is implemented by limiting the amplitude of the attitude channel input and / or limiting the target tilt angle. Specifically, when the attitude channel input points in the direction of increasing the target tilt angle, the controller performs amplitude compression or clamping on the input signal. For example, the attitude channel input can be multiplied by a scaling factor less than 1, or limited to a preset maximum input amplitude range, to prevent further expansion of the target tilt angle. The limiting factor can be dynamically adjusted according to the degree of tilt angle exceeding the limit, so that the greater the exceedance, the stronger the limiting.

[0039] In another implementation, the controller directly limits the target tilt angle in the attitude control target variable to a preset limit angle. For example, when the current tilt angle exceeds the limit angle, if the attitude controller has a target attitude angle variable, it is forcibly set to the limit angle value, and the attitude control quantity is calculated based on the limited target tilt angle. The above two methods can be used individually or in combination. In the combined method, the attitude channel input is first limited, and then the target tilt angle is hard-limited, thus forming a dual protection mechanism.

[0040] The aforementioned limiting strategy can suppress further tilting when the aircraft tilt angle exceeds the set range, thereby reducing the risk of flight loss of control.

[0041] In this embodiment, obtaining height-related information and obtaining height estimation results includes: Obtain barometer altitude information; Based on the accelerometer data, determine the vertical acceleration information; The barometer altitude information is filtered to obtain a first altitude estimate; Integrate the vertical acceleration information and combine it with the attitude information to perform coordinate transformation to obtain a second height estimate; The height estimation result is obtained by fusing the first height estimate with the second height estimate based on complementary filtering or Kalman filtering.

[0042] In this embodiment, the process of acquiring altitude-related information and obtaining altitude estimation results includes the fusion of barometric altitude estimation and inertial altitude estimation. The controller reads the barometric pressure value from the barometric pressure sensor and calculates the barometric altitude according to a standard atmospheric model or a preset conversion formula. To reduce the noise impact caused by barometric pressure fluctuations, the barometric altitude can be low-pass filtered or first-order filtered to obtain a first altitude estimate. Simultaneously, the controller acquires vertical acceleration information based on accelerometer data. Specifically, the three-axis acceleration in the machine system is transformed to the geographic coordinate system through attitude transformation, the vertical component is extracted, and the gravitational acceleration component is subtracted. The processed vertical acceleration is integrated to obtain the vertical velocity, and then integrated again to obtain a second altitude estimate. Due to the drift of inertial integration, the controller fuses the first altitude estimate and the second altitude estimate through complementary filtering or Kalman filtering. If Kalman filtering is used, a state-space model including altitude and vertical velocity can be established, and the altitude state can be recursively estimated through prediction and update steps.

[0043] This embodiment, by fusing data from barometers and accelerometers, can balance long-term stability with short-term response speed, thereby improving the accuracy and reliability of altitude estimation.

[0044] In this embodiment, determining the height change information based on the throttle channel input includes: When the throttle input is in a preset mid-range, the height change information is used to indicate that the target height is maintained; When the throttle input is higher than the preset median range, the height change information is used to indicate the amount of change in the target height and / or the ascent speed command; When the throttle input is lower than the preset median range, the height change information is used to indicate the amount of change in the target height and / or the descent speed command.

[0045] In this embodiment, the process of determining altitude change information based on the throttle channel input includes not only simple median determination, but also input normalization, dead-zone processing, and dynamic sensitivity mapping. The controller first normalizes the throttle channel input, mapping the original PWM or digital signal to a standardized range between 0 and 1, and sets a dead-zone interval centered on the median value. For example, 0.5 is set as the median value, with ±Δ dead-zone ranges on either side. When the throttle input is within the dead-zone range, the controller assumes the pilot intends to maintain the current altitude, locks the current altitude estimate as the target altitude, and continuously updates the altitude error to zero or near-zero. To avoid frequent changes in the target altitude due to minor input jitter, the throttle signal can be low-pass filtered or a hysteresis interval can be set.

[0046] When the throttle input is above the upper boundary of the dead zone, the controller calculates the height change information based on the magnitude of the throttle deviation from the midpoint. This height change information can take one of two forms: one is the target height change, which maps the throttle deviation to the increment of the target height per unit time using a proportional coefficient and accumulates it to the target height variable; the other is the target vertical speed command, which directly maps the throttle deviation to the desired ascent speed. If the target height change method is used, the controller can accumulate the change at a fixed control cycle to achieve a continuous climbing effect; if the target vertical speed method is used, the speed is used as the closed-loop control target. When the throttle input is below the lower boundary of the dead zone, the same logic is used to generate a decrease in the target height or a descent speed command.

[0047] Furthermore, throttle mapping parameters can be set to achieve a non-linear response, such as using lower sensitivity for small throttle changes and higher sensitivity for large changes, to enhance the linear feel of the controls. The controller can also correct altitude change information based on the current tilt angle, for example, appropriately increasing the altitude control gain during high tilt flight to offset the reduction in the vertical component caused by thrust decomposition.

[0048] This embodiment improves the controllability and continuity of altitude change information generation logic by performing dead-zone processing, proportional mapping, and dynamic correction on the throttle channel input.

[0049] In this embodiment, generating the throttle control quantity based on the altitude estimation result and the altitude change information includes: Based on the height change information, determine the target height or the target vertical velocity; Calculate the height error between the target height and the height estimation result and / or the velocity error between the target vertical velocity and the estimated vertical velocity; The height error and / or the speed error are input into the closed-loop controller to obtain the height control value; The throttle control quantity is generated based on the height control quantity.

[0050] In this embodiment, the process of generating the throttle control quantity based on the altitude estimation result and altitude change information adopts a hierarchical closed-loop control structure. The controller first determines the target altitude or target vertical velocity variable based on the altitude change information. If the target altitude method is used, the altitude error is formed by the difference between the target altitude and the current altitude estimation result; if the target vertical velocity method is used, the velocity error is formed by the difference between the target vertical velocity and the estimated vertical velocity. In practical implementation, a dual-loop control structure can be used, where the outer loop is the altitude loop and the inner loop is the vertical velocity loop. The altitude error is used to generate the target vertical velocity through proportional or proportional-integral calculation, and the difference between the target vertical velocity and the estimated vertical velocity is then used by a proportional-integral-derivative controller to generate the altitude control quantity.

[0051] To prevent integral saturation, the controller can limit the integral term and freeze it when the throttle output reaches its upper or lower limits. To suppress the influence of sensor noise on the control quantity, the error signal can be filtered. The generated altitude control quantity is superimposed with the hovering reference thrust to form the throttle control quantity, where the hovering reference thrust can be obtained through aircraft self-learning or calibration. To prevent sudden throttle changes from affecting flight stability, the final throttle control quantity can be slope-limited or amplitude-limited to ensure that the output value is within the thrust range allowed by the motor.

[0052] When the tilt angle is large, the vertical component of the thrust vector decreases. The controller can compensate for this by dividing the throttle control by cos(current tilt angle) or by adjusting the gain based on the thrust decomposition relationship, in order to maintain stable actual vertical thrust. This compensation logic can be integrated into the altitude closed-loop control as an optional implementation.

[0053] By adopting a dual-loop closed-loop control structure and combining it with amplitude limiting, integral anti-saturation, and tilt compensation mechanisms, the dynamic response performance and steady-state accuracy of height control can be improved, while enhancing the system robustness.

[0054] In this embodiment, generating attitude control quantities based on the attitude channel input includes: Based on the attitude channel input, determine the angular velocity command or attitude increment command; The attitude control quantity is generated based on the angular velocity command or attitude increment command; wherein, when the current tilt angle is less than or equal to the preset limit angle, the attitude holding control quantity is not generated based on the absolute attitude angle in the attitude information.

[0055] In this embodiment, the attitude channel input is processed using angular velocity control mode instead of attitude angle holding mode. The controller maps the attitude channel input to a target angular velocity value; for example, it maps roll stick input to roll angular velocity command and pitch stick input to pitch angular velocity command. The current angular velocity is measured in real time by the gyroscope. The controller calculates the difference between the target angular velocity and the current angular velocity to form an angular velocity error, and outputs an attitude control quantity through the angular velocity controller. This attitude control quantity is distributed to each motor through a mixing matrix to form differential thrust, thereby changing the aircraft's attitude.

[0056] When the current tilt angle is less than or equal to the preset limit angle, the system does not generate attitude-holding control variables based on the absolute attitude angle. That is, it does not lock the attitude target to a fixed angle, nor does it automatically return to a horizontal attitude when the joystick returns to center. Instead, it maintains a zero angular velocity, thus preserving the manual maneuverability of the FPV aircraft. Within the limit area, although the target tilt angle may be limited, the angular velocity control framework remains unchanged, constraining only the input or target without altering the control mode.

[0057] In addition, to improve the smoothness of handling, the angular velocity command can be limited or the acceleration can be restricted, and the attitude control quantity can be filtered to avoid structural vibration or motor saturation caused by rapid handling.

[0058] By employing angular velocity control mode and eliminating attitude hold logic, the aircraft can maintain its FPV control characteristics during training or confined states, thus improving control consistency.

[0059] In this embodiment, receiving the exit input for height-assisted control includes: Receive trigger signals generated by the mode switch, button, or lever of the remote control; Upon receiving the trigger signal, exit the height-assisted control state and, after exiting, directly map the throttle channel input to the throttle control quantity. The method further includes: Multiple training gear parameter sets are set up, with different training gear parameter sets corresponding to different closed-loop controller parameters and / or different altitude change information mapping parameters. The current training gear parameter set is determined based on user selection and / or cumulative flight time.

[0060] In this embodiment, the exit input for altitude-assisted control is triggered via a mode switch, button, or lever on the remote control. The controller continuously monitors the corresponding channel signal, and when a signal state change is detected and a preset trigger condition is met, the control state is immediately switched. To avoid a sudden change in thrust during mode switching, the controller records the current throttle control value before exiting the altitude-assisted control state, and maps the throttle channel input to the vicinity of this throttle control value after the switch, achieving a smooth transition through linear interpolation or a gradual function. After exiting, the throttle channel input is directly mapped to the motor thrust output, no longer undergoing altitude closed-loop adjustment.

[0061] In addition, the system sets multiple training parameter sets, each including altitude closed-loop controller parameters, throttle mapping curve parameters, tilt limit angle parameters, and limit strength parameters. The controller switches training levels based on user manual selection or automatic switching based on accumulated flight time. For example, when the accumulated flight time reaches a preset threshold, the system automatically unlocks a higher parameter set. A smooth transition strategy can be employed during parameter set switching to avoid abrupt changes in control characteristics. The parameter sets are stored in non-volatile memory and loaded at startup.

[0062] In abnormal situations, such as detecting abnormal sensor data or altitude estimation failure, the system can automatically exit altitude assist control mode and revert to manual throttle mode to ensure flight safety.

[0063] This embodiment enhances the system's safety and adaptability by setting an exit mechanism and a tiered training parameter set, and provides different control strategies for different flight phases.

[0064] 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.

Claims

1. A flight control method for an FPV aircraft, characterized in that, The method includes: Acquire sensor information for attitude calculation and perform attitude calculation to obtain the attitude information of the aircraft; Based on the attitude information, determine the current tilt angle of the aircraft relative to the horizontal plane; Receive remote control input, which includes at least attitude channel input and throttle channel input; Determine whether the current tilt angle is greater than a preset limit angle; When the current tilt angle is less than or equal to the preset limit angle, an attitude control quantity is generated based on the attitude channel input, and in the height-assisted control state, height-related information is obtained and a height estimation result is obtained. The height change information is determined based on the throttle channel input, and a throttle control quantity is generated based on the height estimation result and the height change information. When the current tilt angle is greater than the preset limit angle, tilt angle limit control is performed to constrain the target tilt angle of the aircraft from exceeding the preset limit angle. The tilt angle limit control includes limiting the amplitude of the attitude channel input and / or limiting the target tilt angle, and generating attitude control quantity based on the attitude channel input. Upon receiving the exit input of altitude-assisted control, exit the altitude-assisted control state, stop generating the throttle control quantity based on the altitude estimation result, and generate the throttle control quantity based on the throttle channel input; Output flight control signals corresponding to the attitude control quantity and the throttle control quantity.

2. The method according to claim 1, characterized in that, The sensing information includes gyroscope data and accelerometer data; The attitude information of the aircraft includes the roll angle and pitch angle of the aircraft.

3. The method according to claim 2, characterized in that, Determining the current tilt angle of the aircraft relative to the horizontal plane based on the attitude information includes: Based on the roll angle and the pitch angle, the angle between the preset reference axis of the aircraft and the horizontal plane is determined, and the angle is used as the current tilt angle, wherein the preset reference axis is the vertical axis or thrust axis of the aircraft.

4. The method according to claim 1, characterized in that, The preset limiting angle is a configurable parameter, and the configuration range of the preset limiting angle is 10° to 60°.

5. The method according to claim 1, characterized in that, The execution of tilt angle limit control includes: When the current tilt angle is greater than the preset limit angle, and the attitude channel input is pointing to increase the target tilt angle, the attitude channel input is subjected to amplitude limiting processing. If the current tilt angle is greater than the preset limit angle, the target tilt angle is limited to the preset limit angle, and the attitude control quantity is generated based on the target tilt angle.

6. The method according to claim 2, characterized in that, The process of obtaining height-related information and obtaining height estimation results includes: Obtain barometer altitude information; Based on the accelerometer data, determine the vertical acceleration information; The barometer altitude information is filtered to obtain a first altitude estimate; Integrate the vertical acceleration information and combine it with the attitude information to perform coordinate transformation to obtain a second height estimate; The height estimation result is obtained by fusing the first height estimate with the second height estimate based on complementary filtering or Kalman filtering.

7. The method according to claim 1, characterized in that, The determination of altitude change information based on the throttle channel input includes: When the throttle input is in a preset mid-range, the height change information is used to indicate that the target height is maintained; When the throttle input is higher than the preset median range, the height change information is used to indicate the amount of change in the target height and / or the ascent speed command; When the throttle input is lower than the preset median range, the height change information is used to indicate the amount of change in the target height and / or the descent speed command.

8. The method according to claim 1, characterized in that, The process of generating the throttle control quantity based on the altitude estimation result and the altitude change information includes: Based on the height change information, determine the target height or the target vertical velocity; Calculate the height error between the target height and the height estimation result and / or the velocity error between the target vertical velocity and the estimated vertical velocity; The height error and / or the speed error are input into the closed-loop controller to obtain the height control value; The throttle control quantity is generated based on the height control quantity.

9. The method according to claim 1, characterized in that, The generation of attitude control quantities based on the attitude channel input includes: Based on the attitude channel input, determine the angular velocity command or attitude increment command; The attitude control quantity is generated based on the angular velocity command or attitude increment command; wherein, when the current tilt angle is less than or equal to the preset limit angle, the attitude holding control quantity is not generated based on the absolute attitude angle in the attitude information.

10. The method according to claim 1, characterized in that, The exit input for receiving height-assisted control includes: Receive trigger signals generated by the mode switch, button, or lever of the remote control; Upon receiving the trigger signal, exit the height-assisted control state and, after exiting, directly map the throttle channel input to the throttle control quantity. The method further includes: Multiple training parameter sets are set up, with different training parameter sets corresponding to different closed-loop controller parameters and / or different altitude change information mapping parameters. The current training parameter set is determined based on user selection and / or cumulative flight time.