A Framework for Robots Development and Programming Based on Genetic Algorithms Palmeira P.F.M Silvino J.S. de Melo J.C.D DEE-UFMG DELT-UFMG
Tópicos b Introdução b Proposta b Implementação b Validação b Conclusões b Modelo de Desenvolvimento b Propostas de Continuação
Objetivo b Aplicação de técnicas Inteligência Artificial no desenvolvimento de Robôs autônomos em ambiente não controlado.
Ambiente Controlado Ambiente Controlado b Posições e deslocamentos conhecidos b Trajetórias predeterminadas. b Cinemática Inversa.
Geração de Trajetória (Ambiente Controlado)
Ambiente não Controlado b Posições e deslocamentos são desconhecidos. b Trajetórias não podem ser predeterminadas. b Dificuldade de se utilizar técnicas convencionais de programação e controle.
Trajetória
Problema do Controle Problema do Controle b Técnicas mais sofisticadas de controle. b Tem sido propostas técnicas alternativas ao controle convencional tais como Lógica Nebulosa e Redes Neurais. b O uso destas técnicas requer a aquisição de conhecimento humano.
Propostas Atuais b Uso de lógica fuzzy com A.G.s. b Uso de redes neurais com A.G.s.
Tópicos b Introdução b Proposta b Implementação b Validação b Conclusões b Modelo de Desenvolvimento b Propostas de Continuação
Proposta b Desenvolvimento de um ambiente interativo simulação dinâmica de robôs autônomos. b Uso de A.G para evoluir população de elementos de controle, baseados no conhecimento humano. b Simulador será utilizado para a aquisição do conhecimento humano e avaliação b Rede Neural para armazenamento do conhecimento
Algoritmo Genético I b Algoritmos genéticos são utilizados para evoluir uma população de elementos de controle. b Cada geração e formada pelos elementos selecionados da geração anterior acrescida de novos, criados por operadores genéticos. b Simplicidade Robustez
Algoritmo Genético II b A mutação altera as características do elemento. b O cruzamento age combinado dois elementos para produzir um terceiro. b A evolução se da pela seleção dos melhores indivíduos em cada geração( Função de fitness).
Operações Genéticas
Tópicos b Introdução b Proposta b Implementação b Validação b Conclusões b Modelo de Desenvolvimento b Propostas de Continuação
Metodologias b Aquisição de conhecimento b Simulação Simulação em tempo RealSimulação em tempo Real b Programação Abstração de dadosAbstração de dados b Otimização Algoritmos genéticosAlgoritmos genéticos
Simulador 2D b Ambiente gráfico interativo 2D. b Hierarquia de classes. b Dinâmica dos objetos. b Programação orientada por objetos.
Simulador
Robôs Virtuais b Controle –Inteligência b Inércia –Dinâmica b Move –Visualização
Robôs Objetos representados por uma hierarquia de classes.
Dinâmica b Função Inércia() b Integração b Constantes Momento de inércia.Momento de inércia. Constante de atrito.Constante de atrito
Dinâmica I
Modos do Simulador b Modo Autônomo: Controle: com o Player. Controle: com o Player. b Modo Supervisionado Interativo: com Trainer Interativo: com Trainer b Modo Treino Algoritmo Genético evolui população de Rede Neurais.Algoritmo Genético evolui população de Rede Neurais.
Ponto de Partida b TCad Ambiente para computação gráficaAmbiente para computação gráfica Orientado por ObjetosOrientado por Objetos Processador simbólicoProcessador simbólico b Framework sobre Algoritmos Genéticos
TCad
TCadMan
Simulador
Implementação do Controlador b A classe Master herdeira da classe TCadMan. b Uma instância da classe Master é o controlador mestre que controla e coordena as tarefas filhas.
Objetos gráficos
Implementação dos Robôs b Classe abstrata Personagem descendente da classe List.
Framework para GNA Classe abstrata Indivíduo Classe GNA
Implementação do GNA b Evolui uma população de instancias de classes descendente de indivíduo.
Vista do Simulador b A classe TCadMan controla ambiente gráfico.
Alteração de um Robô
Console do TCad
Tópicos b Introdução b Proposta b Implementação b Validação b Conclusões b Modelo de Desenvolvimento b Propostas de Continuação
Framework concluído
Proposta b Rede Neural para armazenamento do conhecimento b Simplicidade b Robustez
Aplicação Rede Neural Aproximador universal de funções 14 Entradas 2 Saídas
b Uso de treinamento supervisionado, tendo como referencia uma trajetória gravada, por um treinador Humano. b Redes Neural 2 camadas 14x2 14 entradas:14 entradas: – x,y, em t, t-1, t saídas:2 saídas: – impulso linear I L e impulso angular I a. b A diferença entre as saídas gravadas e as calculadas pela rede é utilizada para se obter o erro das RNAs Redes Neurais
Implementação das RNA b A classe Abstrata Indivíduo descreve o indivíduo da população. b A classe RedeNeural implementa uma RNA.
Tópicos b Introdução b Proposta b Implementação b Validação b Conclusões b Propostas de Continuação
Conclusões e Propostas b Resultados Preliminares. Comparação das Trajetórias.Comparação das Trajetórias. b Resultados Numéricos. Influencia dos parâmetros genéticos.Influencia dos parâmetros genéticos. b Propostas para trabalhos futuros.
Trajetória I
Trajetória II
Trajetória I
Trajetória II
Resultados Numéricos b Influencia de mutação aleatória e cruzamento. b Influencia da taxa de sobrevivência. b Influencia do tamanho da população. b Influencia do uso de backpropagation.
Taxa de Sobrevivência I
Taxa de Sobrevivência II
Tamanho da população I
Tamanho da população II
Erro Angular sem backpropagation
Influencia de backpropagation
Erro linear sem backpropagation
Influencia de backpropagation II
Conclusões b Objetivo proposto foi alcançado b Simulador se mostrou-se funcional nos seus três modos de funcionamento. b RNAs treinadas com A.G.s foram capazes de fazer o robô seguir as trajetórias idealizadas.
Conclusões b Taxa de sobrevivência e tamanho da população influem na velocidade do treinamento. b Backpropagation pode perturbar mecanismo de seleção do algoritmo genético. b Uso de backpropagation aumenta o tempo de execução por geração do algoritmo genético.
Tópicos b Introdução b Proposta b Implementação b Validação b Conclusões b Modelo de Desenvolvimento b Propostas de Continuação
Modelo de desenvolvimento b Especificação b Implementação b Inserção
Especificação b Criação do novo modelo de Robô
Implementação b Derivação Redefinição das funçõesRedefinição das funções controlecontrole inérciainércia movemove b novotipo.dll
Inserção b Original TCad + robos.dllTCad + robos.dll b Inserção do novo tipo no ambiente TCad + robos.dll+novotipo.dllTCad + robos.dll+novotipo.dll
Inserção
Tópicos b Introdução b Proposta b Implementação b Validação b Conclusões b Modelo de Desenvolvimento b Propostas de Continuação
Propostas para Trabalhos Futuros I b Robôs com comportamento cooperativo. b Outros modelos de dinâmica b Implementação de outros elementos de Inteligência Artificial
b Usar funções Lisp como funções, Controle() e Inércia() b Usar funções Lisp como operadores genéticos. b Programação Genética Propostas para Trabalhos Futuros II
Programação Genética