MÉTODO DE CÁLCULO DE TRAJETÓRIA DE ROBÔ UTILIZANDO
Transcrição
MÉTODO DE CÁLCULO DE TRAJETÓRIA DE ROBÔ UTILIZANDO
MÉTODO DE CÁLCULO DE TRAJETÓRIA DE ROBÔ UTILIZANDO PROCESSAMENTO DE IMAGENS EM SMARTPHONES Marcos Monteiro Junior1, Maria Salete Marcon Gomes1, José Carlos Ferreira Rocha1, Ariangelo Hauer Dias1 1 Departamento de Informática, Universidade Estadual de Ponta Grossa, Ponta Grossa, Paraná, Brasil, [email protected], [email protected], [email protected], [email protected] RESUMO Máquinas agrícolas atuais possuem mecanismos que as tornam autônomas, porém ainda é um recurso caro, baseado em GPS. O uso de visão computacional é uma alternativa ou um complemento para o uso do GPS. Com a evolução dos processadores é possível aplicar visão computacional em celulares, cujo hardware é mais robusto por não possuir componentes mecânicos e por ser tolerante a poeira, e (alguns modelos) até a umidade. Este trabalho descreve a criação de um método para dispositivos móveis, do tipo smartphone, com sistema operacional Android. A finalidade do sistema é de calcular a trajetória de máquinas agrícolas, em linhas de pulverização. Foi utilizada a câmera presente nos smartphones para captação da imagem da rota a ser calculada e processada por ele. A aplicação incorpora métodos de visão computacional. O sistema foi testado em campo, na cultura de soja, sobre um sistema de plantio direto. Os testes foram realizados no Robô NAVIGO, desenvolvido no Programa de Pós-Graduação de Computação Aplicada, da Universidade Estadual de Ponta Grossa. O smartphone fica acoplado no NAVIGO. O processamento de visão computacional foi realizado no smartphone, provando que os telefones inteligentes, são robustos, possuem a vantagem de ter inúmeros sensores embutidos no hardware e são capazes de realizar tarefas que antes eram exclusivas de computadores. PALAVRAS-CHAVE: Android, Processamento de imagem, Automação agrícola, IOIO. ABSTRACT Agricultural machines have mechanisms that makes them people-independent. However, this is a feature that is still expensive and GPS based. The use of a computer sight in cellphones is an alternative or a complement to the use of GPS. With the evolution processors, it is possible to apply computer sight in cellphones, that have more robust hardware than agricultural machines, as they do not have mechanical components and are dustproof (some models even water proof). This work describes the creation of a method to mobile devices smartphones types, with the operational system Android, with the aim of calculate the trajectory of agricultural machines in lines of pulverization. The system uses a camera present in the smartphone to capture the image of the route to be calculated and process it using the phone. The application has been field tested, in the culture of soy, under tillage. The tests have been performed in the NAVIGO robot, developed under the Post-Graduation Program of Applied Computation, of the Universidade Estadual de Ponta Grossa. The smartphone is coupled with NAVIGO. The processment of the computer sight was performed in the smartphone, proving that the smartphone are robust, have the advantage of having lots of sensors coupled on the hardware and are capable of performing tasks that were computer exclusive before. KEYWORDS: Android, image processing , agricultural automation , IOIO. INTRODUÇÃO Pesquisas de gestões agrícolas e novas tecnologias estão presentes desde a semeadura ou o plantio, até o armazenamento e distribuição dos produtos. Atualmente, as pesquisas direcionadas à computação são para proporcionar autonomia em relação ao ser humano, tornando os processos automatizados capazes de tomar decisões. O processamento de imagens, na agricultura, é utilizado em sensoriamento remoto, com fotografias aéreas para o planejamento agrícola, mapeamento de solos e previsão de safra (MERCADANTE, 2007). O processamento de imagens também é utilizado para detecção de ataques por pragas ou detecção de doenças. Esses métodos têm inúmeras vantagens sobre os convencionais, destacam-se: a integração com procedimentos automáticos, a execução de medições com maior grau de acurácia e consistência que seres humanos, o monitoramento em tempo integral, além de medir a cor e a morfologia de objetos de maneira objetiva, visto que seres humanos fazem de maneira subjetiva (JAYAS, PALIWAL e VISEN, 2000). O conceito de processamento de imagens para navegação de máquinas agrícolas teve ampla cobertura na literatura, resultando no desenvolvimento de veículos autônomos (ASTRAND e BAERVELDT, 2005). A utilização dessa tecnologia está baseada em auxiliar o uso do GPS - Global Positioning System. Telefones inteligentes são sistemas embarcados com arquitetura de hardware diferente de computadores. Apesar de possuírem velocidade de clock, quantidade de núcleos em seus processadores e placa de vídeo, capazes de processar grande quantidade de dados e informações, semelhantes a computadores medianos. Possuem a vantagem de ter inúmeros sensores embutidos em seu hardware, como câmera, GPS, acelerômetro, sensores de magnetismo, etc. Há hardware dedicado à comunicação, como o wifi, bluetooth, conexão 2G/3G/4G (dependendo do aparelho), infravermelho etc., permitindo utilização como sistema embarcado completo, compacto e robusto (USTEV, DURMAZ e C., 2013) No início, seu uso em pesquisas foi restrito à coleta de dados para posterior processamento em dispositivos como os PCs (Personal Computers), (MEHMOOD, TUFAIL, et al., 2014). Hoje é possível encontrar sistemas complexos que vão muito além da simples coleta de dados. Segundo o Android (2010) sistema operacional Android está presente em milhões de dispositivos móveis ao redor do mundo. O Android é um sistema operacional, possui código aberto, suporte para aplicação de tecnologias de processamento de imagens, além de possuir ferramentas para desenvolvimento gratuitas, e sistema de simulação de hardware. Existem diversos hardwares externos com a finalidade de comunicar-se com o sistema Android. O IOIO é uma placa dedicada para essa finalidade. Trata-se de uma plataforma de desenvolvimento baseada no micro controlador PIC da empresa Microchip. Possui seu hardware aberto e livre para modificações, comunicação USB, e ou Bluetooth, além de bibliotecas para comunicação com o Android. Para os testes em campo foi utilizado o NAVIGO, que é um robô desenvolvido no Laboratório de Automação e Robótica da Universidade Estadual de Ponta Grossa dentro do projeto AGROBOT. O projeto AGROBOT, tem como objetivo desenvolver soluções na área de automação e robótica agrícola. Dentre as soluções, destaca-se a o aprimoramento de um robô agrícola – NAVIGO - o qual tem por objetivo percorrer talhões com a função de coletar informações padronizadas, contínuas e georreferenciadas. Constituído por uma arquitetura de hardware e software de código aberto o NAVIGO possibilitaria à comunidade seu uso, contribuição e caso necessite a modificação de acordo com as necessidades. Dentre outras características, o NAVIGO é composto por um chassi confeccionado em alumínio, tipo Crawler (copia as deformações do terreno), possui rádio controlado (R/C), modelo RCF-1 da marca Himoto (DIAS e SILVA, 2013). O controle de hardware e a comunicação com o smartphone é feita por uma plataforma IOIO. O NAVIGO está representado na Figura 1, pode-se destacar o suporte para smartphone, o braço robótico responsável pelas amostragens de solo e o IOIO responsável pelo controle e comunicação com o smartphone. Figura 1 - NAVIGO, visão superior. Fonte: (DIAS e SILVA, 2013). Diante disto, esse trabalho visa o estudo e criação um sistema para smartphones com sistema operacional Android, que utiliza a tecnologia de processamento de imagens e a aplicação de um algoritmo para fazer com que o robô se mantenha em um determinado trajeto com a utilização da câmera do dispositivo para a captação de imagens. Depois dessa etapa o sistema foi implantado em um protótipo, e testado em ambiente agrícola, nas culturas de trigo e cultura da soja. Desta maneira, esse trabalho utiliza a alta tecnologia presente em smartphones combinada com o uso da visão computacional para guiar o protótipo que simula uma máquina agrícola. MATERIAL E MÉTODOS O desenvolvimento do sistema usa como referência o método proposto por Xue, Zhang e Grift (2012), onde foi desenvolvido um robô que funciona com auxílio de uma câmera, um computador, e um GPS. Ele funciona sobre as linhas de plantio da cultura do milho, e usa para o processamento de imagens um notebook com processador AMD Turion 64 X2 TL-50 e como sensor uma câmera de baixo custo Logitech (QuickCam) com resolução de 640 480 pixels. A Figura 2 mostra como o sistema realiza o processamento de imagens, e também o sistema aplicado em campo. Figura 2 - Funcionamento do processamento de imagens do robô. Fonte: (XUE, ZHANG e GRIFT, 2012). O sistema deste trabalho foi elaborado de forma que o usuário seleciona na tela do celular a cor onde o será o caminho onde a máquina agrícola deverá trafegar. O algoritmo converte do padrão de cores RGB, lido pela câmera, para o padrão HSV assim é possível diminuir o problema de luminosidade e saturação. Utiliza-se o método de pirâmide de imagens (pyrDownMat) para reduzir a imagem para facilitar o processamento. Logo o frame processado será 16 vezes menor que o frame captado pela câmera. Aplica-se a binarização (mask) da imagem cuja cor escolhida torna-se branco e as demais cores tornam-se preto. Nessa etapa ainda é aplicado um método para preencher pixels vizinhos para eliminar pixels isolados, (dilatedMask). A Figura 3 apresenta as etapas descritas acima. Figura 3 - Etapas do processamento de imagens Detecção de borda 1 O algoritmo para detecção de bordas foi realizado da seguinte maneira: Após serem encontrados todos os pontos da direita, esquerda, calculam-se três tipos diferentes de bordas e pontos centrais, para fim de comparação: Média Aritmética: calcula a média aritmética básica entre todos os pontos (cor verde Figura 4); Primeiro e Último Pontos: apenas utiliza-se do primeiro e o último ponto (cor azul Figura 4); Mediana: calcula a mediana entre a primeira metade de pontos como primeiro ponto e a média entre a segunda metade de pontos como segundo ponto (cor magenta Figura 4). Figura 4 - Visão da tela do smartphone para o usuário Depois de realizados os testes de bancada, foi aplicado o teste em campo, sob as linhas do pulverizador. Os testes foram realizados em uma fazenda localizada na região do município de Teixeira Soares ao sudeste do Paraná, a cultura que estava sendo cultivada no período de teste foi a soja (Glycine max), o período de testes foi no mês de dezembro de 2014. As imagens foram extraídas são as saídas para o usuário, onde a imagem já está processada. Na Figura 5 (a), o sistema apresenta a detecção de borda mais comum, ou seja, onde não há curvas ou tomadas de decisões. Pode-se notar uma pequena tendência das bordas azuis e magentas para a direita. Na Figura 5 (b), mesmo com caminho bifurcado devido ao cruzamento de linhas de plantio com a linha do pulverizador, o sistema detectou e realizou a linearização de bordas correto. Já na Figura 5 (c), o sistema apresentou algo critico onde deverá ser tomada uma decisão como, por exemplo, virar à esquerda. O celular utilizado é um Sony Xperia U. Figura 5 - Resultados da linearização de borda em campo RESULTADOS E DISCUSSÃO O método da média aritmética apresentou o pior resultado visível, logo foi descartado dos testes seguintes. Para comparação entre os métodos “primeiro e ultimo” e “mediana”, foi contado quantidade de pixels pretos, das imagens binárias, entre as bordas. Dessa maneira pode-se concluir que o método que apresentar menos pixel entre as bordas, apresenta o melhor resultado para a delineação das bordas. A Figura 6 apresenta a coleta e o processamento de um único frame. A imagem (a) apresenta a saída para usuário. A imagem (b) está na forma binária, dilatada com as bordas, e por fim a imagem (c) possui os pixels externos da borda azul retirados. Figura 6 - Etapas para obtenção de resultados Foram utilizadas 62 imagens, a correlação entre as duas bordas (magenta e azul). De acordo com a correlação de Pearson a relação das bordas ficaram em 91,5%. Na Figura 7 apresenta o gráfico com a contagem de pixels pretos entre as duas bordas, observa-se que o método “primeiro e último” de cor azul, apresentou melhores resultados em números de pixels. Figura 7. Contagem de pixels entre bordas Foram feitos 10 testes durante o período da tarde, nesse tempo o NAVIGO percorreu uma faixa de 50 metros por teste, em condições de céu aberto e claro. Os métodos da “mediana” e “primeiro e último” apresentam resultados muito semelhantes em campo assim como no teste de bancada, porem em algumas situações o método do “primeiro e último”, apresentou um resultado mais plausível de correção de rota. CONCLUSÕES A utilização da plataforma Android e de ferramentas para desenvolvimento de sistemas permite com que o estudo de métodos relacionados a processamento de imagens tenha uma menor complexidade de entendimento. A capacidade de processamento atualmente dos smartphones, nos permitem executar aplicações complexas e efetivas em tempo real. Tendo bem representado, pelo método aqui estudado, qual é o melhor caminho que o robô deveria seguir e aplicando-se a lógica obtiveram-se resultados relevantes possibilitando ao usuário do programa seguir em frente pelo caminho especificado sem a necessidade de correções constantes no seu trajeto. Sugere-se ainda, estudos futuros das técnicas aqui abordadas, pois a partir dos resultados apresentados, pode-se realizar um aprimoramento do uso da lógica e o processamento de imagens, incorporando a detecção de obstáculos na pista. Por fim é possível aplicar o método, com as devidas alterações de escala para direção e com circuitos de potência adicionais, em tratores ou em quadrículos, aproximando o sistema para produção. REFERÊNCIAS ANDROID. The world`s most popular mobile platform. Android Developer, 2010. Disponivel em: <http://developer.android.com/about/index.html>. Acesso em: 22 Novembro 2014. ASTRAND, B.; BAERVELDT, A. J. A vision based row-following system for agricultural field machinery. Mechatronics, 2005. 125-136. DIAS, A. H.; SILVA, D. M. NAVIGO Robô autônomo para navegação agrícola. Dissertação de mestrado do Programa de Pós-Graduação em Computação Aplicada, UEPG, Ponta Grossa, 2013. JAYAS, D. S.; PALIWAL, J.; VISEN, N. S. Multi-layer neural networks for image analysis of agricultural products. Journal of Agricultural Engineering Research, Londres, 22, 2000. 119-128. MEHMOOD, A. K. et al. Activity Recognition on Smartphones via Sensor-Fusion and KDABased SVMs. International Journal of Distributed Sensor Networks, 2014, 2014. MERCADANTE, E. Dinâmica espectral da cultura da soja ao longo do ciclo vegetativo e sua relação com a produtividade na região centro oste do Paraná. Tese de Doutorado, Campinas, 2007. USTEV, Y. E.; DURMAZ, O. I.; C., E. User, device and orientation independent human activity recognition on mobile phones: challenges and a proposal. Proceedings of the ACM Conference on Pervasive and Ubiquitous Computing Adjunct Publication, New York, 2013. 1427–1436. XUE, J.; ZHANG, L.; GRIFT, T. E. Variable field-of-view machine vision based row guidance of an agricultural robot. Computers and Electronics in Agriculture, v. 84, p. 85 91, 2012.