1 / 32

Utilização de Técnicas de Verificação Formal para a Coordenação de Sistemas Multi-Robôs

Utilização de Técnicas de Verificação Formal para a Coordenação de Sistemas Multi-Robôs. Victor Boeing Ribeiro. 27 de outubro de 2011. Sumário. Conceitos básicos Introdução Modelagem UPPAAL Implementação Expansão do método redução de complexidade Conclusão e perspectivas.

beck
Télécharger la présentation

Utilização de Técnicas de Verificação Formal para a Coordenação de Sistemas Multi-Robôs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Utilização de Técnicas de Verificação Formal para a Coordenação de Sistemas Multi-Robôs Victor Boeing Ribeiro 27 de outubro de 2011

  2. Sumário • Conceitos básicos • Introdução • Modelagem UPPAAL • Implementação • Expansão do método • redução de complexidade • Conclusão e perspectivas Sumário 2/31

  3. Sistemas a Eventos Discretos • Processos não são governados pela variação de variáveis contínuas, mas por eventos– alterações instantâneas, sem estados intermediários • Um Autômato Finito Determinístico é formalmente definido pela quíntupla G = (X, Σ, f, x0, Xm), onde: • X: conjunto finito de estados • Σ: conjunto de eventos (alfabeto) • f : X, Σ → X função de transição • x0: estado inicial • Xm: conjunto de estados finais (marcados) Conceitos Básicos 3/31

  4. Autômatos Temporizados • Autômatos temporizados são uma extensão de máquinas de estados finitos com variáveis de tempo (timers) e variáveis discretas limitadas • Guard (condição) • Update (atualização) • Sync (canal de sincronização) Conceitos Básicos 4/31

  5. Verificação • Uso de técnicas matemáticas para provar que uma propriedade é satisfeita ou não, procurando por sequências de eventos que possam violá-la correções descrição operacional Contra exemplo SISTEMA Modelagem Não VERIFICAÇÃO especificações Propriedades esperadas Propriedade satisfeita Sim Conceitos Básicos 5/31

  6. Objetivos • Coordenação da atividade de movimentação de múltiplos robôs dentro de um espaço delimitado e com obstáculos; • Desenvolvimento de um coordenador que forneça uma lista de instruções a serem executadas pelos robôs para alcançarem a posição desejada, evitando obstáculos e sincronizando seus movimentos com outros robôs Introdução 6/31

  7. Método • Modelagem do sistema multi-robôs como sistema a eventos discretos; • Verificação intencional de propriedades de alcançabilidade; • Geração de um contra-exemplo com a lista de instruções a serem executadas pelos robôs Introdução 7/31

  8. Especificações • Múltiplos robôs, área limitada e obstáculos; • Robôs devem respeitar os limites do cenário, evitar colisões com obstáculos e entre eles; • Área de trabalho dividida em células: • Células podem estar livres, ocupadas por • um robô ou obstáculo • Robôs podem executar três tipos de movimentos: • Rotação 90o para direita e esquerda • Movimento para frente 3 1 2 Introdução 8/31

  9. Modelagem 2 1 Modelagem 9/31

  10. Modelagem start Initialization start Robot Controller Moving Forward Rotating Left Rotating Right rotateRight rotateLeft mForward light encode encode Light sensor Encoder Modelagem 10/31

  11. Inicialização Quando todos os ID’s são encontrados é enviado um sinal broadcast start! Procura pelo ID dos robôs em cada linha e coluna Quando um ID é encontrado suas respectivas coordenadas são atualizadas Modelagem 11/31

  12. Controle Espera pelo sinal broadcast start? Antes de enviar mForward! o Controlador verifica se a próxima célula está livre e se o robô não sairá do cenário. Pode enviar rotateLeft! E rotateRight! livremente Modelagem 12/31

  13. Robô light?: Libera a célula anterior encode?: Atualiza a orientação do robô mForward?: Atualiza a próxima célula e vai para o lugar Moving rotateLeft? ou rotateRight?: Vai para o lugar Rotating Modelagem 13/31

  14. Sensores Light sensor: envia light! Encoder: envia encode! Modelagem 14/31

  15. Geração de Trace • Verificação de fórmulas de alcançabilidade e a geração de contra-exemplos (shortest trace) • Filtragem das transições sincronizadas entre controlador e robôs • FÓRMULA: • A[] not (x[0]==2 and y[0]==3) • Control.Idle->Control.Idle { 1, rotateLeft[0]!, 1} • Control.Idle->Control.Idle { 1, rotateLeft[0]!, 1} • Control.Idle->Control.Idle { 1, mForward[0]!, 1} • Control.Idle->Control.Idle { 1, rotateRight[0]!, 1} • Control.Idle->Control.Idle { 1, mForward[0]!, 1 } Implementação15/31

  16. Arquitetura Trace generator Trace executor Trace Execution confirmation Instructions Operational control Environment Information Sensors Information Commands Robot Sensors Motors Implementação16/31

  17. Implementação • Interface para entrada de valores para posição inicial do robô, orientação e obstáculos • Essa informação é gravada no arquivo “xml” que contém o modelo do sistema • Posição objetivo do robô • Gravada no arquivo “q” que contem a fórmula a ser verificada • Acesso ao verificador para cálculo do menor contra-exemplo • Envio do trace calculado através de serial Bluetooth Implementação17/31

  18. Implementação Posição inicial Obstáculos Posição final Orientação inicial Trace calculado Implementação18/31

  19. Expansão do método - Objetivos • Modelagem do sistema com a linguagem FIACRE • Avaliação da possibilidade de execução de ações simultaneamente, por diferentes robôs – aumento da eficiência do sistema • Avaliação da complexidade dos modelos gerados • Proposta de um método para redução da complexidade Expansão do Método19/31

  20. Modelo Sequencial • Portas TurnR, TurnL e GoF • Controle responsável por gerenciar a matriz • Passagem instantânea entre células Expansão do Método20/31

  21. Modelo Sequencial 1 2 Expansão do Método21/31

  22. Modelo Paralelo • Portas TurnR, TurnL, GoF, Release e Wait • Estado intermediário de movimentação • Instruções enviadas alternadamente para os robôs Expansão do Método22/31

  23. Modelo Paralelo 1 2 Expansão do Método23/31

  24. Complexidade Expansão do Método24/31

  25. Método para redução de complexidade • Desenvolvimento de um método com baixa complexidade e que mantenha o paralelismo no trace gerado • Cálculo de um trace sequencial através do modelo de baixa complexidade • Algoritmo que avalia quais instruções podem ser executadas simultaneamente Redução de complexidade 25/31

  26. Método para redução de complexidade Redução de complexidade 26/31

  27. Método para redução de complexidade 1 2 Redução de complexidade 27/31

  28. Método para redução de complexidade Redução de complexidade 28/31

  29. Método para redução de complexidade Redução de complexidade 29/31

  30. Conclusão • Aumentando a eficiência na geração do trace aumenta-se também o grau de complexidade do modelo • Modelo que gera trace com paralelismo não é flexível e é impraticável sua aplicação para sistemas com elevado número de robôs ou células • Método para redução de complexidade apresentou um bom resultado, gerando um trace com paralelismo e com um grau de complexidade muito menor Conclusão e Perspectivas30/31

  31. Perspectivas • Utilização de obstáculos dinâmicos no sistema – portas • Abordagem através da Teoria de Controle Supervisório • Abordagem através de Autômatos Jogos Temporizados Conclusão e Perspectivas31/31

  32. Obrigado! Victor Boeing Ribeiro boeing@das.ufsc.br

More Related