Downgrade control method and apparatus, multicopter aircraft and chip
By employing degraded control methods and dynamic updates to the reference control point position, the problem of rollover and loss of control after a multi-rotor aircraft motor failure was solved, improving attitude stability and controllability and ensuring the safety and stability of the aircraft under fault conditions.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHENZHEN DEEPSEA LNNOVATIONS TECH CO LTD
- Filing Date
- 2025-12-16
- Publication Date
- 2026-04-17
AI Technical Summary
Multirotor aircraft are prone to tipping over and losing control after motor failure, leading to safety hazards and the risk of crashes. Existing technology makes it difficult to quickly and accurately identify faulty motors and restore the aircraft's balance.
A degraded control method is adopted, which simplifies the original motion attitude control command vector through a preset degraded strategy, dynamically updates the reference control point position, and generates a degraded control allocation matrix to accurately allocate normal motor thrust commands in order to maintain the stability of critical flight states.
It improves the attitude stability and controllability of multi-rotor aircraft after motor failure, avoids waste of control system resources and oscillation, and enhances the inherent stability and controllability of the aircraft.
Smart Images

Figure CN121349145B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of multi-rotor aircraft technology, specifically to a degradation control method, device, multi-rotor aircraft, and chip. Background Technology
[0002] Multirotor aircraft rely on the lift and torque generated by multiple motors to achieve flight and attitude control, thereby ensuring the stability and safety of the drone. Under normal flight conditions, the torque output of each motor cancels out each other and dynamically adapts to maintain the torque balance of the fuselage, ensuring that the drone can respond smoothly to control commands. However, if a motor suddenly fails during flight due to collision, circuit burnout, blade damage, or other reasons, the original torque balance will be broken instantly, leading to serious problems such as fuselage rollover and loss of attitude control, creating safety hazards and the risk of crash.
[0003] To avoid the risk of a drone tipping over and losing control after a motor failure, the primary task is to quickly and accurately identify the faulty motor, and then restore the aircraft's balance as much as possible to maintain its stability and controllability to avoid serious consequences.
[0004] After a faulty motor is detected, how to regain control of the multirotor aircraft and maximize its attitude stability and controllability is an urgent problem to be solved. Summary of the Invention
[0005] To address the problems in the related technologies, this disclosure provides a degradation control method, apparatus, multi-rotor aircraft, and chip.
[0006] In a first aspect, this disclosure provides a degradation control method applied to a multi-rotor aircraft, the multi-rotor aircraft including multiple motors, the method comprising:
[0007] When a fault is detected in at least one of the multiple motors, the current original motion posture control command vector is obtained;
[0008] Based on a preset degradation strategy, the current original motion attitude control command vector is downgraded to obtain a downgraded motion attitude control command vector.
[0009] Obtain faulty motor information; update the current reference control point position based on the faulty motor information to obtain the updated reference control point position; the position of the reference control point is used to indicate the origin position of the multi-rotor aircraft's body coordinate system;
[0010] A downgraded control assignment matrix is generated based on the updated position of the reference control point;
[0011] Based on the downgraded motion attitude control command vector and the downgraded control allocation matrix, the thrust command vector of the normal motors to the multirotor aircraft is obtained; wherein, the normal motors include the remaining motors other than the faulty motors among the plurality of motors; the downgraded control allocation matrix is used to define the mapping relationship between the downgraded motion attitude control command vector and the thrust command vector;
[0012] The multi-rotor aircraft is controlled based on the thrust command vector.
[0013] According to embodiments of this disclosure, the current original motion attitude control command vector includes: total thrust command, roll torque command, pitch torque command, and yaw torque command. The total thrust command is used to control the vertical altitude and / or climb / fall rate of the multirotor aircraft. The roll torque command is used to control the rotation of the multirotor aircraft about the roll axis. The pitch torque command is used to control the rotation of the multirotor aircraft about the pitch axis. The yaw torque command is used to control the rotation of the multirotor aircraft about the yaw axis.
[0014] The preset degradation strategy includes:
[0015] Set the yaw moment command in the current original motion attitude control command vector to zero. The degraded motion attitude control command vector includes the total thrust command, roll moment command, pitch moment command, and 0 from the current original motion attitude control command vector; or...
[0016] The yaw moment command is removed from the current original motion attitude control command vector, and the downgraded motion attitude control command vector includes the total thrust command, roll moment command, and pitch moment command from the current original motion attitude control command vector.
[0017] According to embodiments of this disclosure, when the faulty motor is any one of the plurality of motors, the faulty motor information includes: faulty motor location information, and updating the position of the current reference control point based on the faulty motor information includes:
[0018] The updated reference control point position is determined based on the faulty motor location information and the current flight status information of the multirotor aircraft.
[0019] Offset the position of the current reference control point to the position of the updated reference control point.
[0020] According to embodiments of this disclosure, the faulty motor location information includes: a position vector pointing from the center of mass of the multirotor aircraft to the center of the rotor disk of the faulty motor; the step of determining the updated reference control point position based on the faulty motor location information and the current flight state information of the multirotor aircraft includes:
[0021] The initial offset vector is calculated based on the position vector of the multi-rotor aircraft's center of mass pointing towards the center of the rotor disk of the faulty motor and the preset initial offset coefficient;
[0022] Based on the current flight status information of the multi-rotor aircraft, the initial offset vector is dynamically adjusted to obtain the target offset vector;
[0023] The endpoint of the target offset vector is used as the position of the updated reference control point.
[0024] According to embodiments of this disclosure, when the faulty motor is any one of the plurality of motors, the faulty motor information includes: index information of the faulty motor, and updating the position of the current reference control point based on the faulty motor information includes:
[0025] Based on the index information of the faulty motor and the mapping relationship between the index information of the motor and the midpoint of the line connecting the center of mass of the multirotor aircraft to the center of the motor's rotor disk, the midpoint of the line connecting the center of mass of the multirotor aircraft and the center of the rotor disk of the faulty motor is obtained.
[0026] The position of the current reference control point is offset to the midpoint of the line connecting the center of mass of the multirotor aircraft and the center of the rotor disk of the faulty motor, and the midpoint of the line connecting the center of mass of the multirotor aircraft and the center of the rotor disk of the faulty motor is taken as the position of the updated reference control point.
[0027] According to embodiments of this disclosure, generating the degraded control assignment matrix based on the updated reference control point position includes:
[0028] Based on the position of the updated reference control point, the lever arm of each motor in the normal motor corresponding to the roll axis and pitch axis is obtained respectively based on the updated reference control point;
[0029] The degraded control allocation matrix is generated based on the lever arms of each motor in the normal motor corresponding to the roll axis and pitch axis, respectively, according to the updated reference control point.
[0030] According to embodiments of this disclosure, obtaining the thrust command vector of the normal motor for the multirotor aircraft based on the downgraded motion attitude control command vector and the downgraded control allocation matrix includes:
[0031] Determine whether the downgraded control allocation matrix is a square matrix and invertible. If the downgraded control allocation matrix is a square matrix and invertible, calculate the inverse matrix of the downgraded control allocation matrix. If the downgraded control allocation matrix is not a square matrix or is not invertible, calculate the pseudo-inverse matrix of the downgraded control allocation matrix.
[0032] The inverse or pseudo-inverse matrix of the downgraded control allocation matrix is multiplied by the downgraded motion attitude control command vector to obtain the thrust command vector of the normal motor to the multirotor aircraft; wherein each element in the thrust command vector of the multirotor aircraft is obtained by performing a dot product operation between the corresponding row vector in the inverse matrix or the corresponding row vector in the pseudo-inverse matrix and the downgraded motion attitude control command vector.
[0033] Secondly, embodiments of this disclosure provide a degradation control device, the device being disposed in a multi-rotor aircraft, the multi-rotor aircraft including multiple motors, the device comprising:
[0034] The motion attitude control command vector acquisition module is configured to acquire the current original motion attitude control command vector when a fault is detected in at least one of the plurality of motors.
[0035] The motion attitude control command vector degradation processing module is configured to degrade the current original motion attitude control command vector based on a preset degradation strategy to obtain a degraded motion attitude control command vector.
[0036] The reference control point update module is configured to acquire faulty motor information; update the current reference control point position based on the faulty motor information to obtain the updated reference control point position; the position of the reference control point is used to indicate the origin position of the multi-rotor aircraft's body coordinate system.
[0037] The control allocation matrix generation module is configured to generate a degraded control allocation matrix based on the updated position of the reference control point.
[0038] The thrust command vector generation module is configured to obtain the thrust command vector of the normal motors to the multirotor aircraft based on the downgraded motion attitude control command vector and the downgraded control allocation matrix; wherein, the normal motors include the remaining motors other than the faulty motors among the plurality of motors; the downgraded control allocation matrix is used to define the mapping relationship between the downgraded motion attitude control command vector and the thrust command vector;
[0039] The flight control module is configured to control the multirotor aircraft based on the thrust command vector.
[0040] Thirdly, embodiments of this disclosure provide a chip including the apparatus described in the second aspect; or, including a memory and a processor; wherein the memory is used to store one or more computer instructions, wherein the one or more computer instructions are executed by the processor to implement the method described in any one aspect.
[0041] Fourthly, embodiments of this disclosure provide a multi-rotor aircraft including the chip described in the third aspect; or, including a memory and a processor; wherein the memory is used to store one or more computer instructions, wherein the one or more computer instructions are executed by the processor to implement the method described in any one of the first aspects.
[0042] According to the technical solution provided in this disclosure, on the one hand, after detecting a motor fault, a preset degradation strategy is adopted to downgrade the current original motion attitude control command vector (e.g., by setting the yaw torque command to zero or removing it to actively discard the control requirements for the yaw channel). This allows limited control resources (the thrust of the normal motors) to be prioritized and concentrated on maintaining the most critical flight states, namely, the stability of altitude, pitch, and roll, avoiding the control system wasting energy and causing oscillations on tasks it cannot complete. On the other hand, based on the faulty motor information, the position of the reference control point used to calculate the lever arm is dynamically updated, shifting the current reference control point to the updated position. This naturally generates a gravity compensation torque opposite to the torque direction caused by the fault, making the aircraft easier to control and greatly enhancing its inherent stability. Finally, the downgraded motion attitude control commands are precisely allocated to each normal motor using the downgraded control allocation matrix generated based on the updated reference control point, forming a complete, efficient, and robust fault-tolerant control closed loop. This fundamentally improves the controllability and stability of the multi-rotor aircraft after a fault.
[0043] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description
[0044] Other features, objects, and advantages of this disclosure will become more apparent from the following detailed description of non-limiting embodiments, taken in conjunction with the accompanying drawings. In the drawings:
[0045] Figure 1 A flowchart illustrating a degradation control method according to an embodiment of the present disclosure is shown;
[0046] Figure 2 A flowchart illustrating a method for determining the position of an updated reference control point according to an embodiment of the present disclosure is shown.
[0047] Figure 3A schematic diagram showing the location of the motors of a quadcopter according to an embodiment of the present disclosure is provided.
[0048] Figure 4 A structural block diagram of a degradation control device according to an embodiment of the present disclosure is shown;
[0049] Figure 5 A structural block diagram of a multi-rotor aircraft according to an embodiment of the present disclosure is shown. Detailed Implementation
[0050] In the following, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings to enable those skilled in the art to readily implement them. Furthermore, for clarity, portions unrelated to the description of exemplary embodiments have been omitted from the drawings.
[0051] In this disclosure, it should be understood that terms such as “comprising” or “having” are intended to indicate the presence of features, figures, steps, behaviors, components, parts or combinations thereof disclosed in this specification, and are not intended to exclude the possibility of the presence or addition of one or more other features, figures, steps, behaviors, components, parts or combinations thereof.
[0052] It should also be noted that, unless otherwise specified, the embodiments and features described in this disclosure can be combined with each other. This disclosure will now be described in detail with reference to the accompanying drawings and embodiments.
[0053] In this disclosure, any operation involving the acquisition of user information or user data, or the display of user information or user data to others, is an operation authorized or confirmed by the user, or actively selected by the user.
[0054] As mentioned earlier, when a motor malfunctions during the flight of a multi-rotor aircraft, the original torque balance will be broken instantly, leading to serious problems such as fuselage rollover and loss of attitude control, resulting in safety hazards and the risk of crash.
[0055] In order to regain control of a multirotor aircraft after a faulty motor is detected, and to maximize the attitude stability and controllability of the multirotor aircraft, this disclosure provides a degrade control method, device, multirotor aircraft, and chip for multirotor aircraft.
[0056] Figure 1 A flowchart illustrating a degradation control method according to an embodiment of the present disclosure is shown. The method is applied to a multirotor aircraft, which includes multiple motors and a flight controller.
[0057] In one implementation of this disclosure, the method can be applied to any one or more modules in the flight controller of the multirotor aircraft; in another implementation of this disclosure, the method can also be applied to a dedicated module independent of the flight controller, which continuously monitors the aircraft status, and immediately executes the method to perform degraded control on the flight controller once a motor failure occurs.
[0058] Taking a quadcopter as an example, a quadcopter includes: sensors, flight controller, electronic speed controller, four motors and corresponding propellers, etc.
[0059] The sensors are responsible for sensing the aircraft's own state and the external environment, and may include, but are not limited to: an inertial measurement unit (IMU), a magnetometer, a barometer, and a GPS module. The IMU includes a gyroscope that measures the angular velocity of the aircraft around the X, Y, and Z axes, and an accelerometer that measures the linear acceleration of the aircraft along the three axes. It is used to combine the data from the gyroscope and accelerometer through data fusion algorithms (such as complementary filtering and Kalman filtering) to calculate the aircraft's current attitude angles (roll, pitch, and yaw). The magnetometer is used to sense the direction of the Earth's magnetic field, provide an absolute heading reference (the nose points north), correct the integral drift of the gyroscope, and provide the correct yaw angle. The barometer is used to estimate the relative altitude of the aircraft by measuring atmospheric pressure.
[0060] The flight controller is responsible for processing information and making decisions. It receives raw data from all sensors, filters and fuses it to obtain a reliable and accurate current actual attitude (attitude, position, and velocity). Then, it compares the desired position (from GPS waypoints or remote controller) with the actual position to calculate the required desired attitude. After that, it compares the desired attitude with the actual attitude to calculate the three torque commands (roll torque command, pitch torque command, and yaw torque command) and the total thrust command that need to be applied to the aircraft. Finally, it uses the control allocation matrix to solve these four virtual control commands into independent thrust commands for the four motors.
[0061] One end of the electronic speed controller (ESC) is connected to the motor output channel of the flight controller via a PWM or digital signal line, and the other end is connected to the motor via a three-phase line. It receives thrust commands from the flight controller and precisely controls the frequency and amplitude of the AC power output to the motor based on these commands, thereby controlling the motor's speed and torque. The motor then converts the electrical energy supplied by the ESC into rotational mechanical energy, ultimately driving the propeller to rotate at high speed. This rotational mechanical energy is then converted into aerodynamic force—lift (thrust) and torque steer. In a quadcopter, diagonal motors rotate in the same direction, while adjacent motors rotate in opposite directions to cancel out counter-torque and achieve yaw stability.
[0062] In this disclosure, when the system detects a motor failure in a multirotor aircraft (such as a quadcopter), it no longer attempts to generate infeasible motor thrust based on the original, complete control commands (including total thrust and triaxial torque commands). Instead, it first adopts a preset degradation strategy (such as actively abandoning control of the yaw channel) to selectively downgrade and simplify the original control commands calculated by the flight controller, resulting in a set of simplified and feasible downgraded control commands. Subsequently, the system does not directly perform conventional thrust allocation based on this set of downgraded commands. Instead, through a series of operations such as dynamically updating the control reference point and reconstructing the control allocation matrix, it ultimately maps the downgraded control commands precisely to thrust commands for the remaining normal motors. Thus, under the condition of impaired control capability, it prioritizes and stably maintains the core flight attitude of the aircraft.
[0063] like Figure 1 As shown, the method includes the following steps S110~S160:
[0064] In step S110, when a fault is detected in at least one of the plurality of motors, the current original motion posture control command vector is obtained.
[0065] In one implementation of this disclosure, detecting whether a motor fault has occurred can be achieved based on the following steps:
[0066] Step 1: Obtain the desired motion attitude data of the multi-rotor aircraft.
[0067] Step 2: Generate motion posture control command vector based on the desired motion posture data.
[0068] Step 3: Based on the motion attitude control command vector and the preset control allocation matrix, obtain the desired thrust command vector for each motor on the multi-rotor aircraft.
[0069] Step four: Based on the execution of the desired thrust command vector by each motor, obtain the actual motion attitude data of the corresponding multi-rotor aircraft.
[0070] Step 5: Compare the desired motion attitude data with the actual motion attitude data. If the deviation between the current desired motion attitude data and the current actual motion attitude data meets the preset motor fault determination conditions, it is determined that at least one of the multiple motors has failed. Then: obtain the current actual force vector of the multi-rotor aircraft based on the current actual motion attitude data; obtain the current actual thrust vector of each motor on the multi-rotor aircraft based on the current actual force vector and the preset control allocation matrix; obtain the current desired thrust command vector of each motor on the multi-rotor aircraft corresponding to the current desired motion attitude data.
[0071] The faulty motor among the plurality of motors is determined based on the current expected thrust command vector and the current actual thrust vector.
[0072] According to embodiments of this disclosure, the motion attitude control command vector includes: a total thrust command, a roll torque command, a pitch torque command, and a yaw torque command. The total thrust command is used to control the vertical altitude and / or climb / fall rate of the multirotor aircraft. The roll torque command is used to control the rotation of the multirotor aircraft about its roll axis. The pitch torque command is used to control the rotation of the multirotor aircraft about its pitch axis. The yaw torque command is used to control the rotation of the multirotor aircraft about its yaw axis. The control allocation matrix is constructed based on the number of the plurality of motors, the direction of rotation of each motor among the plurality of motors, the lever arm length of each motor relative to the roll axis and the pitch axis, and the ratio coefficient of thrust to anti-torque of each motor. Each column in the control allocation matrix corresponds to the contribution capability of one of the plurality of motors to each control channel of the multirotor aircraft. The control channels include: a thrust channel, a roll channel, a pitch channel, and a yaw channel.
[0073] The step of obtaining the desired thrust command vector for each motor of the multirotor aircraft based on the motion attitude control command vector and the preset control allocation matrix includes:
[0074] The desired thrust command vector for each motor on the multirotor aircraft is obtained based on the following formula:
[0075] = ;
[0076] in, This represents the pseudo-inverse matrix or inverse matrix of the preset control allocation matrix; This indicates the desired total thrust included in the total thrust command; This indicates the desired roll torque included in the roll torque command. This indicates the desired pitch moment included in the pitch moment command. This indicates the desired yawing moment included in the yawing moment command. This represents the desired thrust in the desired thrust command for the multirotor aircraft from the i-th motor among the plurality of motors. , The number of the plurality of motors.
[0077] According to embodiments of this disclosure, the multirotor aircraft further includes a first sensor and a second sensor, and the flight controller includes an attitude control module; the desired motion attitude data includes: angular acceleration vector and linear acceleration vector that the multirotor aircraft should achieve, calculated by the attitude control module based on the desired flight state; the actual motion attitude data includes: the actual angular acceleration vector achieved by the multirotor aircraft based on the measurement data of the first sensor, and the actual linear acceleration vector achieved by the multirotor aircraft based on the measurement data of the second sensor, wherein the angular acceleration vector includes: roll angular acceleration, pitch angular acceleration, and yaw angular acceleration, and the linear acceleration vector includes: linear acceleration along the roll axis, linear acceleration along the pitch axis, and linear acceleration along the yaw axis.
[0078] According to embodiments of this disclosure, the preset motor fault determination conditions include: a preset first motor fault determination condition, wherein satisfying the preset motor fault determination conditions includes:
[0079] The differences between the roll acceleration, pitch acceleration, and yaw acceleration in the current desired motion attitude data and the roll acceleration, pitch acceleration, and yaw acceleration in the current actual motion attitude data are calculated to obtain a three-axis angular acceleration residual vector. The Euclidean norm of the three-axis angular acceleration residual vector is calculated to obtain a comprehensive difference scalar value reflecting the overall inconsistency of the three-axis angular acceleration. This comprehensive difference scalar value is compared with a dynamic judgment threshold. When the comprehensive difference scalar value is greater than the dynamic judgment threshold, the preset first motor fault judgment condition is met. The dynamic judgment threshold is dynamically calculated based on the mean and standard deviation of the comprehensive difference scalar value of the multirotor aircraft within a recent historical time window of a preset length, as well as a preset sensitivity coefficient.
[0080] According to embodiments of this disclosure, the preset motor fault determination condition further includes: a preset second motor fault determination condition, wherein satisfying the preset motor fault determination condition further includes:
[0081] Monitoring the comprehensive difference scalar value based on the cumulative sum (CUSUM) algorithm includes: calculating the deviation between the comprehensive difference scalar value and a reference value; summing the deviation in real time to obtain the CUSUM statistic of the comprehensive difference scalar value; wherein the reference value is determined based on the mean of the comprehensive difference scalar value within a recent historical time window of a preset length; when the CUSUM statistic of the comprehensive difference scalar value exceeds a preset decision threshold, the preset second motor fault determination condition is met; when the preset first motor fault determination condition and / or the preset second motor fault determination condition are met, at least one of the plurality of motors is determined to have failed.
[0082] According to embodiments of this disclosure, the measurement data of the first sensor includes: the actual angular velocity vector reached by the multirotor aircraft, the angular velocity vector including: roll angular velocity, pitch angular velocity, and yaw angular velocity; the current actual force vector includes: the actual external torque vector and total thrust at the current moment; obtaining the current actual force vector of the multirotor aircraft based on the current actual motion attitude data includes:
[0083] Based on the rigid body rotational dynamics equations, the external torque vector in the current actual force vector is calculated according to the actual angular velocity vector, angular acceleration vector, and moment of inertia of the multirotor aircraft. The total thrust in the current actual force vector is calculated according to the actual linear acceleration vector and mass of the multirotor aircraft. The external torque vector includes: roll torque, pitch torque, and yaw torque. The current actual thrust vector of each motor on the multirotor aircraft is obtained based on the current actual force vector and a preset control allocation matrix, including:
[0084] The current actual thrust vector of each motor to the multirotor aircraft is obtained based on the following formula:
[0085] = ;
[0086] in, This represents the pseudo-inverse matrix or inverse matrix of the preset control allocation matrix; This represents the actual total thrust at the current moment; This represents the actual rolling torque at the current moment. This represents the actual pitch moment at the current moment. This represents the actual yaw moment at the current moment. This represents the current actual thrust of the i-th motor on the multirotor aircraft. , The number of the plurality of motors.
[0087] According to embodiments of this disclosure, determining the faulty motor among the plurality of motors based on the current desired thrust command vector and the current actual thrust vector includes:
[0088] Calculate the thrust residual vector based on the current expected thrust command vector and the current actual thrust vector;
[0089] The motor corresponding to the element with the largest absolute value in the thrust residual vector is identified as the faulty motor.
[0090] or,
[0091] The fault amplitude vector is obtained by performing least-squares fitting between the thrust residual vector and a preset fault mapping matrix; wherein, the fault mapping matrix is a... The matrix, The number of motors is given. Each column of the fault mapping matrix corresponds to the theoretical fault signature vector when one of the motors experiences a unit thrust fault. The theoretical fault signature vector is determined as follows: For the i-th motor, the column vector corresponding to the i-th motor in the preset control allocation matrix is set to zero to obtain the reduced-order control allocation matrix of the i-th motor; the pseudo-inverse matrix of the reduced-order control allocation matrix of the i-th motor is calculated, and the transpose of the i-th row vector in the pseudo-inverse matrix of the reduced-order control allocation matrix of the i-th motor is used as the theoretical fault signature vector corresponding to the i-th motor; the motor corresponding to the element with the largest absolute value in the fault amplitude vector is identified as the faulty motor.
[0092] Steps one through five above are executed in the flight controller. When a motor failure is detected in the multirotor aircraft based on steps one through five above, the current original motion attitude control command vector calculated by the corresponding module within the current control cycle is immediately latched. The current original motion attitude control command vector includes: total thrust command, roll torque command, pitch torque command, and yaw torque command. The total thrust command is used to control the vertical altitude and / or climb rate of the multirotor aircraft, the roll torque command is used to control the rotation of the multirotor aircraft about the roll axis (X-axis), the pitch torque command is used to control the rotation of the multirotor aircraft about the pitch axis (Y-axis), and the yaw torque command is used to control the rotation of the multirotor aircraft about the yaw axis (Z-axis).
[0093] Taking a quadcopter as an example, the current original motion attitude control command vector It is a 4×1 column vector, specifically: ,in, The total thrust included in the total thrust command. The rolling torque is included in the rolling torque command. The pitch moment included in the pitch moment command. The yaw moment is included in the yaw moment command.
[0094] In step S120, based on a preset degradation strategy, the current original motion attitude control command vector is downgraded to obtain a downgraded motion attitude control command vector.
[0095] The core of the pre-defined degradation strategy in this disclosure is resource reallocation, prioritizing the stability of core degrees of freedom.
[0096] In one implementation of this disclosure, the preset degradation strategy includes: removing the yaw moment command from the current original motion attitude control command vector; the degraded motion attitude control command vector includes the total thrust command, roll moment command, and pitch moment command from the current original motion attitude control command vector, thereby forming a simplified 3×1 degraded motion attitude control command vector. Correspondingly, the downgraded control allocation matrix also needs to remove the row vectors related to yaw moment, changing from a 4xN matrix to a 3xN matrix. This operation means that the system actively relinquishes active control over the yaw channel, accepting that the aircraft may spin around the Z-axis. Due to the imbalance of yaw moment, the aircraft's yaw will naturally rotate, and the gyroscopic moment generated by the fuselage rotation will also pull the fuselage horizontally, which is beneficial to control. Thus, all control resources are concentrated on maintaining altitude, pitch, and roll stability.
[0097] In another implementation of this disclosure, the preset degradation strategy includes: setting the yaw moment command in the current original motion attitude control command vector to zero, that is: In this way, the downgraded motion attitude control command vector is still 4-dimensional, meaning the yaw channel still exists, but the yaw torque value contained in its command is forcibly set to 0. Removing the yaw torque command, because it operates on a lower-dimensional matrix, requires less computation. Therefore, compared to setting the yaw torque command to zero, it has advantages in reducing computational complexity and saving processor resources. However, if the flight control system architecture requires the dimension of the control command vector to remain constant, then setting the yaw torque command to zero is more advantageous in maintaining the consistency of the software interface. In practical applications, the method used to downgrade the original motion attitude control command vector can be selected according to project needs.
[0098] In step S130, faulty motor information is obtained; the position of the current reference control point is updated according to the faulty motor information to obtain the updated position of the reference control point; the position of the reference control point is used to indicate the origin position of the multi-rotor aircraft's body coordinate system.
[0099] Generally, the origin of the multirotor aircraft's coordinate system, O(0,0,0), is located at the aircraft's center of mass. The X-axis points towards the nose, the Y-axis points towards the right side of the fuselage, and the Z-axis points vertically downwards. In other words, the initial reference control point is the location of the multirotor's center of mass. Until a motor failure occurs, the current reference control point is the initial reference control point.
[0100] The purpose of step S130 is to generate a natural restoring torque using gravity by offsetting the reference control point. When the faulty motor is any of the plurality of motors, this disclosure provides two different implementation methods depending on the different types of faulty motor information.
[0101] In one implementation of this disclosure, a constant gravity compensation torque is introduced through a fixed, preset geometric relationship. The core principle is that the strength and direction of the compensation remain fixed regardless of the flight state, aiming to provide a basic and universal stability enhancement to achieve minimal instability and avoid immediate rollover.
[0102] In seeking a solution to achieve gravity compensation by offsetting the reference control point, this disclosure, through extensive and in-depth theoretical analysis, computer simulation, and repeated actual flight tests, found that offsetting the reference control point to the midpoint of the line connecting the center of mass of the multirotor aircraft and the center of the rotor disk of the faulty motor can achieve the most robust stability with the simplest computational cost under normal flight conditions (such as hovering and low speed), thus achieving a balance between undercompensation and overcompensation. This implementation method is simple, reliable, and universal, and can achieve basic stability and avoid immediate rollover, making it suitable for fault scenarios that require instantaneous response.
[0103] Specifically, the faulty motor information includes: the index information of the faulty motor, and updating the position of the current reference control point based on the faulty motor information includes:
[0104] Based on the index information of the faulty motor and the mapping relationship between the motor's index information and the midpoint of the line connecting the multirotor's center of mass to the center of the motor's rotor disk, the midpoint of the line connecting the multirotor's center of mass to the center of the faulty motor's rotor disk can be obtained. This mapping relationship can be implemented using a lookup table, which records the mapping relationship between the index information of each motor and the midpoint of the line connecting the center of mass to the corresponding motor's rotor disk center.
[0105] The position of the current reference control point is offset to the midpoint of the line connecting the center of mass of the multirotor aircraft and the center of the rotor disk of the faulty motor, and the midpoint of the line connecting the center of mass of the multirotor aircraft and the center of the rotor disk of the faulty motor is taken as the position of the updated reference control point.
[0106] In another implementation of this disclosure, a scheme is provided for dynamically and adaptively adjusting the position of the reference control point (i.e., the origin of the body coordinate system). This scheme treats the adjustment of the reference control point as an optimization process affected by the flight state, rather than a simple selection of the geometric midpoint, aiming to find a virtual control center for the aircraft after a failure that maximizes the remaining normal motor control efficiency and the optimal balanced attitude control capability.
[0107] Specifically, in this implementation, the faulty motor information includes: faulty motor location information; updating the position of the current reference control point based on the faulty motor information includes:
[0108] The updated reference control point position is determined based on the faulty motor position information and the current flight status information of the multirotor aircraft; the position of the current reference control point is shifted to the position of the updated reference control point.
[0109] In a specific example, before the failure occurs, the initial origin of the body coordinate system is located at the center of mass of the multirotor aircraft by default. The X-axis points towards the nose, the Y-axis points towards the right side of the fuselage, and the Z-axis points towards the belly according to the right-hand rule. In this body coordinate system, the position of the propeller disk center of the i-th motor is determined by a fixed vector. It means that, among them, This represents the coordinates of the motor in the XY plane of the aircraft's coordinate system, with its Z coordinate typically being 0 or negligible. After fault diagnosis, if the k-th motor is determined to be the faulty motor, its position information can be obtained. This faulty motor position information includes: the position vector r_fault pointing from the multirotor's center of mass to the center of the rotor disk of the faulty motor. The endpoint of the position vector r_fault represents the position of the rotor disk center of the faulty motor, which can be determined using x, y, and z coordinates, and can be expressed mathematically as: .in, This indicates the coordinates of the propeller center of the faulty motor on the X-axis (roll axis) of the machine coordinate system. The coordinates of the propeller disk center of the faulty motor on the Y-axis (pitch axis) of the body coordinate system are represented by 0, and the coordinates of the propeller disk center of the faulty motor on the Z-axis (yaw axis) of the body coordinate system are represented by 0, indicating that all motors are in the same plane.
[0110] The position of the propeller disk center of each motor is an inherent design parameter of the aircraft, which is pre-stored in the flight control software and corresponds one-to-one with the index number of each motor. In specific implementation, the position vector of the propeller disk center corresponding to the index information of each motor can be pre-stored in the system. When the index of the faulty motor is determined, its corresponding position vector can be directly obtained by looking up the index of the faulty motor.
[0111] Figure 2 A flowchart illustrating a method for determining the position of an updated reference control point according to an embodiment of this disclosure is shown. Figure 2 As shown, specifically, determining the updated reference control point position based on the faulty motor location information and the current flight status information of the multi-rotor aircraft includes the following steps S210~S230:
[0112] In step S210, the initial offset vector is calculated based on the position vector of the multi-rotor aircraft's center of mass pointing to the center of the propeller disk of the faulty motor and a preset initial offset coefficient.
[0113] The purpose of this step is to initially determine an offset direction and magnitude that is conducive to balance and control. The preset initial offset coefficient is a constant between 0 and 1 (e.g., 0.5).
[0114] When calculating the initial offset vector, the initial offset coefficient k_initial is multiplied by the position vector r_fault to obtain the initial offset vector d_initial. The initial offset vector is essentially the result of scaling the position vector r_fault of the faulty motor by the coefficient k_initial. Its direction points precisely to the center of the faulty motor's propeller disk, and its magnitude is proportional to the distance from the center of the faulty motor's propeller disk to its center of mass.
[0115] In step S220, the initial offset vector is dynamically adjusted based on the current flight status information of the multi-rotor aircraft to obtain the target offset vector.
[0116] In this specific implementation, instead of simply using a fixed initial offset, current flight status information is introduced as feedback to perform real-time, online correction and optimization of the initial offset vector, thereby obtaining the final target offset vector used for execution. This ensures that the offset can adapt to the real-time dynamic characteristics of the aircraft.
[0117] The goal of dynamic adjustment is to make the strength and direction of the compensation torque adapt to the flight environment to achieve optimal stability. In practice, a dynamic adjustment function is used to adjust the initial offset vector d_initial, thereby calculating the target offset vector d_target.
[0118] In one specific example, the flight status information includes: the current airspeed V_air, which can be estimated by fusion of GPS speed, airspeed tube, or IMU data. In this example, the target offset vector d_target is implemented through the following dynamic adjustment function:
[0119] ;
[0120] in, This indicates the maximum expected speed of the multi-rotor aircraft. The lower limit coefficient (e.g., 0.4) is used to ensure that there is always minimum compensation, and the max(...) function guarantees that the coefficient is not negative.
[0121] As the aerodynamic damping of the aircraft increases and its stability is enhanced when the aircraft is flying at high speed, an excessive gravity compensation torque may cause pitch-roll coupled oscillation. This disclosure dynamically adjusts the initial offset vector according to the current flight status information of the multi-rotor aircraft, so that the higher the speed, the weaker the compensation torque, thereby avoiding overcompensation.
[0122] In another specific example, the flight status information includes: the continuous roll or pitch angle error of the multirotor aircraft toward the side of the faulty motor. (Desired roll angle minus actual roll angle, or desired pitch angle minus actual pitch angle). In this example, the target offset vector d_target is implemented using the following dynamic adjustment function:
[0123] ;
[0124] in, It is a preset integral gain used to ensure slow and smooth adjustment, in engineering implementation. The selection is based on the dimension "1 / (time × angle)", for example: 1 / (rad·s). Thus, if the aircraft has a continuous tilt, it indicates that the current compensation torque is insufficient. This disclosure automatically finds the optimal offset coefficient that can eliminate the steady-state error through an integrator, and slowly increases the target offset vector, so that the compensation torque is gradually enhanced until the aircraft is "righted" and the steady-state error is eliminated.
[0125] In step S230, the endpoint position of the target offset vector is used as the position of the updated reference control point.
[0126] If the center of mass of the multirotor aircraft is located at the origin O(0, 0, 0), then the updated reference control point position P_new is the endpoint position of the target offset vector, which is numerically equal to... The final position coordinates are obtained. Through this simple addition operation, the reference control point used by the flight controller to calculate all forces and torques is virtually moved from the physical center of mass O to a new position P_new.
[0127] In all subsequent torque calculations, the updated reference control point will be used as the new origin of the body coordinate system. This means that the reference datum used to calculate all motor lever arms and gravitational torques has been virtually moved from the current reference control point to the updated reference control point.
[0128] The scheme described in steps S210-S230 of this disclosure for updating the position of the current reference control point based on the faulty motor information, dynamically adjusts the reference point by incorporating current flight status information. This allows the reference point to move "intelligently" according to real-time flight conditions. For example, during forward flight, the reference point can automatically adjust to better compensate for asymmetric aerodynamic effects caused by the fault; when disturbed, it can adjust to enhance its ability to recover stability. This significantly improves the controllability and robustness of the aircraft in different flight phases and external environments after a fault.
[0129] In step S140, a downgraded control allocation matrix is generated based on the updated position of the reference control point.
[0130] The purpose of step S140 is to construct the downgraded control assignment matrix based on the updated reference control points calculated in step S130.
[0131] According to embodiments of this disclosure, generating the degraded control assignment matrix based on the updated reference control point position includes:
[0132] Based on the position of the updated reference control point, the lever arm of each motor in the normal motor corresponding to the roll axis and pitch axis is obtained respectively.
[0133] In particular, after the current reference control point is moved from the center of mass of the multirotor aircraft to the updated reference control point P_new, the lever arm vectors of all motors need to be recalculated.
[0134] For any normal motor j, its new lever arm vector r_j_new relative to the new reference control point (updated reference control point) P_new is calculated as follows:
[0135] r_j_new = r_j - P_new;
[0136] Where r_j is the endpoint of the position vector pointing from the center of mass of the multirotor aircraft to the center of the rotor disk of the normal motor j, and P_new is the position of the updated reference control point, that is, the position of the updated reference control point is the new origin position in the coordinate system of the multirotor aircraft.
[0137] After the above calculation, the obtained r_j_new is represented as Based on the calculated r_j_new, the lever arm of the normal motor j corresponding to the roll axis and pitch axis is extracted. The lever arm relative to the roll axis (X-axis) is the perpendicular distance from the thrust line of action to the X-axis, that is, the Y-coordinate of r_j_new. The absolute value; the lever arm relative to the pitch axis (Y-axis) is the perpendicular distance from the line of action of the thrust to the Y-axis, that is: the X coordinate of r_j_new. The absolute value of.
[0138] Finally, the degraded control allocation matrix is generated based on the lever arms of each motor in the normal motor corresponding to the roll axis and pitch axis respectively based on the updated reference control point.
[0139] Taking quadcopter aircraft as an example, Figure 3 This diagram illustrates the motor positions of a quadcopter according to an embodiment of the present disclosure. The motor layout and steering are assumed as follows: Motor 1 is located at the front right and rotates counter-clockwise; Motor 2 is located at the front left and rotates clockwise; Motor 3 is located at the rear left and rotates counter-clockwise; Motor 4 is located at the rear right and rotates clockwise. Before the malfunction occurs, the origin of the multirotor's coordinate system is at the aircraft's center of mass, and the control allocation matrix B is a 4x4 matrix, for example:
[0140] ;
[0141] In this matrix, each column of the control allocation matrix B corresponds to the contribution capability of one of the multiple motors to each control channel (roll, pitch, yaw, and thrust) of the multirotor aircraft. Each row corresponds to a motion attitude control command, defining how each motor needs to work collaboratively to achieve that command, i.e., the "thrust allocation formula" for that command. Specifically, This indicates the lever arm length of motor 1 relative to the roll axis. This indicates the lever arm length of motor #2 relative to the roll axis. This indicates the lever arm length of motor #3 relative to the roll axis. This indicates the lever arm length of motor #4 relative to the roll shaft; This indicates the lever arm length of motor 1 relative to the pitch axis. This indicates the lever arm length of motor 2 relative to the pitch axis. This indicates the lever arm length of motor #3 relative to the pitch axis. 'b' represents the lever arm length of motor 4 relative to the pitch axis; 'b' represents the ratio coefficient of motor thrust to counter-torque, which is related to the motor direction of rotation and the corresponding propeller pitch.
[0142] Among them, the control allocation matrix B contains the thrust command vectors of the four motors. Mapped to four motion attitude control commands Above, among which, The thrust included in the thrust command of motor 1 to the multirotor aircraft. The thrust included in the thrust command of motor 2 to the multirotor aircraft. The thrust included in the thrust command of motor 3 to the multi-rotor aircraft. The thrust is included in the thrust command of motor 4 to the multi-rotor aircraft.
[0143] like Figure 3 As shown, if motor 1 fails, the current reference control point will shift from the spacecraft's center of mass to, as shown in the diagram. Figure 3 The updated reference control point is shown near the faulty motor. When the preset degradation strategy is to remove the yaw torque command from the current original motion attitude control command vector, meaning the degraded motion attitude control command vector is a 3x1 vector, then the corresponding degraded control assignment matrix... The matrix does not include the proportional coefficients of thrust and counter-torque for each motor, nor the column corresponding to the faulty motor (motor 1). The degraded control allocation matrix is represented as follows:
[0144] ;
[0145] Thus, the downgraded control allocation matrix Each column represents the contribution capability of each normal motor to the three control channels (thrust, roll, and pitch) after degradation. This indicates the lever arm length of motor 2 relative to the roll axis based on the updated reference control point. This indicates the lever arm length of motor 3 relative to the roll axis based on the updated reference control point. This indicates the lever arm length of motor 4 relative to the roll axis based on the updated reference control point; This indicates the lever arm length of motor 2 relative to the pitch axis based on the updated reference control point. This indicates the lever arm length of motor 3 relative to the pitch axis based on the updated reference control point. This indicates the lever arm length of motor 4 relative to the pitch axis based on the updated reference control point.
[0146] When the preset degradation strategy is to set the yaw moment command in the current original motion attitude control command vector to zero, that is, the degraded motion attitude control command vector is still a 4x1 vector, but the yaw control command is set to 0, then the corresponding degraded control allocation matrix is... Each element in the row corresponding to the proportional coefficients of thrust and counter-torque of each motor is also set to 0, and each element in the column corresponding to the faulty motor (motor 1) is also set to 0. The degraded control allocation matrix is then represented as:
[0147] ;
[0148] In step S150, the thrust command vector of the normal motor to the multirotor aircraft is obtained according to the downgraded motion attitude control command vector and the downgraded control allocation matrix; wherein, the normal motor includes the remaining motors other than the faulty motor among the plurality of motors; the downgraded control allocation matrix is used to define the mapping relationship between the downgraded motion attitude control command vector and the thrust command vector.
[0149] According to embodiments of this disclosure, obtaining the thrust command vector of the normal motor for the multirotor aircraft based on the downgraded motion attitude control command vector and the downgraded control allocation matrix includes:
[0150] Determine whether the downgraded control allocation matrix is a square matrix and invertible. If the downgraded control allocation matrix is a square matrix and invertible, calculate the inverse matrix of the downgraded control allocation matrix. If the downgraded control allocation matrix is not a square matrix or is not invertible, calculate the pseudo-inverse matrix of the downgraded control allocation matrix.
[0151] The inverse or pseudo-inverse matrix of the downgraded control allocation matrix is multiplied by the downgraded motion attitude control command vector to obtain the thrust command vector of the normal motor to the multirotor aircraft; wherein each element in the thrust command vector of the multirotor aircraft is obtained by performing a dot product operation between the corresponding row vector in the inverse matrix or the corresponding row vector in the pseudo-inverse matrix and the downgraded motion attitude control command vector.
[0152] Taking a quadcopter as an example again, regardless of the downgraded control allocation matrix If the matrix is either 3x3 or 4x4, both being square matrices and invertible, then the inverse matrix of the downgraded control allocation matrix is calculated as follows: .
[0153] Taking a downgraded control allocation matrix of 3 rows and 3 columns as an example, the thrust command vector of the normal motor to the multirotor aircraft is... It can be represented as:
[0154] ;
[0155] in, Each element in is obtained by... The corresponding row vectors and It is obtained by performing a dot product operation. This means that the final thrust command of each normal motor is the result of a weighted combination of all three degraded motion attitude control commands.
[0156] In step S160, the multi-rotor aircraft is controlled based on the thrust command vector.
[0157] Specifically, the calculated thrust command vector The command is transmitted via a specific communication protocol to the electronic speed controllers corresponding to each normal motor. Each normal motor's electronic speed controller drives the motor to the target speed according to the command, thereby generating precise thrust. At this time, since the reference control point has shifted, gravity will automatically generate a compensating torque relative to the new reference control point. This torque works in conjunction with the control torque generated by the motor to counteract the unbalanced torque caused by the motor failure, ultimately achieving stable and controllable flight of the aircraft in the failure state.
[0158] Figure 4 A structural block diagram of a degradation control device according to an embodiment of the present disclosure is shown. This device can be implemented as part or all of an electronic device through software, hardware, or a combination of both. The device is disposed in the multi-rotor aircraft, which includes multiple motors.
[0159] like Figure 4 As shown, the degradation control device 400 includes:
[0160] A motion attitude control command vector acquisition module is configured to acquire the current original motion attitude control command vector when a fault is detected in at least one of the plurality of motors; a motion attitude control command vector degradation processing module is configured to downgrade the current original motion attitude control command vector based on a preset degradation strategy to obtain a downgraded motion attitude control command vector; a reference control point update module is configured to acquire faulty motor information; update the position of the current reference control point according to the faulty motor information to obtain the updated reference control point position; the position of the reference control point is used to indicate the origin position of the multi-rotor aircraft's body coordinate system; control The allocation matrix generation module is configured to generate a downgraded control allocation matrix based on the updated reference control point position; the thrust command vector generation module is configured to obtain a thrust command vector of the normal motors for the multirotor aircraft based on the downgraded motion attitude control command vector and the downgraded control allocation matrix; wherein, the normal motors include the remaining motors other than the faulty motors among the plurality of motors; the downgraded control allocation matrix is used to define the mapping relationship between the downgraded motion attitude control command vector and the thrust command vector; the flight control module is configured to control the multirotor aircraft based on the thrust command vector.
[0161] According to embodiments of this disclosure, the current original motion attitude control command vector includes: a total thrust command, a roll moment command, a pitch moment command, and a yaw moment command. The total thrust command is used to control the vertical altitude and / or climb / drop speed of the multirotor aircraft. The roll moment command is used to control the rotation of the multirotor aircraft about its roll axis. The pitch moment command is used to control the rotation of the multirotor aircraft about its pitch axis. The yaw moment command is used to control the rotation of the multirotor aircraft about its yaw axis.
[0162] The preset degradation strategy includes:
[0163] Set the yaw moment command in the current original motion attitude control command vector to zero. The degraded motion attitude control command vector includes the total thrust command, roll moment command, pitch moment command, and 0 from the current original motion attitude control command vector; or...
[0164] The yaw moment command is removed from the current original motion attitude control command vector, and the downgraded motion attitude control command vector includes the total thrust command, roll moment command, and pitch moment command from the current original motion attitude control command vector.
[0165] According to embodiments of this disclosure, when the faulty motor is any one of the plurality of motors, the faulty motor information includes: faulty motor location information, and updating the position of the current reference control point based on the faulty motor information includes:
[0166] The updated reference control point position is determined based on the faulty motor location information and the current flight status information of the multirotor aircraft.
[0167] Offset the position of the current reference control point to the position of the updated reference control point.
[0168] According to embodiments of this disclosure, the faulty motor location information includes: a position vector pointing from the center of mass of the multirotor aircraft to the center of the rotor disk of the faulty motor; the step of determining the updated reference control point position based on the faulty motor location information and the current flight state information of the multirotor aircraft includes:
[0169] The initial offset vector is calculated based on the position vector of the multirotor's center of mass pointing to the center of the rotor disk of the faulty motor and a preset initial offset coefficient; the initial offset vector is dynamically adjusted according to the current flight status information of the multirotor to obtain the target offset vector; the endpoint position of the target offset vector is used as the position of the updated reference control point.
[0170] According to embodiments of this disclosure, when the faulty motor is any one of the plurality of motors, the faulty motor information includes: index information of the faulty motor, and updating the position of the current reference control point based on the faulty motor information includes:
[0171] Based on the index information of the faulty motor and the mapping relationship between the motor's index information and the midpoint of the line connecting the multirotor's center of mass to the center of the motor's rotor disk, the midpoint of the line connecting the multirotor's center of mass and the center of the faulty motor's rotor disk is obtained; the position of the current reference control point is shifted to the midpoint of the line connecting the multirotor's center of mass and the center of the faulty motor's rotor disk, and the midpoint of the line connecting the multirotor's center of mass and the center of the faulty motor's rotor disk is used as the position of the updated reference control point.
[0172] According to embodiments of this disclosure, generating the degraded control assignment matrix based on the updated reference control point position includes:
[0173] Based on the updated reference control point position, the lever arm of each motor in the normal motor corresponding to the roll axis and pitch axis is obtained respectively based on the updated reference control point; the degraded control allocation matrix is generated based on the lever arm of each motor in the normal motor corresponding to the roll axis and pitch axis respectively based on the updated reference control point.
[0174] According to embodiments of this disclosure, obtaining the thrust command vector of the normal motor for the multirotor aircraft based on the downgraded motion attitude control command vector and the downgraded control allocation matrix includes:
[0175] Determine whether the downgraded control allocation matrix is a square matrix and invertible. If the downgraded control allocation matrix is a square matrix and invertible, calculate the inverse matrix of the downgraded control allocation matrix. If the downgraded control allocation matrix is not a square matrix or is not invertible, calculate the pseudo-inverse matrix of the downgraded control allocation matrix.
[0176] The inverse or pseudo-inverse matrix of the downgraded control allocation matrix is multiplied by the downgraded motion attitude control command vector to obtain the thrust command vector of the normal motor to the multirotor aircraft; wherein each element in the thrust command vector of the multirotor aircraft is obtained by performing a dot product operation between the corresponding row vector in the inverse matrix or the corresponding row vector in the pseudo-inverse matrix and the downgraded motion attitude control command vector.
[0177] According to the technical solution provided in this disclosure, on the one hand, after detecting a motor fault, a preset degradation strategy is adopted to downgrade the current original motion attitude control command vector (e.g., by setting the yaw torque command to zero or removing it to actively discard the control requirements for the yaw channel). This allows limited control resources (the thrust of the normal motors) to be prioritized and concentrated on maintaining the most critical flight states, namely, the stability of altitude, pitch, and roll, avoiding the control system wasting energy and causing oscillations on tasks it cannot complete. On the other hand, based on the faulty motor information, the position of the reference control point used to calculate the lever arm is dynamically updated, shifting the current reference control point to the updated position. This naturally generates a gravity compensation torque opposite to the torque direction caused by the fault, making the aircraft easier to control and greatly enhancing its inherent stability. Finally, the downgraded motion attitude control commands are precisely allocated to each normal motor using the downgraded control allocation matrix generated based on the updated reference control point, forming a complete, efficient, and robust fault-tolerant control closed loop. This fundamentally improves the controllability and stability of the multi-rotor aircraft after a fault.
[0178] This disclosure also provides a chip including the apparatus described in the above apparatus embodiments; or, including a memory and a processor; wherein the memory is used to store one or more computer instructions, wherein the one or more computer instructions are executed by the processor to implement the method described in any of the above method embodiments.
[0179] This disclosure also provides a multi-rotor aircraft, including the chip described above, or, Figure 5 A structural block diagram of a multi-rotor aircraft according to an embodiment of the present disclosure is shown, such as... Figure 5 As shown, it includes a memory and a processor; wherein the memory is used to store one or more computer instructions, wherein the one or more computer instructions are executed by the processor to implement the method described in any of the above method embodiments.
[0180] This disclosure also provides a computer-readable storage medium, which may be a computer-readable storage medium included in the electronic device or computer system described in the above embodiments; or it may be a standalone computer-readable storage medium not assembled into a device. The computer-readable storage medium stores one or more programs, which are used by one or more processors to perform the methods described in this disclosure.
[0181] This disclosure also provides a computer program product, including a computer program that, when executed by a processor, implements any of the methods described in this disclosure.
[0182] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of the invention involved in this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the inventive concept. For example, technical solutions formed by substituting the above-described features with (but not limited to) technical features disclosed in this disclosure that have similar functions.
Claims
1. A degradation control method, characterized in that, The method is applied to a multi-rotor aircraft, the multi-rotor aircraft including multiple motors, and the method includes: When a fault is detected in at least one of the multiple motors, the current original motion posture control command vector is obtained; Based on a preset degradation strategy, the current original motion attitude control command vector is downgraded to obtain a downgraded motion attitude control command vector. Obtain faulty motor information; update the current reference control point position based on the faulty motor information to obtain the updated reference control point position; the reference control point position is used to indicate the origin position of the multi-rotor aircraft's body coordinate system; A downgraded control assignment matrix is generated based on the updated position of the reference control point; Based on the downgraded motion attitude control command vector and the downgraded control allocation matrix, the thrust command vector of the normal motors to the multirotor aircraft is obtained; wherein, the normal motors include the remaining motors other than the faulty motors among the plurality of motors; the downgraded control allocation matrix is used to define the mapping relationship between the downgraded motion attitude control command vector and the thrust command vector; The multi-rotor aircraft is controlled based on the thrust command vector; The step of obtaining the thrust command vector of the normal motor for the multirotor aircraft based on the downgraded motion attitude control command vector and the downgraded control allocation matrix includes: Determine whether the downgraded control allocation matrix is a square matrix and invertible. If the downgraded control allocation matrix is a square matrix and invertible, calculate the inverse matrix of the downgraded control allocation matrix. If the downgraded control allocation matrix is not a square matrix or is not invertible, calculate the pseudo-inverse matrix of the downgraded control allocation matrix. The inverse or pseudo-inverse matrix of the downgraded control allocation matrix is multiplied by the downgraded motion attitude control command vector to obtain the thrust command vector of the normal motor to the multirotor aircraft; wherein each element in the thrust command vector of the multirotor aircraft is obtained by performing a dot product operation between the corresponding row vector in the inverse matrix or the corresponding row vector in the pseudo-inverse matrix and the downgraded motion attitude control command vector.
2. The method according to claim 1, characterized in that, The current original motion attitude control command vector includes: total thrust command, roll torque command, pitch torque command, and yaw torque command. The total thrust command is used to control the vertical altitude and / or climb / fall rate of the multirotor aircraft. The roll torque command is used to control the rotation of the multirotor aircraft about the roll axis. The pitch torque command is used to control the rotation of the multirotor aircraft about the pitch axis. The yaw torque command is used to control the rotation of the multirotor aircraft about the yaw axis. The preset degradation strategy includes: Set the yaw moment command in the current original motion attitude control command vector to zero. The degraded motion attitude control command vector includes the total thrust command, roll moment command, pitch moment command, and 0 from the current original motion attitude control command vector; or... The yaw moment command is removed from the current original motion attitude control command vector, and the downgraded motion attitude control command vector includes the total thrust command, roll moment command, and pitch moment command from the current original motion attitude control command vector.
3. The method according to claim 1, characterized in that, When the faulty motor is any one of the plurality of motors, the faulty motor information includes: faulty motor location information, and updating the position of the current reference control point based on the faulty motor information includes: The updated reference control point position is determined based on the faulty motor location information and the current flight status information of the multirotor aircraft. Offset the position of the current reference control point to the position of the updated reference control point.
4. The method according to claim 3, characterized in that, The faulty motor location information includes: a position vector from the center of mass of the multirotor aircraft to the center of the rotor disk of the faulty motor. Determining the updated reference control point position based on the faulty motor location information and the current flight status information of the multirotor aircraft includes: The initial offset vector is calculated based on the position vector of the multi-rotor aircraft's center of mass pointing towards the center of the rotor disk of the faulty motor and the preset initial offset coefficient; Based on the current flight status information of the multi-rotor aircraft, the initial offset vector is dynamically adjusted to obtain the target offset vector; The endpoint of the target offset vector is used as the position of the updated reference control point.
5. The method according to claim 1, characterized in that, When the faulty motor is any one of the plurality of motors, the faulty motor information includes: the index information of the faulty motor, and updating the position of the current reference control point based on the faulty motor information includes: Based on the index information of the faulty motor and the mapping relationship between the index information of the motor and the midpoint of the line connecting the center of mass of the multirotor aircraft to the center of the motor's rotor disk, the midpoint of the line connecting the center of mass of the multirotor aircraft and the center of the rotor disk of the faulty motor is obtained. The position of the current reference control point is offset to the midpoint of the line connecting the center of mass of the multirotor aircraft and the center of the rotor disk of the faulty motor, and the midpoint of the line connecting the center of mass of the multirotor aircraft and the center of the rotor disk of the faulty motor is taken as the position of the updated reference control point.
6. The method according to claim 1, characterized in that, The step of generating the downgraded control assignment matrix based on the updated reference control point positions includes: Based on the position of the updated reference control point, the lever arm of each motor in the normal motor corresponding to the roll axis and pitch axis is obtained respectively based on the updated reference control point; The degraded control allocation matrix is generated based on the lever arms of each motor in the normal motor corresponding to the roll axis and pitch axis, respectively, according to the updated reference control point.
7. A degradation control device, characterized in that, The device is installed on a multi-rotor aircraft, which includes multiple motors, and the device includes: The motion attitude control command vector acquisition module is configured to acquire the current original motion attitude control command vector when a fault is detected in at least one of the plurality of motors. The motion attitude control command vector degradation processing module is configured to perform degradation processing on the current original motion attitude control command vector based on a preset degradation strategy to obtain a degraded motion attitude control command vector. The reference control point update module is configured to acquire faulty motor information; update the current reference control point position based on the faulty motor information to obtain the updated reference control point position; the position of the reference control point is used to indicate the origin position of the multi-rotor aircraft's body coordinate system. The control allocation matrix generation module is configured to generate a degraded control allocation matrix based on the updated position of the reference control point. The thrust command vector generation module is configured to obtain the thrust command vector of the normal motors to the multirotor aircraft based on the downgraded motion attitude control command vector and the downgraded control allocation matrix; wherein, the normal motors include the remaining motors other than the faulty motors among the plurality of motors; the downgraded control allocation matrix is used to define the mapping relationship between the downgraded motion attitude control command vector and the thrust command vector; The flight control module is configured to control the multirotor aircraft based on the thrust command vector; The step of obtaining the thrust command vector of the normal motor for the multirotor aircraft based on the downgraded motion attitude control command vector and the downgraded control allocation matrix includes: Determine whether the downgraded control allocation matrix is a square matrix and invertible. If the downgraded control allocation matrix is a square matrix and invertible, calculate the inverse matrix of the downgraded control allocation matrix. If the downgraded control allocation matrix is not a square matrix or is not invertible, calculate the pseudo-inverse matrix of the downgraded control allocation matrix. The inverse or pseudo-inverse matrix of the downgraded control allocation matrix is multiplied by the downgraded motion attitude control command vector to obtain the thrust command vector of the normal motor to the multirotor aircraft; wherein each element in the thrust command vector of the multirotor aircraft is obtained by performing a dot product operation between the corresponding row vector in the inverse matrix or the corresponding row vector in the pseudo-inverse matrix and the downgraded motion attitude control command vector.
8. A chip, characterized in that, The apparatus includes the device of claim 7; or, it includes a memory and a processor; wherein the memory is used to store one or more computer instructions, wherein the one or more computer instructions are executed by the processor to implement the method of any one of claims 1 to 6.
9. A multi-rotor aircraft, characterized in that, The device includes the chip of claim 8; or, it includes a memory and a processor; wherein the memory is used to store one or more computer instructions, wherein the one or more computer instructions are executed by the processor to implement the method of any one of claims 1 to 6.
Citation Information
Patent Citations
Aircraft attitude control method and device, equipment and storage medium
CN119828747A
Quantum, biological, computer vision, and neural network systems for industrial internet of things
US20230195058A1