Next Article in Journal
Tensor-Based Sparse Representation for Hyperspectral Image Reconstruction Using RGB Inputs
Next Article in Special Issue
An Efficient Method for Solving Problems of Acoustic Scattering on Three-Dimensional Transparent Structures
Previous Article in Journal
The Nearest Zero Eigenvector of a Weakly Symmetric Tensor from a Given Point
Previous Article in Special Issue
Allocation of Starting Points in Global Optimization Problems
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Stabilisation System Synthesis for Motion along a Preset Trajectory and Its Solution by Symbolic Regression

1
Federal Research Center “Computer Science and Control” of the Russian Academy of Sciences, Vavilova Str., 44, Build. 2, 119333 Moscow, Russia
2
Institute of Engineering and Technology, Korkyt Ata Kyzylorda University, Aiteke bi Str. 29A, Kyzylorda 120014, Kazakhstan
*
Author to whom correspondence should be addressed.
Mathematics 2024, 12(5), 706; https://doi.org/10.3390/math12050706
Submission received: 3 December 2023 / Revised: 7 February 2024 / Accepted: 21 February 2024 / Published: 28 February 2024

Abstract

:
The problem of a stabilisation system synthesis for the motion of a control object along a given spatial trajectory is considered. The complexity of the problem is that the preset trajectory is defined in the state subspace and not in time. This paper describes a stabilisation system synthesis for motion along a trajectory specified in time and along a trajectory specified in the form of a manifold in a state space. In order to construct a stabilisation system, it is necessary to determine a distance between an object and the given trajectory at each moment in time. For trajectories that are not given in time, the determination of this distance can be ambiguous. An object may be exactly on a trajectory but at a different time. This paper proposes some approaches to solve the problem. One of the approaches is to transform a given trajectory in a state subspace into a trajectory given in time. A description of a universal method to perform this transformation is presented. In order to solve the synthesis problem automatically, without having to analyse the mathematical model of the control object, it is suggested that machine learning control by symbolic regression is used. In computational experiments, examples of stabilisation system syntheses for quadcopter motion along a given spatial trajectory are presented.

1. Introduction

The problem of stabilising the motion of an object along a given trajectory is very common for almost all autonomous robots moving in geometric space. If a mathematical model of a control object is an ODE system with a free control vector in the right part, then the stabilisation system is a control function that changes the right part so that the ODE system, as a parametric mapping of the state space into itself, has an attractor property in the neighbourhood of the given trajectory. An argument of the control function of a stabilisation system is a deviation of the control object from the given trajectory. An ideal stabilisation system has such a control function that the ODE system of the mathematical model of the control object has a stable particular solution or a singular particular solution in the form of an attractor in the neighbourhood of the given trajectory.
Basically, two approaches are used to solve the tracking problem. The first is analytical, when the inverse problem is solved (a trajectory is specified in time and a control is sought that ensures movement along the trajectory). This approach is widely used for simple low-dimensional models and, as a rule, control is included linearly in the object model. In many papers related to trajectory tracking [1,2,3,4,5], the control system is built based on the analysis of the control object model. The developer of the control system studies the mathematical model of the control object, defines control channels that affect the movement of the object and determines the components of the control vector that affect a particular direction of movement of the object. Further, regulators are inserted into the control channels, which qualitatively work out movement errors along the trajectory.
The second approach is applied when the trajectory is given in space. A stabilisation system is built relative to a point in state space and then these points are placed on the trajectory [6,7,8]. Switching points occur sequentially and the object moves from one point to another along a trajectory. This process is known as point tracking. This approach ensures accurate movement along the trajectory providing the intervals for switching points and their locations are optimally selected. Note that the movement of a control object from one stable point to another is not uniform. The speed of the object slows down as it approaches a stable point of equilibrium. At the equilibrium point, the object stops. Therefore, point tracking is not optimal if the quality criterion depends on the time of the control process. Each of these approaches, when executed carefully enough, can produce a satisfactorily accurate trajectory.
To ensure the stability of the object with respect to the equilibrium point in point tracking, it is necessary to solve the control synthesis problem. It is necessary to search for a control function as a function of a state space vector. At present this problem does not have an exact universal numerical solution. The most general approach is to linearise the model with respect to the equilibrium point and to find the control as a linear feedback function, so that the matrix of the control system has eigenvalues in the left half of the complex plane. Such an approach does not provide any quality in the control process. Solutions of differential equations in the neighbourhood of a stable equilibrium point can be asymptotic or periodic.
The control synthesis problem is so complex that it can only be solved when the control system is created. Trajectories can be given in the process of robotic operation. The motion stabilisation system should be universal, so that this system can be used to stabilise a wide class of trajectories, i.e., one stabilisation system should be applied to movement along any trajectory from a set. In [9], a universal stabilisation system for motion along an optimal program trajectory is obtained as a result of solving the optimal control problem. The stabilisation system is constructed on the basis of machine learning control by symbolic regression. The optimal trajectory is a function of time, so the deviation of the control object from the given trajectory is simply calculated as a difference between the state vector of the control object and the current coordinate of the trajectory point in the geometric subspace at any time. This paper continues the study of the construction of a universal stabilisation system for the motion of a control object along a given trajectory. In contrast to [9], here we consider the trajectories that are not functions of time but are given in the state space in the form of a one-dimensional manifold.
Another aspect of the study deals with the automation of control system development. For a real control system, the problem of control synthesis is solved manually by studying the mathematical model of the control object, determining the control channels and inserting the regulators there. This paper presents the approach of constructing an object motion stabilisation system along the trajectory based on machine learning control by symbolic regression. Machine learning (ML) is a branch of artificial intelligence that focuses on the learning through experience and decision making of computer programs similar to humans. ML has already been effectively applied to various fields [10], for example, to develop accurate, interpretable and generalisable nonlinear models for complex natural and engineered systems [11]. A survey on the application of ML to solve large control problems is presented in [12]. In [13], the term machine learning control (MLC) was introduced as a framework to discover effective control laws for complex, nonlinear dynamics, mainly by genetic programming [14].
The machine, or more precisely the program running on the machine itself, builds a system for stabilising the movement of the object along the trajectory. Developers do not need to study the mathematical model of the control object and define control channels. A computer does it all for them. The developer does not even need to know the trajectory itself, so the stabilisation system to be created is first trained to follow any trajectory consisting of straight segments. The developer then splits the trajectory into segments and passes them to the stabilisation system in this form. The object under the control of the stabilisation system moves along a given trajectory. Thus, the novelty of the research is to propose a universal approach to stabilisation system synthesis for motion along a trajectory not given in time.
In this paper MLC is used to solve the stabilisation system synthesis problem for quadcopter motion along a trajectory given in the state subspace by a symbolic regression method, a network operator method. To estimate the performance of the proposed approach, a linear trajectory containing sharp corners, which pose difficulties for the movement of the quadcopter, was chosen.

2. Statement of the Stabilisation System Synthesis of an Optimal Motion

2.1. Stabilisation System along Trajectory Given in Time

The mathematical model of a control object in the form of an ODE system is
x ˙ = f ( x , u ) ,
where x is a state vector of the control object, x R n , x = [ x 1 x n ] T ; the state space vector consists of two subvectors
x T = [ y T z T ] , y = [ x 1 x k ] T , z = [ x k + 1 x n ] T ,
y R k , R k is a geometrical subspace, k { 2 , 3 } , z is a subvector of state vector that contains components that are not included into geometrical subspace, u is a control vector, u U R m and U is a compact set that defines control constraints. For example, control vector component values may be constrained
u u u + ,
u = [ u 1 u m ] T , u = [ u 1 u m ] T , u + = [ u 1 + u m + ] T .
For system (1), an initial state domain is
X 0 R n .
The terminal state is given in geometrical subspace
y ( t f ) = y f = [ x 1 f x k f ] T ,
where t f is a limited terminal time to reach the terminal state and t f t + , t + is a given value.
The quality criterion is given in the following common integral form
J 0 = 0 t f f 0 ( x , u ) d t min u U .
The spatial trajectory is presented as a one-dimensional manifold
θ i ( y ) = 0 , i = 1 , , k 1 .
The terminal state (5) is located on the given trajectory,
θ i ( y f ) = 0 , i = 1 , , k 1 .
The control function is searched as
u = h ( y y ( t ) ) U ,
where y * is the point on the manifold (7) closest to the current value of the state vector
min y * y ( t ) , θ i ( y * ) = 0 , i = 1 , , k 1 .
For any P initial states from the set (4), the following quality criterion reaches the minimum value
J 1 = i = 1 P ( 0 t f , i ( f 0 ( x ( t , x 0 , i ) , h ( y * y ( t , x 0 , i ) ) ) + p 1 y * y ( t , x 0 , i ) ) d t +
p 2 y f y ( t f , i , x 0 , i )   ) min ,
where p 1 , p 2 are weight coefficients, y ( t , x 0 , i ) is a particular solution of ODE system
x ˙ = f ( x , h ( y * y ) )
from initial state x 0 , i X 0 , i = 1 , , P , and t f , i is a time to reach the terminal state (5), which is calculated as
t f , i = t , if t < t + and y f y ( t , x 0 , i ) ε 1 t + , otherwise , i = 1 , , P ,
ε 1 is the given small positive value.
The solution of the problem is a control function (9). To solve the problem, it is necessary to find the point y * on the manifold (7) closest to the current state of the control object at each moment of time. It is a rather time-consuming computational process because it requires solving an optimisation problem.

2.2. Stabilisation System along Trajectory Given in Space

Let us consider another approach to solve this problem. Suppose that any one-dimensional manifold can be divided into straight segments. Let y * , j , j = 1 , , N be the join points of the straight segments in the geometric space, R k . Then, the length of straight segment between points y i and y i + 1 is
L j = y * , j + 1 y * , j .
The length of the manifold is
L = j = 1 N 1 L i = j = 1 N 1 y * , j + 1 y * , j .
If t + is the maximum time for motion on the manifold, then a module of motion speed on the manifold is
v = L t + ,
and a time of movement on a straight segment j, j = 1 , , N 1 , is
t j = L j L t + .
Now, let us build a reference model
y ˙ * = v ,
where v = [ v 1 v k ] T ,
v i = y i * , j + 1 y i * , j t j ,
where y i * , j is a coordinate i of the point j, i = 1 , , k , j = 1 , , N 1 .
The mathematical model of the control object includes the reference model for trajectory generation
x ˙ = f ( x , u ) , y ˙ * = v .
The task requires the search for a control function, presented as (9), to minimise the value of the quality criterion (11). To address this control synthesis problem, the approach of machine learning control through symbolic regression is employed.

3. Network Operator Method

Symbolic regression allows finding a mathematical expression in the form of special code. Coding depends on the method chosen. To code a mathematical expression, symbolic regression uses an alphabet of elementary functions. Genetic programming (GP) [14] is the most popular symbolic regression method. GP codes mathematical expressions in the form of computation trees. Arguments of mathematical expressions are the leaves of the trees; functions are located in the nodes. The number of branches leaving the node is equal to the number of arguments of the function associated with this node. When performing the crossover operation, two codes exchange the branches exiting from the nodes selected as crossover points. After crossover, the length of the GP code may change which requires additional computational effort for analysis. Now, there are about twenty symbolic regression methods.
In this study the network operator (NOP) method developed by the authors is used [15]. The network operator method uses codes of mathematical expressions presented as directed graphs. Functions with one or two arguments form the alphabet of elementary functions. Functions with two arguments are commutative and associative, and have unit elements, so these functions with two arguments can be potentially used as functions with any number of arguments. If a function with two arguments has one argument then the second argument is a unit element of this function. In the network operator method, the source nodes of the directed graph contain arguments of the mathematical expression. The remaining nodes in the graph contain functions that require two arguments. The edges between the nodes in the graph are associated with functions that only require one argument.

3.1. Coding

To illustrate this concept, let us explore an example of encoding a mathematical expression using the network operator method. Consider mathematical expressions
y 1 = x 1 exp ( q 1 x 2 + q 2 ) sin ( q 2 x 1 + q 1 ) , y 2 = x 2 exp ( q 2 x 1 + q 1 ) cos ( q 1 x 2 + q 2 ) ,
where x 1 and x 2 are variables, and q 1 and q 2 are constant parameters.
In order to transform the mathematical expression into a code, let us employ the alphabet of functions:
(1)
Functions with one argument
F 1 = { f 1 , 1 ( z ) = z , f 1 , 2 ( z ) = z , f 1 , 3 ( z ) = exp ( z ) , f 1 , 4 ( z ) = sin ( z ) , f 1 , 5 ( z ) = cos ( z ) } ;
(2)
Functions with two arguments
F 2 = { f 2 , 1 ( z 1 , z 2 ) = z 1 + z 2 , f 2 , 2 ( z 1 , z 2 ) = z 1 · z 2 } .
The identity function f 1 , 1 ( z ) , which outputs the same value as its input argument, should be among the functions with one argument.
Functions with two arguments should be commutative and associative, and have a unit element,
f 2 , i ( e i , z ) = f 2 , i ( z , e i ) = z ,
where e i is a unit element of the function f 2 , i ( z 1 , z 2 ) . In this case, 0 is a unit element for the summation function f 2 , 1 ( z 1 , z 2 ) and 1 is a unit element for the multiplication function f 2 , 2 ( z 1 , z 2 ) .
In Figure 1, the directed graph of the NOP for a given mathematical Expression (21) is depicted.
The nodes are enumerated in their upper parts. The arguments are in the source nodes 1–4. Nodes other than the source node contain numbers of functions with two arguments. Numbers of functions with a single argument are displayed over the edges. Nodes 11 and 12 are the sink nodes. When the node indices are arranged such that the index of the node where the edge originates is lower than the indices of the nodes where the edge terminates, the network operator matrix becomes upper triangular.
In the memory of a personal computer, the network operator is represented as an integer matrix that follows a structure similar to the adjacency matrix of the network operator graph. The network operator matrix corresponding to the graph shown in Figure 1 takes the following form
Ψ = [ ψ i , j ] = [ 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 2 0 1 0 0 2 0 0 0 0 0 0 0 2 0 1 2 0 0 0 0 0 0 0 0 0 1 0 0 0 4 0 0 0 0 0 0 0 0 1 0 0 0 5 0 0 0 0 0 0 0 0 1 0 3 0 0 0 0 0 0 0 0 0 0 1 0 3 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 2 ] , i , j = 1 , , D = 12 ,
where D is the number of nodes in the graph and dim ( Ψ ) = D × D .
In the matrix, rows that have zeros on the main diagonal are connected to source nodes. The other elements on the main diagonal that are not zero represent the numbers of functions with two arguments. The elements above the main diagonal, denoted as ψ i , j 0 , are numbers of functions with one argument.

3.2. Decoding

To calculate the mathematical expression using the network operator, a vector of nodes is defined. Initially, this vector consists of the arguments of the mathematical expression and the unit elements of the corresponding functions with two arguments.
The initial vector of nodes for (24) is
z ( 0 ) = [ x 1 x 2 q 1 q 2 1 1 0 0 0 0 1 1 ] T .
Further, all rows in the network operator matrix are followed sequentially and when a non-zero element occurs components of the vector of nodes are changed
z j ( i ) f 2 , ψ j , j ( z j ( i 1 ) , f 1 , ψ i , j ( z i ( i 1 ) ) ) , if ψ i , j 0 z j ( i 1 ) , otherwise , i = 1 , , D 1 , j = i + 1 , , D ,
where ψ i , j is an element of the network operator matrix in row i and column j.
Each component of the vector of nodes contains the results of intermediate calculations.
After viewing the ( i 1 ) -th row of the component, the z i does not change.
For example, in row 1, the first non-zero element is ψ 1 , 5 = 1. This means that the component z 5 of the vector of nodes changes. We define a function with two arguments by the matrix of the network operator, ψ 5 , 5 = 2 . Therefore, it is a function of f 2 , 2 ( z 1 , z 2 ) multiplication. The first argument of this function is the value of the current z 5 component of the node vector. The second component is determined by the value of a non-zero element, ψ 1 , 5 = 1 . This is a single argument function with the number 1, f 1 , 1 ( z ) . The argument to this function is the value of the z 1 component of the node vector. As a result, we obtain
z 5 ( 1 ) f 2 , 2 ( z 5 ( 0 ) , f 1 , 1 ( z 1 ( 0 ) ) ) = f 2 , 2 ( 1 , f 1 , 1 ( x 1 ) ) = 1 · x 1 = x 1 .
The vector of nodes after viewing all rows of the network operator matrix has the following form
z ( 11 ) = x 1 x 2 q 1 q 2 q 2 x 1 q 1 x 2 q 2 x 1 + q 1 q 1 x 2 + q 2 q 1 x 2 + q 2 q 2 x 1 + q 1 x 1 exp ( q 1 x 2 + q 2 ) sin ( q 2 x 1 + q 1 ) x 2 exp ( q 2 x 1 + q 1 ) cos ( q 1 x 2 + q 2 ) .
The last two components are equal to the mathematical expressions (21).

3.3. Variational Genetic Algorithm

In order to find the mathematical expression that is optimal in some criterion using the network operator method, the variational genetic algorithm (VarGA) is employed. VarGA follows the principle of making slight changes, so-called small variations, to the initial solution [16]. The symbolic regression method is utilised to code one potential solution, known as the basic solution. Other solutions are presented as small variations of the basic solution. These variations are represented by an integer vector of four components
w = [ w 1 w 2 w 3 w 4 ] T ,
where w 1 is a type of variation, w 2 is the row number, w 3 is the column number, w 2 w 3 and w 4 is the new value of an element in the matrix.
Four types of small variations are defined for the network operator. The first type, denoted by w 1 = 0 , involves substituting the function with a single argument: if ψ w 2 , w 3 0 , then ψ w 2 , w 3 w 4 .
The second type, w 1 = 1 , is an exchange of the function with two arguments: if ψ w 2 , w 2 0 , then ψ w 2 , w 2 w 4 .
The third type, w 1 = 2 , is an insertion of the additional function with one argument: if ψ w 2 , w 3 = 0 , then ψ w 2 , w 3 w 4 .
The fourth type, w 1 = 3 , is an elimination of the function with one argument: if ψ w 2 , w 3 0 and ψ w 2 , j 0 , j > w 2 , j w 3 and ψ i , w 3 0 , i w 2 , then ψ w 2 , w 3 0 .
Consider an example of the vector of small variations for (24)
w = [ 2 5 8 4 ] T .
The first component shows that it is a small variation of type 3 changing a zero non-diagonal element. In the network operator matrix (24) element in the fifth row w 2 = 5 , in the eighth column, w 3 = 8 is equal to zero, ψ 5 , 8 = 0 . After the small variation (29), this element is changed to ψ 5 , 8 = w 4 = 4 . The edge from node 5 to node 8 appears in the graph (see Figure 2). The new edge is dash lined.
As a result a new mathematical expression is obtained
y 2 = x 2 exp ( q 2 x 1 + q 1 ) cos ( q 1 x 2 + q 2 + sin ( x 1 q 2 ) ) .
All other possible solutions that originated from the basic solution are coded by ordered sets of vectors of small variations
W i = ( w i , 1 , , w i , d ) ,
where i = 1 , , H , H is a number of possible solutions in the population and d is a depth of variation.
The crossover in VarGA is performed over ordered sets of small variations. Two possible solutions are selected randomly or as a result of tournament
W i = ( w i , 1 , , w i , d ) , W j = ( w j , 1 , , w j , d ) , i , j { 1 , , H } .
The crossover point is selected randomly, c { 1 , , d } . New possible solutions are obtained after the exchange of small variation vectors after the crossover point in the selected possible solutions
W H + 1 = ( w i , 1 , , w i , c , w j , c + 1 , , w j , d ) , W H + 2 = ( w j , 1 , , w j , c , w i , c + 1 , , w i , d ) .

4. Computation Experiment

Consider the optimal control problem of the spatial motion of a quadcopter. The control object is presented by mathematical model
x ˙ 1 = x 4 , x ˙ 2 = x 5 , x ˙ 3 = x 6 , x ˙ 4 = u 4 ( sin ( u 3 ) cos ( u 2 ) cos ( u 1 ) + sin ( u 1 ) sin ( u 2 ) ) , x ˙ 5 = u 4 cos ( u 3 ) cos ( u 1 ) g , x ˙ 6 = u 4 ( cos ( u 2 ) sin ( u 1 ) cos ( u 1 ) sin ( u 2 ) sin ( u 3 ) ) ,
where g = 9.80665 .
The initial state is
x ( 0 ) = x 0 = [ 0 5 0 0 0 0 ] T .
The terminal state is
x ( t f ) = x f = [ 10 5 10 0 0 0 ] T ,
where
t f = t , if t < t + and x f x ε 1 = 0.01 t + = 14 , otherwise .
The quality criterion is
J 2 = 0 t f 1 d t = t f min .
For a given model of the control object, it is necessary to develop a stabilisation system for movement along a given spatial trajectory. The given trajectory consists of straight segments in 3D space. To define a spatial trajectory of straight connected segments, it is enough to define the locations of connection points. In the considered example, the coordinates of the connection points are as follows
Y * = { y * , 1 = [ 0 5 0 ] T , y * , 2 = [ 2 5 2 ] T , y * , 3 = [ 8 5 2 ] T , y * , 4 = [ 2 5 8 ] T , y * , 5 = [ 8 5 8 ] T , y * , 6 = [ 10 5 10 ] T }
According to the proposed approach, initially, a reference model (18) is created.
The length of the trajectory is
L = i = 1 5 L i = 2.82843 + 6 + 8.48528 + 6 + 2.82843 = 26.14213 .
Equation (17) is used to calculate the values of the reference time intervals. The following time intervals were obtained: t 1 = 1.515 , t 2 = 3.213 , t 3 = 4.544 , t 4 = 3.213 and t 5 = 1.515 .
The control object with the reference model is
y ˙ 1 * = v 1 , y ˙ 2 * = v 2 , y ˙ 3 * = v 3 , y ˙ 4 * = 0 , y ˙ 5 * = 0 , y ˙ 6 * = 0 , x ˙ 1 = x 4 , x ˙ 2 = x 5 , x ˙ 3 = x 6 , x ˙ 4 = h 4 ( y * x ) ( sin ( h 3 ( y * x ) ) cos ( h 2 ( y * x ) ) × cos ( h 1 ( y * x ) ) + sin ( h 1 ( y * x ) ) sin ( h 2 ( y * x ) ) ) , x ˙ 5 = h 4 ( y * x ) cos ( h 3 ( y * x ) ) cos ( h 1 ( y * x ) ) g , x ˙ 6 = h 4 ( y * x ) ( cos ( h 2 ( y * x ) ) sin ( h 1 ( y * x ) ) cos ( h 1 ( y * x ) ) sin ( h 2 ( y * x ) ) sin ( h 3 ( y * x ) ) ) ,
where h ( y * x ) is a required control function,
v i = y i * , j + 1 y i * , j t j , if t j 1 t < t j , j = 1 , , 5 , t 0 = 0 .
The current objective is to address the control synthesis problem and determine a control function based on the deviation between the state vector of the control object and that of the reference model
h ( y * x ) = [ h 1 ( y * x ) h 4 ( y * x ) ] T .
Machine learning control by the network operator method is used. When solving the synthesis problem, the initial state (35) was replaced by a set of initial states
X 0 = { x 0 , 1 , , x 0 , P } ,
where
x 0 , i + 3 j + 9 k + 1 = [ x 1 0 + ( i 1 ) Δ x 2 0 + ( j 1 ) Δ x 3 0 + ( k 1 ) Δ x 4 0 x 5 0 x 6 0 ] T ,
i { 0 , 1 , 2 } , j { 0 , 1 , 2 } , k { 0 , 1 , 2 } , Δ = 0.5 , for i = j = k = 2 , P = 27 .
When solving the synthesis problem, the error of movement along the given trajectory and the accuracy of reaching the terminal state for all initial states are additionally included in the criterion
J 3 = i = 1 P t f , i + p 1 0 t f , i y * y ( t , x 0 , i ) d t + p 2 x f x ( t , x 0 , i ) min ,
where p 1 = 1 , p 2 = 1 and t f , i is a time to reach the terminal state from the initial state x 0 , i according to (13).
Machine learning control by network operator method was performed with the following parameters: size of NOP matrix 36 × 36 , graph of NOP had 12 source nodes, including 6 nodes for variables and 6 nodes for searched parameters, and 4 sink nodes for output components of control vector. Parameters of variational genetic algorithm were: number of possible solutions in initial population—512, number of crossover operations in one generation—64, number of generations—64, depth of variation—5, number of generations between change of basic solution—20, number of bits for coding a parameter—16.
Computations were performed on CPU Intel core i7, 2.8 GHz. Computational time was approx. 30 min.
The following solution was found by the network operator method
u i = u i + , if u ^ i > u i + u i , if u ^ i < u i u ^ i , otherwise , i = 1 , , m = 4 ,
where
u ^ 1 = μ ( C ) ,
u ^ 2 = u ^ 1 u ^ 1 3 ,
u ^ 3 = u ^ 2 + ρ 19 ( W + μ ( C ) ) + ρ 17 ( A ) ,
u ^ 4 = u ^ 3 + ln ( | u ^ 2 | ) + sgn ( W + μ ( C ) ) | W + μ ( C ) | + ρ 19 ( W ) +
arctan ( H ) + sgn ( F ) + arctan ( E ) + exp ( q 2 ( y 2 * x 2 ) ) + q 1 ,
C = q 6 ( y 6 * x 6 ) + q 3 ( y 3 * x 3 ) , W = V + tanh ( G ) + exp ( D ) ,
A = q 1 ( y 1 * x 1 ) + q 4 ( y 4 * x 4 ) , H = G + tanh ( F ) + ρ 18 ( B ) ,
F = E + C + arctan ( D ) B , E = D + sgn ( y 5 * x 5 ) + ( y 2 * x 2 ) 3 ,
V = exp ( H ) + cos ( q 6 ( y 6 * x 6 ) ) + sgn ( D ) | D | , G = F + E 3 + sin ( A ) ,
B = sin ( q 6 ( y 6 * x 6 ) ) + q 5 ( y 5 * x 5 ) + q 2 ( y 2 * x 2 ) + cos ( q 1 ) + ϑ ( y 2 * x 2 ) ,
D = ρ 17 ( C ) + B 3 + A + ϑ ( q 5 ( y 5 * x 5 ) ) + ( y 5 * x 5 ) 2 ,
μ ( α ) = α , if | α | < 1 sgn ( α ) , otherwise ,
ϑ ( α ) = 1 , if α > 0 0 , otherwise ,
ρ 17 ( α ) = sgn ( α ) ln ( | α | + 1 ) ,
ρ 18 ( α ) = sgn ( α ) ( exp ( | α | ) 1 ) ,
ρ 19 ( α ) = sgn ( α ) exp ( | α | ) ,
q 1 = 7.26709 , q 2 = 11.46143 , q 3 = 12.77026 , q 4 = 3.20630 , q 5 = 8.38501 and q 6 = 5.56250 .
The projections of optimal trajectory (black line) and the given trajectory (blue line) on the horizontal and vertical planes are shown in Figure 3 and Figure 4.
To check the feasibility property of the obtained solution of the optimal control problem, a simulation of the control system from eight different initial states was performed: x 0 , 1 = [ 0.5 4.5 0.5 0 0 0 ] T , x 0 , 2 = [ 0.5 4.5 0.5 0 0 0 ] T , x 0 , 3 = [ 0.5 5.5 0.5 0 0 0 ] T , x 0 , 4 = [ 0.5 5.5 0.5 0 0 0 ] T , x 0 , 5 = [ 0.5 4.5 0.5 0 0 0 ] T , x 0 , 6 = [ 0.5 4.5 0.5 0 0 0 ] T , x 0 , 7 = [ 0.5 5.5 0.5 0 0 0 ] T , x 0 , 8 = [ 0.5 5.5 0.5 0 0 0 ] T .
The results of the simulation are shown in Figure 5 and Figure 6.
The results of the simulation show that the synthesised stabilisation system of the control object motion along the given spatial trajectory is not sensitive to disturbances; therefore it is realisable in a real object.

5. Discussion

The main difference of the method considered in this paper is that the trajectory stabilisation system is built entirely on the basis of machine learning by symbolic regression. Typically, a person analyses the mathematical model of the control object, identifies the control channels and determines which channels influence a particular movement of the object. Controllers are then installed in these channels and only then the parameters of the controllers are adjusted. This process is manual. A feature of machine learning control by symbolic regression is that the program is only provided with a model of the control object with a control function in the right part. The machine performs all other stages independently, without human intervention. It finds the control function in a coded form. The authors could not find a similar machine approach for the problem in other publications. Comparing the machine-learning-based approach discussed in the paper with control systems manually developed by specialists is not entirely correct, although it can be noted that the machine built a control system of equal quality. The disadvantage of the resulting control system is the complexity of the resulting mathematical expression, because the machine does not sense the complexity of calculations. We still insist that a machine search for solutions is more promising for building complex control systems than the manual approach.
In comparison to previous papers by the authors [9], in the present work, the complexity of the optimal control problem is that the given trajectory is defined in space and not in time. Instead of determining points on a given trajectory to calculate the deviation of an object from that trajectory as in prior approaches, a reference model is constructed that determines the reference motion along the trajectory. To solve the control synthesis problem, a machine learning control by symbolic regression is applied. The main goal of machine learning is to create a program to automatically write a control function. In our opinion, this approach will allow artificial intelligence to be created. Computational experiments have shown that the resulting control system has a feasibility property.
However, the proposed numerical method as all numerical methods has certain drawbacks. To obtain a solution it uses numerical techniques that include discretisation of the problem domain and approximation of the solution through an iterative computational process. Errors are accumulated and affect the final solution which is not exact, but it is still the only way to solve complex problems, such as the one presented in this paper.
Furthermore, the limitation of the proposed approach, namely, the usage of a reference model for trajectory generation, is that the velocity can be easily obtained for straight segments but might become a tricky task for differentiable trajectories.

6. Future Work

Future research is aimed at applying the presented approach to trajectories of different types. The applicability of this approach to differentiable trajectories, where the trajectory does not consist of straight segments, should be investigated. It is also necessary to investigate how the accuracy of the approximation of a smooth trajectory by straight segments affects the accuracy of the movement of the object along the trajectory, when the control synthesis problem has been solved for a reference model of movement on straight segments.

Author Contributions

Conceptualisation, A.D. and E.S.; methodology, A.D.; software, A.D. and E.S.; validation, E.S.; formal analysis, A.D.; investigation, E.S. and N.K.; resources, A.D.; writing—original draft preparation, A.D. and E.S.; writing—review and editing, E.S.; visualisation, N.K.; supervision, A.D. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Science Committee of the Ministry of Science and Higher Education of the Republic of Kazakhstan (Grant No. AP14869851).

Data Availability Statement

The data that support the findings of this study are openly available in https://cloud.mail.ru/public/rApd/Tv43xQ2QY, accessed on 1 December 2023.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Samir, A.; Hammad, A.; Hafez, A.; Mansour, H. Quadcopter Trajectory Tracking Control using State-Feedback Control with Integral Action. Int. J. Comput. Appl. 2017, 168, 1–7. [Google Scholar] [CrossRef]
  2. Nguyen, A.T.; Xuan-Mung, N.; Hong, S.-K. Quadcopter Adaptive Trajectory Tracking Control: A New Approach via Backstepping Technique. Appl. Sci. 2019, 9, 3873. [Google Scholar] [CrossRef]
  3. Zhang, T.; Xue, J.; Jiao, X.; Wang, Z. Adaptive Finite Time Trajectory Tracking Control of Autonomous Vehicles. In Proceedings of the 2020 4th CAA International Conference on Vehicular Control and Intelligence (CVCI), Hangzhou, China, 18–20 December 2020; pp. 684–688. [Google Scholar]
  4. Cui, C.; Zhu, D.; Sun, B. Trajectory Re-planning and Tracking Control of Unmanned Underwater Vehicles on Dynamic Model. In Proceedings of the 2018 Chinese Control and Decision Conference (CCDC), Shenyang, China, 9–11 June 2018; pp. 1971–1976. [Google Scholar]
  5. Wang, R.; Xue, H.; Li, Z.; Li, H.; Wang, N.; Zhao, H. Fixed-time Trajectory Tracking Control of an Unmanned Surface Vehicle. In Proceedings of the 2020 International Conference on System Science and Engineering (ICSSE), Kagawa, Japan, 31 August–3 September 2020; pp. 1–4. [Google Scholar]
  6. Walsh, G.; Tilbury, D.; Sastry, S.; Murray, R.; Laumond, J.P. Stabilization of Trajectories for Systems with Nonholonomic Constraints. IEEE Trans. Autom. Control 1994, 39, 216–222. [Google Scholar] [CrossRef]
  7. Mohamed, M.J.; Abbas, M.Y. Design a Fuzzy PID Controller for Trajectory Tracking of Mobile Robot. Eng. Technol. J. 2018, 36A, 100–110. [Google Scholar] [CrossRef]
  8. Ma, T.; Wong, S. Trajectory Tracking Control for Quadrotor. UAV. In Proceedings of the 2017 IEEE International Conference on Robotics and Biomimetics (ROBIO), Macao, China, 5–8 December 2017. [Google Scholar]
  9. Diveev, A.; Sofronova, E. Universal Stabilisation System for Control Object Motion along the Optimal Trajectory. Mathematics 2023, 11, 3556. [Google Scholar] [CrossRef]
  10. Jordan, M.I.; Mitchell, T.M. Machine learning: Trends, perspectives, and prospects. Science 2015, 349, 255–260. [Google Scholar] [CrossRef] [PubMed]
  11. Brunton, S. Machine Learning for Scientific Discovery. Bull. Am. Phys. Soc. 2023, 68. Available online: https://meetings.aps.org/Meeting/MAR23/Session/S13.1 (accessed on 1 December 2023).
  12. Bensoussan, A.; Li, Y.; Nguyen, D.P.C.; Tran, M.-B.; Yam, S.C.P.; Zhou, X. Machine Learning and Control Theory. arXiv 2020, arXiv:2006.05604. [Google Scholar]
  13. Duriez, T.; Brunton, S.L.; Noack, B.R. Machine Learning Control—Taming Nonlinear Dynamics and Turbulence; Springer International Publishing: Cham, Switzerland, 2017. [Google Scholar]
  14. Koza, J.R. Genetic Programming: On the Programming of Computers by Means of Natural Selection; MIT Press: Cambridge, MA, USA, 1992; 819p. [Google Scholar]
  15. Diveev, A.I.; Sofronova, E.A. The network operator method for search of the most suitable mathematical equation. In Bio-Inspired Computational Algorithms and Their Applications; InTech: Rijeka, Croatia, 2012; pp. 19–42. [Google Scholar]
  16. Sofronova, E.A.; Diveev, A.I. Universal Approach to Solution of Optimization Problems by Symbolic Regression. Appl. Sci. 2021, 11, 5081. [Google Scholar] [CrossRef]
Figure 1. The graph of the NOP for (21).
Figure 1. The graph of the NOP for (21).
Mathematics 12 00706 g001
Figure 2. The graph of the NOP after the small variation with a new edge (dash line).
Figure 2. The graph of the NOP after the small variation with a new edge (dash line).
Mathematics 12 00706 g002
Figure 3. Projection of optimal trajectory (black line) and the given trajectory (blue line) on the horizontal plane { x 1 ; x 3 } .
Figure 3. Projection of optimal trajectory (black line) and the given trajectory (blue line) on the horizontal plane { x 1 ; x 3 } .
Mathematics 12 00706 g003
Figure 4. Projection of optimal trajectory (black line) and the given trajectory (blue line) on the vertical plane { x 1 ; x 2 } .
Figure 4. Projection of optimal trajectory (black line) and the given trajectory (blue line) on the vertical plane { x 1 ; x 2 } .
Mathematics 12 00706 g004
Figure 5. Projections of trajectories of control object from eight initial states (black lines) and the given trajectory (blue line) on the horizontal plane { x 1 ; x 3 } .
Figure 5. Projections of trajectories of control object from eight initial states (black lines) and the given trajectory (blue line) on the horizontal plane { x 1 ; x 3 } .
Mathematics 12 00706 g005
Figure 6. Projections of trajectories of control object from eight initial states (black lines) and the given trajectory (blue line) on the vertical plane { x 1 ; x 2 } .
Figure 6. Projections of trajectories of control object from eight initial states (black lines) and the given trajectory (blue line) on the vertical plane { x 1 ; x 2 } .
Mathematics 12 00706 g006
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.

Share and Cite

MDPI and ACS Style

Diveev, A.; Sofronova, E.; Konyrbaev, N. A Stabilisation System Synthesis for Motion along a Preset Trajectory and Its Solution by Symbolic Regression. Mathematics 2024, 12, 706. https://doi.org/10.3390/math12050706

AMA Style

Diveev A, Sofronova E, Konyrbaev N. A Stabilisation System Synthesis for Motion along a Preset Trajectory and Its Solution by Symbolic Regression. Mathematics. 2024; 12(5):706. https://doi.org/10.3390/math12050706

Chicago/Turabian Style

Diveev, Askhat, Elena Sofronova, and Nurbek Konyrbaev. 2024. "A Stabilisation System Synthesis for Motion along a Preset Trajectory and Its Solution by Symbolic Regression" Mathematics 12, no. 5: 706. https://doi.org/10.3390/math12050706

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop