Projeto

Geral

Perfil

Atividade #1223

Atualizado por Gabriel Borges da Conceiçãoquase 5 anos

Após o final da larc 2019 em conversa com o major Renault, percebemos um problema no jeito que fizemos o while para recebimento de pacotes. 

 Esse while foi criado pra permitir o recebimento de pacotes independente do resto de processamento da visão (decodificação de pacotes, Kalman, Cluster to Game e escrever na referência) a fim de impedir acúmulo e consequentemente processamento de pacotes defasados. 

 Da maneira que foi implementado, quando o while da visão pega o vetor de bytes (pacote) da referência, ele pega o último recebido. Mas chega uma câmera em cada pacote, com isso, pode estar acontecendo de o while da visão estar pegando mais vezes umas câmeras que outras já que o while Read UDP tem rodado mais rápido que o while da visão, pois não há nenhuma cadência, ou seja, o while da visão apenas pega a última câmera que chegou depois de ter terminado seu último processamento. 

 Em resumo, na larc de 2019, o while Read UDP rodava com praticamente o dobro de fps que o while da visão, ou seja, metade dos pacotes que chegavam não eram processados (feito kalman e utilizado para o resto do código). Não tem tanto problema se chegar dois pacotes de uma mesma determinada câmera e só processarmos o mais atual deles (isso é o correto); o problema é chegar duas câmeras diferentes e só processarmos uma delas. 

 O objetivo dessa tarefa é encontrar uma solução para que consigam ser sempre processados os pacotes mais atuais de cada uma das 4 câmeras. 

Voltar