• UFRJ Nautilus

[PT-EN] Inteligência Artificial - dos videogames aos AUVs

Updated: Aug 6

Na maioria dos videogames existe um adversário, nos jogos multiplayer você disputa contra outro humano, mas nos singleplayer o oponente é o “computador”. Esse adversário é comandado, geralmente por uma inteligência artificial (IA), alvo de grande estudo pelos programadores de jogos e, por isso, de grande melhora nos últimos anos. Além dos jogos eletrônicos, outra tecnologia que utiliza a IA é a de AUV (Autonomous Underwater Vehicles).


A inteligência artificial permite que máquinas “pensem” como os humanos, de forma independente e baseada em dados digitais. Qualquer dispositivo sem controle de pessoas necessita, de alguma forma de IA, por isso ela é muito utilizada para diversos meios, dentre eles os jogos.


Nos jogos mais antigos a IA era mais simples. Em Pac-Man, lançado em 1980, por exemplo, existem 4 tipos de fantasmas com 4 cores diferentes, vermelho, rosa, azul e laranja. O vermelho funciona da maneira menos complexa dentre os 4, já que ele só segue o Pac-Man, o rosa, por outro lado, tenta fechar o personagem principal, o laranja desiste quando o usuário se afasta, enquanto o azul se baseia nas posições do Pac-Man e do vermelho para definir sua direção.

Jogo "Pac-Man".

A forma mais comum de se representar o comportamento de uma Inteligência Artificial em non-player characters (NPC) é uma Máquina de Estados finita. A Máquina de Estados é formada por um conjunto de estados, constituídos por ações que serão tomadas, e transições, que são as regras de mudança destes. A imagem abaixo mostra uma Máquina de Estados de um jogo FPS (First Person Shooter). Mas como isso se relaciona ao comportamento de um AUV?

Máquina de Estados de um jogo FPS (First Person Shooter).

Considerando que todo o AUV é autônomo, ele necessita da Inteligência Artificial para realizar a sua tomada de decisões sem intervenções externas, e no nosso não é diferente. O nosso robô utiliza a IA nas áreas de rede neural, nos algoritmos de localização e mapeamento e no controle. Além disso, devido às provas completamente diferentes dentro da competição é usada uma Máquina de Estados, que é uma forma de IA. Para implementarmos a Máquina de Estados no robô utilizamos o Smach, uma biblioteca do ROS que permite a implementação dessa tecnologia com mais facilidade. Nossa Máquina de Estados funciona em camadas: uma maior com um estado para cada prova da competição e dentro de cada estado há uma outra máquina para realizar cada prova especificamente.


Portanto, pode-se perceber que, apesar de parecerem temas completamente diferentes, os AUVs e os videogames têm mais em comum do que se espera. Assim, verificamos a importância de interdisciplinaridade para a construção de um AUV e como todo o conhecimento é útil e importante e como a Inteligência Artificial é relevante para o progresso tecnológico presente e futuro.


Escrito por Thiago Moutinho.


Artificial Intelligence - from video games to AUVs


In most video games there is an opponent, in multiplayer games you play against another human, but in single players the opponent is the “computer”. This opponent is commanded, usually by an artificial intelligence (AI), object of a great study by the game programmers and, therefore, of great improvement in the last years. In addition to electronic games, another technology that uses AI is that of AUV (Autonomous Underwater Vehicles).


Artificial intelligence allows machines to "think" like humans, independently and based on digital data. Any device without people control needs some form of AI, so it is widely used for various media, including games.


In older games, AI was simpler. In Pac-Man, released in 1980, for example, there are 4 types of ghosts with 4 different colors, red, pink, blue and orange. The red works in the least complex way among the 4, since it only follows the Pac-Man, the pink, on the other hand, tries to close the main character, the orange gives up when the user moves away, while the blue is based on the positions of Pac-Man and red to define its direction.



Pac-Man game


The most common way of representing the behavior of an Artificial Intelligence in non-player characters (NPC) is a finite State Machine. The State Machine is formed by a set of states, consisting of actions that will be taken, and transitions, which are the rules for changing them. The image below shows a State Machine from an FPS (First Person Shooter) game. But how does this relate to the behavior of an AUV?



State machine of a FPS (First Person Shooter) game.


Considering that all AUV is autonomous, it needs Artificial Intelligence to carry out its decision-making without external interventions, and ours is not different. Our robot uses AI in the areas of neural network, in location and mapping algorithms and in control. In addition, due to the completely different tests within the competition, a State Machine is used, which is a form of AI. To implement the State Machine in the robot, we use Smach, a ROS library that allows the implementation of this technology more easily. Our State Machine works in layers: a larger one with a state for each competition event and within each state there is another machine to perform each event specifically.


Therefore, it can be seen that, although AUVs and video games seem to have completely different themes, they have more in common than expected. Thus, we verify the importance of interdisciplinarity for the construction of an AUV and how all knowledge is useful and important and how Artificial Intelligence is relevant to present and future technological progress.



Written by Thiago Moutinho