1 Introduction

Trimaran consists of a main hull and two smaller outrigger hulls which are attached to the main hull with lateral beams [1]. The main hull provides the main buoyancy of the trimaran, while the outrigger hulls provide less than 10% of the total drainage. Due to the special three hulls’ structure, trimaran has a wider deck area compared with conventional ships, the connection bridge can ensure the overall longitudinal strength of trimaran. The wave resistance of trimaran at high speed is much lower than that of conventional hulls due to its three thinner and longer hulls [2, 3]. In high sea states, high-speed trimaran will produce different degrees of rocking motion by wave-induced disturbance. Slight rocking is permitted and inevitable, but if the rocking range is too large or too small, it will increase the seasickness rate, reduce the ship's navigation performance and affect the crew, weapons and equipment. The two outrigger hulls can provide better lateral seakeeping for the trimaran, and the rolling angle of the trimaran cannot exceed 8° [4], which meets the requirement of the military ship lateral seakeeping measurement standard. However, although the seakeeping of trimaran has been greatly improved compared with other types of ships, still cannot meet the military vessels seakeeping measurement standard requirement. Moreover, the trimaran is prone to bury its head at high speed, which not only increases the navigation resistance of the trimaran, but also enlarges the pitching range of the trimaran and affects its navigation performance [5]. Severe longitudinal movement of the trimaran will lead to a long-term fatigue state of its hull structure, resulting in cracks and fatigue damage at the connecting bridge; reducing the performance of shipborne instruments and equipment, affecting the safety of trimaran navigation; increasing the rate of seasickness, damaging the health of crew and reducing work efficiency. When the trimaran is used as a patrol boat, severe rocking motion will also cause problems such as lower shooting accuracy, equipment damage, and even lead to helicopter takeoff and landing failure leading to aircraft damage and death. So to minimize the anti-longitudinal motion of fast trimaran is what this dissertation mainly concerns.

In the past, designers always improve trimarans’ hull lines to solve the seakeeping problem. However, due to the particularities of trimaran forms, the effect of improving hull lines is often negligible [6]. After a long period of continuous exploration and combined with the experience of monohull damping, technicians found that installing damping equipment is one of the most effective ways to improve the seakeeping of trimaran. At present, fin stabilizer is the most widely used damping equipment, but due to the large ship width, installing small fin stabilizer could not achieve the desired damping effect and will increase the appendage resistance dramatically [7].

T-foil (T-shaped hydrofoil) is a kind of damping equipment which can effectively reduce the longitudinal motion of ships. According to relevant reports, the damping effect of passive T-foil can reach about 50%, while that of active T-foil can reach over 70% [8]. Meanwhile, the damping effect of T-foil is only related to the length and not affected by the ship's width. In addition, compared with other damping appendages such as semi-submersible body, T-foil has less drag and less influence on ship speed. Moreover, the bow bottom of the trimaran main hull is flat, which is suitable for the layout and installation of T-foils. Therefore, T-foil is an damping equipment which can effectively improve the seakeeping of trimaran [9].

There are many types of airfoil profiles in T-foil. The stability torques of different profiles are also different, and the suppression of longitudinal motion is also inconsistent.

The interceptor is also a new damping equipment for fast ships in recent years. It has similar functions to the trim tab, but it produces less additional resistance. The interceptor was first used on the airplane wing. Researchers found that inserting a suitable length of metal sheet at the trailing edge of the wing can reduce drag. Through experiments [10], it was found that the interceptor installed at the stern of the ship can produce lift damping, and achieve the purpose of longitudinal motion reduction. At the same time, by changing the depth of penetration to control the lift and increasing the control lift/moment, the navigation resistance of the ship can be reduced. However, the interceptor is the same as the trim tab, scientists pay more attention to its drag reduction effect. In this paper, we use the interceptor as damping equipment to cooperate with T-foil.

After reasonable selection of T-foil and interceptor matching adaptive follow-up system, an important means of minimizing heave displacement and pitch angle are to properly select the appropriate control strategy. Proportion integration differentiation (PID) control and minimum variance control are the first of these control strategies [11]. As the most common controller today, the PID controller is simple in structure and easy to implement. But the setting of three constants requires experience and test data, and the fixed constants PID controller is for a certain sea state. When the external wave interference changes greatly, it is difficult for the ship to obtain better anti-longitudinal motion effect. The minimum variance control strategy based on the linearized pitch motion equation is mainly to suppress the small pitching angle. When the sea condition deteriorates and the ship pitching angle is large, the nonlinear characteristics of the ship motion are highlighted. Using the linear control strategy will not achieve the desired control effect.

The active disturbance rejection control (ADRC) originates from traditional PID controller, absorbs and enriches the essence of the traditional PID controller according to the deviation control, and proposes the compensation linearization of the extended state observer (ESO) and the application of special nonlinear effects to form a new practical controller [12]. The ADRC module is composed of a variety of nonlinear functions, and its algorithm parameters are numerous. Parameter tuning and optimization has always been the focus of ADRC design. Aiming at the problem of parameter tuning and optimization of ADRC, reference [13] analyzes the viewpoint of time scale related to the speed of object change, which is closely related to the tuning of controller parameters, but the task of calculating the time scale of the system is still under study. In reference [14], the nonlinear ADRC is transformed into linear ADRC according to the concept of bandwidth, which results in a large number of controller parameters being reduced. However, in practical engineering, the bandwidth of the controller cannot be selected due to stability or measurement noise, and the control fails to achieve the expected results. In reference [15], the "bandwidth method" of LADRC is applied to the nonlinear ADRC parameters tuning. First, the parameters of ESO and linear feedback PD controller in LADRC are estimated by the nonlinear formula according to their bandwidths. However, whether the parameter effect obtained by this "estimation" method is obvious or not deserves further study; according to the error analysis, a set of parameter setting rules has been developed in reference [16], but the setting process of this method is relatively complex, which is not suitable for real-time setting. With the continuous development of artificial intelligence algorithm and the maturity of algorithmic theory, a large number of scholars have proposed ADRC parameter tuning and optimization based on artificial intelligence algorithm, and all parameters to be adjusted as a whole have been optimized, and gained some achievements. In reference [17], authors successfully optimize ADRC parameters by combining artificial immune and particle swarm optimization; in reference [18], BP neural network and dynamic parameter tuning method are used to optimize ADRC parameters. To sum up, the parameter tuning and optimization of ADRC is still researching and developing. The overall goal is not only to achieve the ideal control quality, but also to be simple and practical. Therefore, based on the existing theory and research, it is an urgent problem to further analyze or explore new parameters tuning methods.

In this paper, mathematical model of trimaran longitudinal motion and actuators’ damping force was established (Sect. 2), and then a ADRC controller with Levy flight-based ant colony algorithm for combined appendages system was presented (Sects. 3, 4 and 5). The ADRC design is in Sect. 3, the control allocation strategy of T-foil and interceptors is in Sect. 4 and the Levy flight-based ant colony algorithm is in section is in Sect. 5. Finally, numerical simulation and experiment were conducted to validate the proposed controller (Sect. 6). The work can be expected to improve the current trimaran Ride Control System both in academic research and practical application.

2 Mathematical model

2.1 Mathematical model of the coupled heave and pitch motion of a trimaran

To describe the longitudinal motion of a trimaran, the right-hand rectangular coordinate system oxyz is first established. The coordinate origin o is located on the waterline of the hull. The xoy coincides with the waterline and the x-axis is in the same direction as the trimaran. The xoz plane coincides with the midship longitudinal section of the trimaran. The Z axis passes through the center of gravity of the trimaran and goes straight upward. The Y axis points to the port side of the trimaran, as shown in Fig. 1.

Fig. 1
figure 1

Trimaran motion coordinate system

Assuming that the incident wave causing the motion of the trimaran is small, the wave's dynamic force around the trimaran is also considered to be slightly amplitude, and the motion of the trimaran caused by the wave is also slightly amplitude. Therefore, the equation of motion of trimaran can be considered as linear, which is the dynamic response of trimaran under coordinated disturbance force. Assuming that the hull is in infinite deep water, there is no wave or wind-induced wave on the sea surface, the hull moves in a straight line at a constant speed, which simplifies the calculation of hydrodynamic coefficients in the equation. Because the underwater submarine part of the trimaran is slender enough to satisfy the basic assumption of slender body theory, the slender body theory can be used to calculate the hydrodynamic coefficients in the motion equation [19]. Based on Darambel's theory [20], the differential equation of six-degree-of-freedom rolling motion of trimaran can be established:

$$\begin{gathered} (M + A(\infty ))\ddot{\xi }\left( t \right) + \int_{0}^{t} {K\left( {t - \tau } \right)\dot{\xi }\left( \tau \right)d} \tau + C\xi \left( t \right) = F^{ext} \left( t \right), \hfill \\ K\left( t \right) = \frac{2}{\pi }\int_{0}^{\infty } {B\left( \omega \right)} \cos \omega td\omega , \hfill \\ \end{gathered}$$
(1)

where \(\xi ,\dot{\xi },\ddot{\xi }\), respectively, represent the displacement, velocity and acceleration of the vessel. M is the rigid body mass matrix. A, B are added mass and damping matrix, and their values are based on the shape of the ship, forward speed and water depth. C is the restoring matrix. F is the excitation force.

The main hull and two outriggers of trimaran are symmetrical with respect to the general longitudinal section, so the longitudinal motion of trimaran is not coupled with the transverse motion. Therefore, we can decompose Eq. 1 into two basic equations of longitudinal motion. Since each hull of trimaran is slender, the longitudinal motion of trimaran can be neglected by surge. The equations of heave and pitch motion of trimaran can be obtained as:

$$\begin{gathered} \left[ {\begin{array}{*{20}c} {M + A_{33} \left( \infty \right)} & {A_{35} \left( \infty \right)} \\ {A_{53} \left( \infty \right)} & {I_{55} + A_{55} \left( \infty \right)} \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\ddot{\xi }_{3} } \\ {\ddot{\xi }_{5} } \\ \end{array} } \right] \hfill \\ + \;\int_{0}^{t} {\left[ {\begin{array}{*{20}c} {K_{33} \left( {t - \tau } \right)} & {K_{35} \left( {t - \tau } \right)} \\ {K_{53} \left( {t - \tau } \right)} & {K_{55} \left( {t - \tau } \right)} \\ \end{array} } \right]} \left[ {\begin{array}{*{20}c} {\dot{\xi }_{3} } \\ {\dot{\xi }_{5} } \\ \end{array} } \right]d\tau \hfill \\ + \;\left[ {\begin{array}{*{20}c} {C_{33} } & {C_{35} } \\ {C_{53} } & {C_{55} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\xi_{3} } \\ {\xi_{5} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {F_{3}^{ext} } \\ {F_{5}^{ext} } \\ \end{array} } \right]. \hfill \\ \end{gathered}$$
(2)

The indices k and j indicate the j-mode oscillatory motion caused by the k-direction force.

2.2 Model of the T-foil and interceptors

T-foil is a new type of damping appendage appearing only in the past 20 years. It is a variant of the hydrofoil, installed under the keel of the bow of the hull and has greater immersion depth. It also can effectively avoid slamming, cavitation or suction effect in waves. Therefore, the installation of T-foil on high-speed ships can effectively improve the performance. Compared with semi-submersible and other anti-rolling appendages, the drag of T-foil is smaller, has less influence on the ship's rapidity. Active T-foil can control the angle of flaps at the tail end of the wing to match the phase of the vertical velocity of the bow, which can greatly increase the damping of heave and pitch to achieve better damping effect.

Figures 2 and 3 respectively show the structure of the actuators, Fig. 5 shows how the T-foil is placed below the keel and the interceptor behind the ship.

Fig. 2
figure 2

Structure of T-foil

Fig. 3
figure 3

Structure of interceptor

The dynamic lifts and moments on the T-foil and interceptor can be expressed as:

$$\begin{gathered} F_{T} = \frac{1}{2}\rho A_{T} \frac{{\partial C_{L} }}{{\partial \alpha_{T} }}U\left( {\omega - \dot{\xi }_{3} + l_{T} \dot{\xi }_{5} + U\xi_{5} } \right), \hfill \\ F_{F} = \left( {c + a_{1} \alpha_{i} + a_{2} \alpha_{i}^{2} + b_{1} \xi_{5} + b_{2} \xi_{5}^{2} } \right)g, \hfill \\ M_{T} = - l_{T} F_{T} , \hfill \\ M_{F} = l_{F} F_{F} , \hfill \\ G_{S} = \frac{550}{{s^{2} + 15s + 225}}, \hfill \\ \end{gathered}$$
(3)

where LT and LF are the mean coordinates of the T-foil and interceptor. CL is the lift coefficient. αT is the attack angle of the T-foil and αi is the inserting into water depth of interceptor, ρ is the water density and U is the speed, ai, bi and c are constants, g is the accelerate of gravity. FT, FF, MT, MF are the control force/moment generated by T-foil and interceptor for heave and pitch motions[21]. To clearly present the system constitution and understand the relation between each parameters in this equation, Fig. 5 shows the T-foil and interceptor, and corresponding force and moment.

The actuator dynamics are fast enough that they do not have great effect on the controller performance. That is, the low order ADRC controller is still applicable to the augmented system dynamics which incorporates actuator dynamics. However, T-foil and interceptor are generated by hydraulic system, may cause some lag, so it must be considered adequately in controller design. The hydraulic system can be described in the last formula in Eq. 3.

2.3 Model of heave force and pitch moment

The actual ocean wave is an irregular wave, which can be considered to be composed of an infinite number of single waves with different amplitude, frequency, direction and phase disorder characteristics. These waves are combined to form a spectrum describing the distribution of wave energy relative to each component wave. Therefore, it is also called "energy spectrum". In this study, Pierson–Moskowitz (P–M) spectrum is used to simulate wave motion

$$S\left( \omega \right) = \frac{{8.1 \times 10^{ - 3} g^{2} }}{{\omega^{5} }}\exp \left( {\frac{ - 3.11}{{h_{\frac{1}{3}}^{2} \omega^{4} }}} \right),$$
(4)

where the unit of \(S\left( \omega \right)\) is m2s.

\(h_{1/3}^{2}\) is the significant wave height. The forces/moments acting on ships with different wave frequencies can be obtained from the results of the 2.5D method. Decompose the wave force and moment acting on the hull into the superposition of the interference force generated by the regular sine wave, as follows:

$$\begin{gathered} F_{3} \left( t \right) = \sum\nolimits_{i = 1}^{n} {\left| {F_{3} \left( {\omega_{i} } \right)} \right|\varsigma_{i} \sin \left( {\omega_{i} t + \phi_{i} } \right)} , \hfill \\ F_{5} \left( t \right) = \sum\nolimits_{i = 1}^{n} {\left| {F_{5} \left( {\omega_{i} } \right)} \right|\varsigma_{i} \sin \left( {\omega_{i} t + \phi_{i} } \right)} . \hfill \\ \end{gathered}$$
(5)

3 ADRC-based controller design

In this section, ADRC-based ride control system is designed to damp the trimaran vertical motion in the presence of rough waves. Figure 4 shows the total control structure. For the damping system, pitch angle and heave displacement are both control objectives. Essentially, the control system is a two-input and two-output cross-coupling system, which can be efficiently controlled by a pitch angle ADRC controller and a heave displacement ADRC controller.

Fig. 4
figure 4

Fast trimaran vertical motion ride control ADRC system

3.1 Trimaran with T-foil and interceptor longitudinal motion model

To transform the formula (2) into a state space model, the trapezoidal rule is used to calculate the convolution term in the equation: The close-loop control system is described as:

$$\begin{gathered} \int_{0}^{t} {K\left( {t - \tau } \right)\dot{\xi }\left( \tau \right)d} \tau = \frac{1}{2}K\left( 0 \right) \cdot \dot{x}\left( t \right) \cdot \Delta \tau \hfill \\ + \;\left[ {\sum\limits_{m = 1}^{n - 1} {K\left( {t - m\Delta \tau } \right) \cdot \dot{x}\left( {m\Delta \tau } \right) \cdot \Delta t} } \right] + \frac{1}{2}K\left( t \right) \cdot \dot{x}\left( 0 \right) \cdot \Delta \tau , \hfill \\ \end{gathered}$$
(6)

where n represents the nth step and \(t = n\Delta t\). In the numerical calculation, the first term in the above equation can be regarded as the damping term of the required solution at time t, and the other two terms are known terms, which can be moved to the right (Fig. 5). Therefore, the state space model of Eq. (2) can be expressed as

$$\dot{z}\left( t \right) = A_{{{\text{new}}}} z + B_{{{\text{new}}}} \left( {F^{{{\text{ext}}}} - \left[ {\sum\limits_{m = 1}^{n - 1} {K\left( {t - m\Delta \tau } \right) \cdot \dot{x}\left( {m\Delta \tau } \right) \cdot \Delta t} } \right] - \frac{1}{2}K\left( t \right) \cdot \dot{x}\left( 0 \right) \cdot \Delta \tau } \right),$$
(7)

where

$$\begin{gathered} A_{{{\text{new}}}} = \left[ {\begin{array}{*{20}c} 0 & I \\ { - \left( {M + A\left( \infty \right)} \right)^{ - 1} \cdot C} & { - \left( {M + A\left( \infty \right)} \right)^{ - 1} \cdot \frac{1}{2}K\left( 0 \right) \cdot \Delta \tau } \\ \end{array} } \right], \hfill \\ B_{{{\text{new}}}} = \left( {\begin{array}{*{20}c} 0 \\ {\left( {M + A\left( \infty \right)} \right)^{ - 1} } \\ \end{array} } \right), \hfill \\ \end{gathered}$$
$$\begin{gathered} F_{h} = F_{T} + F_{F} , \hfill \\ M_{p} = - l_{T} F_{T} + l_{F} F_{F} . \hfill \\ \end{gathered}$$
(8)
Fig. 5
figure 5

Trimaran with T-foil and interceptor

For heave/pitch motion, the space representation of the equation is:

$$E\dot{x}\left( t \right) = Ax\left( t \right) + B_{1} F\left( t \right) + B_{2} u\left( t \right),$$
(9)

where

$$\begin{gathered} E = \left[ {\begin{array}{*{20}c} 1 & 0 & 0 & 0 \\ 0 & {M + A_{33} } & 0 & {A_{35} } \\ 0 & 0 & 1 & 0 \\ 0 & {A_{53} } & 0 & {I_{5} + A_{55} } \\ \end{array} } \right],\;A = \left[ {\begin{array}{*{20}c} 0 & 1 & 0 & 0 \\ { - C_{33} } & { - \frac{1}{2}K_{33} \left( 0 \right) \cdot \Delta \tau } & { - C_{35} } & { - \frac{1}{2}K_{35} \left( 0 \right) \cdot \Delta \tau } \\ 0 & 0 & 0 & 1 \\ { - C_{53} } & { - \frac{1}{2}K_{53} \left( 0 \right) \cdot \Delta \tau } & { - C_{55} } & { - \frac{1}{2}K_{55} \left( 0 \right) \cdot \Delta \tau } \\ \end{array} } \right], \hfill \\ B_{1} = \left[ {\begin{array}{*{20}c} 0 & 0 \\ 1 & 0 \\ 0 & 0 \\ 0 & 1 \\ \end{array} } \right],B_{2} = \left( {\begin{array}{*{20}c} 0 & 0 \\ {\rho A_{T} \frac{{\partial C_{LT} }}{{\partial \alpha_{T} }}U^{2} } & {\rho A_{F} \frac{{\partial C_{LF} }}{{\partial \alpha_{i} }}U^{2} } \\ 0 & 0 \\ { - l_{T} \rho A_{T} \frac{{\partial C_{LT} }}{{\partial \alpha_{T} }}U^{2} } & {l_{F} \rho A_{F} \frac{{\partial C_{LF} }}{{\partial \alpha_{i} }}U^{2} } \\ \end{array} } \right), \hfill \\ x\left( t \right) = \left[ {\begin{array}{*{20}c} {\xi_{3} \left( t \right)} \\ {\dot{\xi }_{3} \left( t \right)} \\ {\xi_{5} \left( t \right)} \\ {\dot{\xi }_{5} \left( t \right)} \\ \end{array} } \right], \hfill \\ \end{gathered}$$
$$\begin{gathered} F\left( t \right) = \left[ {\begin{array}{*{20}c} \begin{gathered} F_{3}^{ext} - \left[ {\sum\limits_{m = 1}^{n - 1} {K_{33} \left( {t - m\Delta \tau } \right) \cdot \dot{x}\left( {m\Delta \tau } \right) \cdot \Delta t} } \right] - \frac{1}{2}K_{33} \left( t \right) \cdot \dot{x}\left( 0 \right) \cdot \Delta \tau + \hfill \\ \left[ {\sum\limits_{m = 1}^{n - 1} {K_{35} \left( {t - m\Delta \tau } \right) \cdot \dot{x}\left( {m\Delta \tau } \right) \cdot \Delta t} } \right] - \frac{1}{2}K_{35} \left( t \right) \cdot \dot{x}\left( 0 \right) \cdot \Delta \tau \hfill \\ \end{gathered} \\ \begin{gathered} F_{5}^{ext} - \left[ {\sum\limits_{m = 1}^{n - 1} {K_{55} \left( {t - m\Delta \tau } \right) \cdot \dot{x}\left( {m\Delta \tau } \right) \cdot \Delta t} } \right] - \frac{1}{2}K_{55} \left( t \right) \cdot \dot{x}\left( 0 \right) \cdot \Delta \tau + \hfill \\ \left[ {\sum\limits_{m = 1}^{n - 1} {K_{53} \left( {t - m\Delta \tau } \right) \cdot \dot{x}\left( {m\Delta \tau } \right) \cdot \Delta t} } \right] - \frac{1}{2}K_{53} \left( t \right) \cdot \dot{x}\left( 0 \right) \cdot \Delta \tau \hfill \\ \end{gathered} \\ \end{array} } \right], \hfill \\ u\left( t \right) = \left( {\begin{array}{*{20}c} {\alpha_{T} } \\ {\alpha_{i} } \\ \end{array} } \right) \hfill \\ \end{gathered}$$

where x is the state vector, y is the output vector, u is the input vector, F is the disturbance vector, E A are the coefficient matrix. According to the Eqs. (6), we can deduce the trimaran ride control system with T-foil and interceptor as

$$\begin{gathered} \ddot{\xi }_{3} = F_{{{\text{3total}}}} (\xi_{3} ,\dot{\xi }_{3} ,\ddot{\xi }_{3} ,\xi_{5} ,\dot{\xi }_{5} ,\ddot{\xi }_{5} ) + b_{211} u_{1} + b_{212} u_{2} , \hfill \\ \ddot{\xi }_{5} = F_{{{\text{5total}}}} (\xi_{3} ,\dot{\xi }_{3} ,\ddot{\xi }_{3} ,\xi_{5} ,\dot{\xi }_{5} ,\ddot{\xi }_{5} ) + b_{221} u_{1} + b_{222} u_{2} , \hfill \\ y_{1} = \xi_{3} ,y_{2} = \xi_{5} , \hfill \\ \end{gathered}$$
(10)

where F3total and F5total is the total disturbance for heave and pitch, u1 = αT and u2 = αF are T-foil and interceptors’ inputs(angles of attack), y1 and y2 are outputs. The control objective is to minimum the heave displacement and pitch angle. Obviously, this is a control problem of a two-input and two-output cross-coupling system, where F3total and F5total are dynamic coupling and u1 and u2 are static coupling. The dynamic coupling can be eliminated by ESO in ADRC. The static coupling can be eliminated by letting \(b_{211} u_{1} + b_{212} u_{2} = F_{h} ,b_{221} u_{1} + b_{222} u_{2} = M_{p}\), the input Fh only control the heave loop and Mp only control the pitch loop. Finally, to get the actual inputs, the well-designed virtual inputs should be transformed as

$$\begin{gathered} \ddot{\xi }_{3} = F_{{{\text{3total}}}} + F_{h} , \hfill \\ \ddot{\xi }_{5} = F_{{{\text{5total}}}} + M_{p} , \hfill \\ y_{1} = \xi_{3} ,y_{2} = \xi_{5} . \hfill \\ \end{gathered}$$
(11)

For the ship motion studied in this paper, a third-order pitch angle ADRC and a third-order heave ADRC can realize decoupling control, and ensure the pitch angle and heave value to be minimum. In Eq. 11 inputs \(u_{03}\) and \(u_{05}\) control the heave loop and pitch loop, respectively, which means that the static coupling is eliminated. Two ADRCs are designed for heave and pitch, respectively. In each ADRC, the dynamic coupling of \(F_{{3{\text{total}}}}\) and \(F_{{5{\text{total}}}}\) is eliminated by ESO estimation and compensation.

3.2 ADRC controller design

ADRC consists of tracking differentiator (TD), extended state observer (ESO) and state error feedback (SEF). ADRC uses TD to track the input signal, arrange the transition process and extract its differential signal. ESO is used to dynamically observe the uncertainties and external disturbances in the object, which strengthens the system robustness to the total disturbances. According to the TD and ESO, a complete set of SEF controller is designed. In the controller, the final control variables is determined by compensating the disturbance estimated value for the SEF. The following is a detailed introduction of ADRC [22]:

3.2.1 TD

TD uses the transient process to reduce the initial deviation between the reference signal and the feedback signal and improve tracking performance. In addition, TD generates tracking and differential signals of reference signals, which will be used in SEF. The typical form of TD is as follows:

$$\begin{gathered} \dot{\nu }_{1} = v_{2} , \hfill \\ \dot{\nu }_{2} = - r^{2} \left( {v_{1} - v \cdot {\text{trns}}\left( {T_{0} ,t} \right)} \right) - 2rv_{2} . \hfill \\ \end{gathered}$$
(12)

Since the tracking signal in this paper is 0, the construction of TD can be omitted.

3.2.2 ESO

ESO is the core of ADRC, has the ability to estimate the internal and external disturbances in real time. It is an extension evolution of modern control theory. For an \(n\) order system, the total disturbance \(F_{itotal}\) is regarded as a new state variable, the \(n + 1\) order ESO is used to estimate the state and total disturbance. As long as the parameters are selected correctly, the state of the system can be accurately described. \(n + 1\) order ESO is given as

$$\begin{gathered} e = z_{1} - y \hfill \\ \dot{z}_{1} = z_{2} - \beta_{1} e \hfill \\ \vdots \hfill \\ \dot{z}_{n - 1} = z_{n} - \beta_{n - 1} e \hfill \\ \dot{z}_{n} = z_{n + 1} - \beta_{n} e + bu \hfill \\ \dot{z}_{n + 1} = - \beta_{n + 1} e, \hfill \\ \end{gathered}$$
(13)

where z1 estimates y with a high accuracy, and zn + 1 gives an estimation of the total disturbance, βi (i = 1, 2,…,n + 1) are observer gains. To guarantee satisfactory estimation performance, βi are chosen as

$$\beta_{i} = \frac{(n + 1)!}{{i!(n + 1 - i)!}}w_{0}^{i} (i = 1,2, \ldots ,n + 1).$$
(14)

βi is relating to observer bandwidth wo.

3.2.3 SEF

The output of ESO is the tracking and differential signal of the input signal, and the output of ESO is the state variable after the system integration transformation. The required state error is the difference between the output of TD and the output of ESO, the system can be controlled by a PD controller:

$$u_{0} = k_{p} (v_{1} - z_{1} ) - k_{{d_{1} }} z_{2} - \cdots - k_{{d_{n - 1} }} z_{n} ,$$
(15)

where kp is proportional coefficient and kdi (i = 1, 2,…,n − 1) are differential coefficients, can be chosen as:

$$\begin{gathered} k_{p} = w_{c}^{n} \hfill \\ k_{{d_{i} }} = \frac{n!}{{i!(n - i)!}}w_{c}^{n - i} (i = 1,2, \ldots ,n - 1) \hfill \\ \end{gathered}$$
(16)

We can see that the coefficients are relating to the controller bandwidth wc.

4 Control allocation strategy of combined appendages for anti-longitudinal motion

According to the last section, the control parameters \(u_{03} ,u_{05}\) are applicable to each control mode, respectively. These two parameters are linear gains, which keep the control motion within its physical limit. At the same time, the angular velocity of T-foil and interceptor is set to a large value, which makes the control surface move at the maximum rate of rotation between its limit positions to produce the maximum control force. The angles of attack for each control surface based on two ADRC loop are as follows

$$\begin{gathered} \alpha_{T} = bu_{03} + eu_{05} , \hfill \\ \alpha_{{\text{i}}} = hu_{03} + ku_{05} , \hfill \\ \end{gathered}$$
(17)

where \(\alpha_{T}\) and \(\alpha_{F}\) are the required attack angles of T-foil and interceptor, \(u_{03}\) and \(u_{05}\) are the control signals given by ADRC, and \(b,e,h,k\) are the control gains. For pitch loop, Eq. 17 can be further simplified:

$$\begin{gathered} \alpha_{T5} = eu_{05} , \hfill \\ \alpha_{{{\text{i}}5}} = ku_{05} , \hfill \\ \end{gathered}$$
(18)

where \(\alpha_{T5}\) and \(\alpha_{F5}\) are the required control angles of attack for pitch loop. There will be a certain phase lag between the actual control angle and the required control angle. The overall gain must be a specified ratio to ensure that pitch torque is generated without heave force. To calculate the linear gain parameters for T-foil, the relationship between the maximum angle of attack of T-foil and the estimated maximum ADRC signal should be considered. Therefore, it is noted that a positive T-foil angle of attack produces a negative pitch moment:

$$e = - \frac{{\left( {\alpha_{T5} } \right)_{\max } }}{{\left( {u_{05} } \right)_{\max } }}.$$
(19)

To generate zero heave force in pitch control loop, there is \(M_{T} + M_{F} = 0\), so the gain of interceptor \(k\) can be written as follows:

$$k = - e\frac{{A_{T} \frac{{\partial C_{LT} }}{{\partial \alpha_{T} }}}}{{A_{{\text{i}}} \frac{{\partial C_{{L{\text{i}}}} }}{{\partial \alpha_{{\text{i}}} }}}}.$$
(20)

Similarly, Eq. (20) can be further simplified for heave control:

$$\begin{gathered} \alpha_{T3} = bu_{03} , \hfill \\ \alpha_{{{\text{i3}}}} = hu_{03} . \hfill \\ \end{gathered}$$
(21)

b is evaluated by considering the maximum angle of attack and the maximum heave loop control parameters of T-foil:

$$b = - \frac{{\left( {\alpha_{T3} } \right)_{\max } }}{{\left( {u_{03} } \right)_{\max } }}.$$
(22)

To generate zero pitch torque in heave control loop, there is \(F_{T} - F_{F} = 0\), so the gain of interceptor \(h\) can be written as follows:

$$h = - b\frac{{l_{T} A_{T} \frac{{\partial C_{LT} }}{{\partial \alpha_{T} }}}}{{l_{F} A_{{\text{i}}} \frac{{\partial C_{{L{\text{i}}}} }}{{\partial \alpha_{{\text{i}}} }}}}.$$
(23)

5 ARDC controller parameter tuning via ant colony algorithm

Two linear ADRC controllers (one for heave loop, one for pitch loop) are designed to minimum trimaran’s heave and pitch,. The bandwidths of the controller and observer are parameterized. ADRC system is a complex structure, in this system there are many nonlinear factors which is difficult to analyze and restrict with each other. Bandwidth parameterization is to regard the gain of controller and observer as the function of corresponding bandwidth, and simplify the design and tuning of controller and observer to the adjustment of parameters \(\omega_{o}\) and \(\omega_{c}\). In this project, four bandwidths need to be tuned, including the observation bandwidth \(\omega_{o3}\) and controller bandwidth \(\omega_{c3}\) in the heave control loop, and observation bandwidth \(\omega_{o5}\) and controller bandwidth \(\omega_{c5}\) in pitch control loop.

5.1 Objective function

The bandwidths tuning for controller and observer is a typical continual spatial optimization problem. The optimization objects are the four bandwidths:

$$w = \left[ {w_{o3} ,w_{c3} ,w_{o5} ,w_{c5} } \right].$$
(24)

For trimaran anti-longitudinal motion control, this paper takes the minimum vertical motions as the optimization objective. Its objective function can be expressed as follows:

$$f = \left( \frac{1}{T} \right)\sum\nolimits_{i} {T\left( {\int_{0}^{T} {\xi_{3} } d\theta + \int_{0}^{T} {\xi_{5} } d\theta } \right)} ,$$
(25)

where T represents the time of one iteration closed-loop.

According to the limits of the T-foil and interceptor. The constraint conditions are

$$\begin{gathered} \left| {\alpha_{T} (k + 1)} \right| \le \alpha_{T\max } , \hfill \\ \alpha_{{\text{i}}} (k + 1) \le \alpha_{{{\text{i}}\max }} , \hfill \\ \left| {\dot{\alpha }_{T} } \right| \le \dot{\alpha }_{T\max } , \hfill \\ \left| {\dot{\alpha }_{{\text{i}}} } \right| \le \dot{\alpha }_{{{\text{i}}\max }} . \hfill \\ \end{gathered}$$

5.2 Basic principle of ant colony algorithm

The artificial ant colony algorithm was used to solve the traveling salesman problem (TSP) originally. With years of research and development, the ant colony algorithm now can solve the optimization problem in both discontinuous and continuous domain. In the aspect of parameter optimization of control system, ant colony algorithm is easy to combine other algorithms and has strong robustness. In this section, the problem of anti-longitudinal motion control of high-speed trimaran is regarded as a traveling salesman problem, and an improved ant colony algorithm is proposed to optimize the controller bandwidth parameters. In this algorithm, the path order of each ant is fixed, and the specific algorithm is as follows.

When solving the parameters optimization problem, the total number of the optimization variables’ nodes is set as \(C = \{ C_{1} ,C_{2} ,...,C_{n} \}\). \(C_{1} ,C_{2} ,...,C_{n}\) are connected in turn, and there are 10 alternative roads between each two points, which are labeled as 1, 2…10, respectively. The direction of the optimization process is unidirectional, so tabu list is not needed to prevent the repeated nodes from passing through, and the directional multipath is shown in Fig. 6.

Fig. 6
figure 6

Directed multiple diagram

If the dimension (number of optimization variables) of the controller parameter tuning optimization is n, then the total number of optimization variables n is defined as an integral multiple of N, that is

$$n = LN,$$
(26)

where L is an integer representing the encoding length of each variable. The larger L is, the higher the accuracy of the problem is. After each ant traverses all nodes in turn from the starting point to the end point, the solution of the controller parameter optimization problem is obtained:

\(X = \{ \left. {x_{i} } \right|i = 1,2, \ldots ,N\}\). According to the order of traversal, when an ant passes through L nodes, i.e., a variable xi in the corresponding solution.

Let the K ant take the route of \(\{ p_{k1} ,p_{k2} , \ldots ,p_{kn} \}\) in a certain cycle. The solution selected in the ant cycle process is:

$$e_{i} = \sum\limits_{m = 1}^{L} {\frac{{\left( {p_{kj} - 1} \right)}}{{10^{m} }}} ,$$
(27)

where pkj is the number of the path selected by ant k when it starts from the jth node, and the value is 0–10. ei is the normalized value of variable xi, where i j are defined as follows:

$$\begin{gathered} j = \left( {i - 1} \right)L + m, \hfill \\ i = 1,2, \ldots ,N. \hfill \\ \end{gathered}$$
(28)

According to the normalized value ei in Eq. 27, the corresponding solution xi of the controller parameter optimization problem can be obtained as follows:

$$x_{i} = \left( {x_{iH} - x_{iL} } \right)e_{i} + x_{iL} ,$$
(29)

where xiH and xiL represent the upper and lower limits of the value range of variable xi, respectively.

For the t-th traversal, the probability that ant k moves from node i to the next node to choose the j-th path is \(P_{ij}^{k} \left( t \right)\), and the calculation formula is

$$P_{ij}^{k} \left( t \right) = \frac{{\tau_{ij} \left( t \right)}}{{\sum\limits_{p = 1}^{10} {\tau_{ip} \left( t \right)} }}.$$
(30)

At the end of a traversal, evaluate the route of each ant. Use Eq. 32 to get the corresponding solution and objective function value. Store the optimal result of this traversal, and then update the pheromone of each individual path by the following formula:

$$\tau_{ij}^{k} \left( {t + 1} \right) = \left( {1 - \rho_{1} } \right)\tau_{ij}^{k} \left( t \right) + \Delta \tau_{ij}^{k} \left( t \right).$$
(31)

The calculation formula of \(\Delta \tau_{ij}^{k} \left( t \right)\) is ant cycle model as follows

$$\Delta \tau_{ij}^{k} \left( t \right) = \begin{array}{*{20}c} {\frac{Q}{{Q_{k} }}} \\ {\left\{ {\begin{array}{*{20}c} {\text{If the kth ant passes through the path (i, j) from t to t + 1}} \\ {0{\text{ otherwise}}} \\ \end{array} } \right.} \\ \end{array}$$
(32)

To increase the influence of the optimal solution path, the pheromone with the optimal value should be enhanced:

$$\begin{gathered} \tau_{ij}^{k} \left( {t + 1} \right) = \left( {1 - \rho_{2} } \right)\tau_{ij}^{k} \left( t \right) + \Delta \tau_{ij}^{k} \left( t \right), \hfill \\ \Delta \tau_{ij}^{k} \left( t \right) = \begin{array}{*{20}c} {\frac{Q}{{Q_{{{\text{best}}}} }}} \\ {\left\{ {\begin{array}{*{20}c} {\text{If the kth ant passes through the path (i, j) fromt to t + 1 }} \\ {0{\text{ otherwise,}}} \\ \end{array} } \right.} \\ \end{array} \hfill \\ \end{gathered}$$
(33)

where Q is the pheromone, Qk is the path length of the k-th ant after one traverse, and Qbest is the path length of the optimal value.

Update the pheromone and traverse it again until it reaches the maximum number of cycles Nc_max. The corresponding solution to the optimal value of the output cycle is the optimal value of the bandwidth parameter optimization. For better pheromone updating, we adopt a new method, as shown in the next section.

5.3 Levy flight

In 1930s, French mathematician Levy proposed a probability distribution, namely Levy distribution. Many scholars have shown that the foraging tracks of many animals in nature, such as bees and albatrosses, are consistent with the Levy distribution pattern [23]. Levy flight is a non-Gaussian random process, which obeys the random search pattern of Levy distribution. It is a combination of small steps and occasional big steps. It can prove many white bounded random phenomena, such as random walk and Brownian motion. Due to the characteristics of power law distribution and generalized central limit theorem, the algorithm adopts Levy flight mode, which increases the searching range and is not easy to fall into local optimum, which is conducive to solving optimization problems. The correction formula for Levy's flight position is

$$x_{i}^{(t + 1)} = x_{i}^{t} + \partial \oplus L{\text{evy}}\left( \lambda \right)\left( {i = 1,2,...,n} \right).$$
(34)

where \(x_{i}^{(t + 1)}\) represents the position of \(x_{i}^{{}}\) in generation \(t\). \(\partial\) represents step control quantity; \(\oplus\) represents point-to-point multiplication; \(L{\text{evy}}\left( \lambda \right)\) represents Levy flight with parameter \(\lambda\), where \(\lambda\) is a constant. The relationship between the step size of Lévy flight and time t obeys the Lévy distribution, and the Eq. 36 is the probability density function of the Lévy distribution function, which is obtained by the simplification and Fourier transform of Yang Xin She [24].

$${\text{Levy}} \sim u = t^{ - \lambda } ,1 < \lambda \le 3.$$
(35)

In formula (35) λ is a power coefficient, which is embedded in ACA with heavy tail probability distribution. At present, there is no more concise mathematical equation to describe it. Therefore the formula for generating the random step size of Levy flight proposed by Mantegna [25] is adopted:

$$s = \frac{\mu }{{v^{1/\beta } }},$$
(36)

where s is the path of Levy (λ), λ = β + 1, β = 1.5, \(\mu = N\left( {0,\sigma_{\mu }^{2} } \right),v = N\left( {0,\sigma_{v}^{2} } \right)\), \(\sigma_{\mu }\) and \(\sigma_{v}\) are shown as follows:

$$\sigma_{\mu } = \left[ {\begin{array}{*{20}c} {\Gamma \left( {1 + \beta } \right) \times \sin (\pi \times \beta /2)} \\ {\Gamma \left( {1 + \beta /2} \right) \times \beta \times 2^{(\beta - 1)/2} )} \\ \end{array} } \right]^{1/\beta } ,\sigma_{v} = 1.$$
(37)

The small step search of Levy's flight contains a large number of random searches, which helps the algorithm to avoid local optimum in different search ranges. At the same time, a good balance is achieved between population diversity and population concentration, which improves the performance of the algorithm. The 1000 steps of two-dimensional Levy's flight trajectory are shown in Fig. 7.

Fig. 7
figure 7

The Levy flight trajectory

5.4 Improved ant colony algorithm based on Levy flight trajectory

Pheromone is a key of ant colony algorithm, which affects whether the algorithm falls into the local optimal solution. Pheromones play an important role in the process of sharing paths and information. The update of pheromone mainly depends on pheromone volatilization factor \(\rho\), so the key factor to determine the effectiveness of ant colony algorithm is pheromone volatilization factor.

Through multiple calculations, it is found that the influence of pheromone volatilization factor \(\rho\) on the optimization process of ant colony algorithm has two sides. If \(\rho\) is larger, the search range becomes larger, and the convergence precision of the algorithm becomes smaller, but the possibility of the ant colony falling into the local optimal solution is small. When the ant colony size is small, the search range is narrowed and the convergence precision is improved, but the possibility of falling into the local optimal solution is increased. It can be seen that changing the size of pheromone volatilization factor at different time of searching can improve the optimization process of ACO.

At the initial stage of optimization, \(\rho\) was set as a large value and updated via Levy flight model. By combining ant colony algorithm and Levy flight, \(\rho\) could be improved as

$$\rho_{i}^{(t + 1)} = \rho_{i}^{(t)} - \partial \oplus L\left( \lambda \right)\left( {i = 1,2,...,n} \right).$$
(38)

Equation 26 can enlarge the early search range of ant colony algorithm. \(\rho\) is large, the pheromone volatilization amount of each ant is large along the path, and the amount of pheromone reserved by the previously selected path and the selected path is roughly equal. This increases the range of path searching, so an unselected path may also be selected as the next path. With the continuous convergence of the algorithm, \(\rho\) becomes smaller and smaller, and smaller \(\rho\) can reduce the searching range of ant colony, which is conducive to improving the convergence of the algorithm. In addition, the combination of Levy flight step length and search algorithm is beneficial to improve the quality of solutions.

The improved artificial ant colony algorithm via Levy flight is as follows:

  1. 1.

    Set initial parameters: starting from \(N_{c} = 1\), set as the maximum traversal number \(N_{c\_\max }\) and let \(\tau_{ij} \left( t \right) = C,\Delta \tau_{ij} \left( 0 \right) = 0\).

  2. 2.

    The starting node traverses \(m\) ants in turn, and the total number of optimization variables is \(n\).

  3. 3.

    The \(k\)th ant chooses a path from each node according to the state transition probability formula.

  4. 4.

    Let \(k = k + 1\), judge whether the node is traversed. If \(k < m\), then go to Step (2); otherwise, execute Step (5);

  5. 5.

    Calculate the path length of the ant traversal process and update the route to record the current optimal value.

  6. 6.

    The pheromone on the path is updated according to Eq. 32, the optimal pheromone in Eq. 33 is enhanced, and the pheromone concentration on all paths is updated according to Eq. 31 (39).

  7. 7.

    Let \(N_{c} = N_{c} + 1\), then start next search;

  8. 8.

    Determine if the terminating condition is met, i.e., if \(N_{c} > N_{c\_\max }\), then the loop stops and the parameter with the optimal value is obtained, otherwise go to Step (2).

6 Numerical simulation

A numerical simulation is conducted to demonstrate the effectiveness of the proposed LACA on the dynamic model of the trimaran longitudinal motion. The structure diagram of active disturbance rejection system is shown in Fig. 8.

Fig. 8
figure 8

Structure diagram of active disturbance rejection system

6.1 Determination of simulation conditions and related parameters

A high-speed trimaran is taken as the research object, and three kinds of irregular waves are used as the simulation conditions. The specific trimaran parameters and wave parameters are shown in Tables 1 and 2, respectively. The longitudinal motion of a high-speed trimaran without damping equipment is simulated, and then the normal ADRC, ACA-ADRC and LACA-ADRC are used to control the longitudinal motion of the trimaran respectively. Time step of the closed-loop controller is 1 s. The main dimension of trimaran’s main hull and outriggers are shown in the Table 1.

Table 1 Main dimension of the trimaran
Table 2 Main dimension of the T-foil and interceptor

The artificial ant colony algorithm is used to adjust bandwidth parameters under three different sea states, which are described in Table 3. The parameters of LACA are as follows: the number of optimized variables N = 4; the total number of optimized variables n = 32; the number of traversal Nc = 100; ant number m = 80; The initial pheromone volatilization factor ρ10 and ρ20 are set to 0.8 and 1. The evaluation function of parameter tuning is in section V. To act as a benchmark for the proposed LACA-based ADRC system, we also designed ACA-based ADRC system and normal ADRC system to enable disturbance rejection. To be fair and effective, the total size, number of iterations, and search space are all the same.

Table 3 Wave parameters

The T-foil and interceptor’s specific parameters are shown in Table 2.

6.2 LACA-ADRC parameters optimization performance

In case II (Table 4), both ACA and LACA converges successfully. Figure 9 shows the comparison of fitness between LACA and ACA. After 13 iterations, the fitness value of LACA reaches the global optimum, while ACA needs 24 iterations to reach the global optimum, and the fitness value is greater than that of LACA. Therefore, LACA has faster convergence speed and higher convergence accuracy due to the introduction of Levy flight algorithm, which speeds up local search and avoids falling into local optimum. Figure 10 shows the comparison of trimaran anti-longitudinal motion control results in case II between three different bandwidth selection methods. The trimaran longitudinal motion with manual parameter turning ADRC is much larger than the other two ACA-based ADRCs. The minimum trimaran longitudinal motion is achieved by LACA. The main factor leading to the trimaran longitudinal motion is composed of pitching disturbance moment and heave disturbance force. To minimize this motion, the ADRC uses ESO to estimate the disturbance. As can be seen from Fig. 11, the wave-induced heaving force and pitching moment estimated by ESO basically coincide with the actual disturbance, indicating that ESO can estimate and compensate the wave disturbance with high precision and fast response.

Table 4 Comparison of bandwidth optimization results in case II
Fig. 9
figure 9

The convergence comparison between ACA and LACA in case II

Fig. 10
figure 10

Case II simulation results of the trimaran vertical motion with RCS (normal system)

Fig. 11
figure 11

Estimate of F3 and F5 by ESO

In case I and case III, the longitudinal motion of trimaran under different controllers is shown in Fig. 12. In case I, the maximum normal/ACA/LACA-ADRC controlled heave displacement is 0.42/0.3/0.26 m, and the maximum pitch angle is 0.87/0.57/0.2°. In case III, the maximum normal/ACA/LACA-ADRC controlled heave displacement is 1.38/0.75/0.67 m, and the maximum pitch angle is 1.3/0.72/0.64°. It is proved that LACA-based ADRC has the best control effect in all three different cases, followed by ACA-ADRC, and finally by normal ADRC.

Fig. 12
figure 12

Comparison of simulation results with different optimization methods

6.3 Robustness performance of LACA-ADRC

In high sea conditions, the longitudinal motion of high-speed trimaran is affected by both wave disturbance and system parameter uncertainty. Therefore, the dynamic performance of the system, especially the robust performance, plays an important role. In order to verify the robustness of the proposed ADRC trimaran ride control system, the uncertain anti-longitudinal motion model need to be established. In the Eq. 9, \(A\) and \(B\) are related to the potential flow and viscous flow of water respectively, and the accurate values will fluctuate due to the influence of various factors. \(C\) mainly related to the ship structure, load variation and water viscosity, and these parameters are constantly changing in ship cruises and speeds up. Therefore, Eq. 9 can be transformed into

$$\left( {E + \sum\limits_{i = 1}^{{r_{1} }} {\delta_{i} E_{i} } } \right)\mathop x\limits^{.} = \left( {A + \sum\limits_{i = 1}^{{r_{2} }} {\delta_{i} A_{i} } } \right)x + B_{2} u + B_{1} F,$$
(39)

where

$$\begin{gathered} \sum\limits_{i = 1}^{4} {\delta_{i} E_{i} } = \left[ {\begin{array}{*{20}c} 0 & 0 & 0 & 0 \\ 0 & {\delta_{1} \Delta A_{33} } & 0 & {\delta_{2} \Delta A_{35} } \\ 0 & 0 & 0 & 0 \\ 0 & {\delta_{3} \Delta A_{53} } & 0 & {\delta_{4} \Delta A_{55} } \\ \end{array} } \right], \hfill \\ \sum\limits_{i = 1}^{8} {\delta_{i} } A_{i} = \left[ {\begin{array}{*{20}c} 0 & 0 & 0 & 0 \\ { - \delta_{5} \Delta B_{33} } & { - \delta_{6} \Delta C_{33} } & { - \delta_{7} \Delta B_{35} } & { - \delta_{8} \Delta C_{35} } \\ 0 & 0 & 0 & 0 \\ { - \delta_{9} \Delta B_{53} } & { - \delta_{10} \Delta C_{53} } & { - \delta_{11} \Delta B_{55} } & { - \delta_{12} \Delta C_{55} } \\ \end{array} } \right]. \hfill \\ \end{gathered}$$

The actual system can be transformed into the following standard robust control form:

$$\dot{x} = E^{ - 1} \left( {A + \sum\limits_{i = 1}^{r} {\delta_{i} \Delta A_{i} } } \right)x + E^{ - 1} B_{2} u + E^{ - 1} \left( {B_{1} F - \sum\limits_{i = 1}^{r} {\delta_{i} \Delta E_{i} } \dot{x}} \right),$$
(40)

where

$$\begin{gathered} B_{1} F - \sum\limits_{i = 1}^{r} {\delta_{i} E_{i} } \dot{x} = \left[ {\begin{array}{*{20}c} 0 & 0 \\ 1 & 0 \\ 0 & 0 \\ 0 & 1 \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {F_{3} } \\ {F_{5} } \\ \end{array} } \right] - \hfill \\ \left[ {\begin{array}{*{20}c} 0 & 0 & 0 & 0 \\ 0 & {\delta_{1} \Delta A_{33} } & 0 & {\delta_{2} \Delta A_{35} } \\ 0 & 0 & 0 & 0 \\ 0 & {\delta_{3} \Delta A_{53} } & 0 & {\delta_{4} \Delta A_{55} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\dot{\xi }_{3} } \\ {\ddot{\xi }_{3} } \\ {\xi_{3} } \\ {\ddot{\xi }_{5} } \\ \end{array} } \right] = \hfill \\ \left[ {\begin{array}{*{20}c} 0 \\ {F_{3} - (\Delta A_{33} \delta_{1} \ddot{\xi }_{3} + \Delta A_{35} \delta_{2} \ddot{\xi }_{5} )} \\ 0 \\ {F_{5} - (\Delta A_{53} \delta_{3} \ddot{\xi }_{3} + \Delta A_{55} \delta_{4} \ddot{\xi }_{5} )} \\ \end{array} } \right]. \hfill \\ \end{gathered}$$

The wave disturbance is \(\omega = \left[ {\begin{array}{*{20}c} {\omega {}_{3}} & {\omega_{5} } \\ \end{array} } \right]^{T}\).

\(\omega_{3} = F_{3} - \left( {\Delta A_{33} \delta_{1} \ddot{\xi }_{53} + \Delta A_{35} \delta_{2} \ddot{\xi }_{55} } \right)(),\omega_{5} = F_{5} - (\Delta A_{53} \delta_{3} \ddot{\xi }_{53} + \Delta A_{55} \delta_{4} \ddot{\xi }_{55} ).\) Equation 40 can change into

$$B_{1} F - \sum\limits_{i = 1}^{r} {\delta_{i} E_{i} } \dot{x} = C_{0} \omega ,C_{0} = \left[ {\begin{array}{*{20}c} 0 & 0 \\ 1 & 0 \\ 0 & 0 \\ 0 & 1 \\ \end{array} } \right].$$

Let \(E_{1} = E^{ - 1} A,\Delta E_{1} = E^{ - 1} \Delta A,B_{1}^{\prime } = E^{ - 1} C_{0} ,B_{2}^{\prime } = E^{ - 1} B_{2}\).

The standard robust control form is obtained as follows

$$\dot{x} = (E_{1} + \Delta E_{1} )x + B_{1}^{\prime } \omega + B_{2}^{\prime } u.$$
(41)

Rearrange the equation to highlight the uncertainties as follows:

$$\begin{gathered} \Delta E_{1} = E^{ - 1} \Delta A = E^{ - 1} \left[ {\begin{array}{*{20}c} 0 & 0 & 0 & 0 \\ { - \delta_{5} \Delta B_{33} } & { - \delta_{6} \Delta C_{33} } & { - \delta_{7} \Delta B_{35} } & { - \delta_{8} \Delta C_{35} } \\ 0 & 0 & 0 & 0 \\ { - \delta_{9} \Delta B_{53} } & { - \delta_{10} \Delta C_{53} } & { - \delta_{11} \Delta B_{55} } & { - \delta_{12} \Delta C_{55} } \\ \end{array} } \right] \hfill \\ = E^{ - 1} \left[ {\begin{array}{*{20}c} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ {\delta_{5} } & {\delta_{6} } & {\delta_{7} } & {\delta_{8} } & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & {\delta_{9} } & {\delta_{10} } & {\delta_{11} } & {\delta_{12} } \\ \end{array} } \right] \hfill \\ \left[ {\begin{array}{*{20}c} { - \Delta B_{33} } & 0 & 0 & 0 \\ 0 & { - \Delta C_{33} } & 0 & 0 \\ 0 & 0 & { - \Delta B_{35} } & 0 \\ 0 & 0 & 0 & { - \Delta C_{35} } \\ { - \Delta B_{53} } & 0 & 0 & 0 \\ 0 & { - \Delta C_{53} } & 0 & 0 \\ 0 & 0 & { - \Delta B_{55} } & 0 \\ 0 & 0 & 0 & { - \Delta C_{55} } \\ \end{array} } \right] \hfill \\ \end{gathered}$$
$$\begin{gathered} = E^{ - 1} \left[ {\begin{array}{*{20}c} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 1 & 1 & 1 \\ \end{array} } \right] \hfill \\ \left[ {\begin{array}{*{20}c} {\delta_{5} } & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & {\delta_{6} } & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & {\delta_{7} } & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & {\delta_{8} } & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & {\delta_{9} } & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & {\delta_{10} } & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & {\delta_{11} } & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & {\delta_{12} } \\ \end{array} } \right] \hfill \\ \left[ {\begin{array}{*{20}c} { - \Delta B_{33} } & 0 & 0 & 0 \\ 0 & { - \Delta C_{33} } & 0 & 0 \\ 0 & 0 & { - \Delta B_{35} } & 0 \\ 0 & 0 & 0 & { - \Delta C_{35} } \\ { - \Delta B_{53} } & 0 & 0 & 0 \\ 0 & { - \Delta C_{53} } & 0 & 0 \\ 0 & 0 & { - \Delta B_{55} } & 0 \\ 0 & 0 & 0 & { - \Delta C_{55} } \\ \end{array} } \right]. \hfill \\ \end{gathered}$$

Let \(\left[ {\begin{array}{*{20}c} {\Delta E_{1} } & {\Delta B_{2}^{\prime } } \\ \end{array} } \right] = HF_{1} \left[ {\begin{array}{*{20}c} {G_{1} } & {G_{2} } \\ \end{array} } \right]\),

$$\begin{gathered} H = E^{ - 1} \left[ {\begin{array}{*{20}c} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 1 & 1 & 1 \\ \end{array} } \right], \hfill \\ F_{1} = \left[ {\begin{array}{*{20}c} {\delta_{5} } & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & {\delta_{6} } & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & {\delta_{7} } & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & {\delta_{8} } & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & {\delta_{9} } & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & {\delta_{10} } & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & {\delta_{11} } & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & {\delta_{12} } \\ \end{array} } \right], \hfill \\ G_{1} = \left[ {\begin{array}{*{20}c} { - \Delta B_{33} } & 0 & 0 & 0 \\ 0 & { - \Delta C_{33} } & 0 & 0 \\ 0 & 0 & { - \Delta B_{35} } & 0 \\ 0 & 0 & 0 & { - \Delta C_{35} } \\ { - \Delta B_{53} } & 0 & 0 & 0 \\ 0 & { - \Delta C_{53} } & 0 & 0 \\ 0 & 0 & { - \Delta B_{55} } & 0 \\ 0 & 0 & 0 & { - \Delta C_{55} } \\ \end{array} } \right],G_{2} = 0_{8 \times 2} . \hfill \\ \end{gathered}$$

The robust performance to of both ACA-ADRCs and conventional ADRC is presented in Fig. 13 with the system \(\sigma_{i}\) varied by ± 30%.

Fig. 13
figure 13

Simulation results of the trimaran vertical motion with RCS (perturbation system): a case I heave displacement; b case I pitch angle; c case II heave displacement; d case II pitch angle

In case I, the maximum ADRC/ACA-ADRC/LACA-ADRC heave displacements are 0.42 m/0.3 m/0.26 m, the maximum ADRC/ACA-ADRC/LACA-ADRC pitch angles are 0.87/0.57/0.52 deg. In case 2, the maximum ADRC/ACA-ADRC/LACA-ADRC heave displacements are 1.38 m/0.75 m/0.67 m, the maximum ADRC/ACA-ADRC/LACA-ADRC pitch angles are 1.3/0.72/0.64 deg. By contrast, conventional ADRC output signal has larger heave and pitch to normal system, which is quite larger than that of the other two ADRCs with parameters tuning. It is implied that LACA-ADRC has much better robustness than conventional ADRC.

6.4 Experimental validation

Through the comparison of different ADRC parameter optimization algorithms, it is implied that LACA-ADRC has the best anti-longitudinal performance and robustness. To verify the feasibility of the proposed control algorithm, we design a scale-down experimental trimaran. The hull of the trimaran is made of fiberglass steel, which has excellent characteristics of corrosion resistance, low mass and high mechanical strength. Part of the deck is made of aluminum to avoid deformation during welding. The IPC and embedded bottom control panel are placed in the island cabin of the trimaran, and the interior of the trimaran is provided with relevant sensors, power supply and related lines. The anti-longitudinal actuators of the trimaran are selected as T-foil and interceptors. The T-foil is installed at the bottom of the bow to reduce the vertical motion amplitude of the multi-hull ship, and the interceptors are installed at the stern to reduce the navigation resistance. The T-foil and the interceptor are hydraulically driven (Fig. 14). The dimensions of the trimaran, T-foil and interceptors are shown in Tables 5 and 6.

Fig. 14
figure 14

Trimaran model

Table 5 Main dimension of the trimaran model
Table 6 Main dimension of the T-foil and interceptor model

IPC was selected as the control system host computer of the trimaran. Windows XP and VC++ 6.0 were used as the working platform to display the movement trajectory of the trimaran and set working parameters, which mainly included manual operation interface, serial communication module, detection parameters of various sensors, and heave and pitch display interface. LPC2294 based on ARM7 embedded with UC/OS-II operating system is selected as the main control chip for the system. The microprocessor receives the motion information of the trimaran measured by heave sensor and pitch sensor, uses LACA-ADRC proposed in this paper to calculate the control quantities of the T-foil and interceptors in real time, and drives the hydraulic cylinder actuator to form a closed-loop anti-longitudinal control system. The data of the trimaran heave displacement and pitch angle sensors are communicated with the IPC by serial communication, and the IPC stores and displays the transmitted data, which is convenient for real-time monitoring and control.

The experimental tests were carried out in the towing tank with a length of 110 m and a cross section of 7 m × 3.5 m (as seen in Fig. 15). One side of the tank is a wave maker and the other side is the waveabsorbed beach. The wave maker can produce regular waves with a maximum wave height of 0.4 m, and the wave period varies from 0.4 to 4 s. The wave tank also makes irregular waves according to various wave spectrums. The maximum significant wave height is 0.32 m. The ship model is accurately towed by an electrically driven carriage with a maximum speed of 6.5 m/s. The force and motion measurement instruments were installed on the carriage to measure the ship model's resistance and motions.

Fig. 15
figure 15

Towing tank and wave-making system

In this paragraph, LACA-ADRC is compared to the traditional PD controller under different encounter frequencies regular waves (Fig. 16). The heave and pitch motions were measured using the experiment data obtained from the towing tank data acquisition system and from this the response amplitude operators (RAOs) were evaluated. Figure 17 compares the longitudinal motion RAO without control\ with PD control\LACA-ADRC, the experiment condition is shown in Table 7.

Fig. 16
figure 16

Trimaran model in pool

Fig. 17
figure 17

RAO comparison of trimaran longitudinal motion

Table 7 Wave parameters

The maximum uncontrolled/PD/LACA-ADRC heave RAOs are 1/0.8/0.7, and the maximum uncontrolled/PD/LACA-ADRC pitch RAOs are 1.2/0.9/0.5. It can be seen that the LACA-ADRC RAO is the minimum for both heave and pitch, and the reduction of pitch is greater than that of heave.

T-foil and interceptor are inertial mechanical systems, there will be some lag between the actual response and the demand input. Figure 18 shows the phase lag of the T-foil and the interceptor when ship speed is 40 knots against the waves. All phase data are displayed in a range of 0°–360°, the phase lags between the hull motion and the angles of attack of the T-foil and interceptor are between 270 and 360° under ordinary PD controller, but the phases under LACA-ADRC are between 0 and 90°. The traditional PD controller adjusted the control signals only according to the deviation, the output of PD controller can respond quickly only after the disturbance reaches a certain degree, but the ADRC uses ESO to predict the pitching moment and heave force generated by the wave disturbance, and accordingly changes the output of the controller in time to dynamically and linearly compensate the disturbance. Therefore, the disturbance adjustment time of PD controller is longer than that of the ADRC.

Fig. 18
figure 18

Phase lag of stabilizer angle of attack relative to pitch motion

6.5 RAO comparison between numerical results and experimental results

In this section, the reducing effects of ship motion with numerical and experimental results are compared. The two methods adopt LACA-based ADRC controller with the same control parameters, incident wave conditions are the same as in section D. Figure 19 shows the heave and pitch RAOs of the ship under simulations and experiments.

Fig. 19
figure 19

RAO comparison of trimaran longitudinal motion between numerical results and experimental results

It can be seen from the Fig. 19 that the simulation results are basically consistent with the experimental results, which shows that the controller proposed in this paper is effective and reliable.

7 Conclusion

In this paper, the LACA-ADRC for fast trimaran anti-longitudinal motion is proposed. The anti-longitudinal motion system is a cross-coupling system with two inputs and two outputs. According to the control advantage of ADRC for multi-input multi-output cross-coupling system, the pitch-loop and heave-loop ADRCs are designed, respectively. In the realization process of ADRC, the improved ant colony algorithm is used to adjust ADRC parameters to improve the anti-longitudinal motion performance of fast trimaran under high sea states. The simulation results show that the LACA-based ADRC has a satisfactory performance. Compared with the ADRC without parameter optimization and the ACA-ADRC, the LACA-based ADRC has higher rapidity and better robustness. The work can supply an important reference for the control system of fast trimaran. In the future, we will explore more effective methods to facilitate the controller, then using practical experiments to verify the design. Also, the methods can also be employed in other types of controller designs.