Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouLucas Cecilio Alterado mais de 10 anos atrás
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 /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 /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 /31
5
descrição operacional Propriedades esperadas Propriedade satisfeita
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 /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 /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 /31
8
Especificações 3 1 2 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 /31
9
Modelagem 2 1 Modelagem 9/31 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]] 2 1 Modelagem /31
10
Modelagem Initialization Robot Controller start start rotateRight
Moving Forward Rotating Left Rotating Right rotateRight rotateLeft mForward light encode encode Light sensor Encoder Modelagem /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 /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 /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 /31
14
Sensores Light sensor: envia light! Encoder: envia encode!
Modelagem /31
15
A[] not (x[0]==2 and y[0]==3)
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, mForward[0]!, 1} Control.Idle->Control.Idle { 1, rotateRight[0]!, 1} Control.Idle->Control.Idle { 1, mForward[0]!, 1 } Implementação /31
16
Execution confirmation
Arquitetura Trace generator Trace executor Trace Execution confirmation Instructions Operational control Environment Information Sensors Information Commands Robot Sensors Motors Implementação /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ção /31
18
Implementação Posição inicial Obstáculos Posição final
Orientação inicial Trace calculado Implementação /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étodo /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étodo /31
21
Modelo Sequencial 1 2 Expansão do Método 21/31 ROBÔ 1 ROBÔ 2 01. GoF
02. TurnR 03. 04. 05. 06. 07. 08. TurnL 09. 10. 11. 12. 13. 14. 15. 16. 1 2 Expansão do Método /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étodo /31
23
Modelo Paralelo 1 2 Expansão do Método 23/31 ROBÔ 1 ROBÔ 2 01. GoF 02.
Wait TurnR 03. 04. TurnL 05. 06. 07. 08. 09. 10. 11. 1 2 Expansão do Método /31
24
Complexidade Número de estados Modelo paralelo Modelo sequencial
ROBOTS CELLS 2 3 16 3 840 25 9 600 Expansão do Método /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 /31
26
Método para redução de complexidade
27
Método para redução de complexidade
ROBOT 1 ROBOT 2 01. TurnL 02. 03. GoF 04. 05. 06. 07. TurnR 08. 09. 10. 11. 12. 13. 14. 15. 16. 17. 18. 1 2 Redução de complexidade /31
28
Método para redução de complexidade
29
Método para redução de complexidade
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 Perspectivas /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 Perspectivas /31
32
Victor Boeing Ribeiro boeing@das.ufsc.br
Obrigado!
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.