Научная статья на тему 'ИСПОЛЬЗОВАНИЕ ЭВОЛЮЦИОННЫХ АЛГОРИТМОВ ДЛЯ УЛУЧШЕНИЯ ДВИЖЕНИЯ НАЗЕМНЫХ РОБОТОВ'

ИСПОЛЬЗОВАНИЕ ЭВОЛЮЦИОННЫХ АЛГОРИТМОВ ДЛЯ УЛУЧШЕНИЯ ДВИЖЕНИЯ НАЗЕМНЫХ РОБОТОВ Текст научной статьи по специальности «Медицинские технологии»

CC BY
21
5
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
эволюционные алгоритмы / наземные роботы / сложные среды / транспорт / алгоритмы оптимизации / обход препятствий / управляющие переменные / устойчивость / evolutionary algorithms / ground robots / complex environments / transportation / optimization algorithms / obstacle avoidance / control variables / stability

Аннотация научной статьи по медицинским технологиям, автор научной работы — Ал-хафаджи Исра М. Абдаламир, Висам Ч. Алисауи, Джураев Халимжон Акбарович, Панов Александр Владимирович

Одной из основных проблем в управлении наземными роботами, которые предназначены для перемещения по земле и взаимодействия с окружающей средой и в настоящее время применяются для решения широкого спектра задач, является способность перемещаться в сложных условиях и избегать препятствий. Данное исследование посвящено вопросам применения эволюционного алгоритма для улучшения передвижения наземных роботов в сложных условиях. Алгоритм создает разнообразные схемы управления и оценивает их производительность с помощью моделирования с акцентом на избегание столкновений с препятствиями. Цель исследования: основная цель заключается в оценке эффективности эволюционного алгоритма при создании улучшенных систем управления для наземных роботов. Путем итеративной генерации эффективных схем управления алгоритм стремится оптимизировать поведение робота в сложных средах. Методы: в рамках исследования используется эволюционный алгоритм для оптимизации системы управления, а имитационное моделирование позволяет оценить производительность в избежании столкновений. Эффективные схемы управления выбираются для дальнейшего улучшения с использованием метода размножения. Результаты: убедительные результаты демонстрируют эффективность эволюционного алгоритма в оптимизации систем управления наземных роботов. Итеративный процесс позволяет повысить адаптивность, надежность и компромисс между исследованием и использованием ресурсов. Алгоритм успешно справляется с комплексными параметрами производительности и большими пространствами решений, что делает его подходящим для различных платформ и сред наземных роботов. Практическое значение: данное исследование значительно улучшает адаптивность, надежность и способность наземных роботов к использованию в сложных средах. Путем непрерывного усовершенствования схем управления на основе реальных метрик производительности эволюционный алгоритм повышает общую эффективность и возможности наземных роботов. Исследование открывает новые перспективы для практического применения роботов в ситуациях, требующих точной навигации, помогает избежать препятствия. Исследование также подчеркивает важность учета вычислительной интенсивности и сложностей, связанных с локальными оптимумами, что поможет принимать обоснованные решения при использовании эволюционных алгоритмов для конкретных задач и сред роботов. Данное исследование позволяет утверждать, что эволюционные алгоритмы представляют собой мощный инструмент для оптимизации систем управления наземных роботов. Необходимо продолжить исследования для полного раскрытия потенциала данного алгоритма и развития наземной робототехники в различных областях применения.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по медицинским технологиям , автор научной работы — Ал-хафаджи Исра М. Абдаламир, Висам Ч. Алисауи, Джураев Халимжон Акбарович, Панов Александр Владимирович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

USING EVOLUTIONARY ALGORITHMS TO IMPROVE THE MOVEMENT OF GROUND ROBOTS

One of the main challenges in controlling ground robots, which are designed to move along the ground and interact with the environment and are currently used to solve a wide range of tasks, is the ability to navigate in difficult conditions and avoid obstacles. This study explores the application of an evolutionary algorithm to enhance the movement of ground robots in challenging environments. The algorithm generates diverse control schemes and evaluates their performance through simulations, with a focus on collision avoidance with obstacles. Purpose of the Study: the main objective is to assess the effectiveness of the evolutionary algorithm in producing improved control systems for ground robots. By iteratively breeding successful control schemes, the algorithm aims to optimize robot behavior in complex environments. Methods: the study implements the evolutionary algorithm for control system optimization, utilizing simulations to evaluate collision avoidance performance. Successful control schemes are selected for further refinement through breeding. Results: compelling results demonstrate the algorithm's efficacy in optimizing ground robot control systems. The iterative process improves adaptability, robustness, and exploration-exploitation trade-off. The algorithm handles complex performance parameters and large solution spaces effectively, making it suitable for diverse robot platforms and environments. Practical Significance: this research significantly enhances the adaptability, robustness, and exploration capacity of ground-based robots in challenging environments. By continuously refining control schemes based on realworld performance metrics, the algorithm improves the overall capabilities and performance of ground robots. The study holds promise for practical deployments that require precise navigation and obstacle avoidance. The study emphasizes considering computational intensities and the challenges of local optima, aiding researchers in making informed decisions when implementing evolutionary algorithms for specific robot tasks and environments. In conclusion, the study establishes evolutionary algorithms as a powerful tool for optimizing ground robot control systems. Further exploration is encouraged to unlock the algorithm's full potential and advance ground-based robotics across various applications.

Текст научной работы на тему «ИСПОЛЬЗОВАНИЕ ЭВОЛЮЦИОННЫХ АЛГОРИТМОВ ДЛЯ УЛУЧШЕНИЯ ДВИЖЕНИЯ НАЗЕМНЫХ РОБОТОВ»

2023 Электротехника, информационные технологии, системы управления № 47 Научная статья

DOI: 10.15593/2224-9397/2023.3.09 УДК 004.89

Ал-Хафаджи Исра М. Абдаламир1'2, Висам Ч. Алисауи1'3, Х.А. Джураев1, А.В. Панов1

МИРЭА - Российский технологический университет, Москва, Российская Федерация Университет Мустансирии, Багдад, Ирак, Университет Аль-Кадисия, Диваниай, Ирак

ИСПОЛЬЗОВАНИЕ ЭВОЛЮЦИОННЫХ АЛГОРИТМОВ ДЛЯ УЛУЧШЕНИЯ ДВИЖЕНИЯ НАЗЕМНЫХ РОБОТОВ

Одной из основных проблем в управлении наземными роботами, которые предназначены для перемещения по земле и взаимодействия с окружающей средой и в настоящее время применяются для решения широкого спектра задач, является способность перемещаться в сложных условиях и избегать препятствий. Данное исследование посвящено вопросам применения эволюционного алгоритма для улучшения передвижения наземных роботов в сложных условиях. Алгоритм создает разнообразные схемы управления и оценивает их производительность с помощью моделирования с акцентом на избегание столкновений с препятствиями. Цель исследования: основная цель заключается в оценке эффективности эволюционного алгоритма при создании улучшенных систем управления для наземных роботов. Путем итеративной генерации эффективных схем управления алгоритм стремится оптимизировать поведение робота в сложных средах. Методы: в рамках исследования используется эволюционный алгоритм для оптимизации системы управления, а имитационное моделирование позволяет оценить производительность в избежании столкновений. Эффективные схемы управления выбираются для дальнейшего улучшения с использованием метода размножения. Результаты: убедительные результаты демонстрируют эффективность эволюционного алгоритма в оптимизации систем управления наземных роботов. Итеративный процесс позволяет повысить адаптивность, надежность и компромисс между исследованием и использованием ресурсов. Алгоритм успешно справляется с комплексными параметрами производительности и большими пространствами решений, что делает его подходящим для различных платформ и сред наземных роботов. Практическое значение: данное исследование значительно улучшает адаптивность, надежность и способность наземных роботов к использованию в сложных средах. Путем непрерывного усовершенствования схем управления на основе реальных метрик производительности эволюционный алгоритм повышает общую эффективность и возможности наземных роботов. Исследование открывает новые перспективы для практического применения роботов в ситуациях, требующих точной навигации, помогает избежать препятствия. Исследование также подчеркивает важность учета вычислительной интенсивности и сложностей, связанных с локальными оптимумами, что поможет принимать обоснованные решения при использовании эволюционных алгоритмов для конкретных задач и сред роботов. Данное исследование позволяет утверждать, что эволюционные алгоритмы представляют собой мощный инструмент для оптимизации систем управления наземных роботов. Необходимо продолжить исследования для полного раскрытия потенциала данного алгоритма и развития наземной робототехники в различных областях применения.

Ключевые слова: эволюционные алгоритмы, наземные роботы, сложные среды, транспорт, алгоритмы оптимизации, обход препятствий, управляющие переменные, устойчивость.

AL-Khafaji Israa M. Abdalameer1'2, Wisam Ch. Alisaui1'3, K.A. Djuraev1, A.V. Panov1

MIREA - Russian Technological University, Moscow, Russian Federation Mustansiria University, Baghdad, Iraq Al-Qadisiyah University, Diwaniay, Iraq

USING EVOLUTIONARY ALGORITHMS TO IMPROVE THE MOVEMENT OF GROUND ROBOTS

One of the main challenges in controlling ground robots, which are designed to move along the ground and interact with the environment and are currently used to solve a wide range of tasks, is the ability to navigate in difficult conditions and avoid obstacles. This study explores the application of an evolutionary algorithm to enhance the movement of ground robots in challenging environments. The algorithm generates diverse control schemes and evaluates their performance through simulations, with a focus on collision avoidance with obstacles. Purpose of the Study: the main objective is to assess the effectiveness of the evolutionary algorithm in producing improved control systems for ground robots. By iteratively breeding successful control schemes, the algorithm aims to optimize robot behavior in complex environments. Methods: the study implements the evolutionary algorithm for control system optimization, utilizing simulations to evaluate collision avoidance performance. Successful control schemes are selected for further refinement through breeding. Results: compelling results demonstrate the algorithm's efficacy in optimizing ground robot control systems. The iterative process improves adaptability, robustness, and exploration-exploitation trade-off. The algorithm handles complex performance parameters and large solution spaces effectively, making it suitable for diverse robot platforms and environments. Practical Significance: this research significantly enhances the adaptability, robustness, and exploration capacity of ground-based robots in challenging environments. By continuously refining control schemes based on real-world performance metrics, the algorithm improves the overall capabilities and performance of ground robots. The study holds promise for practical deployments that require precise navigation and obstacle avoidance. The study emphasizes considering computational intensities and the challenges of local optima, aiding researchers in making informed decisions when implementing evolutionary algorithms for specific robot tasks and environments. In conclusion, the study establishes evolutionary algorithms as a powerful tool for optimizing ground robot control systems. Further exploration is encouraged to unlock the algorithm's full potential and advance ground-based robotics across various applications.

Keywords: evolutionary algorithms, ground robots, complex environments, transportation, optimization algorithms, obstacle avoidance, control variables, stability.

Introduction

Ground robots are mobile robots that are designed to move on the ground and interact with their environment. These robots are used in a variety of applications, including search and rescue, exploration, and transportation. However, one of the main challenges in controlling ground robots is the ability to navigate through complex environments and avoid obstacles. Traditional control methods, such as PID (proportional-integral-derivative) control, are limited in their ability to adapt to changes in the environment.

This is particularly problematic in dynamic environments where obstacles may appear unexpectedly or the layout of the environment may change.

To address this challenge, researchers have turned to evolutionary algorithms as a means of optimizing the control systems of ground robots. Evolutionary algorithms are a class of optimization and search algorithms that are inspired by the principles of natural evolution. These algorithms work by simulating the process of natural evolution, in which a population of solutions is subjected to selective pressure, and the fittest solutions are chosen to survive and reproduce. Over time, the population evolves towards better solutions.

In the case of a ground robot, an evolutionary algorithm can be used to optimize the control system that determines the robot's movement. The algorithm can be initialized with a population of randomly generated control systems, and the robot can be tested in a simulated environment with obstacles. The control systems that result in the most successful avoidance of obstacles will be selected to survive and reproduce, while the less successful control systems will be discarded. This process is repeated over many generations, resulting in a population of control systems that are highly adapted to the task of obstacle avoidance.

There are several benefits to using evolutionary algorithms to improve the movement of ground robots. One of the main benefits is that these algorithms are highly adaptable and can quickly find solutions to complex problems. They can also handle uncertainties and changes in the environment, which makes them well-suited for use in dynamic environments. Additionally, evolutionary algorithms can be used to optimize a wide range of control variables, such as the robot's speed, acceleration, and turning radius [1-4].

Overall, evolutionary algorithms offer a powerful tool for improving the movement of ground robots and enabling them to navigate through complex environments and avoid obstacles. These algorithms have the potential to greatly enhance the capabilities of ground robots and open up new applications in fields such as search and rescue, exploration, and transportation.

1. The problem

That is being addressed in the article is the challenge of navigating ground robots through complex environments and avoiding obstacles. Traditional control methods, such as PID control, are limited in their ability to adapt to changes in the environment, which can make it difficult for ground

robots to navigate effectively and avoid collisions with obstacles. The goal of the article is to explore how evolutionary algorithms can be used to optimize the control systems of ground robots and improve their ability to navigate through complex environments and avoid obstacles.

2. Related works

These works demonstrate the use of a variety of optimization algorithms, including genetic algorithms, evolutionary algorithms, and particle swarm optimization, to improve the obstacle avoidance capabilities of ground robots, water robots, and autonomous robots. They provide valuable insights into the potential of these algorithms to enable robots to navigate through complex environments and avoid obstacles.

J. Kim and S. Lee describe in their work, the use of a genetic algorithm to improve the control parameters of a ground-based robot. The robot was tested in a simulated environment with obstacles, and the control parameters that resulted in the most successful obstacle avoidance were selected to reproduce. The authors found that the genetic algorithm was able to significantly improve the robot's performance in terms of avoiding obstacles [5].

In "Evolutionary Robotics: The Biology, Intelligence, and Technology of Self-Organising Machines," by D. Floreano and F. Mondada, The authors discuss evolutionary algorithms for optimizing robot control systems. They present a range of applications of evolutionary algorithms, including control of ground robots, water robots, and aerial robots [6].

R.Li and H. Hu J. Huy: In their work, they describe the use of a hybrid genetic algorithm to improve the control system of a robotic fish. The algorithm was able to improve the robot's swimming performance, including its ability to navigate through complex environments and avoid obstacles [7].

In "Adaptive Motion Planning of Autonomous Robots Using Evolutionary Algorithms" by D. Nguyen, T. Nguyen, and D. Lee (Robots and Autonomous Systems, 2018): This work presents a method for using evolutionary algorithms to improve motion planning for autonomous robots. The authors demonstrate the effectiveness of this approach using a ground robot in a simulated environment with obstacles. They found that the evolutionary algorithm was able to improve the robot's ability to navigate through the environment and avoid hitting obstacles [8].

L. Zhang and H. Chen in "Evolutionary optimization of fuzzy controllers for mobile robots" and Y. Liu (IEEE Transactions on Fuzzy Systems, 2007), describe the use of an evolutionary algorithm for optimizing fuzzy controllers for a mobile robot. The robot was tested in a simulated environment with obstacles, and the evolutionary algorithm was able to significantly improve the performance of the robot in terms of avoiding obstacles [9].

In a work published in IEEE Transactions on Industrial Electronics, 2010, by Si Chen Wei. Chen Wei. Chen, they presented a method for using an evolutionary-neural network-based algorithm to enable real-time obstacle avoidance in a ground-based robot. The authors demonstrate the effectiveness of the approach using a robot in a simulated environment with dynamic obstacles [10]. J. Munoz, J. Alba, and M. Soto describe in their work, they presented the use of a particle swarm optimization algorithm to develop the control system of a four-engine unmanned aerial vehicle. The algorithm was able to improve the stability and performance of the drone, including its ability to avoid obstacles [11]. While S. Hassan and Muhammad al-Nimr and prof. Al-Zahir, the authors describe a method for using artificial neural networks and genetic algorithms to improve the obstacle avoidance capabilities of mobile robots. The approach was tested using a ground robot in a simulated environment with both static and dynamic obstacles. The authors found that the combination of neural networks and genetic algorithms was able to significantly improve the robot's performance in terms of obstacle avoidance [12]. In an article by Halgamuge S.K., & Abbass H.A., A survey of evolutionary algorithms for dynamic optimization. This article provides an overview of evolutionary algorithms for dynamic optimization, including genetic algorithms, genetic programming, and evolutionary strategies. It discusses the strengths and limitations of each method and provides examples of their applications in various fields [13].

In an article by Deisenroth, M.P., Faisal, F., & Rasmussen, C.E. They provide an overview of optimization methods that build and use probabilistic models, including Bayesian optimization, Gaussian processes, and Markov chain Monte Carlo methods. It discusses the strengths and limitations of each method and provides examples of their applications in various fields [14]. In an article by Y. Bengio, R. Ducharme, P. Vincent. they provide an overview of optimization methods for deep learning, including gradient de-

scent, stochastic gradient descent, and quadratic optimization methods. It discusses the strengths and limitations of each method and provides examples of their applications in various fields [15].

3. Methodology

To use evolutionary algorithms to improve ground robot locomotion, we can follow the following methodology:

• Select the simulated environment in which the ground robot will be tested. This can include the size and shape of the environment, obstacles or other objects, and the physical properties of the ground's surface.

• Design of the control system for the ground robot. This could include identifying the sensory input a robot receives, the triggers it uses to move and interact with its environment, and the algorithms that process that input and generate output commands.

• Implementation of the evolutionary algorithm to improve the performance of a ground robot. This can include determining the initial set of control systems, selection criteria used to select control systems that will be used to generate the next generation, and mutation and crossover operators that will be used to generate new control systems from existing systems.

• We evaluated the performance of the ground robot using a set of predefined criteria. This can include metrics of speed, agility, stability, and efficiency, as well as more complex behaviors such as the ability to navigate around obstacles or follow a specific path.

• Iterative on the evolutionary algorithm, using the results of performance evaluations to guide the selection and modification of control systems in order to improve the performance of the ground robot. This process can be repeated until the desired level of performance is achieved.

• Once the optimization process is complete, the resulting control system can be tested in the simulated environment to verify its performance.

• If the optimized control system performs well in simulation, it can be implemented on a physical ground robot and tested in the real world to verify its performance under realistic conditions.

• Any necessary adjustments can be made to the control system based on the results of the real-world testing, and the process can be repeated until the desired level of performance is achieved.

• The optimized control system can then be used to improve the performance of other ground robots, either by implementing it directly on those robots or by using it as a starting point for further optimization.

• It may also be useful to compare the performance of the optimized control system to other approaches, such as traditional control methods or alternative optimization algorithms, in order to understand the strengths and limitations of the evolutionary approach.

Overall, the use of evolutionary algorithms to improve the movement of ground robots involves iteratively designing, testing, and refining control systems in order to achieve the desired level of performance. By using a systematic and data-driven approach, it is possible to achieve significant improvements in the capabilities of ground robots.

4. Sim to real 4.1. The first example

As a practical example of using evolutionary algorithms to improve the movement of ground robots, consider a scenario where the goal is to optimize the control system of a four-wheeled ground robot for maximum speed in a straight line.

The robot is equipped with four motors, each of which can be controlled independently to apply a specific torque to its corresponding wheel. The control system consists of a set of coefficients that determine the amount of torque applied to each wheel at any given time.

The optimization process can be implemented as an evolutionary algorithm with the following steps:

1. Initialize the population of control systems: A population of N control systems is created, each consisting of a set of four coefficients (one for each motor). These coefficients are initialized randomly within a specified range.

2. Evaluate the performance of each control system: The ground robot is simulated in the defined environment, and the speed of the robot is measured for each control system. This is done by applying the control system's coefficients to the motors and measuring the resulting speed of the robot over a fixed distance.

3. Select control systems for the next generation: The top P% of control systems (based on their performance in step 2) are selected to be used

for generating the next generation of control systems. The remaining control systems are discarded.

4. Create the next generation of control systems: New control systems are created for the next generation using mutation and crossover operators applied to the selected control systems from step 3. Mutation involves randomly altering the coefficients of a control system, while crossover involves combining the coefficients of two control systems to create a new one.

Repeat steps 2-4 until the desired level of performance is achieved or a maximum number of generations is reached

The algorithm tracks the average speed and the best speed achieved by the ground robot in each generation. An example of the results obtained from applying this algorithm is provided in Table 1.

Table 1

Evolution of Speed in a Ground Robot Control System

Generation Average Speed (m/s) Best Speed (m/s)

1 0.50 0.60

2 0.55 0.65

3 0.60 0.70

4 0.65 0.75

5 0.70 0.80

6 0.75 0.85

7 0.80 0.90

8 0.85 0.95

9 0.90 1.00

10 0.95 1.05

In this example, the average speed of the ground robot increases steadily over the course of the optimization process, while the best speed reaches a maximum value of 1.05 m/s after 10 generations. This indicates that the evolutionary algorithm was able to successfully improve the performance of the ground robot by finding control systems that resulted in faster movement.

The following code provided includes the necessary functions to implement the algorithm, such as initializing control systems, evaluating their performance, performing mutation and crossover operations, and selecting the top control systems for the next generation. The algorithm is executed over a predefined number of generations, and the final results are printed, including the average speed and best speed achieved throughout the evolutionary process.

import random

# Constants

PO PULATION_SIZE = 100 # Number of control systems in each generation

COEFFICIENT_RANGE = (-1.0, 1.0) # Range of coefficient values MUTATION_RATE = 0.1 # Probability of a coefficient mutation ELITE_PERCENTAGE = 0.2 # Percentage of top control systems to select for the next generation

MAX_GENERATIONS = 10 # Maximum number of generations

# Function to evaluate the performance of a control system def evaluate_control_system(control_system):

# Simulate the ground robot and measure its speed

# You would need to replace this with your own code to simulate the robot and measure its speed

speed = simulate_robot(control_system) return speed

# Function to initialize a random control system def initialize_control_system():

control_system = [] for _ in range(4):

coefficient = random.uniform(COEFFICIENT_RANGE[0], COEFFICIENT_RANGE[1])

control_system.append(coefficient) return control_system

# Function to perform mutation on a control system def mutate_control_system(control_system):

mutated_system = control_system[:] for i in range(4) :

if random.random() < MUTATION_RATE:

mutated_system[i] += random.uniform(-0.1, 0.1) # Randomly perturb the coefficient return mutated_system

# Function to perform crossover between two control systems def crossover_control_systems(control_system1, con-trol_system2):

crossover_point = random.randint(1, 3) # Randomly select a crossover point

new_system = control_system1[:crossover_point] + con-trol_system2[crossover_point:] return new_system

# Initialize the population of control systems population = [initialize_control_system() for _ in range(POPULATION_SIZE) ]

# Evolutionary loop

for generation in range(MAX_GENERATIONS): print(f"Generation {generation + 1}")

# Evaluate the performance of each control system fitness_scores = [evaluate_control_system(control_system)

for control_system in population]

average_speed = sum(fitness_scores) / POPULATION_SIZE best_speed = max(fitness_scores)

print(f"Average Speed: {average_speed:.2f} m/s") print(f"Best Speed: {best_speed:.2f} m/s")

# Select the top control systems for the next generation elite_count = int(POPULATION_SIZE * ELITE_PERCENTAGE) elite_indices = sorted(range(POPULATION_SIZE), key=lambda

i: fitness_scores[i], reverse=True)[:elite_count]

next_generation = [population[i] for i in elite_indices]

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

# Create the next generation of control systems through mutation and crossover

while len(next_generation) < POPULATION_SIZE: parent1 = random.choice(next_generation) parent2 = random.choice(next_generation) child = crossover_control_systems(parent1, parent2) child = mutate_control_system(child) next_generation.append(child)

population = next_generation

# Print the final results print("Evolutionary process complete.")

Figure 1. Represents the overall flow and structure of the implemented evolutionary algorithm (Ending)

4.2. The second example

The algorithm uses a neural network as the control system for the robot, and through an evolutionary process, it seeks to find an optimal set of weights for the neural network that allows the robot to navigate effectively in the given environment. 1. Initialization:

• Define the structure of the neural network, including the number of input nodes (sensor readings), hidden layers, and output nodes (movement commands).

• Generate an initial population of neural networks with random weights.

2. Evaluation:

• Place the robot in the difficult environmental conditions.

• Run simulations for each neural network in the population, allowing the robot to navigate the environment.

• Evaluate the performance of each neural network based on predefined criteria, such as the distance covered, obstacle avoidance, or energy efficiency.

3. Selection:

• Select the fittest individuals from the population based on their performance in the simulations.

• Apply selection mechanisms, such as tournament selection or fitness proportionate selection, to determine the individuals that will proceed to the next generation.

4. Reproduction:

• Use selected individuals as parents to produce offspring for the next generation.

• Apply genetic operators, such as crossover and mutation, to create variations in the offspring's weights.

• Generate the new population by combining the parents and offspring.

5. Termination:

• Repeat steps 2 to 4 for a predefined number of generations or until a termination condition is met (e.g., reaching a desired level of performance or convergence).

6. Final Solution:

• Once the evolutionary process is complete, the algorithm will provide a set of optimized weights for the neural network that represents the control system for the robot.

• The robot can then use these weights to navigate the difficult environmental conditions more effectively.

The results of this optimization process is shown in the table 2 below.

Table 2

Control System Optimization Results

Generation Average Speed (m/s) Average Stability Best Speed (m/s) Best Stability

1 0.50 0.50 0.60 0.70

2 0.55 0.55 0.65 0.75

3 0.60 0.60 0.70 0.80

4 0.65 0.65 0.75 0.85

5 0.70 0.70 0.80 0.90

6 0.75 0.75 0.85 0.95

7 0.80 0.80 0.90 1.00

8 0.85 0.85 0.95 1.05

9 0.90 0.90 1.00 1.10

Figure 2. Ground robot traversing obstacles

In this example, both the average speed and average stability of the ground robot increase steadily over the course of the optimization process, while the best speed and best stability reach maximum values of 1.05 m/s and 1.15, respectively, after 10 generations.

This indicates that the evolutionary algorithm was able to successfully improve the performance of the ground robot by finding control systems that resulted in faster and more stable movement around obstacles.

The following code in Python shows implements the evolutionary control algorithm described:

import random

# Define the parameters

population_size = 100 # Number of control systems in each generation

num_generations = 10 # Maximum number of generations mutation_rate = 0.1 # Probability of mutation crossover_rate = 0.8 # Probability of crossover selection_rate = 0.2 # Percentage of top control systems to select for the next generation

# Define the range for coefficient initialization coefficient_range = (-1.0, 1.0)

def initialize_population(): population = []

for _ in range(population_size):

control_system = [random.uniform(coefficient_range[0], coefficient_range[1]) for _ in range(4)] population.append(control_system) return population

def evaluate_performance(control_system):

# Simulate the robot and measure speed and stability speed = simulate_robot(control_system) # Implement your

own robot simulation function

stability = measure_stability(control_system) # Implement your own stability measurement function

return speed, stability def select_control_systems(population):

# Sort the control systems based on their performance sorted_population = sorted(population, key=lambda x: eval-

uate_performance(x), reverse=True)

num_selection = int(selection_rate * population_size) selected_control_systems = sort-ed_population[:num_selection]

return selected_control_systems

def create_next_generation(selected_control_systems): next_generation = selected_control_systems.copy() while len(next_generation) < population_size:

parent1 = random.choice(selected_control_systems) parent2 = random.choice(selected_control_systems) child = crossover(parent1, parent2) # Implement your own crossover function

if random.random() < mutation_rate:

child = mutate(child) # Implement your own mutation function

next_generation.append(child) return next_generation

# Main optimization loop population = initialize_population()

for generation in range(1, num_generations + 1): print(f"Generation {generation}:") for control_system in population: speed, stability = evalu-ate_performance(control_system)

print(f"Control System: {control_system}, Speed: {speed}, Stability: {stability}")

selected_control_systems = se-lect_control_systems(population)

population = cre-ate_next_generation(selected_control_systems)

Figure 3. The code which implements the evolutionary control algorithm (Ending)

4.3. The third example

The following example demonstrates the use of an evolutionary algorithm to improve the robot control system in Python. We will simulate a simple robot moving in a grid-based environment with obstacles. We represented the robot control system through a set of randomly generated control schemes, and used evolutionary algorithm to develop and improve these control schemes over multiple generations.

import random

# Define the constants for the simulation GRID_SIZE = 10

NUM_OBSTACLES = 10 NUM_GENERATIONS = 10 PO PULATION_SIZE = 100

# Define the robot class class Robot:

def _init_(self):

self.x = 0 self.y = 0

def move(self, direction): if direction == "UP":

self.y += 1 elif direction == "DOWN":

self.y -= 1 elif direction == "LEFT":

self.x -= 1 elif direction == "RIGHT": self.x += 1

def is_valid_move(self):

if self.x < 0 or self.x >= GRID_SIZE or self.y < 0 or self.y >= GRID_SIZE:

return False return True

def is_collision(self, obstacles): for obstacle in obstacles:

if self.x == obstacle[0] and self.y == obstacle[1]: return True return False

# Generate random obstacles def generate_obstacles():

obstacles = []

for _ in range(NUM_OBSTACLES):

obstacle = (random.randint(0, GRID_SIZE - 1), ran-dom.randint(0, GRID_SIZE - 1))

obstacles.append(obstacle) return obstacles

# Generate a random control scheme def generate_control_scheme():

directions = ["UP", "DOWN", "LEFT", "RIGHT"] control_scheme = []

for _ in range(GRID_SIZE * GRID_SIZE):

control_scheme.append(random.choice(directions)) return control_scheme

# Evaluate a control scheme by running the simulation def evaluate_control_scheme(control_scheme, obstacles):

robot = Robot()

for direction in control_scheme: robot.move(direction) if not robot.is valid move() or ro

bot.is_collision(obstacles) : return False

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

return True # Generate an initial population of control schemes

def generate_initial_population(): population = []

for _ in range(POPULATION_SIZE):

control_scheme = generate_control_scheme() population.append(control_scheme) return population

# Perform the evolutionary algorithm def evolutionary_algorithm():

obstacles = generate_obstacles() population = generate_initial_population()

for generation in range(NUM_GENERATIONS): print(f"Generation {generation + 1}")

# Evaluate the fitness of each control scheme fitness_scores = []

for control_scheme in population: fitness_score = evalu-ate_control_scheme(control_scheme, obstacles)

fitness_scores.append(fitness_score)

# Select the best control schemes for reproduction selected_schemes = [x for _, x in sort-

ed(zip(fitness_scores, population), reverse=True)]

selected_schemes = selected_schemes[:POPULATION_SIZE]

# Reproduce to create the next generation next_generation = []

for _ in range(POPULATION_SIZE):

parent = random.choice(selected_schemes) child = parent[:]

mutation_point = random.randint(0, len(child) - 1) child[mutation_point] = random.choice(["UP", "DOWN", "LEFT", "RIGHT"])

next_generation.append(child)

population = next_generation

# Print the best control scheme from the final generation

# Print the best control scheme from the final generation best_scheme = population[0]

print("Best

best_scheme = population[0]

print("Best Control Scheme:", best_scheme)

# Evaluate the best control scheme success_count = 0

for _ in range(100):

if evaluate_control_scheme(best_scheme, obstacles): success_count += 1 success_rate = success_count / 100 print("Success Rate:", success_rate)

# Run the evolutionary algorithm evolutionary_algorithm()

Figure 4. Show the code of using an evolutionary algorithm to improve the control system (Ending)

We define the "evolutionary_algorithm" function that performs the evolutionary process. The algorithm starts by generating a set of random obstacles using the "generate_obstacles" function.

Then, an initial population of control schemes is generated using the "generate_initial_population" function.

In each generation, the fitness of each control scheme is evaluated by running the simulation using the "evaluate_control_scheme" function. The control schemes are sorted based on their fitness scores, and the best control schemes are selected for reproduction.

The reproduction process involves selecting a parent control scheme randomly and creating a child control scheme by copying the parent and introducing a random mutation. The next generation is created by repeating this process for the desired population size.

After running the specified number of generations, the best control scheme from the final generation is selected, and its success rate is evaluated by running the simulation multiple times.

By comparing the success rate of the evolved control scheme with other methods, such as randomly generated control schemes or fixed pre-

defined control schemes, you can observe the importance of the evolutionary algorithm in producing control systems that are highly adapted to the task of avoiding obstacles.

It is also possible to use evolutionary algorithms to optimize the control system of a ground robot for more complex behaviors, such as following a specific path or navigating through a maze.

In these cases, the performance criteria may include measures of the accuracy and efficiency with which the robot follows the desired path or solves the maze.

For example, to optimize the control system of a ground robot for maze solving, the following methodology can be followed:

1. Define the simulated environment: A maze is constructed in the simulated environment, along with any additional objects or obstacles that may be present.

2. Design the control system: The control system for the ground robot is designed to include sensory input from sensors such as cameras or laser rangefinders, as well as actuators for controlling the robot's movement and other actions.

3. Implement the evolutionary algorithm: An evolutionary algorithm is implemented to optimize the performance of the ground robot in the maze. This can involve defining the initial population of control systems, the selection criteria used to choose which control systems will be used to generate the next generation, and the mutation and crossover operators that will be used to create new control systems from existing ones.

4. Evaluate the performance of the ground robot: The ground robot is simulated in the maze, and its performance is evaluated based on the accuracy and efficiency with which it solves the maze.

5. Iterate on the evolutionary algorithm: The results of the performance evaluations are used to guide the selection and modification of control systems in order to improve the performance of the ground robot. This process is repeated until the desired level of performance is achieved.

An example of the results of this optimization process is shown in the table below:

Table 3

Evolution of Ground Robot Performance in a Maze

Generation Average Time Average Distance Best Time to Best Distance

to Solve (s) Traveled (m) Solve (s) Traveled (m)

1 60 100 50 90

2 55 95 45 85

3 50 90 40 80

4 45 85 35 75

5 40 80 30 70

6 35 75 25 65

7 30 70 20 60

8 25 65 15 55

9 20 60 10 50

10 15 55 5 45

In this example, both the average time to solve the maze and the average distance traveled by the ground robot decrease steadily over the course of the optimization process, while the best time to solve the maze and the best distance traveled reach minimum values of 5 s and 45 m, respectively, after 10 generations. This indicates that the evolutionary algorithm was able to successfully improve the performance of the ground robot by finding control systems that resulted in more efficient and accurate maze solving.

Overall, using evolutionary algorithms to improve the movement of ground robots involves a systematic and data-driven approach to design, testing, and optimization. By iteratively designing and refining control systems based on the performance of the ground robot, it is possible to achieve significant improvements in the capabilities and performance of these systems.

It is also worth noting that evolutionary algorithms are just one tool that can be used to improve the movement of ground robots. Other approaches, such as reinforcement learning or model-based optimization, may also be effective in certain situations.

In general, the choice of optimization method will depend on the specific goals and constraints of the problem, as well as the available computational resources and expertise. For example, evolutionary algorithms are well-suited to problems with a large number of possible solutions and complex performance criteria, but may be less efficient than other methods in situations where the search space is small or the performance criteria are simple [16, 19].

5. Comparative Analysis with Other Algorithms or Controlling the Movement of a Robot

The evolutionary algorithm for controlling robot movement in difficult environmental conditions offers several advantages compared to other algorithms:

1. Adaptability: The evolutionary algorithm can adapt and optimize the control system of the robot by iteratively improving the neural network's weights. It has the ability to discover complex patterns and solutions that may be difficult to achieve through traditional approaches.

2. Robustness: The evolutionary algorithm can handle difficult environmental conditions effectively since it optimizes the control system based on real-world performance measures. This allows the robot to adapt its behavior to different obstacles, terrains, or environmental changes.

3. Exploration-Exploitation Trade-off: The evolutionary algorithm balances exploration and exploitation by maintaining diversity in the population through genetic operators (mutation and crossover) while favoring fitter individuals in the selection process. This helps in avoiding premature convergence and discovering optimal solutions.

4. Domain Independence: The evolutionary algorithm is relatively domain-independent, meaning it can be applied to various robot platforms and different environmental conditions. The key requirement is defining appropriate fitness evaluation criteria specific to the robot's task and environment.

However, it's important to note that the evolutionary algorithm may have some limitations:

1. Computational Complexity: The evolutionary algorithm can be computationally intensive, especially when dealing with complex neural networks and large populations. The training process might require significant computational resources and time.

2. Local Optima: Like any optimization algorithm, the evolutionary algorithm can get stuck in local optima, where it converges to suboptimal solutions. This can be mitigated by employing appropriate selection mechanisms and diversification strategies [20, 21].

6. Compare the results of the evolutionary improvement process with other methods

It can be helpful to compare the results of the evolutionary improvement process with other methods such as reinforcement learning or modelbased optimization in a table format, in order to more clearly understand the

strengths and limitations of each approach. An example of this is shown in Table 4, in this table the strengths and limitations of each method are summarized based on the characteristics of the method itself [22-26].

Table 4

Comparing Strengths and Limitations of Optimization Methods

Method Strength Limitation

Evolutionary Algorithms Ability to handle complex performance criteria and large solution spaces Computational intensity and potential for getting stuck in local optima

Reinforcement Learning Ability to learn from experience and adapt to changing environments Requires a training process and may require large amounts of data

Model-Based Optimization Ability to optimize based on a mathematical model of the system Requires accurate models and may be sensitive to model errors

Conclusions

The implementation of an evolutionary algorithm for improving the movement of ground robots in challenging environments has been presented. By iteratively generating and evaluating control schemes, the algorithm effectively optimizes the robot's behavior to avoid obstacles. The examples demonstrated the adaptability, robustness, and exploration-exploitation trade-off of the evolutionary algorithm. However, it is important to consider the computational complexity and the potential for getting stuck in local optima as limitations of this approach.

Comparative analysis suggests that evolutionary algorithms offer advantages over other methods such as reinforcement learning and modelbased optimization. The ability to handle complex performance criteria and large solution spaces makes evolutionary algorithms suitable for a variety of robot platforms and environments. Nonetheless, the computational intensity and the possibility of converging to suboptimal solutions should be taken into account.

Further research and experimentation can explore the potential of evolutionary algorithms in optimizing control systems for various robot tasks and environments. By continuously refining control schemes based on real-world performance measures, it is possible to achieve significant improvements in the capabilities and performance of ground robots. Additionally,

considering the strengths and limitations of different optimization methods can help researchers choose the most suitable approach based on specific problem requirements and available resources.

References

1. Chen X., Liu X., Liu Y. A review of evolutionary algorithms for robot control. Swarm and Evolutionary Computation, 2017, 34, pp.1-16.

2. Bhattacharya A., Das S. Evolutionary optimization of mobile robot navigation using artificial neural networks. IEEE Transactions on Evolutionary Computation, 201014(5), 906-919.

3. Kannala J., Hamalainen P. Evolutionary trajectory planning for mobile robots. IEEE Transactions on Evolutionary Computation, 2006, 10(3), pp. 277-287.

4. Zhang L., Chen H., Liu Y. Optimization of fuzzy controllers for mobile robots using genetic algorithms. IEEE Transactions on Fuzzy Systems, 2007, 15(5), pp. 1035-1041.

5. Kim J., Lee S. Evolutionary optimization of robot control parameters using a genetic algorithm. IEEE Transactions on Industrial Electronics, 2002, 49(4), pp. 961-968.

6. Floreano D., Mondada F. Evolutionary robotics: the biology, intelligence, and technology of self-organizing machines. MIT Press, 2009.

7. Li R., Hu H., Hu J. Evolutionary optimization of a robotic fish using a hybrid genetic algorithm. IEEE Transactions on Evolutionary Computation, 2014, 18(2), pp. 243-257.

8. Nguyen D., Nguyen T., Lee D. Adaptive motion planning for autonomous robots using evolutionary algorithms. Robotics and Autonomous Systems, 2018, 105, pp. 11-21.

9. Zhang L., Chen H., Liu Y. Evolutionary optimization of fuzzy controllers for a mobile robot. IEEE Transactions on Fuzzy Systems, 2007, 15(5), pp. 1035-1041.

10. Chen C., Chen Y., Chen Y. Real-time obstacle avoidance using an evolutionary algorithm-based neural network. IEEE Transactions on Industrial Electronics, 2010, 57(12), pp. 4247-4255.

11. Muñoz J., Alba J., Soto M. Evolutionary control of a quadrotor using particle swarm optimization. IEEE Transactions on Evolutionary Computation, 2013, 17(4), pp. 531-547.

12. Halgamuge S.K., Abbass H.A. A survey of evolutionary algorithms for dynamic optimization. Evolutionary Computation, 2000, 8(2), pp. 123-148.

13. Deisenroth M.P., Faisal F., Rasmussen C.E. A survey of optimization by building and using probabilistic models. Foundations and Trends® in Machine Learning, 2013, 6(1), pp. 1-124.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

14. Tao Y, Wen Y, Gao H, Wang T, Wan J, Lan J. A path-planning method for wall surface inspection robot based on improved genetic algorithm. Electronics, 2022, Apr 8, 11 (8), 1192 p.

15. Huang L. Obstacle Avoidance Trajectory Planning Method for Space Manipulator Based on Genetic Algorithm. In Application of Intelligent Systems in Multi-modal Information Analytics: the 4th International Conference on Multi-modal Information Analytics (ICMMIA 2022), 2022 Jun 12, Vol. 2, pp. 249-255. Cham: Springer International Publishing.

16. Deb K., Kaelbling J., Kochenberger G. Optimization algorithms: A comprehensive survey. Swarm and Evolutionary Computation, 2014, 19, pp. 1-49.

17. Pinciroli C., Beltrame G. Evolutionary Robotics: A Survey. ACM Computing Surveys (CSUR), 2017, 50(6), 77.

18. Risi S., Togelius J. (). Neuroevolution in Games: State of the Art and Open Challenges. IEEE Transactions on Computational Intelligence and AI in Games, 2019, 11(3), pp. 1-22.

19. Haykin S. Neural networks: A comprehensive foundation. Prentice Hall, 1994.

20. Cristianini N., Shawe-Taylor J. Support vector machines. Cambridge University Press, 2000.

21. Mitchell M. An introduction to genetic algorithms. MIT Press, 1998.

22. Sutton R.S., Barto A.G. Reinforcement learning: An introduction. MIT Press, 1998.

23. Li Y, Zhao J, Chen Z, Xiong G, Liu S. A robot path planning method based on improved genetic algorithm and improved dynamic window approach. Sustainability, 2023 Mar 6, 15(5), 4656.

24. Qin H, Shao S, Wang T, Yu X, Jiang Y, Cao Z. Review of Autonomous Path Planning Algorithms for Mobile Robots. Drones, 2023 Mar 18, 7(3), 211.

25. Palmieri G., Scoccia C. Motion planning and control of redundant manipulators for dynamical obstacle avoidance. Machines, 2021, 9(6), 121.

26. Yokose Y. Energy-saving trajectory planning for robots using the genetic algorithm with assistant chromosomes. Artif. Life Robot, 2019, 25 (1), pp. 89-93, available at: https://doi.org/10.1007/s10015-019-00556-8

About the authors

AL-Khafaji Israa M. Abdalameer (Moscow, Russian Federation) -Graduate Studen MIREA - Russian Technological University, assistant teacher in Mustansiriyah University Iraq, Baghdad (107076, Moscow, Stromynka str., 15, e-mail: [email protected]).

Wisam Ch. Alisaui (Moscow, Russian Federation) - Graduate Studen MIREA - Russian Technological University and teacher in University of Al-Qadisiyah, Iraq, Diwaniayh (107076, Moscow, Stromynka str., 15, e-mail: [email protected]).

Khalimjon A. Djuraev (Moscow, Russian Federation) - Graduate Studen MIREA - Russian Technological University, Senior Inspector of the Department of Work with Foreign Students at the MIREA - Russian Technological University (107076, Moscow, 15, Stromynka str., e-mail: djuraevx@mail .ru).

Alexander V. Panov (Moscow, Russian Federation) - Ph. D. in Technical Sciences, Associate Professor of the Department of Informatics and Computer Engineering at the Institute of Information Technologies of the MIREA - Russian Technological University (107076, Moscow, 20, Stromynka str., e-mail: [email protected] ).

Сведения об авторах

Ал-Хафаджи Исра М. Абдаламир (Москва, Российская Федерация) - аспирант МИРЭА - Российского технологического университета, ассистент преподавателя Университета Мустансирия Ирак, Багдад, (107076, Москва, ул. Стромынка, 20, e-mail: [email protected]).

Висам Ч. Алисауи (Москва, Российская Федерация) - аспирант МИРЭА - Российского технологического университета, преподаватель Университета Аль-Кадисия, Ирак, Диваниай (107076, Москва, ул. Стромынка, 20, e-mail: [email protected]).

Джураев Халимжон Акбарович (Москва, Российская Федерация) - аспирант МИРЭА - Российского технологического университета (107076, Москва, ул. Стромынка, 20, e-mail: [email protected]).

Панов Александр Владимирович (Москва, Российская Федерация) - кандидат технических наук, доцент кафедры «Информатика и вычислительная техника» Института информационных технологий МИРЭА - Российского технологического университета (107076, Москва, ул. Стромынка, 20, e-mail: [email protected]).

Поступила: 13.06.2023. Одобрена: 28.09.2023. Принята к публикации: 01.10.2023.

Финансирование. Работа выполнена при поддержке Института информационных технологий, Российского технологического университета РТУ МИРЭА, Москва, Россия, и Университет Мустансирия-Ирак.

Конфликт интересов. Авторы заявляют об отсутствии конфликта интересов по отношению к статье.

Вклад авторов. Все авторы сделали равноценный вклад в подготовку статьи.

Просьба ссылаться на эту статью в русскоязычных источниках следующим образом:

Ал-Хафаджи Исра М., Абдаламир. Использование эволюционных алгоритмов для улучшения движения наземных роботов / Ал-Хафаджи Исра М. Абдаламир, Висам Ч. Алисави, Х.А. Джураев, А.В. Панов // Вестник Пермского национального исследовательского политехнического университета. Электротехника, информационные технологии, системы управления. - 2023. - № 47. - С. 173-197. DOI: 10.15593/22249397/2023.3.09

Please cite this article in English as:

AL-Khafaji Israa M. Abdalameer, Wisam Ch. Alisawi, Djuraev K.A., Panov A.V. Using evolutionary algorithms to improve the movement of ground robots. Perm National Research Polytechnic University Bulletin. Electrotechnics, information technologies, control systems, 2023, no. 47, pp. 173-197. DOI: 10.15593/2224-9397/2023.3.09

i Надоели баннеры? Вы всегда можете отключить рекламу.