desenvolvimento de robÓtica inteligente em … · inteligência artificial que permite a um...

20
Departamento de Engenharia Elétrica Trabalho Desenvolvido no Período de Abril a Junho de 2012. DESENVOLVIMENTO DE ROBÓTICA INTELIGENTE EM AMBIENTE VIRTUAL PARA MÚLTIPLOS ROBÔS Aluna: Daniel de Sousa Leite Orientadora: Karla Tereza Figueiredo Leite Introdução Robôs autônomos devem ser capazes de tomar ações as quais não foram especificamente programados, mas para tal é necessária que algum tipo de inteligência esteja embarcada. Algumas técnicas de inteligência, como o aprendizado por reforço, exigem um tempo de treinamento que se torna dispendioso quando aplicado na plataforma real e, portanto, é fundamental a existência de um ambiente virtual e que ele possua características mais próximas possíveis do real para que se possa ganhar agilidade nesse processo. A técnica de inteligência computacional proposta para essa iniciação é o aprendizado por reforço e o ambiente utilizado é o fornecido pelo Microssoft Robotics Developer Studio (MSRS) em interação com o MatLab®. Para que esses dois programas se comuniquem, foi necessária a utilização de um terceiro, o SPL, que servirá como ponte entre as plataformas citadas. Para a aplicação em um ambiente real, propõe-se a plataforma da Lego® (Lego Mindstorms NXT), cujo o MatLab® já possui um pacote de ferramentas, Mindstorms NXT Toolbox for MATLAB® [1], que foi desenvolvido na Universidade de Aachen, na Alemanha. Aprendizado por Reforço Segundo Sutton e Barto em [4], Aprendizagem por Reforço (AR) é um formalismo da Inteligência Artificial que permite a um indivíduo aprender a partir da sua interação com o ambiente no qual ele está inserido. Essa interação se dá por meio da percepção do agente que o localiza no ambiente, ambiente este previamente mapeado em estados, e das ações tomadas. Nesse processo de interação será avaliada o quão boa foi a ação escolhida dada a transição de estados que o agente realizou (figura 1). Figura 1 - Interação agente-ambiente O Aprendizado por Reforço é indicado para situações em que não há muita informação sobre o comportamento que o agente deva tomar para alcançar o objetivo, ou seja, a política ótima para o ambiente em que o agente está inserido.

Upload: leque

Post on 13-Feb-2019

219 views

Category:

Documents


0 download

TRANSCRIPT

Departamento de Engenharia Elétrica

Trabalho Desenvolvido no Período de Abril a Junho de 2012.

DESENVOLVIMENTO DE ROBÓTICA INTELIGENTE EM AMBIENTE VIRTUAL PARA MÚLTIPLOS ROBÔS

Aluna: Daniel de Sousa Leite Orientadora: Karla Tereza Figueiredo Leite

Introdução

Robôs autônomos devem ser capazes de tomar ações as quais não foram especificamente programados, mas para tal é necessária que algum tipo de inteligência esteja embarcada. Algumas técnicas de inteligência, como o aprendizado por reforço, exigem um tempo de treinamento que se torna dispendioso quando aplicado na plataforma real e, portanto, é fundamental a existência de um ambiente virtual e que ele possua características mais próximas possíveis do real para que se possa ganhar agilidade nesse processo.

A técnica de inteligência computacional proposta para essa iniciação é o aprendizado por reforço e o ambiente utilizado é o fornecido pelo Microssoft Robotics Developer Studio (MSRS) em interação com o MatLab®. Para que esses dois programas se comuniquem, foi necessária a utilização de um terceiro, o SPL, que servirá como ponte entre as plataformas citadas.

Para a aplicação em um ambiente real, propõe-se a plataforma da Lego® (Lego Mindstorms NXT), cujo o MatLab® já possui um pacote de ferramentas, Mindstorms NXT Toolbox for MATLAB® [1], que foi desenvolvido na Universidade de Aachen, na Alemanha.

Aprendizado por Reforço Segundo Sutton e Barto em [4], Aprendizagem por Reforço (AR) é um formalismo da

Inteligência Artificial que permite a um indivíduo aprender a partir da sua interação com o ambiente no qual ele está inserido. Essa interação se dá por meio da percepção do agente que o localiza no ambiente, ambiente este previamente mapeado em estados, e das ações tomadas. Nesse processo de interação será avaliada o quão boa foi a ação escolhida dada a transição de estados que o agente realizou (figura 1).

Figura 1 - Interação agente-ambiente

O Aprendizado por Reforço é indicado para situações em que não há muita informação

sobre o comportamento que o agente deva tomar para alcançar o objetivo, ou seja, a política ótima para o ambiente em que o agente está inserido.

Segundo Sutton e Barto [4], além do agente e do ambiente, um sistema de aprendizado por reforço pode apresentar os seguintes elementos: a política, a função de reforço, a função valor e, opcionalmente, o modelo do ambiente.

� Política: é o mapeamento do estado percebido em ações a serem realizadas quando o agente se encontra naquele estado. Ou seja, é a probabilidade de o agente realizar a ação quando este se encontrar no estado , sendo representada por .

� Reforço: define o objetivo de um problema de aprendizado por reforço, mapeando pares de estado-ação em um valor numérico que deve ser maximizado pelo agente. A função de reforço define quais são os eventos bons ou ruins para o agente de forma local.

� A função valor: define o que é bom ou ruim de forma global, ou seja, o valor de um estado é o valor total do reforço que agente pode esperar acumular sobre o futuro a partir daquele estado. A função valor pode considerar apenas o estado , como também, o par estado-ação .

� Modelo do ambiente: os modelos imitam os possíveis comportamentos a serem

adotados em um ambiente, por exemplo, dado um par estado-ação, o modelo deve ser capaz de prever o próximo estado e o próximo reforço.

A. Explotação vs. exploração Um dos grandes problemas do aprendizado por reforço é a definição de como o agente

escolherá as ações a serem tomadas. O agente pode agir de forma a escolher a ação que fornece um maior reforço naquele estado (explotação) ou de forma a obter novas informações sobre o ambiente e que possam elevar os reforços no futuro (exploração). Nem sempre escolher a ação com maior retorno será uma boa ideia, em alguns casos, pode ser necessário que o agente execute ações que o levem a estados poucos visitados para um melhor aproveitamento do espaço de estados.

Um método bastante simples (que permite um equilíbrio entre o aproveitamento e a exploração) utilizado para seleção da ação é o ε-greedy. Neste método a melhor ação é escolhida com probabilidade 1 – ε (passo guloso) e uma ação é escolhida de forma randômica com probabilidade ε (passo exploratório). A principal desvantagem deste método é que ações não ideais são escolhidas de novo e de novo com a mesma probabilidade das ações mais promissoras [5].

Para tentar amenizar o problema mencionado anteriormente, pode-se utilizar o método Softmax, também conhecido como exploração de Boltzmann, onde a ação no estado é selecionada com probabilidade:

(1)

O termo representa a função valor quando considerado o par estado-ação,

enquanto é a temperatura de Boltzmann.

B. Q-Learning O mecanismo de aprendizado Q-Learning foi apresentado por Watkins em 1989. De

maneira geral, a cada interação o valor da função valor-ação ( ) é atualizado. Não com o valor da ação selecionada pelo método de exploração, mas sim, com o valor da ação mais

valorizada no estado atual (4). Ou seja, o valor de um estado é diretamente proporcional ao da ação com maior valor que nele possa ser selecionada [6].

(4)

Reescrevendo (4), tem-se:

(4.1)

A figura 2 mostra o algoritmo utilizado no Q-Learning, um método off-policy, onde, a política de ações utilizadas não influencia diretamente na maximização das recompensas:

Figura 2 - Algoritmo utilizado no Q-Learning

A popularidade desse método está relacionada ao fato de ter sido o primeiro método de

AR estudado minunciosamente para fins de controle e também por ser uma técnica simples que calcula diretamente a política de ação ótima – sem a necessidade de um passo intermediário para avaliação do custo da mesma e sem a utilização de um modelo [17, 18].

Além disso, Watkins [7] demonstrou em sua tese que se cada par estado-ação for experimentado um número grande de vezes e decrescer apropriadamente, as funções irão convergir com probabilidade 1 para ( ótimo). Da mesma forma, a política de ações utilizada convergirá para uma política ótima.

Existem outros mecanismos de aprendizado como Diferença Temporal (DT), Monte Carlo (MC) e Programação Dinâmica (PD), contudo o processo de aprendizado utilizado nessa iniciação é o algoritmo Q_learning, pois conforme é uma técnica simples que calcula a política ótima sem que seja necessário conhecer a função valor do sistema, já que ela é obtida naturalmente através das interações do agente com o meio.

A Ferramenta de Simulação

1. MatLab® e a Ferramenta RWTH O MatLab é um software voltado para cálculos com matrizes que pode ser utilizado

em diversas aplicações, como: análise numérica, processamento de sinal e imagem, controle, testes e medições, entre outras. Possui ferramentas adicionais de técnicas inteligentes como Redes Neurais, Lógica Fuzzy e Algoritmos Genéticos.

O RWTH Mindstorms NXT Toolbox for MATLAB® [1] foi desenvolvido na Universidade de Aachen, na Alemanha, a partir da necessidade de integrar o MatLab® com o Lego® Mindstorms® NXT, para projetos dos estudantes de engenharia elétrica. Essa ferramenta possui os drivers necessários para controlar o NXT (controle dos motores, leitura dos sensores, conexão via USB e Bluetooth, etc.) que serão utilizadas quando forem

realizados testes na plataforma real. Na figura 3, têm-se alguns exemplos dos comandos disponíveis na biblioteca RWTH.

Figura 3 - Comandos do RWTH no MatLab®

2. Microsoft Robotics Developer Studo® (MRDS) O MRDS [2] é um ambiente que possibilita a criação de aplicações robóticas para uma variedade de plataformas de hardware (Lego®, Pioneer P3DX, iRobot, Kinect Sensor, etc.) e por meio desse software foi criado o ambiente virtual onde está inserido o agente, robô Lego, com seus sensores para ele realizar seu aprendizado no ambiente virtual.

3. Simple Programming Language (SPL) O SPL (Simple Programming Language) [3], é um software livre para desenvolvimentos acadêmicos e/ou não comerciais. Sua principal característica é a utilização de um script, escrito em C#, no qual linhas de comando e expressões são utilizadas para criação das aplicações (figuras 4 e 5).

Figura 4 - Script do SPL

Figura 5 - Simulação no MSRS via SPL

Mapeamento dos estados O primeiro passo foi definir como o ambiente seria mapeado em estados e escolher o

conjunto de ações que o agente poderia tomar. Até chegar a configuração final, vários modelos foram feitas como:

Modelo 1 O ambiente foi mapeado em uma forma de grade na qual cada ponto está a 25% da

distância em que o agente se encontra do objetivo ao iniciar a tarefa, a orientação do agente (Norte, Sul, Leste ou Oeste) e a distância que o agente se encontra do obstáculo. Para esse espaço de estado as ações que o agente podia tomar eram se mover para frente e girar +- 90o, sendo que o passo dado era do tamanho da distância entre dois pontos paralelos da grade.

Com esse configuração, criou-se um mapa de valor-ação com 200 estados e 3 ações, conforme pode ser visto na figura 6, onde cada região pintada é um estado distinto.

Vantagens Uma das principais vantagens dessa configuração foi o baixo número de estados, que

favoreceu o rápido aprendizado.

Desvantagens O agente fica limitado a navegar pelos pontos da grade, o que pode gerar um erro

considerável dependendo do tamanho da região de exploração e da localização do objetivo, em diversas configurações da posição do agente em relação ao objetivo a distância percorrida por ele não é a menor distância possível, ou seja, uma reta entre os dois pontos e o agente não consegue sair de uma situação de quina na qual ele está cercado.

Figura 6 – Exemplo do modelo de estado 1 para um valor fixo de distância ao obstáculo

Modelo 2 Nessa configuração de estado, a ideia da divisão por grades foi mantida, mas em vez

de apenas quatro orientações, a orientação do agente estava dividida em graus de 120 regiões de largura de 3 graus, sendo que elas vão de 0o à +- 180o e são medidas em relação a frente o agente com a reta que liga a posição (X,Z) do agente à (X,Z) do alvo, conforme figura 7 .

Aliada a dois conjuntos de distâncias possíveis ao obstáculo, o sistema passou a possuir 6000 estados (120 ângulos possíveis x 2 dois conjuntos de distâncias ao obstáculo x 25 pontos da grade). Já o grupo de ações disponíveis para cada estado era girar +-3o, +-6o, +-9o e +-21o e andar um passo padrão de 10 cm.

Figura 7 – Exemplo da medição a orientação do agente em relação ao objetivo

Vantagens O agente tinha a possibilidade de percorrer a menor distância possível entre o ele e o

objetivo, além de ter maior mobilidade para poder desviar de obstáculos.

Desvantagens O sistema passou a ter um elevado número de estados, o que gerou alto custo de

aprendizado, e o agente conseguia chegar a pontos onde não existiam estados mapeados, já que ele podia se mover em direções em que o passo padrão não garantia que ele chegasse a outro estado conhecido. Observação: Nas duas configurações de estados mostradas anteriormente, para garantir que o agente não se posicionasse em uma região fora da grade de estados ele era penalizado toda vez que uma ação que o levasse a essa configuração fosse tomada.

Modelo 3 Nessa nova configuração, o estado não foi mais dividido como grade, mas sim como

círculos concêntricos cujus raios representam as distâncias ao alvo e ao obstáculo, sendo que ao todo foram utilizadas 3 regiões de distância ao alvo e 3 ao obstáculo. Além dessas distâncias foi mantida a divisão da orientação do agente em 120 estados espaçados em 3 graus o que totalizou 1080 estados (3 grupos de distâncias ao alvo x 3 grupos de distância ao obstáculo x 120 grupos de orientações).

Para essa nova configuração de estados, as ações tomadas eram distintas para cada motor do agente e a combinação dessas ações gerava um movimento de rotação e/ou translação, sendo que caso ocorre-se o movimento conjunto, primeiro a rotação era aplicada para então ser aplicada a translação. Ao todo foram criadas oito ações que geravam uma potência de 0% à 70% , em passos de 10%, para cada motor. Esses valores de potência foram manipuladas de tal maneira que ao atingir a 70% nos dois motores o agente se deslocava no máximo de 30 cm e quando a diferença entre as potência fosse máxima a rotação era de +- 21 graus.

Como as atuações dos motores eram distintas, foram utilizadas duas tabelas valor-ação, uma para cada motor, e elas eram atualizadas simultaneamente no processo de aprendizado, só que com valores independentes.

Vantagens Uma das principais vantagens dessa configuração foi a maior generalização do espaço

de estado, que permitiu que o agente fosse capaz de ligar com as mais diversas situações.

Desvantagens Assim como em casos anteriores, o número de estado se mostrou um pouco alto o que

penalizava o tempo de treinamento, mas a principal desvantagem é que por utilizar tabelas de valor-ação distintas para cada motor, uma ação que fosse boa para um motor poderia receber como retorno uma penalidade se os conjuntos das ações dos motores levassem a um estado ruim, prejudicando assim o aprendizado. Observação: Algumas outras configurações foram testadas entre e após as mostradas anteriormente até que chegasse à configuração final

Configuração final do mapa de estados Assim como na configuração 3, o estado é subdividido em raios concêntricos que

representam as fronteiras das regiões dadas por diferentes leituras de distância ao alvo e ao obstáculo, contudo nesse modelo foram incluídas duas novas regiões de avaliação, que são as distâncias a obstáculos nas laterais do agente. Todas essas distâncias passaram a ser normalizadas com a menor distância que o agente se encontra do objetivo na configuração inicial, por exemplo, no caso em que o agente inicia no ponto (0,0) e o objetivo se encontra em (0,1) a menor distância é 1 e a medição das distâncias do agente durante o processo serão em razão desse valor inicial.

Ao invés de 120 graus distintos para orientação do agente, foi feita uma divisão setorizada na qual de -33o à 33o, em relação a frente do agente, tem-se 11 regiões espaçados de 6 graus, as regiões fora dessa marcação foram espaçadas a cada 50 gruas, o que totalizou 17 regiões de orientação para o agente (figura 8).

Figura 8 – Divisão dos estados da a orientação e as distâncias medidas pelo agente.

A combinação das possíveis orientações, distâncias ao alvo, distância ao obstáculo

(frente, lateral esquerda e lateral direita) geraram um total de 612 estados distintos (3 regiões de distância ao alvo x 3 regiões de distância ao obstáculo a frente x 2 regiões de distância ao obstáculo na lateral direita x 2 regiões de distância ao obstáculo na lateral esquerda X 17 regiões de orientação do agente em relação ao objetivo) .

Para cada estado foram mapeados os seguintes conjuntos de ações: girar +-90o, +-50o, +-30o e +-6o, andar 2,5%, 10%, 20% ou 30%, da menor distância entre o agente e o objetivo no momento em que o processo é iniciado, e ficar parado. Com isso a configuração final do espaço de estado gerou um mapa de valor-ação de 612x13 elementos.

Sensores do Agente Para que o agente se localize no ambiente ao qual está inserido, foram instalados

sensores do tipo Laser Range Finder, para detectar objetos que estejam a sua frente e/ou em suas laterais, dentro de um ângulo de varredura conforme mostrados figura 9.

Figura 9 – Exemplo da atuação dos sensores de distância do agente

Para que o agente se localize em relação ao ponto objetivo, foi instalado um sensor

GPS no qual é possível extrair não só as coordenadas X,Y,Z da origem o agente, mas também as velocidades lineares e angulares desses eixos.

Vantagens Com as distâncias normalizadas o agente pode ser inserido em ambientes com

diferentes dimensões sem que para isso seja necessária mais etapas para chegar ao objetivo. Com a inclusão dos sensores laterais, evita-se situações em que o agente fique oscilando entre regiões com e sem obstáculos, além de facilitar o aprendizado de situações em que seja necessário contornar um obstáculo muito longo, como uma parede. A maior resolução da orientação do agente apenas na região á sua frente permite que ele se alinhe com mais precisão ao objetivo e que faça contornos mais suaves, sem que seja necessário um grande número de estados.

Desvantagens Como os estados envolvem configurações bem específicas, fica um pouco custosa a

simulação, pois são necessárias varias interações para garantir que todas as configurações foram acessadas na quantidade ideal.

Algoritmo O programa principal está escrito em SPL, pois através dele que são feitas as trocas de

informação entre o MatLab e o MRDS, e possui as seguintes etapas.

1 Criar o agente, sensores e obstáculos no ambiente MRDS. 2 Inicializar variáveis do sistema e carrega os valores existentes da tabela valor-ação. 3 Leitura dos sensores.

4 Dados dos sensores são enviados para MatLab, onde o agente é localizado no espaço de estado.

5 Realiza chamada para a função ε-greedy [5], criada no MatLab, onde é escolhida uma ação para o agente tomar.

6 Os dados da ação selecionada são lidos do MatLab e enviados para o agente no ambiente do MRDS, que executa a ação.

7 Os dados dos sensores do agente são novamente lidos e enviados para o Matlab para sua localização no espaço de estados.

8 É realizada uma avaliação do estado ao qual a ação escolhida pelo ε-greedy levou o agente. Se o estado está próximo ao objetivo a uma distância de 10% da menor distância entre o agente e o alvo na configuração inicial do problema (dist_min_inicial), o valor da recompensa é 100, caso o agente se encontro em um estado caracterizado pela distância a um obstáculo a frente menor ou igual a 10 % de dist_min_inicial o reforço é -100, se nenhuma dessas duas condições foi atendida o reforço é 0.

9 Com o valor da recompensa determinado, é feita a chamada no MatLab para a função de aprendizado Q_learning, que irá atualizar o valor da ação escolhida no estado anterior conforme a equação abaixo, onde alpha = 0.35 (taxa de aprendizado) e gamma = 0.1 (fator de desconto).

10 A tabela valor-ação é salva. 11 Caso o agente tenha alcançado o objetivo ou tenha atingindo um obstáculo, retorna ao

item 2, caso contrário item 3. 12 Caso após 300 ciclos o agente não alcance o objetivo ou não se depare com um

obstáculo o sistema retorna para a posição 2.

Resultados Para tentar alcançar o maior número de estados possíveis, diversas configurações de

simulação foram realizadas, como:

Agente em um ambiente livre de obstáculos Nessa configuração o agente foi iniciado na posição (0,0) com orientação (-Z) e não

possui restrições de movimentos, pois não há obstáculos que impeçam seu deslocamento (figura 10) e, portanto seria à configuração na qual o agente precisaria do menor número de interações para alcançar o objetivo que se encontra na posição (-0.5,2.5).

Para que o agente alcançasse o objetivo pela primeira vez, foram necessárias 528 interações, sendo que conforme o item 12 do algoritmo, por não ter alcançado o objetivo dentro de 300 interações o sistema foi reiniciado, fazendo com que do ponto inicial até o objetivo o agente realizasse 228 passos.

Figura 10 - Posição inicia para o agente sem obstáculos que deseja chegar no ponto em verde.

Abaixo podemos observar o resultado das 300 primeiras interações do agente com o ambiente.

Gráfico (1A) - Posição (X,Z) do agente X interação

Gráfico (2A) - Giro realizado pelo agente e orientação em relaçao ao objetivo X interação

Gráfico (3A) - Deslocamento realizado pelo agente e distância do agente ao objetivo X interação

Gráfico (4A) - Estados explorados pelo agente a cada etapa X interação

Do gráfico 2A é possível observar que o agente se manteve boa parte do tempo

desalinhado com objetivo e por isso, cada passo que ele dava o distanciava mais do alvo, como pode ser observado no gráfico 3A. No gráfico 4A nota-se que o estado mais visitado está por volta do 330 e que os longos tempos de permanência nesse estado foi devido ao pouca movimentação realizada pelo agente durante esse período.

Após cerca de 3000 interações, o agente passou a alcançar o objetivo cada vez mais rápido chegando, em alguns casos, a precisar de apenas 13 passos. Abaixo segue a análise de um processo no qual o agente precisou de 18 passos para alcançar o objetivo. Nessa análise agente se inicia nos pontos (1,0) na direção (-Z) e precisa chegar ao ponto (0.5,2.5) sem importar a direção.

Gráfico (1B) - Posição (X,Z) do agente x interação X interação

Gráfico (2B) - Giro realizado pelo agente e orientação em relaçao ao objetivo X interação

Gráfico (3B) - Deslocamento realizado pelo agente e distância do agente ao objetivo X interação

Gráfico (4B) - Estados explorados pelo agente a cada etapa X interação

Conforme pode ser observado no gráfico 3B, cada deslocamento que o agente realiza

está diminuindo sua distância ao objetivo e nos momentos em o agente não translada eles está ajustando sua orientação para ficar alinhado como objetico, conforme mostrado no gráfico 2B. Com isso, conclui-se que o agente aprendeu que em situações em que não haja

obstáculos, o melhor distância a ser percorrida é a reta que o liga ao objetivo e, portanto, o agente procura se alinhar ao objetio para realizar sua translação.

Outra observação é em relação a distância percorrida em cada translação; é possível notar que quando o agente se encontra próximo ao objetivo ele realiza a menor translação que lhe é possível e com isso evita passar o alvo.

Agente em ambiente com um obstáculo entre ele o objetivo Nessa análise agente é iniciado nos pontos (1,0) na direção (-Z) e precisa chegar ao

ponto (0.5,2.5) qualquer que seja a direção, contudo ao contrário dos casos anteriores, o agente não pode mais adotar a estratégia já aprendida, alinhar com o objetivo e se deslocar, agora o agente deve aprender a desviar do obstáculo que irá encontrar e será penalizado toda vez que se aproximar demais (figura 11).

: Figura 11 – Ambiente com obstáculo entre o agente e o objetivo

Como essa configuração envolve mais estados, foi necessário um clico maior de

treinamento para que o objetivo fosse alcançado pela primeira vez. A seguir segue a análise do deslocamento do agente para o caso acima no qual ele alcançou o objetivo em 64 etapas.

Gráfico (1C) - Posição (X,Z) do agente X interação

Gráfico (2C) - Giro realizado pelo agente e orientação em relaçao ao objetivo X interação

Gráfico (3C) - Deslocamento realizado pelo agente e distância do agente ao objetivo X interação

Gráfico (4C) - Estados explorados pelo agente a cada etapa X interação

Gráfico (5C) - Distãncia frontal, lateral direita e esquerda ao obstáculo X interação

Conforme pode ser observado no gráfico 5C o agente contorna o obstáculo pela

esquerda, o mantendo a maior parte do tempo próximo a essa lateral, e no instante que ele passa pelo obstáculo ele gira procurando se alinhar com o alvo. Outro ponto a observar, é que nos passos de 22 à 27, em que o agente se encontra com o obstáculo muito próximo a sua frente, o único movimento que ele realiza é o de rotação e que para sobrepor a barreira o agente chega a adotar deslocamentos que o distanciam do objetivo, conforme pode ser visto no gráfico 3C.

Agente em um ambiente de corredor Assim como nas análises anteriores, o agente é iniciado nos pontos (1,0) na direção (-

Z) e precisa chegar ao ponto (0.5,2.5) qualquer que seja a direção, contudo nessa configuração o agente possui seus movimentos mais restritos, já que está cercado por obstáculos(figura 12).

Figura 12 – Ambiente com agente cercado por obstáculos

A seguir segue a análise do deslocamento do agente para o caso acima no qual ele

alcançou o objetivo em 58 etapas.

Gráfico (1D) - Posição (X,Z) do agente x interação X interação

Gráfico (2D) - Giro realizado pelo agente e orientação em relaçao ao objetivo X interação

Gráfico (3D) - Deslocamento realizado pelo agente e distância do agente ao objetivo X interação

Gráfico (4D) - Estados explorados pelo agente a cada etapa X interação

Gráfico (5D) - Distãncia frontal, lateral direita e esquerda ao obstáculo X interação

Do gráfico 3D, nota-se que mais uma vez o agente procurou um melhor

posicionamento antes de começar a deslocar em direção ao objetivo e ao se aproximar de um obstáculo frontal o agente realiza uma rotação para buscar um melhor posicionamento, gráficos 3D e 4D passo 27.

Um momento a se observar é no gráfico 1D é o passo 52, no qual o agente ultrapassa o objetivo e conforme nota-se nos gráficos 2D e 3D nos instantes seguintes o agente gira cerca de 180 graus para se alinha novamente com o objetivo para então se deslocar à ele.

Conclusões Com os experimentos feitos até o momento, observa-se uma boa evolução do agente

na busca de uma política ótima, contudo o processo se mostra um pouco lento, já que são foram necessárias várias interações para que o agente chegue à condição atual. Esse elevado número de interações, só confirma a necessidade da existência de um ambiente virtual na qual o processo de aprendizado possa ser feito.

Numa segunda etapa dessa iniciação, o tempo de aprendizado será otimizado, pois será trabalhado com um sistema com vários agentes e com isso a experiência adquirida por um agente será compartilhada entre todos, multiplicando a velocidade de aprendizado pelo número de agentes no sistema. Outro fator que prejudicou o tempo de aprendizado, foi o tempo de comunicação entre o SPL e o MatLab, que poderia ser contornado se as funções executadas no MatLab fossem escritas no SPL.

Referências

1 - RWTH – Mindstorms NXT Toolbox. Disponível em: http://www.mindstorms.rwth-aachen.de/. Acesso em: 15/04/2013.

2 - Microsoft Robotics Developer Studio. Disponível em: http://www. microsoft.com/robotics/#Learn. Acesso em: 02/05/2013.

3 - STEM Education: SPL Toolkit. Disponível em: http://www.helloapps.com/QuickStart/. Acesso em: 13/05/2013.

4 - SUTTON, R. S. & BARTO, A. G. Reinforcement Learning – An Introduction. MIT Press, Cambridge, Massachusetts, 1998. 5 - BLYNEL, J. Reinforcement Learning in Real Robots. Master’s Thesis – Department of Computer Science. University of Aarhus, Denmark, 2000.

6 - PESSOA, J. M. D. Análise Funcional Comparativa de Algoritmos de Aprendizagem por Reforço. Dissertação de Mestrado, Departamento de Engenharia Elétrica e Telecomunicações e de Computadores – Instituto Superior de Engenharia de Lisboa, Lisboa, 2011. 7 - WATKINS, C. J. C. H. Learning from Delayed Rewards. Ph.D. thesis – University of Cambridge, England, 1989. Disponível em: <http://www.cs.rhul.ac.uk/home/chrisw/new_thesis.pdf>. Acesso em 14/03/13. 8 - CAMPONOGARA, E. & SERRA, M. R. G. Aprendizagem por Reforço: Uma Primeira Introdução. Departamento de Automação e Sistemas. Universidade Federal de Santa Catarina, Florianópolis – SC, 2005.

9 - RIBEIRO, C. Reinforcement Learning Agents. Instituto Tecnológico de Aeronáutica (ITA). Artificial Intelligence Review 17: 223-250, the Netherlands, 2002.

10 - PIERI, E. R. Curso de Robótica Móvel. Programa de Pós-Graduação em Engenharia Elétrica – Universidade Federal de Santa Catarina, 2002.