**1. Introduction**

As an increasingly widely used tool for exploring and exploiting marine resources, the motion control strategy of dynamic positioning vessels has attracted increasing attention [1–4]. The study and investigation on the control method of dynamic positioning vessels have been sufficient. However, due to model uncertainty and the effects of environmental disturbances, undertaking research remains challenging [5–7]. To deal with this challenge, several control methods have been proposed for the tracking control of dynamic positioning vessels. In general, control schemes used for compensating the model uncertainty and disturbances can be classified as passive and active approaches. The active approaches exploit the estimation of the model uncertainty and disturbances to compensate for these effects [8], while the passive approaches rely on the robustness property of the designed controller [9–11]. To reduce the ship roll motion in waves, a self-tuning proportional integral derivative (PID) controller is used to adjust optimal stabilizer fin angles in [12]. However, the controller has poor performance to deal with the high magnitude of the disturbance values. In order to increase the performance, fuzzy logic systems and intelligent control techniques have been proposed in [13,14]. The fuzzy logic systems depend on a good human understanding of the dynamical behavior of the system. Model predictive control is employed to ensure optimal system performance [15], and the method algorithm requires a large number of account operations and resources. To solve this problem and enhance robustness property, sliding mode control is proposed for the tracking control of dynamic positioning vessels [16]. To reduce the effects of uncertainty and disturbances, an active approach is designed based on observers. In order to estimate uncertainty and disturbances, the disturbance observer is proposed for the tracking control of vessels [17]; the key features of disturbance observer are based on velocity measurements. The position and heading of vessels can be acquired by using GPS and electronic compass, although

**Citation:** Zhang, B.; Xia, G. Output Feedback Tracking Control with Collision Avoidance for Dynamic Positioning Vessel under Input Constraint. *J. Mar. Sci. Eng.* **2023**, *11*, 811. https://doi.org/10.3390/ jmse11040811

Academic Editor: Gerasimos Theotokatos

Received: 10 March 2023 Revised: 30 March 2023 Accepted: 5 April 2023 Published: 11 April 2023

**Copyright:** © 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

it is difficult to obtain their velocities. To avoid using velocity measurements, a nonlinear extended state observer (ESO) is employed for dynamic positioning vessel in [18].

Besides model uncertainty and disturbances, another challenge to tracking control for dynamic positioning vessel is input constraint. Due to physical limitations, the actuator outputs are constantly bounded or constrained [19]. Input constraint may degrade the system performance and lead to an imbalance [20]. To deal with this challenge, a Gaussian error function is used to approximate input saturation in [21]. The hyperbolic tangent function is used to handle the input saturation in [22], and a trajectory tracking control law is designed based on the hyperbolic tangent function. However, the hyperbolic tangent function and Gaussian error function limit system performance, even if the control inputs are not saturated. To avoid this, an anti-windup compensator is incorporated into controller design to solve trajectory tracking of dynamic positioning vessel with input saturation in [23]. To solve the input saturation in trajectory tracking control of vessels, an auxiliary dynamic system (ADS) is applied to controller design in [24]. Ref. [25] introduces an auxiliary control to solve the formation control of autonomous underwater vehicles with input saturation.

However, few papers take the problem of collision-avoidance control into account. In the view of engineering practice, it is inevitable for unmanned vessels to encounter fixed or moving obstacles such as lighthouses and submerged reefs. Collision avoidance is crucial to navigation safety. The existing achievements often use a path-planning algorithm to solve the collision-avoidance problem [26–29]. The method depends on an optimization algorithm, which is complex and takes a long time to obtain a feasible solution, so it is not conducive to lowering the construction cost of dynamic positioning vessels. In order to address this problem, some scholars design the control system of unmanned vessels with collision avoidance [30,31]. However, input saturation is neglected in the controller-design process, and the performance of the actuator has a great impact on collision-avoidance ability. Therefore, input constraint also needs to be considered when proposing the collisionavoidance control algorithm.

Motivated by the above research background, this paper investigates the trajectory tracking control of surface vessels subject to input saturation, uncertainty, and environmental disturbances. Even more significantly, both static obstacles and unknown noncooperative ships are taken into consideration. Inspired by the works in [30], an improved output feedback controller is proposed. Firstly, an ESO is used to estimate the velocity, model uncertainty, and disturbances. To avoid collisions with obstacle and unknown noncooperative ships, modified artificial potential functions (MAPFs) are incorporated into the controller-design process. In particular, MAPFs can render the vessel bypass obstacle and unknown non-cooperative ships smoothly, which greatly reduces the actuator performance requirements. An ADS is introduced to solve the input saturation. Then, an output feedback controller is designed based on the ESO, the MAPFs, and the ADS. Finally, the stability of closed-loop system is proved. Simulations demonstrate the proposed control strategy.

Three salient features of this paper are summarized as follows. First, MAPFs are designed to solve the problem of automatic collision avoidance system for dynamic positioning vessels. Second, both obstacle and unknown non-cooperative ships are considered in the controller-design process. The embedded processor of the vessels carries out reading computations using only the position and yaw, and the transmission loads are saved. Third, the designed strategy can achieve collision avoidance, even if the control inputs are saturated.

Compared with the existing related results, the novelty of this paper is summarized as follows. First, compared with the control strategy [20–23], this paper designs a strategy to achieve collision avoidance between a vessel and an obstacle. Second, unlike the existing control approaches [30,31], input saturation is considered in the controller-design process; the proposed controller has become more attractive in practice engineering. Third, compared with the collision-avoidance algorithm proposed in [18], a non-cooperative ship is also considered.

The other sections are organized as follows. The problem is formulated in Section 2. Section 3 provides a collision-avoidance strategy, Section 4 presents an observer design, and Section 5 presents a controller design and stability analysis. Simulation outcomes are described in Section 6. Conclusions are given in Section 7.

#### **2. Problem Formulation**

The kinematic (position and orientation) and dynamic (linear velocity and angular velocity) models of dynamic positioning vessel are [32]

$$
\dot{\eta} = \mathcal{R}(\psi)\nu \tag{1}
$$

$$M\dot{\nu} + \mathbb{C}\nu + D\nu = \mathbb{r} + d,\tag{2}$$

where *η* = [*x*, *y*, *ψ*] T, *x*, and *y* are vertical and horizontal coordinates in the earth-fixed reference frame, respectively. *ψ* is the yaw angle in the earth-fixed reference frame. *ν* = [*u*, *v*,*r*] T denotes the velocity vector containing linear velocity *u*, *v* and the angular velocity *r*. *<sup>M</sup>* <sup>∈</sup> <sup>R</sup>3×<sup>3</sup> denotes the inertia matrix including added mass, which is positive definite, invertible, and constant. *<sup>C</sup>* <sup>∈</sup> <sup>R</sup>3×<sup>3</sup> represents a skew-symmetric matrix of Coriolis and centripetal term. *<sup>D</sup>* <sup>∈</sup> <sup>R</sup>3×<sup>3</sup> denotes the damping matrix, which is positive definite. *τ* = [*τu*, *τv*, *τr*] <sup>T</sup> is the input signal. *d* = [*d*1, *d*2, *d*3] <sup>T</sup> are the environmental disturbances. *R*(*ψ*) is the rotation matrix and given by

$$R(\psi) = \begin{bmatrix} \cos(\psi) & -\sin(\psi) & 0\\ \sin(\psi) & \cos(\psi) & 0\\ 0 & 0 & 1 \end{bmatrix}.$$

In practical application, due to the limited engine power, the input signals are limited by maximum force and moment. The input limitation is given:

$$\tau = \begin{cases} \tau\_{\text{max}} & \tau\_{\text{c}} > \tau\_{\text{max}} \\ & \tau\_{\text{c}} & \tau\_{\text{min}} \le \tau\_{\text{c}} \le \tau\_{\text{max}} \\ & \tau\_{\text{min}} & \tau\_{\text{c}} < \tau\_{\text{min}} \end{cases}$$

where *<sup>τ</sup>*max and *<sup>τ</sup>*min <sup>∈</sup> <sup>R</sup><sup>3</sup> are the maximum and minimum control force and moment, respectively. The mismatch function is defined as = *τ<sup>c</sup>* − *τ*, *τ<sup>c</sup>* = [*τuc*, *τvc*, *τrc*] T, *τuc*, *τvc* and *τrc* are control force and moment calculated by the proposed controller, respectively. The saturated input signal can be attained by *τ* = *τ<sup>c</sup>* − .

#### **3. Collision Avoidance Strategy**

The collision-avoidance ability of the control system plays an important role in shipcollision avoidance and ensuring the safety of ship navigation, and artificial potential functions are used for achieving collision avoidance [33,34]. Here, the MAPFs are designed; they consist of a repulsion function, and they do not work when the vessel is sufficiently far away from obstacle and other ship. The MAPFs repel the vessel when the vessel approaches the obstacle and the other ship, which keeps a safe distance from the obstacle and the other ship. The obstacle is modeled as a circle-shaped object [35], and the MAPFs are given as follows:

$$p\_{\boldsymbol{\sigma}} = \begin{cases} \ \ \ \ \frac{1}{2} \boldsymbol{\alpha}\_{\boldsymbol{\sigma}} (\frac{1}{p\_{\boldsymbol{\nu}}} - \frac{1}{\mathbb{R}\_{\boldsymbol{\sigma}}})^2, & \text{if } p\_{\boldsymbol{\nu}} \le \bar{R}\_{\boldsymbol{\sigma}} \\\ 0, & \text{otherwise} \end{cases} \tag{3}$$

where *pv* = *p* − *po* is the distance between the vessel and the obstacle , *p* = [*x*, *y*] <sup>T</sup> is the position of the vessel, *po* = [*xo*, *yo*] <sup>T</sup> is the center of the obstacle, and *α<sup>o</sup>* is a positive constant. *<sup>R</sup>*¯ *<sup>o</sup>* <sup>=</sup> max{*Ro*, *Ru*}, *Ro* is the collision avoidance range with respect to the obstacle, and *Ru* is the collision avoidance range with respect to the vessel.

To avoid collision with an obstacle, the MAPFs are introduced to the control objective. Additionally, the control objective is given as follows:

$$\lim\_{t \to +\infty} \|\eta - \eta\_d - \eta\_o\| \, < \, c\_1 \tag{4}$$

where *η<sup>d</sup>* is the desired trajectory, *η<sup>o</sup>* = [*po*, *po*, 0] T.

**Hypothesis 1.** *η<sup>d</sup> and its derivative η*˙*<sup>d</sup> are bounded.*

**Remark 1.** *The MAPFs do not work when the vessel is sufficiently far away from obstacle . This means that η<sup>o</sup>* = [0, 0, 0] <sup>T</sup> *if pv* > *R*¯ *o, and the control objective is a trajectory tracking task. The MAPFs work and repel the vessel when it approaches the obstacle. The design of η<sup>o</sup> ensures that the MAPFs can render the vessel bypass obstacle smoothly, which leads to conservative input signals.*

#### **4. Observer Design**

In this section, we develop a nonlinear observer to estimate the unknown term containing environmental disturbances *d*, the damping matrix *D*, and the Coriolis and centripetal term *C*; the model of USV can be rewritten as

$$
\eta = \mathcal{R}(\psi)\nu \tag{5}
$$

$$
\dot{\boldsymbol{\nu}} = \boldsymbol{M}^{-1} \boldsymbol{x} + \boldsymbol{\zeta}, \tag{6}
$$

where *<sup>ζ</sup>* = *<sup>M</sup>*−1(−*C<sup>ν</sup>* − *<sup>D</sup><sup>ν</sup>* + *<sup>d</sup>*).

**Hypothesis 2.** *There is a positive constant <sup>ζ</sup>*<sup>∗</sup> *such that* ˙ *ζ* ≤ *ζ*∗*.*

Inspired by [36], an ESO is given to provide the estimations of model uncertainties and disturbances, which is shown as:

$$\dot{\eta} = -K\_{o1}(\dot{\eta} - \eta) + R(\psi)\vartheta,\tag{7}$$

$$\psi = -K\_{a2}R^\mathrm{T}(\psi)(\mathfrak{H} - \mathfrak{y}) + \mathfrak{J} + M^{-1}\mathfrak{r},\tag{8}$$

$$\dot{\xi} = -K\_{a3} R^{\mathrm{T}}(\psi)(\dot{\eta} - \eta) \tag{9}$$

where *η*ˆ = [*x*ˆ, *y*ˆ, *ψ*ˆ] <sup>T</sup> <sup>∈</sup> <sup>R</sup>3, *<sup>ν</sup>*<sup>ˆ</sup> = [*u*ˆ, *<sup>v</sup>*ˆ,*r*ˆ] <sup>T</sup> <sup>∈</sup> <sup>R</sup>3, <sup>ˆ</sup> *ζ* = [ ˆ *ζ*1, ˆ *ζ*2, ˆ *ζ*3] <sup>T</sup> <sup>∈</sup> <sup>R</sup>3, *<sup>x</sup>*ˆ, *<sup>y</sup>*ˆ, *<sup>ψ</sup>*ˆ, *<sup>u</sup>*ˆ, *<sup>v</sup>*ˆ, *<sup>r</sup>*ˆ, <sup>ˆ</sup> *ζ*1, ˆ *ζ*2, ˆ *ζ*3 are the estimates of *<sup>x</sup>*, *<sup>y</sup>*, *<sup>ψ</sup>*, *<sup>u</sup>*, *<sup>v</sup>*, *<sup>r</sup>*, *<sup>ζ</sup>*1, *<sup>ζ</sup>*<sup>2</sup> and *<sup>ζ</sup>*3. *Ko*<sup>1</sup> <sup>∈</sup> <sup>R</sup>3×3, *Ko*<sup>2</sup> <sup>∈</sup> <sup>R</sup>3×3, and *Ko*<sup>3</sup> <sup>∈</sup> <sup>R</sup>3×<sup>3</sup> are gain matrices.

From (5)–(9), the error dynamics of the ESO are given as

$$\begin{aligned} \dot{\eta} &= -K\_{o1}\dot{\eta} + R\left(\psi\right)\ddot{\upsilon}, \\ \dot{\upsilon} &= -K\_{o2}R^{T}\left(\psi\right)\ddot{\eta} + \ddot{\zeta}, \\ \dot{\tilde{\zeta}} &= -K\_{o3}R^{T}\left(\psi\right)\ddot{\eta} - \dot{\zeta}, \end{aligned} \tag{10}$$

where *<sup>η</sup>*˜ <sup>=</sup> *<sup>η</sup>*<sup>ˆ</sup> <sup>−</sup> *<sup>η</sup>*, *<sup>ν</sup>*˜ <sup>=</sup> *<sup>ν</sup>*<sup>ˆ</sup> <sup>−</sup> *<sup>ν</sup>* and ˜ *ζ* = ˆ *ζ* − *ζ* are estimation errors. The observer error dynamics (10) can be rewritten as

$$
\dot{X} = AX + B\phi \tag{11}
$$

$$
\tilde{\eta} = \mathbb{C}\_{\circ} X\_{\prime} \tag{12}
$$

where *X* = [*η*˜*T*, *ν*˜*T*, ˜ *ζT*] *<sup>T</sup>* <sup>∈</sup> <sup>R</sup>9×1,

$$A = \begin{bmatrix} -K\_{o1} & R(\psi) & 0\_3 \\ -K\_{o2}R^T(\psi) & 0\_3 & I\_3 \\ -K\_{o3}R^T(\psi) & 0\_3 & 0\_3 \end{bmatrix},\tag{13}$$

$$B = \begin{bmatrix} 0\_3 \\ 0\_3 \\ I\_3 \end{bmatrix} \tag{14}$$

$$\mathbf{C}\_{\rm ai} = \begin{bmatrix} \ \ I\_3 & \ \mathbf{0}\_3 & \mathbf{0}\_3 \ \end{bmatrix} \tag{15}$$

*<sup>φ</sup>* <sup>=</sup> <sup>−</sup> ˙ *ζ*. 03 is a 3 × 3 dimensional zero matrix. *I*<sup>3</sup> is a 3 × 3 dimensional identity matrix.

According to Hypothesis 2, we can devise a hypothesis that *φ* ≤ *<sup>φ</sup>*¯ and *<sup>φ</sup>*¯ is a positive constant.

A nonlinear term *J*(*ψ*) makes it difficult to conduct the stability analysis of the ESO. To solve the difficulty, a transformation *<sup>χ</sup>* = *TX* with *<sup>T</sup>* = diag{*JT*(*ψ*), *<sup>I</sup>*3, *<sup>I</sup>*3} is introduced, thus

$$
\dot{\chi} = (A\_0 + rS\_T)\chi + B\phi,\tag{16}
$$

where *ST* = diag{*S*1, 03, 03},

$$S\_1 = \left[ \begin{array}{cc} 0 & 1 & 0 \\ -1 & 0 & 0 \\ 0 & 0 & 0 \end{array} \right],\tag{17}$$

$$A\_0 = \begin{bmatrix} -K\_{o1} & I\_3 & 0\_3 \\ -K\_{o2} & 0\_3 & I\_3 \\ -K\_{o3} & 0\_3 & 0\_3 \end{bmatrix}. \tag{18}$$

**Lemma 1.** *The error of the ESO X is bounded, if there are symmetric definite positive matrices <sup>Q</sup>*, *<sup>P</sup>* <sup>∈</sup> <sup>R</sup>9×<sup>9</sup> *such that*

$$\begin{aligned} A\_0^T P + P A\_0 + P B B^T P + Q \\ \quad + \overline{r} (S\_T^T P + P S\_T) \le 0, \end{aligned} \tag{19}$$

$$A\_0^T P + PA\_0 + PBB^T P + Q$$

$$-\left(S\_T^T P + P S\_T\right) \le 0,\tag{20}$$

*<sup>r</sup>*¯ <sup>∈</sup> <sup>R</sup> *is the upper bound of r.*

Chose a Lyapunov function as follows:

$$V\_{\mathcal{O}} = \frac{1}{2} \chi^T P \chi. \tag{21}$$

We can obtain that *V*˙ *<sup>o</sup>* = <sup>1</sup> <sup>2</sup> (*χTPχ*˙ + *<sup>χ</sup>*˙ *TPχ*). Form (16), we can obtain that

$$\dot{V}\_o = \frac{1}{2} (\chi^T P ((A\_0 + rS\_T)\chi + B\phi)) + \frac{1}{2} ((A\_0 + rS\_T)\chi + B\phi)^T P \chi \tag{22}$$

By using ((*A*<sup>0</sup> + *rST*)*χ*)*TPχ* = *χT*(*A<sup>T</sup>* <sup>0</sup> *<sup>p</sup>* + *rS<sup>T</sup> <sup>T</sup> <sup>P</sup>*)*<sup>χ</sup>* and (*Bφ*)*TP<sup>χ</sup>* = *<sup>χ</sup>TPBφ*, differentiating *Vo* with respect to time is given:

$$\begin{aligned} V\_o &= \frac{1}{2} \chi^T (PA\_0 + A\_0^T P + rPS\_T + rS\_T^TP) \chi \\ &+ \chi^T PB \phi \\ &\leq \frac{1}{2} \chi^T (PA\_0 + A\_0^T P + rPS\_T + rS\_T^TP) \\ &+ PBB^T P \right) \chi + \frac{1}{2} \phi^T \phi \\ &\leq -c\_{o1} V\_o + c\_{o2} \, \end{aligned} \tag{23}$$

where *co*<sup>1</sup> <sup>=</sup> *<sup>λ</sup>*min(*Q*) *<sup>λ</sup>*max(*P*), *co*<sup>2</sup> <sup>=</sup> <sup>1</sup> <sup>2</sup>*φ*¯2. Since *co*<sup>2</sup> is symmetric definite positive, the state *<sup>χ</sup><sup>i</sup>* is bounded. Using *T*−1 = 1 and *<sup>X</sup>* = *<sup>T</sup>*−1*χ*, the estimation error signal *<sup>X</sup>* is bounded .

#### **5. Controller Design**

In order to clearly describe the process of controller design, the diagram of the proposed output feedback controller is given in Figure 1. The designed ESO provides estimations of velocities, model uncertainty, and disturbances by using position of the vessel. A filter is used to give the velocity estimations of obstacle or non-cooperative ship. An ADS is designed based on the mismatch function = *τ<sup>c</sup>* − *τ*. The proposed kinetic control law is designed by using the ADS and the ESO.

**Figure 1.** The diagram of the proposed output feedback controller.

An output feedback controller design for vessel with collision avoidance is presented step by step.

*Step 1:* A modified error function based on the information of desired trajectory and obstacle is defined as

$$z\_1 = \eta - \eta\_d - \eta\_o. \tag{24}$$

Along with the kinematics (5), the time derivative of (24) is given as

$$
\dot{z}\_1 = \mathcal{R}(\psi)\nu - \dot{\eta}\_d - \dot{\eta}\_o. \tag{25}
$$

Choosing *α* as a virtual input, the kinematic control law *α* is proposed as

$$\boldsymbol{\alpha} = \boldsymbol{R}^{\mathrm{T}}(\boldsymbol{\psi})(\boldsymbol{\eta}\_d + \dot{\boldsymbol{\eta}}\_o - \boldsymbol{K}\_1 \boldsymbol{z}\_1), \tag{26}$$

where *<sup>K</sup>*<sup>1</sup> <sup>∈</sup> <sup>R</sup>3×<sup>3</sup> is a diagonal matrix, *<sup>η</sup>*˙*<sup>d</sup>* is known time derivative of *<sup>η</sup>d*, *<sup>η</sup>*¯˙*<sup>o</sup>* is the signal originated from the filter, and *loη*¯˙*<sup>o</sup>* + *η*¯*<sup>o</sup>* = *ηo*, *lo* is a positive constant.

**Remark 2.** *The virtual input* (26) *is a virtual velocity signal. If <sup>z</sup>*<sup>1</sup> *and <sup>η</sup>*¯˙*<sup>o</sup>* → [0, 0, 0] *T, <sup>α</sup>* → *<sup>R</sup>*T(*ψ*)*η*˙*d, which is the desired velocity in the hull coordinate system. If <sup>z</sup>*<sup>1</sup> → [0, 0, 0] *<sup>T</sup> and <sup>η</sup>*¯˙*<sup>o</sup>* = [0, 0, 0] *T, <sup>α</sup>* → *<sup>R</sup>*T(*ψ*)(*η*˙*<sup>d</sup>* + *<sup>η</sup>*¯˙*o*)*, the velocity of the vessel converges to the vector piled up by the desired velocity and the velocity of obstacle. The term* −*K*1*z*<sup>1</sup> *ensures the convergence of the signal α, the therms η*˙*<sup>d</sup>* + *η*¯˙*<sup>o</sup> give equilibrium points of the control system, and the R*T(*ψ*) *is the transform matrix between the earth-fixed reference frame and the hull coordinate system.*

**Remark 3.** *Narrow channels and coastal waters form regions with heavy maritime traffic. Small sea vehicles do not have navigational aids such as VHF radio or AIS [37]. Users are unable to gain the velocity information. We refer to these actors as non-cooperative ships. Non-cooperative ships need to be taken into account in controller design. To estimate the velocity information of non-cooperative ships, a filter is introduced to the process of controller design. Errors are caused* *when the velocity estimation is used. Errors are bounded due to position-bounded ηo. This shows that enough safety distance between dynamic positioning vessels and non-cooperative ships or obstacles is necessary.*

*Step 2:* In this step, a dynamic controller at the kinetic level is developed. Define the second error vector as

$$z\_2 = \vartheta - \overline{\mathfrak{a}} - \beta,\tag{27}$$

where *β* is signal of ADS; it is designed to solve input saturation. *α*¯ is introduced to avoid the calculation of the time derivative of *α*; a first-order filter is used instead of the time derivative of *α*, *lα*¯˙ + *α*¯ = *α* with time constant *l* > 0. The update law of *β* is given as

$$
\dot{\beta} = -K\_2 \beta - M^{-1} \varpi \tag{28}
$$

where *<sup>K</sup>*<sup>2</sup> <sup>∈</sup> <sup>R</sup>3×<sup>3</sup> is a diagonal matrix.

The time derivative of *z*<sup>2</sup> is derived as

$$\dot{z}\_2 = -K\_{\text{o2}}R^\text{T}(\psi)\vec{\eta} + \dot{\zeta} + M^{-1}(\pi\_\text{c} - \varpi) - \dot{\pi} - \dot{\beta}.\tag{29}$$

To stabilize *z*2, a kinetic control law is designed as

$$\pi\_{\mathfrak{c}} = M(-K\_3 z\_2 - \hat{\zeta} + \dot{\mathfrak{a}} + K\_2 \beta - R^T(\psi) z\_1),\tag{30}$$

where *<sup>K</sup>*<sup>3</sup> <sup>∈</sup> <sup>R</sup>3×<sup>3</sup> is a diagonal matrix.

**Lemma 2.** *Consider the system consisting of the dynamic positioning vessel dynamics* (1) *and* (2)*; the kinetic control law* (30)*; the observer* (7)*,* (8)*, and* (9)*; and the ADS* (28) *with input saturation, environmental disturbances, and model uncertainty. If Hypotheses 1–2 are satisfied, the proposed output feedback-control scheme guarantees that all of the signals in the closed-loop system are bounded.*

**Proof.** Choose a Lyapunov function candidate as follows:

$$V\_1 = \frac{1}{2} z\_1^T z\_1.\tag{31}$$

Using (25), the time derivative of *V*<sup>1</sup> is given

$$\dot{V}\_1 = \boldsymbol{z}\_1^T [\boldsymbol{R}(\boldsymbol{\psi})\boldsymbol{\nu} - \dot{\boldsymbol{\eta}}\_d - \dot{\boldsymbol{\eta}}\_o]. \tag{32}$$

By applying (27) to (32), the time derivative of *V*<sup>1</sup> is rewritten as

$$\dot{V}\_1 = z\_1^\mathrm{T} [R(\psi)(z\_2 + \mathfrak{a} + \mathfrak{z} + \mathfrak{a} - \tilde{\nu}) - \dot{\eta}\_d - \dot{\eta}\_o]. \tag{33}$$

Substituting (26) into (33), the time derivative of *V*<sup>1</sup> can be rewritten as

$$\dot{V}\_1 = -z\_1^\mathrm{T} K\_1 z\_1 + z\_1^\mathrm{T} \left[ R(\psi) (z\_2 + \beta + \pi - \overline{\nu}) \right] + \Delta\_{\overline{\nu}} \tag{34}$$

where Δ*<sup>v</sup>* is a positive constant containing estimate error of the velocity information of non-cooperative ships.

Define a another Lyapunov function

$$V\_2 = V\_1 + \frac{1}{2}z\_2^T z\_2.\tag{35}$$

Form (8), (27), and (34), the time derivative of *V*<sup>2</sup> can be attained

$$\begin{aligned} \mathcal{V}\_2 &= -z\_1^\mathrm{T} K\_1 z\_1 + z\_1^\mathrm{T} [\mathcal{R}(\boldsymbol{\psi})(z\_2 + \boldsymbol{\beta} + \boldsymbol{\pi} - \boldsymbol{\nu})] \\ &+ z\_2^\mathrm{T} [-K\_{o2} \mathcal{R}^\mathrm{T}(\boldsymbol{\psi}) \boldsymbol{\eta} + \boldsymbol{\zeta} + \mathcal{M}^{-1}(\boldsymbol{\pi}\_c - \boldsymbol{\sigma}) \\ &- \boldsymbol{\hat{n}} - \boldsymbol{\beta}] + \Delta\_\upsilon \end{aligned} \tag{36}$$

Using equations (30) and (28),

$$\begin{split} \dot{V}\_2 &= -z\_1^T K\_1 z\_1 + z\_1^T [R(\psi)(\beta + \vec{\pi} - \vec{\nu})] \\ &- z\_2^T K\_{\text{v2}} R^\text{T}(\psi)\vec{\eta}. \end{split} \tag{37}$$

Define the last Lyapunov function

$$V\_3 = V\_2 + \frac{1}{2}\boldsymbol{\beta}^T \boldsymbol{\beta} + V\_\circ. \tag{38}$$

Using (28) and (37) yields, the time derivative of *V*<sup>3</sup> is given

$$\begin{split} \dot{V}\_3 &= -z\_1^\mathsf{T} K\_1 z\_1 - z\_2^\mathsf{T} K\_3 z\_2 + z\_1^\mathsf{T} [R(\psi)(\beta + \tilde{\alpha} - \tilde{\nu})] \\ &- z\_2^\mathsf{T} K\_{\mathsf{o}2} \mathsf{R}^\mathsf{T} (\psi) \bar{\eta} - \beta^\mathsf{T} K\_2 \beta - \beta M^{-1} \mathcal{O} + \Delta\_\upsilon + \dot{V}\_\circ. \end{split} \tag{39}$$

Using Young's inequality, the inequalities are given as

$$z\_1^T [\mathcal{R}(\psi)(\beta + \tilde{\pi} - \tilde{\nu})] \le \frac{1}{2} (\beta z\_1^T z\_1 + \beta^T \beta + \tilde{\pi}^T \tilde{\pi} + \tilde{\nu}^T \tilde{\nu}),\tag{40}$$

$$-z\_2^T K\_{o2} R^T(\psi) \vec{\eta} \le \lambda\_{\text{min}}(K\_{o2}) / 2(z\_2^T z\_2 + \vec{\eta}^T \vec{\eta}),\tag{41}$$

$$-\beta M^{-1} \boldsymbol{\varpi} \le \mathbf{1}/2(\boldsymbol{\beta}^T \boldsymbol{\beta} + \boldsymbol{\Delta}),\tag{42}$$

where Δ = *M*−<sup>1</sup>*<sup>T</sup>M*<sup>−</sup>1.

*V*˙

Substituting (40)–(42) into (39), the time derivative of *V*<sup>3</sup> is rewritten as

$$\begin{aligned} \dot{z}\_3 &\le -\left[\lambda\_{\min}(K\_1) - 3/2\right] z\_1^T z\_1 - \left[\lambda\_{\min}(K\_3) - \lambda\_{\min}(K\_{o2})/2\right] z\_2^T z\_2 \\ &- \left[\lambda\_{\min}(K\_2) - 1\right] \beta^T \beta - c\_{o\_3} V\_o + c\_{o\_4} \end{aligned} \tag{43}$$

where *co*<sup>3</sup> = [*λ*min(*Q*) − max{*λ*min(*Ko*2), 1}]/*λ*max(*P*), *co*<sup>4</sup> = *co*<sup>2</sup> + *<sup>α</sup>*˜ *<sup>T</sup>α*˜ + <sup>Δ</sup>/2 + <sup>Δ</sup>*v*. The inequality (43) becomes

$$
\dot{V}\_3 \le -c\_1 V\_3 + c\_2. \tag{44}
$$

where *c*<sup>1</sup> = min{2[*λ*min(*K*1) − 3/2], 2[*λ*min(*K*3) − *λ*min(*Ko*2)/2], 2[*λ*min(*K*2) − 1], *co*3}, *c*<sup>2</sup> = *co*4.

From the definition of *V*3, it can be concluded that all of the signals in the closed-loop are bounded.

#### **6. Simulation Results**

In this section, numerical simulations are designed to show the effectiveness of the proposed controller (PC). The reference signal *η<sup>d</sup>* is used to generate desired trajectory. In simulations, the model of dynamic positioning ship Cybership II is used [38]. The control forces and moment are constrained as *τ*max = [2 N, 2 N, 1.5 Nm], *τ*min = [−2 N, −2 N, −1.5 Nm]. Environmental disturbances are modeled as the sum of some sinusoidal signals. The parameters of observer are chosen as *Ko*<sup>1</sup> = diag[15, 15, 15], *Ko*<sup>2</sup> = diag[15, 15, 15], *Ko*<sup>3</sup> = diag[15, 15, 15]. The design parameters of the controller are *K*<sup>1</sup> = diag[5, 5, 5], *K*<sup>2</sup> = diag[10, 10, 10], *K*<sup>3</sup> = diag[5, 5, 5]. The avoidance ranges *R*¯ *<sup>o</sup>* = 8 m, *α<sup>o</sup>* = 20.

#### *6.1. Trajectory Tracking Control with Obstacle Avoidance*

The formation tracking results for case 1, case 2, case 3, and case 4 are shown in Figures 2 and 3. For all cases, the initial postures of desired trajectory are given in [0 m, 0 m, 0 rad] *<sup>T</sup>*. The trajectory is generated by time-varying velocity vector *νd*, and *νd*(*t*) is given in Table 1. The center of the obstacle is presented in Table 1, and the safe collision-avoidance radii is 1.5 m. The initial postures of dynamic positioning vessel *η*(0) are chosen in Table 1.

**Figure 2.** Trajectory tracking control under four cases (the blue circle denotes obstacle).

**Figure 3.** The distances between dynamic positioning vessel and obstacle under four cases.

**Table 1.** Design simulations.


Figure 2 shows trajectory tracking control under four cases. In all cases, the dynamic positioning vessel overtakes the obstacle on its portside, and it makes a detour around the obstacle. Figure 3 shows the distances between the dynamic positioning vessel and the obstacle. The results show all of the distances are greater than the safe collision-avoidance radii. This explains why there are no safety risks during voyaging: collisions between the dynamic positioning vessel and the obstacle are avoided . To describe the collisionavoidance process, Figure 4 shows the time-varying error function *z<sup>T</sup>* <sup>1</sup> *z*<sup>1</sup> containing the tracking error *z*1. In 0 s–25 s, the tracking error *z*<sup>1</sup> gradually converges to the neighboring zone of zero, and the MAPFs are ineffective. During 25 s–45 s, the dynamic positioning vessel is moving toward the obstacle, and the MAPFs start to work, which leads to the actual operation deviating from the predetermined trajectory. At 45 s–60 s, the dynamic positioning vessel is moving away from the obstacle, the error function *z<sup>T</sup>* <sup>1</sup> *z*<sup>1</sup> decreases continuously, and the dynamic positioning vessel gets back on the predetermined trajectory. At 60 s–100 s, the dynamic positioning vessel keeps a safe distance from the obstacle, and the MAPFs do not work.

**Figure 4.** *z<sup>T</sup>* <sup>1</sup> *z*<sup>1</sup> under four cases.

Figure 5 describes the velocity recovery performance of the observer. At 25 s–60 s, owing to the effect of the MAPFs, the lateral speed and longitudinal speed are changing zigzag. Figure 6 shows that the uncertainty and disturbances can be estimated by the proposed observer, and the estimated initial value is set as zero. Figure 7 shows that the input signals of system are constrained by the input saturation. At 25 s–60 s, , to ensure the safety navigation of the dynamic positioning vessel, the MAPFs work and affect the input signals, which generates terrible twitter and saturated input signals.

**Figure 5.** Velocity estimation.

**Figure 6.** Unknown function and estimation.

**Figure 7.** Control inputs.

#### *6.2. Trajectory Tracking Control with Non-Cooperative Ship*

To show the effectiveness of the collision-avoidance ability of the PC, a non-cooperative ship is considered in trajectory tracking control. The initial position of non-cooperative ship is set as [4 m, −1 m, 0 rad] *<sup>T</sup>*, and the constant velocity non-cooperative ship is set as [0.1 m/s, 0 m/s, 0 rad/s] *<sup>T</sup>*. Figure 8 shows the trajectory-tracking results. At *t* = 10 s, the dynamic positioning vessel tracks the desired signal successfully. The non-cooperative ship comes from port side of the dynamic positioning vessel. At *t* = 50 s, the noncooperative ship takes no actions to avoid collisions, and the dynamic positioning vessel turns to avoid a collision with the non-cooperative ship, which leads to large formation tracking errors. The dynamic positioning vessel overtakes the non-cooperative ship from its starboard. At *t* = 60 s, the dynamic positioning vessel keeps a safe distance between the non-cooperative ship, and tracking trajectory gradually converges to the desired trajectory. The non-cooperative ship is moving out from behind the dynamic positioning vessel. At *t* = 100 s, the dynamic positioning vessel successfully tracks the desired trajectory again. The dynamic positioning vessel moves away from the non-cooperative ship, and the non-cooperative ship sails on the starboard of the dynamic positioning vessel . Figure 9 demonstrates the distance between the dynamic positioning vessel and the non-cooperative ship. Figure 10 depicts the bounded control force and moment. Under the effect of the ADS, the rapid saturation of the input signals is fast convergence.

**Figure 8.** Four moments of trajectory tracking control.

**Figure 9.** The distance between dynamic positioning vessel and non-cooperative ship.

**Figure 10.** Control inputs under non-cooperative ship.

#### *6.3. Comparison Study*

To further appraise the performance of the PC, an output feedback tracking controller (OFC) without an auxiliary dynamic system is given by

$$z\_1 = \eta - \eta\_d - \eta\_o \tag{45}$$

$$z\mathfrak{z} = \hat{\mathfrak{v}} - \bar{\mathfrak{a}},\tag{46}$$

$$\pi\_c = M(-K\_3 z\_2 - \zeta + \aleph - R^T(\psi) z\_1),\tag{47}$$

where the parameters *K*1, *K*2, and *K*<sup>3</sup> are same as the proposed controller, and the parameters and structure of the observer are also the same. In the same environmental interference, a non-cooperative ship is considered in trajectory tracking control. The initial position of the non-cooperative ship is set as [4 m, −1 m, 0 rad] *<sup>T</sup>*, and the constant velocity non-cooperative ship is set as [0.1 m/s, 0 m/s, 0 rad/s] *<sup>T</sup>*. The simulation results are shown as Figures 11–13. Figure 11 shows the four moments of the trajectory-tracking results, and the dynamic positioning vessel takes evasive action under OFC. At *t* = 10 s, the dynamic positioning vessel tracks the desired signal successfully. The non-cooperative ship comes from port side of the dynamic positioning vessel . At *t* = 50 s, the non-cooperative ship takes no actions to avoid collisions, and the dynamic positioning vessel makes turns to avoid collisions. However, at *t* = 60 s, the dynamic positioning vessel overtakes the non-cooperative ship from its portside. However, unlike the PC, the trajectory of the dynamic positioning vessel has a coincidence with the non-cooperative ship navigation curve. At *t* = 100 s, the dynamic positioning vessel moves away from the non-cooperative ship, and the non-cooperative ship sails on the starboard of the dynamic positioning vessel.

**Figure 11.** Four moments of trajectory tracking control under OFC.

Figure 12 shows the time-varying distances between the dynamic positioning vessel and the non-cooperative ship under different controllers. The safe collision-avoidance radii is set to 1.5 m; collisions may happen between the dynamic positioning vessel and non-cooperative ship under OFC. Figure 13 shows that the control inputs suffer from sudden jumps, and the proposed scheme can decrease jitters.

**Figure 12.** The distances between dynamic positioning vessel and non-cooperative ship under different controllers.

**Figure 13.** Input signals under different controllers.

#### **7. Conclusions**

This article suggests an output feedback controller for a dynamic positioning vessel with model uncertainty, unknown environmental disturbances, and input constraints. Static obstacles and unknown non-cooperative ships are also considered. An ESO is given, and unknown model dynamics and velocity are simultaneously estimated. The controller is designed based on the ADS and MAPFs. Finally, a mathematical analysis is undertaken to prove that all of the error signals of the system are bounded. Simulation experiments affirm the tracking performance of the proposed controller. This paper proposes an anticollision controller for the dynamic positioning vessel, and simulations prove that the vessel can avoid the obstacle and navigate itself to the desired trajectory. However, there is no mathematical analysis that shows that the controller can guarantee safety. Finding the best way to solve this problem can be considered as a part of future works.

**Author Contributions:** Conceptualization, G.X.; methodology, B.Z.; software, B.Z.; validation, B.Z.; and writing—review and editing, B.Z. All of the authors have read and agreed to the published version of the manuscript.

**Funding:** This research received no external funding.

**Institutional Review Board Statement:** This article does not contain any studies with human or animal subjects.

**Informed Consent Statement:** The study did not involve humans.

**Data Availability Statement:** The data of this paper are unavailable.

**Conflicts of Interest:** The authors declare no conflict of interest.

## **References**


**Disclaimer/Publisher's Note:** The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.
