# Analytical Synthesis of Regulators for Nonlinear Systems with a Terminal State Method on Examples of Motion Control of a Wheeled Robot and a Vessel.

1. Introduction

Currently, ultimate nonlinear system modes often arise in control problems. In such cases, classical methods based on the linear automatic control theory are unusable. Due to it, more and more attention is being paid to the development and improvement of nonlinear system control methods. We can single out several approaches that gave rise to most nonlinear system control methods. They include methods of solving the inverse mechanics (dynamics) problem ; differential-geometric methods ; and methods based on artificial neural networks  and fuzzy logic . These approaches do not require preliminary linearization in the classical sense. Therefore, there is no need to specify reference modes for the system operation and subsequently pursue a composite control. One of the methods of the first group is a "terminal state method" (TSM) . Both the control objective and the system model are formulated via the "terminal state variables" (TSV) in it. These variables depend on two times (terminal tj and current t) and on the current state x(t).

The TSV sense is the finite state of the uncontrolled system which is at the current moment t in the state x(t). The ability to solve control problems via the TSV is related to its obvious property [bar.x](t, t, x(t)) = x(t), which is valid for any moments t [member of] [[t.sub.0], [t.sub.j]] of the system operation interval. The terminal state method is developed for various types of nonlinear systems: differential systems with smooth right sides; discrete in time and mixed; with state independent variable time delays; multi-index (discrete analogs of the distributed systems). The initial application area of the TSM was terminal problems on a finite time interval. Consecutive application of the TSM at short intervals allows solving adaptive control problems, including problems with reference models. In general, the calculation of TSM control requires significant computational costs. They are associated with the multiple numerical integration of differential equations to evaluate the TSV and nonlinear (according to V.M. Alekseev) transition matrices as functions of the second argument (in the continuous case) or solutions of nonlinear systems of finite type equations (in discrete cases). There are, however, problems in which the control evaluation is performed by sufficiently simple finite type expressions that are easily realized in practice.

The paper is devoted to the questions of practical application of the method under discussion in cases when TSM-control calculations are rather simple. So are the terminal problem of bringing a two-wheeled double-track mobile robot to a given point and the problem of bringing the vessel at a given heading angle. Herewith, it is required to ensure the possibility of pursuing the so-called "strong" vessel maneuvers. These are, for instance, maneuvers with a large angle of deviation of the steering components (in this paper, Azipod).

Two-wheeled two-track robots are employed as amphibious platforms for observation and measurement. For example, a similar robot with crawler is proposed in  to be used, in particular, for monitoring underwater cables.

A mathematical model of a two-wheeled double-track robot is given in paper , and an algorithm for its terminal control based on the TSM is constructed in . Because of the robot mathematical model specificity, obtained algorithm is a set of algebraic relations. Control was implemented on real equipment--programmable robot Sparki by ArcBotics. It showed the algorithm efficiency in conditions when discrete time step in the control calculation is not less than 0.1s. Such step, combined with the algorithm relative complexity and the need to evaluate robot current position by the numbering method using its mathematical model, prompts the use of controls calculated at discrete moments . Herewith, the current state can be calculated with a small step, and the control with a large step.

The second problem being solved is a part of a larger problem, which is to develop a crew-free operation mode for a small-sized robotic research vessel designed for environmental monitoring of the marine coastal area. In this case, a version of TSM with stabilizing (tracking) type criterion was used. To keep the vessel on a previously specified route, it is necessary to control it in automatic mode so that in case of deviation from the route the vessel returns to the route. In this case, there may be situations (sudden obstacle avoidance, moving in narrow areas, etc.) when the vessel maneuver is performed at a large rudder angle or Azimuthing Electric Propulsion Drive (Azipod) rotation. Then vessel dynamics becomes nonlinear and therefore the appropriate control methods should be applied. In navigation such vessel maneuvers are called "strong".

The specifics of the problem to keep the vessel on a route and the vessel mathematical model limit the range of possible control methods appropriate for obtaining a solution. In particular, it refers to the nonlinear vessel model we have obtained . To solve the problem of vessel control during "strong" maneuvers, when model linearization is difficult, it is proposed, for example, to use methods [12, 13]. The essence of these inventions is the following. Firstly, control is pursued according to information from satellites and onboard measuring devices. Secondly, it is calculated with the use of "engineering" control signals generating methods, i.e., intuitively understandable algorithms that do not require vessel mathematical model using. Thus, for example, rudder deflection angle is calculated by numerical integration of the following differential equation :

d[delta]/dt = [k.sub.1] (K - K*) + [k.sub.2] [omega] - [k.sub.3] [omega], (1)

where [delta], K, K*, w are, respectively, rudder angle, current course, given course, angular velocity of the ship's rotation around the center of mass; [k.sub.1], [k.sub.2], [k.sub.3] are undetermined coefficients.

For bow maneuvering devices, it is proposed to use additionally the algorithm in the form ofdifferential equation relative to the transverse control force :

dP/dt = [k.sub.1][beta] + [k.sub.2] [integral] [beta] dt - [k.sub.3] P. (2)

Herewith algorithms of calculating anticipatory points are used. From these points precalculated program controls are pursued to turn the vessel to a new course. Conditions of the stabilization along a given course K* mode reverse activation are used as well.

A common drawback of these methods, as well as others based on the use of linear feedbackfrom the state coordinates [14, 15], is that they contain indeterminate coefficients that are unknown in advance and may depend on the operating conditions. To adapt to the operation conditions, principles of adaptive and intelligent control are used [16,17]. To a lesser extent, such drawbacks are inherent in methods based on the use of control object mathematical models [18,19].

Often during the nonlinear system synthesis, methods of solving the inverse dynamics problem are used. These include, in particular, the input-output linearization method [1, 2], Batenko's method , and the terminal state method (TSM) . Method [1, 2] is developed for solving the stabilization or tracking problems and is suitable for keeping the vessel on a given route. The other two methods [3, 4] are terminal; i.e., they are designed to bring the system to a specified state at a given time. Their application to the vessel track-keeping control is possible when the system operation time is divided into small intervals, and then the terminal method is applied on each of these small intervals.

2. Terminal State Method

2.1. Terminal State Method for Terminal Differential Systems. Terminal state method was developed to solve terminal control problems for nonlinear affine systems in the form of (3) with smooth criterion functions and dynamic constraints of various kinds (differential, delay differential, finite difference, etc.).

For differential systems with smooth constraints, criterion problem is formulated according to (3), (4).

[mathematical expression not reproducible] (3)

[mathematical expression not reproducible] (4)

According to this method, control (TSM control) is calculated by the following expressions:

[mathematical expression not reproducible] (5)

where [f.sub.j] is the right side of the differential equation dj/dt = (j* -J)/[T.sub.u], defining a criterion function exponential approximation with time constant [T.sub.u] to the desired value J*, which occurs at a sufficiently small value of [T.sub.u] << [t.sub.j]. Criterion function J([bar.z](tf, t, z(t))) is a function of time t. Other forms for the criterion function curve maybe specified. Thus, with a variable during a period [T.sub.u] = [t.sub.f] -t shape of the line, along which the criterion function converges to J*, is no longer an exponent, but a straight line.

Obtained controls may be constrained by amplitude limitations, if necessary. Such constraints in the active state affect deviation from the given (e.g., exponential) form of the criterion function. At the same time, control goal--to achieve a given terminal state--is commonly accomplished. Sometimes, for the process of control to be sustainable, artificial imposition of restrictions is preferable.

In (5), terminal state variables (TSV) [bar.z] and nonlinear transition matrix according to V.M. Alekseev (TM) W are used. They are defined by a joint system of differential equations :

[mathematical expression not reproducible] (5)

where I is identity matrix.

It is important to realize that for calculations in (5), TSV and TM are required as functions of the second argument t, and they are defined as functions of the first argument [??] for each of the t values by (6).

2.2. Terminal State Method for Differential System Stabilization Tasks. For stabilization problems, the algorithm formed from (5), (6) is used at each of the short time intervals [t.sub.i+1] - [t.sub.i] = h = const.

Then the criterion transforms to

J = J(s[([t.sub.i+1])) = J([bar.z]([t.sub.i+1], [t.sub.i+1,z]([t.sub.i+1]))) [right arrow] J*, (7)

and instead of (6), simplified expressions obtained by linearizing (6) are used:

[mathematical expression not reproducible] (8)

3. Model Formulation

3.1. A Mathematical Model of a Two-Wheeled Double-Track Mobile Robot. The robot model excluding the wheel drives dynamics description, i.e., its kinematic model, has the following form :

[mathematical expression not reproducible] (9)

where [x.sub.1], [x.sub.2] are linear movements of the robot along the coordinate axes; [D.sub.w] is the diameter of the first and second wheels; [w.sub.1], [w.sub.2] are the first and second wheels angular speeds of rotation (control actions); [L.sub.r] is the distance between wheels.

The kinematic model defined by (9) actually coincides with the model from . The only difference between the models is that control actions in (9) have the form of robot wheels angular velocities, and in  the form of robot wheels linear velocities [V.sub.L], [V.sub.R]. Replacing linear velocities with expressions [V.sub.L] = ([D.sub.w]/2)[w.sub.1], [V.sub.R] = ([D.sub.w]/2)[w.sub.2] makes the model from  coincide with (9).

First of all, it should be noted that models of this type take place in the case of using stepper driving motors, as well as when using crawler propulsions.

Some features of this model are as follows: the right sides of its differential equations are independent from the state vector; controls [w.sub.1], [w.sub.2] are included linearly in the right sides with state dependent coefficients. The latter feature allows us to classify this model as affine (see below).

3.2. A Mathematical Model of a Vessel

3.2.1. A Mathematical Model of a Vessel for Integrating Drives. Mathematical model was obtained in  by the methods described in [21-24] assuming that the Azipod drives are of integrating type. In accordance with the problem formulation, vessel is controlled by rotating two Azipod units at the same angle [delta] with given thrusts equal on both units: Tv1, Tv2, i.e., Tv1 = Tv2 = Tv.

Mathematical model has the form of (4), where the vessel state vector consists of seven components:

z = colon ([V.sub.x], [V.sub.y], w, [x.sub.1], [y.sub.1], K, [delta]). (10)

Herewith, [delta], K, w are, respectively, Azipod rotation angle, heading angle, vessel angular velocity relative to its center of mass; [V.sub.x], [V.sub.y], [x.sub.1], [x.sub.2] are, respectively, speeds and positions of the vessel center of mass along its longitudinal and transverse axes. The seventh component [delta] [equivalent to] [z.sub.7] that is a control action essentially, is included in vessel model equations not additively (see below). To transform the system to an affine form, its state vector is extended by one component [z.sub.7] [equivalent to] [delta] with a differential equation for the new state:

d[delta]/dt = u (11)

where u is the new control action. Equation (11) describes a drive of integrating type. The transformed system of the seventh order, in accordance with the form (4) and extended state vector, has the following components.

[mathematical expression not reproducible] (12)

[mathematical expression not reproducible] (13)

State functions V, [R.sub.x], [R.sub.y], [M.sub.K], [M.sub.D], [beta] are defined in terms of variables z by the expressions :

[mathematical expression not reproducible] (14)

[R.sub.x] (V, [z.sub.1], [z.sub.2]) = 2000 x [R.sub.K] x V x cos [beta], (15)

[R.sub.y] (V, [z.sub.1], [z.sub.2]) = 2000 x [R.sub.K] x V x sin [beta], (16)

[R.sub.K] (V) = 8,1 - 8,436 x V + 2,536 x [V.sup.2], (17)

[mathematical expression not reproducible] (18)

[M.sub.D] (V,[z.sub.3] = -0,148 [rho]/2 V x 24,092 x [L.sup.2] [z.sub.3]. (19)

In (12)-(19), V is the vessel resulting speed in the coordinate system associated with the vessel; [R.sub.x], [R.sub.y] are the vessel resistance forces in the longitudinal and transverse directions considering the two catamaran hulls and conversion of the force dimension from kilonewtons to newtons; [R.sub.K] is approximated by the polynomial vessel resistance in kilonewtons dependent on the speed V (in m * [s.sup.-1]), obtained by simulating vessel in the OpenFOAM software; L is the vessel length in meters; [m.sub.x], [m.sub.y] are the vessel weights, taking into account water added masses in longitudinal and transverse movements; [rho] = 1025 kg x [m.sup.-3] is the sea water density.

Masses and moment of inertia from (12) are determined by the relations :

[mathematical expression not reproducible] (20)

where [J.sub.z] is the moment of inertia of the vessel; D is the weight draught (mass) of the vessel in kilograms. Coefficients of the added masses and moment are selected from the following ranges: [k.sub.11] = 0.05 / 0.15; [k.sub.22] = 0.7 / 1.2; [k.sub.66] = 0.6 / 1.3. For the considered vessel of small tonnage D = 1 55000 kg, the lower bounds of the mentioned coefficients were taken.

3.2.2. A Mathematical Model of a Vessel Considering Drives Inertance. To obtain control formula considering Azipod drives dynamics instead of (11), we should use the following drive dynamics equation in the form of first order inertial link of (4):

[dz.sub.7]/dt = 1/[T.sub.[delta] [z.sub.7] + [k.sub.[delta]]/[T.sub.[delta]] v (21)

with a coefficient [k.sub.[delta]], time constant [T.sub.[delta]], and a control action v.

Equating right sides of (21) with the control u for the case when drives dynamics is not taken into account, results in

- 1/[T.sub.[delta]] [z.sub.7] + [k.sub.[delta]]/[T.sub.[delta]] v = u. (22)

Subsequently we obtain expression demonstrating dependence between the controls with and without assumption of the drive dynamics:

v = 1/[k.sub.[delta]] [z.sub.7] + [T.sub.[delta]/k[delta]] u. (23)

4. Terminal State Method Applications

4.1. Robot Control. A. Isidori's linearizing by input/output method  in Wei Wu's modification  and TSM  were used in  to bring robot to a given point at a given time. Because of the specificity of the model described by (4), both methods led to the same algorithm:

[mathematical expression not reproducible] (24)

where J (t) [equivalent to] J(z(t)) is the criterion function that defines desired exponential trajectory with a time constant [T.sub.u]. Differential equation for this function is the following:

dJ (t)/dt = J* - J(t)/[T.sub.u]. (25)

(24), (25) result from (5), (6) and the fact that TM W in this case is identity matrix on the entire period of the system's operation, since the uncontrolled system vector O is equal to zero according to (9).

In (24) state variables z = {[z.sub.i]}, i = 1,, n and control variables u = {[u.sub.j]}, j = 1,..., r, are redefined according to

[mathematical expression not reproducible] (26)

For the criterion function, the following quadratic form is used:

[mathematical expression not reproducible] (27)

where z* = colan ([x.sup.*.sub.1], [x.sup.*.sub.2], w*) are the desired values of the robot coordinates at the finite time [t.sub.f].

The sense of criterion by (27) is that when the current state z(t) converges to a given point z2, the value of the criterion function tends to the given value J*, which must obviously be equal to zero. This target may be unattainable by the control (24) that results in deviation of the actual behavior by (27) from the desired trajectory (25). The main reason for unattainability is that the scalar GGT nulls at some points or intervals of the time axis. Obviously, this fact causes unattainability, as control target does not meet the way it is being achieved along the trajectory according to (25). Another possible reason for the deviation of the actual trajectory from the given one is the amplitude constraints on the control actions that cannot be taken into account in the methods used. Thus, rotational speeds of the robot wheels are limited in amplitude by the [w.sub.m] value:

[mathematical expression not reproducible]. (28)

The output of the controls evaluated by (24) with constraints by (28) also distorts the form of the criterion function defined by (25). But still the criterion function decreases, converging to some minimally attainable value J*. Herewith attained value J* determines the accuracy of bringing state vector components to given values.

System of (9) is a nonlinear affine system of (4) with two control actions [w.sub.1], [w.sub.2], where [PHI] is zero vector, and the components of the matrix B = {[B.sub.ij]}, i = 1,2,3, j = 1,2, are the following:

[mathematical expression not reproducible]

In , the results of Mathcad modeling of the system of (9) with control by (24), criterion by (27), and amplitude constraints by (28) are applied to the ArcBotics Sparki robot with the following parameters: [D.sub.w] = 0,05 m; [L.sub.r] = 0.085 m; [F.sub.1] = 10; [F.sub.2] = 0; [F.sub.3] = 1; [x.sup.*.sub.1] = 0.6 m; [x.sup.*.sub.2] = 0.3 m; [x.sup.*3 ]= 0.8 m; [w.sub.m] = 1.5[s.sup.-1]; h = 0.1s; Tu = 0.01s; [t.sub.f] = 40 s.

The same algorithm is implemented in the onboard C++ version of a real robot. As follows from the kinematic scheme, which is the basis for (9), there is a nonlinear dependence between the states of the system of (9).

tg ([z.sub.3]) = [z.sub.2]/[z.sub.1] (30)

Consequently, equations (9) are dependent. It means that during control by (24) implementation, specified values can be reached simultaneously for a pair of variables [x.sub.1], [phi]([z.sub.1], [z.sub.3]) or for a pair [x.sub.2], [phi]([z.sub.2], [z.sub.3]). As for the pair [x.sub.1], [x.sub.2] ([z.sub.1], [z.sub.2]), this target is generally unattainable.

This is clear from (9) with other control actions:

[v.sub.1] = [w.sub.1] + [w.sub.2]/2, (31)

The resulting system is

[mathematical expression not reproducible] (32)

From (32) it is clear that control [v.sub.2] affects only [z.sub.3], and control [v.sub.1] affects simultaneously [z.sub.1] and [z.sub.2]. If a certain value of [z.sub.3] is reached at a selected value [v.sub.2], then [v.sub.1] may be chosen for the known [z.sub.3], providing either a given [z.sub.1] or given [z.sub.2]. A pair of variables [z.sub.1], [z.sub.2] can simultaneously reach specified values [x.sup.*.sub.1] and [x.sup.*.sub.2] only if those values are agreed.

However, it is more interesting to bring the robot to a given point [z.sup.1], [z.sup.2] at a given time from a practical point of view. Therefore, it is necessary to obtain a robot control variant, which takes (30) into account.

For this purpose, the control problem should be modified by assigning the other criterion function instead of (27).

[mathematical expression not reproducible] (33)

This function reflects the following control objective: bringing the coordinate [z.sub.1] to a value [x.sup.*.sub.1], and the coordinate [phi] [equivalent to] [z.sub.3] to such a value that will provide a value [x.sup.*.sub.2] according to (30). As movement trajectory of the robot is curvilinear, at each current moment the angle of convergence to the target is variable and is reckoned from the attained state. This explains the use of the differences under the sign of arctangent in (33). Algorithm (24) modification for the case of transforms to new expressions for J(z(t)) (33) instead of (27) and for the vector components:

[mathematical expression not reproducible] (34)

The latter are now much more complicated than in the case of criterion in the form of (27). This may be especially critical when implementing on the onboard robot controller, whose software does not include inverse trigonometric functions. Expressions for the components have the following form (we omit argument t for the sake of brevity):

[mathematical expression not reproducible] (35)

[mathematical expression not reproducible] (36)

[mathematical expression not reproducible] (37)

Control by (24) with criterion by (33) was verified by Mathcad modeling, in particular, for the case of [x.sup.*.sub.1] = 1.5 m, [x.sup.*.sub.2] = 0.8m, [t.sub.f] = 60s, integration step h = 0.001s, F1 = 10, F3 = 1. The specified point is reached with a sufficiently high accuracy (1.488m versus 1.5m for [x.sub.1], and 0.784m versus 0.8 m for [x.sub.2]). In other tried cases, the accuracy is approximately the same. Figures 1-3 showtime dependencies graphs of coordinates and trajectory of the robot.

Figures 4 and 5 show time dependencies graphs of the robot control actions.

4.2. Vessel Motion Control

4.2.1. Heading Angle Control by Simultaneous Rotation of Two Azipod Units at the Same Angle. For the denoted problem, criterion by (3) is specified in the form:

[mathematical expression not reproducible]. (38)

It should be noted that we had to add a term containing [z.sub.7] (Azipod rotation angle) to the criterion by (38), because without this term the TSM control cannot be obtained.

The matrices from the system of (4) have the form of (12), (13). Applying (5), (6) to this case, we obtain the following:

[mathematical expression not reproducible] (39)

where

[mathematical expression not reproducible] (40)

For the case when the drive (integrating) inertia is not taken into account, we have

[mathematical expression not reproducible] (41)

Herewith, according to (23),

[mathematical expression not reproducible] (42)

where [[PHI].sub.7] = 0 and [W.sub.77] = 1.

The expression for the pseudoinverse matrix is the following:

[mathematical expression not reproducible] (43)

and the expression for TSV is

[mathematical expression not reproducible] (44)

As a result, we obtain the following expression for the control action at the integrating drive input:

[mathematical expression not reproducible] (45)

where [z.sub.i] [equivalent to] [z.sub.i](t) are the state variables. Weights and parameter [T.sub.u] are chosen depending on the goals of the system.

In the algorithm of (45), h is the integration step of the differential equations; [F.sub.6], [F.sub.7] are the weight coefficients, and [F.sub.7] << [F.sub.6] so that the control target (bringing the vessel path [z.sub.6] to a given value z*) is not distorted. Since the value of Azipod rotation angle is not of interest, [z.sup.*.sub.7] can actually have any value. However, during the modeling process it was revealed that the algorithm stability depends on [F.sup.7] and [z.sup.*.sub.7] values. The values for which algorithm of (45) stable operation is achieved in a wide range of operating conditions are [F.sub.7] = 0,01 and [z.sub.*.sup.7] = 0,01 * sign [K.sup.*]. Because of the small value of the weight coefficient [F.sub.7], criterion by (38) in case of J* =0 displays approximately the mentioned initial control target. To prevent the division by zero in (45), a small number [epsilon] can be added to the denominator. A control amplitude limit can be set for this purpose as well.

Control by (23), where u is substituted by (45), leads to a given Azipod rotation angle in case of drive dynamics being considered.

4.2.2. Angular Velocity and Heading Angle Control by Simultaneous Rotation of Two Azipod Units to the Same Angle. In contrast to the problem solved in the previous paragraph, now let us set the problem of controlling the vessel course by means of an implicit criterion:

J = [z.sub.3] (*) [right arrow] [z.sup.*.sub.3] (0, (46)

where [z.sup.*.sub.3] (t) = [w.sup.*](t) is the specified behavior of the angular velocity. From the sixth equation of the system of (4), (12) for the heading angle [dz.sub.6]/dt = [z.sub.3], at a constant angular velocity [z.sup.*.sub.3](t) = w* const = z* [equivalent to] w*,it follows that

[mathematical expression not reproducible] (47)

The second expression of (47) determines the moment t* when the vessel reaches the given route [z.sup.*.sub.6]. Therefore, the time-varying master control [z.sup.*.sub.3](t) is evaluated using a conditional expression written in the third line of (47) according to the rule: if the condition t < t* is true, then [z.sup.*.sub.3] (t) = [w.sup.*]; otherwise z*(t) = 0.

To evaluate the control, we apply (5), (6) and get

[mathematical expression not reproducible] (48)

In accordance with (8) and taking into account the definition of [[PHI].sub.3] from (12):

[mathematical expression not reproducible] (49)

the element [W.sub.37] of transition matrix W is evaluated by the following expression:

[mathematical expression not reproducible] (50)

Then, for [mathematical expression not reproducible], we get the following expression for control:

[mathematical expression not reproducible] (51)

Simulation showed that, in any case, for the vessel in question, instead of the latter formula, the simplified one can be used. This follows from the fact that 03 (angular acceleration) has sufficiently small value and from the second relation of (51):

[mathematical expression not reproducible] (52)

In (51), (52) h is a time step of the control values calculation; [T.sub.u] is a given time constant of the exponential motion of a variable [[bar.z].sub.3] (t) to a given value [z.sup.*.sub.3] according to the equation:

d[bar.z].sub.3]/dt = [z.sup.*.sub.3] - [[bar.z].sub.3]/[T.sub.u] (53

Control by (23), where u is substituted by (51) or (52), depending on used control (original or simplified), will result in a given Azipod rotation angle in case of drive dynamics being considered.

Thus, two algorithms for bringing the vessel to a given course were obtained: by means of control by (45) and by means of controls by (47)-(50), (51) or controls by (47)-(50), (52). The first approach is simpler in terms of the amount of calculations. Still it has low accuracy because its criterion in the form of (38) reflects an artificial target--bringing to the given values both the course and Azipod rotation angle. The second approach is more difficult to implement, but its target in the form of criterion by (46) and (47) is exactly the attainment of the given course [K.sup.*] [equivalent to] [z.sup.*].

To achieve both simplicity and accuracy of computations, a composite algorithm is offered. This algorithm includes a "strong" maneuver through the control by (45). A "slight" maneuver for static error compensation is included through the control by (50), (52). In the latter case transition function [W.sub.37] is calculated by the simplified formula for small Azipod rotation angles, when cos([z.sub.7]) [equivalent to] 1.

[W.sub.37] (t,z) = h x L x Tv/[J.sub.w] (54)

Applying composite algorithm makes sense in the case of using onboard controllers, intended to perform simple computational operations. This is of course not typical for the catamaran vessel in question. It is more relevant to ordinary small vessels intended for everyday purposes, for example, for cleaning leaves and relatively large debris from the water surface.

Simulation results in the form of the time t dependence of the vessel model coordinates are obtained by Mathcad modeling. The results are obtained for the model defined by (4), (12)-(19) with correction by (21) using the control by (47), (50), (52) for the given values w* (constant angular velocity of the vessel rotation towards the given course) and [z.sup.*.sub.6] (the given heading angle). Calculations were made for the following vessel and control algorithm parameters: D = 155000 kg; [mathematical expression not reproducible].

It is possible to regulate both trajectory and time of bringing the vessel to the specified course by choosing parameters [z.sup.*.sub.3], [z.sup.*.sub.6], [T.sub.u].

Figures 6 and 7 show the vessel trajectory and heading angle during the maneuver for the case of [z.sup.*.sub.3] = 0.005 rad x [s.sup.- 1], [s.sup.-1], [z.sup.*.sub.6] 3.14rad, corresponding to a relatively slow vessel rotation towards the return course.

Figures 8 and 9 show the vessel trajectory and heading angle during the maneuver for the case of [z.sup.*.sub.3] = 0.005 rad x [s.sup.- 1] and [z.sup.*.sub.3] = 0.05 rad x [s.sup.-1], corresponding to a slowed and accelerated vessel rotation at a given heading angle of 57.3 degrees ([z.sup.*.sub.6] = 1 rad).

A certain influence on the trajectory is also provided by the value of the free parameter [T.sub.u], on which transient period for angular velocity depends. Figure 9 shows how by increasing parameter [T.sub.u] by a factor of twenty, a smoother vessel turn trajectory can be attained (compare with the trajectory in Figure 6 for [T.sub.u] = 0.1 s).

Graphs shown in Figures 6-13 illustrate how the free parameters [z.sup.*.sub.3] (vessel angular velocity), [z.sup.*.sub.6] (specified heading angle), and [T.sub.u] (speed parameter) affect the shape of the vessel trajectory.

We note that in all the cases presented, the control error is close to zero (in the simulation, the first significant digit is in fourth place after the decimal point). By control error, we mean the difference between specified and attained values of the course.

Graphs in Figures 14 and 15 show the results of vessel motion simulation under the influence of composite control by (45), (52), (54).

Simulation was performed for two consecutive time intervals with a duration of 500 s. During the first time interval, the vessel was controlled by algorithm of (45) with all zero initial conditions except speed [V.sub.x](0) = 4 m x [s.sup.-1]. During the second time interval, the vessel was controlled by algorithm of (47), (52), (54). The initial conditions for the second interval were the values of all coordinates at the end of the first interval, except for z7(0) = 0. From a technical point of view, this means that Azipod should be brought to the zero (neutral) position at the beginning of second interval. This peculiarity of composite control is connected with the fact that the algorithm of (47), (52), (54) does not contain a feedback from [z.sub.7]. Therefore, the nonzero initial condition of this coordinate is ignored by the control algorithm. If the initial condition [z.sub.7](0) for the second interval is nonzero, an uncompensated static error is formed at the end of the process.

As can be seen from the graphs of Figures 14 and 15, vessel reached the heading angle of 3.051 radians under the influence of control by (45). Then the vessel made a turn of 3.14 radians to the set course under the influence of control by (52), (54). Herewith, the actual time of the turn is very short--it is about one minute (more precisely, 1193 steps with a duration of 0.05 seconds, that is, 59.65 seconds).

It is important to note that the control by (47), (52), (54) explicitly depends on the mass-dimensional and propulsion parameters of the vessel, as well as on parameters h, Tu, z* = w* affecting the shape of the vessel track to the given course. This fact makes it possible to eliminate the problem of smoothing the trajectory (calculating anticipatory points, etc., proposed in ).

It should be noted that the results concerning vessel control adduced in this paper represent development of methods and algorithms published in , regarding a definite implementation of the composite algorithm and refinement of the methods of analytical synthesis of controls as well. A Mathcad program code simulating the vessel motion with a model in the form of (12)-(19) and control by (52) is given in the mentioned paper. This program is easy to modify with (23) and composite control by (45), (52), (54) for the case of the Azipod inertial drive.

5. Conclusion

The practical aspects of using the author's nonlinear systems control method--terminal state method (TSM)--are discussed in the paper. Expressions for control calculating according to TSM with respect to terminal and stabilization (tracking) problems are presented. A special feature of the method is the use of terminal state variables (TSV), whose sense is the forecast of uncontrolled system final state, dependent on the current time and current state. Two examples of the method application are provided. The first one is a terminal state control of a two-wheeled double-track mobile robot. The second one is a control of the course of a small-capacity vessel-catamaran with Azipods during the "strong" maneuvers performing, i.e., maneuvers at large rudder angles. Two TSM algorithms are proposed for the course control. The first one is based on a quadratic criterion for deviations from a given course. The second one is based on the criterion for tracking the vessel angular velocity in relation to its center of mass. The first algorithm is proven to be simpler from a computational point of view, but gives a noticeable static error. The second algorithm is more complicated but has a zero static error. A composite algorithm, consisting of a consecutive implementation of the first and second algorithms, combines the advantages of both algorithms. Mathematical models of two control objects and expressions for control are presented. A routine of obtaining expressions for control actions is described. Results of computer simulation in the form of graphs of time dependencies for robot and vessel current coordinates, their trajectories, and robot control actions are shown.

https://doi.org/10.1155/2018/4868791

Data Availability

The Mathcad program data used to support the findings of this study are included within the article.

Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of this paper.

Funding

The studies were pursued with the state financial support of the Ministry of education and science of Russia (unique project ID RFMEFI57817X0259).

References

 A. Isidori, Nonlinear Control Systems, Springer, New York, NY, USA, 3rd edition, 1995.

 W. Wu, "Lyapunov-based design procedures for a state-delay chemical process," in Proceedings of the 14th World Congress of IFAC, pp. 127-132,1999.

 A. P. Batenko, "Sistemy terminalnogo upravleniya" (Russian), System terminal control, M.: Radio i svyaz, pp. 160,1984.

 E. A. Shushlyapin, "Upravlenie nelinejnymi sistemami na osnove prognoza konechnogo sostoyaniya neupravlyaemogo dvizheniya" (Russian), Control of nonlinear systems based on the forecast end-state unmanaged traffic, Sevastopol, SevNTU, pp. 282, 2012.

 "Metody klassicheskoj i sovremennoj teorii avtomaticheskogo upravleniya: Uchebnik v 5-ti tt.; T.5: Metody sovremennoj teorii avtomaticheskogo upravleniya [Methods of classical and modern automatic control theory," in Methods of modern theory of automatic control]. Edited, vol. 5 of Methods of modern theory of automatic control, p. 784, Izdatelstvo MGTU im. N.EH. Baumana, 2004.

 T. Xu, X. Liu, and X. Yang, "A novel approach for ship trajectory online prediction using bp neural network algorithm," Advances in Information Sciences and Service Sciences, vol. 4, no. 11, 2012.

 N. A. Sedova, "The formation of linguistic variables for task navigation," in Operation of Mar-itime transport, vol. 72, pp. 19-23, Gosudarstvennyj morskoj universitet im, Admirala F.F. Ushakova, Novorossijsk, 2013.

 M. She and L. Tian, "A novel path control algorithm for networked underwater robot," Journal of Robotics, vol. 2018, Article ID 1520981, 7 pages, 2018.

 E. A. Shushlyapin and A. E. Bezuglaya, "Control of two-wheeled platform-the carrier of measur-ing instruments," in Environmental control systems, vol. 23, Institute of natural and technical systems, Sebastopol, California, Calif, USA, 2016.

 A. A. Afonina, A. E. Bezuglaya, E. A. Shushlyapin, and O. G. Podolskaya, "Control two-wheeled robot discrete finite state metod," Naukai mir: Mezhdu-nar.nauchn.zhurnal,vol. 4, no. 32, pp. 28-36, 2016 (Russian).

 E. A. Shushlyapin, V. A. Karapet'yan, A. A. Afonina, and I. Y. Filler, "The problem of unmanned naviga-tion and the mathematical model of the research vessel Pioneer-M," in Proceedings of the Robotics and artificial intelligence: materials of the VIII all-Russian scientific-technical conference with international participation, pp. 117-122, BIK SFU, Krasnoyarsk, Russia, 2016 (Russian).

 Sposob avtomaticheskogo upravleniya dvizheniem sudna [Method of automatic control of ship motion]: pat. 2465169 Russia: MPK V63N 25/04. M.H. Dorri, G.E. Ostretsov, A.A. Roshchin; Uchrezhdenie Ros-sijskoj akademii nauk Institut problem upravleniya im. V.A. Trapeznikova RAN. [Institution of Russian Academy of Sciences Institute of problems of management. V. A. Trapeznikov Academy of Sciences (Russia)]. No. 2011115525/11; zayavl., Byul. No. 30. - 9p, 2012.

 G. E. Ostretsov, L. M. Klyach-ko, and S. G. Pamuhin, A method of controlling movement of a vessel along a predetermined path, Institution of Russian Academy of Sciences Institute of problems of management. V. A. Trapeznikov Academy of Sciences, 2011.

 A. P. Aguiar and A. M. Pascoal, "Dynamic positioning and waypoint tracking of underactuated AUVs in the presence of ocean currents," in Proceedings of the 41st IEEE Conference on Decision and Control, pp. 2105-2110, 2002.

 Y. Zhao, H. Huang, and Y. Zhuang, "The heading control of POD-driven ship using adaptive integra-tor backstepping," in Proceedings of the Proceed-ings of the 5th Interna-tional Conference on Electrical Engineering and Automatic Control, B. Huang and Y. Yao, Eds., vol. 367 of Lecture Notes in Electrical Engineering, pp. 173-179, Springer Berlin Heidelberg, 2016.

 D. Ayedi, M. Boujelben, and C. Rekik, "Hybrid type-2 fuzzysliding mode controller for navigation of mobile robot in an environment containing a dynamic target," Journal of Robotics, vol. 2018, Article ID 8421848, 10 pages, 2018.

 A. Witkowska and R. Smierzchalski, "Designing a ship course controller by applying the adaptive backstepping method," International Journal of Applied Mathematics and Computer Science, vol. 22, no. 4, pp. 985-997, 2012.

 S. Sutulo, L. Moreira, and C. Guedes Soares, "Mathematical models for ship path prediction in manoeuvring simulation systems," Ocean Engineering, vol. 29, no. 1, pp. 1-19, 2001.

 Y. Yoshimura, "Mathematical Model for Manoeuvring Ship Motion (MMG Model)," in Proceedings of the Workshop on Mathemati-cal Models for Operations involving Ship-Ship Interaction, pp. 2-6, 2005.

 V. M. Alekseev, "On one estimate pertur-bations of ordinary differential equations," Vestn. Moskov. un-ta. Ser.1. Matematika, mekhanika, no. 2, pp. 28-36,1961 (Russian).

 "Handbook of ship theory: In three vol-umes," in The controllability of the displacement vessels. Hydrodynamics of vessels with dynamic principles of maintenance, vol. 3, p. 544,1985, L: Sudostroenie.

 L. L. Vagushchenko and N. N. Tsymbal, "System of automatic control of ship motion" (Russian), M.: TransLit, pp. 376, 2007

 R. Bhattacharyya, Dynamics of Marine Vehicles, John Wiley and Sons, Inc, 1978.

 I. R. McCallum, "A ship steering mathematical model for all manoeuvring regimes," AVIMAR, p. 21,1985.

 E. A. Shushlyapin, V. A. Karapetyan, A. E. Bezuglaya, and A. A. Afonina, "Nonlinear regulators for deduction of the vessel on the set trajectory at "strong" maneuvers," SPIIRAS Proceedings, vol. 4, no. 53, pp. 178-200, 2017 (Russian).

E. A. Shushlyapin [ID] and A. E. Bezuglaya [ID]

The Institute of Information Technology and Systems and Control Engineering,

Federal State Autonomous Educational Institution of Higher Education <<Sevastopol State University>>, Sevastopol 299053, Russia

Correspondence should be addressed to E. A. Shushlyapin; 6u6@bk.ru

Received 13 August 2018; Accepted 29 November 2018; Published 19 December 2018

Caption: Figure 1: Time dependence of the robot left wheel coordinate.

Caption: Figure 2: Time dependence of the robot right wheel coordinate.

Caption: Figure 3: Robot trajectory.

Caption: Figure 4: Time dependence of the robot left wheel angular velocity (control action).

Caption: Figure 5: Time dependence of the robot right wheel angular velocity (control action).

Caption: Figure 6: Vessel trajectory during rotation towards the return course for [z.sup.*.sub.3] = 0.005 rad x [s.sup.-1], [z.sup.*.sub.6] =3.14 rad.

Caption: Figure 7: Time dependence of the vessel heading angle during rotation towards the return course for [z.sup.*.sub.3] = 0.005 rad x [s.sup.-1], [z.sup.*.sub.6] = 3.14 rad.

Caption: Figure 8: Vessel trajectory during slowed rotation at a given heading angle of 573 degrees for values [z.sup.*.sub.3] = 0.005 rad x [s.sup.-1], [z.sup.*.sub.6] = 1 rad.

Caption: Figure 9: Time dependence of the vessel heading angle during slowed rotation at a given heading angle of 57.3 degrees for values z.sup.*.sub.3] = 0.005 rad x [s.sup.-1], [z.sup.*.sub.6] = 1 rad.

Caption: Figure 10: Vessel trajectory during accelerated rotation at a given heading angle of 57.3 degrees for values [z.sup.*.sub.3] = 0.05 rad x [s.sup.- 1], [z.sup.*.sub.6] = 1 rad.

Caption: Figure 11: Time dependence of the vessel heading angle during accelerated rotation at a given heading angle of 57.3 degrees for values [z.sup.*.sub.3] = 0.05 rad x [s.sup.-1], [z.sup.*.sub.6] = 1 rad.

Caption: Figure 12: Vessel trajectory during rotation towards the return course for values [z.sup.*.sub.3] = 0.005 rad * [s.sup.-1], [z.sup.*.sub.6] =3.14 rad; [T.sub.u] = 2s.

Caption: Figure 13: Time dependence of the heading angle during rotation towards the return course for values [z.sup.*.sub.3] = 0.005 rad x [s.sup.-1], [z.sup.*.sub.6] = 3.14 rad; [T.sub.u] = 2s.

Caption: Figure 14: Vessel trajectory during rotation towards the return course for values [z.sup.*.sub.3] = 0.005 rad x [s.sup.-1], [z.sup.*.sub.6] = 3.4 rad-; [T.sub.u] = 0.1s, [F.sub.6] = 10, [F.sub.7] = 0.01, [z.sup.*.sub.7] = 0.01 sign ([z.sup.*.sub.6]).

Caption: Figure 15: Time dependence of the heading angle during rotation towards the return course for values [z.sup.*.sub.3] = 0.005 rad x [s.sup.-1], [z.sup.*.sub.6] = 3.4 rad; [T.sub.u] = 0.1 s, [F.sub.6] = 10, [F.sub.7] = 0.01, [z.sup.*.sub.7] = 0.01 x sign([z.sup.*.sub.6]).
Title Annotation: Printer friendly Cite/link Email Feedback Research Article Shushlyapin, E.A.; Bezuglaya, A.E. Journal of Applied Mathematics Report Jan 1, 2018 7387 Erratum to "Bridging the Gap between Economic Modelling and Simulation: A Simple Dynamic Aggregate Demand-Aggregate Supply Model with Matlab". Modeling the Effects of Spatial Heterogeneity and Seasonality on Guinea Worm Disease Transmission. Algorithms Catamarans Control systems Differential equations Incremental motion control Mathematical research Motion control Nonlinear theories Robots