AutoWay - Anlise de Trajetria de Deslocamento Autnomo em dois eixos
Flvio Dutra Lencina
Resumo O presente trabalho aborda a anlise e execuo de uma trajetria entre dois pontos, atravs de uma simulao de software. Com o objetivo de deslocar um dispositivo autnomo, rob, desviando de obstculos predefinidos por um operador, por um campo restrito, como uma sala. O algoritmo para o desenvolvimento do programa baseia-se em conceitos de lgica proposicional e inteligncia artificial. O programa AutoWay foi desenvolvido em linguagem C com o software Borland C++ Builder, com o propsito de demonstrar as simulaes de trajetria atravs de uma interface grfica. Palavras-chave: inteligncia artificial, rob, linguagem C. Abstract The present work discusses the analyze and execution of a moving between two points, through a software simulation. With the goal to move a automate device, robot, deviating predefined obstacles by a operator in a restrict field as a room. The algorithm for the development of the program is based on concepts of propositional logic and artificial intelligence. The AutoWay program was wrote on C language with Borland C++ Builder software tool with the intention to show the moving simulations through a computer graphical interface. Keywords : artificial intelligence, robot, C language. 1 Introduo A utilizao dos conceitos de inteligncia artificial em problemas do dia-adia cada vez mais comum. Sistemas, ditos inteligentes capazes de tomar decises, baseados em informaes predefinidas e adquiridas, esto implantados em diversos ramos como industrial, acadmico, aeroespacial, telecomunicaes e at mdicos. Este artigo traz um exemplo de anlise de um movimento em duas dimenses, os quais poderiam ser implantados em um rob autnomo dentro de uma rea restrita como uma sala ou um depsito. L o autnomo teria a capacidade de desviar de obstculos e encontrar a maneira mais rpida e com a menor distncia para chegar ao seu destino. 2 Inteligncia Artificial
Atravs das tcnicas de lgica
proposicional, espao de estados e busca heurstica, os quais so empregados em inteligncia artificial foi possvel desenvolver e do desenvolvimento de um algoritmo que consiga armazenar as posies ao redor do autnomo e calcular a sua trajetria entre dois pontos. 3 Caractersticas Para fins de simplificao, o campo de ao ser definido numa rea quadriculada, uma matriz de tamanho 22x22, totalizando 484 posies onde o sistema mvel, o qual ser denominado de Mobi, deve atravessar o campo saindo da posio (0,0) e chegando a uma posio qualquer definida por um operador.
Os obstculos sero definidos pelo
usurio do software, o qual pode determinar at 20 obstculos de forma aleatria ao simples clicar do mouse. Aps, o usurio seleciona a opo <analisar> o Mobi deslocarse- do ponto de partida para o ponto de chegada obedecendo as seguintes regras para o melhor desempenho: O Mobi dever deslocar-se, sempre que possvel, em linha reta; Os desvios de trajetria sero preferencialmente a 45 Diagonalmente; Caso tiver que fazer uma converso a 90 ser imputada como parada e converso, o que consome mais energia; Se houver a necessidade de retornar ir para trs - o Mobi nunca voltar diretamente para frente; Os movimentos bsicos realizados pelo Mobi sero: F - Frente, T - Trs, D Direita e E - Esquerda; Os de diagonais sero: FD - Frente Direita, FE - Frente Esquerda, TD Trs Direita e TE - Trs Esquerda; A trajetria Padro para o Mobi traar sem obstculos ser uma linha diagonal de (0,0) (22,22) na direo FD; O Mobi estar localizado dentro desta matriz na posio (2,2) e ele poder avaliar uma posio para trs nas direes: TD (1,1), T (1,2) e TE (1,3); uma posio nas laterais: E (2,1) e D (2,3); e duas posies diretamente para frente: F (3,2) e (4,2) e posies laterais destas posies para frente FE (3,1), (4,1) e FD (3,3), (4,3). Estar associada uma matriz 3x3 ao Mobi - trs linhas e quatro colunas da seguinte forma: (1,1) | (1,2) | (1,3) --------------------(2,1) | (2,2) | (2,3) ---------------------
F: Frente
(3,1) | (3,2) | (3,3)
--------------------D: direita Ento associado a cada posio da matriz em torno do Mobi um valor numrico, dependendo do quanto ele se afasta do ponto de origem para o destino e tambm se este encontra em seu caminho direto um obstculo. Para uma posio livre no caminho calculado pelo algoritmo dado um valor pequeno e para um obstculo um valor muito grande. Este sistema de pontuao adotado serve para que o algoritmo escolha o melhor caminho, visando economia de tempo. 3 Metodologia Com base em tais caractersticas procedeu-se o desenvolvimento do programa que foi denominado AutoWay. Este deveria que satisfazer as seguintes condies: determinar o obstculo com antecedncia; realizar o melhor desvio dos obstculos; conseguir retornar,caso necessrio, mas sem entrar em loops infinitos; Atravs do software C++ Builder possvel desenvolver o programa para a simulao com o auxlio de interface grfica e da linguagem C++.
Figura 1 Tela do AutoWay
Na figura 1 pode-se verificar a tela do programa AutoWay, ali j observa-se o Mobi, indicado com um +, referenciado sobre a posio inicial. Aps o software iniciado, o usurio pode determinar, dentro do campo de ao, a posio da chegada, na figura 2 marcada com o X. E ento, colocar a vontade at vinte obstculos aleatoriamente.
Figura 2 Definio do ponto de chegada
Figura 3 Definio dos obstculos
4 Anlise dos mtodos Poderiam ser utilizados vrios mtodos de busca para a soluo deste problema, como as buscas cegas, mas estas so muito dispendiosas computacionalmente, pois exploram todo o espao de estados do
problema, sem critrio nenhum que oriente a
pesquisa. Portanto, para este problema, so mais indicadas as buscas heursticas, e dentre os tipos de buscas heursticas, o mais adequado para o controle do movimento do rob, o Melhor Primeiro. Escolhendo o mtodo de busca do melhor primeiro, encontra-se uma soluo sem calcular todos os vrtices, e ao mesmo tempo nos beneficia das caractersticas da busca em largura, pois assim o Mobi no ficar preso em caminhos sem fim.Como o Mobi precisa desviar dos obstculos para chegar at o seu objetivo, estabelece-se pesospara cada clula da matriz, e como o mtodo do melhor primeiro, consiste em expandir primeiro o vrtice mais promissor, o Mobi se afastar da direo dos obstculos, que esto rodeadas de clulas com peso maior, e assim desviar dos obstculos, pois o melhor estado ser o escolhido, e este estado ser expandido e o processo ser repetido, at encontrarmos uma soluo, ou um ramo sem fim; quando isso acontece, volta-se para o segundo melhor estado mais antigo que no foi expandido e prossegue-se dali com o mesmo processo. Pode-se ainda destacar as vantagens do uso deste mtodo, atravs da: Confiabilidade: O melhor caminho ser encontrado, pois todo o espao de estados ser explorado, e o Mobi no ficar preso em caminhos sem fim. Desempenho: O objetivo ser alcanado, pois o mobi desviar dos obstculos, porque as clulas ao seu redor tero peso maior e ele ento evitar este caminho. Caractersticas da implementao: O Mobi memorizar duas clulas para frente, para trs e para os lados, a fim de se afastar com mais certeza dos obstculos. 5 Concluso
As vantagens de se usar as tcnicas de
IA soluo deste problema, como, por exemplo, a busca do melhor caminho e busca heurstica, nos garante que o Mobi no chegar a bater num obstculo e evitar que as clulas que foram atribudos pesos maiores sejam ocupadas ou repetidas, e tambm no ficar preso em caminhos sem fim. Pois quando encontrar esta situao, volta para outro ramo e comea a busca novamente. O uso de recursos de memria tambm ser pequeno, pois ele memorizar apenas as informaes de duas clulas. As possveis aplicaes deste software so as mais variadas possveis, e como exemplo podemos citar, a trajetria de um brao mecnico em uma linha de montagem, ou o deslocamento de um rob em um ambiente fechado. 6 Referncias Bibliogrficas NASCIMENTO JR. C.L., YONEYAMA T., INTELIGNCIA ARTIFICIAL EM CONTROLE E AUTOMAO, So Paulo. Ed. Edgard Blcher Ltda., 2000.