terça-feira, 1 de abril de 2014


Ponto da Situação


Primeiramente, após as sessões ministradas no LAR, foi necessária uma familiarização com a linguagem C++ assim como com o ambiente ROS.

Posteriormente foi efetuado um levantamento do estado da arte, no que diz respeito à descodificação de Data Matrix. Como resultado dessa pesquisa foram encontradas duas bibliotecas possíveis de implementar em linguagem C++, ambas Open Source, sendo estas a libdmtx e zxing. Porém, apenas a biblioteca libdmtx foi desenvolvida em linguagem C, a qual é totalmente compatível com C++. Adicionalmente, esta biblioteca possuí uma documentação relativamente organizada o que facilita a sua utilização e compreensão. Tendo sido, portanto, esta a biblioteca adotada para o desenvolvimento deste trabalho.

Após um período de adaptação à referida biblioteca, foi possível desenvolver um módulo ROS que faz a leitura em tempo real de um Data Matrix, tendo sido posteriormente estendido à leitura de múltiplos Data Matrix.

Foi ainda possível, após estudo da biblioteca em questão, encontrar o posicionamento dos Data Matrix na imagem. Nesta fase foram encontrados alguns obstáculos, uma vez que, após compreensão das estruturas de dados presentes na biblioteca, a posição dos Data Matrix não se encontrava correta. Isto deveu-se ao facto de a origem da imagem na biblioteca libdmtx não corresponder à origem na biblioteca OpenCV, biblioteca esta que foi utilizada para mostrar a imagem e marcar a posição dos Data Matrix. Facto que levava os pontos a aparecerem deslocados da sua posição ao longo das colunas.

Já na passada semana, foi desenvolvido um novo módulo de aquisição e publicação da imagem em ambiente ROS, uma vez que com o módulo até então utilizado apenas foi possível a aquisição de imagem usando a webcam integrada do computador.

Por último foi feita a transição de todo o trabalho para o controlo de versões do laboratório e criada documentação para os módulos ROS desenvolvidos.

Sem comentários:

Publicar um comentário