Вы находитесь на странице: 1из 10

DESENVOLVIMENTO DE UM SISTEMA DE VISO PARA ROB HUMANOIDE

Renato Jacobiski Fusco 1 ; Alessandra Dutra Coelho ; Wnderson de Oliveira Assis

Aluno de Iniciao Cientfica da Escola de Engenharia Mau (EEM-CEUN-IMT);


2

Professor(a) da Escola de Engenharia Mau (EEM-CEUN-IMT).

Resumo. Este trabalho tem o objetivo principal de aprimorar os hardwares e softwares de um


rob humanoide autnomo que se movimenta com o auxlio de uma cmera embarcada de forma
semelhante ao sistema de viso humana. O desenvolvimento do traballho ser baseado em um
projeto anterior e consiste no aperfeioamento de um sistema de sensoriamento baseado em uma
cmera embarcada, com movimentao pan-tilt, que permita ao rob movimentao,
reconhecimento do ambiente e decidir qual ser sua ao para alcanar seus objetivos. Para isso,
o sistema de movimentao do rob ser baseado em processamento de imagens e uso de sensores
como acelermetros e giroscpios que devero dar estabilidade e movimentao precisa ao rob.
Apesar de ter um objetivo simples de uma competio de futebol de robs (a Robocup), o conceito
de movimentao de um rob autnomo utilizando cmeras embarcadas de grande importncia
e centro de muitas pesquisas na atualidade. Este sistema permite a proximidade com um sistema
conhecidamente eficiente de sensoriamento, a viso humana.

Introduo

Robs autnomos so definidos como um conjunto de sistemas que realizam uma ou mais
tarefas sem um explcito ou contnuo controle humano e devido ao avano tecnolgico sua presena
est cada vez mais importante na sociedade. Desde pequenos insetos robticos at veculos no
tripulados para explorao de reas perigosas, a automao influencia grande inovaes
tecnolgicas. Medicina, segurana, fbricas e operaes de procura em ambientes distantes ou
inspitos so algumas das reas que tiveram um grande progresso por causa da robtica.
Uma das formas de criar um controle de um rob autnomo construindo um sistema de
viso. Neste tipo de modelo, ele capta informaes do meio externo, faz um processamento com
esses dados e se adapta para uma melhor resposta situao. No projeto anterior foi utilizado uma
placa arduino nano e uma cmera CMUCam4 para fazer a captura e o processamento da imagem,
o que demonstrou algumas limitaes.
No exemplo utilizado neste trabalho ser implementada uma cmera USB em um rob cujo
objetivo localizar uma pequena bola laranja, fazendo com que o rob se movimente at ela e a
chute para marcar pontos.
A viso computacional uma cincia recente que iniciou seus projetos em meados dos anos
70. Neste perodo, destacam-se os projetos Winston, P.H.,The Psychology of Computer Vision e
Minsky,Marvin, A Framework for Representing Knowledge, ambos de 1975. Com o

desenvolvimento de novos trabalhos, os pesquisadores compreenderam a complexidade da rea e


descobriram limitaes, como a falta de informaes e modelos que representassem a forma como
as imagens so interpretadas no crebro humano.
Atualmente existem tecnologias mais aprimoradas que permitem uma excelente captura e
processamento de imagens. A manipulao de sinais multi-dimensionais est se desenvolvendo
diariamente para aprimorar a qualidade de fotos tiradas por satlites, mtodos de explorao
espacial e etc. No caso deste trabalho, a melhoria da obteno e anlise de imagens de extrema
importncia para melhorar o desempenho do rob humanoide.

Objetivos e Metas

O objetivo deste trabalho a melhoria do sistema de viso utilizado por um rob humanoide
que ser usado na Robocup (futebol de robs). O atual sistema deste modelo possui muitas
limitaes, tanto em hardware como em software. A mudana da placa do microprocessador e da
cmera embarcada por uma USB com software OpenCV conseguir trazer resultados otimizados e
mais precisos para o tracking de objetos especficos.
O sistema embarcado utiliza uma lente de captura e um microcontrolador para o
processamento de imagens e para a automao da resposta dada pelo rob. A cmera utilizada ser
simples e barata, aplicvel a um sistema embarcado, e estar embarcada, ou seja, instalada em
um rob mvel (embedded system). No rob humanoide escolhido deve ser introduzido um sistema
eletrnico programvel que permita a interao com o sistema de captura. O sistema de automao
embarcado deve, alm disso, permitir a interao com o meio a partir do processamento das
imagens de forma a controlar o movimento do rob.
A cmera entrar em comunicao com uma placa Beaglebone Black que vai processar a
imagem desta e, observando padres RGB e quantidade de pixels confiveis, obter a posio
do humanoide em relao a um objeto. Como o rob bpede, seu equilbrio ao se movimentar
instvel. Operaes com giroscpio e acelermetro so essenciais para assegurar o estado em que
o humanoide se encontra servindo como sensores de posio.
A aquisio da imagem com a placa Beaglebone Black traz como vantagens uma
programao com linguagem de alto nvel e uma melhor anlise de dados, alm de sua entrada
HDMI permitir a visualizao em tempo real da imagem vista pelo rob. Por ser de uma gerao
mais nova, a placa permite a comunicao com modelos mais avanados de cmeras com qualidade
e resoluo melhores. Pelo fato de seu processamento ser mais rpido e mais completo, as aes
do humanoide tambm sero mais velozes e precisas, pontos chaves para a otimizao de sua
funo.

Material e Mtodos
Materiais utilizados
O rob humanoide utilizado o Robonova-1 (figura 1) produzido pela HiTec. O rob
contm 16 servomotores do tipo HSR-8498 e uma placa de controle MRC-3024 (figura 2). A placa

MRC-3024 contm um microcontrolador do tipo ATMEL ATMEGA 128 e programada por uma
interface em linguagem especfica do Robonova-1, o RoboBasic, a qual uma linguagem simples.
Por essa linguagem ser bsica e apresentar diversas limitaes, foi preciso utilizar outros recursos
para melhorar o controle do rob.

Figura 1 -Robonova-1.

Figura 2- MRC-3024.
O sistema de viso adotado no projeto composto por uma cmera embarcada (Webcam),
a qual pode ser vista na figura 3 e utiliza a biblioteca openCV. Foi implantado um sistema de
movimentao com 2 graus de liberdade (sistema pan-tilt), como pode ser visto na figura 4. Este
sistema utilizado para movimentao nos trs eixos de um espao, o que permite a liberdade de
movimentao necessria para a ao desejada. A cmera Webcam Microsoft LifeCam VX-800
utilizada entrar em comunicao com uma placa de processamento para esta processar a imagem
capturada e, observando padres RGB e quantidade de pixels confiveis, obter uma posio do
humanoide em relao bola laranja. As caractersticas desta cmera podem ser vistas na tabela 1.

Tabela 1 - Informaes tcnicas da Webcam - Microsoft LifeCam VX-800.

Microsoft
Windows
8.1, Windows 8, Windows RT 8.1, Windows
RT
8,
and
Windows
7
Sistemas Operacionais:

Microsoft
OS
X
v10.7-10.9
Android 3.2 and 4.2
Caractersticas de imagem:

Sensor CMOS VGA sensor technology

Resoluo:

Vdeo movimentado: 0.31 megapixel


(640 x 480 pixels)
Imagem parada: 0.31 megapixel
(640 x 480 pixels) sem interpolao

Campo de viso:

59 diagonal

Figura 3- Webcam - Microsoft LifeCam VX-800.

Figura 4- Sistema Pan-Tilt com servomotores.


O sistema de controle foi definido a partir da necessidade de obter maior nvel de
inteligncia do rob, podendo haver uma melhor programao e controle das atividades

necessrias. O rob apresenta uma placa MRC-3024 que possui um microcontrolador ATMEL
ATMEGA 128 programada com uma linguagem especfica para o Robonova-1 chamada
ROBOBASIC. Essa linguagem tem grandes limitaes, como a no existncia de variveis tipo
indexada e a chamada de estruturas condicionais serem limitadas. Por essas limitaes, foram
realizadas pesquisas para a substituio da placa de controle por uma que tivesse uma programao
mais avanada. O desenvolvimento de uma nova placa de controle foi tema de pesquisas anteriores,
mas houve problemas na utilizao, o que levou a busca de novos mtodos de controle.

No projeto anterior, foi utilizada a placa Arduino no sistema de controle j existente, o que
trouxe grandes benefcios em programao e com baixo custo. Porm, este mtodo apresentou
diversas limitaes tcnicas e fsicas. A cmera previamente utilizada no era a melhor opo em
relao qualidade da imagem e sua utilizao deixava o controle menos prtico. A escolha por
uma nova placa de processamento otimizou o padro de processamento e aprimorou o sistema
embarcado. A placa retirou da MRC-3024 a necessidade de deciso de movimentos, que era bem
limitada, devendo manter apenas as rotinas de movimentao do Robonova-1. As rotinas de
movimentao da placa MRC-3024 apresentam importantes caractersticas, as quais no seriam
possveis serem reproduzidas no Beaglebone Black (figura 5) como o Grupo de Movimentos, que
tem a funo de garantir que todos os servomotores terminem um movimento ao mesmo tempo.
Tambm o controle de posies dos servomotores, o que garante a correta posio do rob a certo
comando. Outro ponto importante para se manter a placa MRC-3024 em conjunto com o
Beaglebone Black a grande quantidade de servomotores necessrios para a movimentao do
rob. A placa implementada no suporta 16 servomotores e no tem a capacidade de suprir
internamente a quantidade de corrente necessria para movimentar esses servos.
As caratersticas do modelo da placa podem ser vistas na Tabela 2.
Tabela 2- Informaes tcnicas do Beaglebone Black.
Processador

1GHz TI Sitara AM3358BZCZ100 ARM Cortex A8, 2000 MIPS

Memria Flash

4GB eMMC 8-bit

RAM

512 MB DDR3L @ 800 MHz

Armazenamento

2 GB on-board eMMC, MicroSD

Conectores de vdeo 1 Micro-HDMI


Resolues
udio
Sistemas
operacionais

12801024 (5:4), 1024768 (4:3), 1280720 (16:9), 1440900 (16:10)


all at 16 bit
Stereo pelo HDMI
Angstrom (Default), Ubuntu, Android, ArchLinux, Gentoo, Minix, RISC
OS, outros

Consumo de Energia 210-460 mA @ 5V sobre condies variveis


Dimenses

3.4 2.1

Capacidade GPIO

65 Pinos

Perifricos

1 USB Host, 1 Mini-USB Client, 1 10/100 Mbps Ethernet

Figura 5- Beaglebone Black.


Pelo fato do Beaglebone Black ser considerado um computador porttil, a programao
feita na prpria placa. Utilizando um HUB USB, conecta-se um teclado e um mouse em sua entrada
USB e a interface pode ser vista ao acoplar um monitor em sua entrada HDMI. O Beaglebone
possui tambm algumas bibliotecas disponveis para diferentes casos, o que torna mais rpida a
criao de cdigos mais complexos. A linguagem de programao utilizada foi o Python, modelo
utilizado pelo sistema operacional vigente na placa: Linux (Angstrom) e foram utilizados alguns
programas em C para a integrao com o software OpenCV.
Os sensores adicionais usados no rob so os acelermetros e giroscpios. Os acelermetros
medem as aceleraes em um eixo especfico, o que permite obter informaes sobre impactos,
foras ou at sobre a queda livre de um objeto. Atravs dele podem-se analisar as foras que esto
agindo sobre o rob e obter um melhor equilbrio quando houver um movimento no desejado. H
diversos tipos de acelermetros existentes, mas os mais utilizados so os acelermetros de material
piezoeltrico e os de capacitncia. Os acelermetros de material piezoeltrico so formados por
uma massa presente no interior de uma caixa e um material piezoeltrico. A caracterstica de um
material piezoeltrico a de que quando ele comprimido, surge uma voltagem eltrica e atravs
dessa voltagem pode-se analisar quanto a massa comprime esse material atravs do seu movimento.
A massa se movimenta no interior da caixa e quando h uma acelerao, a massa tende a manter
seu estado inicial o que, relativamente, seria o mesmo a dizer que a massa acelera em direo oposta
ao da caixa. Essa inrcia gera uma fora, j que F=m.a, onde m a massa e a a acelerao.
J nos acelermetros de capacitncia existe outra propriedade envolvida que a distncia entre
duas placas inversamente polarizadas. Quanto mais prxima uma placa estiver da outra, menor ser
a diferena de potencial eltrico entre os terminais negativos e positivos do capacitor. Quando se
utiliza um acelermetro de capacitncia uma das placas presa a uma mola e a uma massa e quando
h acelerao a mola esticada, o que diminui a distncia em relao outra placa e gera uma
variao na capacitncia produzida por elas. Essa diferena analisada e pode-se observar a
acelerao realizada.
Os giroscpios so muito importantes, principalmente em sistemas de navegao de
aeronaves, navios, piloto automtico, voos espaciais e etc. Ele se baseia em dois conceitos
importantes da fsica que so a inrcia e a precesso, a qual consiste na mudana do eixo de rotao
de um objeto. O giroscpio constitudo basicamente de um rotor suspenso com um eixo em

rotao. Essa roda mantm uma posio fixa mesmo aps ser forada em uma determinada direo
no paralela. Atravs desse sistema pode se observar a direo do objeto em relao ao rotor, o que
permite a correta orientao do corpo. Para se obter as orientaes em um espao tridimensional
necessrio que haja 3 giroscpios em posies perpendiculares. J nos equipamentos eletrnicos,
o giroscpio usado da categoria MEMS (Microelectromechanical systems) ou at mesmo NEMS
(Nanoelectromechanical systems), que so dispositivos extremamente pequenos (nanotecnologia)
e que so muito utilizados em equipamentos de eletrnica embarcada, como automveis e avies.
Os giroscpios do tipo MEMS utilizam o conceito de Pndulo de Foucault (experincia baseada na
movimentao de um pndulo sendo modificada pela rotao da terra) e usam elementos
vibratrios.
Em conjunto, o giroscpio e o acelermetro constituem a base do IMU (Inercial
Measurement Unit), o qual um equipamento eletrnico capaz de medir a acelerao, orientao
e direo do movimento. Podem ser integrados GPS, magnetmetros e at tubos de Pitot, para um
completo controle de movimento no espao. No Robonova-1, o giroscpio e o acelermetro sero
responsveis pelo equilbrio do rob e a correta percepo do seu estado em relao ao desejado.
Outro aspecto importante perceber quando o rob est cado e como ele est cado. Atravs dos
dois sensores poderemos determinar sua posio e agir para levant-lo de forma adequada.
Projeto e testes
O controle ser baseado em etapas de processamento nas quais so necessrias
comunicaes bilaterais. Abaixo est o esquema simplificado do sistema de controle atravs da
figura 6.

Figura 6 Esquema simplificado de controle do rob.


A Beaglebone Black responsvel por todo o processamento das imagens capturadas pela
cmera e envio de dados sobre o posicionamento do objeto desejado. Atravs desses dados este
realiza o ajuste do sistema pan-tilt at que o centro geomtrico da imagem fique exatamente
alinhado com o centro da cmera. Isso possvel atravs de um algoritmo de controle proporcionalderivativo (PD) desenvolvido na placa que faz um movimento estvel ao seguir um objeto. O
mesmo algoritmo utilizado tanto para o movimento de Pan (rotao no eixo y) quanto para o

movimento de Tilt (rotao no eixo x). Quando a cmera no consegue mais observar o objeto,
esta volta posio inicial e comea a procur-lo. Se a bola no foi encontrada, enviado um
cdigo para o rob girar para o lado at achar o objeto.
O sistema de deciso de comando baseia-se em regras de movimentao definidas. Quando
o programa decide uma ao, a placa envia um byte para MRC-3024 que representa a ao
desejada. Esse cdigo representado pelo cdigo ASCII de 0 a 8, como visto a seguir pela tabela
3.
Tabela 3 Cdigos de movimentao.
Ao
Posio inicial
Andar para Frente
Andar para Trs
Virar para Direita
Virar para Esquerda
Passo para Direita
Passo para Esquerda
Levanta (Costas)
Levanta (Frente)

ASCII
0
1
2
3
4
5
6
7
8

Decimal
48
49
50
51
52
53
54
55
56

Binrio
0011 0000
0011 0001
0011 0010
0011 0011
0011 0100
0011 0101
0011 0110
0011 0111
0011 1000

Os cdigos so recebidos pela MRC-3024 e esta controla os servo-motores para fazerem o


movimento definido. O rob executa o movimento uma nica vez e envia de volta um sinal
informando que a ao acabou e que precisa de novas informaes. Isso possibilita um melhor
controle e estabilidade fsica do rob e impede aes no desejadas. Os conjuntos de movimentos
presentes na placa MRC-3024 vm programados de fbrica pela Hitec, o que facilita o trabalho de
movimentao j que deve ser definido o ngulo de cada motor para cada tipo de deslocamento.
Para desenvolver um sistema correto de movimentao para o rob deveria ser feito um modelo
completo de todo seu sistema dinmico, resultando em uma pesquisa mais complexa.

Resultados e Discusso

Os novos equipamentos demonstraram um grande avano nas funcionalidades do


Robonova-1, melhorando suas respostas e a qualidade da imagem. A alterao da cmera
embarcada e o desenvolvimento do novo sistema de controle aprimoraram o controle e as aes,
observando um grande aumento nas possibilidades do seu uso.
Apesar das melhorias, houve problemas devido quantidade de equipamentos adicionados
na estrutura do rob. O peso da Webcam influenciou no centro de gravidade do rob, o que gerou
instabilidade em certos movimentos. Este deve se movimentar de uma maneira mais lenta para no
ocorrer quedas e danific-lo. H tambm a necessidade futura de protees para as placas
eletrnicas da parte de trs do Robonova-1 pois com a adio do Beaglebone Black a proteo
original no pode mais ser utilizada.

A nova cmera embarcada mostrou melhorias para captar imagens da bola a maiores
distncias. Ainda existe o problema de luminosidade do ambiente, mas com a aquisio da nova
placa de controle podem-se utilizar cmeras com melhores resolues, permitindo um
reconhecimento aprimorado de imagens.
O sistema de controle mostrou eficincia na transmisso de dados. Foi observada uma certa
dificuldade para rodar softwares e reproduzir as funes certas, mas apesar disso a placa conseguiu
identificar o objeto e realizou o processamento como esperado.
H a necessidade futura de haver uma integrao dos sensores giroscpios e acelermetros
na estrutura do rob. Ainda no houve a integrao dos sensores no rob e nem o correto
aproveitamento dos resultados para uma melhor movimentao. Os dois sensores possuem papel
fundamental para se ter uma movimentao estvel, mas no foi possvel implementar no atual
projeto.
Os testes com o sistema Pan-Tilt ainda no foram realizados com os novos equipamentos,
mas no projeto anterior (Arduino Nano + CMUCam4) a integrao deste modelo com o sistema
funcionou corretamente, obtendo velocidades altas ao perseguir o objeto em movimento.

Concluses

O projeto apresentou resultados positivos e conseguiu o seu objetivo de aprimorar o sistema


de viso do rob humanoide, desenvolvendo um sistema mais eficiente de controle e com uma
melhor resoluo da imagem.
A nova forma de controle se mostrou muito confivel e com grande potencial de melhorias
pela sua capacidade de programao e de sensoriamento. A mudana de linguagem de programao
e a maior memria disponvel tornam-se importantes ferramentas para o desenvolvimento de um
controle de qualidade.
H diversos pontos importantes a serem melhorados na estrutura do rob, mas houve um
grande avano nas capacidades do Robonova-1. Existem algumas possveis melhorias em relao
a qualidade da imagem, o aprimoramento do controle do rob e at mesmo novos meios de viso
para um melhor controle que podem ser analisadas em futuras pesquisas.
Atravs do desenvolvimento, foi de suma importncia a pesquisa de rastreamento de
objetos. Existem diversos projetos baseados em Object Tracking para Beaglebone Black que
utilizam OpenCV, contendo variadas aplicaes. Quanto melhor o processamento da imagem e
percepo do ambiente, melhor ser a qualidade de informaes disponveis para um
processamento eficiente.
O projeto teve algumas limitaes mas, apesar disso, o objetivo de obter uma melhoria no
sistema de viso com um custo relativamente baixo e com boa eficincia foi realizado. Por isso, o
projeto aprimorou as possibilidades de estudos futuros com sistemas de viso embarcada e o
conhecimento adquirido atravs desta pesquisa pode ser levado a reas importantes na robtica
autnoma com uma certa facilidade de implementao.

Referncias Bibliogrficas

KIKUCHI, D. Y. Sistema de controle servo visual de uma cmera pan-tilt com rastreamento de
uma regio de referncia, Tese (Mestrado) Escola Politcnica, Universidade de So Paulo, So
Paulo, SP, 2007.
GONZALES, R. C., WOODS, R. E. (2000) Processamento de Imagens Digitais. Edgard Blcher
Ltda.
ROWE, A. (2003) ROBONOVA-I 16 Servo Edutainment Robot Box Kit Introduction Manual.
Edited by Charles Rosenberg and Illah Nourbakhsh, Carnegie Mellon University.
Assis, W. O.; Genova, W. J.; Gomes, M. M.; Coelho, A. D. (2007) Aplicao de Tecnologias de
Controle de Processos Contnuos e Processamento de Imagens no Futebol de Robs. Anais do SBAI
2007 Simpsio Brasileiro de Automao Inteligentes, Florianpolis, SC, Brasil.
Jcobo, J. E. A. (2001) Desenvolvimento de um Rob Autnomo Mvel Verstil utilizando
Arquitetura Subsumption. Universidade Estadual de Campinas; Faculdade de Engenharia
Mecnica; Departamento de Mecnica Computacional, Campinas, SP.
BALLET, R. ; COELHO, Alessandra Dutra ; ASSIS, W. O. . Integrando Tecnologias em Sistema
de Controle de Movimentao de Rob Humanide com Cmera Embarcada. 4. Seminrio Mau
de Iniciao Cientfica, So Caetano do Sul, SP, 2012.
http://pedrogarcia12av1.wordpress.com/about/robos-autonomos/
http://gizmodo.uol.com.br/video-robos-autonomos/
http://computervision.wikia.com/wiki/Computer_Vision
http://computacaografica.ic.uff.br/transparenciasvol2cap3.pdf
http://www.eie.polyu.edu.hk/~enyhchan/imagef.pdf
http://www.cs.dartmouth.edu/farid/downloads/tutorials/fip.pdf
ftp://qiftp.tudelft.nl/DIPimage/docs/FIP.pdf
http://www.dpi.inpe.br/
http://sergioprado.org/beaglebone/
http://beagleboard.org/
http://elinux.org/ECE597_Opencv_on_the_BeagleBoard
http://derekmolloy.ie/beaglebone/
http://webpages.shepherd.edu/ccrite03/Project%20Website/index.html
http://www.inape.org.br/colunas/fisica-conceito-historia/pendulo-foucault

Вам также может понравиться