• Nenhum resultado encontrado

SISTEMA DE CONTROLE DE SISTEMAS CAÓTICOS SOBRE ÓRBITAS PERIÓDICAS

N/A
N/A
Protected

Academic year: 2021

Share "SISTEMA DE CONTROLE DE SISTEMAS CAÓTICOS SOBRE ÓRBITAS PERIÓDICAS"

Copied!
25
0
0

Texto

(1)

SISTEMA DE CONTROLE DE SISTEMAS CAÓTICOS SOBRE ÓRBITAS PERIÓDICAS

DANNIEL,COSTAK.B.

TITO, JUNIOR D.

Departamento de Engenharia Mecânica, Universidade de Brasília, Campus Darcy Ribeiro, Asa Norte, Brasília – DF, 70910-900

Emails: dannielunb@gmail.com, titodiasjr@gmail.com

Abstract: The main subject of this paper is chaos control. This can be achieved through applying small disturbances to the system parameters in order

to stabilize unstable periodic orbits (UPO). As the final result a software has been developed, using Matlab programming language, based on artificial neural networks (ANN) and genetic algorithms (GA) theories, capable of controlling chaotic systems upon desired periodic orbits. The Lorenz dynamical system was used as chaotic model to study the effectiveness of the proposed method.

Keywords: Artificial neural networks, Genetic algorithms, Unstable chaotic orbits, Lorenz’s atractor.

Resumo: Este trabalho tem como tema principal o controle do caos. Tal controle pode ser realizado através de um processo no qual uma pequena

perturbação é aplicada a um sistema caótico a fim de gerar um comportamento desejado (caótico, periódico ou estacionário) no mesmo. Em suma, foi desenvolvido um software em linguagem de programação MATLAB, utilizando as teorias de redes neurais artificiais e algoritmos genéticos, capaz de controlar sistemas caóticos sobre órbitas periódicas desejadas. Como modelo de sistema caótico foi usado o sistema do atrator de Lorenz.

Palavras Chave: Redes neurais artificiais, Algoritmos genéticos, Órbitas instáveis caóticas, Atrator de Lorenz.

1. Introdução

Um sistema determinístico não-linear é considerado caótico sempre que sua evolução depende sensivelmente de suas condições iniciais. Esta propriedade implica que duas trajetórias emergindo de duas condições iniciais ligeiramente diferentes afastam-se exponencialmente no decorrer do tempo. Os requisitos necessários para um sistema determinístico ser caótico são que tal sistema deve ser não linear, e no mínimo tridimensional.

Devido ao caos pode-se produzir um número incontável de comportamentos dinâmicos usando o mesmo sistema caótico, com a atuação de pequenas perturbações escolhidas adequadamente. Estas, por sua vez, são selecionadas depois de um tempo de aprendizado, quando a dependência da dinâmica a alguns controles externos é testada. A idéia de controle do caos consiste em perturbar um parâmetro de controle quando a trajetória natural está sobre uma pequena vizinhança da trajetória desejada (fato garantido pela ergodicidade), de modo a estabilizar a trajetória em uma região do espaço de fases descrito pelo sistema. Nesse caso, todas as divergências são controladas e a evolução natural sucessiva da dinâmica, exceto por não linearidades e ruído, converge para o ponto desejado (estabilizando-se o comportamento periódico desejado).

Neste trabalho o objetivo foi desenvolver um software capaz de controlar sistemas caóticos sobre órbitas periódicas, selecionando seu período. Para isso utilizar-se-á da teoria de redes neurais artificiais e algoritmos genéticos a fim de selecionar a perturbação que possibilitará o controle efetivo do sistema em questão.

2. Controle Adaptativo do Caos Através de Algoritmos Genéticos (AGs) e Redes Neurais Artificiais (RNAs)

2.1. Redes Neurais Artificiais (RNAs)

Redes Neurais Artificiais (RNAs) são formadas por sistemas que tentam reproduzir a estrutura do cérebro humano. Tais unidades, os nós, são dispostas em uma ou mais camadas interligadas por um grande número de conexões, quase sempre unidirecionais (SUYKENS; VANDEWALLE; DE MOOR, 1996). Essas conexões geralmente estão associadas a pesos, os quais armazenam o conhecimento representado no modelo e têm o papel de ponderar a entrada recebida por cada neurônio (nó) da rede (BRAGA; LUDEMIR; CARVALHO, 2000).

Em RNAs, o procedimento seguido para solucionar problemas é composto inicialmente por uma fase de aprendizagem, na qual vários exemplos são apresentados à rede. A rede é capaz de perceber e capturar características que a permite representar os dados recebidos (informações). As RNAs conseguem abstrair informações não explícitas e descrever funções multivariáveis, com a vantagem de gerar um menor custo computacional que cresce linearmente com o número de variáveis (DIEDERICH, 1990).

Inspirados no conhecimento científico do neurônio biológico, McCulloch e Pitts propuseram o modelo chamado MCP. Esse modelo é formado por “ ” terminais de entrada “

x

1,

x ,...,

2

x

n”, representando os dendritos, e um terminal de saída “ ”, representando o axônio.

(2)

As entradas “

x

1,

x ,...,

2

x

n” possuem pesos “

w

1, n

w

w ,...,

2 ”, os quais podem ser tanto positivos quanto negativos (contribuição excitatória ou inibitória, respectivamente) e têm por função mensurar a importância da contribuição de uma determinada conexão para um neurônio específico (WEEKS; BURGESS, 1997), neste caso é utilizada a função sigmoidal, alterada para gerar valores no intervalo [-1,1], emulando o comportamento das sinapses biológicas (HOLLAND, 1992). A figura 1 mostra um diagrama representativo de um neurônio MCP, suas entradas, pesos e saída.

Figura 1. Neurônio MCP, onde T é o limiar de ativação do neurônio.

2.2. Algoritmos Genéticos (AGs)

Algoritmos genéticos (AGs) são algoritmos de busca baseados nos mecanismos da evolução Darwiniana: seleção natural, recombinação genética (cruzamento) e mutação. Eles utilizam a idéia de sobrevivência do mais adaptado através de formações vetoriais bem estruturadas (strings), as quais promovem trocas de informação através de operadores matemáticos (CUNHA, 2006).

Em cada geração, um novo conjunto de “indivíduos” (vetores) é criado, usando partes dos indivíduos mais adaptados da geração anterior. Ocasionalmente, ocorrem mutações que geram novas partes (sem ligação com as gerações anteriores) a fim de testar possíveis soluções fora da região original de procura. Geração após geração, os algoritmos genéticos caminham em direção a uma solução ótima, explorando as informações obtidas anteriormente para escolher novos pontos de análise com os quais se espera atingir resultados melhores que os correntes (GOLDBERG, 1989). Algoritmos genéticos fornecem um robusto modo de buscar em espaços desconhecidos (MITCHELL, 1996). Pode-se fazer uma analogia com uma caixa preta, para a qual fornecemos os dados de entrada e obtemos a saída, sem, no entanto, saber o que se passa no interior da caixa (LINDEN, 2006). A figura 2 mostra um diagrama representativo do cruzamento.

Figura 2. Representação de um processo de cruzamento.

A figura 3 mostra um diagrama de um processo de mutação.

Figura 3: Representação de um processo de mutação.

Nesse trabalho os AGs serão utilizados para selecionar os neurônios da rede neural artificial entre ciclos de execução do programa principal, proporcionando ao software uma maior capacidade de adaptação. Espera-se que o par RNA e AG formem um sistema de resolução de problemas robusto e confiável.

3. Método de Malha Fechada de Controle do Atrator de Lorenz.

Um arranjo caótico, no qual a trajetória do processo caótico vive, tem imergido em si um grande número de órbitas periódicas de baixo período. Somado a isso, devido à ergodicidade, a trajetória visita ou acessa a vizinhança de cada uma dessas órbitas periódicas (OTT; GREBOGI; YORKE, 1990). Algumas dessas órbitas periódicas podem corresponder a um desempenho desejado de um sistema de acordo com algum critério. O caos, enquanto dependência sensível a pequenas alterações no estado atual e causando imprevisibilidade do estado do sistema em tempos longos, também implica que o comportamento do sistema pode ser alterado pela utilização de pequenas perturbações. Então, a acessibilidade dos sistemas caóticos a várias órbitas periódicas diferentes, combinado com sua sensibilidade a pequenas perturbações, permite o controle e manipulação do processo caótico.

A maior vantagem da idéia de controlar o caos é que isto pode ser aplicado a sistemas experimentais, nos quais um conhecimento prévio do sistema não está disponível. Geralmente mede-se uma série temporal de uma única variável de estado e então se usa o atraso de coordenadas para representar o estado do sistema (FRANKLIN; POWELL; WORKMAN, 1997).

3.1. Sistema do Atrator de Lorenz

O sistema de Lorenz é autônomo e possui um atrator estranho. Ele é composto por 3 (três) equações diferenciais ordinárias (EDOs) de ordem 1 (um). São elas:

Eq.(1)

Eq.(2) Eq.(3)

(3)

A divergência encontrada por Lorenz foi vista como indício da imprevisibilidade evolucional de fluxos em fluidos turbulentos, graças à falta de precisão na determinação das condições iniciais (FIEDLER-FERRARA; PRADO, 1994).

Para chegar ao sistema de Lorenz é necessário remeter-se aos estudos da instabilidade de Rayleigh-Bernárd, os quais estudam o caso de um fluido que se encontra entre duas placas horizontais, onde a placa superior está a uma temperatura menor que a inferior. Esta diferença de temperatura, expressa aqui por , determina o modo de transferência de calor entre as placas, ou seja, para uma diferença pequena verifica-se a condução de calor, e para diferenças que excedam certo limiar nota-se que a condução dá lugar à convecção, a qual proporciona o surgimento de “rolos” de convecção. Esta é a chamada instabilidade de Rayleigh-Bernárd.

Os coeficientes possuem

significados físicos bem definidos, são eles é proporcional à intensidade da convecção; é proporcional à diferença de temperatura entre as correntes de fluido ascendente e descendente; e é proporcional à distorção do perfil de temperatura vertical, relativo a um perfil linear. A figura 4 mostra o comportamento destas variáveis.

Figura 4: Sistema de Lorenz para

3.2. Construção e Processamento da RNA

A rede neural usada nesse trabalho foi escolhida para ser o mais simples possível (HAGAN; DEMUTH, 1999), sendo formada por três camadas, fig.5. A primeira delas é a de entrada, formada por um nó e recebe uma medida da variável X do sistema de Lorenz. a segunda camada é chamada oculta (interna), com 20 nós (esse número é diretamente proporcional à capacidade de treinamento da RNA). Cada um destes 20 nós tem conexão com o nó da camada de entrada, ponderada pelo peso

w

de cada nó citado acima. A terceira camada, denominada net, é composta por apenas um nó. Esse nó é gerado a partir da interação dos nós da camada oculta, os quais trabalham juntos como se formassem um time. Após a RNA existe

um processamento dos dados realizado pelo supervisor da rede. Este conhece o resultado que se deseja obter com o treinamento da rede, ou seja, a freqüência da órbita periódica desejada. O supervisor compara o valor atual de X e o valor de X defasado de um período ( ). Com esta diferença ele calcula, utilizando o valor repassado pela camada net, uma perturbação proporcional a estes dois valores que será aplicada ao parâmetro r do sistema de Lorenz. A figura 5 apresenta um diagrama da RNA utilizada nesse trabalho.

Figura 5: Diagrama da RNA usada nesse trabalho.

3.3. Treinamento e Simulação Do Sistema De Controle

A princípio o programa gera, aleatoriamente, uma população inicial que é colocada na "bacia de seleção". Cada indivíduo possui três (3) locus de informação (

X

ij), onde o primeiro corresponde ao peso

w

ij com o qual será ponderada a entrada do sistema, estabelecendo ligação entre a entrada e a camada oculta.

O segundo locus é reservado para armazenar os pesos

w

ij com os quais os nós da camada oculta serão ponderados para que sejam avaliados antes de serem descartados ou terem seus valores processados e repassados à camada net. O terceiro locus é reservado para armazenar o fitness do nó em questão. O fitness é o valor que mensura o quão adequado é o nó para que se atinja a estabilidade do sistema, ele é atribuído conjuntamente aos nós da camada oculta ao fim de cada geração, quando tais indivíduos retornam para a "bacia de seleção", e uma nova camada oculta é selecionada.

Cada nó mantém o fitness obtido na melhor RNA que este tenha participado (melhor time) durante toda a execução da geração.

O valor que é armazenado em net é um escalar o qual é passado para o supervisor. Este gera perturbações diretamente proporcionais ao valor calculado de net e à diferença entre o estado atual de X e seu valor defasado de um período. A primeira condição é o valor atual de X estar dentro

(4)

de uma vizinhança, de raio determinado pelo usuário do programa, do valor de X atrasado de um período para que o controle seja ativado. O supervisor envia o valor da perturbação ao sistema que calcula a nova situação do sinal X, reenviando estes dados para a entrada da RNA. Caso X não esteja dentro da vizinhança mencionada o programa continua sua execução sem perturbar o sistema até sua que a estocasticidade garanta a proximidade mínima necessária da órbita desejada para que o controle seja ligado. Satisfeita a primeira condição, quanto menor o módulo do valor entregue pela camada net, menor será a força aplicada ao sistema. Quando o sistema se estabiliza por um período maior ou igual a cinco vezes o período estipulado pelo usuário do programa, a força aplicada será nula.

Satisfeito isso o programa é interrompido, uma mensagem de estabilidade é ativada e um gráfico do comportamento do sistema em função do tempo é mostrado.

Enquanto esta condição não é satisfeita o programa continua em execução cíclica, aplicando o valor encontrado na saída (valor de X) como realimentação da entrada da RNA. O software realiza, continuamente, o treinamento da RNA e seu teste no sistema de modo que possíveis alterações no sistema a ser controlado são refletidas no comportamento do sistema de Lorenz e a RNA se adéqua, iterativamente, a tais alterações buscando manter a planta controlada.

São feitas no máximo cem mil iterações para cada camada oculta selecionada, tentando estabilizar o sistema. Se ao fim destas iterações as condições de estabilidade não forem satisfeitas, um valor de fitness inversamente proporcional ao número de passos que o sistema se manteve em funcionamento e à diferença entre os valores de X atual e atrasado de um período é atribuído aos nós da camada oculta corrente e os mesmos retornam para a bacia de seleção para que um novo processo se inicie. São escolhidas 90 camadas oculta diferentes. Se ao fim desse processo a estabilidade ainda não tiver sido alcançada, os operadores genéticos são aplicados na população da bacia de seleção (pop). Primeiramente a população passa pelo processo de recombinação genética aplicado pela função cruzamento e parte da população menos adaptada é substituída por indivíduos bem adaptados que sofreram processo de mutação.

Concluídos os processos genéticos de cruzamento e mutação, a nova população está formada.

Esse processo de geração de uma nova população é realizado dez vezes, e a cada vez que ocorre, a população gerada passará novamente por até trinta escolhas (iterações) de camada oculta e cada uma destas escolhas serão submetidas a até 10000 passos do programa.

Esse processo é interrompido a qualquer momento caso a estabilidade do sistema seja alcançada.

3.4. Resultados

Tendo conhecimento dos tópicos abordados sobre o funcionamento do software torna-se possível a apresentação e compreensão dos resultados obtidos com a execução do mesmo na simulação do sistema de Lorenz.

Para executar o software utilizou-se um computador com processador Intel Core 2 Duo (1.83GHz, 667 MHz FSB, 2MB cache) e 3 GB de memória RAM. No programa implementado, a rede neural se adapta conforme a situação atual da variável X do sistema de Lorenz em relação a mesma atrasada de um período. O gráfico da Fig. 6 mostra o sinal no controle do sistema de Lorenz sobre uma órbita de período de 650 ms. Neste caso o controle sobre a órbita periódica foi atingido com 5 gerações, 5 iterações e 530 passos.

Figura 6. Sistema de Lorenz – sinal estabilizado

A fim de mostrar o comportamento da perturbação durante a iteração do programa em que foi atingida a estabilidade do sistema foi traçado o gráfico da perturbação pelo número de passos, na Fig. 7.

Figura 7. Sistema de Lorenz – Perturbação do Sinal vs Número de Passos

É possível ver que ao atingir a estabilidade, a perturbação sobre o sinal cessa. Isso é evidenciado pela linha horizontal presente na figura.

(5)

Agora, no intuito de conferir a freqüência estipulada no programa com a obtida na execução do mesmo foi traçado o gráfico da Fig. 8 onde se tem a transformada de Fourier do sinal X em função do período estipulado.

Figura 8. Número de Incidências vs Período [seg/100]

É possível ver que a maioria dos passos do programa (mais de 80%), na iteração em que se atingiu a estabilidade, encontra-se com o período estipulado de 65 passos, onde cada passo tem a duração de um centésimo de segundo (0.01 seg). Com a rede de controle já obtida, é possível testar a mesma para estabilizar o sistema com intervalos de controle desligado. Para isso foi traçado o gráfico da Fig. 9, do sinal pelo número de passos.

Figura 9. Estabilizando o sistema com sinal de controle desligado.

Pode ser notado que, mesmo com o controle desligado por mil (1000) passos atingiu-se a estabilidade com os mesmos 391 passos. Isso ocorreu, pois, mesmo sem a perturbação do sistema ativada a rede de controle garante que o sistema seja estável sobre a órbita periódica selecionada. O ruído é um fator constante nos sistemas naturais, na prática dificilmente consegue-se obter experimentos onde não seja necessário considerar o ruído para atingir seus objetivos de forma mais confiável.

Com ruído de 15% da amplitude média do sinal controlado (tal amplitude é calculada tirando o módulo da diferença entre o último pico e vale do sinal controlado sem ruído e dividindo por dois), tem-se o gráfico da Fig. 10, com a perturbação desligada até o passo mil (1000).

Figura 10. Rede Treinada – Sinal X com Ruído de 15%, com Controle Desligado

A interferência do ruído fica evidente, porém com os critérios utilizados ainda foi possível atingir a estabilidade. Isso mostra a robustez do programa desenvolvido e da rede de controle na estabilização do sistema sobre órbitas periódicas.

Uma característica inerente aos sistemas caóticos é a sensibilidade crítica às condições iniciais. Pensando nisso foram feitos testes com algumas condições iniciais diferentes, sendo elas: sobre um dos pontos fixos não triviais de Lorenz ( ), 1% afastado deste ponto, 5% afastado do mesmo e 20% afastado do ponto fixo. Isso foi feito no intuito de ver como o programa desenvolvido se comporta.

Para 20% de afastamento das condições iniciais do ponto fixo não trivial a amplitude média do sinal X observada foi cerca de 0.16 (mais de duas ordens de grandeza maior do que com 1% afastado do ponto fixo não trivial de Lorenz), conforme Fig. 11.

Figura 11. Sinal X com Cond. Inicial 20% Afastada de P. Fixo Não Trivial de Lorenz

(6)

Outra questão interessante é controlar a rede já com ruído nas medidas de seu sinal, isso dificulta o trabalho de encontrar uma rede de controle satisfatória. Foram estudados os casos iniciando com ruído de 1%, 5% e 10% da amplitude média do sinal controlado.

Com ruído de 10% da amplitude média do sinal controlado o sistema foi controlado sobre a órbita periódica ainda na primeira geração, depois de 14 iterações e 402 passos. Conforme mostrado na Fig.12.

Figura 12. Rede Treinada com 10% de Ruído

4. Considerações Finais

Nesse trabalho foi desenvolvido um software que tem a função de controlar sistemas instáveis, lineares ou não, utilizando, como método de controle, redes neurais artificiais em conjunto com algoritmos genéticos.

Durante os testes realizados com o software utilizou-se uma rede treinada, e nenhum treinamento adicional foi necessário. Assim, é possível notar o quanto o programa responde bem à sua função de controlar o sistema de Lorenz em várias situações diferentes, como:

Com intervalos nos quais o controle está desligado.

Com a presença de ruído nas medidas após encontrar a rede de controle que leva ao comportamento periódico desejado.

Com a presença de ruído nas medidas antes mesmo de encontrar uma rede de controle capaz de promover o comportamento periódico do sinal caótico.

Alteração na situação inicial do sistema a ser controlado.

O software apresentou respostas ótimas ao ser aplicado em sistemas instáveis em regime permanente (sistemas caóticos), ao ser utilizado para estabilizar o sistema de Lorenz (atrator de Lorenz).

Os resultados obtidos comprovam a capacidade de aprendizado do sistema implementado, e mostram de forma clara o quão robusto é o método utilizado para o projeto do sistema de controle.

5. Referências

BRAGA, Antônio; LUDERMIR, Teresa; CARVALHO, André. Redes neurais artificiais: teoria e aplicações. Rio de Janeiro: LTC, 2000. CUNHA, Wiliam Ferreira et al. Fitting potencial energy surface of reactive systems via genetic algorithm. International Journal of Quantum Chemistry, New York, v. 106, p. 2650-2657, 2006. DIEDERICH, Joachim. Artificial neural networks: Concept learning. Los Alamitos: IEEE, 1990. FIEDLER-FERRARA, Nelson; PRADO, Carmen P. Cintra do. Caos: uma introdução. São Paulo: Edgard Blücher, 1994.

FRANKLIN, Gene F.; POWELL, J. David; WORKMAN, Michael L. Digital control of dynamic systems. 3rd ed. Massachusetts: Addison Wesley, 1997.

GOLDBERG, David E. Genetic algorithms in search, optimization and machine Learning. [USA]: Addison-Wesley, 1989.

HAGAN, M. T.; DEMUTH, H. B. Neural networks for control. In: AMERICAN CONTROL CONFERENCE, San Diego, 1999. v. 3, p. 1642-1656.

HOLLAND, John H. Adaptation in natural and artificial systems: an introductory analysis with applications to biology, control, and artificial intelligence. Cambridge, Massachusetts: MIT press, 1992.

LINDEN, Ricardo. Algoritmos genéticos: uma importante ferramenta da inteligência computacional. Rio de Janeiro: Brasport, 2006. MITCHELL, Melanie. An introduction to genetic algorithms. Cambridge, Massachusetts: MIT Press, 1996.

OTT, E.; GREBOGI, C.; YORKE, J. A. Controlling chaos. Physical Review Letters, New York, v. 64, n. 11, p. 1196-1199, 1990.

SUYKENS, J. A. K.; VANDEWALLE, J.; DE MOOR, B. L. .R. Artificial neural networks for modeling and control of non-linear systems. Boston: Kluwer Acad, 1996.

WEEKS, E. R.; BURGESS, J. M. Evolving artificial neural networks to control chaotic systems. Physical Review E. v. 56, n. 2, p. 1531-1540, Apr. 1997.

(7)

COMPARA ¸C ˜AO DE ALGORITMOS DE CLASSIFICA ¸C ˜AO DE PADR ˜OES EM TAREFAS DE NAVEGA ¸C ˜AO DE ROB ˆOS M ´OVEIS

Ananda L. Freire∗, Guilherme A. Barreto∗, Marcus V. D. Veloso∗, Antonio T. Varela†

Universidade Federal do Cear´a, Depto. Engenharia de Teleinform´atica, Fortaleza, Cear´aInstituto Federal de Educa¸c˜ao, Ciˆencia e Tecnologia do Cear´a, Fortaleza, Cear´a

Emails: anandalf@gmail.com, guilherme@deti.ufc.br, veloso@fisica.ufc.br, themoteo@cefetce.br

Abstract— This paper reports preliminary results of an investigation of the degree of complexity of robot navigation tasks. In particular, we deal with the well-known task of navigation by wall-following. For this purpose, three well-known neural architectures (Logistic Perceptron, Multilayer Perceptron and Mixture of Experts) are used to associate different sensory input patterns with four predetermined action categories. All stages of the experiments - data acquisition, selection and training of the architectures in a simulator and their execution on a real mobile robot - are described. The obtained results suggest that the wall-following task, formulated as a pattern classification problem, is nonlinearly separable, a result that favors the multilayer perceptron network. Keywords— Neural Networks, Navigation, Wall-following, Pattern Classification, Nonlinear Separability

Resumo— Este artigo reporta resultados preliminares de uma investiga¸c˜ao do grau de complexidade de tarefas de navega¸c˜ao rob´otica. Em particular, este trata da navega¸c˜ao conhecida como wall-following. Para este fim, trˆes conhecidas arquiteturas neurais (Perceptron Log´ıstico, Perceptron Multicamadas e Mistura de Especialistas) s˜ao utilizadas com o intuito de associar diferentes padr˜oes de leituras sensoriais com quatro classes de a¸c˜oes pr´ e-determinadas. Todas as etapas dos experimentos - aquisi¸c˜ao dos dados, sele¸c˜ao e treinamento das arquiteturas em um simulador e execu¸c˜ao das arquiteturas em um robˆo m´ovel real (SCITOS G5), s˜ao descritas em detalhes. Os resultados obtidos sugerem que a tarefa de seguir paredes, formulada como um problema de classifica¸c˜ao de padr˜oes, ´e n˜ao-linearmente separ´avel, resultado este que favorece a rede Perceptron Multicamadas.

Palavras-chave— Redes Neurais, Navega¸c˜ao, Seguir Paredes, Classifica¸c˜ao, Separabilidade N˜ao-Linear. 1 Introdu¸c˜ao

Este artigo apresenta os resultados dos testes rea-lizados com o robˆo m´ovel SCITOS G5, que a par-tir de dados sensoriais coletados ap´os navegar se-guindo paredes em uma sala , ´e treinado com trˆes diferentes arquiteturas de redes neurais para to-mar quatro decis˜oes que determinam a sua movi-menta¸c˜ao. Pode-se entender o processo de apren-dizado das arquiteturas neurais como um tipo de aprendizado por imita¸c˜ao, uma vez que os dados s˜ao coletados por uma rotina contru´ıda `a base de regras heur´ısticas IF-THEN, cuja fun¸c˜ao ´e guiar o robˆo ao longo das paredes de uma sala. A qua-lidade do aprendizado ´e ent˜ao avaliado pela habi-lidade das arquiteturas neurais em “imitar” o de-sempenho do controlador heur´ıstico.

A principal contribui¸c˜ao do artigo est´a em ve-rificar empiricamente que a cl´assica tarefa de nave-ga¸c˜ao de robˆos estilo wall-following (Bekey 2005), (?), formulada como um problema de classifica¸c˜ao de padr˜oes, ´e n˜ao-linearmente separ´avel, justifi-cando a´ı o uso de arquiteturas neurais n˜ao-lineares como controladores de navega¸c˜ao.

O restante do artigo est´a organizado como se-gue. Na Se¸c˜ao 2 s˜ao brevemente descritos os mo-delos de redes neurais utilizadas nos experimentos. Na Se¸c˜ao 3 s˜ao apresentadas as caracter´ısticas da unidade rob´otica m´ovel respons´avel pela gera¸c˜ao do conjunto de dados para treinamento e pela rea-liza¸c˜ao dos testes. Na Se¸c˜ao 4, aborda os detalhes

da coleta dos dados para treinamento, o programa respons´avel pela movimenta¸c˜ao do robˆo e a con-figura¸c˜ao do ambiente de testes. Na Se¸c˜ao 5 s˜ao descritos os testes realizados, assim como seus re-sultados. O artigo ´e conclu´ıdo na Se¸c˜ao 6.

2 Arquiteturas Neurais Avaliadas

Perceptron Log´ıstico - O perceptron log´ıstico (PL) ´e uma rede neural que possui apenas uma ´

unica camada de neurˆonios, com fun¸c˜ao de ativa-¸c˜ao sigm´oide log´ıstica (Haykin 1994). Padr˜oes de entrada s˜ao representadas pelo vetor x(t) ∈ Rp,

o vetor de pesos do i-´esimo neurˆonio de sa´ıda ´e denotado por wi(t) ∈ Rp, 0 < η < 1 ´e a taxa

de aprendizagem, ei(t) = di(t) − yi(t) ´e o erro do

i-´esimo neurˆonio para a sa´ıda desejada di(t). A

opera¸c˜ao de transposi¸c˜ao ´e representada por T , enquando t denota o momento atual. As regras de ativa¸c˜ao e sa´ıda do i-´esimo neurˆonio s˜ao da-das, respectivamente, por

ui(t) = wTi(t)x(t), (1)

yi(t) = φ(ui(t)) =

1 1 + exp(−ui(t))

, (2)

em que φ(ui(t)) ´e a fun¸c˜ao sigm´oide log´ıstica.

(8)

wi(t + 1) = wi(t) + ηei(t) [yi(t)(1 − yi(t)] x(t),

(3) tal que o fator φ′(u

i(t)) = yi(t)(1 − yi(t)) ´e a

derivada da fun¸c˜ao de ativa¸c˜ao em rela¸c˜ao ao seu argumento no instante t.

Perceptron Multicamadas - Neste artigo utiliza-se a rede MLP com apenas uma camada oculta (Haykin 1994). Tanto esta como a de sa´ıda fazem uso da fun¸c˜ao sigm´oide log´ıstica. Assim, a sa´ıda do i-´esimo neurˆonio yi(t), i = 1, . . . , c, ´e

dada por yi(t) = φ " q X k=1 mik(t)φ wkT(t)x(t) − θi(t) # , (4) em que x(t) ∈ Rp´e o vetor de entrada atual, w

k =

[wk1 wk2 · · · wkp]T ´e o vetor de pesos do

k-´esimo neurˆonio oculto, mik ´e o peso que conecta

o k-´esimo neurˆonio oculto ao i-´esimo neurˆonio de sa´ıda. O parˆametro θidenota o limiar da ativa¸c˜ao

do i-´esimo neurˆonio de sa´ıda.

Os pesos e limiares dos neurˆonios de sa´ıda, mi = [mi0 mi1 · · · miq]T, s˜ao ajustados pela

re-gra mostrada na Eq. (3). Os pesos e limiares de ativa¸c˜ao da camada oculta s˜ao computados atra-v´es do procedimento cl´assico de retropropaga¸c˜ao dos gradientes locais dos erros de sa´ıda para a ca-mada oculta.

Mistura de Especialistas - Em poucas pala-vras, o objetivo da abordagem via Mistura de Especialistas (ME) ´e modelar a distribui¸c˜ao de probabilidade dos padr˜oes do conjunto de trei-namento, {x, d} utilizando uma arquitetura mo-dular com K redes especialistas e uma rede sele-tora (Jacobs et al. 1991, Alpaydin & Jordan 1996). A rede seletora determina a sa´ıda dentre as forne-cidas pelos K especialistas, de acordo com suas probabilidades gi, i = 1, ..., K, tal que 0 ≤ gi ≤ 1

ePK

i=1gi= 1. O procedimento para a adapta¸c˜ao

da arquitetura de mistura de especialistas, cons-tru´ıdas por m´odulos de perceptron log´ısticos, com uma rede seletora tamb´em de camada ´unica e fun-¸c˜ao de ativafun-¸c˜ao softmax, ´e descrito a seguir.

Figura 1: Robˆo SCITOS G5.

1. Inicializa¸c˜ao: atribuir valores pequenos e aleat´orios para os pesos dos especialistas w(m)i (n) e do seletor ai(n), i = 1, 2, ..., K e

m = 1, 2, ..., c;

2. Adaptando os Especialistas e o Seletor : apre-sentar o padr˜ao de entrada x(n) e a resposta desejada d(n) para o instante atual n:

ui(t) = xT(t)ai(t), (5) gi(t) = exp{ui(t)} PK j=1exp{uj(t)} , (6) y(m)i (t) = x T(t)w(m) i (t), (7) yi(t) = [y (1) i (t) y (2) i (t) · · · y (c) i (t)] T, (8) hi(t) = gi(t) exp−12kd(t) − yi(t)k2 PK j=1gj(t) exp−12kd(t) − yi(t)k2 , (9) e(m)i (t) = dm(t) − y(m) i (t), (10) δ(m)i (t) = e (m) i (t) h y(m)i (t)(1 − y (m) i (t) i , (11) w(m)i (t + 1) = w(m)i (t) + ηhi(t)δ (m) i (t)x(t), (12) ai(t + 1) = ai(t) + η [hi(t) − gi(t)] x(t). (13) 3. Repetir passo 2 para todos os padr˜oes de

trei-namento, i.e. n = 1, 2, ..., N .

4. Repetir passos 2 e 3 at´e o processo convergir. 3 Robˆo M´ovel SCITOS G5

O robˆo m´ovel SCITOS G5, mostrado na Figura 1, foi adquirido da empresa MetraLabs Robotics (http://metralabs.com), situada em Ilmenau, Ale-manha. Este robˆo foi constru´ıdo para o uso em ambientes fechados, movimentando-se por meio de um sistema motor diferencial, carregando sua pla-taforma de 60kg a uma velocidade de at´e 1, 4m/s, capaz de rotacionar 360 graus, e empurrar cargas de at´e 50kg.

O robˆo tem 570mm × 735mm × 610mm de altura, comprimento e largura, respectivamente. Com uma autonomia de 12h com um PC embar-cado. Este ´e constitu´ıdo de uma placa-m˜ae Mini-ITX, processador Intel Core Duo 1,6 ou 2.0GHz, mem´oria RAM de 2GB, HD de 120GB, com di-versas entradas, entre elas, RJ-45 para Ether-net 10/100 e rede wireless on-board, padr˜ao IEEE 802.11a/b/g. Como sistema operacional, utiliza Linux (Fedora 9). O sistema operacional vem pro-vido de uma cole¸c˜ao de bibliotecas C++ Robot-API, desenvolvidas pela MetraLabs para permitir a cria¸c˜ao de softwares para controle e navega¸c˜ao da plataforma SCITOS G5. Possui ainda encoders

(9)

para c´alculo de posi¸c˜ao com 460 “ticks” por rota-¸c˜ao da roda, sensor de colis˜ao, um cintur˜ao de 24 sensores de ultrasom com range de 20cm − 300cm, sensor a laser SICK S300 e uma cabe¸ca rob´otica dotada de um cˆamera omnidirecional.

4 Coleta de Dados

Para coletar dados destinados ao treinamento das redes neurais, foi criada uma rotina em C++ para guiar e rotular o comportamento de seguir pare-des, dadas as leituras sensoriais naquele instante. A l´ogica desse ´e apresentada no Algoritmo 4.1 e, por ser a respons´avel por gerar as decis˜oes que o robˆo precisa tomar sobre a sua movimenta¸c˜ao, ´e colocada dentro de uma thread que ´e chamada a cada vez que os sensores de ultra-som captam alguma mudan¸ca significativa. Caso n˜ao haja ne-nhuma atividade sensorial em 500ms, o robˆo p´ara.

Algorithm 4.1: SegueParede(f rontDist, lef tDist) if lef tDist > 0, 9 then 8 > > < > > : if f rontDist <= 0, 9

then Parar e girar `a direita

else Reduz a velocidade e gira `a esquerda

else 8 > > > > > > > > < > > > > > > > > : if f rontDist <= 0, 9

then Parar e girar `a direita else if lef tDist < 0, 55

then Reduz a velocidade e gira `a direita else Segue em Frente

Percebe-se que a l´ogica do algoritmo de na-vega¸c˜ao faz uso de regras heur´ısticas SE-ENT˜AO atuando sobre as medidas “distˆancia `a frente” e ‘ ‘distˆancia `a esquerda”, mas as distˆancias `a direita e atr´as tamb´em s˜ao determinadas. Cada uma des-sas distˆancias n˜ao ´e calculada por um ´unico sen-sor, mas sim por um conjunto deles que formam juntos um feixe de 60◦, e a distˆancia utilizada ´e a

menor encontrada pelos sensores que fazem parte do conjunto. Essas quatro distˆancias s˜ao referidas ao longo do artigo como “distˆancias resumidas”.

Al´em da l´ogica de movimenta¸c˜ao, a thread tamb´em ´e repons´avel por enviar atrav´es da rede wireless as seguintes informa¸c˜oes ao banco de da-dos localizado no computador de apoio: as 24 leituras dos sensores ultra-som, as posi¸c˜oes x, y e angular, a velocidade translacional e rotacional do robˆo naquele momento, o r´otulo num´erico da a¸c˜ao realizada e as quatro “distˆancias resumidas”. Essas informa¸c˜oes s˜ao coletadas `a medida que o SCITOS G5 navega pela sala, realizando quatro voltas. A disposi¸c˜ao dos objetos localizados nessa sala pode ser visto na Figura 2 e a trajet´oria que o robˆo percorreu na Figura 3.

Figura 2: Diagrama do ambiente de navega¸c˜ao.

Figura 3:Percep¸c˜ao do ambiente e trajet´oria do SCI-TOS G5 realizada pelo Algoritmo 4.1.

A coleta de dados foi realizada a uma taxa de 9 amostras por segundo e gerou um banco de dados com 5455 exemplos. Estes dados s˜ao ent˜ao utilizados para o treinamento dos classificadores neurais apresentados anteriormente, a fim de ve-rificar qual deles melhor “imita” o Algoritmo 4.1.

5 Resultados dos Experimentos Nos experimentos que se seguem, a rede PL ´e for-mada por quatro neurˆonios de sa´ıda, cada um re-presentando uma a¸c˜ao (classe) diferente: seguir em frente (classe 1), curva aberta `a direita (classe 2), curva fechada `a direita (classe 3) e curva aberta `

a esquerda (classe 4). Esta rede ´e treinada por 200 ´epocas a uma taxa de aprendizagem fixa de η = 0, 02. A arquitetura ME ´e constitu´ıda por uma rede seletora formada por uma rede percep-tron simples de quatro neurˆonios, mais K = 4 especialistas que tamb´em consistem em redes per-ceptron log´ıstico com quatro neurˆonios. O treina-mento ´e realizado com 35 ´epocas e uma taxa fixa de aprendizagem de 0, 02.

Com a rede MLP, foram feitos testes com di-ferentes quantidades de neurˆonios ocultos para ve-rificar qual a quantidade m´ınima capaz de realizar com sucesso de interesse. Observou-se que q = 6 ´e essa quantidade m´ınima, conforme ser´a visto adi-ante. A camada de sa´ıda da rede MLP cont´em 4 neurˆonios com fun¸c˜ao de ativa¸c˜ao log´ıstica. O trei-namento da rede MLP ´e realizado por 500 ´epocas com taxa de aprendizagem fixada em η = 0, 05.

Para o restante do artigo adota-se a seguinte nota¸c˜ao: PL(I,O) - rede perceptron log´ıstico, em

(10)

(a) (b) (c)

Figura 4: Vis˜ao do ambiente e trajet´oria do SCITOS G5 para as redes (a) PL(24,4), (b) PL(4,4) e (c) PL(2,4), em que os pontos em azul mostram a trajet´oria e os pontos pretos s˜ao paredes ou obst´aculos.

Tabela 1: Estat´ısticas do treinamento e teste off-line da rede PL.

PL(24,4) PL(4,4) PL(2,4)

Acerto m´edio (treino) 16, 67% 7, 1% 3, 8%

Acerto m´ax. (treino) 99, 42% 18, 6% 13, 8%

Acerto m´ın. (treino) 0% 1, 55% 0%

Variˆancia (treino) ∼ 106 1,8·104 3,1·104

Tx. de acerto (teste) 28, 84% 35, 92% 42, 71%

Matriz Confus˜ao (teste) 144 177 273 0 449 131 0 14 0 0 594 0

26 17 164 0 190 17 0 0 0 0 207 0

107 183 258 0 432 0 0 116 0 0 534 14

48 19 39 1 48 2 0 17 0 0 19 88

que I ´e a dimens˜ao da entrada e O o n´umero de neurˆonios de sa´ıda; ME(I,K,O) - rede de mistura de especialistas, em que K ´e o n´umero de especi-alistas; e MLP(I,q,O) - rede perceptron multica-madas com q neurˆonios ocultos.

Para cada uma das arquiteturas avaliadas, trˆes testes s˜ao realizados variando a dimens˜ao do vetor de entrada. As componentes destes vetores consistem nas distˆancias obtidas pela leitura dos sensores de ultra-som. Para cada mudan¸ca na di-mens˜ao dos dados de entrada, ´e criada uma nova rede e ´e realizado um novo treinamento. No pri-meiro teste, utiliza-se todas as distˆancias lidas pe-los 24 sensores de ultrassom do robˆo. No segundo, s˜ao utilizados as quatro “distˆancias resumidas” de cada orienta¸c˜ao do robˆo (frente, esquerda, direita e traseira). A escolha deste ´ultimo teste ´e feita na tentativa de diminuir a dimensionalidade da en-trada, como tamb´em verificar o quanto essa dimi-nui¸c˜ao da complexidade afetar´a o comportamento do robˆo. No terceiro teste, apenas as “distˆancias resumidas” referentes `a frente e `a esquerda do SCI-TOS, s˜ao alimentadas `a rede.

A avalia¸c˜ao dos resultados ´e feito atrav´es da compara¸c˜ao da m´edia das taxas de acerto do trei-namento e por meio da matriz de confus˜ao. Esta ´e uma matriz quadrada, neste caso 4 × 4, em que as linhas representam as respostas desejadas e as colunas, a resposta da rede. Dessa forma, a quan-tidade de respostas corretas fica nos elementos da diagonal principal desta matriz.

Cada experimento para diferentes dimens˜oes

do vetor de entrada foi dividido em duas fases. A primeira consiste no treinamento e teste offline de uma rede no computador (Pentium 4, 2.4GHz com mem´oria de 500Mb, Sistema Operacional Ubuntu 8.04), resultando em um arquivo texto contendo os valores dos pesos sin´apticos da rede. De posse desses, embarca-se a rede gerada para que esta controle a movimenta¸c˜ao do robˆo pela sala, com-parando seu desempenho com o do algoritmo heu-r´ıstico que gerou os dados para treinamento. Rede PL- S˜ao realizadas 50 repeti¸c˜oes do trei-namento/teste da rede PL, sempre reiniciando os pesos aleatoriamente entre [−0, 01; 0, 01] a cada novo treinamento. Estas repeti¸c˜oes tem por ob-jetivo permitir uma avalia¸c˜ao estat´ıstica das ta-xas de acerto da rede, e encontrar os pesos da rede cujo treinamento resultou na melhor taxa de acerto, para que sejam armazenados. Todo esse processo ´e repetido para todas as redes avaliadas. Das 5455 amostras coletadas, 4000 s˜ao desti-nados para treinamento e as 1455 restantes para teste dos classificadores. O primeiro experimento a ser avaliado utiliza as distˆancias lidas pelos 24 sensores de ultra-som para compor o vetor de en-trada. Na Tabela 1 s˜ao mostrados as estat´ısti-cas dos treinamentos e testes off-line das redes PL(24,4), PL(4,4) e PL(2,4) embarcadas no robˆo SCITOS G5.

Da an´alise da primeira coluna na Tabela ´e poss´ıvel concluir que o desempenho da rede PL(24,4) foi bastante ruim. A trajet´oria

(11)

percor-(a) (b) (c) (d)

Figura 5: Vis˜ao do ambiente e trajet´oria do SCITOS G5 para as redes (a) ME(2,4,4), (b) MLP(24,6,4), (c) MLP(4,6,4) e (d) MLP(2,6,4), em que os pontos em azul mostram a trajet´oria e os pontos pretos s˜ao paredes ou obst´aculos.

Tabela 2: Estat´ısticas do treinamento e teste off-line da arquitetura ME.

ME(24,4,4) ME(4,4,4) ME(2,4,4)

Acerto m´edio (treino) 57% 68, 52% 67, 8%

Acerto m´ax. (treino) 57% 68, 77% 67, 85%

Acerto m´ın. (treino) 57% 68, 22% 67, 77%

Variˆancia (treino) 0 3,8·10−6 9,7·10−8

Taxa de acerto (teste) 9, 95% 13, 02% 5, 22%

Matriz Confus˜ao (teste) 228 177 211 2 0 0 622 1 0 602 0 0

131 31 50 1 0 0 217 0 0 203 0 0

395 7 139 0 6 0 521 23 0 558 6 0

55 2 26 0 3 0 62 0 0 85 1 0

rida pelo robˆo pode ser vista na Figura 4a. Nesta figura, os pontos pretos representam os obst´ acu-los percebidos com os 24 sensores de ultra-som, da´ı observa-se que a perspectiva do robˆo sobre o seu ambiente ´e bastante ruidosa. A trilha em azul ´e a trajet´oria que o robˆo segue durante a volta que ele faz na sala, o c´ırculo em vermelho mostra a sua posi¸c˜ao final. Observa-se que o robˆo ´e quase ca-paz de realizar uma volta inteira na sala de teste, colidindo antes de fazer a ´ultima curva. Apesar do in´ıcio promissor, os ´unicos movimentos que o robˆo est´a realizando s˜ao: curva aberta `a direita e curva fechada `a direita.

O segundo experimento com a rede PL usa as quatro distˆancias “resumidas”para compor o vetor de entrada. Pela an´alise das segunda coluna na Tabela 1 verifica-se que, embora a taxa m´edia de acerto off-line seja bem menor do que para a rede PL(24,4), o desempenho no robˆo da rede PL(4,4) foi melhor. No teste realizado com o robˆo, n˜ao houve colis˜ao, mas este n˜ao foi capaz de fazer a curva `a esquerda ap´os a quina, apenas seguindo em frente nas 4 voltas que realizou na sala (ver Figura 4b).

O terceiro experimento com a rede PL usa apenas as duas distˆancias “resumidas” `a frente e `

a esquerda do robˆo SCITOS para compor o vetor de entrada. As estat´ısticas do treinamento e teste off-linepodem ser vistos na terceira coluna da Ta-bela 1. Da mesma forma que no teste anterior, n˜ao

houve nenhuma colis˜ao, por´em o robˆo continuou sem ser capaz de fazer a curva `a esquerda (ver Figura 4c).

Arquitetura ME- Inicialmente s˜ao utilizadas as sa´ıdas dos 24 sensores de ultra-som como entrada da rede, a qual alimenta todos os quatro especia-listas da rede, como tamb´em a rede seletora dos especialistas. Na Tabela 2 s˜ao mostrados as esta-t´ısticas dos treinamentos e testes off-line das ar-quiteturas ME(24,4,4), ME(4,4,4) e ME(2,4,4) no robˆo SCITOS G5.

Pela baixa taxa de acerto pode-se antecipar o desempenho pobre da arquitetura ME(24,4,4). Durante a navega¸c˜ao o robˆo colidiu 3 vezes, mos-trando que n˜ao houve uma boa especializa¸c˜ao da tarefa por parte dos especialistas. Usando as qua-tro distˆancias “resumidas”.

Durante o teste da arquitetura ME(4,4,4) no robˆo, ao longo dos 5 segundos em que o teste foi re-alizado, o robˆo n˜ao se deslocou mais do que 20cm, o que, em compara¸c˜ao aos outros testes realizados, corresponde a um robˆo que ficou “estagnado”, n˜ao conseguindo se mover. Esse comportamento ocor-reu devido as diferentes decis˜oes tomadas em um curto per´ıodo de tempo, n˜ao permitindo que ele conseguisse seguir em frente, ou fazer uma curva. Usando as duas distˆancias “resumidas”, as es-tat´ısticas dos treinamentos e teste off-line da rede ME(2,4,4) s˜ao vistos na terceira coluna da Ta-bela 2. Para esta arquitetura, o robˆo foi capaz de

(12)

Tabela 3: Estat´ısticas do treinamento e teste off-line da rede MLP.

MLP(24,6,4) MLP(4,6,4) MLP(2,6,4)

Acerto m´edio (treino) 88, 78% 84, 83% 96, 82%

Acerto m´ax. (treino) 89, 45% 96, 27% 97, 95%

Acerto m´ın. (treino) 86, 15% 82, 37% 82, 07%

Variˆancia (treino) 4,4·10−5 6,4·104 9,3·10−4

Tx. de acerto (teste) 85, 92% 97, 04% 97, 59%

Matriz Confus˜ao 520 13 19 55 559 9 15 1 571 7 6 0

28 161 3 36 0 228 1 0 0 213 8 0

19 6 485 19 1 0 545 0 1 0 559 0

2 0 5 85 2 0 3 81 11 0 2 78

realizar quase uma volta completa na sala antes de colidir. Mas ao posicionar o robˆo a partir da posi-¸c˜ao em que ele colidiu, quando ele deveria realizar uma curva `a esquerda, ele fez uma curva aberta `

a direita e permaneceu nesse movimento. Anali-sando as a¸c˜oes armazenadas no banco de dados, percebe-se que o robˆo fez a maior parte da volta da sala apenas fazendo uso do movimento de curva aberta `a direita ou, em rar´ıssimas tentativas, uma curva fechada `a direita (ver Figura 5a).

Rede MLP - Inicialmente s˜ao utilizadas as lei-turas dos 24 sensores de ultra-som como entrada da rede MLP. A an´alise da primeira coluna da Ta-bela 3, permite inferir que as taxas de acerto da rede MLP(24,6,4) s˜ao bem melhores que as das arquiteturas testadas anteriormente. Das quatro voltas que o robˆo realizou, em apenas uma de-las ocorreu uma colis˜ao. Isso foi devido `a uma curva muito fechada `a esquerda que foi seguida de uma curva `a direita, o que fez com que a pequena cauda do robˆo encostasse na parede. No restante do percurso, o robˆo se mostrou muito hesitante e em v´arios momentos ficou parado por uns dois ou trˆes segundos, devido a decis˜oes conflitantes. A trajet´oria do robˆo para a rede MLP(24,6,4) ´e mostrada na Figura 5b.

Para a rede MLP(4,6,4), ´e poss´ıvel observar uma melhora na taxa m´axima de acerto e no erro quadr´atico m´edio, mostrados na segunda coluna da Tabela 3, em rela¸c˜ao ao teste realizado com 24 parˆametros de entrada. A trajet´oria do robˆo para a rede MLP(4,6,4) ´e mostrada na Figura 5c. Neste caso, o robˆo foi capaz de realizar as voltas na sala com menos momentos de hesita¸c˜ao e sem colis˜oes.

Por fim, os resultados da avalia¸c˜ao da rede MLP(2,6,4) est˜ao mostrados na terceira coluna da Tabelas 3. A trajet´oria do robˆo para a rede MLP(2,6,4) ´e mostrada na Figura 5d. Neste caso, tamb´em n˜ao houve colis˜oes e o robˆo teve ainda menos momentos de hesita¸c˜ao do que os observa-dos para a rede MLP(4,6,4). A trajet´oria gerada ´e muito pr´oxima a gerada pelo programa baseado em regras.

6 Conclus˜ao e Trabalhos Futuros Este trabalho comparou os desempenhos de trˆes arquiteturas neurais usadas como controladores da navega¸c˜ao ao estilo wall-following de um robˆo m´ovel real. Para isso, a tarefa de navega¸c˜ao foi formulado como um problema de classifica¸c˜ao de padr˜oes, em que os padr˜oes consistiam nas leitu-ras sensoriais e as classes em a¸c˜oes a serem toma-das pelo robˆo. Foram avaliatoma-das a rede perceptron log´ıstico, a arquitetura mistura de especialistas, com especialistas formados por redes perceptron simples, al´em da rede perceptron multicamadas. De um modo geral, a rede MLP obteve o me-lhor desempenho dentre as trˆes, mostrando que uma tarefa aparentemente simples de navega¸c˜ao, constitui-se na verdade em uma complexa tarefa de tomada de decis˜oes.

Em trabalhos futuros pretende-se investigar o desempenho de classificadores SVM (Support Vector Machines) na navega¸c˜ao do tipo wall-following, bem como o efeito do hist´orico das leitu-ras sensoriais no desempenho das trˆes arquitetuleitu-ras neurais avaliadas neste artigo.

Agradecimentos

Os autores agradecem `a FUNCAP e `a SECITECE pelo apoio financeiro.

Referˆencias

Alpaydin, E. & Jordan, M. I. (1996). Local linear percep-trons for classification, IEEE Transactions on Neural Networks 7(3): 788–792.

Bekey, G. A. (2005). Autonomous Robots, MIT Press. Haykin, S. (1994). Neural Networks: A Comprehensive

Foundation, Prentice Hall.

Jacobs, R., Jordan, M., Nowlan, S. & Hinton, G. (1991). Adaptive mixtures of local experts, Neural Computa-tion(3): 79–87.

(13)

CONTROLEPREDITIVOCOMAPRENDIZADOPORREFORÇOPARAPRODUÇÃODEÓLEOEM

UMRESERVATÓRIO

ALVARO G.TALAVERA LOPEZ,CLEOMAR PEREIRA DA SILVA,YVÁN J.TÚPAC VALDIVIA,MARLEY R.VELLASCO Laboratório de Inteligência Computacional Aplicada, Departamento de Engenharia Elétrica,

Pontifícia Universidade Católica do Rio de Janeiro

Rua Marquês de São Vicente, 225, Gávea - Rio de Janeiro, RJ - Brasil - Cx. Postal: 38097, 22453-900 E-mails: alvaro@ele.puc-rio.br, cleomar@ele.puc-rio.br, yvantv@ele.puc-rio.br, marley@ele.puc-rio.br

Abstract  This work shows the modeling and development of a methodology based on the Model Predictive Control (MPC)

strategy to control the oil production in an oilfield well consisting of producer and injector wells. The MPC strategy uses a Ma-chine Learning model as method for searching the optimal control policy: Reinforcement Learning. The experiments are per-formed in a synthetic petroleum reservoir model with actuators consisting in tree water injection valves. Thus, the actuation will be made varying the water injection rate for some defined time intervals. The output variables are: average reservoir pressure, daily oil, water and gas production rates, and the water cut of producer wells. These outputs are used as data for neural network plant identification. The obtained results show that the methodology is promising for the pretended purposes.

Keywords  Model Predictive Control, Reinforcement Learning, oil production, neural network, intelligent wells.

Resumo  Este trabalho mostra a modelagem e desenvolvimento de um sistema metodologia baseada em Controle com Modelo

Preditivo (MPC) aplicada para controlar a produção de óleo em um campo petrolífero com poços produtores e injetores já exis-tentes. A estrategia MPC usa um modelo de aprendizado de máquina como método de busca da política ótima de controle:

A-prendizado por reforço. Os experimentos se realizaram em um reservatório petrolífero sintético com atuadores que são 3 válvulas

de injeção de água. Assim, a atuação será feita através das taxas de injeção de água para determinados intervalos de tempo. As variáveis de saída do campo são: Pressão média do reservatório, taxa diária de produção de óleo, gás, água e water cut na produ-ção, estas saídas são realimentadas no modelo identificado da planta, este modelo é implementado usando redes neurais. Os re-sultados obtidos nos experimentos realizados nos mostram que a metodologia é promissora para o propósito pretendido.

Palavras-chave Controle preditivo baseado em modelo, aprendizado por reforço, produção de óleo, redes neurais, poços

inte-ligentes.

1 Introdução

Controle Preditivo baseado em modelo (MPC) se refere a uma classe de algoritmos computacionais de controle que se baseia em um modelo explícito de processo para obter previsões da resposta futura dentro de um horizonte de tempo h. Para cada inter-valo de tempo, o algoritmo MPC determina a se-qüência de valores u(t), u(t+1),..., u(t+h) tais que otimizem o comportamento futuro do processo (Badgwell and Qin. 2001). Encontra-se que, na maio-ria das aplicações de MPC usam-se modelos dinâmi-cos lineares, mas se o processo fica mais complexo, torna-se necessária a implementação de um modelo que represente a não linearidade do processo. Na literatura encontram-se aplicações que utilizam redes neurais para identificar o modelo do processo (Do-nald Soloway and Pamela J. Haley 1996) e métodos numéricos de otimização não linear para minimizar a função custo. Também, modelos MPC que usam inteligência computacional (Kaouther Laabidi, Faou-zi Bouani and, Mekki Ksouri 2008) e algoritmos genéticos para encontrar a sólução ótima multicrité-rio para modelos não lineares.

Os trabalhos de (R.R. Negenborn, B. De Schut-ter, M.A. Wiering, and J. Hellendoorn, 2004) e (R.R. Negenborn, B. De Schutter, M.A. Wiering, and J. Hellendoorn, 2005), estão inspirados em aprendizado por reforço e visualizam MPC como um agente cujo

objetivo é encontrar dentro de um horizonte finito as ações tais que conduzam o sistema em uma direção desejada (objetivo RL), então propõem a utilização do MPC para controlar sistemas que podem ser des-critos como Processos de Decisão de Markov (Mar-kovian Decision Process MDP). Também é discutida a implementação de um algoritmo MPC para MDPs e como pode se melhorar em termos de rapidez e qualidade da decisão ao se considerar valores de funções. Para desenvolver esta proposta, são aplica-das técnicas de aprendizado por reforço (Reinforce-ment learning RL) que permitem ao agente incorpo-rar conhecimento da interação com o processo e usá-lo nas tomadas de decisão. Mesmo que a aquisição de experiência em tempos iniciais demande um custo computacional significativo, no final acaba aceleran-do o processo de tomada de decisão.

Neste trabalho, são aproveitados os conceitos defini-dos anteriormente tal que, o agente MPC e o RL atuem de uma maneira colaborativa para encontrar a política ótima de controle que faz com que o compor-tamento do sistema seja o desejado. Em um projeto MPC é necessário ter um modelo identificado do processo a controlar. Neste trabalho, o processo é um simulador de reservatório, do qual foram identifica-das algumas variáveis relevantes para o controle através de um modelo baseado em redes neurais MLP (Multilayer Perceptron).

(14)

Este trabalho está dividido em cinco seções. Na se-gunda seção descreve-se a formulação do problema em controle de produção de óleo em reservatórios por injeção de água; na terceira se explica o modelo proposto MPC-RL, onde se explicará como interatua o aprendizado por reforço com o controle preditivo baseado em modelo; na quarta seção o estudo de casos e resultados obtidos é apresentado e na quinta seção apresenta as principais conclusões deste artigo e trabalhos futuros.

2 Descrição do Problema

O problema consiste em um sistema de extração de óleo por recuperação secundária (injeção de água) o qual é implementado usando um modelo de reser-vatório sintético de 3 camadas e dois poços: um poço injetor com três completações independentes e um poço produtor também com 3 completações, uma em cada camada. A

Figura 1 ilustra o reservatório e os poços.

Figura 1. Reservatório estudado

O poço da esquerda, com seta para abaixo é o in-jetor com três completações independentes, uma por cada camada. O poço da direita, com seta pra cima é o poço produtor. A seguir, são descritas as caracterís-ticas do campo.

 O modelo de reservatório consiste em uma ma-lha dscretizada em 40×11×3 blocos com dimen-sões de 50×50×10 metros cada bloco;

 Três camadas com diferentes permeabilidades de cima para baixo, nas direções i e j, 500, 800 e 1200 md respectivamente. Já na direção k, as permeabilidades mantêm similar proporção, po-rém, com valores 50, 70 e 120 md. Além disso, as camadas estão isoladas por barreiras de folhe-lhos.

 Porosidade constante de 0.2

Os valores de produção são obtidos usando um simulador de reservatórios comercial IMEX (CMG, IMEX 2000). Este simulador leva em conta as infor-mações geológicas do reservatório e utiliza métodos de diferenças finitas para simular a dinâmica de flu-xos na reserva. Para o simulador, as entradas são os

poços produtores ou injetores, mais as informações geológicas e a saída é a produção de óleo durante o tempo considerado para a simulação da produção. Tanto o poço produtor quanto o poço injetor possu-em completações independentes, podendo variar os pontos de operação de forma separada. Desta forma, no poço injetor existem três atuadores que serão utilizados no sistema de controle de produção. Este tipo de poços caracteriza o que é chamado de poços inteligentes. Um poço inteligente (Alexandre Almei-da, et al, 2007) é um poço não convencional com instrumentação na perfuração do poço (sensores, válvulas e dispositivos de controle de fluxo) instala-dos no tubo de produção. Cada poço inteligente per-mite, para posições contínuas, monitorar a taxa de vazão, fluxos e pressões (sensoriamento), e permite realizar o ajuste periódico das válvulas (controle). Isto facilita as medições e atuações para encontrar a política de controle.

Durante uma simulação de reservatório são observa-das muitas variáveis, observa-das quais não são toobserva-das neces-sárias para o nosso problema. Assim, foram identifi-cadas as variáveis que são relevantes e são: pressão média no reservatório, taxas de produção diária de óleo, gás, água e water cut. Estas 5 variáveis são escolhidas devido a que tem maior relevância no modelo de reservatório, estas variáveis de uma ou outra forma estão relacionadas com a produção de óleo, a pressurização do reservatório, assim como indicadores de problemas de produção do óleo. Alem dessas variáveis são necessárias as entradas de con-trole no reservatório para o concon-trole de produção de óleo, que são as taxas de injeção em cada uma das completações do poço injetor. Mesmo com esta re-dução de variáveis, o sistema de reservatório tem um modelo multivariável, não linear, não homogêneo e com acoplamento entre variáveis.

3 Modelo MPC-RL

O modelo MPC-RL (Model preditive control – Rein-forcement Learning) proposto consta de três partes: um modelo identificado do processo a controlar, um algoritmo de otimização que minimiza uma função de custo e um processo a ser controlado. O objetivo da otimização é encontrar a melhor política de con-trole através de busca e aprendizado feitos no modelo identificado. Pela minimização da função de custo garante-se o controle da produção de óleo (m3/dia) no processo. A

Figura 2, mostra um diagrama genérico do modelo de controle.

(15)

Processo Modelo de processo Controlador ) ( ) 1 (t t y   ) 1 ( ˆ ) 1 ( ˆ 2   N t y t y  ) ( * t u ) ( ) ( 2 N t w t w   ruído ) ( ) ( 2 N t u t u   Figura 2. Modelo Genérico de Controle de Processos Na Figura 2 se observam os três blocos: contro-lador, modelo de processo e processo (ou planta). Dado um setpoint w(t)...w(t+N2) a ser atingido, o módulo controlador deve realizar uma busca das ações ótimas u(▪) dentro do horizonte N2, sendo feita esta busca com base nas previsões

) 1 ( ) ( ˆ ) ( ˆ t y tN2 t

y  fornecidas pelo modelo do

processo. Uma vez que for encontrado o conjunto de ações ótimo para N2, a primeira ação ótima u

* (t) será aplicada ao processo, obtendo uma saída real do processo y(t+1). Desta forma, utilizando o critério de horizonte deslizante (ou janela de previsão deslizan-te), pode se continuar encontrando e aplicando as ações de controle ótimas para os demais intervalos de tempo (t+1, t+2,..., t+N2).

3.1 Controlador por Aprendizado por reforço Reinforcement Learning, RL, (Sutton and Barto 1998) é uma abordagem da Inteligência Computa-cional na qual se ressalta o aprendizado não supervi-sionado de um indivíduo ou agente a partir da sua interação com o ambiente. Nessa abordagem, o agen-te consegue aproximar a função que relaciona situa-ções no ambiente com asitua-ções que maximizem um valor de prêmio ou recompensa numérica. Essa apro-ximação é feita através de tentativa e erro, procuran-do sempre as ações que proporcionem as melhores recompensas. Muitas vezes, o efeito de uma ação não é observado na recompensa imediata rt, mas em

recompensas fornecidas para ações futuras, esta ca-racterística é conhecida como delayed reward. (Wat-kins 1989). A tentativa e erro e o critério de recom-pensas com atraso são as duas características mais importantes do Aprendizado baseado em Reforço. Para poder abordar um problema usando RL é neces-sário visualizá-lo em termos de um agente imerso em um ambiente com o qual ele interage. Torna-se evi-dente que o agente precisa conhecer o estado atual do ambiente e que deve ser capaz de executar ações que o façam transitar entre os estados e influenciar o ambiente, visando sempre alcançar um objetivo defi-nido.

O objetivo de um problema de RL consiste em en-contrar o conjunto de ações a A, que mini-mizem o retorno total, o que contextualiza um pro-blema de otimização. O prêmio imediato que repre-senta a resposta imediata do ambiente, perante uma ação efetuada, define o objetivo a ser atingido em

curto prazo. Para o caso do problema de controle, vem a ser o erro quadrático entre o setpoint desejado e o valor de produção de óleo atingido no intervalo, que já forma parte da função de custo do MPC, a qual é: 2 ) Óleo Setpoint ( t t t r   (1) No problema do sistema de recuperação de óleo, os passos de tempo de simulação são os estados defini-dos e que serão percorridefini-dos. Determinou-se o tempo total de produção em 10 anos e cada intervalo de tempo foi definido em 90 dias. Assim, cada atuação da injeção de água terá uma validade de 90 dias, sendo necessários 40 passos de tempo sucessivos para completar os 10 anos.

O módulo de controle baseado em RL foi modelado para minimizar a função de custo dentro de um de-terminado horizonte de controle, condizendo com a estratégia de controle baseado em modelo preditivo. Os valores de produção de óleo são obtidos usando o modelo com redes neurais (Proxy), que foi treinado de forma off-line para obter boas previsões de até 3 passos à frente. Já o controlador baseado em RL através das iterações dentro do horizonte de controle, junto ao algoritmo Q-Learning e a política e-greedy, encontrará o conjunto de ações que minimize a fun-ção custo para o horizonte de controle definido. Uma vez encontrado este conjunto ótimo, a ação de con-trole correspondente ao primeiro passo será aplicada ao processo real (que no caso está representado pelo simulador comercial de reservatório). A saída gerada pela simulação é realimentada à Proxy com o intuito de atualizá-la. Assim, o modelo de controle RL é novamente treinado, já para o passo seguinte, apli-cando o princípio do horizonte deslizante e sempre com um modelo de processo atualizado. Para realizar o controle completo, são necessários 40 passos de treinamentos do modelo RL dentro do horizonte, para encontrar a melhor ação de controle para os 40 passos. Uma varrida de treinamento RL, conhecida como época, significa percorrer o horizonte de con-trole, que para o caso são três passos à frente, ou seja, percorrer três estados sucessivos, escolhendo uma ação a para cada estado s de acordo à política escolhida. Neste trabalho foram utilizadas 2000 épocas para cada treinamento do modelo de controle RL, com este treinamento preenche-se a matriz de estados-ações Q(s,a), aplicando a atualização do algoritmo Q-Learning, cuja equação é:

        k k k a a k k k k k a s Q a s Q r a s Q a s Q , , max , , 1 (2) Onde α=0,7 e γ=1.0

As possíveis ações dos três valores de injeção de água das respectivas completações, cada um com valores de abertura entre 0 a 450 m3/dia e pertencen-tes ao conjunto A onde cada a é composto por triplas de valores: {0, 50, 100, 150, 200, 250, 300,

(16)

350, 400, 450}. Considera-se a restrição que o total de injeção no poço não deve ultrapassar 450 m3/dia. Assim, das combinações possíveis, 220 ações são válidas então se tem uma matriz de ações com um tamanho de 3×220.

A política utilizada no modelo RL é a ε-greedy que escolhe a ação com melhor valor Q(s,a), e eventual-mente escolhe uma ação aleatória, dependendo de um sorteio com probabilidade ε conforme a expres-são seguinte:

max ( , )

arg contrário caso aleatório ade probabilid se a s Q a a i a  

A probabilidade ε é ajustada exponencialmente usan-do a expressão baseada na função tangente hiperbóli-ca, da equação seguinte

k0tanh

rxpk/nE

T0

/radj (3) onde:

k

 probabilidade ε para o episódio k; 0

 probabilidade inicial;

T

 probabilidade final;

xp

r grau de exponencialidade, se rxp0, o ajuste é

linear;

adj

r constante de ajuste, necessária para que o valor final seja exatamente  (curvas exponenciais são T assintóticas);

k episódio atual;

E

n número total de episódios.

Esse ajuste é feito com o intuito de se ter maiores valores de probabilidade ε durante as iterações inici-ais e menores nas iterações fininici-ais. A finalidade é aumentar a possibilidade de explorar todos os estados em tempos iniciais e tirar vantagem do conhecimento já existente (dos melhores estados) nos tempos finais, isto é lidar com o dilema explore-exploit.

3.2 Modelo de processo, Proxy Redes Neurais Neste trabalho, o modelo de processo, necessário para a busca ou cálculo do controle ótimo, está base-ado em redes neurais do tipo Multilayer Perceptron MLP com aprendizado back-propagation. Para a identificação foram empregadas as seguintes variá-veis: as variáveis de controle U(t) que são as taxas de injeção STW=(STW1, STW2, STW3), a pressão média do reservatório P(t-1), taxas de produção diária de óleo, gás, água e water cut: O(t-1), G(t-1), W(t-1), e WC(t-1), que representa a razão entre a água produ-zida e o total de líquidos produzidos pelos poços. A idéia é ter um modelo identificado que permita obter previsões de P(t), O(t), G(t), W(t), e WC(t), dadas as injeções de água STW(t). Uma vez obtidas estas previsões, novos valores STW podem ser testados para os próximos passos (t+1, t+2, t+3...) tais que

possam ser obtidas previsões multistep. Na figura 3 mostra-se o modelo macro da Proxy modelada.

Proxy de Reservatório (Redes Neurais) 1  t O 1  t W 1  t G 1  t WC 1  t P INJ t 1STW ) (t U ) 1 ( t X Xˆ t() t t t t t C W ˆ

Figura 3. Proxy do reservatório.

Na literatura encontram-se os trabalhos de (Alexan-dre de C. Almeida 2007), que aproximam produção de óleo, gás e água para uma injeção de água com intervalo de tempo de dois anos e um tempo total de produção de 20 anos. No nosso caso, para aplicar o controle foi desenvolvida a previsão em um prazo mais curto (90 dias).

Durante os processos de treinamento, ajuste, obser-vou-se que a pressão média P(t) resultou fácil de prever a partir das entradas em (t-1) e as variáveis de controle U(t). Porém, para a previsão de O(t) e G(t), notou-se uma dependência também da pressão pre-vista P(t), que acabou sendo usada como uma entrada adicional nas redes que prevêem O(t) e G(t). Todavi-a, nas previsões da produção de água W(t) e o WC(t), encontraram-se dependências dos valores P(t), O(t) e G(t) que foram incluídos como entradas nos modelos para prever W(t) e WC(t). Assim, uma configuração como a que mostra a Figura 4, obteve melhores a-proximações para as produções em tempo (t).

Figura 4. Configuração da Proxy com recorrências para prever

P(t), O(t), G(t), W(t) e WC(t)

Dado que pode haver valores zero nas previsões, não foi possível avaliar a qualidade da previsão com a métrica de erro tão MAPE. A avaliação foi realizada com a métrica de U-Theil, cuja equação é a seguinte:

      N k k k N k k k a a y a E 1 2 1 1 2 (4)

Referências

Documentos relacionados

Dada a maior probabilidade de ocorrência de erros na dispensa com este tipo de receitas, existem pontos que exigem a atenção do farmacêutico, como a especificação clara do utente,

Another interpretation is that an agent is allowed to buy different bundles for delivery in states of nature that she does not distin- guish, but has to accept any of the bundles

Figura A.164 – Custos de Exploração por metro cúbico de água faturada em função do número médio de trabalhadores para EG de gestão direta por grau de fiabilidade dos dados.

A partir da análise das Figuras 5.20, 5.21, 5.22 e 5.23 pode-se afirmar que a variação do início da altura de queda do bloco não alterou os resultados da energia cinética e alturas

Curvas da Função Condutividade Hidráulica para os processo de umedecimento ou infiltração, obtidas por métodos de campo método do permeâmetro Guelph e indireto de laboratório no

Sem embargo, a partir desses pontos chegamos ao cumprimento dos objetivos geral, que visa analisar, com o auxílio de recursos da Teoria da Atividade, como se dão os impactos no

Nas análises de variância para a composição química foi verificado que, em leite armazenado por períodos de 0 a 12 horas sob temperatura ambiente ensaios I e II, nenhuma das fontes