Navegacao de Robótica Autônoma em Ambientes Dinâmicos

620 visualizações

Publicada em

Publicada em: Educação
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
620
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
17
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Navegacao de Robótica Autônoma em Ambientes Dinâmicos

  1. 1. Robótica Autônoma em Ambientes Dinâmicos Rodrigo Pasti rodrigo.pasti@gmail.com
  2. 2. Seminário de hoje... • Agentes Inteligentes • Robótica Autônoma • Sistemas Classificadores • Navegação em Ambientes Dinâmicos
  3. 3. Agentes Inteligentes
  4. 4. Agentes Inteligentes • Considera-se uma agente inteligente, uma entidade artificial cuja pretensão é simular algum comportamento humano, ou até mesmo de outros animais ▫ Comportamento de formigas é fonte de inspiração pra robótica, por exemplo. • Em alto nível, as partes que um agente possui são: ▫ Sensores ▫ Processador de informações ▫ Atuadores
  5. 5. Agentes Inteligentes • Neste sentido até mesmo um programa de computador pode ser visto como um agente. • Porém, o enfoque é aqui é em um tipo específico de agente: robôs autônomos com as mais diversas aplicações. • Se o programa for um simulador de robôs, a definição virtual deles são os agentes.
  6. 6. Agentes Inteligentes Inteligente?
  7. 7. Robótica Autônoma: Motivação • “Eu estou convencido que os robôs estão hoje onde os computadores estavam em 1978. Foi por volta daquele ano que os computadores começaram a aparecer em nosso meio do modo como os robôs estão surgindo agora. É claro, foram necessários ainda outros 15 anos até que os computadores realmente se difundissem nas nossas vidas. Eu penso que em 15 anos, os robôs estarão em todos os lugares, assim como se dá atualmente com o e-mail e a Internet.” ▫ Rodney Brooks, pesquisador e co-fundador da iRobot, Technology Review, 2/2004
  8. 8. Robótica Autônoma: Motivação • “O estágio atual da área de robótica se assemelha muito àquele em que se encontravam os computadores 30 anos atrás. Pode-se dizer que os braços robóticos industriais são hoje os robôs mais comuns, assim como os mainframes eram os computadores em destaque naquela época. Embora tenham sua importância, é evidente o quão limitados são (e eram) estes dispositivos. A partir do momento que os robôs se tornarem acessíveis aos consumidores, eles poderão causar um impacto tão grande quanto aquele dos PCs há três décadas.” ▫ Bill Gates, Scientific American, 16/12/2006
  9. 9. Robótica Autônoma: Motivação • Sinais dessa proferida revolução começam a ser evidenciados. • Pesquisas em universidades e empresas buscam criar novas tecnologias voltadas à robótica autônoma. • Já existem também diversos produtos comerciais, indo de aspiradores de pó a brinquedos.
  10. 10. Robótica Autônoma: Aplicações • Mars Exploration Rovers ▫ Veículos para a exploração de Marte ▫ Desenvolvidos pelo Jet Propulsion Laboratory da NASA.
  11. 11. Robótica Autônoma: Aplicações • Spirit e Opportunity: atraso de 16 minutos na comunicação com a Terra • Escolha de dezenas de possíveis caminhos levando em consideração a distância e segurança. • Fatores de segurança: • Altura e densidade de rochas e depressões. • Irregularidade do terreno.
  12. 12. Robótica Autônoma: Aplicações • Competição da DARPA ▫ Em 2007, os veículos participantes deveriam navegar de forma autônoma por uma área urbana que reproduzia o tráfego de uma cidade, respeitando todas as leis de trânsito e os demais carros. O vencedor, da universidade de Carnegie Mellon, foi capaz de cumprir o percurso de 96 km em pouco mais de 4 horas , sem acidentes e, o mais importante, sem qualquer intervenção humana.
  13. 13. Robótica Autônoma: Aplicações • Na indústria, os robôs já são bastante comuns e, segundo a Federação Internacional da Robótica: ▫ O número de unidades tem crescido a uma média anual de 5,5%. ▫ Mais de um milhão de robôs em funcionamento em 2010. • A fábrica mais da BMW em Leipzig, Alemanha, possui, na seção responsável pela produção do chassi do carro, cerca de 700 braços robóticos. • Roomba (produzido pela empresa iRobot), é um robô aspirador de pó com mais de 2 milhões de unidades vendidas.
  14. 14. Robótica Autônoma: Aplicações • Microsoft Amalga® desenvolvido pela Microsoft Health Solutions Group. ▫ É um sistema corporativo voltado ao uso de instituições da área de saúde. ▫ Integra vários tipos de dados provenientes de diferentes fontes. ▫ Embora o Microsoft Amalga® seja bastante automatizado, ele depende de intervenção humana para muitas tarefas, como por exemplo, a medição de temperatura de pacientes. ▫ Solução: robôs que visitam os pacientes e colhem medições de temperatura.
  15. 15. Robótica Autônoma: Aplicações • Patrulhar áreas de segurança. • Limpar ambientes. • Transportar materiais. • Fazer inspeção em tubulações e fiações. • Coletar objetos ou dados. • Guiar pessoas • Dentre muitas outras...
  16. 16. Robótica Autônoma: Aplicações • Todas as tarefas apresentadas são distintas entre si, porém possuem algo em comum: ▫ O robô navega de um local de origem até outro de destino, executando tarefas específicas, durante o trajeto e/ou ao seu final. • Independente do ambiente, meio de locomoção e arquitetura, o projeto de construção de um robô autônomo segue basicamente a mesma premissa. • Há um conjunto finito de tarefas base, relacionadas ao processo de navegação do robô, que são portáveis entre aplicações.
  17. 17. Definições e Especificações de Sistemas de Navegação Autônomos
  18. 18. Autonomia de Robôs • A construção de robôs é uma tarefa multidisciplinar, que envolve desde a concepção do hardware: ▫ Sensores, atuadores e processamento. • E software: ▫ Processamento de informações advindas de sensores. ▫ Controle autônomo e pré-programado do robô. ▫ Acionamento de atuadores dado a informação de entrada e o processamento ocorrido.
  19. 19. Autonomia de Robôs • Obviamente o papel fundamental da IA é com o software, que será o controle do robô. • A robótica autônoma pode estar inserida dentro da pesquisa em controle de sistemas. • Várias das teorias clássicas de controle de sistemas são voltada a cenários específicos e limitados. • Um robô deve ser capaz de aprender, se adaptar e evoluir, pois está sujeito a variações de ambientes. • Um robô deve ser capaz de navegar por ambientes dinâmicos!
  20. 20. Autonomia de Robôs • Neste sentido a implementação do software de controle do robô deve levar em consideração ▫ A adaptação a diferentes situações não vistas. ▫ Aquisição e incorporação de novos conhecimentos relevantes. ▫ Evolução de regras de controle. • Sendo assim algoritmos e ferramentas de IA são amplamente utilizadas no desenvolvimento da autonomia de robôs (seja qual for seu objetivo). • Ferramentas como Redes Neurais Artificiais e Algoritmos Evolutivos são largamente utilizadas, por apresentarem as características desejáveis.
  21. 21. Comportamento e Arquitetura • Ao se projetar e desenvolver um sistema de navegação autônomo é necessário determinar suas especificações em diversos âmbitos. • Parte destas decisões derivam diretamente de fatos conhecidos, como o problema a ser tratado e o(s) robô(s) utilizado(s). • Por outro lado, há decisões que não são tão óbvias e requerem maior atenção. A arquitetura do sistema é uma delas.
  22. 22. Comportamento e Arquitetura • De acordo com o problema, ou seja, o ambiente e as tarefas enfrentados, é possível definir que tipos de comportamentos serão exigidos do robô. • A partir do comportamento, determina-se a arquitetura do sistema: ▫ Como é a organização e composição interna do sistema. ▫ E como estas manifestam suas ações externas como comportamentos do robô.
  23. 23. Comportamento e Arquitetura • A arquitetura deve levar em consideração essencialmente o comportamento que deseja- se obter, os quais destacam-se: ▫ Puramente reativo. ▫ Puramente deliberativo. ▫ Híbrido.
  24. 24. Comportamento e Arquitetura
  25. 25. Aprendizagem • Tarefas elementares: ▫ Navegar pelo ambiente. ▫ Desviar de obstáculos. ▫ Capturar um alvo.
  26. 26. Aprendizagem • Em robótica autônoma, aprendizagem é um princípio fundamental. • Um robô com capacidade de aprendizado é potencialmente mais autônomo que outro incapaz de aprender. • Aprendizagem significa se adaptar a novos ambientes e situações antes desconhecidos.
  27. 27. Aprendizagem • Processos de aprendizagem de interesse: ▫ Introdução ou aquisição de novos conhecimentos. ▫ Generalização a partir de conhecimentos específicos ou especificação de conceitos genéricos. ▫ Reuso de experiências passadas. ▫ Reorganização interna do sistema. ▫ Criação ou descoberta de soluções para tarefas ou problemas sendo tratados.
  28. 28. Otimização • Sistemas de controle de robôs autônomos são projetados visando a otimização de alguns fatores específicos: ▫ Minimização de algum tipo de erro; ▫ Minimização do consumo de energia; ▫ Minimização do tempo de resposta a uma dada entrada; ▫ Maximização da velocidade para atingir um objetivo.
  29. 29. Otimização • A otimização relacionada com aprendizagem é fundamental no projeto de um robô. • Pode ser vista como um complemento à aprendizagem, de modo que pode quantificar ou qualificar diferentes situações a serem aprendidas. • Otimização e aprendizagem: que tipo de aprendizagem isso nos remete?
  30. 30. Aprendizagem+Otimização • Suponha uma aplicação em que o robô deve coletar objetos no ambiente. • Primeiramente, o robô precisa aprender como encontrar e coletar os objetos. • Em seguida, espera-se que o robô consiga maximizar a quantidade de objetos coletados e minimizar o tempo gasto nesta tarefa. • Enquanto a aprendizagem é fundamental, a otimização é determinante para que robôs possam não apenas cumprir suas tarefas, mas também executá-las com eficiência.
  31. 31. Ambiente e Robô • Ambientes e robôs virtuais
  32. 32. Ambiente e Robô • Ambientes e robôs reais
  33. 33. Navegação em Ambientes Dinâmicos
  34. 34. Navegação em Ambientes Dinâmicos • Sistemas de tomadas de decisão (controle). • Dada uma entrada qual decisão tomar? • Em outras palavras, como atuar no ambiente? Ambiente Sistema Atuação Tomada de decisão Percepção
  35. 35. • Ambientes dinâmicos: requerem aprendizado constante. • Intervenção externa na síntese de processos é algo não admitido: ▫ Inserir conhecimento em um sistema pode ser inútil, pois o conhecimento pode não ser mais válido em instantes seguintes. • Como adaptar um sistema que está sendo aplicado em um ambiente em mudanças constantes? Navegação em Ambientes Dinâmicos
  36. 36. • Palavra chave: auto adaptação. • Um sistema que opera em ambientes dinâmicos deve ser capaz de se adaptar às mudanças. • Para isto lança mão de métodos que reorganizam sua estrutura de forma automática. • Com isso pretende-se criar adaptações automáticas dados novos cenários produzidos pelo ambiente. Navegação em Ambientes Dinâmicos
  37. 37. • Supondo ambiente dinâmico Ambiente Sistema Agente mudanças estruturais Ambiente Sistema Agente mudanças operacionais Auto adaptação
  38. 38. • Auto adaptação está relacionada à aprendizagem. • Que no caso se resume em aprender com o ambiente. Quatro dificuldades inerentes: ▫ Ocorrência continuada de novidades no ambiente e dados ruidosos. ▫ Exigência de tomada de ações em tempo real. ▫ Objetivos do sistema são implícitos ou imprecisos, além de serem múltiplos e possivelmente conflitantes; ▫ Dependência de longas sequencias de ações ou eventos para obtenção de realimentação acerca da qualidade das ações. Navegação em Ambientes Dinâmicos
  39. 39. Sistemas Classificadores
  40. 40. Sistemas Classificadores • Com o objetivo de contemplar a capacidade de aprendizagem por meio de classificação das regularidades de ambiente dinâmicos temos os Sistemas Classificadores com Aprendizagem (SCA). ▫ Learning Classifier Systems • Podemos ver os SCA como uma mistura de sistemas especialistas e algoritmos evolutivos.
  41. 41. Sistemas Classificadores • Sistemas classificadores são métodos para criação e atualização de regras de inferência, chamadas classificadores. • Codificam eventuais ações a serem tomadas por um agente sob condições específicas do ambiente. • Um dos componentes fundamentais do sistema, responsável pela atualização do conteúdo das regras são os algoritmos evolutivos (AEs) (ou genéticos).
  42. 42. Sistemas Classificadores • Os AEs conferem o caráter evolutivo aos sistemas classificadores. • São capazes de combinar, em um único sistema, evolução e aprendizagem de forma integrada. • Os sistemas classificadores podem ser considerados modelos apropriados para a síntese de sistemas adaptativos.
  43. 43. Sistemas Classificadores • Veremos então um sistema de navegação autônomo evolutivo fundamentado na teoria dos sistemas classificadores com aprendizagem. • Objetivos: ▫ Guiar um robô por ambientes desconhecidos ▫ Desviar de obstáculos ▫ Capturar alvos • Princípio: sistema reativo com aquisição e evolução de conhecimentos.
  44. 44. Sistemas Classificadores • Sistema classificador e ambiente Ambiente Sistema Classificador Atuação Tomada de decisão Percepção / Entradas
  45. 45. Sistemas Classificadores • Estrutura de Sistema Classificador Sistema Classificador Classificadores C1 C2 C3 . . . Cn Entradas Saída
  46. 46. Sistemas Classificadores • Estrutura de Sistema Classificador com Aprendizado Sistema Classificador Classificadores C1 C2 C3 . . . Cn Entradas Saída Algoritmo Evolutivo Espaço de Busca* (*todos os possíveis classificadores)
  47. 47. Sistemas Classificadores • O núcleo de um SCA é um conjunto de regras (ou classificadores) que são como as regras de inferência: ▫ Se <condição> Então <ação> • <condição> e <ação> podem ser representados por valores nos mais diversos espaços de busca: ▫ Binários ▫ Inteiros ▫ Reais ▫ Etc...
  48. 48. Sistemas Classificadores • Dado um ‘pool’ de classificadores • A cada t classificações ou seja a cada t recebimento de entradas costuma-se recorrer ao AE para a atualização do ‘pool’ de classificadores. • Esta atualização é baseada no desempenho do sistema nas t classificações. • O desempenho obviamente é medido de acordo com a aplicação.
  49. 49. Navegação Através de Sistemas Classificadores com Aprendizado
  50. 50. Especificações do Robô • Utilização de um robô real: Khepera II ▫ Diâmetro: 80 mm ▫ Altura: 30 mm ▫ Peso: 80 g • Movimenta-se através de duas rodas controladas por motores de passo ▫ Controle de direção +15º (horário) ou − 15º (anti horário) ▫ Velocidade máxima: 1 m/s
  51. 51. Especificações do Robô • Possui 8 sensores infravermelhos: ▫ Medida de luminosidade (captura de alvo) ▫ Medida de distância para objetos
  52. 52. Especificações do Robô • Quando o robô colide gira 180º em um efeito reativo. • Possui ainda um sensor interno com o objetivo de capturar estados internos do sistema: ▫ Por exemplo, estados de monotonia onde há falta de objetividade. ▫ Por exemplo, o robô não está mais capturando alvos por um longo período de tempo.
  53. 53. SCA para Navegação Autônoma • Início do SCA através de geração aleatória de classificadores • Início do recebimento de entradas. ▫ Receber uma mensagem do ambiente ▫ Iniciar processo de seleção do classificador  Comparar todos os classificadores com a msg.  Escolher o mais adequado (mais semelhante). ▫ Executar ação do classificador ▫ Detectar eventos de colisão, captura ou monotonia ▫ Caso seja detectado algum evento então acionar o algoritmo evolutivo • Fim do recebimento de entradas
  54. 54. SCA para Navegação Autônoma • Composição de regras (classificadores) • Se <antecedente> então <consequente>
  55. 55. SCA para Navegação Autônoma • Exemplos de regras:
  56. 56. SCA para Navegação Autônoma • Evolução de regras • Aplica-se um AE para gerar novos conjuntos de regras. • Reprodução e Mutação nas regras existentes • Avaliação de regras (função de fitness): ▫ Disparadas segundo algum evento: colisão, captura de alvo e monotonia • Supondo colisão ▫ O sensor captura a situação de colisão ▫ Regras que mais se assemelham a situação de colisão possui menos probabilidade de reproduzirem
  57. 57. SCA para Navegação Autônoma • Vídeos
  58. 58. Alguns Robôs Voltados à Pesquisa e Ensino
  59. 59. Khepera III
  60. 60. E-Puck
  61. 61. Kilobot
  62. 62. Skybotix CoaX
  63. 63. ROBOTIS Bioloid GP
  64. 64. Referências • Aula baseada na tese de doutorado de Renato Reder Cazangi: “Síntese de Controladores Autônomos em Robótica Móvel por meio de Computação Bio-inspirada”, FEEC/Unicamp, 2008. ▫ ftp://ftp.dca.fee.unicamp.br/pub/docs/vonzuben/theses/ • Robótica Coletiva: de Castro, L. N. (2006), “Fundamentals of natural computing: basic concepts, algorithms, and applications”, CRC Press.

×