Journal of Applied Mathematics

Volume 2018, Article ID 4868791, 13 pages

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

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

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; ur.kb@6u6

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

Academic Editor: Rathinasamy Sakthivel

Copyright © 2018 E. A. Shushlyapin and A. E. Bezuglaya. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

The paper is devoted to several examples of control algorithm development for two-wheeled double-track robot and low-tonnage vessel-catamaran with two Azipods that show practical aspects of the application of one nonlinear system control method — terminal state method. This method, developed by the authors of the present paper, belongs to the class of methods for inverse dynamics problem solving. Mathematical models of control objects in the form of normal systems of third-order nonlinear differential equations for the wheeled robot and seventh-order ones for the vessel are presented. Design formulas of the method in general form for terminal and stabilizing controls are shown. A routine of obtaining calculation expressions for control actions is shown. Results of computer simulation of bringing the robot to a given point in a given time, as well as bringing the vessel to a given course during a “strong” maneuver, are described.

#### 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 [1–4]; differential-geometric methods [5]; and methods based on artificial neural networks [6] and fuzzy logic [7]. 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) [4]. 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 and current ) and on the current state . The TSV sense is the finite state of the uncontrolled system which is at the current moment in the state . The ability to solve control problems via the TSV is related to its obvious property , which is valid for any moments 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 [8] to be used, in particular, for monitoring underwater cables.

A mathematical model of a two-wheeled double-track robot is given in paper [9], and an algorithm for its terminal control based on the TSM is constructed in [4]. 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 [10]. 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 [11]. 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 [12]:where are, respectively, rudder angle, current course, given course, angular velocity of the ship’s rotation around the center of mass; are undetermined coefficients.

For bow maneuvering devices, it is proposed to use additionally the algorithm in the form of differential equation relative to the transverse control force [13]:

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 mode reverse activation are used as well.

A common drawback of these methods, as well as others based on the use of linear feedback from 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 [3], and the terminal state method (TSM) [4]. 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).

According to this method, control (TSM control) is calculated by the following expressions:where is the right side of the differential equation , defining a criterion function exponential approximation with time constant to the desired value , which occurs at a sufficiently small value of . Criterion function is a function of time . Other forms for the criterion function curve may be specified. Thus, with a variable during a period shape of the line, along which the criterion function converges to , 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) and nonlinear transition matrix according to V.M. Alekseev (TM) are used. They are defined by a joint system of differential equations [20]:where is identity matrix.

It is important to realize that for calculations in (5), TSV and TM are required as functions of the second argument , and they are defined as functions of the first argument for each of the 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

Then the criterion transforms toand instead of (6), simplified expressions obtained by linearizing (6) are used:

#### 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 [10]:where are linear movements of the robot along the coordinate axes; is the diameter of the first and second wheels; are the first and second wheels angular speeds of rotation (control actions); is the distance between wheels.

The kinematic model defined by (9) actually coincides with the model from [16]. The only difference between the models is that control actions in (9) have the form of robot wheels angular velocities, and in [16] the form of robot wheels linear velocities . Replacing linear velocities with expressions , makes the model from [16] 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 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 [11] 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 with given thrusts equal on both units: , , i.e., .

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

Herewith, are, respectively, Azipod rotation angle, heading angle, vessel angular velocity relative to its center of mass; are, respectively, speeds and positions of the vessel center of mass along its longitudinal and transverse axes. The seventh component 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 with a differential equation for the new state:where 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.

State functions are defined in terms of variables by the expressions [21]:

In (12)-(19), is the vessel resulting speed in the coordinate system associated with the vessel; 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; is approximated by the polynomial vessel resistance in kilonewtons dependent on the speed (in ), obtained by simulating vessel in the OpenFOAM software; is the vessel length in meters; are the vessel weights, taking into account water added masses in longitudinal and transverse movements; is the sea water density.

Masses and moment of inertia from (12) are determined by the relations [21]:where is the moment of inertia of the vessel; is the weight draught (mass) of the vessel in kilograms. Coefficients of the added masses and moment are selected from the following ranges: . For the considered vessel of small tonnage , 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):with a coefficient , time constant , and a control action .

Equating right sides of (21) with the control for the case when drives dynamics is not taken into account, results inSubsequently we obtain expression demonstrating dependence between the controls with and without assumption of the drive dynamics:

#### 4. Terminal State Method Applications

##### 4.1. Robot Control

A. Isidori’s linearizing by input/output method [1] in Wei Wu’s modification [2] and TSM [4] were used in [9] 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:where is the criterion function that defines desired exponential trajectory with a time constant . Differential equation for this function is the following:

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

In (24) state variables and control variables , are redefined according to

For the criterion function, the following quadratic form is used:where are the desired values of the robot coordinates at the finite time .

The sense of criterion by (27) is that when the current state converges to a given point , the value of the criterion function tends to the given value , 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 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 value:

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 . Herewith attained value 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 , where is zero vector, and the components of the matrix , are the following:

In [9], 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: = 0,05 m; = 0.085 m; = 10; = 0; = 1; = 0.6 m; = 0.3 m; = 0.8 m; = 1.5; = 0.1 s; Tu = 0.01 s; = 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).

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

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

The resulting system is

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

However, it is more interesting to bring the robot to a given point 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).

This function reflects the following control objective: bringing the coordinate to a value , and the coordinate to such a value that will provide a value 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 (33) instead of (27) and for the vector components:

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 for the sake of brevity):

Control by (24) with criterion by (33) was verified by Mathcad modeling, in particular, for the case of m, m, 60 s, integration step 0.001 s, , . The specified point is reached with a sufficiently high accuracy (1.488 m versus 1.5 m for , and 0.784 m versus 0.8 m for ). In other tried cases, the accuracy is approximately the same. Figures 1–3 show time dependencies graphs of coordinates and trajectory of the robot.