Next Article in Journal
Spherical Ruled Surfaces in S3 Characterized by the Spherical Gauss Map
Next Article in Special Issue
Fundamentals of Synthesized Optimal Control
Previous Article in Journal
Solving Multi-Point Boundary Value Problems Using Sinc-Derivative Interpolation
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Optimal Control Problem Solution with Phase Constraints for Group of Robots by Pontryagin Maximum Principle and Evolutionary Algorithm

1
Department of Robotics Control, Federal Research Center “Computer Science and Control” of the Russian Academy of Sciences, 119333 Moscow, Russia
2
Faculty of Electrical and Electronics Engineering, Ton Duc Thang University, Ho Chi Minh City 758307, Vietnam
3
Department of Computer Science, FEI, VSB Technical University of Ostrava, 70800 Ostrava, Czech Republic
*
Author to whom correspondence should be addressed.
Mathematics 2020, 8(12), 2105; https://doi.org/10.3390/math8122105
Submission received: 29 October 2020 / Revised: 18 November 2020 / Accepted: 20 November 2020 / Published: 25 November 2020
(This article belongs to the Special Issue Control, Optimization, and Mathematical Modeling of Complex Systems)

Abstract

:
A numerical method based on the Pontryagin maximum principle for solving an optimal control problem with static and dynamic phase constraints for a group of objects is considered. Dynamic phase constraints are introduced to avoid collisions between objects. Phase constraints are included in the functional in the form of smooth penalty functions. Additional parameters for special control modes and the terminal time of the control process were introduced. The search for additional parameters and the initial conditions for the conjugate variables was performed by the modified self-organizing migrating algorithm. An example of using this approach to solve the optimal control problem for the oncoming movement of two mobile robots is given. Simulation and comparison with direct approach showed that the problem is multimodal, and it approves application of the evolutionary algorithm for its solution.

1. Introduction

The optimal control belongs to complex computational problems for which there are no universal solution algorithms. The most well-known result in this area [1] transforms the optimization problem into a boundary-value problem, and the dimension of the problem doubles. The goal of solving the boundary-value problem is to find the initial conditions for conjugate variables such that the vector of state variables falls into a given terminal condition. In general, for this problem, there is no guarantee that the functional for the boundary-value problem is not unimodal and convex on the space of initial conditions of conjugate variables.
The optimal control problem with phase constraints is considered. Phase constraints are included in the functional, so they are included in the system of equations for conjugate variables. This greatly complicates the analysis of the problem on the convexity and unimodality of the target functional. The accurate solution of optimal control problem has to use additional functions and regularization of equations at the search of control [2,3]. An additional problem in solving a boundary-value problem is determination of time for checking the fulfillment of boundary conditions.
In this paper, for the numerical solution of the problem, it is proposed to use evolutionary algorithms that have shown efficiency in solving optimal control problems [4]. SOMA is a universal algorithm for various difficult optimization problems [5,6]. However, our attempt to apply SOMA to the optimal control problem of four robots with constraints has failed to find a good solution for any values of the algorithm parameters. We supposed that the modification of each possible solution in population in the process of evolution using the best current possible solution is not enough [7]. We expanded the modification of SOMA by introducing the best historical solution among randomly selected ones for each possible solution in the population.
The article consists of an introduction and eight sections. Statement of the optimal control problem with phase constraints is presented in Section 2. Section 3 contains Pontryagin maximum principle as one of main approaches for its numerical solution. Section 4 contains a description of one of the evolutionary algorithms, modified SOMA. An example is given in Section 5. The computational experiment and results are presented in Section 6. Section 7 describes the search of optimal control by direct method. Alternative non-deterministic control methods are observed in Section 8. Results and future research directions are discussed in Section 9.

2. Optimal Control Problem with Phase Constraints for Group of Robots

Consider the problem of optimal control for a group of robots with phase constraints. Given a mathematical model of control objects in the form of the system of ordinary differential equations
x ˙ j = f j ( x j , u j ) ,
where x j is a state space vector of control object j, x j R n j , u j is a control vector of object j, u j U j R m j , U j is a compact limited set, m j n j , j = 1 , , M , M is a number of objects. For the system (1) initial conditions are given
x j ( 0 ) = x j , 0 R n j , j = 1 , , M .
Given terminal conditions
x j ( t f , j ) = x j , f R n j ,
where t f , j is an unknown limited positive value, that corresponds to time when object j achieves its terminal position
t f , j t + ,
t + is a given time of achievement of terminal conditions (3),
t f , j = t , i f t < t + a n d x j ( t ) x j , f ε 1 t + ,   otherwise ,
ε 1 is a small positive value, j = 1 , , M . The phase constraints are given
φ i ( x j ( t ) ) 0 , i = 1 , , r , j = 1 , , M .
The conditions of collision avoidance are described as
χ ( x j ( t ) , x k ( t ) ) 0 , j = 1 , , M 1 , k = j + 1 , , M .
The quality functional is given in general integral form
J 0 = 0 t f f 0 ( x 1 ( t ) , , x M ( t ) , u 1 ( t ) , , u M ( t ) ) d t min ,
where
t f = max { t f , 1 , , t f , M } .
It is necessary to find control as a time function
u j = v j ( t ) , j = 1 , , M ,
in order to provide terminal conditions (3) with optimal value of functional (8) without violation of constraints (6) and with collision avoidance (7). For a numerical solution of the problem, let us insert phase constraints and terminal conditions in quality functional (8)
J 1 = 0 t f f 0 ( x 1 ( t ) , , x M ( t ) , u 1 ( t ) , , u M ( t ) ) d t + a 0 t f i = 1 r j = 1 M μ 2 ( φ i ( x j ( t ) ) ) d t +
b 0 t f j = 1 M 1 k = j + 1 M μ 2 ( χ ( x j ( t ) , x k ( t ) ) ) d t + c j = 1 M | | x j ( t f ) x j , f | | min ,
where a, b, c are given positive weight coefficients, μ ( A ) = max { 0 , A } .
To solve the problem stated above, we use the Pontryagin maximum principle.

3. The Pontryagin Maximum Principle

The Pontryagin maximum principle allows one to transform the problem of optimization on infinite dimensional space to the boundary-value problem for the system of differential Equations (1). Let us construct Hamilton function for this problem on the base of the system (2) and the quality functional (2) without terminal conditions
H ( x 1 , , x M , u 1 , , u M , ψ ) = f 0 ( x 1 , , x M , u 1 , , u M )
a i = 1 r j = 1 M μ 2 ( φ i ( x j ) ) b j = 1 M 1 k = j + 1 M μ 2 ( χ ( x j , x k ) ) + ψ T f j ( x j , u j ) ,
where ψ = [ ψ 1 ψ n ] T is a vector of conjugate variables, n = n 1 + + n M ,
ψ ˙ = H ( x 1 , , x M u 1 , , u M , ψ ) x 1 , , x M .
According to the Pontryagin maximum principle, a necessary condition for optimal control is the maximum of Hamilton function (12)
max u 1 U 1 , , u M U M H ( x 1 , , x M , u 1 , , u M , ψ ) .
Pontryagin maximum principle allows one to transform the optimal control problem to a boundary-value problem. It is necessary to find the initial values of conjugate variables so that the state vector reaches terminal conditions (3). To solve the boundary-value problem, we have to solve a finite dimensional problem of nonlinear programming with the following functional
F ( q ) = j = 1 M x j ( t f , j ) x j , f min q Q ,
where q = [ q 1 q n ] T , Q is a limited compact set, q i = ψ i ( 0 ) , i = 1 , , n ,
i = 1 n q i 2 = 1 .
In a boundary-value problem, it is not known exactly when it is necessary to check the boundary conditions (15). The maximum principle does not provide equations for definition of terminal time t f , j of the control process, while a numerical search of some possible solutions may not reach the terminal condition. To avoid this problem, let us add parameter q n + 1 for the time limit of reaching the terminal state. As a result, the goal functional for the boundary-value problem is the following
F ˜ ( q ) = j = 1 M x j ( t + + q n + 1 ) x f , j min q ˜ Q ˜ ,
where q ˜ = [ q 1 q n + 1 ] T , Q ˜ = Q × [ q n + 1 ; q n + 1 + ] , q n + 1 , q n + 1 + are low and up limitations of the parameter q n + 1 . During the search process, we can decrease time t + according to sign of parameter q n + 1 . If found parameter q n + 1 is less than zero, then t + is decreased and the interval for values of parameter [ q n + 1 ; q n + 1 + ] is also narrowed.

4. Evolutionary Algorithm

The boundary-value problem may have a nonconvex and nonunimodal objective functional (15) on the parameter space q , therefore, to solve this problem, it is advisable to use an evolutionary algorithm.
Evolutionary algorithms differ in the form of changing possible solutions. The first evolutionary algorithms appeared at the end of the XX century and continue to appear. Currently, hundreds of evolutionary algorithms are known. Most of them are named after animals, although the connection between animal behavior and computational algorithms is not strictly proven anywhere and is determined only by the statement of the author of the algorithm. Common steps of evolutionary algorithms are: generation of a set of possible solutions, assessment of solutions by objective function to find one or more best solutions, modification of solutions in accordance with the value of its objective function and with information about the values of the objective functions of other solutions by evolutionary operators.
In this work, we investigate the application of the Pontryagin maximum principle to solve the optimal control problem for a group of robots with phase constraints, and do not compare evolutionary algorithms. We applied one of the effective evolutionary algorithms, self-organizing migrating algorithm (SOMA) [5,6], with modification [7] to find the parameters, i.e., initial conditions of conjugate variables and additional parameter q n + 1 for terminal time. The modified SOMA includes the following steps.
Generate a population of H possible solutions, taking into account
q ¯ i j = ξ ( q i + q i ) + q i , i = 1 , , n + 1 , j = 1 , , H ,
where q i + = 1 , q i = 1 , i = 1 , , n , q n + 1 + = 0.2 , q n + 1 = 2.5 , H is a cardinal number of the population set, ξ is a random number from 0 to 1. Normalize the first n possible solutions according to (16)
q i j = q ¯ i j k = 1 n ( q ¯ k j ) 2 , i = 1 , , n , j = 1 , , H .
In the optimization problem, we have to find a vector of optimal parameters q = [ q 1 q n + 1 ] T in order to receive the minimal value of functional
J 1 ( q ) = j = 1 M | | x ( t + + q n + 1 ) x f , j | | m i n .
For each vector of parameters, we set a historical vector. Initially, historical vectors contain zero elements
q ˜ i j = 0 , i = 1 , , n + 1 , j = 1 , , H .
Calculate the values of functional for each possible solution
f j = J 1 ( q j ) , j = 1 , , H .
Find the best possible solution q j 0 on a stage of evolution
J 1 ( q j 0 ) = min { f 1 , , f H } .
For each historical vector, find the best vector among the randomly selected ones q ¯ j in current population
J 1 ( q j * ) = min { f j 1 , , f j K } ,
where j i { 1 , , H } , i = 1 , , K . Transform each historical vector
q ˜ i j α q ˜ i j + β ( q i j * q i j ) ,
where i = 1 , , n + 1 , j = 1 , , H , α and β are parameters of the algorithm, positive numbers less than one. Let us set a step t = δ . Calculate some new values for each possible solution
q ^ i j ( t ) = q i j + q ˜ j i + t ( q i j 0 q i j ) , i f ξ < P r t q i j + q ˜ j i , otherwise ,
where i = 1 , , n + 1 , P r t is a parameter of the algorithm. Check each component of a new vector for restrictions
q i j ( t ) = q ^ i j ( t ) k = 1 n ( q ^ k j ( t ) ) 2 , i = 1 , , n ,
q n + 1 j = q n + 1 + , i f q ^ n + 1 j ( t ) > q n + 1 + q n + 1 , i f q ^ n + 1 j ( t ) < q n + 1 q ^ n + 1 j ( t ) ,   otherwise .
Calculate the functional for a new vector
f j ( t ) = J 1 ( q j ( t ) ) .
If f j ( t ) f j , then we change possible solution q j by a new vector
q j q j ( t ) ,
f j f j ( t ) .
Increase t
t = t + δ .
If t < P l e n g t h then repeat calculations (25)–(32), P l e n g t h is a parameter of the algorithm. Repeat calculations (22)–(32) for all possible solutions in the population. Then again, find the best solution (23) and change historical vector (25). Repeat all stages R times. The last best vector is a solution of the optimization problem.
An applied algorithm with historical vector is called a modified SOMA. The value of parameter β = 0 transforms the algorithm from modified SOMA to classical SOMA. Pseudo code of the modified SOMA has the following form, see Algorithm 1.
Algorithm 1. Modified SOMA for Optimal Control Problem.
         Procedure ModSOMA ( H , R , P l e n g t h , P r t , δ ; var q j 0 )
         for ( j = 1 , , H )                                 //generation of initial population
                  s = 0
                 for ( i = 1 , , n )                          //normalization of first n elements of each q j
                          q i j = 2 · Random 1
                          s = s + ( q i j ) 2
                 end for
                 for ( i = 1 , , n )
                          q i j = q i j / s
                           q ˜ i j = 0                                    //* setting of initial values of historical vector
                 end for
                  q n + 1 j = q n + 1 + Random · ( q n + 1 + q n + 1 )
                  q ˜ n + 1 j = 0                                         //*
                  f j = J 1 ( q j )                                 //estimation of each possible solution
         end for
         for ( r = 1 , , R )                               //generations
                  j 0 = 1
                  for j = 2 , , H                           //search for the best current solution
                          if f j < f j 0 then
                                 j 0 = j
                  end for
                  for ( j = 1 , , H )                            //evolution of all solutions
                     j * = Random ( H )                      //*
                     for ( l = 1 , , K )                      //* search for the best solutions among randomly selected ones
                          j l = Random ( H )            //*
                         if f j l < f j * then
                              j * = j l                  //*
                         end if                        //*
                         end for                             //*
                         for ( i = 1 , , n + 1 )            //* transformation of historical vectors
                              q ˜ i j = α q ˜ i j + Random · β ( q i j * q i j )            //*
                         end for                             //*
                          t = δ
                         while t < P l e n g t h do              //termination condition
                              s = 0
                             for ( i = 1 , , n )            //calculation of new values of parameters
                                  if Random < P r t then
                                          q ^ i j ( t ) = q i j + q ˜ i j + t ( q i j 0 q i j )
                                 else
                                          q ^ i j = q i j + q ˜ i j
                                 end if
                                  s = s + ( q ˜ i j ) 2
                             end for
                             for ( i = 1 , , n )               //normalization
                                  q i j ( t ) = q ^ i j ( t ) / s
                             end for
                             if Random < P r t then
                                  q ^ n + 1 j ( t ) = q n + 1 j + q ˜ n + 1 j + t ( q n + 1 j 0 q n + 1 j )
                             else
                                  q ^ n + 1 j ( t ) = q ^ n + 1 j ( t )
                             end if
                             if q ^ n + 1 j > q n + 1 + then
                                  q n + 1 j = q n + 1 +
                             end if
                             if q ^ n + 1 j < q n + 1 then
                                  q n + 1 j = q n + 1
                             end if
                              f j ( t ) = J 1 ( q j ( t ) )                     //estimation of new vector of parameters
                              if f j ( t ) < f j then
                                  f j = f j ( t )
                                  for ( i = 1 , , n + 1 )
                                      q i j = q i j ( t )                     //transformation of vector of parameters                            
                                 end for
                             end if
                              t = t + δ
                          end while do
                      end for ( j = H )
                 end for ( r = R )
In pseudo code, subroutine Random generates a random real number from 0 to 1, and subroutine Random(A) generates random integer number from 0 to A 1 . We used * in comments to highlight the modification of modified SOMA in comparison to original SOMA.
The effectiveness of modified SOMA, as with all evolutionary algorithms, depends on the parameters that influence the number of computational operations, i.e., number of elements in initial population (H), number of generations (R), number of evolutions (P). To evaluate one single solution, we need to simulate the whole system, thus, for the problem, we have to calculate the functional minimum H + n R P times, where n depends on parameter of algorithm P l e n g t h .
As for all evolutionary algorithms, the convergence of modified SOMA is determined by probability. The more solutions are looked through, the more is the probability to find the optimal one. In evolutionary algorithms, the value of goal function depends on the number of generations as descending exponent. If the solution is not improved for some generations, then the search is stopped, and the best current solution is considered to be the solution to the problem. The optimal control problem with phase constraints is not unimodal, and the search algorithm is not deterministic, thus, to find the solution, the algorithm ran multiple times.

5. An Example

Consider a control problem for two similar mobile robots. Mathematical model of control objects has the following form
x ˙ j = 0.5 ( u 1 j + u 2 j ) cos θ j , y ˙ j = 0.5 ( u 1 j + u 2 j ) sin θ j , θ ˙ j = 0.5 ( u 1 j u 2 j ) ,
where j = 1 , 2 .
The control is limited
u i u i j u i + ,
where j = 1 , 2 , u i , u i + are the given constraints, i = 1 , 2 . For the system (33), the initial conditions are
x j ( 0 ) = x 0 j , y j ( 0 ) = y 0 j , θ j ( 0 ) = θ 0 j .
The terminal conditions are
x j ( t ) = x f j , y j ( t ) = y f j , θ j ( t ) = θ f j .
The static phase constraints are
φ i ( x j , y j ) = r i 2 ( x i * x j ) 2 ( y i * y j ) 0 ,
where j = 1 , 2 , r i , x i * , y i * are the given parameters of constraints, i = 1 , , r , r is a number of static phase constraints. For two robots, we have only one dynamic phase constraint
χ ( x 1 , x 2 ) = d 2 ( x 1 x 2 ) 2 ( y 1 y 2 ) 2 0 ,
where d is a given minimal distance between robots.
A quality functional is
J = t f + j = 1 2 δ j ( t f ) ,
where
t f = t , i f t < t + a n d j = 1 2 δ j ( t ) < ε t + o t h e r w i s e ,
δ j ( t ) = ( x j ) 2 ( t ) + ( y j ) 2 ( t ) + ( θ j ) 2 ( t ) ,
x j ( t ) = x j ( t ) x f j ,
y j ( t ) = y j ( t ) y f j ,
θ j ( t ) = θ j ( t ) θ f j ,
j = 1 , 2 , ε is a small positive value.
To obtain equations for conjugate variables, all constraints are included in the quality criterion, and terminal conditions are excluded as follows
J = t f + a 0 t f j = 1 2 μ 2 ( φ i ( x j , y j ) ) d t + b 0 t f μ 2 ( χ ( x 1 , x 2 ) ) d t .
Suggesting that the problem is not abnormal, let us write down the Hamilton function in the following form
H ( x , u , ψ ) = 1 j = 1 2 μ 2 ( φ i ( x j , y j ) ) a μ 2 ( χ ( x 1 , x 2 ) ) + 0.5 j = 1 2 ψ 1 + 3 ( j 1 ) ( u 1 j + u 2 j ) cos θ j +
0.5 j = 1 2 ψ 2 + 3 ( j 1 ) ( u 1 j + u 2 j ) sin θ j + 0.5 j = 1 2 ψ 3 j ( u 1 j u 2 j ) .
As a result, the differential equations for conjugate variables are
ψ ˙ 1 + 3 ( j 1 ) = H ( x , u , ψ ) x j = 4 μ ( r 1 2 ( x 1 * x j ) 2 ( y 1 * y j ) ) ( x 1 * x j ) +
4 μ ( r 1 2 ( x 2 * x j ) 2 ( y 2 * y j ) ) ( x 2 * x j ) 4 μ ( d 2 ( x 1 x 2 ) 2 ( y 1 y 2 ) ) ( x 1 x 2 ) ,
ψ ˙ 2 + 3 ( j 1 ) = H ( x , u , ψ ) y j = 4 μ ( r 1 2 ( x 1 * x j ) 2 ( y 1 * y j ) ) ( y 1 * y j ) +
4 μ ( r 1 2 ( x 2 * x j ) 2 ( y 2 * y j ) ) ( y 2 * y j ) + 4 μ ( d 2 ( x 1 x 2 ) 2 ( y 1 y 2 ) ) ( y 1 y 2 ) ,
ψ ˙ 3 j = H ( x , u , ψ ) θ j = 0.5 ψ 1 + 3 ( j 1 ) ( u 1 j + u 2 j ) sin θ j 0.5 ψ 2 + 3 ( j 1 ) ( u 1 j + u 2 j ) cos θ j ,
where j = 1 , 2 . Optimal control is calculated from equations
u ˜ 1 j = u 1 j + , if W j + ψ 3 j > 0 u 1 j , if W j + ψ 3 j < 0 special control mode , if W j + ψ 3 j = 0 ,
u ˜ 2 j = u 2 j + , if W j ψ 3 j > 0 u 2 j , if W j ψ 3 j < 0 special control mode , if W j ψ 3 j = 0 ,
where
W j = ψ 1 + 3 ( j 1 ) sin θ j + ψ 2 + 3 ( j 1 ) cos θ j ,
u 1 j + , u 2 j + , u 1 j , u 2 j are upper and lower values of control for robot j, j = 1 , 2 .
The nonlinear programming problem consists of finding initial conditions for conjugate variables
q i = ψ i ( 0 ) , i = 1 , , 6 ,
so that initial conditions have to allocate on a sphere with a unit radius
i = 1 6 q i 2 = 1 ,
as well as terminal time
t f = t + + q 7 ,
and special control modes
u 1 1 = q 8 , if | W 1 + ψ 3 | < ε 0 ,
u 2 1 = q 9 , if | W 1 ψ 3 | < ε 0 ,
u 1 2 = q 10 , if | W 2 + ψ 6 | < ε 0 ,
u 2 2 = q 11 , if | W 1 ψ 6 | < ε 0 ,
where ε 0 is a small positive value.
A goal function for the nonlinear programming has the following form
F = j = 1 2 δ j ( t f ) + a 0 t f j = 1 2 μ 2 ( φ i ( x j , y j ) ) d t + b 0 t f μ 2 ( χ ( x 1 , x 2 ) ) d t .

6. Computational Experiment

The problem had the following parameters: a number of objects M = 2 , dimensions of objects n 1 = 3 , n 2 = 3 , dimension of state space vector n = 3 + 3 = 6 , dimensions of control m 1 = 2 , m 2 = 2 , dimension of control space m = 2 + 2 = 4 dimension of parameter vector n + 1 + m = 11 .
The following values of parameters of the algorithm were used: x 0 1 = 0 , y 0 1 = 0 , θ 0 1 = 0 , x 0 2 = 10 , y 0 2 = 10 , θ 0 2 = 0 , x f 1 = 10 , y f 1 = 10 , θ f 1 = 0 , x f 2 = 0 , y f 2 = 0 , θ f 2 = 0 , u i + = 10 , u i = 10 , i = 1 , 2 , t + = 3.5 s, x 1 * = 5 , y 1 * = 8 , r 1 = 2 , x 2 * = 5 , y 2 * = 2 , r 2 = 2 , d = 2 , ε 0 = 0.1 , a = 2 , b = 2 , ε = 0.01 , H = 32 , P = 256 , P l e n g t h = 8 , P r t = 0.33 , = 0.22 , β = 0.2 , α = 0.3 , K = 7 , constraints on parameter values are q i = 1 , q i + = 1 , i = 1 , , 6 , q 7 = 2 , q 7 + = 1 , q i = 10 , q i + = 10 , i = 8 , , 11 .
An obtained optimal vector of parameters was
q = [ 0.7722 0.2142 0.2825 0.2968 0.23 0.3702 1.5112 0.0179 3.3965 2.96 0.5945 ] T .
This solution provided the value of the goal function (55) F = 0.1238 .
To obtain the solution of optimal control problem for (33) and (44) by using the Pontryagin maximum principle, the complexity of search was the following: H = 32 , P = 256 , R = H , P l e n g t h = 8 , s t e p = 0.22 , n = 8 / 0.22 = 36 , H + n R P = 32 + 36 × 32 × 256 = 294 , 944 , i.e., the functional was calculated 294,944 times. Simulation was performed in Lazarus, an open-source Free Pascal-based software, on PC with Intel Core i7, 2.8 GHz, OS Win 7. Series of 10 runs was implemented. The CPU time for 10 runs was approx. 20 min, i.e., 1 run was approx. 2 min.
The trajectories of the robots are shown in Figure 1. On Figure 1, red circles present the static constraints. Plots of obtained control are presented on Figure 2, Figure 3, Figure 4 and Figure 5. Figure 2, Figure 3, Figure 4 and Figure 5 show that optimal control includes sectors of special control modes [8]. The controls u 2 1 and u 1 2 have sliding modes.

7. Search of Optimal Control by Direct Method

The same problem was solved by direct numerical method. Control for each robot was searched as a piece-wise liner function on interval as follows
u i j = u i + , if u i + u ˜ i j u i , if u ˜ i j u i , u ˜ i j , otherwise
where
u ˜ 1 1 = q i + ( q i + 1 q i ) ( t i t ) t ,
u ˜ 2 1 = q i + K + ( q i + K + 1 q i + K ) ( t i t ) t ,
u ˜ 1 2 = q i + 2 K + ( q i + 2 K + 1 q i + 2 K ) ( t i t ) t ,
u ˜ 2 2 = q i + 3 K + ( q i + 3 K + 1 q i + 3 K ) ( t i t ) t ,
i = 1 , , K , t [ i t ; ( i + 1 ) t ) , t = 0.25 ,
K = t + t + 1 = 2.5 0.25 + 1 = 11 ,
Eleven time intervals were used. For each control, it was necessary to find 11 parameters of piece-wise linear function at the boundaries of intervals. Totally, we searched for forty-five parameters q = [ q 1 q 45 ] T , forty-four parameters were for control of two robots, and q 45 was for terminal time t + + q 45 . Values of parameters were constrained
q i q i q i + , i = 1 , , 45 ,
where q i = 20 , q i + = 20 , i = 1 , , 44 , q 45 = 0.8 , q 45 + = 0.8 .
The parameter search was also performed by modified SOMA. Vector of obtained parameters was as follows
q = [ 15.0129 17.4687 17.6772 2.2532 12.5488 9.0041 0.3886 19.9999 19.3899 19.01849 8.8472 15.2669 10.5164 19.9044 16.5724 18.0328 17.5597 18.3563 16.8607 8 , 2100 18.7127 4.3724 8.9377 0.7936 10.6309 18.9660 18.4597 18.9742 17.2781 14.6362 18.4152 13.7367 2.8521 17.0837 18.1753 17.5278 9.4618 19.5178 17.6007 11.3479 0.6898 5.4015 19.9215 9.6850 0.6628 ] T .
For direct approach, when we searched for 45 parameters by modified SOMA, the complexity of the algorithm was the following: H = 32 , P = 1024 , R = H , P l e n g t h = 8 , s t e p = 0.22 , n = 8 / 0.22 = 36 , H + n R P = 32 + 36 × 32 × 1024 = 1,179,680. Simulation was performed on PC with Intel Core i7, 2.8 GHz. A series of 10 runs was implemented. The CPU time for 10 runs was approx. 3 hours and 10 min, i.e., 1 run was approx. 19 min. We used P = 1024 for direct approach, because the number of searched parameters was 45, and it was several times bigger than 11 parameters in the first experiment.
The obtained solution is presented on Figure 6. On Figure 7, Figure 8, Figure 9 and Figure 10, the plots of direct controls are presented.

8. An Alternative Non-Deterministic Control

One of the most important issues for swarm robotics applications is catching up with moving targets and avoiding multiple dynamic obstacles. It is complicated in that it requires an algorithm to work in real time to avoid obstacles that are standing or moving in an unknown environment, where the robot does not know their position until detecting them by sensors arranged on the robot. As an alternative to the method presented above, the use of swarm intelligence algorithms as reported in [9] can be discussed. The paper [9] presents a method for swarm robot to catch the moving target and to avoid multiple dynamic obstacles in the unknown environment. An imaginary map is built, representing N targets, M obstacles and N robots and a swarm intelligence algorithm is used to control them so that targets are captured correctly and in the shortest time. The robot dynamics can be viewed as a flow of water moving from high to low. The flow of water is the robot trajectory that is divided into a set of points created by an algorithm called SOMA [5,6]. Simulation results are also presented to show that the obstacle avoidance and catching target task can be reached using this method. All details about those experiments are discussed in [9]. Results are also visualized in selected videos (https://zelinkaivan65.wixsite.com/ivanzelinka/videa). The typical example is in Figure 11.
Besides the long-standing methods such as potential field method [10,11], and the vector field histogram [12], several new methods such as “follow the gap method” [13], and barrier function [14], or artificial intelligence methods such as genetic algorithm [15], neural network [16], and fuzzy logic [17,18] also demonstrate their effectiveness. Among the methods of artificial intelligence used to solve the problem as a function optimization problem, the self-organizing migrating algorithm (SOMA) emerges as a fast, powerful and efficient algorithm [5,6].

9. Discussion

The optimal control problem for two mobile robots with phase constraints was considered. To solve the problem, an approach based on the Pontryagin maximum principle was used. The mathematical model of robots include linear control in the right parts of differential equations; that is why the optimal control has sectors of special control modes. It should be noted that we used two robots to test the proposed technology and partially to test methodology. A larger group is required to fully test the proposed methodology and it will be our future research, but in the case of many robots, the optimization problem will go on backstage and the collision avoidance will become the real problem.
To solve a boundary-value problem and search of initial conditions of conjugate variables, the modified SOMA was used. Additional parameters for terminal conditions check and control in special modes were introduced.
The optimal control problem was also solved by direct approach. Control time was divided into intervals, and control at each interval was a piece-wise linear function. Additional parameter was also a time of terminal conditions check. The direct approach showed another character of objects movement.
The aim of this paper was to show for the first time how modern evolutionary algorithms can be applied to solution of boundary-value problems that occur when we solve the optimal control problem by an indirect method based on the Pontryagin maximum principle. Other known applications of evolutionary algorithms were mainly with direct approach [4].
Thus, one can conclude that the considered problem is multimodal and application of evolutionary algorithms to both direct and indirect approaches is expedient and prospective. The next research will be focused on an extensive comparative study of classical and swarm control based methods.

10. Patents

Certificate of software registration No.2020619668 Diveev A.I., Sofronova E.A. “Optimal control of group of robots based on Pontryagin maximum principle” 21 August 2020.
Certificate of software registration No.2020619960 Diveev A.I., Sofronova E.A. “Optimal control of group of robots by direct approach based on piece-wise linear approximation”, 26 August 2020.

Author Contributions

Formal analysis, A.D.; Investigation, A.D., E.S.; Methodology, I.Z.; Software, E.S.; Supervision, I.Z.; Validation, E.S.; Writing—original draft, A.D.; Writing—review and editing, E.S. All the authors have equal contribution. All authors have read and agreed to the published version of the manuscript.

Funding

This research is supported by the Ministry of Science and Higher Education of the Russian Federation, project No 075-15-2020-799.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Pontryagin, L.S.; Boltyanskii, V.G.; Gamkrelidze, R.V.; Mishchenko, E.F. The Mathematical Theory of Optimal Processess; Interscience: New York, NY, USA, 1962. [Google Scholar]
  2. Arutyunov, A.V.; Karamzin, D.Y.; Pereira, F.L. Maximum principle in problems with mixed constraints under weak assumptions of regularity. Optimization 2010, 59, 1067–1083. [Google Scholar] [CrossRef]
  3. Karamzin, D.; Pereira, F.L. On a Few Questions Regarding the Study of State-Constrained Problems in Optimal Control. J. Optim. Theory Appl. 2019, 180, 235–255. [Google Scholar] [CrossRef]
  4. Diveev, A.I.; Konstantinov, S.V. Study of the practical convergence of evolutionary algorithms for the optimal program control of a wheeled robot. J. Comput. Syst. Sci. Int. 2018, 57, 561–580. [Google Scholar] [CrossRef]
  5. Zelinka, I. SOMA—Self organizing migrating algorithm. In New Optimization Techniques in Engineering; Babu, B.V., Onwubolu, G., Eds.; Springer: Berlin/Heidelberg, Germany, 2004; Volume 33, Chapter 7, ISBN: 3-540-20167X. [Google Scholar]
  6. Zelinka, I. SOMA—Self organizing migrating algorithm. In Self-Organizing Migrating Algorithm. Methodology and Implementation; Series: Studies in Computational Intelligence; Davendra, D., Zelinka, I., Eds.; Springer: Cham, Switzerland, 2016; pp. 3–39. ISBN 978-3-319-28161-2. [Google Scholar]
  7. Diveev, A.; Sofronova, E.; Shmalko, E. Modified SOMA for Optimal Control Problem. In Proceedings of the 2019 IEEE Congress on Evolutionary Computation, (CEC 2019), Wellington, New Zealand, 10–13 June 2019; pp. 2894–2899. [Google Scholar]
  8. Gabasov, R.; Kirillova, F.M. Optimal control with special sectors. Autom. Remote Control 1969, 30, 1554–1563. [Google Scholar]
  9. Diep, Q.B.; Zelinka, I.; Senkerik, R. An algorithm for swarm robot to avoid multiple dynamic obstacles and to catch the moving target. In Artificial Intelligence and Soft Computing. ICAISC 2019; Lecture Notes in Computer Science; Rutkowski, L., Scherer, R., Korytkowski, M., Pedrycz, W., Tadeusiewicz, R., Zurada, J.M., Eds.; Springer: Cham, Switzerland, 2019; pp. 666–675. [Google Scholar]
  10. Borenstein, J.; Koren, Y. Real-time obstacle avoidance for fast mobile robots. IEEE Trans. Syst. Man Cybern. 1989, 19, 1179–1187. [Google Scholar] [CrossRef] [Green Version]
  11. Koren, Y.; Borenstein, J. Potential field methods and their inherent limitations for mobile robot navigation. In Proceedings of the IEEE International Conference on Robotics and Automation, Sacramento, CA, USA, 9–11 April 1991; pp. 1398–1404. [Google Scholar]
  12. Borenstein, J.; Koren, Y. The vector field histogram-fast obstacle avoidance for mobile robots. IEEE Trans. Robot. Autom. 1991, 7, 278–288. [Google Scholar] [CrossRef] [Green Version]
  13. Sezer, V.; Gokasan, M. A Novel obstacle avoidance algorithm: “Follow the gap method”. Robot. Auton. Syst. 2012, 60, 1123–1134. [Google Scholar] [CrossRef]
  14. Chen, Y.; Peng, H.; Grizzle, J. Obstacle avoidance for low-speed autonomous vehicles with barrier function. IEEE Trans. Control. Syst. Technol. 2017, 99, 1–13. [Google Scholar] [CrossRef]
  15. Hu, Y.; Yang, S.X. A knowledge based genetic algorithm for path planning of a mobile robot. IEEE Int. Conf. Robot. Autom. 2004, 5, 4350–4355. [Google Scholar]
  16. Duguleana, M.; Mogan, G. Neural networks based reinforcement learning for mobile robots obstacle avoidance. Expert Syst. Appl. 2016, 62, 104–115. [Google Scholar] [CrossRef]
  17. Reignier, P. Fuzzy logic techniques for mobile robot obstacle avoidance. Robot. Auton. Syst. 1994, 12, 143–153. [Google Scholar] [CrossRef]
  18. Zavlangas, P.G.; Tzafestas, S.G.; Althoefer, K. Fuzzy obstacle avoidance and navigation for omnidirectional mobile robots. In Proceedings of the European Symposium on Intelligent Techniques, Aachen, Germany, 14–15 September 2000; pp. 375–382. [Google Scholar]
Figure 1. Trajectories of movement of robots.
Figure 1. Trajectories of movement of robots.
Mathematics 08 02105 g001
Figure 2. Control u 1 1 .
Figure 2. Control u 1 1 .
Mathematics 08 02105 g002
Figure 3. Control u 2 1 .
Figure 3. Control u 2 1 .
Mathematics 08 02105 g003
Figure 4. Control u 1 2 .
Figure 4. Control u 1 2 .
Mathematics 08 02105 g004
Figure 5. Control u 2 2 .
Figure 5. Control u 2 2 .
Mathematics 08 02105 g005
Figure 6. Trajectories of robots obtained by direct method.
Figure 6. Trajectories of robots obtained by direct method.
Mathematics 08 02105 g006
Figure 7. Direct control u 1 1 .
Figure 7. Direct control u 1 1 .
Mathematics 08 02105 g007
Figure 8. Direct control u 2 1 .
Figure 8. Direct control u 2 1 .
Mathematics 08 02105 g008
Figure 9. Direct control u 1 2 .
Figure 9. Direct control u 1 2 .
Mathematics 08 02105 g009
Figure 10. Direct control u 2 2 .
Figure 10. Direct control u 2 2 .
Mathematics 08 02105 g010
Figure 11. Swarm robot control by SOMA.
Figure 11. Swarm robot control by SOMA.
Mathematics 08 02105 g011
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Diveev, A.; Sofronova, E.; Zelinka, I. Optimal Control Problem Solution with Phase Constraints for Group of Robots by Pontryagin Maximum Principle and Evolutionary Algorithm. Mathematics 2020, 8, 2105. https://doi.org/10.3390/math8122105

AMA Style

Diveev A, Sofronova E, Zelinka I. Optimal Control Problem Solution with Phase Constraints for Group of Robots by Pontryagin Maximum Principle and Evolutionary Algorithm. Mathematics. 2020; 8(12):2105. https://doi.org/10.3390/math8122105

Chicago/Turabian Style

Diveev, Askhat, Elena Sofronova, and Ivan Zelinka. 2020. "Optimal Control Problem Solution with Phase Constraints for Group of Robots by Pontryagin Maximum Principle and Evolutionary Algorithm" Mathematics 8, no. 12: 2105. https://doi.org/10.3390/math8122105

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