A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

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árioSumário CONCEITOS BÁSICOS INTRODUÇÃO MODELAGEM UPPAAL IMPLEMENTAÇÃO EXPANSÃO DO MÉTODO REDUÇÃO DE COMPLEXIDADE CONCLUSÃO E PERSPECTIVAS Sumário2/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, x 0, X m ), onde: X: conjunto finito de estados Σ: conjunto de eventos (alfabeto) f : X, Σ X função de transição x 0 : estado inicial X m : conjunto de estados finais (marcados) Conceitos Básicos3/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ásicos4/31

5 VerificaçãoVerificaçã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 Modelagem Propriedades esperadas VERIFICAÇÃO Sim Não Contra exemplo Propriedade satisfeita correções SISTEMA descrição operacional especificações Conceitos Básicos5/31

6 ObjetivosObjetivos 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ção6/31

7 MétodoMé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ção7/31

8 EspecificaçõesEspecificaçõ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 90 o para direita e esquerda Movimento para frente Introdução8/31

9 ModelagemModelagem var map: matrix:= [[-1, -1, -1, -1, -1], [-1, 2, 0, 0, -1], [-1, 0, -1, 1, -1], [-1, 0, 0, 0, -1], [-1, -1, -1, -1, -1]] Modelagem9/31

10 ModelagemModelagem Robot Controller Light sensor Encoder Initialization Rotating Right Rotating Left Moving Forward start lightencode rotateRight rotateLeft mForward Modelagem10/31

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

12 ControleControle Espera pelo sinal broadcast start? Pode enviar rotateLeft! E rotateRight! livremente 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. Modelagem12/31

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

14 SensoresSensores Light sensor: envia light!Encoder: envia encode! Modelagem14/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 Implementação15/31 FÓRMULA: A[] not (x[0]==2 and y[0]==3) 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 }

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

17 ImplementaçãoImplementaçã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çãoImplementação Obstáculos Trace calculado Posição inicial Posição final Orientação inicial 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 ROBÔ 1ROBÔ 2 01.GoF 02.TurnR 03.GoF 04.GoF 05.GoF 06.TurnR 07.GoF 08.TurnL 09.TurnL 10.TurnL 11.TurnL 12.GoF 13.GoF 14.GoF 15.TurnL 16.TurnL 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 ROBÔ 1ROBÔ 2 01.GoF 02.WaitTurnR 03.WaitGoF 04.GoFTurnL 05.TurnRTurnL 06.GoFWait 07.TurnLGoF 08.TurnLGoF 09.WaitGoF 10.WaitTurnL 11.WaitTurnL Expansão do Método23/31

24 ComplexidadeComplexidade Número de estados Modelo paraleloModelo sequencial ROBOTS CELLS 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 complexidade25/31

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

27 Método para redução de complexidade ROBOT 1ROBOT 2 01.TurnL 02.TurnL 03.GoF 04.GoF 05.GoF 06.GoF 07.TurnR 08.GoF 09. TurnL 10. TurnL 11. GoF 12. GoF 13. GoF 14. TurnL 15. TurnL 16. GoF 17. TurnL 18. GoF Redução de complexidade27/31

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

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

30 ConclusãoConclusã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 PerspectivasPerspectivas 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!Obrigado! Victor Boeing Ribeiro


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google