Utilizao de um Sistema de Viso Computacional para o Controle de um Rob Mvel
Pedro Luiz de Paula Filho 1 , Cleverson Junior Soares 2 , ngelo Marcelo Tusset 3
1 Universidade Federal do Paran - UFPR, Curitiba, Brasil, plpf2004@gmail.com
2 Universidade do Contestado - UnC, Canoinhas, Brasil, cleverson.js@uol.com.br 3 Universidade Tecnolgica Federal do Paran - UTFPR, Ponta Grossa, Brasil, a.m.tusset@gmail.com
Resumo: Mesmo com o avano nas reas de automao e programao, fazer com que os robs autnomos executem uma ou mais tarefas de maneira conjunta ainda um dos grandes desafios da robtica. Neste trabalho abordada a interao com um rob autnomo, envolvendo Processamento de Imagens, Linguagens de Programao, Projeto Assistido por Computador, Otimizao, Eletrnica, etc. Os resultados demonstram a utilizao da viso computacional no controle de um rob mvel, onde imagens so capturadas de uma cmera e processadas, possibilitando a identificao de obstculos e o ponto a ser alcanado e utilizando-se a comunicao atravs de rdio frequncia guiando o rob at seu destino.
Palavras Chave: Reconhecimento de Padro, Rob Mvel, Viso Computacional. 1. INTRODUO Com o grande crescimento tecnolgico, os robs tornaram-se elementos fundamentais na manufatura automatizada. Em funo do rpido avano da automao nas diversas reas das atividades humanas, a utilizao de robs tem se tornando cada vez mais comum, principalmente em reas que exigem elevado grau de preciso, confiabilidade e velocidade. Assim o estudo em desenvolvimento nos sistemas de controle dos robs tem crescido vertiginosamente nos ltimos anos, devido a quanto mais complexa a tarefa executada pelo rob, mais complexos so os algoritmos de controle. Atravs do crescimento dos recursos computacionais que surgiram nas ltimas dcadas foi possvel desenvolver robs capazes de executar tarefas com grau de complexidade superior que os robs anteriores, que eram restritos apenas a sistemas mecnicos [1]. Neste contexto, o desenvolvimento de robs mveis de extrema importncia tanto para pequenas como grandes tarefas, como por exemplo, na explorao espacial, martima ou mesmo ambientes desconhecidos que oferecem riscos a vida de seres humanos [2] [3]. Existem duas vertentes para definir robs mveis, uma considera o rob completo, auto-contido, autnomo, que necessita de instrues apenas ocasionalmente, enquanto que a segunda define rob como sendo qualquer equipamento que se mova por seus prprios meios, com o objetivo de executar tarefas prximas as humanas [4]. De acordo com [5] as duas definies levam a aceitar que um rob mvel capaz de manobrar livremente em seu ambiente, alcanando metas enquanto desvia de outros obstculos. Conforme [6] o primeiro rob mvel construdo e reconhecido na bibliografia o Shakey, desenvolvido pelo Stanford Research Institute, em 1968, e possua uma variedade enorme de sensores, incluindo uma cmara de vdeo e sensores de toque, binrios, e navegava entre as salas do laboratrio, enviando sinais de rdio a um computador DEC PDP-10, que permitia efetuar algumas tarefas como, por exemplo, empurrar caixas e evitar obstculos. O interesse no desenvolvimento de pesquisas voltadas para a rea de automao de processos atravs de sistemas robticos tem o objetivo de melhorar a qualidade de produtos com reduo de tempo [3]. Porm, para que isso ocorra necessrio que estes sistemas tenham a capacidade de tomar decises atravs de informaes extradas do ambiente, garantindo uma autonomia. Para tanto a viso computacional passa a ser uma grande aliada a tais sistemas. Segundo [7] a viso computacional um assunto complexo, pois comparando um sistema tcnico, com um sistema biolgico, pode-se dividi-la em vrios mdulos como visualizao, formao da imagem, controle da irradiao, entre outros. Assim seu objetivo principal prover ao computador as capacidades de percepo do sistema visual humano em relao ao ambiente [8]. A viso computacional tem evoludo rapidamente, produzindo ferramentas que permitem o entendimento das informaes visuais, especialmente em cenas com estruturas bem definidas [8]. Ela pode ser dividida em dois nveis de abstrao, processamento digital de imagens (PDI) e anlise de imagens. O PDI busca tcnicas para capturar, representar e transformar imagens, permitindo extrair e identificar informaes e melhorar a qualidade visual de certos aspectos, melhorando a extrao de caractersticas que sero usadas posteriormente. A anlise de imagens envolve tcnicas como segmentao da imagem em regies de interesse (ROI), descries dos objetos, reconhecimento e classificao, usando imagens como entrada e produzindo outro tipo de sada [9][10][11]. Neste trabalho os dois nveis de abstrao sero empregados, onde o primeiro (PDI) ser til para captura e segmentao da imagem e a analise das imagens permitir o reconhecimento dos objetos (rob, obstculos e destino). 2. PROCESSAMENTO DIGITAL DE IMAGENS (PDI) Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications Serra Negra, SP - ISSN 2178-3667 817 Utilizao de um Sistema de Viso Computacional para o Controle de um Rob Mvel Pedro Luiz de Paula Filho, Cleverson Junior Soares, ngelo Marcelo Tusset 2
Segundo [9] PDI representa um conjunto de tcnicas voltadas para a anlise de dados adquiridos por diversos tipos de sensores. Ou ainda, a manipulao de uma imagem por computador de modo onde a entrada e a sada do processo so imagens. Atravs dele, pode-se analisar e modificar imagens com o objetivo de extrair informaes, reconhecer, comparar e classificar elementos que a compem. Transformar uma imagem buscando aumentar seu contraste, realar bordas e corrigir imperfeies, como rudo, por exemplo, so aplicaes que tem como objetivo fornecer subsdios para interpretaes em viso computacional. Uma imagem pode ser representada por uma funo bidimensional ) , ( y x F z definida em uma determinada regio de um plano. Ela representada atravs de um conjunto de valores, onde cada valor um nmero que descreve os atributos de um pixel na imagem. Um sistema de PDI pode ser dividido em seis etapas: aquisio, pr-processamento, segmentao, representao e descrio, reconhecimento e interpretao e resultado [9]. O pr-processamento refere-se ao processamento inicial dos dados brutos, correo de distores geomtricas e remoo de rudo. Sua principal funo melhorar a imagem para que possa ser usada com sucesso nos processos seguintes. O pr-processamento envolve tcnicas para o realce de contrastes, remoo de rudo e isolamento de regies [9][10][11]. A segmentao a responsvel por dividir uma imagem de entrada em partes. No caso deste projeto a separao do rob, meta e obstculos do fundo da imagem. A representao e descrio apenas parte da soluo para transformar os dados iniciais numa forma adequada para o prximo passo do processamento computacional. O processo de descrio procura extrair caractersticas que resultem em alguma informao de interesse para o melhor processamento da imagem. O processo de reconhecimento o responsvel por atribuir um nome a um objeto, baseado na informao fornecida pelo seu descritor. A identificao envolve a atribuio de significado a um conjunto de objetos reconhecidos [9][10][11]. Segundo [11], no momento da aquisio, uma cena real tridimensional convertida por um dispositivo de aquisio em uma representao 2D levando-se em conta uma funo f(x,y) que descreve a energia luminosa em uma coordenada espacial (x,y). O dispositivo de aquisio mais usado atualmente a cmera CCD (Charge Couple Device) e atravs de um conjunto de prismas e filtros, decompe a imagem em componentes de R (red), G (green) e B (blue). A juno desses componentes gera o sistema de cor RGB que um dos espaos mais comuns, de formao aditiva, utilizado em cmeras e monitores de vdeo, e baseado na teoria de viso colorida tricromtica de Young- Helmholtz [12]. Porm este no o nico dos canais de cores, e outro canal bastante usado em viso computacional o HSI (Hue, Saturation and Intensity) [13], sendo normalmente vinculado a pintores por utilizar trs componentes presentes em diversas tcnicas de pintura: Matiz, Saturao e Iluminao [12]. Apesar de no ser perceptualmente uniforme seu uso interessante por conter informaes que so perceptveis e discriminantes para um observador [14]. O desenho do modelo de cor HSI reflete a forma em que os humanos vem a cor, e isso passa a oferecer vantagens para seu uso em processamento digital de imagens [15]. O Matiz representa qual cor do modelo a predominante, j a saturao representa a pureza da cor, o quanto existe de adio de branco a matiz e o valor representa a quantidade de brilho presente na cor [12].
3. METODOLOGIA
Para realizao prtica foi desenvolvido um prottipo de rob mvel (Fig. 1a), a partir de imagens capturadas por uma cmera e processadas por um software utilizando tcnicas de processamento de imagens, onde os comandos so transmitidos do computador para o rob mvel atravs de rdio frequncia. O software foi desenvolvido em linguagem de programao C++, atravs do ambiente CBuilder e uma biblioteca denominada OpenCV. A alimentao do rob foi realizada atravs de duas baterias 6V de 4,5 A, ligadas em srie. Para a movimentao foi utilizado um circuito Ponte H para controlar os motores do rob, sendo utilizado na construo da ponte H 4 rels 12V de 15A, 4 transistores BD 137, 4 capacitores de 10K, e 4 diodos IN4007 (Fig 1b), que acionam os dois motores DC com reduo de tenso nominal de 12V, com rotao de 44 rpm, consumo de corrente de 0,41.
(a) Rob construdo.
(b) Ponte H. Fig. 1. Prottipo utilizado nas simulaes: (a) Rob construdo; (b) Ponte H
O sistema de comunicao sem fio por rdio freqncia tem transmisso de quatro canais com freqncia de operao de 27 MHz. O receptor funciona com alimentao de tenso de 6V, j o transmissor funciona com tenso de 9V. Para o circuito de interface do receptor RF com o circuito Ponte H foram utilizados 4 rels de 5V 2A. Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications Serra Negra, SP - ISSN 2178-3667 818
3 Na interface da porta paralela com o controle remoto sem fio, foi utilizado um CI 2803 com capacidade de aumentar a tenso de sada da porta paralela e assim acionar um rel 12V, sem a necessidade de aumentar a corrente e por conseqncia queimar a porta paralela do microcomputador. Sendo utilizado 4 rels 12V 7A, um para cada canal de transmisso do transmissor RF. Para a captura da imagem usou-se uma webcam normal, posicionada sobre o ambiente onde o rob deveria circular, provendo uma viso panormica do cenrio (Fig. 2). A partir destas imagens capturadas pela cmera, o sistema de viso computacional mapeia o ambiente no qual o rob deve se mover desviando dos obstculos at atingir o destino final. Este mapeamento prov identificao do rob e seu posicionamento, a localizao dos obstculos e a identificao do local de destino (Fig. 3). Assim, a partir do mapeamento feito pelo sistema de viso, o trajeto calculado por um algoritmo de busca usando diferentes funes a serem realizadas pelo rob.
Fig. 2. Metodologia de captura imagens.
Fig. 3. Cenrio do projeto.
Aps a captura das imagens, estas so segmentadas, avaliam-se as alternativas de rotas e se comunica com o rob atravs de um controle remoto que est interligado a uma porta paralela do computador usando-se rdio freqncia (Fig. 4). Quando a imagem foi capturada em um ambiente com excesso de claridade o processamento da imagem ficou comprometido, surgindo muitos rudos nos objetos a ser analisados. Nos testes realizados, o sistema demonstrou bons resultados comportando-se de forma satisfatria a partir do canal HSV, principalmente com o canal da saturao que alcanou melhor resultado no reconhecimento dos objetos da imagem e nas correes das imagens e correes de rudo, mesmo utilizando uma cmera comum de baixa resoluo. Em funo disso, a imagem capturada recebida no formato RGB convertida para o canal HSV, e desta nova imagem foi utilizado somente o canal S (saturao) (Fig. 5 a,b,c,d,e). A etapa seguinte foi binarizar a imagem para facilitar a identificao dos elementos relevantes da cena (rob, obstculos e alvo). Na binarizao a resultante composta por apenas duas cores, sendo a cor de interesse representada pela cor preta, e as demais cores representadas pela cor branca. Na Fig. 5f mostra-se a imagem resultante obtida atravs do processo de binarizao, na qual observa-se que apenas os pixels que representam o objeto de interesse (cor de interesse), aparecem como preto na imagem segmentada, e todos os demais pixels presentes na imagem so convertidos para o branco.
Fig.4. Comunicao entre o computador e o rob.
(a)
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications Serra Negra, SP - ISSN 2178-3667 819 Utilizao de um Sistema de Viso Computacional para o Controle de um Rob Mvel Pedro Luiz de Paula Filho, Cleverson Junior Soares, ngelo Marcelo Tusset 4
(b)
(c)
(d)
(e)
(f) Fig. 5. Transformaes desde a imagem original at a binarizao: (a) Imagem Original (RGB); (b) Imagem no canal HSV; (c) Canal H (Matiz); (d) Canal S (Saturao); (e) Canal V (Intensidade); (f) Imagem Binarizada;
Essa seqncia atende bem para o trabalho com imagens estticas (fotos), porm quando da captura de imagens em movimento adquiridas por vdeo tem-se rudos inerentes iluminao ou pequenas imperfeies. Para sanar isso, foram usadas tcnicas de morfologia matemtica, que enfocam a estrutura geomtrica de uma imagem, fazendo transformaes atravs de diferentes padres de formatos conhecidos como elementos estruturantes (EE). Estes so formas geomtricas simples e menores que a imagem original, que so movidos sobre a imagem bidimensional e conforme seu ajuste tem-se o resultado final [13][5]. Dentre as tcnicas de morfologia matemtica destacam-se a eroso e a dilatao. A eroso, denotada por B A (onde A a imagem a ser erodida e B o elemento estruturante), tem como objetivo eliminar dados em uma imagem que no so semelhantes a um tipo padro, ou seja, elimina picos positivos mais finos e expande os picos negativos, reduzindo os objetos da imagem. Em uma imagem binria os pontos pretos iro crescer sobre os pontos brancos de sua vizinhana, realando contornos. J a dilatao, denotada por B A , elimina picos negativos mais finos e expande os picos positivos, ou seja, em uma imagem de fundo branco, a tcnica ir eliminar os rudos [9][10]. Segundo [10], o fechamento, denotado por B A , tende a eliminar pequenos buracos e preencher fendas em regies Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications Serra Negra, SP - ISSN 2178-3667 820
5 de contorno. Sua formao matemtica definida como B B A B A ) ( . Na Figura 6 tem-se uma amostra da imagem binria com rudos (Fig. 6a), o resultado aps a aplicao do operador de fechamento (Fig. 6b) e a subtrao das duas imagens que enfatiza os rudos retirados da imagem (Fig. 6c).
Com isso conclui-se a etapa de pr-processamento, e passa-se a buscar o reconhecimento dos elementos dentro da imagem, ou seja, o rob, os obstculos e o alvo. Para tanto uma forma de identificar objetos em uma imagem binria a rotulao, onde a cada regio ou componente conexo atribudo um valor nico na imagem [11]. A rotulao foi feita, percorrendo-se a imagem binria pixel a pxel, quando se encontra um elemento preto, a este rodado um algoritmo de preenchimento (flood fill), que ir marcar todos os pixels conexos com uma cor randmica. A partir do agrupamento dos objetos encontrados na imagem, busca-se identificar a qual classe estes elementos pertencem (Fig. 7). Sendo que se considera que o rob o maior objeto encontrado (aproximadamente 1500 pixels) e os obstculos tem uma rea mnima de 400 pixels, reas menores que 100 pixels so descartadas como rudo (Fig. 7b). Um vetor para armazenamento dos objetos foi criado para armazenar a rea total, a cor e o retngulo englobante, ou seja, as coordenadas (x, y) mnimas que correspondem ao canto superior esquerdo do objeto e as coordenadas mximas (canto inferior direito).
(a)
(b) Fig. 7. Objetos encontrados na imagem aps pr-processadas: (a) Imagem Original Binarizada; (b) Imagem rotulada
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications Serra Negra, SP - ISSN 2178-3667 821 Utilizao de um Sistema de Viso Computacional para o Controle de um Rob Mvel Pedro Luiz de Paula Filho, Cleverson Junior Soares, ngelo Marcelo Tusset 6
Com os objetos identificados e registrados, pode-se comandar o rob. Assim, a comunicao se d atravs da porta paralela e RF, onde os comandos so enviados atravs dos pinos de 2 a 5 da porta paralela e atravs de rels feito o chaveamento dos sinais para adaptar-se ao padro do controle remoto (no detalhe, onde os fios do circuito de interface so adaptados) (Fig. 8a e 8b). Este envia sinais ao rob, que so adquiridos pelo receptor de RF e ento os reles da ponte H so acionados, movimentando o rob nos sentidos: frente, trs, direita e esquerda.
(a)
(b) Fig. 8. Comunicao entre porta paralela e o rob: (a) Circuito de interface da Porta Paralela; (b) Comunicao com o rob
O software, antes de qualquer coisa, atravs da identificao das coordenadas de borda dos objetos (rob e obstculos) identifica onde h obstculo, e faz o planejamento de movimento para evitar colises, caso a proximidade seja inferior a um limiar em pixel informado pelo usurio. Caso no tenha obstculos ao redor, o algoritmo identifica o alvo, faz uma correo de rota para atingir a meta e faz um movimento a frente para se aproximar do alvo, repetindo o processo continuamente. Caso algum objeto esteja no caminho, o rob tenta uma manobra de esquiva, executando, se possvel, uma r, rotacionando-se 90 graus direita, movimentando-se frente e rotacionando novamente esquerda. Todos os passos podem ser seguidos atravs do fluxograma apresentado na Fig. 9.
Fig. 9 Fluxograma de execuo
A Fig. 10 mostra a tela de execuo do software, quando da insero de quatro obstculos obstruindo a passagem do rob (Fig. 7), onde a cada meio segundo, uma leitura foi realizada na inteno de fazer com que o rob de movimentasse. Nesse caso, no entanto, o mesmo ficou parado. 4. CONCLUSO Apesar da complexidade da unio de vrias reas distintas, dentre elas, eletrnica, computao e mecnica, o objetivo foi atingido, a construo de um prottipo que permita o funcionamento de um rob, atravs da porta paralela e RF, comandados por um computador que analisa uma cena dada por uma cmera simples.
Fig. 10 Software em execuo
O software se mostrou eficiente na execuo de tarefas bsicas de movimentao e desvio de obstculos, mesmo com pequenas mudanas de luminosidade. Como o objetivo no era determinar o melhor caminho, em algumas situaes, o rob acabou andando em crculos. Nesse sentido algumas tcnicas de inteligncia artificial poderiam ser usadas para melhor o encontro do melhor caminho. Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications Serra Negra, SP - ISSN 2178-3667 822
7
REFERNCIAS [1] PEDROSA, D. P. F., MEDEIROS, A. A D., ALSINA, P. J. (2002). Gerao de Caminhos Ponto-a-Ponto para Robs Mveis com Rodas. Anais do XIV Congresso Brasileiro de Automtica. [2] AMBROSE, R., ASKEW, R. S. (1995). An Experimental Investigation of Actuators for Space Robots. IEEE Internarional Conference on Robotics and Automation, pp. 2625 2630. [3] PASSOS, F. (2002). Automao de Sistemas & Robtica. Axcel Books do Brasil Editora Ltda. [4] MCCOMB, Gordon. The robot builders bonanza: 99 inexpensive robotics projects. New York: TAB Books, 1987. 326p. [5] SPENCE, Rob, HUTCHINSON, Seth. An integrated architecture for robot motion planning and control in the presence of obstacles with unknown trajectories. IEEE trans. on systems, man, and cybernetics, v.25, n.1, p.100-110, jan., 1995. [6] GROOVER, Mikell P., WEISS, Mitchell, NAGEL, Roger N. et al. Robtica: tecnologia e programao. So Paulo: McGraw-Hill, 1988. 401p. [7] JAHNE, B.; HAUBECKER, H. Computer Vision and Applications. Academic Press, 2000. [8] SEBE, N.; COHEN, I.; GARG, A.; HUANG, T. S. Machine Learning in Computer Vision. Springer, 2005. [9] GONZALEZ, R. C. WOODS, R. E. Processamento de Imagens Digitais. Edgard Blucher, 2000. [10 PEDRINI, H., SCHWARTZ, W. R. Anlise de Imagens Digitais Princpios, Algoritmos e Aplicaes. Ed. Thomson. So Paulo, 2008. [11] CONCI, A., AZEVEDO, E., LETA, F. R. Computao Grfica: Teoria e Prtica Volume 2. Ed. Elsevier. Rio de Janeiro, 2008. [12] RUSS, John. C. - The Image Processing Handbook The Fifth edition. CRC Ed. Boca Raton, FL, 2007 [13] VUYLSTEKER, Pascal. HSV, HLS and HIS. Material de aula da disciplina de Computao Grfica da Faculty of Engineering and Information Technology, na The Australian National University. Disponvel em: <http;//escience.anu.edu.au/lecture/cg/color/>. Acesso em: 07 de set de 2009. [14] BENDER, Tlio Cleber. Classificao e recuperao de imagens por cor utilizando tcnicas de inteligncia artificial. Dissertao em Computao Aplicada: Universidade do Vale dos Sinos. So Leopoldo / RS, 2003. [15] AL-OTUM, Hazem. SHAHAB, Walid. Smadi, MAMOON. Colour Image Compression Using A Modified Angular Vector Quantization Algorithm. Journal of Electrical Engineering, vol. 57, no. 4. Slovak University of Technology. Bratislava, 2006.
Proceedings of the 9th Brazilian Conference on Dynamics Control and their Applications Serra Negra, SP - ISSN 2178-3667 823