At the time of writing this abstract, the master's thesis is not yet complete. Final completion: June 2021. Full text of the work and materials on the topic can be obtained from the author or his supervisor after that date.

Abstract

Introduction

A decade ago, the concept of fully self–driving vehicles remained the preserve of academic research institutions. Nowadays the commercial activity of companies (eg Waymo) that it is possible to create vehicles without a driver, which will completely change our socio–economic perception of personal transport.

However, according to a report released [1] by Rand Corporation, prototype cars without drivers have to travel hundreds of millions of miles, and in some cases hundreds of billions of miles, over several decades to demonstrate their reliability and safety. This result was considered by the authors of the report incompatible with the immediate commercial viability of self–propelled vehicles. For comparison, this is about half the distance traveled by the Voyager 2 space probe in the past 40 years. To address this issue, the researchers pointed to innovative testing methods such as advanced simulation technology.

1. Relevance of the topic

With the current level of technology development, when even household appliances are equipped with microprocessor devices, the development of new automatic control systems becomes more and more urgent.

But in connection with the increasing complexity of control objects and with the increase in requirements for control systems over the past decade, the need to create more accurate, more reliable control systems with greater functionality has sharply increased.

Intelligent systems based on artificial neural networks (ANNs) make it possible to successfully solve problems of identification and control, forecasting and optimization. There are other, more traditional approaches to solving these problems, but they do not have the necessary flexibility and have significant restrictions on the operating environment.

Neural networks make it possible to implement any nonlinear control algorithm required for the process with an incomplete, inaccurate description of the control object (or even in the absence of a description), to create soft adaptation that ensures the stability of the system with instability of parameters.

ANNs can be used for various tasks: function approximation, identification, forecasting, control, image classification, categorization, optimization.

2. Purpose and objectives of the study, planned results

The purpose this master's thesis is the research and development of methods, algorithms and software for simulation of the movement of an autonomous vehicle. To achieve this goal, it is necessary to solve a number of tasks:

  • Consider modern methods of computer modeling of dynamic systems.
  • Derive the equation of motion of the simulated car, compile a base of fuzzy rules and apply the defuzzification method.
  • Review and comparison of neural networks for driving.
  • Application of modern heuristic algorithms for neural network training.

To solve the set tasks, it is necessary to analyze the existing methods, highlight their advantages, disadvantages and choose the most promising of them.

3. Fuzzy logic

Fuzzy logic [2] – it is a form of multivalued logic in which the true values of variables can be any real numbers between 0 and 1, including both. It is used to handle the concept of partial truth, where the value of truth can vary between completely true and completely false. In contrast, in Boolean (binary) logic, only the integer values 0 or 1 can be true values of variables.

For example, in binary logic, we can say that we have a glass of hot water (that is, 1 or high logic level) or a glass of cold water (see Fig. 3.1), that is (0 or low logic level), but in a fuzzy logic, we can say that we have a glass of warm water (neither hot nor cold, that is, somewhere between these two extreme states).

Нечеткая и булева логика


Figure 3.1 – Fuzzy and boolean logic

The main advantages of fuzzy logic systems are:

  • Fuzzy logic systems are flexible and allow rules to be changed.
  • Such systems also accept even inaccurate, distorted and erroneous information.
  • Fuzzy logic systems can be easily designed.
  • Because these systems involve human reasoning and decision making, they are useful in making decisions in complex situations in various types of applications.

Fuzzy logic systems can be used in automotive systems such as automatic transmissions. Home appliance applications include microwave ovens, air conditioners, washing machines, televisions, refrigerators, vacuum cleaners, and more.

The basic architecture of a fuzzy logical system consists of the following modules and is shown in Figure 3.2.

Базовая архитектура нечеткой логической системы


Figure 3.2 – Basic architecture of a fuzzy logic system

Fuzzifier. It takes measured variables as input and converts numeric values to linguistic variables. It converts physical values as well as error signals into a normalized fuzzy subset that consists of an interval for a range of input values and membership functions that describe the probability of the state of the input variables. The input signal is mainly divided into five states, such as large positive, medium positive, small, medium negative and large negative.

Controller. It consists of a knowledge base and an inference engine. The knowledge base stores membership functions and fuzzy rules obtained by knowing how the system works in the environment. The inference engine processes the obtained membership functions and fuzzy rules. In other words, the inference engine generates output based on linguistic information.

Defuzzifier. It performs the reverse phasefair process. In other words, it converts fuzzy values into normal numerical or physical signals and sends them to the physical system to control the operation of the system.

3.1 Application of fuzzy logic to simulate the movement of an autonomous vehicle

The goal of the simulated car is to reach the end line without hitting walls and output the trajectory (including the position of the car for each moment in time, sensor value and steering angle) as a text file and then display it on the GUI.

The developed car simulator uses a fuzzy control system to simulate the movement of an autonomous vehicle on a map (see Fig. 3.3).

Имитации движения автономного объекта


Figure 3.3 – Simulating the movement of an autonomous object

The input contains three vehicle distance sensors (front, 45 degrees left and right), which can be obtained from a defined equation of motion, vehicle position and the angle between the vehicle and the horizontal axis. The output signal is the steering angle.

The equations of motion of the simulated car are as follows:

where:

  • Φ(t) – the angle between the vehicle and the horizontal axis;
  • b – the length of the simulated machine;
  • x and y – coordinates of the car;
  • θ – steering angle.

4. Radial basis function network

Radial basis function network [3] in mathematical modeling, it is an artificial neural network that uses radial basis functions as an activation function. The network output is a linear combination of radial–basis input functions and neuron parameters. Radial basis function networks have many applications, such as function approximation, time series forecasting, classification problems, and system control. They were first formulated in a 1988 paper by Broomhead and Lowe, both researchers at the Royal Signals and Radar Establishment.

Radial basis function networks (RBFN) usually have three layers (see Figure 4.1): an input layer, a hidden layer with a nonlinear RBF activation function, and a linear output level.

Архитектура сети радиально-базисных функций


Figure 4.1 – Architecture of a radial basis function network

4.1 RBF network training

The car simulator uses a Genetic Algorithm (GA) and Particle Swarm Optimization (PSO) to train a network of radial basis functions that will drive the car.

Genetic Algorithm [4] – it is a heuristic search algorithm used to solve optimization and modeling problems by random selection, combination and variation of the desired parameters using mechanisms similar to natural selection in nature. It is a kind of evolutionary computation that solves optimization problems using natural evolution methods such as inheritance, mutation, selection and crossing over. A distinctive feature of the genetic algorithm is the emphasis on the use of the "crossing" operator, which performs the operation of recombination of candidate solutions, the role of which is similar to the role of crossing in wildlife.

Particle Swarm Optimization [5] – a numerical optimization method that does not require knowing the exact gradient of the function being optimized.

PSO was proven by Kennedy, Eberhart and Shea and was originally intended to mimic social behavior. The algorithm was simplified and found to be suitable for optimization. The Kennedy and Eberhart book describes many of the philosophical aspects of ORC and so–called swarm intelligence. An extensive study of PSO applications is done by Poli. The PSO optimizes a function by maintaining a population of possible solutions, called particles, and moving these particles through the solution space according to a simple formula. The displacements obey the principle of the best position found in this space, which constantly changes when the particles find more favorable positions.

The gene/PSO coordinate is defined as three parameters of the RBFN (w, m, σ) of the mixed measurement vector. The fitness function is the mean variance of the expected result of the dataset and the result of the RBFN in a particular input case. The smallest suitability value is the best RBFN parameter.

The structure of the network of radial–basis functions is shown in Figure 4.2.

Структура сети радиально-базисных функций


Figure 4.2 – Network structure of radial–basis functions

Where x is the data set input, and use the Gaussian base function:

where w, m, σ are parameters of optimization algorithm. The fitness function is:

where y is the expected output and F(x) is the RBFN output. Figure 4.3 shows an algorithm for training a network of radial basis functions [6] using Genetic Algorithms/Particle Swarm Optimization.

Алгоритм обучения РБФ сети с помощью генетических алгоритмов/оптимизации роя частиц


Figure 4.3 – Algorithm for learning RBF network using Genetic Algorithms/Particle Swarm Optimization

Conclusions

Methods for constructing computer fuzzy systems based on the theory of fuzzy sets significantly expand the field of application of computers. Recently, fuzzy control has become one of the most active and productive areas of research in the application of the theory of fuzzy sets. Fuzzy methods help control a blast furnace and rolling mill, a car and a train, recognize speech and images, and design robots that have touch and vision. Fuzzy logic generally provides an effective means of displaying real–world uncertainties and imprecisions. The presence of mathematical means of reflecting the fuzziness of the initial information allows you to build a model that is adequate to reality.

Fuzzy numbers obtained as a result of "not quite accurate measurements" are in many ways similar to distributions of probability theory, but compared to probabilistic methods, methods of fuzzy logic can dramatically reduce the amount of computations, which, in turn, leads to an increase in the performance of fuzzy systems.

Neurocontrol of dynamic objects is a new promising direction at the intersection of such disciplines as automatic control, artificial intelligence, neurophysiology. Neural networks have a number of unique properties that make them a powerful tool for creating control systems: the ability to learn by examples and generalize data, the ability to adapt to changes in the properties of the control object and the external environment, suitability for the synthesis of nonlinear controllers, high resistance to damage to their elements in the power of parallelism inherent in the neural network architecture.

Radial–basis neural networks have several advantages over other network architectures. First, they have only one hidden layer, which frees the developer from deciding the number of hidden layers and makes implementation easier. Second, the obtained linear combinations can be optimized using well–known linear optimization methods. Due to this, radial–basis neural networks learn quickly.

References

  1. Driving to Safety. How Many Miles of Driving Would It Take to Demonstrate Autonomous Vehicle Reliability? [Электронный ресурс]. – Режим доступа: https://www.rand.org/pubs/research_reports/RR1478
  2. Что такое нечеткая логика (fuzzy logic): принцип работы, примеры, применение [Электронный ресурс]. – Режим доступа: http://digitrode.ru/articles/1242
  3. Сеть радиально-базисных функций [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Сеть_радиально-базисных_функций
  4. Генетический алгоритм [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Генетический_алгоритм
  5. Метод роя частиц [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Метод_роя_частиц
  6. Введение в RBF сети [Электронный ресурс]. – Режим доступа: https://basegroup.ru/community/articles/rbf