680 likes | 773 Views
A Framework for Robot’s Development and Programming Based on Genetic Algorithms. Palmeira P.F.M Silvino J.S. de Melo J.C.D. DEE-UFMG DELT-UFMG DELT-UFMG. Tópicos. Introdução Proposta Implementação Validação Conclusões Modelo de Desenvolvimento
E N D
A Framework for Robot’s Development and ProgrammingBased on Genetic Algorithms Palmeira P.F.M Silvino J.S. de Melo J.C.D • DEE-UFMG • DELT-UFMG • DELT-UFMG
Tópicos • Introdução • Proposta • Implementação • Validação • Conclusões • Modelo de Desenvolvimento • Propostas de Continuação
Objetivo • Aplicação de técnicas Inteligência Artificial no desenvolvimento de Robôs autônomos em ambiente não controlado.
Ambiente Controlado • Posições e deslocamentos conhecidos • Trajetórias predeterminadas. • Cinemática Inversa.
Geração de Trajetória (Ambiente Controlado)
Ambiente não Controlado • Posições e deslocamentos são desconhecidos. • Trajetórias não podem ser predeterminadas. • Dificuldade de se utilizar técnicas convencionais de programação e controle.
Problema do Controle • Técnicas mais sofisticadas de controle. • Tem sido propostas técnicas alternativas ao controle convencional tais como Lógica Nebulosa e Redes Neurais. • O uso destas técnicas requer a aquisição de conhecimento humano.
Propostas Atuais • Uso de lógica fuzzy com A.G.s. • Uso de redes neurais com A.G.s.
Tópicos • Introdução • Proposta • Implementação • Validação • Conclusões • Modelo de Desenvolvimento • Propostas de Continuação
Proposta • Desenvolvimento de um ambiente interativo simulação dinâmica de robôs autônomos. • Uso de A.G para evoluir população de elementos de controle, baseados no conhecimento humano. • Simulador será utilizado para a aquisição do conhecimento humano e avaliação • Rede Neural para armazenamento do conhecimento
Algoritmo Genético I • Algoritmos genéticos são utilizados para evoluir uma população de elementos de controle. • Cada geração e formada pelos elementos selecionados da geração anterior acrescida de novos, criados por operadores genéticos. • Simplicidade Robustez
Algoritmo Genético II • A mutação altera as características do elemento. • O cruzamento age combinado dois elementos para produzir um terceiro. • A evolução se da pela seleção dos melhores indivíduos em cada geração( Função de fitness).
Tópicos • Introdução • Proposta • Implementação • Validação • Conclusões • Modelo de Desenvolvimento • Propostas de Continuação
Metodologias • Aquisição de conhecimento • Simulação • Simulação em tempo Real • Programação • Abstração de dados • Otimização • Algoritmos genéticos
Simulador 2D • Ambiente gráfico interativo 2D. • Hierarquia de classes. • Dinâmica dos objetos. • Programação orientada por objetos.
Robôs Virtuais • Controle • Inteligência • Inércia • Dinâmica • Move • Visualização
Robôs Objetos representados por uma hierarquia de classes.
Dinâmica • Função Inércia() • Integração • Constantes • Momento de inércia. • Constante de atrito. • .....
Modos do Simulador • Modo Autônomo: • Controle: com o Player. • Modo Supervisionado • Interativo: com Trainer • Modo Treino • Algoritmo Genético evolui população de Rede Neurais.
Ponto de Partida • TCad • Ambiente para computação gráfica • Orientado por Objetos • Processador simbólico • Framework sobre Algoritmos Genéticos
Implementação do Controlador • A classe Master herdeira da classe TCadMan. • Uma instância da classe Master é o controlador mestre que controla e coordena as tarefas filhas.
Implementação dos Robôs • Classe abstrata Personagem descendente da classe List.
Framework para GNA Classe GNA Classe abstrata Indivíduo
Implementação do GNA • Evolui uma população de instancias de classes descendente de indivíduo.
Vista do Simulador • A classe TCadMan controla ambiente gráfico.
Tópicos • Introdução • Proposta • Implementação • Validação • Conclusões • Modelo de Desenvolvimento • Propostas de Continuação
Proposta • Rede Neural para armazenamento do conhecimento • Simplicidade • Robustez
Aplicação Rede Neural Aproximador universal de funções 14 Entradas 2 Saídas
Uso de treinamento supervisionado, tendo como referencia uma trajetória gravada, por um treinador Humano. Redes Neural 2 camadas 14x2 14 entradas: x ,y , em t , t-1, t-2 ... 2 saídas: impulso linear IL e impulso angular Ia. 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 • A classe Abstrata Indivíduo descreve o indivíduo da população. • A classe RedeNeural implementa uma RNA.
Tópicos • Introdução • Proposta • Implementação • Validação • Conclusões • Propostas de Continuação
Conclusões e Propostas • Resultados Preliminares. • Comparação das Trajetórias. • Resultados Numéricos. • Influencia dos parâmetros genéticos. • Propostas para trabalhos futuros.
Resultados Numéricos • Influencia de mutação aleatória e cruzamento. • Influencia da taxa de sobrevivência. • Influencia do tamanho da população. • Influencia do uso de backpropagation.