A dynamic positioning active disturbance rejection control method based on an adaptive extended Kalman filtering algorithm
An adaptive extended Kalman filter algorithm was used to design a dynamic positioning active disturbance rejection controller, which solved the problems of positioning speed and control stability in marine environments, extended the life of the actuator, and achieved fast and accurate dynamic positioning.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HARBIN ENG UNIV
- Filing Date
- 2024-09-30
- Publication Date
- 2026-07-10
AI Technical Summary
Existing ship dynamic positioning active disturbance rejection control methods cannot meet the control stability requirements while ensuring positioning speed, and the actuators have short lifespans, mainly due to complex parameter adjustments and failure to consider the impact of high-frequency interference in the marine environment.
A dynamic positioning active disturbance rejection control method based on the adaptive extended Kalman filter algorithm is adopted. By establishing low-frequency and high-frequency motion models, a nonlinear state error feedback control law is designed, and a dynamic positioning active disturbance rejection controller is designed using the adaptive extended Kalman filter method to weaken the first-order wave force interference in the marine environment and reduce the wear of the actuator.
It improves positioning accuracy and speed, meets the requirements for control stability, extends the service life of the actuator, and reduces the wear and tear on the actuator.
Smart Images

Figure CN119270643B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of ship dynamic positioning control, and in particular to a dynamic positioning active disturbance rejection control method based on an adaptive extended Kalman filter algorithm. Background Technology
[0002] With the continuous development of marine engineering, humanity is no longer limited to land resources but is gradually turning its attention to the abundant marine resources. The complexity of offshore operations is increasing, and the environmental disturbances encountered are becoming more complex and variable, placing ever-higher demands on ship positioning capabilities. Dynamic positioning utilizes the ship's own propulsion system to generate thrust that resists interference from the marine environment, thereby achieving hovering at a fixed point on the sea surface. However, dynamic positioning vessels are affected by the complex marine environment during offshore operations, making it impossible for the ship to accurately position itself. This causes the dynamic positioning controller to constantly change its output control force, resulting in severe wear and tear on the actuators and significantly reducing their service life. Therefore, active disturbance rejection control for dynamic positioning is extremely important.
[0003] Currently, ship dynamic positioning active disturbance rejection control mainly employs a method combining algorithm-tuned PID parameters and a tracking differentiator with a state observer. However, the parameter tuning of the PID-based active disturbance rejection control method is complex, making it difficult to balance response speed and stability. Therefore, it cannot meet the control stability requirements while ensuring response speed, and consequently, it cannot meet the control stability requirements while ensuring positioning speed. Furthermore, the active disturbance rejection control method based on the tracking differentiator and state observer does not consider the impact of high-frequency interference in the marine environment, which still causes severe wear on the actuators, resulting in a short actuator life. At the same time, this lack of consideration for the impact of high-frequency interference in the marine environment leads to slow positioning speed. Summary of the Invention
[0004] The purpose of this invention is to address the problems of existing ship dynamic positioning active disturbance rejection control methods, which cannot meet the control stability requirements while ensuring positioning speed and also lead to short actuator life. Therefore, this invention proposes a dynamic positioning active disturbance rejection control method based on an adaptive extended Kalman filter algorithm.
[0005] A dynamic positioning active disturbance rejection control method based on an adaptive extended Kalman filter algorithm is as follows:
[0006] Step 1: Establish a low-frequency motion model of the dynamically positioned vessel;
[0007] Step 2: Establish a high-frequency motion model of the dynamically positioned vessel and convert the high-frequency motion model of the dynamically positioned vessel into a state-space form;
[0008] Step 3: Using the low-frequency motion model of the dynamically positioned vessel obtained in Step 1 and the high-frequency motion model of the dynamically positioned vessel in state space form obtained in Step 2, obtain the ship motion model;
[0009] Step 4: Design a nonlinear state error feedback control law and use the nonlinear state error feedback control law to obtain the thrust value applied by the propeller;
[0010] Step 5: Discretize the ship motion model obtained in Step 3 to obtain the discretized ship motion model;
[0011] Step 6: Based on the adaptive extended Kalman filter method, design a dynamic positioning active disturbance rejection controller using the discretized ship motion model obtained in Step 5 and the thrust value applied by the propeller obtained in Step 4.
[0012] Furthermore, the establishment of the low-frequency motion model of the dynamically positioned vessel in step one specifically involves:
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019] in, x l It is the x-axis and y-axis of the ship's low-frequency motion. l It is the ordinate of the ship's low-frequency motion, ψ l It is the angle of the ship's low-frequency motion. V is the velocity vector composed of the combined longitudinal velocity, sway velocity, and bow roll velocity of the ship's low-frequency motion; u is the longitudinal velocity of the ship's low-frequency motion; v is the sway velocity of the ship's low-frequency motion; and r is the bow roll velocity of the ship's low-frequency motion. τ is the thrust vector applied by the propeller, τ1 is the thrust applied by the propeller in the pitch direction, τ2 is the thrust applied by the propeller in the sway direction, and τ3 is the thrust applied by the propeller in the yaw direction. b is the environmental disturbance force vector, b1(t) is the environmental disturbance force in the pitch direction of the ship's low-frequency motion, b2(t) is the environmental disturbance force in the sway direction of the ship's low-frequency motion, b3(t) is the environmental disturbance force in the bow direction of the ship's low-frequency motion, t is time, R(η) and R(ψ) are rotation matrices, M, C(V), and D(V) are intermediate matrices, m is the ship's mass, and X...u ,Y v ,Y r N v N r , It is the hydrodynamic coefficient, x G It is the location of the ship's center of gravity, I z It is the ship's moment of inertia.
[0020] Furthermore, the rotation matrix R(ψ) l The following equation must be satisfied:
[0021]
[0022] R T (ψ l )S(r)R(ψ l )=R(ψ l )S(r)R T (ψ l )=S(r)
[0023]
[0024] R T (ψ l )R(ψ l ) = I
[0025] ||R(ψ l )||=1
[0026] Where S(r) is the intermediate matrix and I is the identity matrix.
[0027] Furthermore, the establishment of a high-frequency motion model of the dynamically positioned vessel in step two, and the conversion of the high-frequency motion model into a state-space form, specifically involves:
[0028] Step 21: Establish a high-frequency motion model for the dynamically positioned vessel, specifically as follows:
[0029]
[0030] Where s is the Laplace operator, K ωi ζ is the coefficient of wave intensity in the i-direction. i ω is the relative damping coefficient in the i-direction. 0i It is the dominant frequency of the wave in the PM wave energy spectrum in the i direction, where i = 1, 2, 3 represent the sway direction, the roll direction, and the pitch direction, respectively.
[0031] Step 22: Convert the high-frequency motion model of the dynamically positioned vessel into a state-space form, specifically as follows:
[0032]
[0033]
[0034]
[0035] C h =[0 3×3 I 3×3 ]
[0036]
[0037] A 22 =-diag{2ζ1ω 01 2ζ2ω 02 2ζ3ω 03}
[0038] ∑=diag[K w1 K w2 K w3 ]
[0039] K wi =2ξ i ω 0i σ i
[0040] Where, η h =[x h ,y h ,ψ h ], η h It is a vector consisting of the ship's position and heading angle during high-frequency motion, x h It is the ship's abscissa during high-frequency motion, y h It is the longitudinal coordinate of the ship during its high-frequency motion, ψ h It is the bow angle of the ship during its high-frequency motion, ξ. h =[x h ,y h ,ψ h ,ξ x ,ξ y ,ξ ψ ] T ξ h ξ is the state vector of the ship's high-frequency motion. x It is the longitudinal velocity ξ during the high-frequency motion of a ship. y It is the sway linear velocity ξ during the high-frequency motion of a ship. ψ It is the bow roll rate ω during the ship's high-frequency motion. h =[ω h1 ,ω h2 ,ω h3 ] T ω hIt is a zero-mean Gaussian white noise vector, ω h1 ,ω h2 ,ω h3 These are zero-mean Gaussian white noise representing the sway, roll, and pitch directions, respectively. h , E h C h Let A be the coefficient matrix. 21 A 22 ∑ is the intermediate matrix, K wi It is an intermediate variable, I 3×3 It is a 3×3 identity matrix, diag[] is a diagonal matrix, and ξ1 = ξ x ξ2=ξ y ξ3=ξ ψ , σ i It is a constant representing the wave intensity in the i-direction, 0 3×3 It is a 3×3 zero matrix.
[0041] Furthermore, in step three, the ship motion model is obtained by using the low-frequency motion model of the dynamically positioned ship obtained in step one and the state-space form of the high-frequency motion model of the dynamically positioned ship obtained in step two, specifically as follows:
[0042]
[0043] Where f(x) is the state variable function, B is the thruster configuration control matrix, x is the state variable, E is the noise figure matrix, ω and ω' are two zero-mean Gaussian white noise matrices, H is the observation coefficient matrix, and y is the system output.
[0044] Furthermore, in step four, the design of the nonlinear state error feedback control law, and the use of the nonlinear state error feedback control law to obtain the thrust value applied by the propeller, specifically involves:
[0045] Step 41: Obtain the system state equations and discretize them to obtain the discretized system state equations, specifically:
[0046] First, obtain the system state equations:
[0047]
[0048] Where x1 is the vector composed of the ship's position and angle, x2 is the vector composed of the ship's linear velocity and angular velocity, and x3 is the vector of disturbance acceleration. η is the derivative of x1, x2, and x3, and η'(t) is the marine environmental disturbance function;
[0049] Then, the system state equations are discretized to obtain the discretized system state equations:
[0050]
[0051]
[0052] Where e1 is a vector composed of the ship's position and angle errors, z1 is a vector composed of the ship's position and angle observations, z2 is a vector composed of the ship's linear and angular velocity observations, and z3 is the disturbance acceleration vector. It is the derivative of z1, z2, and z3, β 01 >0, β 02 >0, β 03 >0, β 01 β 02 β 03 δ is the adjustable gain of the observer, a1 and a2 are the shape parameters of the fal function, a takes either a1 or a2, and δ is the gain interval coefficient.
[0053] Step 42: Obtain the system state feedback equation using the discretized system state equation;
[0054] Step 43: Use the system state feedback equation obtained in Step 42 to obtain the value of the thrust vector applied by the propeller.
[0055] Furthermore, the step four-two, obtaining the system state feedback equation using the discretized system state equation, specifically involves:
[0056] make:
[0057]
[0058] Where e2 is a vector composed of linear velocity error and angular velocity error, and e3 is the disturbance acceleration error vector;
[0059] Based on the discretized system state equations, the expressions for the error vectors e1, e2, and e3 are as follows:
[0060]
[0061] Assuming variables x1 and x2 are known quantities, the following equation has a solution for any V:
[0062] f(x1,x2,τ)=V
[0063] Let τ = g(x1,x2,V), then the system state feedback is as follows:
[0064]
[0065] The above formula can be rewritten as:
[0066]
[0067] Where v1 is a preset vector composed of ship positions and angles based on experience, and k1 and k2 are preset coefficients. It is the derivative of v1.
[0068] Furthermore, in step four-three, the value of the thrust vector applied by the propeller is obtained using the system state feedback equation obtained in step four-two, specifically as follows:
[0069] First, the thrust vector applied by the propeller is obtained as follows:
[0070]
[0071] τ0=k1fal(e1,α1,δ)+k2fal(e2,α2,δ)
[0072] Where c is the compensation intensity factor, and z3(t) is the observed value of the disturbance acceleration at time t;
[0073] Then, a fixed-time extended state observer is designed, specifically as follows:
[0074]
[0075] w=R(ψ)V
[0076]
[0077]
[0078] in, It is an estimate of η. yes The derivative of , where w is the auxiliary velocity vector. χ is an estimate of w, and χ is the set of unknown disturbances. H is an estimate of χ. n <Υ, μ1, μ2, μ3, ε1, ε2, ε3, Υ are constants, H n It is a bounded constant. α i ∈(0,1),β i >1, It is a constant, l1 and l2 are both infinitesimals, and α i β i These are intermediate variables, i = 1, 2, 3;
[0079] The gain range of the fixed-time extended state observer FESO satisfies the following Hurwitz matrix:
[0080]
[0081]
[0082] Finally, the thrust vector applied to the propeller is discretized based on the fixed-time extended state observer to obtain the final thrust vector applied by the propeller, specifically:
[0083]
[0084] τ0(k)=k1fal(e1,α1,δ)+k2fal(e2,α2,δ)
[0085] e² = x²(k) - z²(k)
[0086] e1 = x1(k) - z1(k)
[0087] Where k is the discretized time t, τ(k) is the thrust applied by the propeller at time k, z3(k) is the observed value of the disturbance acceleration at time k, τ0(k) is the theoretical value of the thrust applied by the propeller at time k, x1(k) is the vector composed of the ship's position and angle at time k, z2(k) is the vector composed of the observed values of the ship's linear velocity and angular velocity at time k, and z1(k) is the vector composed of the observed values of the ship's position and angle at time k, and x2(k) is the vector composed of the ship's linear velocity and angular velocity at time k.
[0088] Furthermore, in step five, the ship motion model obtained in step three is discretized to obtain a discretized ship motion model, specifically as follows:
[0089]
[0090] Δ=A -1 (Φ-I)B
[0091] Γ=A -1 (Φ-I)E
[0092] R = R T >0
[0093] Φ = exp(Ah)
[0094] Where x(k) is the system state variable at time k, x(k-1) is the system state variable at time k-1, Φ, Δ, Γ, H are coefficient matrices, τ(k-1) is the thrust applied by the propeller at time k-1, ω(k-1) is zero-mean Gaussian white noise with covariance matrix Q at time k-1, ω'(k-1) is zero-mean Gaussian white noise with covariance matrix R at time k-1, y(k) is the system output at time k, R and Q are the covariance matrices of ω'(k-1) and ω(k-1) respectively, A is the coefficient matrix of the state variable function f(x), h is the sampling time, and I is the identity matrix.
[0095] Furthermore, in step six, the adaptive extended Kalman filter-based method utilizes the discretized ship motion model obtained in step five and the propeller-applied thrust value obtained in step four to design a dynamic positioning active disturbance rejection controller, specifically as follows:
[0096] Step 61: Initialize the estimated values of the system state variables. Initial value of covariance estimate
[0097] Step 62: Obtain the predicted values of the system state variables at time k using the discretized ship motion model:
[0098]
[0099] in, τ(k-1) is the estimated value of the system state variables at time k-1, and τ(k-1) is the thrust applied by the propeller at time k-1. It is the predicted value of the system state variables at time k;
[0100] Step 63: Obtain the predicted value of error covariance:
[0101]
[0102] in, It is the predicted value of the error covariance at time k. It is the estimated value of the error covariance at time k-1;
[0103] Step 64: Introduce the forgetting factor ff to obtain the update adjustment parameter d(k):
[0104]
[0105] Where d(k) is the adjustment parameter at time k, ff k+1 It is ff raised to the power of k+1, where ff is the forgetting factor;
[0106] Step 65: Utilize the predicted values of the system state variables at time k obtained in Step 62. Obtain the system output prediction value at time k:
[0107]
[0108] in, It is the predicted value of the system output at time k;
[0109] Step 66: Use y(k) obtained in Step 65 to obtain the system output error:
[0110]
[0111] Where y(k) is the actual output value of the system at time k. Z(k) is the predicted system output value at time k, and Z(k) is the system output error at time k.
[0112] Steps 6 and 7: Update the observation noise covariance matrix R(k):
[0113] R(k) = (1 - d(k))R(k-1)
[0114] +d(k)([IH(k)K(k-1)]w'(k)w' T (k)[IH(k)K(k-1)] T
[0115] +H(k)P(k-1)H T (k))
[0116] Where R(k-1) is the observation noise covariance matrix at time k-1, H(k) is the coefficient matrix at time k, w'(k) is the Gaussian white noise at time k, K(k-1) is the Kalman filter gain coefficient at time k-1, and P(k-1) is the mean square error matrix of the filter estimate at time k-1.
[0117] Step 68: Use the error covariance prediction value obtained in Step 63. Calculate the Kalman filter gain coefficient K(k):
[0118]
[0119] Where K(k) is the Kalman filter gain coefficient at time k, and R(k) is the observation noise covariance matrix at time k;
[0120] Step 69: Use K(k) obtained in Step 68 and Z(k) obtained in Step 66 to obtain the estimated values of the system state variables.
[0121]
[0122] in, These are the estimated values of the system state variables at time k;
[0123] Step 60: Use K(k) obtained in Step 68 and R(k) obtained in Step 67 to obtain the error covariance estimate.
[0124]
[0125] in, It is the estimated value of the error covariance at time k;
[0126] Step 61: Predict values using error covariance Composition of the mean square error matrix for filter estimation Let k = k + 1, and return to step six two.
[0127] The beneficial effects of this invention are as follows:
[0128] This invention provides dynamic positioning active disturbance rejection control based on an adaptive extended Kalman filter algorithm, making it more suitable for systems with nonlinearity and uncertainty. By introducing a forgetting factor and adaptively adjusting the observation noise covariance matrix, this invention improves existing dynamic positioning active disturbance rejection control methods, effectively reducing the influence of initial values on the filter's performance and improving positioning accuracy and speed. The parameters of this invention are simple to adjust, enabling the improvement of response speed while meeting control stability requirements. Furthermore, this invention applies an adaptive extended Kalman filter algorithm to filter first-order wave force interference in the marine environment, solving the problem of increased actuator wear caused by the high-frequency reciprocating motion of dynamically positioned vessels under the influence of first-order wave forces, reducing actuator wear, and extending the lifespan of the actuators. Attached Figure Description
[0129] Figure 1 Schematic diagram of the coordinate system of a dynamically positioned vessel;
[0130] Figure 2 This is a schematic diagram of the Kalman filter algorithm.
[0131] Figure 3 This is a block diagram of the active disturbance rejection controller based on the adaptive extended Kalman filter algorithm. Detailed Implementation
[0132] Specific Implementation Method 1: The specific process of this implementation method for dynamic positioning active disturbance rejection control based on adaptive extended Kalman filter algorithm is as follows:
[0133] Step 1: Establish a low-frequency motion model of the dynamically positioned vessel:
[0134]
[0135]
[0136]
[0137]
[0138]
[0139] in, x l It is the x-axis and y-axis of the ship's low-frequency motion. lIt is the ordinate of the ship's low-frequency motion, ψ l It is the angle of the ship's low-frequency motion. Let be the velocity vector formed by the combination of the longitudinal sway velocity, transverse sway velocity, and bow roll velocity of the ship's low-frequency motion; u be the longitudinal sway velocity of the ship's low-frequency motion; v be the transverse sway velocity of the ship's low-frequency motion; and r be the bow roll velocity of the ship's low-frequency motion. τ1 is the thrust vector applied by the propeller in the pitch direction, τ2 is the thrust applied by the propeller in the sway direction, and τ3 is the thrust applied by the propeller in the yaw direction. Here, b1(t) represents the environmental disturbance force vector, b2(t) represents the environmental disturbance force in the pitch direction of the ship's low-frequency motion, b3(t) represents the environmental disturbance force in the sway direction of the ship's low-frequency motion, t is time, R(η) and R(ψ) are rotation matrices, M, C(V), and D(V) are intermediate matrices, m is the ship's mass, and X is the environmental disturbance force vector. u ,Y v ,Y r N v N r , It is the hydrodynamic coefficient ( X represents the additional mass generated by the ship in the directions of pitch, sway, and bow roll. u ,Y v ,Y r N v N r (For the linear damping of the ship in the pitch, sway, and bow directions), x G It is the location of the ship's center of gravity, I z This refers to the ship's moment of inertia; a schematic diagram of the coordinate system of a dynamically positioned vessel is shown below. Figure 1 As shown.
[0140] Rotation matrix R(ψ) l The following conditions must be met:
[0141]
[0142] R T (ψ l )S(r)R(ψ l )=R(ψ l )S(r)R T (ψ l )=S(r)
[0143]
[0144] R T (ψ l )R(ψ l ) = I
[0145] ||R(ψ l )||=1
[0146] Where S(r) is the intermediate matrix and I is the identity matrix;
[0147] Step 2: By simulating the high-frequency motion of the ship using a second-order harmonic oscillator with damped terms added to the ship's position and heading angle, a high-frequency motion model of the dynamically positioned ship is established and converted into a state-space form, specifically as follows:
[0148] The high-frequency motion model equations for a dynamically positioned vessel are as follows:
[0149]
[0150] Where s is the Laplace operator, K ωi (i = 1, 2, 3) is the coefficient of wave intensity in the i-th direction, ζ i (i = 1, 2, 3) is the relative damping coefficient in the i-th direction, ω 0i (i = 1, 2, 3) represents the dominant frequency of the wave in the PM wave energy spectrum in the i direction, where i takes the values 1, 2, and 3 to represent the sway direction, the roll direction, and the pitch direction, respectively.
[0151] Equation (3) can be converted into state-space form as follows:
[0152]
[0153]
[0154]
[0155] C h =[0 3×3 I 3×3 ]
[0156]
[0157] A 22 =-diag{2ζ1ω 01 2ζ2ω 02 2ζ3ω 03}
[0158] ∑=diag[K w1 K w2 K w3 ]
[0159] K wi =2ξ i ω 0i σ i
[0160] Where, η h=[x h ,y h ,ψ h ξ is a vector composed of the ship's position and heading angle during its high-frequency motion. h =[x h ,y h ,ψ h ,ξ x ,ξ y ,ξ ψ ] T It is the state vector of the ship's high-frequency motion, x h It is the ship's abscissa during high-frequency motion, y h It is the longitudinal coordinate of the ship during its high-frequency motion, ψ h It is the bow angle of the ship during its high-frequency motion, ξ. x It is the longitudinal velocity ξ during the high-frequency motion of a ship. y It is the sway linear velocity ξ during the high-frequency motion of a ship. ψ It is the bow roll rate ω during the ship's high-frequency motion. h =[ω h1 ,ω h2 ,ω h3 ] T It is a zero-mean Gaussian white noise vector, ω h1 ,ω h2 ,ω h3 These are zero-mean Gaussian white noise representing the sway, roll, and pitch directions, respectively. h , E h C h Let A be the coefficient matrix. 21 A 22 ∑ is the intermediate matrix, K wi It is an intermediate variable, I 3×3 It is a 3×3 identity matrix, diag[] is a diagonal matrix, and ξ1 = ξ x ξ2=ξ y ξ3=ξ ψ , σ i It is a constant representing the wave intensity in the i-direction, 0 3×3 It is a 3×3 matrix of zeros;
[0161] Low-frequency motion is mainly caused by ocean currents, second-order wave forces, and wind forces, manifesting as changes in the ship's position and heading. High-frequency motion is mainly caused by first-order wave forces, which are primarily manifested as periodic reciprocating motions around the equilibrium position.
[0162] Step 3: Using the low-frequency motion model of the dynamically positioned vessel obtained in Step 1 and the high-frequency motion model of the dynamically positioned vessel in state space form obtained in Step 2, obtain the ship motion model as follows:
[0163] The low-frequency motion model and the state-space form of the high-frequency motion model of the dynamically positioned vessel are rewritten as follows:
[0164]
[0165] Where f(x) is the state variable function, B is the thruster configuration control matrix, x is the state variable, E is the noise figure matrix, ω and ω' are two zero-mean Gaussian white noise matrices, H is the observation coefficient matrix, and y is the system output.
[0166] Step 4: Design a nonlinear state error feedback control law, and use the nonlinear state error feedback control law to obtain the value of the thrust τ(k) applied by the propeller at time k:
[0167] Step 41: Obtain the system state equations and discretize them to obtain the discretized system state equations:
[0168] For the following second-order nonlinear system:
[0169]
[0170] Where x1 is a vector composed of the ship's position and angle, and x2 is a vector composed of the ship's linear velocity and angular velocity. It is the derivative of x1 and x2;
[0171] The system state equations are obtained using the observed states and the second-order nonlinear system:
[0172]
[0173] Where x3 is the disturbance acceleration vector, and η'(t) is the marine environmental disturbance function, which is an uncertain bounded function;
[0174] Discretize the system state equations to obtain the discretized system state equations:
[0175]
[0176]
[0177] Where e1 is a vector composed of the ship's position and angle errors, z1 is a vector composed of the ship's position and angle observations, z2 is a vector composed of the ship's linear and angular velocity observations, and z3 is the disturbance acceleration vector. It is the derivative of z1, z2, and z3, β 01 >0, β 02 >0, β 03 >0, β 01 β 02 β 03δ is the adjustable gain of the observer, a1 and a2 are the shape parameters of the fal function, a takes the value of a1 or a2, and δ is the gain interval coefficient, which is a positive integer that can change the size of the linear change interval of the function gain, and is generally very small.
[0178] Step 4.2: Obtain system state feedback using the discretized system state equations:
[0179] make:
[0180]
[0181] Where e2 is a vector composed of linear velocity error and angular velocity error, and e3 is the disturbance acceleration error vector;
[0182] The error expression is obtained from the discretized system state equations as follows:
[0183]
[0184] Assuming variables x1 and x2 are known quantities, if the following equation has a solution for any V:
[0185] f(x1,x2,τ)=V
[0186] Let τ = g(x1,x2,V), then the system state feedback is as follows:
[0187]
[0188] The above formula can be rewritten as:
[0189]
[0190] Where v1 is a preset vector composed of ship positions and angles based on experience, and k1 and k2 are preset coefficients. It is the derivative of v1;
[0191] Step 43: Obtain the value of the thrust vector τ applied by the propeller using the system state feedback obtained in Step 42:
[0192] Replacing e1 and e2 with the function fal(e1,α1,δ), the output control quantity τ0 is obtained as follows:
[0193] τ0=k1fal(e1,α1,δ)+k2fal(e2,α2,δ)
[0194] Among them, k1, k2, α1, α2, and δ can all be adjusted, enabling the controller to quickly track the desired value;
[0195] The thrust vector applied by the propeller, obtained by canceling out the observed disturbance, is:
[0196]
[0197] Where c is the compensation intensity factor, and z3(t) is the observed value of the disturbance acceleration at time t;
[0198] The design formula for a fixed-time extended state observer is:
[0199]
[0200] w=R(ψ)V
[0201]
[0202]
[0203] in, It is an estimate of η. yes The derivative of , where w is the auxiliary velocity vector. χ is an estimate of w, and χ is the set of unknown disturbances. H is an estimate of χ. n <Υ, μ1, μ2, μ3, ε1, ε2, ε3, Υ are constants, H n It is a bounded constant. α i ∈(0,1),β i >1, It is a constant, l1 and l2 are both infinitesimals, and α i β i These are intermediate variables, i = 1, 2, 3;
[0204] The gain range of the fixed-time extended state observer FESO must satisfy the following Hurwitz matrix:
[0205]
[0206]
[0207] The thrust vector applied to the propeller is discretized based on a fixed-time extended state observer to obtain the final thrust vector applied by the propeller:
[0208]
[0209] in,
[0210] τ0(k)=k1fal(e1,α1,δ)+k2fal(e2,α2,δ)
[0211] e² = x²(k) - z²(k)
[0212] e1 = x1(k) - z1(k)
[0213] Where k is the discretized time t, τ(k) is the thrust applied by the propeller at time k, z3(k) is the observed value of the disturbance acceleration at time k, τ0(k) is the theoretical value of the thrust applied by the propeller at time k, x1(k) is the vector composed of the ship's position and angle at time k, z2(k) is the vector composed of the observed values of the ship's linear velocity and angular velocity at time k, and z1(k) is the vector composed of the observed values of the ship's position and angle at time k, and x2(k) is the vector composed of the ship's linear velocity and angular velocity at time k.
[0214] When the time approaches a certain T value, the observed values of e1, e2, and e3 approach the zero vector, and the system converges.
[0215] Step 5: Discretize the ship motion model obtained in Step 3 to obtain the discretized ship motion model:
[0216]
[0217] Δ=A -1 (Φ-I)B
[0218] Γ=A -1 (Φ-I)E
[0219] R = R T >0
[0220] Φ = exp(Ah)
[0221] Where x(k) is the system state variable at time k, x(k-1) is the system state variable at time k-1, Φ, Δ, Γ, and H are coefficient matrices, τ(k-1) is the thrust applied by the propeller at time k-1, and ω(k-1) is the covariance matrix at time k-1, which is Q = Q T Zero-mean Gaussian white noise > 0, ω'(k-1) is the covariance matrix at time k-1, which is R = R T The system output at time k is zero-mean white Gaussian noise greater than 0, R and Q are the covariance matrices of ω'(k-1) and ω(k-1) respectively, A is the coefficient matrix of the state variable function f(x), h is the sampling time, and I is the identity matrix.
[0222] Step Six, as Figures 2-3 As shown, based on the adaptive extended Kalman filter method, a dynamic positioning active disturbance rejection controller is designed using the discretized ship motion model obtained in step five and the propeller thrust obtained in step four. The dynamic positioning active disturbance rejection control is then implemented using this controller. Specifically:
[0223] Step 61: Initialize the estimated values of the system state variables. Initial value of covariance estimate
[0224] Step 62: Obtain the predicted values of the system state variables at time k using the discretized ship motion model, i.e., the prior estimate:
[0225]
[0226] in, τ(k-1) is the estimated value of the system state variables at time k-1, and τ(k-1) is the thrust applied by the propeller at time k-1. It is the predicted value of the system state variables at time k;
[0227] Step 63: Obtain the predicted value of error covariance:
[0228]
[0229] in, It is the predicted value of the error covariance at time k. It is the estimated value of the error covariance at time k-1;
[0230] Step 64: Introduce the forgetting factor ff to obtain the update adjustment parameter d(k):
[0231]
[0232] Where d(k) is the adjustment parameter at time k, ff k+1 It is ff raised to the power of k+1, where ff is the forgetting factor;
[0233] Step 65: Utilize the predicted values of the system state variables at time k obtained in Step 62. Obtain the predicted value of the system output (measured value) at time k:
[0234]
[0235] in, It is the predicted value of the system output at time k;
[0236] Step 66: Using the information obtained in Step 65 Obtain system output error:
[0237]
[0238] Where y(k) is the actual output value of the system at time k. Z(k) is the predicted system output value at time k, and Z(k) is the system output error at time k.
[0239] Steps 6 and 7: Update the observation noise covariance matrix R(k):
[0240] R(k) = (1 - d(k))R(k-1)
[0241] +d(k)([IH(k)K(k-1)]w'(k)w' T (k)[IH(k)K(k-1)] T
[0242] +H(k)P(k-1)H T (k))
[0243] Where R(k-1) is the observation noise covariance matrix at time k-1, H(k) is the coefficient matrix at time k, w'(k) is the Gaussian white noise at time k, K(k-1) is the Kalman filter gain coefficient at time k-1, and P(k-1) is the mean square error matrix of the filter estimate at time k-1.
[0244] Step 68: Use the error covariance prediction value obtained in Step 63. Calculate the Kalman filter gain coefficient K(k):
[0245]
[0246] Where K(k) is the Kalman filter gain coefficient at time k, and R(k) is the observation noise covariance matrix at time k;
[0247] Step 69: Use K(k) obtained in Step 68 and Z(k) obtained in Step 66 to obtain the estimated values of the system state variables.
[0248]
[0249] in, These are the estimated values of the system state variables at time k;
[0250] Step 60: Use K(k) obtained in Step 68 and R(k) obtained in Step 67 to obtain the error covariance estimate.
[0251]
[0252] in, It is the estimated value of the error covariance at time k;
[0253] Step 61: Predict values using error covariance Composition of the mean square error matrix for filter estimation Let k = k + 1, and return to step six two.
[0254] This invention employs an adaptive extended Kalman filter (EKF) algorithm to design a dynamic positioning active disturbance rejection controller. The EKF algorithm handles noise, and an improved algorithm is developed by introducing a forgetting factor and an adaptive observation noise covariance matrix R. This reduces the influence of initial values on the filtering effect, thereby more effectively filtering out high-frequency interference in the ship's position and attitude information, improving dynamic positioning accuracy and performance, and reducing actuator wear. The desired effect of this invention is to enable the dynamic positioning vessel to quickly and accurately reach the desired position and reduce the wear and tear on the actuators caused by high-frequency motion under the influence of the complex marine environment. A nonlinear state feedback active disturbance rejection controller is used to solve the problem of rapid dynamic positioning of ships. The introduction of an adaptive extended Kalman filter reduces actuator wear, thus achieving better dynamic positioning control.
Claims
1. A dynamic positioning active disturbance rejection control method based on an adaptive extended Kalman filter algorithm, characterized in that... The specific process of the method is as follows: Step 1: Establish a low-frequency motion model of the dynamically positioned vessel; Step 2: Establish a high-frequency motion model of the dynamically positioned vessel and convert the high-frequency motion model of the dynamically positioned vessel into a state-space form; Step 3: Using the low-frequency motion model of the dynamically positioned vessel obtained in Step 1 and the high-frequency motion model of the dynamically positioned vessel in state space form obtained in Step 2, obtain the ship motion model; Step 4: Design a nonlinear state error feedback control law to obtain the thrust applied by the propeller. Specifically: Step 41: Obtain the system state equations and discretize them to obtain the discretized system state equations, specifically: First, obtain the system state equations: in, It is a vector composed of the ship's position and angle. It is a vector composed of the ship's linear velocity and angular velocity. It is the disturbance acceleration vector. , , yes , , The derivative of It is a marine environmental disturbance function. It is the thruster configuration control matrix. , It is the thrust vector applied by the propeller. It is the thrust exerted by the propeller in the oscillation direction. It is the thrust exerted by the propeller in the sway direction. It is the thrust exerted by the propeller in the direction of bow roll. This is system output; Then, the system state equations are discretized to obtain the discretized system state equations: in, It is a vector composed of the ship's position error and angular error. It is a vector composed of ship position and angle observations. It is a vector composed of the ship's linear velocity and angular velocity observations. It is the disturbance acceleration vector. , , yes , , The derivative of , , , , , It is the adjustable gain of the observer. , yes Function shape parameters, Pick or , These are gain interval coefficients; Step 4.2: Obtain the system state feedback equation using the discretized system state equation, specifically as follows: make: in, It is a vector composed of linear velocity error and angular velocity error. It is the interference acceleration error vector; The error vector is obtained from the discretized system state equation. , , The expression is as follows: Hypothetical variables , Given a quantity, for any The following equations have solutions: in, It is the velocity vector of the combination of the longitudinal sway linear velocity, the transverse sway linear velocity, and the bow roll angular velocity of the ship's low-frequency motion; set up The system status feedback is as follows: The above formula can be rewritten as: in, It is a preset vector composed of ship positions and angles pre-defined based on experience. These are preset coefficients. yes The derivative; Step 43: Using the system state feedback equation obtained in Step 42, obtain the value of the thrust vector applied by the propeller, specifically: First, the thrust vector applied by the propeller is obtained as follows: in, To compensate for the intensity factor, yes The observed values of disturbance acceleration at time [time]. It is the output control quantity; Then, a fixed-time extended state observer is designed, specifically as follows: in, , It is the abscissa of the ship's low-frequency motion. It is the ordinate of the ship's low-frequency motion. It is the angle of the ship's low-frequency motion. yes The estimated value, yes The derivative of It is the auxiliary velocity vector. yes The estimated value, It is a set of unknown disturbances. yes The estimated value, , , , , , , It is a constant. , , , It is a constant. , All are infinitesimal quantities. , It is an intermediate variable. , yes Rotation matrix, It is the intermediate matrix; The gain range of the fixed-time extended state observer FESO satisfies the following Hurwitz matrix: Finally, the thrust vector applied to the propeller is discretized based on the fixed-time extended state observer to obtain the final thrust vector applied by the propeller, specifically: in, It is the time after discretization. , yes The thrust applied by the propeller at any given moment. yes Constantly disturbing acceleration observations, yes The theoretical value of the thrust applied by the propeller at any given moment. yes A vector composed of the ship's position and angle at any given moment. yes A vector composed of the ship's linear velocity and angular velocity observations at any given moment. yes A vector composed of the ship's position and angle observations at any given time. yes The vector composed of the ship's linear velocity and angular velocity at any given moment; Step 5: Discretize the ship motion model obtained in Step 3 to obtain the discretized ship motion model; Step 6: Based on the adaptive extended Kalman filter method, design a dynamic positioning active disturbance rejection controller using the discretized ship motion model obtained in Step 5 and the thrust value applied by the propeller obtained in Step 4.
2. The dynamic positioning active disturbance rejection control method based on adaptive extended Kalman filter algorithm according to claim 1, characterized in that: The establishment of the low-frequency motion model of the dynamically positioned vessel in step one is specifically as follows: in, , It is the abscissa of the ship's low-frequency motion. It is the ordinate of the ship's low-frequency motion. It is the angle of the ship's low-frequency motion. , It is a velocity vector composed of the longitudinal sway linear velocity, transverse sway linear velocity, and bow roll angular velocity of a ship's low-frequency motion. It is the longitudinal velocity of the ship's low-frequency motion. It is the sway linear velocity of the ship's low-frequency motion. It is the bow roll rate, a low-frequency motion of the ship. , It is the thrust vector applied by the propeller. It is the thrust exerted by the propeller in the oscillation direction. It is the thrust exerted by the propeller in the sway direction. It is the thrust exerted by the propeller in the direction of bow roll. , It is the environmental disturbance force vector. It is the environmental interference force in the direction of the ship's low-frequency motion sway. It is the environmental interference force in the sway direction of the ship's low-frequency motion. It is the environmental interference force in the bow roll direction of the ship's low-frequency motion. It is time. , yes Rotation matrix, , , It is the intermediate matrix. It is the quality of the ship. , It is the hydrodynamic coefficient. It refers to the location of the ship's center of gravity. It is the ship's moment of inertia.
3. The dynamic positioning active disturbance rejection control method based on adaptive extended Kalman filter algorithm according to claim 2, characterized in that: Rotation matrix Satisfy the following formula: in, It is the intermediate matrix. It is an identity matrix.
4. The dynamic positioning active disturbance rejection control method based on adaptive extended Kalman filter algorithm according to claim 3, characterized in that: Step two, establishing a high-frequency motion model of the dynamically positioned vessel and converting it into a state-space form, specifically involves: Step 21: Establish a high-frequency motion model for the dynamically positioned vessel, specifically as follows: in, It is the Laplace operator. yes The coefficient of wave intensity in the direction, It is the relative damping coefficient in the i-direction. It is the dominant frequency of the wave in the i-direction in the PM wave energy spectrum. These respectively represent the direction of sway, the direction of roll, and the direction of pitch. Step 22: Convert the high-frequency motion model of the dynamically positioned vessel into a state-space form, specifically as follows: in, , It is a vector composed of the ship's position and heading angle during high-frequency motion. It is the ship's horizontal coordinate during high-frequency motion. It is the longitudinal coordinate of the ship during its high-frequency motion. It is the bow angle of the ship during its high-frequency motion. , It is the state vector of the ship's high-frequency motion. It is the sway linear velocity during the high-frequency motion of a ship. It is the sway linear velocity during the high-frequency motion of a ship. It is the bow roll rate during the ship's high-frequency motion. , It is a zero-mean Gaussian white noise vector. These are zero-mean Gaussian white noise representing the sway, roll, and pitch directions, respectively. , , The coefficient matrix, , , It is the intermediate matrix. It is an intermediate variable. yes The identity matrix, It is a diagonal matrix. , , , It is a constant representing the wave intensity in the i-direction. yes A zero matrix.
5. The dynamic positioning active disturbance rejection control method based on adaptive extended Kalman filter algorithm according to claim 4, characterized in that: In step three, the ship motion model is obtained by using the low-frequency motion model of the dynamically positioned vessel obtained in step one and the state-space form of the high-frequency motion model of the dynamically positioned vessel obtained in step two. Specifically, the ship motion model is as follows: in, It is a state variable function. It is the thruster configuration control matrix. It is a state variable. It is the noise figure matrix. , These are two zero-mean Gaussian white noise matrices. It is the observation coefficient matrix. This is system output.
6. The dynamic positioning active disturbance rejection control method based on adaptive extended Kalman filter algorithm according to claim 5, characterized in that: Step five involves discretizing the ship motion model obtained in step three to obtain a discretized ship motion model, specifically as follows: in, yes System state variables at any given time, yes System state variables at any given time, , , , It is a coefficient matrix. yes The thrust applied by the propeller at any given moment. yes The time-variance matrix is Zero-mean Gaussian white noise, yes The time-variance matrix is Zero-mean Gaussian white noise, yes The system outputs the timeline. , They are , The covariance matrix, It is a state variable function The coefficient matrix, It is the sampling time. It is an identity matrix.
7. The dynamic positioning active disturbance rejection control method based on adaptive extended Kalman filter algorithm according to claim 6, characterized in that: The adaptive extended Kalman filter method in step six, using the discretized ship motion model obtained in step five and the thrust value applied by the propeller obtained in step four, designs a dynamic positioning active disturbance rejection controller, specifically as follows: Step 61: Initialize the estimated values of the system state variables. Initial value of covariance estimate ; Step 62: Obtain the discretized ship motion model Predicted values of system state variables at time: in, yes The estimated values of the system state variables at time 10:
00. yes The thrust applied by the propeller at any given moment. yes Predicted values of system state variables at time 1; Step 63: Obtain the predicted value of error covariance: in, yes Predicted value of time error covariance. yes Estimated value of time error covariance; Step 64: Introduce the forgetting factor Thus, updated adjustment parameters are obtained. : in, yes Adjust parameters constantly. yes of Power of 1 It is a forgetting factor; Step 65: Using the information obtained in Step 62 Predicted values of system state variables at time points Get The system outputs the predicted value at each time point: in, yes The predicted value output by the system at any given time; Step 66: Using the information obtained in Step 65 Obtain system output error: in, yes The system outputs the actual value at any given time. yes The system outputs the predicted value at each time step. yes The system output error at any given time; Steps 6 and 7: Update the observation noise covariance matrix : in, yes The noise covariance matrix is observed at all times. yes Time coefficient matrix, yes Time-varying Gaussian white noise, yes Kalman filter gain coefficient at time t. yes Time-time filtering estimates the mean square error matrix; Step 68: Use the error covariance prediction value obtained in Step 63. Calculate the Kalman filter gain coefficient : in, yes Kalman filter gain coefficient at time t. yes The noise covariance matrix observed at any given time; Step 69: Using the information obtained in Step 68 And obtained in step six six Obtain the estimated values of system state variables : in, yes The estimated values of the system state variables at time 1; Step 60: Using the information obtained in step 68 and obtained in steps six and seven Obtain the error covariance estimate : in, yes The estimated value of the error covariance at time t; Step 61: Predict values using error covariance Composition of the mean square error matrix for filter estimation ,make Return to step six two.