A model-free dynamic inversion control method considering actuator dynamics
By considering the actuator dynamics, the problem of uncertainty in the control performance matrix and the influence of actuator dynamics in INDI technology is solved, and more efficient and stable control effects are achieved.
Patent Information
- Application Number
- CN202410052303.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-15
- Publication Date
- 2025-03-04
- Estimated Expiration
- 2044-01-15
AI Technical Summary
The existing INDI technology fails to effectively consider the uncertainty of the control performance matrix and the actuator dynamics, resulting in the impact of control performance and stability.
A model-free dynamic inverse control method considering the actuator dynamics is proposed. By splitting the unknown nonlinear dynamic system into unknown linear and nonlinear parts, a model-free dynamic inverse control algorithm is designed, and time is differentiated to optimize the model by considering the actuator dynamics.
This method can effectively estimate linear and nonlinear terms without relying on external excitation information or training process, improve control accuracy and stability, especially perform better when the actuator bandwidth is small.
Smart Images

Figure CN117872807B_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the field of flight system control, and in particular relates to a model-free dynamic inverse control method considering actuator dynamics. Background Art
[0002] One of the cornerstones of nonlinear control theory is Nonlinear Dynamic Inversion (NDI), also known as Output Feedback Linearization, which has been applied in many different fields. In theory, very complex nonlinear systems can be perfectly controlled by this method, but the results will deteriorate if the model is inaccurate, if some system states cannot be accurately measured, or if there are actuator dynamics that are not considered. Increase Nonlinear Dynamic Inversion (INDI) is an improved control method of NDI, which does not require any system state related terms, directly measures unmodeled effects and disturbances through feedback of the system output derivative (such as angular acceleration), and compensates for them in the next control increment. Therefore, the concept of INDI is becoming more and more popular in flight control applications.
[0003] The only model information required for INDI control is the Control Effectiveness Matrix (CEM). However, accurate estimation of CEM is challenged by uncertainty, nonlinearity, and external disturbances. In addition, when designing incremental control methods, high-order expansion reminders and state change related terms are usually ignored. However, in the closed-loop system, the above ignored terms still exist, especially the actuator dynamics ignored by INDI, which will seriously affect the control performance and stability of INDI. Summary of the invention
[0004] Purpose of the invention: In view of the above-mentioned prior art, a model-free dynamic inverse control considering actuator dynamics is proposed to solve the problem that the existing INDI technology does not consider the influence of control effectiveness matrix uncertainty and actuator dynamics.
[0005] Technical solution: A model-free dynamic inverse control method considering actuator dynamics, comprising the following steps:
[0006] S1: Split the unknown nonlinear dynamic system into unknown linear part and nonlinear part;
[0007] S2: Design a model-free dynamic inverse control algorithm;
[0008] S3: Considering the influence of actuator dynamics, the time is differentiated again to optimize the model;
[0009] S4: End the algorithm.
[0010] Further, step S1 includes the following steps:
[0011] The unknown nonlinear dynamic system of equation (1) is split into a linear part and another nonlinear function.
[0012]
[0013] Right now
[0014]
[0015] in is the state vector of the system, is the control input vector, is the output matrix (consisting only of 0s and 1s, indicating partial states of the output), and is the system output vector; the system has n states, m control inputs, and z outputs. is a diagonal matrix containing unknown time-varying gains on the principal diameter, and the superscript T denotes the matrix transpose. is the control effectiveness matrix, defined as
[0016]
[0017] represents the first-order derivative of the i-th state quantity, u j represents the jth control input. is a vector of unknown bounded Lipschitz continuous nonlinear functions, expressed as follows:
[0018]
[0019] in
[0020]
[0021] Represents the set of all coupling terms between states in a nonlinear system.
[0022] Further, step S2 includes the following steps:
[0023] Step S2.1: algorithm initialization;
[0024] Initialize the following parameters: k1=1, k2=1, R=I n , Q = 10 -1 ×I n , P(0)=I n , η(0)=0 n ;in is a constant positive definite gain matrix, I n is the identity matrix of dimension n, k1, k2 are the design gains of the signal differentiator, is the estimate of A,g in step S1, and η is defined as the integral of the error;
[0025] Step S2.2: Calculate the joint cost function of the algorithm;
[0026] In order to make it easier to make the control effectiveness matrix Become a full-rank matrix and define a virtual control vector have
[0027]
[0028] in is a new vector including virtual control inputs; for an underactuated dynamic system with z>m, the number of control inputs is virtually increased in the initial step so that all system states are controllable; the expected values of the internal states that are not regarded as system outputs are set to the corresponding virtual control quantities; then, the virtual expected command is defined as:
[0029] ζ d =[y d ,μ] T (6)
[0030] where y d is the expected value of the output signal y in equation (1). Therefore, the constructed output error is
[0031] ε=ζ d -x (7)
[0032] Note that, in contrast to the output vector y defined in Eq. (1), which is a “partial system state”, all system states x are considered when calculating Eq. (7). The joint cost function is defined as
[0033] σ=ε+η (8)
[0034] in By combining the tracking error with its time integral, it is hoped that both transient and steady-state errors can be considered during the design of the MFNDI.
[0035] Based on the above, the dynamics of the unknown nonlinear dynamic system proposed in equation (1) is expressed as
[0036]
[0037] in is the control effectiveness matrix, defined as
[0038]
[0039] According to the setting of virtual control input, it can be seen that the matrix is of full rank;
[0040] Step S2.3: Design a command signal differentiator;
[0041] Using the sliding mode differentiator, the derivative of the virtual desired command is calculated as
[0042]
[0043] And
[0044]
[0045] Where i = 1, 2, ..., n, w = [w1, ..., w n ] T , and τ=[τ1,...,τ n ] T yes The three vectors in w i , τ i It is an auxiliary calculation variable set up to perform smooth differentiation of the virtual expected command, and has no actual physical meaning. k1 and k2 are two positive constants; the differential value of the virtual expected command is used by this differentiator wherever it is needed later. Make estimates;
[0046] Step S2.4: Design an estimator to estimate A and g and obtain and
[0047] and The update is performed by the following adaptive law:
[0048]
[0049]
[0050] in Represents the extraction matrix The vector constructed from the diagonal elements of is a diagonal matrix constructed from the vector σ with all off-diagonal elements zero, are two positive definite diagonal matrices containing the gains, and ρ1 and ρ2 are the missing gains, both positive scalars;
[0051] Step S2.5: cyclically solving the control input at each moment, specifically including the following sub-steps:
[0052] Step S2.5.1: Set the simulation end time t f , set the current time to t = t + dt, the initial value of t is 0, get the current state and the current expected instruction as x(t), ζ d (t);
[0053] Step S2.5.2: Calculate the joint cost function at the current moment σ(t) = ε(t) + η(t), where ε(t) = ζ d (t)-x(t), η=η(t-dt)+ε(t)×dt;
[0054] Step S2.5.3: Calculate the differential value of the expected command at time t according to the command signal differentiator designed in step S2.3
[0055] Step S2.5.4: Update P, and
[0056] Step S2.5.5: Calculate the virtual control input at the current moment according to the following formula: T , and extract the actual control input u of m dimension after ν, and send it into the system
[0057]
[0058] Where, υ is the dynamic inverse pseudo control quantity;
[0059] Step S2.5.6: Determine whether t ≥ t f If yes, end the loop; otherwise, let t=t+dt and return to step S2.5.2.
[0060] Further, step S3 includes the following steps:
[0061] Step S3.1: Obtain dynamic inverse pseudo control quantity including actuator dynamics;
[0062] Consider that the actuator dynamics is given by:
[0063]
[0064] Where Ω is the bandwidth, u c is the controller output command, and u is the control input vector of the system. In order to obtain the state derivative of explicit control, the first-order derivative of the state is differentiated again, that is:
[0065]
[0066] where x (2)represents the second-order derivative of the state with respect to time, and choose x (2) Pseudo-control υ,f as dynamic inverse x is the partial derivative of f(x,u) with respect to x in equation (1), f u is the partial derivative of f(x,u) with respect to u in equation (1), then
[0067]
[0068] Since the order of the error dynamics of the system with the actuator in the output y is equal to the sum of the relative order of y and the order of the actuator dynamics, the required dynamics can be interpreted as a cascade dynamics. It consists of a slower system error dynamics and a faster inner loop dynamics with bandwidth Ω corresponding to the actuator dynamics. Then, the system error dynamics equation with the actuator dynamics should be expressed as:
[0069] E ε (s)(sI+K)(sI+Ω)=0 (19)
[0070] Where E ε (s) is the output error ε = ζ d =The Laplace transform of -x is the desired error dynamics of the system, (sI+Ω) is the desired error dynamics due to the first-order actuator, and (sI+K) is the control gain that defines the desired error dynamics; the system error dynamics E y (s)(sI+K) is formulated in the time domain as:
[0071]
[0072] in is the inverse Laplace transform, K is the control law obtained using the LQR method; based on equation (20), the combined error dynamics of equation (19) is expressed in the time domain as:
[0073]
[0074] Based on ε=ζ d -x, combined with equation (19) and equation (17), the expression of pseudo control υ of dynamic inversion can be obtained as:
[0075]
[0076] Step S3.2: Establish the MFNDI control input taking into account the actuator dynamics.
[0077] Combining equations (15), (13), (14) and (22), the MFNDI control input considering the actuator dynamics, that is, the dynamic inverse pseudo control quantity, can be obtained as:
[0078]
[0079] Beneficial effects: In order to solve the tracking control problem of a completely unknown multi-input multi-output nonlinear dynamic system with actuator dynamics, the present invention proposes a model-free dynamic inverse control method considering the actuator dynamics, and represents the unknown nonlinearity of the dynamic system as a combination of an unknown linear state part and an unknown nonlinear function. The proposed MFNDI adaptive law is used to estimate linear terms and nonlinear terms, and only relies on the real-time measurement data of the controlled system without any external excitation information or training process. In addition, MFNDI also takes first-order or second-order linear actuators into consideration, and designs a model-free dynamic inverse control considering the actuator dynamics, which compensates for the impact of the actuator bandwidth on the traditional NDI algorithm. Simulation results show that compared with INDI, MFNDI has better control effects when there is uncertainty and when actuator dynamics are considered. This method can be compared with the traditional NDI / INDI method, which only relies on the real-time measurement data of the controlled system and does not rely on any mathematical model information of the controlled system. BRIEF DESCRIPTION OF THE DRAWINGS
[0080] Figure 1 is a flow chart of the MFNDI algorithm considering actuator dynamics;
[0081] Figure 2 It is a comparison of the tracking performance of quadrotors;
[0082] Figure 3 is the quadrotor motor speed under the MFNDI algorithm;
[0083] Figure 4 It is the tracking accuracy comparison with actuator;
[0084] Figure 5 is the error distribution diagram of INDI under different actuator bandwidths;
[0085] Figure 6 is the error distribution diagram of MFNDI under different actuator bandwidths. DETAILED DESCRIPTION
[0086] The present invention will be further explained below in conjunction with the accompanying drawings.
[0087] The present invention aims at the poor INDI control effect when the control efficiency matrix is uncertain and the actuator bandwidth is small, and the method of the present invention can obtain better control effect. First, the unknown nonlinear system is split into an unknown nonlinear system and an unknown linear system and parameters are estimated separately, and then the actuator dynamics are considered for stability analysis, and compared with the case without consideration, which makes up for the influence of the small actuator bandwidth on the traditional NDI algorithm.
[0088] Example 1 Quadrotor Application
[0089] The quadrotor is a typical underactuated nonlinear system with 12 states that are highly coupled to the input. The aerodynamics of the quadrotor are very complex and it is difficult to provide an accurate dynamic model. In addition, the quadrotor is also affected by disturbances such as wind and weather conditions. The model used to simulate the quadrotor is as follows:
[0090]
[0091] where p q =[x q ,y q ,z q ] T and Φ q =[φ q ,θ q ,ψ q ] T They are the absolute position of the quadrotor and the Euler angle (roll φ q , pitchθ q and yaw ψ q ), v q =[v xq ,v yq ,v zq ] T and w q =[w xq ,w yq ,w zq ] T is the vector of linear velocity and angular velocity, m q is the mass of the quadrotor, is its inertia matrix, K d and K a are two constant coefficients representing friction and torque, F g =[0; 0; g] is the gravity vector, f q and t q is the vector of the unknown disturbance, and the force and torque generated by the motor are represented by F q =[0;0;F T ] and τ q =[τ x ; τ y ; τ z ],and:
[0092]
[0093] Here, k l and k t are the constants of the motor used to generate lift and torque, respectively, q is the length of each arm of the quadrotor, wiq , i = [1,2,3,4] is the motor speed, F T is the force generated by the motor on the z-axis. In the quadrotor model, R q and R qt The expressions of the two transformation matrices are:
[0094]
[0095]
[0096] In the simulation, the above mentioned parameter values are set as L q =0.1, m q =2, J q =1.24×10 -3 ×diag([1,1,2]),K d =K a =0.01, k l =10 -4 , k t =10 -7 , g = 9.81, f q =sin(t)×[0,0,1] T , and t q =sin(t)×[1,1,1] T .
[0097] Step S1: Split the unknown nonlinear system into an unknown linear part and an unknown nonlinear part.
[0098] The unknown nonlinear dynamic system described by equation (24) is split into a linear part and another nonlinear function, that is,
[0099]
[0100] in is the state vector of the system, is the virtual control input vector for the setting. is a diagonal matrix containing unknown time-varying gains on the main diameter, the superscript T represents the matrix transpose, and is the linear part to be estimated; g(x) is the nonlinear part to be estimated. For the virtual control input vector ν q The settings are as follows:
[0101] The system has 12 system states, namely [p q ,Φ q ,v q ,w q ] T Therefore, 12 virtual control inputs ν are set in the MFNDI algorithm. iq, i = 1, 2, ..., 12. ν iq Including the first 6 virtual control quantities, when i=1,2,...,6, ν iq =[v qc ,w qc ] T , v qc ,w qc v q ,w q The expected instruction; the last 6 virtual control quantities ν iq , i=7,...,12, used to determine the actual control input value:
[0102]
[0103] In addition, it is assumed that the yaw angle is always zero, that is, the expected command ψ qc = 0. Then determine the expected values of the roll angle and pitch angle according to the following formula: qc ,θ qc :
[0104]
[0105] Therefore, based on the above virtual control input ν q According to formula (10), the matrix in formula (28) can be obtained is the 12-dimensional identity matrix.
[0106] Step S2: Design a Model-Free Nonlinear Dynamic Inversion (MFNDI) algorithm. The MFNDI proposed in the present invention can be directly implemented on the dynamic model of the quadrotor in equation (24) without any prior knowledge about the parameter values in the model.
[0107] First, set the simulation end time t f = 100s. Then, according to equations (13) and (14), P, and Then the virtual control input ν = [μ,u] at the current moment is calculated according to the following formula: T
[0108]
[0109] After extracting ν, the 6 dimensions are used to calculate u according to formula (29) and then sent into the system.
[0110] MFNDI related parameter settings Γ1=10 3 ×diag(10 -3 ·16,16), Γ2=1×diag(10 -3·16,16), ρ1=ρ2=0.1. Set the desired trajectory of the quadrotor tracking to Figure 2 The three-dimensional curve shown by the blue solid line in the middle adopts MFNDI for tracking control. The simulation results are shown in Figure 2 and Figure 3 shown.
[0111] Step S3: Consider the influence of actuator dynamics and optimize the algorithm model. Consider the system has a first-order linear actuator The actuator bandwidth is set to 8 (rad / s). The control simulation of system (24) is performed using the INDI method and the MFNDI method respectively. The simulation results are shown in Figure 4 As shown. In order to further analyze the influence of brake bandwidth. Different bandwidth sizes Ω = 2, 4, 6, 8, 10 (rad / s) are set, and then the INDI method and MFNDI method are used to perform control simulation on the nominal system (24) (without considering uncertainty) under different bandwidths. Figure 5 and Figure 6 The influence of the actuator bandwidth on the error dynamics of the INDI and MFNDI control laws is demonstrated.
[0112] Step 4: End the algorithm. According to the results, for the INDI algorithm, when the actuator dynamics cannot be ignored, the calculated increment of the control input cannot be achieved within one time sample, which will lead to insufficient anticipation of the system change. Therefore, there will be Figure 4 The tracking curve shown by the black dotted line is jittery and has low tracking accuracy. If the actuator bandwidth is further reduced, the simulation solution will fail. The MFNDI proposed in the present invention takes the actuator dynamics into consideration and solves this problem well.
[0113] Figure 5 and Figure 6 The simulation results show that as the bandwidth of the actuator increases, the difference in error under the NDI method decreases, which means that the resulting error dynamics are close to the specified expected dynamics; the difference in error under the MFNDI method considering the actuator is almost unchanged, indicating that this method can take into account the cascade effect brought by the actuator dynamics. Figure 5 and Figure 6 It can be concluded that as the actuator bandwidth increases, the actuator part of the error dynamics in the classical INDI law becomes negligible and the INDI error approaches the MFNDI error.
[0114] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.
Claims
1. A model-free dynamic inverse control method considering actuator dynamics, characterized in that: The following steps are involved: S1: Split the unknown nonlinear dynamic system into unknown linear part and nonlinear part; S2: Design a model-free dynamic inverse control algorithm; S3: Considering the influence of actuator dynamics, the time is differentiated again to optimize the model; S4: End the algorithm; Step S1 includes: The unknown nonlinear dynamic system of equation (1) is split into a linear part and another nonlinear part. Right now in is the state vector of the system, is the control input vector, is the output matrix, and is the system output vector; the system has n states, m control inputs and z outputs; is a diagonal matrix containing unknown time-varying gains on the main diameter, and the superscript T indicates the matrix transpose; is the control effectiveness matrix, defined as represents the first-order derivative of the i-th state quantity, u j represents the jth control input; is a vector of unknown bounded Lipschitz continuous nonlinear functions, expressed as follows: in Represents the set of all coupling terms between states in a nonlinear system; Step S2 includes the following steps: S2.1: Initialization of model-free dynamic inverse control algorithm; S2.2: Calculate the joint cost function of the model-free dynamic inverse control algorithm; S2.3: Design the command signal differentiator; S2.4: Design an estimator to estimate A and g; S2.5: Loop to solve the control input at each moment; Step S2.1 includes: initializing the following parameters, k1=1, k2=1, R=I n , Q = 10 -1 ×I n , P(0)=I n , η(0)=0 n ;in is a constant positive definite gain matrix, I n is the identity matrix of dimension n, k1, k2 are the design gains of the signal differentiator, is the estimate of A,g in step S1, and η is defined as the integral of the error; Step S2.2 includes: In order to facilitate the control effectiveness matrix Become a full-rank matrix and define a virtual control vector have n=[μ,u] T (5) in is a new vector including virtual control inputs; for an underactuated dynamic system with z>m, the number of control inputs is virtually increased in the initial step so that all system states are controllable; the expected values of the internal states that are not regarded as system outputs are set to the corresponding virtual control quantities; then, the virtual expected command is defined as: g d =[y d ,m] T (6) where y d is the expected value of the output signal y in equation (1); therefore, the constructed output error is =ζ d -x (7) The joint cost function is defined as σ= +n (8) in The dynamics of the unknown nonlinear dynamic system of formula (1) is expressed as According to the setting of virtual control input, the matrix is of full rank; Step S2.3 includes: using a sliding mode differentiator, calculating the derivative of the virtual desired command as And Where i = 1, 2, ..., n, w = [w1, ..., w n ] T , and τ=[τ1,…,τ n ] T yes The three vectors in w i , τ i They represent the auxiliary calculation variables set, which are used to smoothly differentiate the virtual expected instructions. k1 and k2 are two positive constants. The differentiator is used to differentiate the virtual expected instructions. Make estimates; Step S2.4 includes: designing an estimator for estimating A and g to obtain and and Updates are made using the following adaptive law: in Represents the extraction matrix The vector constructed from the diagonal elements of is a diagonal matrix constructed from the vector σ with all off-diagonal elements zero, are two positive definite diagonal matrices containing the gains, and ρ1 and ρ2 are the missing gains, both positive scalars; Step S2.5 includes: Step S2.5.1: Set the simulation end time t f , the simulation interval is dt, the current state and the current expected instruction are x(t), ζ d (t); Step S2.5.2: Calculate the joint cost function σ(t) at the current moment = (t)+η(t), where (t) = ζ d (t)-x(t),η=η(t-dt)+ (t) × dt; Step S2.5.3: Calculate the differential value of the expected command at time t according to the command signal differentiator designed in step S2.3 Step S2.5.4: Update P, and Step S2.5.5: Calculate the virtual control input at the current moment according to the following formula: T , and extract the actual control input u of m dimension after ν, and send it into the system Where, υ is the dynamic inverse pseudo control quantity; Step S2.5.6: Determine whether t ≥ t f If yes, end the loop; otherwise, increase the current time t by dt and return to step S2.5.
2.
2. The model-free dynamic inverse control method considering actuator dynamics according to claim 1, characterized in that: Step S3 includes the following steps: Step S3.1: Obtain dynamic inverse pseudo control quantity including actuator dynamics; Step S3.2: Establish the control input of the model-free dynamic inverse control algorithm taking into account the actuator dynamics.
3. The model-free dynamic inverse control method considering actuator dynamics according to claim 2, characterized in that: Step S3.1 comprises: The actuator dynamics is given by: Where Ω is the bandwidth, u c is the controller output command, and u is the system input control signal; in order to obtain the state derivative of explicit control, the first-order derivative of the state is differentiated again, that is: where x (2) represents the second-order derivative of the state with respect to time, and choose x (2) As the dynamic inverse pseudo control quantity υ, f x is the partial derivative of f(x,u) with respect to x in equation (1), f u is the partial derivative of f(x,u) with respect to u in equation (1), then The system error dynamics equation with actuator dynamics should be expressed as: E ε (s)(sI+K)(sI+Ω)=0 (18) Where E ε (s) is the output error =ζ d =The Laplace transform of -x is the desired error dynamics of the system, (sI+Ω) is the desired error dynamics due to the first-order actuator, and (sI+K) is the control gain that defines the desired error dynamics; the system error dynamics E y (s)(sI+K) is formulated in the time domain as: in is the inverse Laplace transform, K is the control law obtained using the LQR method; based on equation (20), the combined error dynamics of equation (19) is expressed in the time domain as: Based on E=ζ d -x, combined with equation (19) and equation (17), the expression of the dynamic inverse pseudo control quantity υ is obtained as follows: Step S3.2 includes: Combining equations (15), (13), (14) and (22), the model-free dynamic inverse pseudo-control quantity considering the actuator dynamics is obtained as: