Fault motor online detection method and device, multi-rotor aircraft and storage medium
By monitoring the difference between the expected and actual motion attitude within the flight controller of a multirotor aircraft, and utilizing the control allocation matrix and a three-axis angular acceleration residual algorithm, faulty motors can be quickly identified. This solves the time delay problem in multirotor aircraft motor fault detection and improves safety and reliability.
Patent Information
- Application Number
- CN202511891981.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-16
- Publication Date
- 2026-02-13
- Estimated Expiration
- 2045-12-16
AI Technical Summary
In existing technologies, the detection of motor faults in multi-rotor aircraft suffers from significant delays and lags, leading to loss of airframe attitude control and the risk of crashes, and making it impossible to quickly and accurately identify faulty motors.
By directly monitoring the difference between the aircraft's expected and actual motion attitude within the flight controller, the motor thrust is inversely calculated using the control allocation matrix, and combined with the three-axis angular acceleration residual and the CUSUM algorithm, faulty motors can be quickly identified.
It enables rapid and accurate location of faulty motors, improves the safety and reliability of multi-rotor aircraft, avoids catastrophic consequences caused by delayed detection, simplifies system design, and reduces costs.
Smart Images

Figure CN121348083B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the technical field of multi-rotor aircraft, in particular to a method and device for online detection of a faulty motor, a multi-rotor aircraft and a storage medium. BACKGROUND
[0002] A multi-rotor aircraft relies on the lift and torque generated by multiple motors to achieve flight and attitude control, thereby ensuring the stability and safety of the unmanned aerial vehicle. In a normal flight state, the torques output by each motor cancel each other out and dynamically adapt to maintain the balance of the body torque, ensuring that the unmanned aerial vehicle can respond smoothly to control instructions. However, if a motor suddenly fails due to collision, circuit burnout, damaged propeller, or other reasons during flight, the original torque balance will be broken, causing the body to roll over, attitude to lose control, and other serious problems, resulting in safety hazards and the risk of crashing. Therefore, quickly and accurately identifying a faulty motor is the first prerequisite for implementing any fault-tolerant control strategy to avoid disastrous consequences.
[0003] Currently, the industry and academia mainly rely on electronic speed controllers to report motor abnormal information for motor fault detection. The general implementation process is as follows: the electronic speed controller monitors the current, speed, temperature, and other parameters of the motor, and reports a fault code to the flight controller when an abnormality (such as overcurrent, locked rotor, or communication loss) is detected. However, this method has significant latency and hysteresis. First, the electronic speed controller needs to continuously monitor and confirm the abnormal state, which itself takes tens to hundreds of milliseconds. Second, the transmission of fault information depends on the communication bus, which may be delayed when the system load is high. From the occurrence of the fault to the final confirmation by the flight controller, the total time often exceeds 300 milliseconds. For a multi-rotor aircraft with high dynamic response, a delay of hundreds of milliseconds is enough to cause the body attitude angle to exceed the controllable range due to unbalanced torque, resulting in instability and crashing.
[0004] How to quickly and accurately identify a faulty motor after a motor failure in a multi-rotor aircraft so that fault-tolerant control strategies can be implemented in a timely manner to avoid disastrous consequences and effectively improve the safety and reliability of the multi-rotor aircraft is a problem that needs to be solved. SUMMARY
[0005] To solve the problems in the related art, the embodiments of the present disclosure provide a method and device for online detection of a faulty motor, a multi-rotor aircraft, and a storage medium.
[0006] In a first aspect, the embodiments of the present disclosure provide a method for online detection of a faulty motor for a multi-rotor aircraft, the multi-rotor aircraft comprising a flight controller and multiple motors, the method being applied to the flight controller in the multi-rotor aircraft, and comprising:
[0007] acquiring desired motion attitude data of the multi-rotor aircraft;
[0008] generating a motion attitude control instruction vector according to the desired motion attitude data;
[0009] obtaining a desired thrust instruction vector of each motor to the multi-rotor aircraft according to the motion attitude control instruction vector and a preset control distribution matrix;
[0010] acquiring actual motion attitude data of the multi-rotor aircraft based on execution of the desired thrust instruction vector by each motor;
[0011] comparing the desired motion attitude data with the actual motion attitude data, and if a deviation between current desired motion attitude data and current actual motion attitude data satisfies a preset motor fault determination condition, determining that at least one motor of the plurality of motors has failed, and then:
[0012] obtaining a current actual force vector of the multi-rotor aircraft according to the current actual motion attitude data;
[0013] obtaining a current actual thrust vector of each motor to the multi-rotor aircraft according to the current actual force vector and the preset control distribution matrix;
[0014] obtaining a current desired thrust instruction vector of each motor to the multi-rotor aircraft corresponding to the current desired motion attitude data;
[0015] determining a failed motor of the plurality of motors according to the current desired thrust instruction vector and the current actual thrust vector.
[0016] According to embodiments of the present disclosure, the motion attitude control instruction vector includes a total thrust instruction, a roll moment instruction, a pitch moment instruction and a yaw moment instruction, the total thrust instruction is used to control the vertical height and / or the lifting speed of the multi-rotor aircraft, the roll moment instruction is used to control the rotation of the multi-rotor aircraft around the roll axis, the pitch moment instruction is used to control the rotation of the multi-rotor aircraft around the pitch axis, and the yaw moment instruction is used to control the rotation of the multi-rotor aircraft around the yaw axis; the control distribution matrix is constructed according to the number of the plurality of motors, the direction of each motor in the plurality of motors, the force arm length of each motor relative to the roll axis and the pitch axis, and the proportional coefficient of the thrust of each motor and the counter torque; each column in the control distribution matrix corresponds to the contribution ability of one motor of the plurality of motors to each control channel of the multi-rotor aircraft, and the control channel includes a thrust channel, a roll channel, a pitch channel and a yaw channel;
[0017] The desired thrust instruction vector of each motor to the multicopter is obtained based on a preset control distribution matrix and the motion attitude control instruction vector, and the method comprises the following steps:
[0018] The desired thrust instruction vector of each motor to the multicopter is obtained based on a preset control distribution matrix and the motion attitude control instruction vector, and the method comprises the following steps:
[0019]
[0020] Wherein, represents a pseudo-inverse matrix or an inverse matrix of the preset control distribution matrix; represents the desired total thrust contained in the total thrust instruction; represents the desired roll moment contained in the roll moment instruction, represents the desired pitch moment contained in the pitch moment instruction, represents the desired yaw moment contained in the yaw moment instruction, represents the desired thrust of the i-th motor in the desired thrust instruction of the multicopter, , is the number of the plurality of motors.
[0021] According to an embodiment of the present disclosure, the multicopter further comprises a first sensor and a second sensor, and the flight controller comprises an attitude control module; the desired motion attitude data comprises an angular acceleration vector and a linear acceleration vector that the multicopter should reach, which are calculated by the attitude control module according to a desired flight state; the actual motion attitude data comprises an angular acceleration vector actually reached by the multicopter, which is calculated based on measurement data of the first sensor, and a linear acceleration vector actually reached by the multicopter, which is calculated based on measurement data of the second sensor; the angular acceleration vector comprises a roll angular acceleration, a pitch angular acceleration and a yaw angular acceleration; and the linear acceleration vector comprises a roll-axis-direction linear acceleration, a pitch-axis-direction linear acceleration and a yaw-axis-direction linear acceleration.
[0022] According to an embodiment of the present disclosure, the preset motor fault determination condition comprises a preset first motor fault determination condition, and the preset motor fault determination condition is satisfied by:
[0023] A three-axis angular acceleration residual vector is obtained by calculating the difference between the roll angular acceleration, the pitch angular acceleration and the yaw angular acceleration in the current desired motion attitude data and the roll angular acceleration, the pitch angular acceleration and the yaw angular acceleration in the current actual motion attitude data;
[0024] a comprehensive difference scalar value reflecting a total inconsistency degree of the three-axis angular acceleration is obtained by calculating a Euclidean norm of the three-axis angular acceleration residual error vector;
[0025] The comprehensive difference scalar value is compared with a dynamic decision threshold value, and when the comprehensive difference scalar value is greater than the dynamic decision threshold value, the preset first motor fault decision condition is satisfied; wherein the dynamic decision threshold value is dynamically calculated based on a mean value and a standard deviation of the comprehensive difference scalar value within a preset length of a recent history time window and a preset sensitivity coefficient.
[0026] According to embodiments of the present disclosure, the preset motor fault decision condition further comprises a preset second motor fault decision condition, and the satisfying the preset motor fault decision condition further comprises:
[0027] The comprehensive difference scalar value is monitored based on a cumulative sum (CUSUM) algorithm, including calculating a deviation between the comprehensive difference scalar value and a reference value; and performing real-time cumulative summation on the deviation to obtain a CUSUM statistic of the comprehensive difference scalar value; wherein the reference value is determined based on a mean value of the comprehensive difference scalar value within the preset length of the recent history time window;
[0028] When the CUSUM statistic of the comprehensive difference scalar value exceeds a preset decision threshold value, the preset second motor fault decision condition is satisfied.
[0029] When the preset first motor fault decision condition and / or the preset second motor fault decision condition is satisfied, it is determined that at least one motor in the plurality of motors is faulty.
[0030] According to embodiments of the present disclosure, the measurement data of the first sensor includes an angular velocity vector actually reached by the multicopter, the angular velocity vector including a roll angular velocity, a pitch angular velocity and a yaw angular velocity, and the current actual force vector includes a current actual external torque vector and a total thrust, and the current actual force vector of the multicopter is obtained according to the current actual motion attitude data, including:
[0031] The external torque vector in the current actual force vector is calculated based on a rigid body rotation dynamics equation, according to the angular velocity vector actually reached by the multicopter, an angular acceleration vector and a moment of inertia of the multicopter.
[0032] The total thrust in the current actual force vector is calculated according to a linear acceleration vector actually reached by the multicopter and a mass of the multicopter.
[0033] The external torque vector includes: roll torque, pitch torque, and yaw torque. The process of obtaining the current actual thrust vector of each motor on the multi-rotor aircraft based on the current actual force vector and a preset control allocation matrix includes:
[0034] The current actual thrust vector of each motor to the multirotor aircraft is obtained based on the following formula:
[0035] = ;
[0036] 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.
[0037] 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:
[0038] Calculate the thrust residual vector based on the current expected thrust command vector and the current actual thrust vector;
[0039] The motor corresponding to the element with the largest absolute value in the thrust residual vector is identified as the faulty motor.
[0040] or,
[0041] 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.
[0042] The motor corresponding to the element with the largest absolute value in the fault amplitude vector is determined as the fault motor.
[0043] In a second aspect, the embodiments of the present disclosure provide a fault motor online detection device for a multi-rotor aircraft, the multi-rotor aircraft comprising a flight controller and a plurality of motors, the device being arranged in the flight controller in the multi-rotor aircraft, comprising:
[0044] An expected motion attitude data acquisition module is configured to acquire expected motion attitude data of the multi-rotor aircraft;
[0045] A motion attitude control instruction vector generation module is configured to generate a motion attitude control instruction vector according to the expected motion attitude data;
[0046] An expected thrust instruction vector generation module is configured to obtain an expected thrust instruction vector of each motor on the multi-rotor aircraft according to the motion attitude control instruction vector and a preset control distribution matrix;
[0047] An actual motion attitude data acquisition module is configured to acquire actual motion attitude data of the multi-rotor aircraft corresponding to the execution of the expected thrust instruction vector by each motor;
[0048] A fault occurrence and positioning module is configured to compare the expected motion attitude data with the actual motion attitude data, and if a deviation between current expected motion attitude data and current actual motion attitude data satisfies a preset motor fault determination condition, it is determined that at least one motor in the plurality of motors has failed, and then:
[0049] A current actual force vector of the multi-rotor aircraft is obtained according to the current actual motion attitude data;
[0050] A current actual thrust vector of each motor on the multi-rotor aircraft is obtained according to the current actual force vector and the preset control distribution matrix;
[0051] A current expected thrust instruction vector of each motor on the multi-rotor aircraft corresponding to the current expected motion attitude data is acquired;
[0052] A fault motor in the plurality of motors is determined according to the current expected thrust instruction vector and the current actual thrust vector.
[0053] In a third aspect, the embodiments of the present disclosure provide a multi-rotor aircraft, comprising a flight controller and a plurality of motors, the flight controller comprising a memory and a processor; wherein the memory is configured to store one or more computer instructions, and the one or more computer instructions are configured to be executed by the processor to implement the method according to any one of the first aspect.
[0054] In a fourth aspect, the embodiments of the present disclosure provide a computer-readable storage medium having stored thereon computer instructions that, when executed by a processor, implement the method according to any one of the first aspect.
[0055] According to the technical scheme provided by the embodiments of the present disclosure, the flight controller in the multi-rotor aircraft acquires the expected motion attitude data of the multi-rotor aircraft; generates a motion attitude control instruction vector according to the expected motion attitude data; obtains an expected thrust instruction vector of each motor to the multi-rotor aircraft according to the motion attitude control instruction vector and a preset control distribution matrix; acquires actual motion attitude data of the multi-rotor aircraft corresponding to the execution of the expected thrust instruction vector by each motor; compares the expected motion attitude data with the actual motion attitude data, and if the deviation between the current expected motion attitude data and the current actual motion attitude data meets a preset motor fault determination condition, it is determined that at least one motor in the plurality of motors has failed, and then: obtains a current actual force vector of the multi-rotor aircraft according to the current actual motion attitude data; obtains a current actual thrust vector of each motor to the multi-rotor aircraft according to the current actual force vector and the preset control distribution matrix; acquires a current expected thrust instruction vector of each motor to the multi-rotor aircraft corresponding to the current expected motion attitude data; and determines the faulty motor in the plurality of motors according to the current expected thrust instruction vector and the current actual thrust vector.
[0056] The disclosure sets the entire decision-making process of detecting and locating the faulty motor in the flight controller of the multi-rotor aircraft to be performed, without the need for cross-device communication and protocol analysis, greatly shortening the time from perception to decision, thereby improving the identification efficiency of the faulty motor. Specifically, the flight controller directly monitors whether the motion attitude of the aircraft is out of control by continuously comparing the deviation of the "expected attitude" and the "actual attitude", so that the abnormality of the entire system can be directly and synchronously perceived from a macro perspective, abandoning the cumbersome underlying reporting chain; when a fault is detected, instead of staying at the "faulty" level, the actual thrust of the current motors is back calculated from the actual motion attitude data using the same control distribution matrix, which decomposes the system-level fault phenomenon (attitude deviation) and attributes it to the component level (single motor thrust abnormality), and by comparing the difference between the "expected thrust" of each motor and the "actual thrust" calculated by back calculation, the motor or motors that have problems can be accurately identified, achieving precise positioning of the fault, rather than just detection, providing vital information input for subsequent fault-tolerant control (such as power reconstruction). Therefore, by timely discovering and accurately locating the motor fault, the flight control system can take timely measures (such as adjusting the output of the remaining motors), avoiding the expansion of the fault leading to a crash, greatly enhancing the survival ability and task completion ability of the aircraft when a local fault occurs, effectively improving the safety and reliability of the multi-rotor aircraft. In addition, the implementation of the scheme of the disclosure does not rely on special fault detection hardware sensors, saving cost, weight and power consumption, while also reducing the new fault points that may be introduced by adding sensors, simplifying the system design.
[0057] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the disclosure. BRIEF DESCRIPTION OF DRAWINGS
[0058] Other features, objects, and advantages of the disclosure will become more apparent from the following detailed description of the non-limiting embodiments, in conjunction with the accompanying drawings. In the drawings:
[0059] Figure 1 A flowchart of an online fault motor detection method for a multi-rotor aircraft according to an embodiment of the disclosure is shown.
[0060] Figure 2 A schematic diagram of the motor positions of a quad-rotor aircraft according to an embodiment of the disclosure is shown.
[0061] Figure 3 A structural block diagram of an online fault motor detection device for a multi-rotor aircraft according to an embodiment of the disclosure is shown.
[0062] Figure 4 A structural block diagram of a multi-rotor aircraft according to an embodiment of the disclosure is shown. DETAILED DESCRIPTION
[0063] Hereinafter, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so as to be easily implemented by those skilled in the art. Also, portions irrelevant to the description of the exemplary embodiments are omitted in the accompanying drawings for the sake of clarity.
[0064] In the present disclosure, it should be understood that terms such as "include" or "have" or the like are intended to indicate that there are features, numbers, steps, actions, components, parts or combinations thereof disclosed in the specification, and do not exclude the possibility that one or more other features, numbers, steps, actions, components, parts or combinations thereof exist or are added.
[0065] It is further noted that the embodiments in the present disclosure and the features in the embodiments can be combined with each other without conflict. The present disclosure will be described in detail below with reference to the accompanying drawings and in conjunction with the embodiments.
[0066] In the present disclosure, if the operation of acquiring user information or user data or the operation of showing user information or user data to others is involved, the operation is an operation authorized, confirmed by the user, or actively selected by the user.
[0067] As described above, the detection of motor failure in the prior art for multi-rotor aircraft mainly relies on the reporting of motor abnormal information on the electronic speed controller. This scheme is based on indirect and lagging inference of local parameters, and the occurrence of failure needs to go through a long process such as "actual motor failure → physical parameter abnormality (such as current / rotation speed / temperature) → electronic speed controller detects parameter threshold value → generates and reports failure code → flight controller receives and interprets code", each step in this process will introduce delay, which is inefficient, and thus misses the best opportunity for failure reporting, leading to disastrous consequences.
[0068] In order to quickly and accurately identify the failed motor after the motor of the multi-rotor aircraft fails, so that fault-tolerant control strategies can be implemented in time, thereby avoiding disastrous consequences and effectively improving the safety and reliability of the multi-rotor aircraft, the present disclosure provides a low-cost, high-efficiency, high-precision online detection method for failed motors. By directly monitoring the motion attitude of the aircraft, the long "parameter monitoring-reporting-confirmation" chain in the traditional scheme is bypassed, thereby achieving faster and more sensitive detection and response to motor failure. This efficiency improvement is crucial for the fault-tolerant control of aircraft that needs to be seconds.
[0069] Figure 1 A flowchart of an online detection method for a failed motor of a multi-rotor aircraft according to an embodiment of the present disclosure is shown. The multi-rotor aircraft includes a flight controller and a plurality of motors, and the method is applied to the flight controller in the multi-rotor aircraft.
[0070] Taking a quadcopter as an example, the quadcopter includes a sensor, a flight controller, an electronic speed controller, four motors and corresponding propellers, etc.
[0071] The sensor is responsible for sensing its own state and external environment, and can include but is not limited to an inertial measurement unit (IMU), a magnetometer, a barometer, and a GPS module. The IMU includes a gyroscope for measuring the angular velocity of the body around the X, Y, and Z axes, and an accelerometer for measuring the linear acceleration of the body on the three axes. The data of the gyroscope and the accelerometer are combined through a data fusion algorithm (such as complementary filtering or Kalman filtering) to calculate the current attitude angle (roll, pitch, and yaw) of the aircraft. The magnetometer is used to sense the direction of the earth's magnetic field, provide an absolute heading reference (the nose points north), and correct the integral drift of the gyroscope to provide a correct yaw angle. The barometer is used to estimate the relative height of the aircraft by measuring the atmospheric pressure.
[0072] The flight controller is responsible for processing information and making decisions. It receives raw data from all sensors, filters and fuses the data to obtain reliable and accurate current actual attitude (attitude, position, and speed). Then, it compares the desired position (from GPS waypoints or remote controller) with the actual position to calculate the required desired motion attitude. After that, it compares the desired motion attitude with the actual motion attitude to calculate the three moment instructions (roll moment instruction, pitch moment instruction, and yaw moment instruction) and total thrust instruction that need to be applied to the body. Finally, the four virtual control instructions are resolved into independent thrust instructions for the four motors through a control distribution matrix.
[0073] The electronic speed controller is connected to the motor output channel of the flight controller through a PWM or digital signal line at one end, and is connected to the motor through three-phase lines at the other end. It receives the thrust instruction from the flight controller, accurately controls the frequency and amplitude of the alternating current output to the motor according to the thrust instruction, thereby controlling the speed and torque of the motor. The electrical energy delivered by the electronic speed controller is then converted into rotational mechanical energy by the motor, which finally drives the propeller to rotate at high speed to convert the rotational mechanical energy into aerodynamic force, i.e. lift (thrust) and torque steering. In the quadcopter, the diagonal motors steer in the same direction, and the adjacent motors steer in opposite directions to cancel the counter-torque and achieve yaw stability.
[0074] As shown in FIG. 1, Figure 1 The online detection method of the faulty motor includes the following steps S110-S180:
[0075] In step S110, the desired motion attitude data of the multi-rotor aircraft is obtained.
[0076] In an implementation of the present disclosure, the flight controller receives high-level flight instructions, such as target position, target heading angle or target speed, etc. from an upper navigation system (such as autopilot) or remote controller receiver, and then processes these instructions into desired motion attitude data understandable by the underlying control system through the included attitude control module.
[0077] In the present disclosure, the desired motion attitude data includes: angular acceleration vectors and linear acceleration vectors that the multicopter should reach, calculated by the attitude control module according to the desired flight state, the angular acceleration vectors including: roll angular acceleration, pitch angular acceleration and yaw angular acceleration, and the linear acceleration vectors including: roll axis direction linear acceleration, pitch axis direction linear acceleration and yaw axis direction linear acceleration.
[0078] In step S120, motion attitude control instruction vectors are generated according to the desired motion attitude data.
[0079] Specifically, the motion attitude control instruction vectors include virtual control moment instruction vectors and total thrust instruction.
[0080] For the virtual control moment instruction vectors, according to rigid body rotational dynamics, angular acceleration is proportional to moment, so the relationship for calculating the virtual control moment instruction vectors is:
[0081] ;
[0082] wherein, is the virtual control moment instruction vector, represents the moment of inertia of the multicopter, is a constant matrix identified in advance through experiments or CAD models; is the angular acceleration vector in the desired motion attitude data.
[0083] In the present disclosure, the angular acceleration vector in the desired motion attitude data includes: roll angular acceleration, pitch angular acceleration and yaw angular acceleration, the virtual control moment instruction vector includes: roll moment instruction, pitch moment instruction and yaw moment instruction, the roll moment instruction is used to control the rotation of the multicopter around the roll axis, the pitch moment instruction is used to control the rotation of the multicopter around the pitch axis, and the yaw moment instruction is used to control the rotation of the multicopter around the yaw axis.
[0084] When calculated according to the above relationship, i.e. according to the roll angular acceleration, pitch angular acceleration and yaw angular acceleration that the multicopter should reach and the moment of inertia of the multicopter to calculate the roll moment instruction, pitch moment instruction and yaw moment instruction required to generate the desired angular acceleration, it is specifically based on the following formula:
[0085] ;
[0086] wherein, denotes a desired roll moment comprised in the roll moment command, denotes a desired pitch moment comprised in the pitch moment command, denotes a desired yaw moment comprised in the yaw moment command, denotes a roll angle acceleration in the desired motion attitude data, denotes a pitch angle acceleration in the desired motion attitude data, denotes a yaw angle acceleration in the desired motion attitude data.
[0087] For the total thrust command, based on Newton's second law, the total thrust command in the motion attitude control command vector is determined based on a linear acceleration vector that the multi-rotor aircraft should reach and a mass of the multi-rotor aircraft, specifically based on the following formula:
[0088] ;
[0089] ;
[0090] wherein, denotes a linear acceleration vector that the multi-rotor aircraft should reach, denotes a desired total thrust comprised in the total thrust command, denotes a mass of the multi-rotor aircraft, denotes a roll axis direction linear acceleration that the multi-rotor aircraft should reach, denotes a pitch axis direction linear acceleration that the multi-rotor aircraft should reach, denotes a yaw axis direction linear acceleration that the multi-rotor aircraft should reach.
[0091] then the motion attitude control command vector .
[0092] In step S130, a desired thrust command vector of each motor to the multi-rotor aircraft is obtained according to the motion attitude control command vector and a preset control distribution matrix.
[0093] wherein, the control distribution matrix is constructed according to the number of the plurality of motors, the rotation direction of each motor in the plurality of motors, and the force arm length of each motor relative to the roll axis and the pitch axis, and the proportional coefficient of each motor thrust and counter torque, and other aircraft geometric and physical parameters.
[0094] For an N-rotor aircraft, the control distribution matrix is a matrix. In an implementation of the present disclosure, taking a quadcopter as an example, is a matrix. In an implementation of the present disclosure, taking a quadcopter as an example, Figure 2 shows a quadcopter motor position schematic diagram according to an embodiment of the present disclosure, as shown in Figure 2 , assuming the motor layout and steering are as follows: No. 1 motor is located at the right front and steers counterclockwise; No. 2 motor is located at the left front and steers clockwise; No. 3 motor is located at the left rear and steers counterclockwise; No. 4 motor is located at the right rear and steers clockwise, then: the control distribution matrix is a matrix, specifically:
[0095] ;
[0096] Wherein each column in the control distribution matrix B corresponds to the contribution ability of one motor in the plurality of motors to each control channel of the multi-rotor aircraft, the control channel includes: a thrust channel, a roll channel, a pitch channel and a yaw channel, each row corresponds to a motion attitude control instruction, and defines how each motor needs to work together to achieve the motion attitude control instruction. Specifically, represents the length of the force arm of No. 1 motor relative to the roll axis, represents the length of the force arm of No. 2 motor relative to the roll axis, represents the length of the force arm of No. 3 motor relative to the roll axis, represents the length of the force arm of No. 4 motor relative to the roll axis; represents the length of the force arm of No. 1 motor relative to the pitch axis, represents the length of the force arm of No. 2 motor relative to the pitch axis, represents the length of the force arm of No. 3 motor relative to the pitch axis, represents the length of the force arm of No. 4 motor relative to the pitch axis; b represents the proportional coefficient of motor thrust and counter torque, which is related to motor steering and corresponding propeller pitch.
[0097] According to an embodiment of the present disclosure, the expected thrust instruction vector of each motor to the multi-rotor aircraft is obtained according to the motion attitude control instruction vector and the preset control distribution matrix, comprising:
[0098] The expected thrust instruction vector of each motor to the multi-rotor aircraft is obtained based on the following formula:
[0099] ;
[0100] Wherein if B is a square matrix, its inverse matrix can be used, otherwise a pseudo-inverse matrix needs to be used, a pseudo-inverse matrix or an inverse matrix of the preset control distribution matrix; represents a desired thrust of the i-th motor in the plurality of motors to the desired thrust instruction of the multi-rotor aircraft, , is the number of the plurality of motors.
[0101] In step S140, actual motion attitude data of the multi-rotor aircraft corresponding to the execution of the desired thrust instruction vector by each motor is obtained.
[0102] The execution process of the desired thrust instruction vector by each motor is that the flight controller converts the calculated desired thrust instruction of each motor into a specific rotation speed or pulse width modulation (PWM) instruction through a thrust-rotation speed model, and sends it to the corresponding electronic speed controller via a specific communication protocol; the electronic speed controller drives the motor to reach the target rotation speed, drives the propeller to rotate to generate actual aerodynamic thrust, and the actual thrust acts on the aircraft body to make it produce corresponding motion.
[0103] After a certain specific desired thrust instruction vector is issued and acts on the motor, the actual motion attitude data obtained is the body motion response of the multi-rotor aircraft under the driving of the specific desired thrust instruction vector, that is, the actual motion attitude data represents the dynamic response of the aircraft to the specific thrust instruction.
[0104] Specifically, the multi-rotor aircraft further comprises a first sensor and a second sensor, and the actual motion attitude data comprises an angular acceleration vector actually reached by the multi-rotor aircraft calculated based on measurement data of the first sensor, and a linear acceleration vector actually reached by the multi-rotor aircraft calculated based on measurement data of the second sensor. The first sensor includes but is not limited to a three-axis gyroscope, and the second sensor includes but is not limited to a three-axis accelerometer. When a three-axis gyroscope is used to obtain the angular acceleration vector in the actual motion attitude data, numerical differentiation of the angular velocity vector measured by the three-axis gyroscope is needed, that is, the actual angular acceleration vector can be obtained. When a three-axis accelerometer is used to obtain the linear acceleration vector in the actual motion attitude data, the pure linear acceleration is obtained by separating the gravity from the measurement value of the accelerometer. The specific implementation is as follows:
[0105] ;
[0106] ;
[0107] ;
[0108] ;
[0109] wherein, represents a linear acceleration vector actually reached by the multicopter, represents a roll-axis-direction linear acceleration actually reached by the multicopter, represents a pitch-axis-direction linear acceleration actually reached by the multicopter, represents a yaw-axis-direction linear acceleration actually reached by the multicopter, represents measurement data of the second sensor, represents an actually measured roll-axis-direction linear acceleration, represents an actually measured pitch-axis-direction linear acceleration, represents an actually measured yaw-axis-direction linear acceleration, represents a gravity component in the body coordinate system, represents a rotation matrix from the earth coordinate system to the body coordinate system, represents a gravity acceleration.
[0110] In step S150, the expected motion attitude data is compared with the actual motion attitude data, if the deviation between the current expected motion attitude data and the current actual motion attitude data satisfies a preset motor fault determination condition, it is determined that at least one motor of the plurality of motors is faulty, then step S160 is executed, otherwise the step S110 is returned.
[0111] When a motor of the multicopter is faulty, the abnormal thrust of any motor will immediately and directly destroy the moment balance on the body, and the moment balance directly determines the angular motion rather than the linear motion, thus leading to the non-expected angular acceleration and attitude change of the aircraft. In order to realize the early or even real-time detection of the motor fault, it is necessary to rely on the angular motion attitude which is the fastest and most direct representation. If the position data which is slow and delayed is introduced, the diagnostic speed will be slowed down, and the real-time requirement of online detection cannot be met. Based on this, the present disclosure starts from the first principle, takes the three-axis angular acceleration reflecting the angular motion attitude of the aircraft as the direct observation quantity for diagnosing the motor fault, and continuously monitors whether there is a large deviation between the three-axis angular accelerations in the theoretical motion attitude and the actual motion attitude through the flight controller, so as to detect whether the current aircraft is in the non-expected moment imbalance state, and further to judge whether the motor of the current aircraft is faulty.
[0112] In the present disclosure, when comparing the expected motion posture data with the actual motion posture data, a complementary progressive comparison scheme is provided, including a dynamic decision threshold scheme and a CUSUM scheme. In the dynamic decision threshold scheme, a comprehensive difference scalar is introduced, and by comparing the comprehensive difference scalar with a dynamic decision threshold, a large-scale, sudden serious failure (such as motor stalling, blade fracture) is detected, which will cause the comprehensive difference scalar introduced in the scheme to be much higher than the normal fluctuation range, thereby immediately exceeding the dynamic decision threshold, and the alarm delay for serious failure is extremely low. The CUSUM scheme is used to detect small, continuous performance degradation or early failure (such as slight demagnetization of motor magnetic steel, small cracks in the blade leading to efficiency reduction), which may not cause the comprehensive difference scalar to exceed the dynamic decision threshold instantaneously, but will cause the mean value to drift slowly and continuously. By accumulating these small deviations, trend changes can be detected earlier than the dynamic decision threshold, and therefore the scheme is extremely sensitive to small, continuous mean value drifts, and early warning can be achieved. Through the complementary and cooperative work of the two schemes, the combination of sudden failure detection and trend failure detection can be achieved, covering a more comprehensive failure detection mode.
[0113] Specifically, for the implementation of the dynamic decision threshold scheme, according to an embodiment of the present disclosure, the preset motor failure decision condition includes a preset first motor failure decision condition, and the preset motor failure decision condition is satisfied, including:
[0114] First, the difference between the roll angle acceleration, the pitch angle acceleration and the yaw angle acceleration in the current expected motion posture data and the roll angle acceleration, the pitch angle acceleration and the yaw angle acceleration in the current actual motion posture data is calculated to obtain a three-axis angle acceleration residual vector.
[0115] Wherein, the angle acceleration difference As follows:
[0116] ;
[0117] Wherein, represents the roll angle acceleration in the current actual motion posture data, represents the pitch angle acceleration in the current actual motion posture data, represents the yaw angle acceleration in the current actual motion posture data, represents the difference between the roll angle acceleration in the current expected motion posture data and the roll angle acceleration in the current actual motion posture data, represents the difference between the pitch angle acceleration in the current expected motion posture data and the pitch angle acceleration in the current actual motion posture data, This represents the difference between the yaw angle acceleration of the current desired motion posture data and the current actual motion posture data.
[0118] Triaxial angular acceleration residual vector It is expressed as follows:
[0119] ;
[0120] in, Representing the One control cycle. For example, if the flight controller operates at 500Hz, then the actual time interval between t and t+1 is 2 milliseconds. ), Indicates the first The three-axis angular acceleration residual vector for each control cycle.
[0121] Then, by calculating the Euclidean norm of the triaxial angular acceleration residual vector, a comprehensive difference scalar value reflecting the overall inconsistency of the triaxial angular acceleration is obtained.
[0122] Directly using instantaneous differences is susceptible to noise interference, leading to false alarms. This disclosure uses the Euclidean norm of the residual vector and performs filtering and statistical analysis on it.
[0123] The Euclidean norm of the triaxial angular acceleration residual vector The specific calculation formula is as follows:
[0124] ;
[0125] in, Represents the square root function. The Euclidean norm of a vector is the square root of the sum of the squares of all its elements. The physical meaning is to "compress" a three-dimensional residual vector into a scalar, this scalar It can be understood as the "comprehensive strength" or "total magnitude" of the overall deviation of the three-axis angular acceleration. It can reflect the degree of inconsistency of the system more comprehensively than looking at the deviation of any one axis alone.
[0126] Finally, the comprehensive difference scalar value is compared with the 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.
[0127] Wherein, the dynamic determination threshold The calculation formula is as follows:
[0128] ;
[0129] wherein, represents the mean value of the integrated difference scalar value of the multi-rotor aircraft within a preset length of recent history time window, represents the standard deviation of the integrated difference scalar value of the multi-rotor aircraft within a preset length of recent history time window, is an adjustable parameter (such as 3~5), representing a preset sensitivity coefficient.
[0130] When , the preset first motor fault determination condition is met.
[0131] For the CUSUM scheme, the core idea of the CUSUM algorithm is to accumulate small deviations to detect continuous mean shift. Since the effect of wind on the aircraft is relatively slow and continuous, it will cause fluctuations around a higher mean value, but will not cause a stepwise, one-way continuous growth in a very short time; while the sudden failure of the motor or the blade is a transient event, which will cause a sudden surge to a high level and maintain it, resulting in a positive mean shift, therefore, the working mechanism of CUSUM is to continuously accumulate the deviation of a reference value, the positive and negative fluctuations caused by wind disturbance will cancel each other out, so that the cumulative sum grows slowly, while the continuous high deviation caused by failure will cause the cumulative sum to increase unidirectionally, eventually exceeding the decision threshold, thereby triggering the failure alarm.
[0132] According to an embodiment of the present disclosure, the preset motor fault determination condition further comprises a preset second motor fault determination condition, and the preset motor fault determination condition is met, further comprising:
[0133] First, the integrated difference scalar value is monitored based on the cumulative sum CUSUM algorithm, including: calculating the deviation between the integrated difference scalar value and a reference value; and accumulating and summing the deviation in real time to obtain the CUSUM statistic of the integrated difference scalar value; wherein the reference value is determined based on the mean value of the integrated difference scalar value within the preset length of recent history time window.
[0134] The specific expression is as follows:
[0135] ;
[0136] wherein, represents the mean value of the integrated difference scalar value of the multi-rotor aircraft within a preset length of recent history time window, represents the mean value of the integrated difference scalar value of the multi-rotor aircraft within a preset length of recent history time window, is a constant greater than 0, defining a "don't care region". Only when a significant positive deviation worth accumulating occurs, which avoids the system being overly sensitive to small random fluctuations; represents the upper side cumulative sum, accumulating all deviations above ; The operation ensures that the cumulative sum will not become negative, and once the sequence mean returns to normal levels, it will reset to 0.
[0137] When the CUSUM statistic of the integrated difference scalar exceeds a preset decision threshold , i.e.: , the algorithm considers that enough evidence has been accumulated to indicate that the system mean has undergone a substantial drift, and the preset second motor fault determination condition is satisfied. Among them, The value of determines the sensitivity of the algorithm: The smaller, the faster the detection but the more likely false positives; The larger, the more reliable the detection but the longer the delay. Usually determined by experiments, for example . The CUSUM algorithm ingeniously uses the essential difference between faults and wind disturbances in time scale and statistical characteristics to achieve reliable fault detection.
[0138] When the preset first motor fault determination condition and / or the preset second motor fault determination condition are satisfied, it is determined that at least one motor in the plurality of motors has failed.
[0139] In step S160, the current actual force vector of the multicopter is obtained according to the current actual motion attitude data.
[0140] In step S170, the current actual thrust vector of each motor on the multicopter is obtained according to the current actual force vector and the preset control distribution matrix.
[0141] The measurement data of the first sensor includes: the actual angular velocity vector reached by the multicopter, the angular velocity vector including: roll angular velocity, pitch angular velocity and yaw angular velocity, and the current actual force vector including: the actual external moment vector and total thrust at the current time.
[0142] According to an embodiment of the present disclosure, the current actual force vector of the multicopter is obtained according to the current actual motion attitude data, including:
[0143] The external moment vector in the current actual force vector is obtained according to the angular velocity vector actually reached by the multi-rotor aircraft, the angular acceleration vector actually reached by the multi-rotor aircraft and the moment of inertia of the multi-rotor aircraft.
[0144] The external moment vector in the current actual force vector The specific calculation formula is as follows:
[0145] ;
[0146] ;
[0147] wherein, denotes the angular acceleration vector actually reached by the multi-rotor aircraft, denotes the angular velocity vector actually reached by the multi-rotor aircraft.
[0148] The total thrust in the current actual force vector is calculated according to the linear acceleration vector actually reached by the multi-rotor aircraft and the mass of the multi-rotor aircraft.
[0149] The total thrust in the current actual force vector The specific calculation formula is as follows:
[0150] ;
[0151] ;
[0152] wherein, denotes the linear acceleration vector actually reached by the multi-rotor aircraft, denotes the mass of the multi-rotor aircraft, denotes the linear acceleration in the roll axis direction actually reached by the multi-rotor aircraft, denotes the linear acceleration in the pitch axis direction that the multi-rotor aircraft should reach, denotes the linear acceleration in the yaw axis direction actually reached by the multi-rotor aircraft.
[0153] The external moment vector includes a roll moment, a pitch moment and a yaw moment, and the current actual thrust vector of each motor on the multi-rotor aircraft is obtained according to the current actual force vector and a preset control distribution matrix, and includes:
[0154] The current actual thrust vector of each motor on the multi-rotor aircraft is obtained based on the following formula:
[0155] = ;
[0156] wherein, denotes a pseudo-inverse matrix or an inverse matrix of the preset control distribution matrix; denotes an actual total thrust at a current moment; denotes an actual rolling moment at a current moment, denotes an actual pitching moment at a current moment, denotes an actual yawing moment at a current moment, denotes a current actual thrust of the ith motor in the plurality of motors on the multicopter, , is the number of the plurality of motors.
[0157] In step S180, a current expected thrust instruction vector of each motor on the multicopter corresponding to the current expected motion posture data is obtained; and a faulty motor in the plurality of motors is determined according to the current expected thrust instruction vector and the current actual thrust vector.
[0158] According to an embodiment of the present disclosure, the determination of the faulty motor in the plurality of motors according to the current expected thrust instruction vector and the current actual thrust vector includes two schemes:
[0159] Scheme 1:
[0160] The thrust residual vector is calculated according to the current expected thrust instruction vector and the current actual thrust vector.
[0161] The thrust residual vector is calculated by the following formula :
[0162] ;
[0163] ;
[0164] ;
[0165] The motor corresponding to the element with the largest absolute value in the thrust residual vector is determined as the faulty motor. For example, if is the largest, it is determined that the first motor is the faulty motor.
[0166] Scheme 2: the faulty amplitude vector is solved by performing least square fitting on the thrust residual vector and a preset fault mapping matrix; wherein the fault mapping matrix is a matrix, The number of the plurality of motors, each column of the fault mapping matrix corresponds to a theoretical fault signature vector when a unit thrust fault occurs in one motor of the plurality of motors; the theoretical fault signature vector is determined by: for the i th motor, setting the column vector corresponding to the i th motor in the preset control allocation matrix to zero to obtain a reduced-order control allocation matrix of the i th motor; calculating the pseudo-inverse matrix of the reduced-order control allocation matrix of the i th motor, and taking 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 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 determined as the fault motor.
[0167] The core idea of constructing the fault mapping matrix is: simulate how the thrust distribution of the entire system will be affected when each motor fails alone, that is, the fault signature.
[0168] Specifically, the preset control allocation matrix is a matrix, the pseudo-inverse matrix of the preset control allocation matrix is a matrix, for the i th motor (i from 1 to N), first set all elements in the i th column corresponding to the i th motor in B to zero to obtain a reduced-order control allocation matrix , then calculate the pseudo-inverse matrix of , denoted as , next take the i th row of , and transpose it into a column vector h_i, h_i describes how all motors (including the fault motor) should theoretically change in thrust in order to produce the same motion attitude control instruction as before the fault for motor i. For normal motors, this is a compensation value; for the fault motor i itself, this value represents the "loss" of its thrust, so it becomes the "feature signature" of the motor fault. Finally, arrange the fault signature vectors h_i of each motor side by side to form the fault mapping matrix , . .
[0169] After calculating the thrust residual , it is necessary to find out which motor is faulty and how large the fault degree is, which best explains the current observation , the present disclosure regards as the result of the joint action of all motor faults, that is: , and the final goal is to find a set of such that is closest to .
[0170] The specific implementation steps are as follows:
[0171] 1. Constructing the least squares problem
[0172] The objective function is: ;in, It represents the 2-norm of a vector.
[0173] 2. Calculate the fault amplitude vector :
[0174] ;
[0175] ;
[0176] in, It is a fault mapping matrix transpose, It is a matrix The inverse matrix, Each element in the vector The absolute value of represents the probability of failure of the i-th motor in response to the current abnormal thrust.
[0177] 3. Locate the faulty motor
[0178] Traversing vectors Find the element with the largest absolute value. Because the fault signature h_i of the motor represented by the index i of this element is related to the currently observed thrust residual. The best match, which best explains the current system anomaly, is the motor represented by index i corresponding to that element, which is then identified as the faulty motor.
[0179] The above-mentioned scheme 2 provided in this disclosure does not simply find which motor has the largest thrust deviation, but rather uses the observed overall thrust residual. With a pre-calculated library of all possible theoretical failure modes ( The system performs systematic matching on each column of the matrix. In this way, when a motor fails, the controller will actively adjust the thrust of other normal motors to compensate. This may cause the thrust change of some normal motors to appear to be larger than that of the faulty motor. This solution can decouple and identify the most fundamental fault source from the complex and coupled compensation thrust change through least squares fitting, achieving accurate positioning and strong anti-compensation interference capability.
[0180] In addition, Scheme 2 solves for the fault magnitude vector. Each element This represents the estimated degree of fault of the corresponding motor (e.g., indicates that the motor i has about 70% thrust loss). This can not only diagnose the complete failure of the motor ( ), but also effectively identify the performance degradation (such as insufficient thrust caused by demagnetization of motor magnetic steel and decreased efficiency of the blade). By monitoring the slow changing trend of the motor, , early fault warning and health state prediction of the motor can be achieved, which changes "after-the-fact remedy" to "pre-emptive prevention", greatly improving the safety of the system.
[0181] In summary, the fault diagnosis scheme improves the fault diagnosis from a simple rule-based signal alarm level to a model matching-based system diagnosis level. The accuracy and early warning capability of the scheme constitute its core and beneficial technical effects, which can significantly improve the survival ability and task reliability of the multi-rotor aircraft under the failure of the power system.
[0182] When detecting that at least one motor in the plurality of motors fails, the disclosure further provides a fault handling scheme to achieve stable control of the aircraft, and the specific steps are as follows:
[0183] obtaining a current original motion attitude control instruction vector; performing degradation processing on the current original motion attitude control instruction vector based on a preset degradation strategy to obtain a degraded motion attitude control instruction vector; obtaining motor failure information; updating the position of a current reference control point according to the motor failure information to obtain an updated position of the reference control point; the position of the reference control point is used to indicate the position of the origin of the multi-rotor aircraft body coordinate system; generating a degraded control allocation matrix according to the updated position of the reference control point; obtaining a thrust instruction vector of the normal motor to the multi-rotor aircraft according to the degraded motion attitude control instruction vector and the degraded control allocation matrix; wherein the normal motor includes the remaining motors in the plurality of motors except the failed motor; the degraded control allocation matrix is used to define the mapping relationship between the degraded motion attitude control instruction vector and the thrust instruction vector; and controlling the multi-rotor aircraft based on the thrust instruction vector.
[0184] According to an embodiment of the disclosure, the current original motion attitude control instruction vector includes a total thrust instruction, a roll torque instruction, a pitch torque instruction, and a yaw torque instruction, the total thrust instruction is used to control the vertical height and / or lifting speed of the multi-rotor aircraft, the roll torque instruction is used to control the rotation of the multi-rotor aircraft around the roll axis, the pitch torque instruction is used to control the rotation of the multi-rotor aircraft around the pitch axis, and the yaw torque instruction is used to control the rotation of the multi-rotor aircraft around the yaw axis.
[0185] The preset degradation strategy includes:
[0186] set the yaw moment instruction in the current original motion attitude control instruction vector to zero, the degraded motion attitude control instruction vector comprising the total thrust instruction, the roll moment instruction, the pitch moment instruction and 0 in the current original motion attitude control instruction vector; or, remove the yaw moment instruction in the current original motion attitude control instruction vector, the degraded motion attitude control instruction vector comprising the total thrust instruction, the roll moment instruction and the pitch moment instruction in the current original motion attitude control instruction vector.
[0187] According to an embodiment of the present disclosure, when the faulty motor is any one of the plurality of motors, the faulty motor information comprises: faulty motor position information, and the updating of the position of the current reference control point according to the faulty motor information comprises:
[0188] According to the faulty motor position information and the current flight state information of the multicopter, the position of the updated reference control point is determined; and the position of the current reference control point is offset to the position of the updated reference control point.
[0189] According to an embodiment of the present disclosure, the faulty motor position information comprises: a position vector of a multicopter center of mass pointing to a disc center of the faulty motor, and the updating of the position of the current reference control point according to the faulty motor position information comprises:
[0190] Based on the position vector of the multicopter center of mass pointing to the disc center of the faulty motor and a preset initial offset coefficient, an initial offset vector is calculated; according to the current flight state information of the multicopter, the initial offset vector is dynamically adjusted to obtain a target offset vector; and the terminal position of the target offset vector is taken as the position of the updated reference control point.
[0191] According to an embodiment of the present disclosure, when the faulty motor is any one of the plurality of motors, the faulty motor information comprises: index information of the faulty motor, and the updating of the position of the current reference control point according to the faulty motor information comprises:
[0192] According to the index information of the faulty motor, and a mapping relationship between the index information of the motor and the midpoint position of the line connecting the center of mass of the multicopter to the disc center of the motor, the midpoint position of the line connecting the center of mass of the multicopter to the disc center of the faulty motor is obtained; and the position of the current reference control point is offset to the midpoint position of the line connecting the center of mass of the multicopter to the disc center of the faulty motor, and the midpoint position of the line connecting the center of mass of the multicopter to the disc center of the faulty motor is taken as the position of the updated reference control point.
[0193] According to an embodiment of the present disclosure, the generating the degraded control distribution matrix according to the position of the updated reference control point comprises:
[0194] According to the force arm of each motor in the normal motor corresponding to the roll axis and the pitch axis based on the updated reference control point, the degraded control distribution matrix is generated.
[0195] According to an embodiment of the present disclosure, the obtaining the thrust instruction vector of the normal motor to the multi-rotor aircraft according to the degraded motion attitude control instruction vector and the degraded control distribution matrix comprises:
[0196] If the degraded control distribution matrix is a square matrix and invertible, then the inverse matrix of the degraded control distribution matrix is calculated; if the degraded control distribution matrix is a non-square matrix or non-invertible, then the pseudo-inverse matrix of the degraded control distribution matrix is calculated; the inverse matrix or the pseudo-inverse matrix of the degraded control distribution matrix is multiplied by the degraded motion attitude control instruction vector to obtain the thrust instruction vector of the normal motor to the multi-rotor aircraft; wherein each element in the thrust instruction vector of the multi-rotor aircraft is obtained by performing dot product operation between the corresponding row vector in the inverse matrix or the corresponding row vector in the pseudo-inverse matrix and the degraded motion attitude control instruction vector.
[0197] Figure 3 A structure block diagram of an online fault motor detection device for a multi-rotor aircraft according to an embodiment of the present disclosure is shown. The multi-rotor aircraft comprises a flight controller and a plurality of motors, and the device is arranged in the flight controller in the multi-rotor aircraft, wherein the device can be realized as part or all of an electronic device through software, hardware or a combination of both.
[0198] As Figure 3As shown, the online fault motor detection device 300 comprises: expected motion attitude data acquisition module, configured to acquire expected motion attitude data of the multi-rotor aircraft; motion attitude control instruction vector generation module, configured to generate motion attitude control instruction vector according to the expected motion attitude data; expected thrust instruction vector generation module, configured to obtain expected thrust instruction vector of each motor to the multi-rotor aircraft according to the motion attitude control instruction vector and a preset control distribution matrix; actual motion attitude data acquisition module, configured to acquire actual motion attitude data of the multi-rotor aircraft based on execution of the expected thrust instruction vector by each motor; fault occurrence and positioning module, configured to compare the expected motion attitude data with the actual motion attitude data, if deviation between current expected motion attitude data and current actual motion attitude data satisfies a preset motor fault determination condition, it is determined that at least one motor in the plurality of motors is faulty, then: current actual force vector of the multi-rotor aircraft is obtained according to the current actual motion attitude data; current actual thrust vector of each motor to the multi-rotor aircraft is obtained according to the current actual force vector and the preset control distribution matrix; current expected thrust instruction vector of each motor to the multi-rotor aircraft corresponding to the current expected motion attitude data is acquired; the faulty motor in the plurality of motors is determined according to the current expected thrust instruction vector and the current actual thrust vector.
[0199] The present disclosure also discloses a multi-rotor aircraft, Figure 4 A structural block diagram of a multi-rotor aircraft according to an embodiment of the present disclosure is shown. As shown in the figure, Figure 4 The multi-rotor aircraft comprises a flight controller and a plurality of motors (four motors are taken as an example in the figure) Figure 4 The flight controller comprises a memory and a processor, wherein the memory is configured to store one or more computer instructions, and the one or more computer instructions are executed by the processor to implement the method according to an embodiment of the present disclosure.
[0200] The present disclosure also provides a computer readable storage medium, which can be a computer readable storage medium contained in the electronic device or computer system in the above embodiments; or can be a computer readable storage medium existing separately and not assembled into the device. The computer readable storage medium stores one or more programs, which are executed by one or more processors to implement the method described in the present disclosure.
[0201] The disclosure sets the entire decision-making process of detecting and locating the faulty motor in the flight controller of the multi-rotor aircraft to be performed, without the need for cross-device communication and protocol analysis, greatly shortening the time from perception to decision, thereby improving the identification efficiency of the faulty motor. Specifically, the flight controller directly monitors whether the motion attitude of the aircraft is out of control by continuously comparing the deviation of the "expected attitude" and the "actual attitude", so that it can directly and synchronously perceive the abnormalities of the entire system from a macro perspective, abandoning the cumbersome bottom-up reporting chain; when a fault is detected, instead of staying at the "faulty" level, the actual thrust of the current motor is inferred from the actual motion attitude data using the same control allocation matrix, which decomposes the system-level fault phenomenon (attitude deviation) and attributes it to the component level (single motor thrust anomaly), and by comparing the difference between the "expected thrust" of each motor and the "actual thrust" calculated by inference, the problem motor or motors are accurately identified, achieving precise positioning of the fault, rather than just detection, providing vital information input for subsequent fault-tolerant control (such as power reconstruction). Therefore, the scheme of the disclosure can take timely countermeasures (such as adjusting the output of the remaining motors) to avoid the expansion of the fault leading to a crash, greatly enhancing the survival ability and task completion ability of the aircraft when a local fault occurs, effectively improving the safety and reliability of the multi-rotor aircraft. In addition, the implementation of the scheme of the disclosure does not rely on special fault detection hardware sensors, saving cost, weight and power consumption, while also reducing the introduction of new fault points due to the addition of sensors, simplifying system design.
[0202] The above description is only the preferred embodiments of the disclosure and the explanation of the applied technical principles. Those skilled in the art should understand that the scope of the invention involved in the disclosure is not limited to the technical solutions formed by the specific combinations of the above technical features, and should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the inventive concept. For example, the above features are replaced with the technical features disclosed in the disclosure (but not limited to) with similar functions to form technical solutions.
Claims
1. A method for online detection of faulty motors in multi-rotor aircraft, characterized in that, The multi-rotor aircraft includes a flight controller and multiple motors. The method is applied to the flight controller in the multi-rotor aircraft, including: Obtain the desired motion attitude data of the multi-rotor aircraft; Generate a motion attitude control command vector based on the desired motion attitude data; Based on the motion attitude control command vector and the preset control allocation matrix, the expected thrust command vector of each motor for the multirotor aircraft is obtained; the control allocation matrix is constructed based on the number of the multiple motors, the direction of each motor among the multiple motors, the lever arm length of each motor relative to the roll axis and 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 multiple motors to each control channel of the multirotor aircraft. The control channels include: thrust channel, roll channel, pitch channel, and yaw channel. Based on the execution of the desired thrust command vector by each motor, the actual motion attitude data of the corresponding multi-rotor aircraft is obtained; The desired motion posture data is compared with the actual motion posture data. If the deviation between the current desired motion posture data and the current actual motion posture data meets the preset motor fault determination conditions, then at least one of the multiple motors is determined to have failed. The current actual force vector of the multirotor aircraft is obtained based on the current actual motion attitude data. Based on the current actual force vector and the preset control allocation matrix, the current actual thrust vector of each motor on the multi-rotor aircraft is obtained; Obtain the current desired thrust command vector of each motor for the multirotor aircraft corresponding to the current desired motion attitude data; The faulty motor among the plurality of motors is determined based on the current expected thrust command vector and the current actual thrust vector.
2. The method according to claim 1, characterized in that, The 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 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: The desired thrust command vector for each motor on the multirotor aircraft is obtained based on the following formula: = ; 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.
3. The method according to claim 1, characterized in that, The multi-rotor 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: the angular acceleration vector and linear acceleration vector that the multi-rotor 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 multi-rotor aircraft based on the measurement data of the first sensor, and the actual linear acceleration vector achieved by the multi-rotor 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.
4. The method according to claim 3, characterized in that, The preset motor fault determination conditions include: a preset first motor fault determination condition, wherein satisfying the preset motor fault determination conditions includes: Calculate 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 to obtain the three-axis angular acceleration residual vector; By calculating the Euclidean norm of the triaxial angular acceleration residual vector, a comprehensive difference scalar value reflecting the overall inconsistency of the triaxial angular acceleration is obtained. The comprehensive difference scalar value is compared with the 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.
5. The method according to claim 4, characterized in that, The preset motor fault determination conditions further include: a preset second motor fault determination condition, wherein satisfying the preset motor fault determination conditions further includes: 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 the 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, it is determined that at least one of the plurality of motors has failed.
6. The method according to claim 3, characterized in that, The measurement data from 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 including: the actual external torque vector and total thrust at the current moment; and obtaining the current actual force vector of the multirotor aircraft based on the current actual motion attitude data includes: Based on the rigid body rotation dynamics equation, the external torque vector in the current actual force vector is calculated according to the actual angular velocity vector, angular acceleration vector and rotational inertia of the multirotor aircraft. The total thrust in the current actual force vector is calculated based on the actual linear acceleration vector reached by the multirotor aircraft and the mass of the multirotor aircraft. The external torque vector includes: roll torque, pitch torque, and yaw torque. The process of obtaining the current actual thrust vector of each motor on the multi-rotor aircraft based on the current actual force vector and a preset control allocation matrix includes: The current actual thrust vector of each motor to the multirotor aircraft is obtained based on the following formula: = ; 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.
7. The method according to claim 1, characterized in that, The step of determining the faulty motor among the plurality of motors based on the current expected thrust command vector and the current actual thrust vector includes: Calculate the thrust residual vector based on the current expected thrust command vector and the current actual thrust vector; The motor corresponding to the element with the largest absolute value in the thrust residual vector is identified as the faulty motor. or, 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.
8. An online fault motor detection device for multi-rotor aircraft, characterized in that, The multi-rotor aircraft includes a flight controller and multiple motors. The flight controller, which is located within the multi-rotor aircraft, includes: The desired motion attitude data acquisition module is configured to acquire the desired motion attitude data of the multi-rotor aircraft. The motion attitude control command vector generation module is configured to generate a motion attitude control command vector based on the desired motion attitude data. The desired thrust command vector generation module is configured to: obtain the desired thrust command vector of each motor for the multirotor aircraft based on the motion attitude control command vector and a preset control allocation matrix; 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 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: thrust channel, roll channel, pitch channel, and yaw channel; The actual motion attitude data acquisition module is configured to: acquire the corresponding actual motion attitude data of the multi-rotor aircraft based on the execution of the desired thrust command vector by each motor; The fault occurrence and location module is configured to: compare the desired motion posture data with the actual motion posture data; if the deviation between the current desired motion posture data and the current actual motion posture data meets a preset motor fault determination condition, determine that at least one of the multiple motors has failed; then: The current actual force vector of the multirotor aircraft is obtained based on the current actual motion attitude data. Based on the current actual force vector and the preset control allocation matrix, the current actual thrust vector of each motor on the multi-rotor aircraft is obtained; Obtain the current desired thrust command vector of each motor for the multirotor aircraft corresponding to the current desired motion attitude data; The faulty motor among the plurality of motors is determined based on the current expected thrust command vector and the current actual thrust vector.
9. A multi-rotor aircraft, characterized in that, The multi-rotor aircraft includes a flight controller and multiple motors. The flight controller includes a memory and a processor. The memory stores one or more computer instructions, which are executed by the processor to implement the method of any one of claims 1 to 7.
10. A computer-readable storage medium storing computer instructions thereon, characterized in that, When the computer instructions are executed by the processor, they implement the method of any one of claims 1 to 7.
Citation Information
Patent Citations
Unmanned aerial vehicle flight control method and system
CN120560322A
Thrust compensation control method and system based on multi-duct electric aircraft
CN120681339A