A Simulation Environment for the Application of Evolutionary Algorithms in Robots

Carol Salvato
AL Game Code
Published in
6 min readJan 15, 2021
ALGC <Artificial Life Game Code> — By: Carol Salvato

I found this work done by me during my graduation and decided to share it here to remember my first steps in this long path of research and development in the field of intelligent systems.

Abstract

This article presents the development of an autonomous robot navigation simulator, which uses evolutionary algorithms as training. The work presents the themes of natural computing, evolutionary algorithms, and autonomous navigation, applied in navigation training in simulated robots, eliminating the need for a physical robot. In the end, after the tests, graphs are presented that prove the functioning of the software and the proposed algorithm. Taking into account that the resources obtained with the project will be used in the most diverse areas besides autonomous robotics, as in the development of games with more intelligent agents.

Leia este artigo em português aqui.

1. Introduction

This project involves subjects such as Evolutionary Computing (CE), Evolutionary Algorithms (EA), Autonomous Navigation (NA), and their applications in simulations and robotics.

EC is a concept that covers several areas, based on biology to seek various solutions to a given problem, being able to obtain greater variation efficient results, but without guaranteeing an optimal solution (ZUBEN, 2000).

The EA or genetic algorithms (AG) as they are also known, are based on Charles Darwin’s theory of evolution. Its main function is to use this concept to generate various candidate solutions for a given problem. First, a random population is generated, which will be tested in an environment, this population is composed of individuals, who have chromosomes, these carry a representation of the possible solutions. Chromosomes are evaluated and given a fitness value, indicating the quality of the solution. The best individual, or a group of the best, is selected based on their scores. Then evolutionary operators such as crossover and mutation are applied, thus generating new chromosomes, new candidate solutions that will be tested in the environment again, evaluated, and so the whole process is repeated, with the intuition of each generation, generating new solutions more and more able to solve the proposed problem.

A current view of society, on the application of robotics, is the replacement of humans by robots in jobs that put human life at risk, or activities in which the human being is not able to perform efficiently (PESSIN, et Al, 2007).

The study in the field of mobile robotics has proved to be a very relevant topic since there has been great growth in its area in recent decades. The applications of mobile robots, in addition to promising, cover a wide variety of areas, from domestic applications in vacuum cleaners and lawnmowers to industries, urban, military areas, and in civil and military security and defense (WOLF, et Al, 2009).

In the area of ​​mobile robotics, NA proposes that the robot learns to move around a certain environment without colliding and to complete a certain function in the best possible way. In this environment, the machine must be able to synthesize its own choices, providing a more appropriate behavior according to the present situation (CRESTANI; FIGUEIREDO; ZUBEN, 2001).

One of the ways of applying autonomous navigation in robots is using machine learning, which can be implemented with artificial intelligence or EA algorithms. However, this robot training process can be time-consuming and costly, as the time and quantity of robots is often short, which causes less genetic variability and fewer possible solutions.

The proposal to use a simulator to apply this training to robots is given to eliminate negative factors such as delay and other difficulties that can occur when dealing with a physical robot. In addition, another advantage of a simulator is the fact that it does not need to be directly applied to a real robot, avoiding possible risks to the operator and/or equipment wear (HOSS; HOUNSELL; LEAL, 2009). With that, it is proposed in this work the development of a system, a simulator of autonomous navigation of robots, using an evolutionary algorithm for the learning of robots.

2. Bibliographic review

In the work of (REIS, 2002), the author developed an agent that was simulated in an environment with the objective of finding the best way, or the fastest way, for a given point. This agent was used and tested in a competition where it ranked second, confirming its efficiency. The article criticizes some points, such as the form of evaluation and application of the competition, since it has a certain scientific weight, as it is used as a test and proof of efficiency for many works. A differential of this work with the proposed one is the non-use of an evolutionary algorithm and the fact of the possibility of direct human intervention.

The objective of the work (PESSIN, et Al, 2007) is to develop a simulation environment for the application of training for forest fire fighting robots, where the simulated environment represents the forests. The robots must move through this environment, which has several realistic characteristics, such as uneven terrain, physical restrictions, among others. In addition to this work, also not using evolutionary algorithms in the training of robots, it is its own system, which can only be used for a single purpose.

The application and tests of a robot controller, as already mentioned, can be faster and more economical when done in simulators, with this purpose, the work of (AZZOLINI; SERAPIÃO, 2011) describes the development of an intelligent controller that uses evolutionary strategies and genetic algorithms to train and control the navigation of autonomous mobile robots. The system was developed to simulate the actions of a real robot, capable of collecting objects and avoiding collisions within an environment, for this purpose AGs were used to train and evolve this knowledge of the robots and seek navigation strategies in any type of environment.

The work of (SALVATO; CROCOMO, 2015), aims to create a 3D simulator capable of generating different environments for the application of artificial life simulations. In this work, an automatic method of generating environments is created, and evolutionary algorithms are applied to artificial creatures, which are simulated and evaluated in different environments. Unlike the work proposed here, this is a work aimed at simulating artificial life and has no connection with robotics and navigation, but it is an excellent example of simulation and application of evolutionary algorithms to obtain better solutions.

In (GONZALEZ; MAREGONI, 2005) it is possible to observe a different application for genetic algorithms still in the area of ​​robotics, here the application is in controlling the movement of a mobile robotic arm. The presented solution must define the time and the direction that each motor present in the arm must be activated, in addition, to decrease the energy consumption of its movements.

The environment developed in this project.

3. Objectives

The objective of this work is the development of a simulation environment for testing evolutionary algorithms applied to autonomous robot navigation. The software will be made available on a web page and can be downloaded for free, its target audience is students and researchers who carry out research and work related to the autonomous navigation of robots using evolutionary algorithms.

Read this full article here.

Carolhcs illustration

Héllen Caroline Salvato
Salvato H. C. (2021) “
A Simulation Environment for the Application of Evolutionary Algorithms in Robots”, Artificial Life Game Code. Available at <http://algamecode.blogspot.com/>.

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

--

--

Carol Salvato
AL Game Code

Game Developer | Game Designer | Master's student in Artificial Intelligence and Cognitive Systems for Games{ carolsalvato.com }