Futebol: uma questão de tempo real?
description
Transcript of Futebol: uma questão de tempo real?
Futebol: uma questão de tempo real?
Sistemas de Tempo Real
Hugo Santos (27621)Pedro Mónica (25330)
Introdução
• Identificamos várias áreas no domínio do futebol robótico– Estratégia– Comunicação– Tratamento da informação do mundo
• Sensores• Visão
• Um dos problemas advém da utilização de uma única fonte para múltiplos fins de diferentes prioridades
Domínio do problema
• Para demonstrar o problema iremos utilizar o domínio da visão
• Um robô tem uma ou várias cameras de vídeo para reconhecimento do mundo
• De cada uma das cameras obtêm uma imagem cada T ms– Desta única imagem terá que reconhecer diversos
detalhes– A prioridade do processamento destes detalhes
porém é diferente
Domínio do problema (II)
• Alguns dos detalhes que neste domínio devem ser reconhecidos incluem– Os obstáculos
• Sejam limites do campo, balizas, postes e outros robôs
– As linhas do campo de jogo– A bola
• A utilização de cada um destes detalhes implica uma prioridade distinta – por ex. é de maior importância detectar um obstáculo
do que a bola
Domínio do problema (III)
• Iremos explorar duas abordagens ao tratamento destes dados– Uma monolítica e sequencial– E uma modelar que tem em conta aspectos
de tempo real
• Ao distinguir estas duas abordagens iremos demonstrar como podemos impor restrições de tempo real ao domínio do problema
Uma abordagem monolítica
• Com um processamento sequencial dos detalhes a partir de uma única frame obtemos um comportamento não determinístico e não óptimo
• Isto deve-se ao facto do processamento de um único detalhe de menor prioridade poder levar demasiado tempo
Uma abordagem monolítica (II)
• Processando os detalhes na seguinte ordem:– Procurar obstáculos– Procurar a bola– Procurar as balizas– Procurar cantos de campo
• Conseguimos obter a informação relativa aos obstáculos a tempo para todos os frames onde não exista sobre-utilização do tempo de frame– No entanto se um processamento ultrapassar a sua
quota ou não for suficientemente constante então temos um problema.
Uma abordagem monolítica (III)
• Dependendo da estratégia utilizada para procurar um determinado detalhe, esta pode demorar mais ou menos tempo dependendo do input.– Por ex. se começarmos a procurar a bola no
centro da imagem, demoramos pouco tempo se esta tiver no centro, e muito se ela estiver numa das extremidades
Processamento sequencial
• Desta forma o processamento de único frame pode afectar o tempo de processamento dos seguintes, tendo um impacto na latência de obtenção de informação e não levando em conta as prioridades seguintes.
• Introduz também não-determinismo pois o atraso de um processamento em particular afecta todos os seguintes.
Frame 1
Obst Bola Resto Obst Bola Resto
Frame 2 Frame 3
Obst …
T
Atraso no processamentoou perca de frame
Abordagem modular
• Como podemos ver a abordagem monolítica não nos apresenta as garantias requeridas pelo domínio
• Então como obter um sistema que nos ofereça essas garantias
• Começamos por dividir o problema e a especificar os requisitos de tempo real– É também critico perceber que algum processamento
é mais susceptivel a falhas em relação a outros• Por ex. Actualização do mundo vs. evitar obstaculos
Abordagem modular (II)
• Prioritização– Detectar os obstáculos é mais importante que
detectar a bola• Não queremos colidir, queremos maximizar a velocidade
– Detectar a bola é mais importante que as balizas• Manter a possessão da bola é importante para a equipa
• No entanto a fonte de informação é partilhada e os tempos gastos para processar cada detalhe são distintos
Abordagem modular (III)
• Para solucionar este problema utilizamos um sistema de memoria partilhada entre processos distintos que trabalham em detalhes diferentes
• Um único frame é partilhado por todos os processos que necessitam dele
• Cada processo actualiza uma imagem global que é depois utilizada pelas camadas superiores de decisão– Cada processo trabalha também ao seu ritmo
• Por ex. a detecção de bola pode apenas conseguir processar de 2 em 2 frames
• A preempção entre processos garante que os de maior prioridade têm sempre tempo para executar
Abordagem Modular (IV)
• Uma prioritização estrita entre os processos garante-nos os requisitos
• A divisão funcional do problema permite obter valores determinísticos para cada processo uma vez que não existe uma interdependência interna, apenas externa
Frame 1
Obst Obst
Frame 2 Frame 3
Obst
T
Frame 1
Bola
Frame 2 Frame 3
Frame 1
Resto Resto
Frame 2 Frame 3
Resto
Bola
Conclusão
• Podemos modelar facilmente um problema num sistema modular, de forma a atribuir requisitos de tempo-real individualmente a cada uma das partes– Desta forma aumentamos a granularidade na
aplicação dos requisitos de tempo-real do domínio• Este problema não se aplica apenas à visão; é
comum a todos os problemas que envolvam o processamento de informação com prioridades distintas a partir da mesma fonte– Por ex. leitura de sensores ou análise de informação
do mundo