Active fault-tolerant control method and device for intelligent flying car

By combining NMPC and INDI controllers, the intelligent flying car control method solves the problems of robustness and control accuracy of flying cars at high speeds, achieving higher stability and anti-interference ability, and improving driving comfort.

CN119472258BActive Publication Date: 2025-10-28TSINGHUA UNIVERSITY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410964614.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-18
Publication Date
2025-10-28
Estimated Expiration
2044-07-18

AI Technical Summary

Technical Problem

Existing flying car controllers are not robust enough when dealing with high-speed nonlinear systems, especially under sudden disturbances, exhibiting low control accuracy and lacking planning functions, making it difficult to cope with complex dynamic response requirements.

Method used

A nonlinear model predictive controller (NMPC) is used in combination with an aerodynamic model and an inner-loop incremental nonlinear dynamic inversion (INDI) controller. By acquiring the state variables and motor speed vectors of the flying car, the pre-established aerodynamic model is used for roll optimization to generate motor thrust and speed commands to improve stability and anti-interference capability.

Benefits of technology

It improves the stability and anti-interference ability of flying cars at high speeds, optimizes the driving experience, especially reduces the occurrence of motion sickness, and enhances the system's flexibility and responsiveness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119472258B_ABST
    Figure CN119472258B_ABST
Patent Text Reader

Abstract

This application provides an active fault-tolerant control method and apparatus for intelligent flying cars, comprising: acquiring the current state variables of the flying car and the rotational speed vectors of the four motor rotors; based on the current state variables of the flying car and the rotational speed vectors of the four motor rotors, obtaining the state variables of the flying car at the next moment using a pre-established aerodynamic model; based on the state variables of the flying car at the next moment and the expected state variables, calculating the thrust vector of the motors at the next moment using an NMPC controller; based on the thrust vector of the motors at the next moment, determining the total lift of the motors and the angular acceleration of the flying car at the next moment; and based on the total lift of the motors at the next moment, the total torque of the motors at the next moment, and the rotational speed vectors of the four motor rotors at the current moment, determining the rotational speed vectors of the four motor rotors at the next moment. This application improves the stability, accuracy, and anti-interference and anti-sickness capabilities of the flying car.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of intelligent flying car technology, and in particular to an active fault-tolerant control method and device for intelligent flying cars. Background Technology

[0002] Currently, controllers for flying cars can be divided into three categories: model-free controllers, model-based controllers, and learning-based controllers. Among model-free controllers, PID controllers offer excellent performance and control capabilities. However, traditional PID controllers struggle with parameter tuning in high-speed nonlinear systems and exhibit poor robustness under sudden disturbances. Furthermore, they lack planning capabilities and thus have limited tuning accuracy.

[0003] Linear Quadratic Regulators (LQRs) are a class of optimal controllers. LQRs are robust and have been successfully applied to quadcopter control. However, because they do not consider the dynamic characteristics of the actuators, and because LQR controllers optimize control by transforming the nonlinear model of the UAV into a linear state-space model, and lack predictive capabilities, their dynamic response in high-speed systems is weak.

[0004] MPC controller is a model-based optimization control method that can meet the planning constraints of high-speed systems. The MPC controller uses a state-space model to perform rolling optimization control on the original nonlinear model of the aircraft, which suffers from model linearization, leading to some error in the prediction results.

[0005] In learning-based intelligent controllers, there's no need to build a dynamic model of the UAV; instead, the system is trained using data obtained from UAV flight experiments. Flight controllers based on fuzzy logic and neural networks have been applied to UAVs. Although learning-based intelligent controllers have been successfully validated through numerous experiments, analyzing the stability and robustness of these methods remains challenging. Summary of the Invention

[0006] In view of this, this application provides an active fault-tolerant control method and device for intelligent flying cars to overcome the above-mentioned technical defects.

[0007] In a first aspect, embodiments of this application provide an active fault-tolerant control method for an intelligent flying car, applied to a flying car, the flying car including four motors, each motor including a motor rotor; including:

[0008] Obtain the current state variables of the flying car and the rotational speed vectors of the four motor rotors. The state variables include: position, velocity, Euler angles, and angular velocity.

[0009] Based on the current state variables of the flying car and the rotational speed vectors of the four motor rotors, the state variables of the flying car at the next moment are obtained using a pre-established aerodynamic model.

[0010] Based on the state variables and expected state variables of the flying car at the next moment, the thrust vector of the motor at the next moment is calculated using the NMPC controller.

[0011] Based on the thrust vector of the motor at the next moment, determine the total lift of the motor at the next moment and the angular acceleration of the flying car at the next moment;

[0012] The total torque of the motor at the next moment is determined based on the angular acceleration of the flying car at the current moment and the angular acceleration of the flying car at the next moment.

[0013] Based on the total lift of the motor at the next moment, the total torque of the motor at the next moment, and the speed vectors of the four motor rotors at the current moment, determine the speed vectors of the four motor rotors at the next moment.

[0014] The speed vectors of the four motor rotors at the next moment are sent to the motor controller of the flying car.

[0015] Furthermore, the pre-established aerodynamic models include: translational models and rotational models;

[0016] Based on the current state variables of the flying car and the rotational speed vectors of the four motor rotors, the state variables of the flying car at the next moment are obtained using a pre-established aerodynamic model; including:

[0017] The translational model is as follows:

[0018]

[0019] Among them, ξ k+1 For the next moment t k+1 The position of the flying car in the geocentric rectangular coordinate system For ξ k+1 The second derivative of T; k Let t be the current time. k The total lift of the flying car, m is the total mass of the flying car; g is the gravity vector; f a,k Let t be the current time. k The air resistance experienced by the flying car; f w,k Let t be the current time. k The wind force experienced by the flying car;

[0020] Current time t k The total lift T of the flying car k The following formula is used to calculate:

[0021]

[0022] Among them, u k Represents the current time t k The four-dimensional thrust vector generated by the four motor rotors:

[0023] u k =c t w k 2

[0024] c t It is the thrust coefficient, w k Let t be the current time. k The rotational speed vectors of the four motor rotors; τ k,1 Let t be the current time. k The first total torque vector of the motor rotor;

[0025] G1 is the first coefficient matrix:

[0026]

[0027] G2 is the second coefficient matrix:

[0028]

[0029] G3 is the third coefficient matrix:

[0030]

[0031] Among them, c q β is the torque coefficient; β and l are the geometric parameters of the flying car; I P It is the moment of inertia of the rotor about the Z-axis; Ω y,k Let t be the current time. k The angular velocity in the y-direction of the flying car;

[0032] Current time t k The air resistance f experienced by the flying car a,k for:

[0033]

[0034] Where, k d,x k d,y k d,z and k h All are known positive parameters; v x,k , v y,k and v z,k They are the current time t. k The velocities of the flying car in three directions within the body coordinate system;

[0035] Current time tk The wind force f experienced by the flying car w,k for:

[0036]

[0037] Where c represents the proportionality coefficient, ρ represents the air density, and S represents the windward area of ​​the flying car;

[0038] The rotation model is as follows:

[0039]

[0040] Among them, I v The inertia matrix of the flying car; Ω k Let t be the current time. k The three-dimensional angular velocity vector of the flying car: Ω k =[Ω x,k Ω y,k Ω z,k ];q k Let t be the current time. k Quaternions for Euler angle transformations of flying cars; q k+1 Let t be the current time. k+1 Quaternions for Euler angle transformation of a flying car;

[0041] Based on the current time t k The location of the flying car ξ k ,speed Quaternion q k and the three-dimensional angular velocity vector Ω k and the current time t k The speed vector w of the four motor rotors k Using translational and rotational models, the position of the flying car at the next moment is calculated. speed Quaternion and three-dimensional angular velocity vector

[0042] Furthermore, based on the state variables and expected state variables of the flying car at the next moment, the thrust vector of the motor at the next moment is calculated using the NMPC controller; including:

[0043] The cost function f(u) of the NMPC controller k+1 )for:

[0044] f(u k+1 )=||β k+1 -β k+1,r ||+||u k+1 ||+||MSI(a k+1 )-MSI(ak+1,r )||

[0045] Where, β k+1 The state parameters of the flying car at the next moment:

[0046]

[0047] β k+1,r The expected state quantity of the flying car at the next moment; u k+1 The thrust vector of the flying car's motor at the next moment is the unknown quantity; a k+1 a is the Z-axis acceleration of the flying car at the next moment; k+1,r The expected acceleration in the Z direction of the flying car at the next moment;

[0048] Among them, MSI(a k+1 (a) represents the acceleration in the Z direction. k+1 Incidence of motion sickness:

[0049]

[0050] in, H represents amplitude. Δt Indicates the vibration frequency;

[0051]

[0052] Where φ(·) represents a normal function; time Δt=t k -t k-1 ;

[0053]

[0054] Where f is the frequency of the vertical oscillation of the flying car;

[0055] By solving the cost function f(u) of the NMPC controller k+1 The minimum value of ) is used to obtain the four-dimensional thrust vector of the flying car motor at the next moment.

[0056] Furthermore, based on the thrust vector of the motor at the next moment, the total lift of the motor at the next moment and the angular acceleration of the flying car at the next moment are determined; including:

[0057] According to the following formula

[0058]

[0059] Calculate the total lift of the flying car at the next moment. and angular acceleration

[0060] Furthermore, the method also includes: determining the second total torque vector τ of the motor at the current moment based on the rotational speed vectors of the four motor rotors at the current moment and the rotational speed vectors of the four motor rotors at the previous moment. k,2 :

[0061] τ k,2 =G1w k 2 +Δt -1 G2(w k -w k-1 )

[0062] Among them, w k-1 For the previous time t k-1 The speed vectors of the four motor rotors, time Δt = t k -t k-1 .

[0063] Furthermore, based on the angular acceleration of the flying car at the next moment and the angular acceleration of the flying car at the current moment, the total torque of the motor at the next moment is determined; including:

[0064] Total torque of the motor at the next moment for:

[0065]

[0066] in, Let be the angular acceleration of the flying car at the current moment.

[0067] Furthermore, based on the total lift of the motor at the next moment, the total torque of the motor at the next moment, and the speed vectors of the four motor rotors at the current moment, the speed vectors of the four motor rotors at the next moment are determined, including:

[0068] According to the following formula:

[0069]

[0070] Calculate the speed vectors of the four motor rotors at the next moment.

[0071] Secondly, embodiments of this application provide an active fault-tolerant control device for an intelligent flying car, applied to a flying car, the flying car including four motors, each motor including a motor rotor; including:

[0072] The acquisition unit is used to acquire the state variables of the flying car at the current moment and the rotational speed vectors of the four motor rotors. The state variables include: position, velocity, Euler angles, and angular velocity.

[0073] The first calculation unit is used to obtain the state of the flying car at the next moment based on the state of the flying car at the current moment and the speed vectors of the four motor rotors using a pre-established aerodynamic model.

[0074] The second calculation unit is used to calculate the thrust vector of the motor at the next moment based on the state and expected state of the flying car at the next moment using the NMPC controller.

[0075] The first determining unit is used to determine the total lift of the motor and the angular acceleration of the flying car at the next moment based on the thrust vector of the motor at the next moment.

[0076] The second determining unit is used to determine the total torque of the motor at the next moment based on the angular acceleration of the flying car at the next moment and the angular acceleration of the flying car at the current moment.

[0077] The third determining unit is used to determine the rotational speed vectors of the four motor rotors at the next moment based on the total lift of the motor at the next moment, the total torque of the motor at the next moment, and the rotational speed vectors of the four motor rotors at the current moment.

[0078] The transmitting unit is used to send the speed vectors of the four motor rotors at the next moment to the motor controller of the flying car.

[0079] Thirdly, embodiments of this application provide an electronic device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the method of embodiments of this application.

[0080] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer instructions that, when executed by a processor, implement the methods of embodiments of this application.

[0081] This application improves the stability, accuracy, and anti-interference capabilities of flying cars. Attached Figure Description

[0082] To more clearly illustrate the technical solutions in the specific embodiments of this application or the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0083] Figure 1 A flowchart of the active fault-tolerant control method for intelligent flying cars provided in the embodiments of this application;

[0084] Figure 2 This is a functional structure diagram of the active fault-tolerant control device for intelligent flying cars provided in the embodiments of this application;

[0085] Figure 3 A functional structure diagram of an electronic device provided in an embodiment of this application. Detailed Implementation

[0086] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. The components of the embodiments of this application described and shown in the accompanying drawings can generally be arranged and designed in various different configurations.

[0087] Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.

[0088] First, a brief introduction to the design concept of the embodiments of this application will be given.

[0089] This application provides an active fault-tolerant control method for intelligent flying cars. The control method includes receiving the dynamic parameters of the intelligent flying car in high-speed flight. An air resistance model and a wind disturbance model are incorporated into the coupled dynamic model to improve tracking accuracy and anti-interference capability, while minimizing computational overhead. To address the issue of driver comfort, a nonlinear model predictive control (NMPC) controller based on a driver motion sickness model is designed in the aforementioned coupled dynamic model, and a cost function that optimizes motion sickness is formulated. This control method can maximize passenger comfort. To further improve the accuracy of the control method, an inner-loop controller based on nonlinear incremental dynamic inversion (INDI) is also designed, considering additional torques including gyroscopic torque. This application can improve the stability and flexibility of the flying car's autopilot system during mode switching.

[0090] The system described in this application is deployed on a quadcopter, eight-propeller flying car. In terms of hardware, it integrates avionics and ground-based drive-by-wire systems. A CAN bus, encoders, and drivers are used to form the control system, providing higher precision, reliability, and real-time performance, reducing costs, and improving system flexibility and maintainability. It also facilitates highly precise control and data communication.

[0091] In summary, this application provides a control method for flying cars, which solves the problems of high air resistance, wind disturbance-induced attitude oscillation, and motion sickness-related driving experience faced by flying cars at high speeds. It also optimizes the control problem during mode switching and improves the stability and safety of flying cars.

[0092] Compared with the prior art, this application has the following technical effects:

[0093] 1. This application adds an air resistance model and a wind disturbance model to improve the controller's tracking accuracy and anti-interference capability; after the outer loop NMPC controller uses this model for rolling optimization and considers the additional torque, the inner loop INDI controller is used for further feedback control, which greatly improves the stability, accuracy and anti-interference capability of the flying car.

[0094] 2. This application conducted co-simulation using Simulink and Adams in a wind-turbulent environment. The final code was deployed for a live demonstration. Results show that the flying car utilizing the controller described in this application exhibits excellent tracking performance during high-speed flight.

[0095] After introducing the application scenarios and design concepts of the embodiments of this application, the technical solutions provided by the embodiments of this application will be described below.

[0096] like Figure 1 As shown, this application provides an active fault-tolerant control method for an intelligent flying car, applied to a flying car, which includes four motors, each motor including a motor rotor; the method includes steps 101-107:

[0097] Step 101: Obtain the state variables of the flying car at the current moment and the rotational speed vectors of the four motor rotors. The state variables include: position, velocity, Euler angles, and angular velocity.

[0098] Step 102: Based on the current state variables of the flying car and the rotational speed vectors of the four motor rotors, obtain the state variables of the flying car at the next moment using a pre-established aerodynamic model;

[0099] Step 103: Based on the state variables and expected state variables of the flying car at the next moment, use the NMPC controller to calculate the thrust vector of the motor at the next moment;

[0100] Step 104: Based on the thrust vector of the motor at the next moment, determine the total lift of the motor at the next moment and the angular acceleration of the flying car at the next moment;

[0101] Step 105: Based on the angular acceleration of the flying car at the next moment, the angular acceleration of the flying car at the current moment, and the total torque of the motor at the current moment, determine the total torque of the motor at the next moment;

[0102] Step 106: Based on the total lift of the motor at the next moment, the total torque of the motor at the next moment, and the speed vectors of the four motor rotors at the current moment, determine the speed vectors of the four motor rotors at the next moment.

[0103] Step 107: Send the rotational speed vectors of the four motor rotors at the next moment to the motor controller of the flying car.

[0104] Steps 104-107 above are all processing steps of the inner-loop INDI controller. The NMPC, acting as the outer-loop controller, generates the thrust of the four motors based on the aerodynamic model of the flying car and optimization theory. The INDI inner-loop controller converts the thrust input from the higher-level controller into rotor speed commands via algebraic equations. These commands are then transmitted to the ESC systems of each motor via a bus system to control the motors to generate the corresponding speeds. This system is suitable for the flying car's vertical takeoff and landing, mode switching, and cruise flight modes.

[0105] In some embodiments, the pre-established aerodynamic model includes: a translational model and a rotational model;

[0106] Based on the current state variables of the flying car and the rotational speed vectors of the four motor rotors, the state variables of the flying car at the next moment are obtained using a pre-established aerodynamic model; including:

[0107] The translational model is as follows:

[0108]

[0109] Among them, ξ k+1 For the next moment t k+1 The position of the flying car in the geocentric rectangular coordinate system For ξ k+1 The second derivative of T; k Let t be the current time. k The total lift of the flying car, m is the total mass of the flying car; g is the gravity vector; f a,k Let t be the current time. k The air resistance experienced by the flying car; f w,k Let t be the current time. k The wind force experienced by the flying car;

[0110] Current time t k The total lift T of the flying car k The following formula is used to calculate:

[0111]

[0112] Among them, u k Represents the current time tk The four-dimensional thrust vector generated by the four motor rotors:

[0113] u k =c t w k 2

[0114] c t It is the thrust coefficient, w k Let t be the current time. k The rotational speed vectors of the four motor rotors; τ k,1 Let t be the current time. k The first total torque vector of the motor rotor;

[0115] G1 is the first coefficient matrix:

[0116]

[0117] G2 is the second coefficient matrix:

[0118]

[0119] G3 is the third coefficient matrix:

[0120]

[0121] Among them, c q β is the torque coefficient; β and l are the geometric parameters of the flying car; I P It is the moment of inertia of the rotor about the Z-axis; Ω y,k Let t be the current time. k The angular velocity in the y-direction of the flying car;

[0122] Current time t k The air resistance f experienced by the flying car a,k for:

[0123]

[0124] Where, k d,x k d,y k d,z and k h All are known positive parameters; v x,k , v y,k and v z,k They are the current time t. k The velocities of the flying car in three directions within the body coordinate system;

[0125] Current time t k The wind force f experienced by the flying car w,k for:

[0126]

[0127] Where c represents the proportionality coefficient, ρ represents the air density, and S represents the windward area of ​​the flying car;

[0128] The rotation model is as follows:

[0129]

[0130] Among them, I v The inertia matrix of the flying car; Ω k Let t be the current time. k The three-dimensional angular velocity vector of the flying car: Ω k =[Ω x,k Ω y,k Ω z,k ];q k Let t be the current time. k Quaternions for Euler angle transformations of flying cars; q k+1 Let t be the current time. k+1 Quaternions for Euler angle transformation of a flying car;

[0131] Based on the current time t k The location of the flying car ξ k ,speed Quaternion q k and the three-dimensional angular velocity vector Ω k and the current time t k The speed vector w of the four motor rotors k Using translational and rotational models, the position of the flying car at the next moment is calculated. speed Quaternion and three-dimensional angular velocity vector

[0132] In particular, translational and rotational models can be used to calculate the acceleration of the flying car at the next moment.

[0133] In some embodiments, based on the state variables and expected state variables of the flying car at the next moment, the thrust vector of the motor at the next moment is calculated using the NMPC controller; including:

[0134] The cost function f(u) of the NMPC controller k+ 1 ) for:

[0135] f(u k+1 )=||β k+1 -β k+1,r ||+||u k+1 ||+||MSI(ak+1 )-MSI(a k+1,r )||

[0136] Where, β k+1 The state parameters of the flying car at the next moment:

[0137]

[0138] β k+1,r The expected state quantity of the flying car at the next moment; u k+1 The thrust vector of the flying car's motor at the next moment is the unknown quantity; a k+1 a is the Z-axis acceleration of the flying car at the next moment; k+1,r The expected acceleration in the Z direction of the flying car at the next moment;

[0139] Among them, MSI(a k+1 (a) represents the acceleration in the Z direction. k+1 Incidence of motion sickness:

[0140]

[0141] in, H represents amplitude. Δt Indicates the vibration frequency;

[0142]

[0143] Where φ(·) represents a normal function; time Δt=t k -t k-1 ;

[0144]

[0145] Where f is the frequency of the vertical oscillation of the flying car;

[0146] By solving the cost function f(u) of the NMPC controller k+1 The minimum value of ) is used to obtain the four-dimensional thrust vector of the flying car motor at the next moment.

[0147] In the aforementioned cost function, according to the MSI model derived from Vertical Conflict Theory (SVC), vertical acceleration is a crucial factor influencing the severity of motion sickness. Therefore, a penalty term ||MSI(a) is introduced. k+1 )-MSI(a k+1 ,r)||, where MSI(·) is a model for measuring the incidence of motion sickness.

[0148] In some embodiments, the total lift of the motor and the angular acceleration of the flying car at the next moment are determined based on the thrust vector of the motor at the next moment; including:

[0149] According to the following formula

[0150]

[0151] Calculate the total lift of the flying car at the next moment. and angular acceleration

[0152] In some embodiments, the method further includes: determining the second total torque vector τ of the motor at the current moment based on the rotational speed vectors of the four motor rotors at the current moment and the rotational speed vectors of the four motor rotors at the previous moment. k,2 :

[0153] τ k,2 =G1w k 2 +Δt -1 G2(w k -w k-1 )

[0154] Among them, w k-1 For the previous time t k-1 The speed vectors of the four motor rotors, time Δt = t k -t k-1 .

[0155] In the NMPC controller, the first total torque vector neglects the unmodeled term dτ in rotational dynamics, which significantly impacts control performance. Modeling dτ for real-world systems is extremely challenging. Incremental Nonlinear Dynamic Inversion (INDI) is employed here to address this issue. INDI uses instantaneous sensor measurements instead of explicit models to represent system dynamics, thus exhibiting robustness to model uncertainties and external disturbances. In other words, the second total torque vector is more accurate than the first.

[0156] In some embodiments, the total torque of the motor at the next moment is determined based on the angular acceleration of the flying car at the next moment and the angular acceleration of the flying car at the current moment; including:

[0157] Total torque of the motor at the next moment for:

[0158]

[0159] in, Let be the angular acceleration of the flying car at the current moment.

[0160] In some embodiments, determining the rotational speed vectors of the four motor rotors at the next moment, based on the total lift of the motor at the next moment, the total torque of the motor at the next moment, and the rotational speed vectors of the four motor rotors at the current moment, includes:

[0161] According to the following formula:

[0162]

[0163] Calculate the speed vectors of the four motor rotors at the next moment.

[0164] Based on the above embodiments, this application provides an active fault-tolerant control device for intelligent flying cars, see below. Figure 2 As shown, the intelligent flying car active fault-tolerant control device 200 provided in this application embodiment includes at least:

[0165] The acquisition unit 201 is used to acquire the state variables of the flying car at the current moment and the rotational speed vectors of the four motor rotors. The state variables include: position, velocity, Euler angle and angular velocity.

[0166] The first calculation unit 202 is used to obtain the state of the flying car at the next moment based on the state of the flying car at the current moment and the rotational speed vectors of the four motor rotors using a pre-established aerodynamic model.

[0167] The second calculation unit 203 is used to calculate the thrust vector of the motor at the next moment based on the state and expected state of the flying car at the next moment using the NMPC controller.

[0168] The first determining unit 204 is used to determine the total lift of the motor and the angular acceleration of the flying car at the next moment based on the thrust vector of the motor at the next moment.

[0169] The second determining unit 205 is used to determine the total torque of the motor at the next moment based on the angular acceleration of the flying car at the next moment and the angular acceleration of the flying car at the current moment.

[0170] The third determining unit 206 is used to determine the speed vector of the four motor rotors at the next moment based on the total lift of the motor at the next moment, the total torque of the motor at the next moment, and the speed vector of the four motor rotors at the current moment.

[0171] The transmitting unit 207 is used to send the speed vectors of the four motor rotors at the next moment to the motor controller of the flying car.

[0172] It should be noted that the principle of the intelligent flying car active fault-tolerant control device 200 provided in this application embodiment to solve the technical problem is similar to that of the intelligent flying car active fault-tolerant control method provided in this application embodiment. Therefore, the implementation of the intelligent flying car active fault-tolerant control device 200 provided in this application embodiment can refer to the implementation of the intelligent flying car active fault-tolerant control method provided in this application embodiment, and the repeated parts will not be described again.

[0173] Based on the above embodiments, this application also provides an electronic device, see below. Figure 3 As shown, the electronic device 300 provided in this application embodiment includes at least: a processor 301, a memory 302, and a computer program stored in the memory 302 and capable of running on the processor 301. When the processor 301 executes the computer program, it implements the active fault-tolerant control method for intelligent flying cars provided in this application embodiment.

[0174] The electronic device 300 provided in this application embodiment may further include a bus 303 connecting different components (including processor 301 and memory 302). The bus 303 represents one or more types of bus structures, including memory bus, peripheral bus, local area bus, etc.

[0175] The memory 302 may include a readable medium in the form of volatile memory, such as random access memory (RAM) 3021 and / or cache memory 3022, and may further include read-only memory (ROM) 3023.

[0176] The memory 302 may also include a program tool 3025 having a set (at least one) of program modules 3024, including but not limited to: an operating subsystem, one or more application programs, other program modules, and program data, each or some combination of these examples may include an implementation of a network environment.

[0177] Electronic device 300 can also communicate with one or more external devices 304 (e.g., keyboard, remote control, etc.), and with one or more devices that enable a user to interact with electronic device 300 (e.g., mobile phone, computer, etc.), and / or with any device that enables electronic device 300 to communicate with one or more other electronic devices 300 (e.g., router, modem, etc.). This communication can be performed through input / output (I / O) interface 305. Furthermore, electronic device 300 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) through network adapter 306. Figure 3 As shown, network adapter 306 communicates with other modules of electronic device 300 via bus 303. It should be understood that, although... Figure 3 As not shown, other hardware and / or software modules may be used in conjunction with electronic device 300, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, Redundant Arrays of Independent Disks (RAID) subsystems, tape drives, and data backup storage subsystems.

[0178] It should be noted that, Figure 3 The electronic device 300 shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.

[0179] This application also provides a computer-readable storage medium storing computer instructions. When executed by a processor, these computer instructions implement the active fault-tolerant control method for intelligent flying cars provided in this application. Specifically, the executable program can be built into or installed in an electronic device 300, so that the electronic device 300 can implement the active fault-tolerant control method for intelligent flying cars provided in this application by executing the built-in or installed executable program.

[0180] The active fault-tolerant control method for intelligent flying cars provided in this application embodiment can also be implemented as a program product. The program product includes program code. When the program product can run on the electronic device 300, the program code is used to make the electronic device 300 execute the active fault-tolerant control method for intelligent flying cars provided in this application embodiment.

[0181] The program product provided in this application embodiment can be any combination of one or more readable media, wherein the readable media can be a readable signal medium or a readable storage medium, and the readable storage medium can be, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or apparatus, or any combination thereof. Specifically, more specific examples of readable storage media (a non-exhaustive list) include: electrical connections with one or more wires, portable disks, hard disks, RAM, ROM, erasable programmable read-only memory (EPROM), optical fibers, portable compact disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0182] The program product provided in this application embodiment can be a CD-ROM and include program code, and can also run on a computing device. However, the program product provided in this application embodiment is not limited thereto. In this application embodiment, the readable storage medium can be any tangible medium that contains or stores a program, which can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0183] It should be noted that although several units or sub-units of the device have been mentioned in the detailed description above, this division is merely exemplary and not mandatory. In fact, according to embodiments of this application, the features and functions of two or more units described above can be embodied in one unit. Conversely, the features and functions of one unit described above can be further divided and embodied by multiple units.

[0184] Furthermore, although the operations of the method of this application are described in a specific order in the accompanying drawings, this does not require or imply that these operations must be performed in that specific order, or that all the operations shown must be performed to achieve the desired result. Additionally or alternatively, certain steps may be omitted, multiple steps may be combined into one step, and / or one step may be broken down into multiple steps.

[0185] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application and are not intended to limit it. Although this application has been described in detail with reference to the embodiments, those skilled in the art should understand that modifications or equivalent substitutions to the technical solutions of this application do not depart from the spirit and scope of the technical solutions of this application, and should all be covered within the scope of the claims of this application.

Claims

1. An active fault-tolerant control method for an intelligent flying car, applied to a flying car, the flying car comprising four motors, each motor comprising a motor rotor; characterized in that, include: Obtain the current state variables of the flying car and the rotational speed vectors of the four motor rotors. The state variables include: position, velocity, Euler angles, and angular velocity. Based on the current state variables of the flying car and the rotational speed vectors of the four motor rotors, the state variables of the flying car at the next moment are obtained using a pre-established aerodynamic model. Based on the state variables and expected state variables of the flying car at the next moment, the thrust vector of the motor at the next moment is calculated using the NMPC controller. Based on the thrust vector of the motor at the next moment, determine the total lift of the motor at the next moment and the angular acceleration of the flying car at the next moment; The total torque of the motor at the next moment is determined based on the angular acceleration of the flying car at the current moment and the angular acceleration of the flying car at the next moment. Based on the total lift of the motor at the next moment, the total torque of the motor at the next moment, and the speed vectors of the four motor rotors at the current moment, determine the speed vectors of the four motor rotors at the next moment. The speed vectors of the four motor rotors at the next moment are sent to the motor controller of the flying car; The pre-established aerodynamic models include: translational models and rotational models; Based on the current state variables of the flying car and the rotational speed vectors of the four motor rotors, the state variables of the flying car at the next moment are obtained using a pre-established aerodynamic model; including: The translational model is as follows: Among them, ξ k+1 For the next moment t k+1 The position of the flying car in the geocentric rectangular coordinate system For ξ k+1 The second derivative of T; k Let t be the current time. k The total lift of the flying car, m is the total mass of the flying car; g is the gravity vector; f a,k Let t be the current time. k The air resistance experienced by the flying car; f w,k Let t be the current time. k The wind force experienced by the flying car; Current time t k The total lift T of the flying car k The following formula is used to calculate: Among them, u k Represents the current time t k The four-dimensional thrust vector generated by the four motor rotors: u k =c t w k 2 c t It is the thrust coefficient, w k Let t be the current time. k The rotational speed vectors of the four motor rotors; τ k,1 Let t be the current time. k The first total torque vector of the motor rotor; G1 is the first coefficient matrix: G2 is the second coefficient matrix: G3 is the third coefficient matrix: Among them, c q β is the torque coefficient; β and l are the geometric parameters of the flying car; I P It is the moment of inertia of the rotor about the Z-axis; Ω y,k Let t be the current time. k The angular velocity in the y-direction of the flying car; Current time t k The air resistance f experienced by the flying car a,k for: Where, k d,x k d,y k d,z and k h All are known positive parameters; v x,k , v y,k and v z,k They are the current time t. k The velocities of the flying car in three directions within the body coordinate system; Current time t k The wind force f experienced by the flying car w,k for: Where c represents the proportionality coefficient, ρ represents the air density, and S represents the windward area of ​​the flying car; The rotation model is as follows: Among them, I v The inertia matrix of the flying car; Ω k Let t be the current time. k The three-dimensional angular velocity vector of the flying car: Ω k =[Ω x,k ,Ω y,k ,Ω z,k ];q k Let t be the current time. k Quaternions for Euler angle transformations of flying cars; q k+1 Let t be the current time. k+1 Quaternions for Euler angle transformation of a flying car; Based on the current time t k The location of the flying car ξ k ,speed Quaternion q k and the three-dimensional angular velocity vector Ω k and the current time t k The speed vector w of the four motor rotors k Using translational and rotational models, the position of the flying car at the next moment is calculated. speed Quaternion and three-dimensional angular velocity vector Based on the state variables and expected state variables of the flying car at the next moment, the thrust vector of the motor at the next moment is calculated using the NMPC controller; including: The cost function f(u) of the NMPC controller k+1 )for: f(u k+1 )=||β k+1 -β k+1,r ||+||u k+1 ||+||MSI(a k+1 )-MSI(a k+1,r )|| Where, β k+1 The state parameters of the flying car at the next moment: β k+1,r The expected state quantity of the flying car at the next moment; u k+1 The thrust vector of the flying car's motor at the next moment is the unknown quantity; a k+1 a is the Z-axis acceleration of the flying car at the next moment; k+1,r The expected acceleration in the Z direction of the flying car at the next moment; Among them, MSI(a k+1 (a) represents the acceleration in the Z direction. k+1 Incidence of motion sickness: in, H represents amplitude. Δt Indicates the vibration frequency; Where φ(·) represents a normal function; time Δt=t k -t k-1 ; Where f is the frequency of the vertical oscillation of the flying car; By solving the cost function f(u) of the NMPC controller k+1 The minimum value of ) is used to obtain the four-dimensional thrust vector of the flying car motor at the next moment.

2. The method according to claim 1, characterized in that, Based on the thrust vector of the motor at the next moment, determine the total lift of the motor at the next moment and the angular acceleration of the flying car at the next moment; including: According to the following formula Calculate the total lift of the flying car at the next moment. and angular acceleration 3. The method according to claim 2, characterized in that, The method further includes: determining the second total torque vector τ of the motor at the current moment based on the rotational speed vectors of the four motor rotors at the current moment and the rotational speed vectors of the four motor rotors at the previous moment. k,2 : t k,2 =G1w k 2 +Δt -1 G2(w k -w k-1 ) Among them, w k-1 For the previous time t k-1 The rotational speed vectors of the four motor rotors, with time Δt = t k -t k-1 .

4. The method according to claim 3, characterized in that, Based on the angular acceleration of the flying car at the next moment and the angular acceleration of the flying car at the current moment, determine the total torque of the motor at the next moment; including: Total torque of the motor at the next moment for: in, Let be the angular acceleration of the flying car at the current moment.

5. The method according to claim 4, characterized in that, Based on the total lift of the motor at the next time step, the total torque of the motor at the next time step, and the rotational speed vectors of the four motor rotors at the current time step, the rotational speed vectors of the four motor rotors at the next time step are determined, including: According to the following formula: Calculate the speed vectors of the four motor rotors at the next moment.

6. An active fault-tolerant control device for an intelligent flying car, applied to a flying car, the flying car comprising four motors, each motor comprising a motor rotor; characterized in that, include: The acquisition unit is used to acquire the state variables of the flying car at the current moment and the rotational speed vectors of the four motor rotors. The state variables include: position, velocity, Euler angles, and angular velocity. The first calculation unit is used to obtain the state of the flying car at the next moment based on the state of the flying car at the current moment and the speed vectors of the four motor rotors using a pre-established aerodynamic model. The second calculation unit is used to calculate the thrust vector of the motor at the next moment based on the state and expected state of the flying car at the next moment using the NMPC controller. The first determining unit is used to determine the total lift of the motor and the angular acceleration of the flying car at the next moment based on the thrust vector of the motor at the next moment. The second determining unit is used to determine the total torque of the motor at the next moment based on the angular acceleration of the flying car at the next moment and the angular acceleration of the flying car at the current moment. The third determining unit is used to determine the rotational speed vectors of the four motor rotors at the next moment based on the total lift of the motor at the next moment, the total torque of the motor at the next moment, and the rotational speed vectors of the four motor rotors at the current moment. The transmitting unit is used to send the speed vectors of the four motor rotors at the next moment to the motor controller of the flying car; The pre-established aerodynamic models include: translational models and rotational models; The first computing unit is specifically used for: The translational model is as follows: Among them, ξ k+1 For the next moment t k+1 The position of the flying car in the geocentric rectangular coordinate system For ξ k+1 The second derivative of T; k Let t be the current time. k The total lift of the flying car, m is the total mass of the flying car; g is the gravity vector; f a,k Let t be the current time. k The air resistance experienced by the flying car; f w,k Let t be the current time. k The wind force experienced by the flying car; Current time t k The total lift T of the flying car k The following formula is used to calculate: Among them, u k Represents the current time t k The four-dimensional thrust vector generated by the four motor rotors: u k =c t w k 2 c t It is the thrust coefficient, w k Let t be the current time. k The rotational speed vectors of the four motor rotors; τ k,1 Let t be the current time. k The first total torque vector of the motor rotor; G1 is the first coefficient matrix: G2 is the second coefficient matrix: G3 is the third coefficient matrix: Among them, c q β is the torque coefficient; β and l are the geometric parameters of the flying car; I P It is the moment of inertia of the rotor about the Z-axis; Ω y,k Let t be the current time. k The angular velocity in the y-direction of the flying car; Current time t k The air resistance f experienced by the flying car a,k for: Where, k d,x k d,y k d,z and k h All are known positive parameters; v x,k , v y,k and v z,k They are the current time t. k The velocities of the flying car in three directions within the body coordinate system; Current time t k The wind force f experienced by the flying car w,k for: Where c represents the proportionality coefficient, ρ represents the air density, and S represents the windward area of ​​the flying car; The rotation model is as follows: Among them, I v The inertia matrix of the flying car; Ω k Let t be the current time. k The three-dimensional angular velocity vector of the flying car: Ω k =[Ω x,k ,Ω y,k ,Ω z,k ];q k Let t be the current time. k Quaternions for Euler angle transformations of flying cars; q k+1 Let t be the current time. k+1 Quaternions for Euler angle transformation of a flying car; Based on the current time t k The location of the flying car ξ k ,speed Quaternion q k and the three-dimensional angular velocity vector Ω k and the current time t k The speed vector w of the four motor rotors k Using translational and rotational models, the position of the flying car at the next moment is calculated. speed Quaternion and three-dimensional angular velocity vector The second computing unit is specifically used for: The cost function f(u) of the NMPC controller k+1 )for: f(u k+1 )=||β k+1 -β k+1,r ||+||u k+1 ||+||MSI(a k+1 )-MSI(a k+1,r )|| Where, β k+1 The state parameters of the flying car at the next moment: β k+1,r The expected state quantity of the flying car at the next moment; u k+1 The thrust vector of the flying car's motor at the next moment is the unknown quantity; a k+1 a is the Z-axis acceleration of the flying car at the next moment; k+1,r The expected acceleration in the Z direction of the flying car at the next moment; Among them, MSI(a k+1 (a) represents the acceleration in the Z direction. k+1 Incidence of motion sickness: in, H represents amplitude. Δt Indicates the vibration frequency; Where φ(·) represents a normal function; time Δt=t k -t k-1 ; Where f is the frequency of the vertical oscillation of the flying car; By solving the cost function f(u) of the NMPC controller k+1 The minimum value of ) is used to obtain the four-dimensional thrust vector of the flying car motor at the next moment.

7. An electronic device, characterized in that, include: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the computer program, implements the method as claimed in any one of claims 1-5.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that, when executed by a processor, implement the method as described in any one of claims 1-5.