140 likes | 258 Views
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
E N D
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. Atraso no processamento ou perca de frame … Obst Bola Resto Obst Bola Resto Obst Frame 1 Frame 2 Frame 3 T
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 Obst Obst Obst Frame 1 Frame 2 Frame 3 Bola Bola Frame 1 Frame 2 Frame 3 Resto Resto Resto Frame 1 Frame 2 Frame 3 T
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