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.