guilherme bruni vincenzi - universidade estadual de … · tabela 9 - valores de massa, momentos de...
TRANSCRIPT
-
GUILHERME BRUNI VINCENZI
MODELO DIDTICO DE SISTEMA MICROCONTROLADO PARA APLICAO EM FUTEBOL DE ROBS
LONDRINA
2012
-
GUILHERME BRUNI VINCENZI
MODELO DIDTICO DE SISTEMA MICROCONTROLADO PARA APLICAO EM FUTEBOL DE ROBS
Trabalho de Concluso de Curso apresentado ao Departamento de Engenharia Eltrica da Universidade Estadual de Londrina. Orientador: Prof. Dr. Ernesto Fernando Ferreyra Ramrez
LONDRINA 2012
-
GUILHERME BRUNI VINCENZI
MODELO DIDTICO DE SISTEMA MICROCONTROLADO PARA APLICAO EM FUTEBOL DE ROBS
Trabalho de Concluso de Curso apresentado ao Departamento de Engenharia Eltrica da Universidade Estadual de Londrina.
COMISSO EXAMINADORA
____________________________________ Prof. Dr. Ernesto Fernando Ferreyra Ramrez
Universidade Estadual de Londrina
____________________________________ Prof. Dr. Mrcio Roberto Covacic
Universidade Estadual de Londrina
____________________________________ Prof. Msc. Osni Vicente
Universidade Estadual de Londrina
Londrina, 13 de novembro de 2012.
-
DEDICATRIAS
A Deus, que iluminou o meu caminho durante
esta caminhada.
minha famlia que, com muito carinho e
apoio, no mediu esforos para que eu chegasse
at esta fase da minha vida.
minha namorada, pelo apoio e incentivo ao
trabalho realizado.
Aos meus amigos, pelos preciosos momentos
compartilhados e pela unio ao longo destes
anos.
A todos que contriburam para que a realizao
deste trabalho fosse possvel.
-
AGRADECIMENTOS
Agradeo aos meus pais, Marco Antonio e Maria Ceclia, e minha irm
Luiza, minha fonte diria de fora e alegria para enfrentar os obstculos, atingir
meus objetivos e sempre buscar o melhor. Obrigado por cada ensinamento, cada
momento, pela dedicao e por sempre acreditarem em mim.
Agradeo ao Prof. Dr. Ernesto Fernando Ferreyra Ramirez no s pela
possibilidade da realizao deste trabalho, mas tambm por todos os momentos
de convivncia e dedicao, alm do seu exemplo acadmico.
Aos professores Prof. Dr. Mrcio Roberto Covacic e Prof. Msc. Osni
Vicente pelo apoio tanto na realizao deste projeto quanto nesta caminhada ao
longo da Graduao.
A todos os professores do Departamento de Engenharia Eltrica da
Universidade Estadual de Londrina pela dedicao em ensinar e contribuir para a
minha formao acadmica ao longo destes anos de curso.
minha namorada Poliana pela compreenso, companheirismo, ateno,
apoio, pacincia e tranqilidade transmitida, me incentivando sempre a alcanar
os meus objetivos. Obrigado por tudo.
Ao meu tio Luiz Eduardo, exemplo de dedicao profissional, alm de
inspirao para traar minhas metas futuras na carreira. Obrigado pelos seus
ensinamentos.
Aos meus avs Waldomiro, Teresa, Oscar (in memorian) e Iracema, e
minha tia Maria Aparecida, obrigado pelo incentivo durante todo este perodo.
A Jos Marrara, David Krepsky e Prof. Dr. Dcio Gazzoni, pelas
contribuies dadas a este trabalho.
A todos os meus amigos, em especial a Rodrigo, Francisco, Jos Carlos,
Daniel, Danilo, Marcus, Mrcio, Willian e Alexandre, tambm pelas contribuies
dadas a este projeto, mas acima de tudo pela convivncia e pelos grandes
momentos proporcionados ao longo desta trajetria.
Por fim, agradeo a Deus por todas as oportunidades e graas alcanadas
ao longo da minha vida.
-
E no vos conformeis a este mundo, mas transformai-vos
pela renovao da vossa mente
Romanos 12:2
-
i
VINCENZI, Guilherme Bruni. Modelo Didtico de Sistema Microcontrolado
para aplicao em Futebol de Robs. 2012. 165 p. Trabalho de Concluso de
Curso (Graduao em Engenharia Eltrica) Universidade Estadual de Londrina,
Londrina, 2012.
RESUMO
H setenta anos, pesquisadores iniciaram estudos visando desenvolver
mtodos em que computadores auxiliem ou substituam seres humanos em
tarefas que exigem rapidez e preciso. Tais estudos deram incio Inteligncia
Artificial, objetivando transformar o raciocnio humano em modelos matemticos
interpretados por mquinas que possam analisar problemas e solucion-los sem a
interferncia humana. Uma das iniciativas est no Futebol de Robs, onde uma
frota de mquinas disputa uma partida de futebol de forma autnoma. O sistema
constitudo por trs mdulos: viso computacional, que identifica os objetos de
interesse e informa ao mdulo da estratgia a localizao de cada um deles;
estratgia, parte inteligente do sistema que define para qual posio o rob deve
ir; e um sistema de controle, que move o rob de acordo com a estratgia para se
chegar a uma posio desejada. O objetivo deste trabalho foi desenvolver um
modelo deste sistema, criando para isso um mdulo de Viso Computacional e
Estratgia em ambiente computacional MATLAB. Desenvolveu-se tambm um
sistema de controle no qual dois motores de corrente contnua so acionados com
um microcontrolador da Texas Instruments, MSP430G2553, recebendo os dados
necessrios para o controle, e um circuito de potncia com um transistor e uma
ponte H alimentado em 9 V. O sistema dispe de um mdulo de calibrao, onde
as cores dos objetos so inicializadas antes do sistema ser acionado.
Comparando os resultados obtidos com o embasamento feito, obteve-se
similaridade e constatou-se que o sistema trabalhou de forma satisfatria, atravs
do correto interfaceamento entre seus mdulos, bastando realizar algumas
melhorias na estrutura a fim de se obter melhor velocidade e preciso.
Palavras-chave: Futebol de Robs, Inteligncia Artificial, Viso Computacional,
Estratgia, Processamento de Imagens, Controle, Microcontrolador.
-
ii
VINCENZI, Guilherme Bruni. Didactic Model of Microcontrolled System for Robot Soccer Application. 2012. 165 p. End of Course Assignment (Electrical Engineering Graduation) Londrinas State University, Londrina, 2012.
ABSTRACT
Seventy years ago, researchers started studies in order to develop methods
where computers help or substitute human beings in tasks that require quickness
and precision. That studies initiated the Artificial Intelligence, aiming process the
human reasoning in mathematic models that are interpreted by machines that can
analyze problems and solve them without human interference. One of the
initiatives is the Robot Soccer, where a comittment of autonomous agents plays a
soccer match. The developed system consists of a computer vision module that
identify objects of interest and informs to the strategy module their location; the
strategy, intelligent part of the system that defines which position the robot should
go to; and a control system that moves the robot according to the strategy to reach
a desired position. The objective of this work was to develop a model for this
system, creating a Computer Vision and Strategy module in computational
environment MATLAB. Also, it was developed an electrical current driver circuit,
with a transistor and a H bridge fed at 9 V, to energize two DC motors, which were
triggered by a Texas Instruments microcontroller, MSP430G2553, receiving
required data for the control. The system has a calibration module, where the
objects colors are initialized before the system starts. Comparing the obtained
results and the done basement, similarity was obtained and the system worked
properly, simply do some improvements in the structure to obtain better speed and
precision.
Keywords: Robot Soccer, Artificial Intelligence, Computer Vision, Strategy, Image
Processing, Control, Microcontroller.
-
iii
LISTA DE ILUSTRAES
Figura 1 - Diagrama de blocos de um sistema GOFAI genrico. Modificado de
(MACKWORTH, 1993). .......................................................................................... 4
Figura 2 - Estrutura fsica de um jogo de Futebol de Robs (BIANCHI; REALI-
COSTA, 2000). ....................................................................................................... 7
Figura 3 - Modelo da arquitetura do sistema de Futebol de Robs (SHEN et al.,
1999). ..................................................................................................................... 8
Figura 4 - Diagrama de blocos do sistema de Viso Computacional para Futebol
de Robs (PENHARBEL et al., 2004). ................................................................. 11
Figura 5 - Diagrama simplificado de uma seo do olho humano (GONZALEZ;
WOODS, 2000). ................................................................................................... 13
Figura 6 - Funo da resposta espectral de cada um dos trs tipos de cones da
viso humana (SIMES, 2012). ........................................................................... 14
Figura 7 - Cubo RGB (RIGHES, 2004). ................................................................ 15
Figura 8 - Histogramas correspondentes a quatro tipos de imagens (GONZALEZ;
WOODS, 2000). ................................................................................................... 25
Figura 9 - Espao de cores utilizado no Futebol de Robs (BIANCHI; REALI-
COSTA, 2000). ..................................................................................................... 26
Figura 10 - Ambiente de calibrao de cores da equipe de Futebol de Robs da
FEI de 2004 (SATOMI et al., 2005). ..................................................................... 27
Figura 11 - Diagrama ilustrativo da utilizao do eixo de coordenadas cartesianas
em uma matriz de dados. (GONZALEZ et al., 2004) ............................................ 35
Figura 12 - Distncia entre dois pontos na matriz (GONZALEZ et al., 2004). ...... 36
Figura 13 - Algoritmo para clculo do centro de massa da bola (BIANCHI; REALI-
COSTA, 2000). ..................................................................................................... 37
Figura 14 - Ilustrao de algoritmo de identificao dos robs (BIANCHI; REALI-
COSTA, 2000). ..................................................................................................... 38
Figura 15 - Ilustrao de um algoritmo para interpretao de imagens
(FERNANDEZ et al., 2010). ................................................................................. 39
Figura 16 - Direes dos robs (SATOMI et al., 2005). ....................................... 43
Figura 17 - Transformao de energia em um motor (DUTRA, 2012). ................ 46
-
iv
Figura 18 - Construo de uma mquina DC (KOSOV, 1982). ............................ 47
Figura 19 - Efeitos da variao do fluxo na fora eletromotriz (KOSOV, 1982).... 50
Figura 20 - Regra de Fleming para o sentido da fem induzida (KOSOV, 1982). .. 51
Figura 21 - Regra da mo esquerda ou do motor (KOSOV, 1982). ..................... 52
Figura 22 - Comparao entre ao motora e ao geradora (KOSOV, 1982). .. 53
Figura 23 - Arquitetura genrica de um microcontrolador (FRANA, 2001). ....... 56
Figura 24 - Diagrama de blocos do MSP430G2553 (TEXAS INSTRUMENTS,
2012). ................................................................................................................... 58
Figura 25 - Pinagem do microcontrolador MSP430G2553 (TEXAS
INSTRUMENTS, 2012). ....................................................................................... 58
Figura 26 - Circuito para acionamento unidirecional do motor DC. ...................... 61
Figura 27 - Representao de uma ponte H. ....................................................... 62
Figura 28 - Circuito esquemtico para uma ponte H. ........................................... 63
Figura 29 - Pinagem do CI L293N (TEXAS INSTRUMENTS, 2012). ................... 65
Figura 30 - Diagrama de blocos do CI L293N (TEXAS INSTRUMENTS, 2012). . 65
Figura 31 - Diagrama de blocos do sistema proposto. ......................................... 67
Figura 32 - Exemplo de variao de pixels vizinhos para representar um mesmo
objeto. .................................................................................................................. 70
Figura 33 - Mscara na qual so calculadas as diferenas de um pixel w(i,j) com
seus vizinhos. ....................................................................................................... 71
Figura 34 - Situao hipottica para anlise de imagens. .................................... 75
Figura 35 - Diagrama ilustrativo da localizao do centride para o programa. ... 77
Figura 36 - Casos de deslocamento possveis para o sistema de estratgia. ...... 77
Figura 37 - Ilustrao do sistema das rodas dianteiras de um carro (FRANCISCO,
2012). ................................................................................................................... 82
Figura 38 - Circuito de potncia implementado para este trabalho. ..................... 87
Figura 39 - Estrutura montada para o rob. ......................................................... 91
Figura 40 - Imagem capturada para teste. ........................................................... 92
Figura 41 - Camadas RGB da imagem e seus respectivos histogramas. ............ 93
Figura 42 - Resultado mostrado pelo MATLAB aps o uso do algoritmo
computer_vision. .................................................................................................. 94
Figura 43 - Etapas do sistema de Viso Computacional. ..................................... 95
Figura 44 - Imagem capturada para o segundo teste. .......................................... 99
-
v
Figura 45 - Camadas RGB da imagem e seus respectivos histogramas. .......... 100
Figura 46 - Plano estratgico retornado pelo MATLAB para este teste. ............ 101
Figura 47 - Resultados das etapas do sistema de Viso Computacional para o
Teste II. .............................................................................................................. 102
Figura 48 - Valores recebidos no MATLAB pelo sistema de eco do
MSP430G2553. .................................................................................................. 106
Figura 49 - Formas de onda detectadas no osciloscpio para as portas P1.0
(acima) e P1.7 (abaixo) do MSP430G2553. ....................................................... 107
Figura 50 - Valores retornados ao MATLAB pelo sistema de eco do
MSP430G2553. .................................................................................................. 108
Figura 51 - Formas de onda no osciloscpio para as portas P1.0 (acima) e P1.6
(abaixo) do MSP430G2553. ............................................................................... 110
Figura 52 - Layout da placa PCI para o circuito de potncia dos motores DC. .. 112
Figura 53 - Visualizao 3D da placa PCI com os componentes. ...................... 113
Figura 54 - Placa com o circuito de potncia implementado para este trabalho. 113
-
vi
LISTA DE TABELAS
Tabela 1 - Comparao entre ao motora e ao geradora (DUTRA, 2012). .... 54
Tabela 2 - Modelos existentes para o deslocamento angular no sistema de
estratgia.............................................................................................................. 79
Tabela 3 Portas do MSP430G2553 a serem acionadas para cada movimento do
rob. ..................................................................................................................... 85
Tabela 4 - Resultados do ensaio feito com o motor DC traseiro. ......................... 89
Tabela 5 - Resultados obtidos no ensaio com o motor DC dianteiro. ................... 90
Tabela 6 - Variveis retornadas pelo algoritmo computer_vision no MATLAB. .... 95
Tabela 7 - Valores de massa, momentos de inrcia e das coordenadas do
centride para os corpos de interesse. ................................................................ 97
Tabela 8 - Variveis retornadas pelo algoritmo computer_vision no MATLAB. .. 101
Tabela 9 - Valores de massa, momentos de inrcia e centrides calculados para
os corpos de interesse. ...................................................................................... 103
Tabela 10 - Valores medidos de tenso e corrente para os movimentos do rob no
circuito de potncia. ........................................................................................... 111
Tabela 11 - Valores medidos de tenso e corrente nos testes com o rob para a
placa PCI. ........................................................................................................... 114
-
vii
SUMRIO
1. Introduo ......................................................................................................... 1
2. Futebol de Robs ............................................................................................. 4
2.1 Histria .......................................................................................................... 4
2.2 Caractersticas, Estrutura e Funcionamento ................................................. 7
3. Viso Computacional ..................................................................................... 11
3.1 Captura ....................................................................................................... 12
3.1.1 A Estrutura do Olho Humano ................................................................ 12
3.1.2 Modelo de Formao da Imagem ......................................................... 16
3.1.3 O Processo de Captura ........................................................................ 18
3.2 Calibrao ................................................................................................... 24
3.2.1 Conceito de Histograma ....................................................................... 24
3.2.2 O Processo de Calibrao de Imagens ................................................ 25
3.3 Filtro ............................................................................................................ 28
3.3.1 Filtragem por vizinhana ....................................................................... 29
3.4 Segmentao .............................................................................................. 30
3.4.1 Conceitos de Reconhecimento de Padres .......................................... 31
3.4.2 Deteco de objetos no Futebol de Robs ........................................... 33
3.5 Anlise ....................................................................................................... 34
3.5.1 Anlise Espacial em Futebol de Robs ................................................ 35
4. Estratgia ........................................................................................................ 40
4.1 Mdulo Interno de Modelos ......................................................................... 41
4.2 Plano Estratgico ........................................................................................ 42
4.3 Exemplos de Sistemas de Estratgia .......................................................... 42
5. Hardware de Controle .................................................................................... 45
5.1 Motor de Corrente Contnua ....................................................................... 46
5.1.1 Estator .................................................................................................. 47
5.1.2 Rotor ..................................................................................................... 48
5.1.3 Funcionamento da mquina DC ........................................................... 49
5.2 O Microcontrolador ...................................................................................... 55
5.2.1 O MSP430G2553.................................................................................. 57
5.2.2 Timer ..................................................................................................... 59
5.2.3 USART .................................................................................................. 59
5.3 Circuitos de Potncia para Motores DC ...................................................... 60
5.3.1 Acionamento Unidirecional do Motor DC .............................................. 60
5.3.2 Acionamento Bidirecional do Motor DC ................................................ 62
-
viii
6.Materiais e Mtodos ........................................................................................ 66
6.1 Sistema Proposto ........................................................................................ 66
6.2 Viso Computacional .................................................................................. 68
6.2.1 Aquisio da Imagem ........................................................................... 68
6.2.2 Calibrao ............................................................................................. 69
6.2.3 Filtro ...................................................................................................... 70
6.2.4 Segmentao ........................................................................................ 72
6.2.5 Anlise .................................................................................................. 74
6.3 Estratgia .................................................................................................... 76
6.3.1 Mdulo de Modelos ............................................................................... 76
6.3.2 Plano Estratgico .................................................................................. 80
6.4 Hardware de controle .................................................................................. 81
6.4.1 O Rob ................................................................................................. 81
6.4.2 Motores DC ........................................................................................... 82
6.4.3 O Microcontrolador ............................................................................... 84
6.4.5 Circuito de Potncia .............................................................................. 86
7.Resultados e Discusso ................................................................................. 89
7.1 Motores DC ................................................................................................. 89
7.2 Viso Computacional e Estratgia .............................................................. 91
7.2.1 Teste I ................................................................................................... 91
7.2.2 Teste II .................................................................................................. 99
7.3 Microcontrolador ....................................................................................... 105
7.3.1 Teste I ................................................................................................. 105
7.3.2 Teste II ................................................................................................ 108
7.4 Circuito de Potncia .................................................................................. 111
8.Concluso ...................................................................................................... 115
8.1 Trabalhos Futuros ..................................................................................... 117
Referncias Bibliogrficas .............................................................................. 118
Anexo A Fluxogramas e Cdigos: MATLAB ............................................... 122
Funo Calibration .......................................................................................... 123
Funo Histogram ........................................................................................... 126
Funo Computer_Vision ................................................................................ 127
Funo Dif_filter .............................................................................................. 139
Anexo B Fluxogramas e Cdigos: MSP430G2553 ...................................... 141
Rotina Main (Principal) .................................................................................... 142
Interrupo ...................................................................................................... 143
-
ix
Motor ............................................................................................................... 144
Cdigo em C++ ............................................................................................... 145
-
1
1. INTRODUO
Desde meados da dcada de 1940, pesquisadores vm unindo esforos
para desenvolver sistemas em que computadores possam auxiliar ou substituir
seres humanos na execuo de tarefas onde a rapidez e preciso so essenciais.
Destes esforos nasceu a Inteligncia Artificial (IA), que consiste em mtodos
visando o objetivo de transformar o raciocnio humano em modelos matemticos,
de modo que computadores possam analisar problemas e solucion-los sem a
interferncia humana (FERNANDEZ et al., 2010). Partindo desse pressuposto,
pesquisadores procuraram despertar o interesse por esta rea no ambiente
universitrio atravs do Futebol de Robs, atividade que possibilita a realizao
de experimentos reais com robs que apresentam comportamento inteligente e
cooperam entre si para a execuo de uma tarefa (BIANCHI; REALI-COSTA,
2000).
Demonstrando os sistemas baseados em inteligncia artificial, os
pesquisadores da Newton Labs criaram o primeiro time de futebol de robs. O
futebol foi o jogo escolhido dada a sua difuso internacional, as inmeras
possibilidades de aes no jogo e a dificuldade de se prever aes do adversrio.
O time era composto de trs pequenos robs em forma de cubo, controlados por
rdiofreqncia e baterias. A bola escolhida foi uma bola de golfe pintada de
laranja. O jogo se realizava em um campo de madeira pintado com fundo verde e
paredes laterais em branco. As quinas eram arredondadas para evitar que a bola
ficasse presa. Tais foram o sucesso e a performance alcanados por esta
empreitada, que este padro foi utilizado para criao da FIRA Federao
Internacional de Futebol de Robs Automatizados, que regulamenta todas as
competies nacionais e internacionais realizadas pela modalidade atualmente
(FERNANDEZ et al., 2010).
O futebol de robs, quando criado, levou para o campo da Inteligncia
Artificial um novo desafio a longo prazo. Porm, o desenvolvimento de um
sistema ao qual se d a denominao de rob para esta aplicao envolve muito
mais que a integrao de tcnicas de IA. Para jogar uma partida razoavelmente
bem, uma gama de tecnologias e disciplinas no campo da Engenharia Eltrica
devem estar integradas, a saber: Teoria de Controle e Automao, Dispositivos e
-
2
Circuitos Eletrnicos, Inteligncia Artificial, Hardware Especializado para Controle
de Sensores e Atuadores, Programao, Sistemas Multi-Agentes e
Instrumentao Eletrnica (KRAETZSCHMAR et al., 1999). Assim, a
interdisciplinaridade que envolve a construo deste sistema que faz de sua
realizao um marco para a revitalizao da Inteligncia Artificial visando
trabalhos futuros que tenham maior impacto social (KITANO et al., 1997).
O presente trabalho tem por finalidade desenvolver um sistema
microcontrolado, tanto na criao de hardware como de software, para aplicao
no campo de estudo de Futebol de Robs. Este sistema permitir, atravs de um
mdulo de aquisio e processamento de imagens e algoritmo de tomada de
deciso, definir a sequncia de movimentos que um rob, controlado por motores
de corrente contnua, dever fazer para se deslocar at uma bola que pode estar
em qualquer lugar do campo. Ao final, espera-se que este sistema tenha as
seguintes caractersticas:
Baixo custo de projeto e implementao;
Alto desempenho garantindo eficincia e confiabilidade na aquisio,
processamento e transmisso dos dados atravs da criao de interface
software-hardware;
Preciso nos deslocamentos angular e retilneo a serem realizados pelo
rob, atravs do controle dos motores DC realizados por um
microcontrolador;
tima funcionalidade com a presena de todos os casos possveis de
decises a serem tomadas pelo sistema.
O trabalho est organizado da seguinte forma:
No segundo captulo, tem-se uma breve descrio sobre o Futebol de
Robs, abrangendo sua histria e as caractersticas, estrutura e seu
funcionamento. No terceiro captulo, so apresentados os conceitos relativos ao
projeto e o funcionamento do sistema de Viso Computacional. No quarto
captulo, so mostrados os conceitos relativos ao projeto, implementao e
funcionamento do sistema de Estratgia para Futebol de Robs. No quinto
captulo, so apresentadas as caractersticas de projeto e funcionamento do
-
3
hardware de controle para os perifricos de um sistema em Futebol de Robs. No
sexto captulo, apresentam-se toda a metodologia e as etapas utilizadas para
projetar um sistema microcontrolado para Futebol de Robs, desde a parte digital
(controle de perifricos, sistema de Viso Computacional e Estratgia, calibrao,
microcontrolador, interface serial e controle de timers) at a parte analgica
(circuitos de potncia para alimentao e controle de motores de corrente
contnua). No stimo captulo apresentam-se os resultados e sua anlise a fim de
verificar o correto funcionamento do sistema, de acordo com os princpios e
conceitos apresentados nos captulos anteriores.
No oitavo e ltimo captulo, so apresentadas as concluses relativas ao
estudo, projeto e implementao de um modelo didtico de sistema
microcontrolado para aplicao em Futebol de Robs. E, por fim, so
apresentadas as referncias bibliogrficas e dois anexos contendo os
fluxogramas e os cdigos desenvolvidos em MATLAB e C++ para os sistemas de
aquisio de imagens, Viso Computacional, Estratgia e para o
microcontrolador, respectivamente.
-
4
2. FUTEBOL DE ROBS
2.1 HISTRIA
A idia de robs jogando futebol foi mencionada pela primeira vez pelo
professor Alan Mackworth (University of British Columbia, Canad), em um artigo
intitulado On Seeing Robots (MACKWORTH, 1993). Na poca, Mackworth
escreveu sobre suposies necessrias para a criao de sistemas inteligentes e
autnomos, baseado em uma aproximao do que era a Inteligncia Artificial da
poca, a que os pesquisadores chamavam GOFAI Good Old Fashioned Artificial
Intelligence and Robotics. Um sistema GOFAI pode ser entendido como aquele
que percebe e entende as caractersticas do mundo real sua volta e, em funo
delas, processa-as atravs de conceitos definidos e toma atitudes baseadas neste
processamento. Em outras palavras, um sistema independente que traduz
sinais e parmetros de entrada em aes reais, como movimentos fsicos.
Figura 1 - Diagrama de blocos de um sistema GOFAI genrico. Modificado de (MACKWORTH, 1993).
Para se projetar tal sistema, so necessrios trs mdulos: percepo,
raciocnio e ao. Para cada mdulo, so criadas ferramentas que auxiliem na
execuo de cada uma destas trs tarefas (MACKWORTH, 1993). Desta maneira,
pesquisadores da poca criaram trs sistemas para compor um modelo de rob.
O primeiro era um sistema de percepo que traduzia imagens arbitrrias do
mundo real em descries simblicas e numricas para posterior raciocnio e
planejamento. Aps isso, tais dados eram processados pelo segundo sistema
(raciocnio), onde as descries eram confrontadas com os modelos matemticos
criados e utilizados na programao do rob, produzindo um plano, que consiste
em uma lista de aes a serem executadas sequencialmente. Por fim, o ltimo
-
5
sistema, o de ao, recebe este plano e o executa atravs do envio de sinais e
comandos aos perifricos do rob fsico, geralmente utilizando motores.
Do sucesso deste modelo, foram definidas suposies para as estratgias
de um rob como agente para executar determinadas aes em qualquer
situao (MACKWORTH et al., 1998).
Indivduos e relaes entre si: Tudo que til para um agente pode ser
descrito em termos dos indivduos e suas relaes entre si;
Convico conhecimento: As convices de um agente a respeito do
mundo so verdadeiras e justificadas;
Conhecimento definido: O conhecimento de um agente sobre o mundo
definido e positivo;
Conhecimento Completo: O conhecimento de um agente sobre o mundo
completo. Isto requer que tudo relevante sobre o mundo seja conhecido
pelo agente. Assim, ele pode assumir seguramente se um fato falso ou
verdadeiro e quais atitudes dever tomar diante deste fato;
Ambiente Esttico: O ambiente esttico a no ser que o agente o
modifique;
Agente nico: Existe apenas um agente no mundo;
Mundo Determinstico: Dada uma descrio completa e definida do
mundo ao agente, ele pode prever todos os efeitos de uma ao;
Aes Sequenciais Discretas: Aes so discretas e so executadas
sequencialmente.
Estas suposies so restritivas. Com o tempo, elas sofreram uma
modificao, pois assumiu-se que os projetos de sistemas inteligentes e
autnomos podem contemplar mais de um agente (MACKWORTH et al., 1998).
Partindo destas idias, iniciaram-se outras pesquisas cientficas e tecnolgicas a
respeito deste tema.
Em outubro de 1992, em Tquio, um grupo de pesquisadores japoneses
organizou um Workshop chamado Grandes Desafios para a Inteligncia
Artificial, discutindo e propondo problemas que representavam grandes desafios.
Esse Workshop levou a srias discusses sobre utilizar um jogo de futebol para
-
6
promover cincia e tecnologia. Estudos foram feitos com a finalidade de analisar a
viabilidade prtica desta idia, mostrando que a mesma era vivel, desejvel e
englobava diversas aplicaes prticas (MARTINS, 2012). Em 1993, um grupo de
pesquisadores, incluindo Minoru Asada, Yasuo Kuniyoshi e Hiroaki Kitano lanou
uma competio robtica chamada de Robot J-League. Em um ms, vrios
pesquisadores j se pronunciavam afirmando que a iniciativa deveria ser
estendida ao mbito internacional. Surgiu, ento a Robot World Cup Initiative
(RoboCup).
O ano de 1997 foi um marco na histria da Inteligncia Artificial. Em maio
de 1997, o supercomputador da IBM, DeepBlue, derrotou o russo Garry
Gasparov, campeo mundial de xadrez na poca (humano). Ainda naquele ano, a
misso Pathfinder, da NASA, obteve sucesso coma sonda Sojourner, primeiro
sistema robtico autnomo para a explorao da superfcie de Marte. Assim, o
Futebol de Robs colocou-se como um novo desafio aos pesquisadores da
Inteligncia Artificial, com a RoboCup e a FIRA dando os primeiros passos no
desenvolvimento de robs jogadores de futebol pelo mundo (MARTINS, 2012).
No Brasil, o desenvolvimento de times de Futebol de Robs comeou com
a iniciativa do 1 Campeonato Brasileiro de Futebol de Robs (CBFR) no final de
1997, concebido pelo professor Dr. Alberto Elfes atravs do Instituto de
Automao do Centro de Tecnologia Informtica (IA/CTI), em Campinas. Desde a
sua primeira edio at hoje, participam times de algumas universidades
brasileiras que possuem estudos avanados na rea, tais como: estratgias de
jogo e o sistema de Viso Computacional para auxiliar na tomada de decises
durante as partidas (BIANCHI; REALI-COSTA, 2000); e filtros de imagem em
matriz de cores (PENHARBEL et al., 2004). Alm dessa competio, pode-se citar
tambm a CBFR (Copa Brasil de Futebol de Robs), que teve a sua primeira
edio em 1998 (GISDI, 2012).
-
7
2.2 CARACTERSTICAS, ESTRUTURA E FUNCIONAMENTO
Partidas de futebol entre robs constituem uma atividade que possibilita a
realizao de experimentos reais para o desenvolvimento e testes de robs que
apresentam comportamento inteligente e que cooperam entre si para a execuo
de uma tarefa, formando um time (BIANCHI; REALI-COSTA, 2000). Partindo
deste princpio, a estrutura que compe um time de futebol de robs deve
trabalhar com a menor margem de erro possvel nos clculos e ter a melhor
fidelidade possvel na aquisio, processamento e transmisso dos dados e sinais
ao longo do seu funcionamento, seguindo, alm disso, as normas que regem as
categorias de Futebol de Robs, regulamentadas pela FIRA.
Fisicamente a plataforma para as partidas constituda por um campo
plano e, para cada time, uma cmera de vdeo CCD (Charge-coupled device),
utilizada para converter as intensidades de luz que incidem sobre ela em valores
digitais armazenveis na forma de bits e bytes. Alm disso so usados um
respectivo sistema para aquisio de imagens, um computador, sistema de
aquisio de dados e os robs. A Figura 2 representa o esquema bsico do
sistema. A bola geralmente padronizada: uma bola de golfe laranja (BIANCHI;
REALI-COSTA, 2000).
Figura 2 - Estrutura fsica de um jogo de Futebol de Robs (BIANCHI; REALI-COSTA, 2000).
O funcionamento do jogo segue um esquema bsico: cada time realiza a
aquisio da imagem atravs da sua cmera, processa a imagem utilizando
tcnicas de Viso Computacional para descobrir a posio da bola e dos robs da
prpria equipe e da equipe adversria. A partir desta imagem, um sistema de
-
8
deciso, previamente criado por cada time, define a melhor ttica a aplicar e os
movimentos de cada rob. Com a deciso tomada, um sistema de comunicao
por rdio envia aos robs uma mensagem com o movimento a ser realizado. Aps
isso, o sistema eletrnico dos robs, a partir do momento que recebe os dados,
controla os motores para movimentar cada rob de acordo com o plano
especificado pelo bloco anterior.
Entre os desafios a serem analisados, segundo Shen (SHEN et al., 1999),
Jogadores robticos precisam realizar processos de reconhecimento visuais em
tempo real, navegar em um espao dinmico, rastrear objetos em movimento,
colaborar com outros robs e ter controle para acertar a bola na direo correta.
Para atingir tal objetivo, os robs devem ser autnomos, eficientes, cooperativos,
com capacidades de planejamento e raciocnio, alm de atuarem sob restries
de tempo real, e os sistemas que o integram devem possuir uma arquitetura
propcia a ter uma boa performance e flexibilidade (VELOSO et al., 1999). Um
modelo para a arquitetura deste sistema mostrado na Figura 3.
Sistema de Deciso
Mdulo de
Viso
Mdulo Interno de
Modelos
Planejador
Estratgico
Controlador
de
Movimento
Figura 3 - Modelo da arquitetura do sistema de Futebol de Robs (SHEN et al., 1999).
-
9
As caractersticas de cada mdulo so:
Mdulo de Viso (Vision Module): Mdulo responsvel pela aquisio e
processamento de imagens, onde as caractersticas da imagem so
convertidas em valores numricos, processadas de forma a eliminar rudos
ou interferncias e realar padres ou pontos de referncia que sejam teis
para os mdulos seguintes.
Mdulo Interno de Modelos (Internal Model Manager): Mdulo
responsvel por confrontar os dados da imagem processada com modelos
matemticos pertinentes aos tipos de movimentos que o rob executar.
Em outras palavras, faz todo o raciocnio lgico e matemtico para a
posterior definio do plano a ser executado pelo rob tanto
individualmente como em relao a uma estratgia da equipe.
Planejador Estratgico (Strategy Planner): Mdulo responsvel por
definir quais as decises a serem executadas de forma sequencial pelo
rob e pela equipe baseado nas informaes enviadas pelo mdulo
anterior.
Controlador de Movimento (Drive Controller): Mdulo responsvel por
executar as instrues dadas pelo mdulo anterior, atravs de comandos e
envio de sinais analgicos aos perifricos do rob.
Outro ponto a ser estudado no projeto e implementao de um time de
Futebol de Robs o interfaceamento entre os Mdulos de Aquisio de
Imagens, Viso Computacional, Estratgia e Execuo. Pois, se mal projetado,
programado ou dimensionado, consequentemente colocar fim ao sistema. Antes
de mais nada, o sistema de estratgia deve ser compatvel com o controle
aplicado aos robs e com a confiabilidade das informaes vindas do sistema de
viso computacional que detecta as posies e direes dos robs e da bola.
Alm disso, o controle deve permitir que a estratgia execute todas as aes
necessrias e o sistema de viso deve garantir que as informaes estejam
corretas para que a estratgia funcione adequadamente. Todas essas peas
integradas devem ser confiveis o suficiente para manter os robs operando
-
10
corretamente mesmo sob algumas condies adversas, como variaes de luz ou
interferncias (SATOMI et al., 2005).
Nos prximos captulos, sero abordados de maneira mais detalhada
alguns aspectos construtivos dos mdulos ou blocos que compem um sistema
microcontrolado para Futebol de Robs.
-
11
3. VISO COMPUTACIONAL
Como mencionado no captulo anterior, o primeiro dos mdulos que
compem o sistema das partidas de Futebol de Robs o mdulo de Viso
Computacional. Tal sistema essencial para a realizao das partidas e tem por
funo obter, a partir da imagem adquirida da cmera disposta sobre o campo de
jogo, a posio dos robs e a posio da bola em coordenadas do plano
cartesiano (X, Y) (GONZALEZ; WOODS, 2000). O princpio de funcionamento
deste sistema divide-se em cinco etapas. So elas: Captura, Filtragem,
Calibrao, Segmentao e Anlise. A Figura 4 mostra um diagrama com as
etapas do sistema de Viso Computacional.
Figura 4 - Diagrama de blocos do sistema de Viso Computacional para Futebol de Robs (PENHARBEL et al., 2004).
A viso computacional a parte mais complexa de todo o sistema. O
crebro humano, por exemplo, gasta 1/3 da sua capacidade ao fazer este
tratamento e processamento ptico (o crebro tem cerca de 100 bilhes de
neurnios). Se compararmos com a atividade neural para resolver o mais
complexo sistema matemtico, ou at mesmo o crebro de um grande jogador de
xadrez, esta atividade chegaria perto de 1% da utilizao dos neurnios. Assim, o
-
12
reconhecimento dos objetos ao seu redor, das pessoas e outras coisas que
envolvem a viso so de grande dificuldade de processamento para o crebro, o
que torna ainda mais difcil e desafiador a criao de um sistema autnomo que
faa esta interpretao atravs de modelos fsicos e matemticos (FERNANDEZ
et al., 2010).
Nas prximas pginas so expostos conceitos relativos s fases do
sistema de Viso Computacional.
.
3.1 CAPTURA
3.1.1 A Estrutura do Olho Humano
O sistema visual humano um mecanismo de interface com o ambiente.
Partindo do princpio de que a Inteligncia Artificial o estudo da computao e
da Engenharia que torne possvel, dentre uma enorme gama de tarefas, a
percepo, o olho humano uma fonte de novos modelos, o que justifica o breve
estudo do seu funcionamento para este trabalho.
A Figura 5 mostra um corte horizontal do olho humano. O olho
aproximadamente uma esfera com um dimetro mdio de cerca de 20 mm,
envolta por trs membranas: crnea; coride (cobertura externa da esclertica); e
retina. A crnea um tecido transparente e resistente que cobre a superfcie
anterior do olho. Tal membrana trabalha juntamente com a esclertica, estrutura
opaca que envolve o restante do globo ocular. A coride situa-se diretamente
abaixo da esclertica, contendo uma srie de vasos sanguneos que servem
como principal fonte de nutrio ao olho. Sua cobertura fortemente pigmentada
e auxilia a reduzir a quantidade de luz que, ao entrar no olho, se espalharia
indesejavelmente pelo globo ocular. Na sua extremidade anterior, a coride
dividida em corpo ciliar (responsvel pela acomodao do olho) e ris. Esta ltima
contrai-se ou expande-se de forma a controlar a quantidade de luz que entra no
olho (GONZALEZ; WOODS, 2000).
-
13
Figura 5 - Diagrama simplificado de uma seo do olho humano (GONZALEZ; WOODS, 2000).
O cristalino formado por camadas concntricas de clulas fibrosas, sendo
sustentado por fibras que se conectam ao corpo ciliar. Ele absorve
aproximadamente 8% da luz visvel com absoro relativamente maior nos
comprimentos de onda mais curtos.
A membrana mais intensa do olho a retina, que se estende sobre toda a
poro posterior do olho. Quando o olho est apropriadamente focalizado, a luz
de um objeto fora do olho tornada imagem na retina. A viso de padres
possibilitada pela distribuio de receptores discretos de luz sobre a superfcie da
retina. Tais receptores se dividem em duas classes: cones e bastonetes. O
nmero de cones em cada olho varia de 6 a 7 milhes, posicionados na regio
central da retina (fvea), sendo altamente sensveis a cores. J os bastonetes
apresentam-se em uma quantidade de 75 a 150 milhes em cada olho, sendo
responsveis pela viso espacial da imagem (acuidade visual). Eles no esto
-
14
envolvidos em viso colorida e so sensveis a baixos nveis de iluminao
(GONZALEZ; WOODS, 2000).
Nos cones, podem ser encontrados fotopigmentos que respondem aos
espectros de luz de trs comprimentos de onda distintos: 445 nm, 535 nm e 570
nm. Estes comprimentos de onda correspondem s cores vermelho, verde e azul,
grupo de cores que d origem camada de cores RGB (Red, Green and Blue). O
fato importante no estudo do comportamento do olho humano em relao s
imagens que a sensibilidade aos diferentes comprimentos de onda no ,
fisicamente, idntica (SIMES, 2012). Atravs desta variao que se
determinam as 256 cores clssicas que compem o espao de cores RGB. A
Figura 6 mostra a frao percentual de luz absorvida pelos cones para os
diferentes comprimentos de onda do espectro visvel.
Figura 6 - Funo da resposta espectral de cada um dos trs tipos de cones da viso humana (SIMES, 2012).
Para explicitar ainda mais esta variao, segue na Figura 7 um modelo das
diferentes combinaes existentes e como as cores variam visualmente nas
camadas RGB, atravs do cubo RGB.
-
15
Figura 7 - Cubo RGB (RIGHES, 2004).
Nos trabalhos com cores, importante atentar-se a duas propriedades do
mecanismo ocular que envolvem a interpretao de cores: a adaptabilidade ao
brilho e cor. Na adaptabilidade ao brilho, segundo Simes (SIMES, 2012),
superfcies com brilho de intensidade maior que o valor mdio do campo visual
em um determinado instante apresentam-se como brilhantes, e aquelas abaixo do
brilho mdio apresentam-se como escuras. Paralelamente, a adaptabilidade cor
faz com que uma fonte de cor brilhante tenda a reduzir a sensibilidade dos
receptores visuais a esta cor, ampliando a sensibilidade dos receptores cujo
estmulo fraco nesta situao. Assim, conclui-se que fontes brilhantes em uma
imagem podem distorcer completamente a interpretao dos receptores
localizados nos cones do olho humano, sendo prefervel a utilizao de fontes que
estejam dentro do brilho mdio da imagem, para que a interpretao seja a mais
fiel possvel da realidade. Alm disso, pode-se citar tambm o fato de que o
sistema visual humano tende a subestimar ou superestimar as intensidades
luminosas prximas aos contornos entre regies de diferentes intensidades,
alterando o padro de brilho da imagem. Este um motivo a mais para que a
-
16
incidncia de fontes luminosas de alto brilho seja a menor possvel (GONZALEZ;
WOODS, 2000).
3.1.2 Modelo de Formao da Imagem
O entendimento de como uma imagem se comporta aos olhos de um
observador passa pela interpretao da fsica deste fenmeno. Assim, existe a
necessidade de uma descrio matemtica deste sistema atravs de um modelo.
O termo imagem refere-se a uma funo de intensidade luminosa
bidimensional, denotada por f(x, y), em que o valor da amplitude de f nas
coordenadas espaciais (x, y) d a intensidade (brilho) da imagem naquele ponto.
Como a luz uma forma de energia, f(x, y) deve ser positiva e finita, isto ,
(GONZALEZ; WOODS, 2000).
As imagens que as pessoas percebem em atividades visuais corriqueiras
consistem de luz refletida dos objetos. A natureza bsica de f(x, y) pode ser
caracterizada por dois componentes: a quantidade de luz incidindo na cena sendo
observada e a quantidade de luz refletida pelos objetos da cena.
Apropriadamente, esses componentes so chamados iluminao e reflectncia,
respectivamente (GONZALEZ; WOODS, 2000). Tais elementos so
representados por i(x,y) e r(x,y). O produto das funes i(x,y) e r(x,y) resulta em
f(x,y).
Eq. (1)
Eq. (2)
Eq. (3)
A equao Eq. (3) indica que a reflectncia limitada entre 0 (absoro
total) e 1 (reflexo total). A natureza de i(x,y) determinada pela fonte de luz, e
r(x,y) determinada pelas caractersticas dos objetos presentes na imagem
(GONZALEZ; WOODS, 2000).
Uma denominao comumente utilizada para a intensidade f(x,y) a de
nvel de cinza, ou . Das equaes Eq. (1) a Eq. (3), pode-se concluir que fica
restrito ao intervalo:
-
17
Lmn Lmx Eq. (4)
Em teoria, a nica restrio sobre Lmn que seja um valor positivo e sobre
Lmx que seja finito. O intervalo [Lmn, Lmx] denominado escala de cinza. Na
prtica, utiliza-se o intervalo [0, L], onde = 0 considerado preto e = L
considerado branco. Todos os valores intermedirios so tons de cinza variando
continuamente entre o branco e o preto. Vale lembrar que os valores de nveis de
cinza so representaes numricas das quantidades de luz absorvidas pelos
receptores dos cones do olho humano (como mostrado em 3.1.1), criando um
modelo para o comportamento colorido de uma imagem (GONZALEZ; WOODS,
2000).
Para ser adequada para processamento computacional, uma funo f(x, y)
precisa ser digitalizada tanto espacialmente quanto em amplitude. A digitalizao
das coordenadas espaciais (x, y) denominada amostragem da imagem e a
digitalizao da amplitude chamada quantizao em nveis de cinza
(GONZALEZ; WOODS, 2000).
Supondo que uma imagem contnua f(x, y) aproximada por amostras
igualmente espaadas, arranjadas na forma de uma matriz NxM, como mostrado
na equao Eq. (5), em que cada elemento uma quantidade discreta. Tal matriz
representa o que denominada uma imagem digital, e cada elemento desta
matriz chamado elemento de imagem, ou pixel (abreviao de picture element,
elementos de figura) (GONZALEZ; WOODS, 2000). Cada pixel possui um limite
para nveis de cinza discretos e amostras. Assim, para se obter a melhor
aproximao possvel de uma imagem em sua digitalizao, so necessrios
valores cada vez maiores de nveis de amostragem e quantizao. A essa
combinao de nveis de quantizao e amostras d-se o nome de resoluo
(GONZALEZ; WOODS, 2000). Deste modo, quanto maiores os nveis de
amostragem e quantizao, maior ser a resoluo da imagem digitalizada.
-
18
Eq. (5)
Alm dessas caractersticas, h tambm outros parmetros a se definir e
medir em uma imagem digital, como o contraste e a tonalidade. O contraste
uma medida da diferena de brilho entre as reas claras e escuras de uma
imagem. Por exemplo, fotos tiradas em condio de neblina ou fumaa tero
baixo contraste, enquanto que fotos tiradas em regies com alta incidncia de luz
solar tero contraste muito mais alto. J a tonalidade definida como a variao
crtica de brilho em uma imagem. Por exemplo, imagens em que h sombras,
reflexos de objetos na gua, neblina, so todas imagens que apresentam
variaes sutis de brilho, tendo portanto tons diferentes de uma mesma cor em
um mesmo espao (CAMBRIDGE, 2012).
3.1.3 O Processo de Captura
Partindo dos conceitos explcitos nos itens anteriores, possvel agora
definir atravs de modelos como ocorre o processo de captura.
Dois elementos so necessrios para a aquisio de imagens. O primeiro
um dispositivo fsico que seja sensvel a uma banda do espectro de energia
eletromagntica (como raios X, ultravioleta, visvel, ou banda infravermelha) e que
produza um sinal eltrico de sada proporcional a um nvel de energia percebida.
O segundo, chamado digitalizador, um dispositivo para a converso da sada
eltrica de um dispositivo de sensoreamento fsico para a forma digital
(GONZALEZ; WOODS, 2000). Atravs destes elementos, feito o processo de
interpretao das caractersticas de intensidade dos tons de cinza em cada par de
coordenadas espaciais (x,y), tomando como base as equaes Eq. (1) a Eq. (4).
Aps isso, os elementos so dispostos em uma matriz de acordo com a equao
Eq. (5). As dimenses da matriz da imagem sero equivalentes ao nmero de
amostras e aos nveis de quantizao na converso, ou seja, sendo uma matriz
-
19
ANxM representando a imagem digital e R e Z os nveis de quantizao e o nmero
de amostras, respectivamente, tem-se:
Eq. (6)
Assim, os valores de N e M determinam a resoluo da imagem digital
(GONZALEZ; WOODS, 2000).
Para um sistema autnomo com Inteligncia Artificial, necessrio que o
processo de captura da imagem seja independente, ou seja, o perifrico (no caso,
uma cmera) do sistema responsvel pela aquisio das imagens deve ser
programado nos parmetros desejados para funcionar sem nenhuma interferncia
humana no processo. Na maioria dos casos, este perifrico controlado via
software, atravs de programas que possuam protocolos de comunicao e
configuraes definidas para controlar tais dispositivos. Um deles o software
MATLAB, utilizado na construo do projeto descrito neste trabalho, em funo de
atender aos requisitos desejados e utilizar uma melhor interface entre o usurio e
o programa.
Na verso 7.11 (R2010b) do software MATLAB, existe uma biblioteca de
trabalho chamada Image Acquisition Toolbox. Nesta biblioteca existe um conjunto
de funes que permite controlar tanto a configurao quanto o funcionamento de
uma cmera conectada ao computador atravs de uma porta USB
(TANNENBAUM, 2012.). O usurio pode detectar se h algum hardware
conectado e configurar suas propriedades. Alm disso, uma das grandes
vantagens da utilizao desta ferramenta que o MATLAB permite controlar os
perifricos conectados a ele em tempo real, condio fundamental para o
funcionamento adequado de um sistema autnomo.
Nas prximas linhas so expostas as funes desta Toolbox utilizadas no
projeto de Futebol de Robs deste trabalho (TANNENBAUM, 2012.).
Videoinput: Funo que cria um objeto de entrada de vdeo. OBJ =
VIDEOINPUT(ADAPTORNAME) constri um objeto de entrada de vdeo
chamado OBJ. Este objeto representa o local por onde se dar conexo
entre o MATLAB e um determinado dispositivo para aquisio de imagens
-
20
(cmera). A funo ADAPTORNAME uma string que especifica o nome
do adaptador utilizado para se estabelecer a comunicao do MATLAB
com o dispositivo. Deve-se utilizar tambm a funo IMAQHWINFO para
determinar os adaptadores disponveis no sistema do computador utilizado.
Get: Funo que obtm as propriedades do dispositivo para a aquisio
das imagens. GET(OBJ) mostra todos os nomes das propriedades e seus
valores para os dispositivo OBJ.
Inspect: Funo que possibilita configurar as propriedades do dispositivo
de aquisio de imagens. INSPECT(OBJ) abre o inspetor de propriedades
e possibilita configurar as propriedades do dispositivo OBJ.
Set: Funo que configura as propriedades do dispositivo de aquisio de
imagens. SET(OBJ) mostra os nomes da propriedades e qualquer valor
enumerado para todas as propriedades configurveis do dispositivo OBJ.
Start: Faz a conexo do dispositivo para aquisio de imagens como
MATLAB, ativando o dispositivo. START(OBJ) obtm uso exclusivo de um
determinado dispositivo OBJ pelo MATLAB, iniciando o processo de
aquisio de imagens de acordo com as configuraes estabelecidas. Em
outras palavras, o comando necessrio para se iniciar todo o processo de
aquisio de arquivos de imagens ou vdeo.
Stop: Interrompe o processo de aquisio de imagens. STOP(OBJ)
interrompe o processo de aquisio de imagens ou vdeo pelo determinado
objeto OBJ.
Wait: Funo que bloqueia a linha de comando do MATLAB at que uma
entrada de vdeo OBJ pare de rodar. digitada no MATLAB com
WAIT(OBJ).
-
21
Trigger: Dispara o objeto de aquisio de imagem para obter uma imagem
ou um vdeo. escrito como TRIGGER(OBJ). Para executar este
comando, necessrio que o dispositivo j esteja ativo, ou seja, deve ser
utilizado o comando START(OBJ) antes do comando TRIGGER.
Triggerconfig: Comando que configura as opes de disparo para o
dispositivo de aquisio das imagens. Para uma lista de parmetros vlidos
de configurao, deve-se utilizar o comando TRIGGERINFO(OBJ). Para se
executar a configurao, deve-se utilizar o comando
TRIGGERCONFIG(OBJ,CONFIG). Tal comando configura os parmetros
de disparo do objeto OBJ atravs de uma estrutura do MATLAB chamada
CONFIG.
Flushdata: Funo que remove as imagens ou frames de vdeo
armazenados temporariamente na memria do computador.
FLUSHDATA(OBJ) remove todas as imagens ou frames armazenados
temporariamente que foram captados pelo dispositivo OBJ.
Getdata: Funo que retorna o nmero de frames especificados pela
propriedade FramesperTrigger do objeto para aquisio de imagens OBJ.
DATA = GETDATA(OBJ) retorna uma varivel DATA contendo o nmero
de frames especificados pela propriedade FramesperTrigger de OBJ. Para
se determinar o nmero de frames a serem retornados sem mexer nas
configuraes, utiliza-se DATA = GETDATA(OBJ,N). DATA retornada
como uma matriz H x W x B x F, onde:
H altura da imagem, especificada na propriedade ROIPosition.
W largura da imagem, especificada na propriedade ROIPosition.
B Nmero de cores da imagem, especificada na propriedade
NumberofBands.
F Nmero de frames.
Getsnapshot: Funo que imediatamente retorna um nico quadro de
uma imagem, ou frame de um vdeo, capturado por um dispositivo. Assim,
-
22
FRAME = GETSNAPSHOT(OBJ) retorna uma matriz FRAME H x W x B,
sendo H, W e B os valores conforme especificado no comando anterior.
Atravs dos comandos IMAGE ou IMAGESC, possvel visualizar estes
dados na forma de uma imagem, e no de uma matriz.
Peekdata: Retorna a ltima imagem que foi adquirida por um determinado
dispositivo. DATA = PEEKDATA(OBJ,FRAMES) retorna os ltimos frames
escritos pela varivel FRAMES capturados pelo dispositivo OBJ. DATA
retornada na forma de uma matriz H x W x B x F, onde H, W, B e F so
definidas como no comando GETDATA.
Imaqmem: Funo que limita ou mostra a memria em uso pela Image
Acquisition Toolbox. MEM = IMAQMEM retorna uma estrutura, MEM,
contendo os seguintes campos:
MemoryLoad um nmero entre 0 e 100 que d uma idia geral do
quanto de memria est sendo utilizada.
TotalPhys Nmero total de bytes de memria fsica.
AvailPhys Nmero de bytes da memria fsica disponveis.
TotalPageFile Nmero total de bytes que podem ser armazenados no
arquivo de paginao.
FrameMemoryLimit Limite de memria para aquisio de frames em
bytes.
FrameMemoryUsed Memria de um frame em bytes atualmente alocado
pela caixa de ferramentas.
IMAQMEM(LIMIT) configura o limite de memria, em bytes, a ser utilizado
pela Image Acquisition Toolbox.
Delete: DELETE(OBJ) remove o dispositivo de aquisio de imagens,
OBJ, da memria do sistema. Quando OBJ deletado, ele torna-se um
dispositivo invlido. Um objeto invlido deve ser removido da rea de
trabalho do MATLAB utilizando-se o comando CLEAR.
-
23
Imaqfind: Mostra uma lista de todos os dispositivos para aquisio de
imagens que existem na memria. Se apenas um dispositivo encontra-se
na memria de trabalho do MATLAB, IMAQFIND mostra um resumo
detalhado do objeto. OUT = IMAQFIND retorna um array OUT de todos os
dispositivos de aquisio de imagens existentes na memria.
Imaqreset: Comando que desconecta e deleta todos os objetos de
aquisio de imagens. IMAQRESET deleta todos os objetos de aquisio
de imagens da memria do programa, assim como descarrega todos os
adaptadores carregados pela caixa de ferramentas. Como resultado, o
hardware de aquisio de imagens resetado. Em outras palavras, este
comando reseta todo o programa de aquisio de imagens, retornando o
MATLAB ao seu estado inicial, ou seja, sem imagens carregadas e sem
adaptadores carregados.
Imaqhelp: IMAQHELP(OBJ) mostra uma lista completa das funes de um
determinado dispositivo de captura de imagens. Alm disso, mostra
tambm um menu de ajuda para as propriedades do dispositivo.
Imaqhwinfo: OUT = IMAQHWINFO retorna uma estrutura, OUT, que
contm informaes sobre o hardware para aquisio de imagens. Estas
informaes incluem a verso da caixa de ferramentas, verso do MATLAB
e nomes dos adaptadores instalados.
Propinfo: OUT = PROPINFO(OBJ) retorna um array de estrutura, OUT,
com os nomes das propriedades de um determinado dispositivo OBJ.
-
24
3.2 CALIBRAO
3.2.1 Conceito de Histograma
O histograma de uma imagem digital com nveis de cinza no intervalo [0, L-
1] uma funo discreta p(rk) = nk/n, onde rk o k-simo nvel de cinza, nk o
nmero de pixels na imagem com esse nvel de cinza, n o nmero total de
pixels na imagem e k = 0, 1, 2, 3, ..., L-1. De forma resumida, p(rk) uma
estimativa da probabilidade da ocorrncia de um determinado nvel de cinza rk.
Um grfico dessa funo para todos os valores de k fornece uma descrio global
da aparncia de uma imagem (GONZALEZ; WOODS, 2000). A Figura 8 mostra
os histogramas de quatro tipos bsicos de imagens. A Figura 8(a) mostra que os
nveis de cinza presentes na imagem concentram-se na extremidade de valores
menores, ou seja, caracteriza uma imagem com predominncia de cores escuras.
Na Figura 8(b), verifica-se o contrrio, onde h uma predominncia maior dos
nveis de cinza com valores mais altos, caracterizando uma imagem clara. Na
Figura 8(c), percebe-se uma faixa de variao pequena de nveis de cinza
predominantes, no havendo predominncia de cores escuras nem claras,
caracterizando uma imagem de baixo contraste. Por fim, na Figura 8(d), tem-se
uma distribuio melhor dos nveis de cinza na imagem, no havendo
predominncia de um grupo especfico de nveis de cinza, alm de uma faixa de
variao maior. Tais caractersticas denominam tal imagem como uma imagem de
alto contraste.
Embora as propriedades avaliadas anteriormente sejam descries globais
a respeito de uma imagem, o histograma uma ferramenta de informao til
sobre a possibilidade para realce do contraste. Atravs desta anlise, percebem-
se as caractersticas de nveis de cinza predominantes na imagem e quais deles
se deseja realar, atravs de tcnicas de processamento adequadas.
Especificamente no ambiente de Futebol de Robs, o histograma representa um
recurso importante para anlise das caractersticas que se desejam realar e
processar na imagem, obtendo a melhor fidelidade de dados possvel para os
mdulos seguintes que fazem parte do sistema.
-
25
Figura 8 - Histogramas correspondentes a quatro tipos de imagens (GONZALEZ; WOODS, 2000).
3.2.2 O Processo de Calibrao de Imagens
O maior problema do sistema de viso computacional para o jogo de
futebol de robs que as cores utilizadas na competio no permanecem iguais
durante toda uma partida. Por exemplo, a cor da bola muda quando ela se
desloca do centro da imagem para a borda, e o mesmo acontece com a cor de
qualquer outro objeto. Tal fenmeno ocorre porque a luminosidade do campo no
homognea. Alm disso, o espao de cores utilizado durante uma partida no
possui regies linearmente separveis. Por isso, tcnicas de segmentao
baseadas em limiarizao esttica, ou seja, onde o limiar dos corpos no se
altera, no apresentam bons resultados, perdendo os objetos durante o jogo
(BIANCHI; REALI-COSTA, 2000). Tais tcnicas tentam separar as cores dos
objetos criando regies cbicas no espao de cores (com os planos do cubo
ortogonais aos eixos). Analisando a Figura 9, nota-se que o espao de cores
-
26
realmente no possui separao entre regies, sendo necessria a utilizao de
alguma alternativa para uma melhor definio dos dados a serem processados.
Figura 9 - Espao de cores utilizado no Futebol de Robs (BIANCHI; REALI-COSTA, 2000).
Partindo de tal situao, pesquisadores propuseram diferentes sistemas
para solucionar este impasse. Bianchi e Reali-Costa (BIANCHI; REALI-COSTA,
2000), por exemplo, propuseram um sistema que realiza o rastreamento das
cores dos objetos durante o jogo, visto que ao longo de uma partida completa as
cores podem se misturar, mas em um determinado instante elas so facilmente
separveis. Assim, este sistema inicializa a cor da bola, dos robs do time e do
time adversrio durante a calibrao e atualiza o valor da cor destes objetos a
cada quadro com a mdia das trs ltimas medidas. Com isto, a todo momento
tem-se um valor de cor prximo ao real, o que permite separar cores prximas no
espectro e encontrar objetos cuja cor percorre, durante a partida, um caminho na
faixa do espao de cores.
Paralelamente a isto, Satomi e um grupo de pesquisadores (SATOMI et al.,
2005), em 2004, desenvolveu um sistema GUI (Graphical User Interface) de
-
27
calibrao para ambiente LINUX, permitindo a definio de cores padro, que
eram necessrias para um sistema de filtro desenvolvido para a equipe de
Futebol de Robs criada por eles. Tal interface para este sistema pode ser vista
na Figura 10.
Figura 10 - Ambiente de calibrao de cores da equipe de Futebol de Robs da FEI de 2004 (SATOMI et al., 2005).
Assim, baseado nos exemplos anteriores, nota-se a importncia
fundamental da criao de sistemas de calibrao de cores ou padres para o
correto funcionamento do sistema de Viso Computacional em times de Futebol
de Robs. Sem esse sistema, pode no haver fidelidade nas informaes a serem
processadas pelo sistema caso os padres a serem encontrados nas imagens
estejam distorcidos em relao a um comportamento terico.
-
28
3.3 FILTRO
A utilizao de tcnicas para filtrar uma imagem adquirida por uma cmera
tem o objetivo de eliminar rudos ou interferncias entre os pixels da imagem. No
sistema de Viso Computacional para Futebol de Robs, os filtros so uma parte
muito importante, pois os dados filtrados por esta etapa sero usados na
segmentao das imagens, permitindo localizar os objetos importantes para
realizar o controle de um jogo (PENHARBEL et al., 2004).
A grande dificuldade em se implementar filtros de cores causada pela
diferena de luminosidade que ocorre nas diferentes partes do campo, embora
haja uma ateno com este fato. Alm disso, outro problema que os filtros
apresentam a dificuldade de separao correta de cores muito similares.
Algumas vezes, cores muito prximas no espectro RGB podem ser confundidas,
alm do fato de que o sinal proveniente da cmera pode ter rudos que,
eventualmente, interferem no sistema de viso e no filtro, prejudicando o seu
desempenho (PENHARBEL et al., 2004).
Partindo desta necessidade, um filtro deve ser projetado de forma a
fornecer um sistema de filtragem robusto, computacionalmente eficiente e menos
influenciado por rudos ou variao de luminosidade.
Numa filtragem, o processamento de um nvel de cinza kr de um pixel
depende dos valores do nvel de cinza do prprio pixel e dos pixels vizinhos, ou
seja, os elementos da matriz de imagem mais prximos do elemento em questo.
Em geral, na vizinhana, os pixels mais prximos contribuem mais na definio do
novo valor do nvel de cinza do que os pixels mais afastados (FACON, 2005).
Alm disso, deve-se levar em conta que o tipo de processamento dado ao pixel
depende do tipo de rudo que se deseja filtrar ou qual caracterstica da imagem se
deseja realar ou eliminar.
-
29
3.3.1 Filtragem por vizinhana
Vrios tipos de rudos podem ser encontrados em uma imagem. Assim,
proporcionalmente aos tipos de rudos, existem tambm filtros especficos para
cada um deles. Especificamente no Futebol de Robs, um dos problemas com
relao s imagens capturadas durante uma partida est relacionado com a
variao brusca de nveis de cinza nos contornos das formas de uma imagem.
Assim, faz-se necessria a utilizao ou criao (se for mais conveniente) de
filtros espaciais que eliminem tais variaes, atravs de uma filtragem por
vizinhana, diminuindo a probabilidade de erro ao longo dos clculos seguintes no
sistema de Viso Computacional.
Uma das tcnicas conhecidas para diminuir tais variaes a comparao
ponto a ponto (RIGHES, 2004), que serviu de modelo para a proposta de filtro
apresentada neste trabalho. Tal mtodo consiste de uma janela (imagem
exemplo) que desliza sobre uma ou mais imagens de referncia, calculando-se a
diferena entre os pixels do exemplo e da referncia. Esta diferena cumulativa
para cada posio da janela e as imagens de referncia que possurem o valor de
erro abaixo de um limite so escolhidas ou tratadas. A imagem de exemplo uma
imagem menor ou de igual tamanho ao das imagens de referncia. Esta tcnica
possui problemas no que diz respeito qualidade da imagem aps seu uso, mas
os padres desejados mantm-se os mesmos, perdendo parte da informao da
imagem ou no de acordo com o valor de erro adotado.
A descrio detalhada do equacionamento utilizado para a implementao
deste filtro exposta na seo 6.2.3 deste trabalho.
-
30
3.4 SEGMENTAO
Alguns psiclogos alemes no incio do sculo XX introduziram o princpio
da segmentao. Eles mostraram que o ser humano, no aspecto viso, efetua
agrupamentos sobre o que ele percebe, baseados em proximidade, similaridade e
continuidade. Segundo alguns estudos baseados na teoria da viso, a
decomposio de uma cena visual em unidades significantes mostra-se uma
etapa fundamental na compreenso da imagem (FACON, 2005). No campo da
Robtica, a viso por computador tenta adotar um funcionamento anlogo ao da
viso humana. A segmentao traduz esse esforo.
A segmentao subdivide uma imagem em suas partes ou objetos
constituintes. O nvel at onde essa subdiviso deve ser realizada depende do
problema a ser resolvido. Ou seja, a segmentao deve parar quando os objetos
de interesse na aplicao tiverem sido isolados (GONZALEZ; WOODS, 2000).
Esta etapa do processo de Viso Computacional muito importante, pois uma
segmentao efetiva quase sempre garante sucesso no reconhecimento das
caractersticas que sero processadas posteriormente. Por essa razo, um
cuidado considervel deve ser tomado para se melhorar as chances de uma
segmentao robusta.
Os algoritmos de segmentao de imagens so geralmente baseados nas
seguintes propriedades bsicas dos nveis de cinza: descontinuidade e
similaridade. Na primeira, a metodologia consiste em particionar a imagem
baseado em mudanas bruscas nos nveis de cinza, fazendo a deteco
(deteces) de pontos isolados ou deteco de linhas de bordas na imagem. Na
segunda categoria, o processo baseia-se em limiarizao, crescimento de regies
e diviso ou fuso de regies (GONZALEZ; WOODS, 2000). Alm dos tipos
citados, h tambm uma terceira classe de algoritmos muito utilizada: a de
reconhecimento de padres, categoria utilizada neste trabalho.
-
31
3.4.1 Conceitos de Reconhecimento de Padres
O reconhecimento de padres uma habilidade extremamente
desenvolvida em seres humanos e em alguns animais. O grau de refinamento
deste reconhecimento, por parte do ser humano, pode chegar a ponto de
distinguir uma pintura de um grande mestre daquela feita por um grande falsrio
ou at estabelecer uma tomada de deciso por parte de um operador em um dia
de grande movimento na bolsa de valores. Assim, pode-se dizer que padres so
os meios pelos quais o mundo interpretado, a partir de propriedades que
possibilitam o agrupamento de objetos ou caractersticas semelhantes dentro de
uma determinada classe ou categoria, mediante a interpretao de dados de
entrada, permitindo a extrao das caractersticas relevantes. A partir desta
interpretao, elaboram-se atitudes e decises (CASTRO; PRADO, 2001).
Desta maneira, reconhecimento de padres pode ser definido como sendo
um procedimento em que se busca a identificao de certas estruturas nos dados
de entrada em comparao a estruturas conhecidas e sua posterior classificao
em categorias, de modo que o grau de associao seja maior entre estruturas de
mesma categoria e menor entre as categorias de estruturas diferentes (CASTRO;
PRADO, 2001). Os dados de entrada so medidos a partir de sensores e
selecionados segundo o contedo de informaes relevantes para a deciso do
sistema, passando por uma reduo de sua dimensionalidade para que possam
ser usados pelo classificador, que o designar classe que melhor o represente.
Um sistema para reconhecimento de padres possui trs etapas:
representao dos dados de entrada e sua mensurao, extrao das
caractersticas e identificao e classificao do objeto em estudo. Na primeira
etapa, basicamente feita uma extrao de todas as caractersticas de um objeto,
representadas numericamente em um vetor X, por exemplo, onde cada elemento
deste vetor corresponde a uma caracterstica. Na segunda etapa, feita uma
reduo da dimensionalidade de caractersticas (tamanho do vetor), ou seja,
utilizam-se apenas as caractersticas que so pertinentes resoluo do
problema em questo, descartando-se as outras. Tal reduo exige um profundo
conhecimento do problema a ser resolvido pelo sistema, pois uma seleo mal
feita das caractersticas de um objeto pode acarretar em perda de informao que
seja relevante para o sistema. Por fim, a ltima etapa consiste em classificar,
-
32
mediante padres pr determinados, qual o objeto, atravs de comparaes das
caractersticas adquiridas com as caractersticas do padro (CASTRO; PRADO,
2001). Essas trs etapas podem ser implementadas atravs de trs tipos
diferentes de abordagem no projeto de sistemas para reconhecimento de
padres. So elas:
Rol de Membros (Template Matching): Caracterizao mediante
comparaes com um modelo previamente armazenado cujas
caractersticas servem de parmetro para a comparao. til em
aplicaes onde os padres a serem comparados so muito prximos do
modelo padro.
Propriedades Comuns (Feature Matching): Caracterizao feita
mediante caractersticas principais de objetos de uma classe. Padres de
uma mesma classe tm propriedades comuns de discriminao desta
classe. Assim, quando um padro desconhecido observado pelo sistema,
suas caractersticas so comparadas com as caractersticas discriminantes
das classes j existentes. De acordo com o resultado, o sistema
classificar este novo padro em uma das classes j existentes ou
designar uma nova classe para este padro.
Agrupamento (Clustering Matching): Quando os padres de uma classe
so vetores cujos componentes so nmeros reais, a classe do padro
pode ser estabelecida segundo formas de agrupamento, clusters, destes
pontos no plano. Havendo uma separao entre tais pontos de forma clara,
podem ser empregadas tcnicas simples de classificao. Caso contrrio,
a classificao do padro ser feita por mtodos mais complexos como
estatstica, mtodos determinsticos ou algoritmos mais adequados.
Atravs de tais abordagens, possvel montar sistemas de segmentao
altamente robustos (CASTRO; PRADO, 2001).
-
33
3.4.2 Deteco de objetos no Futebol de Robs
No Futebol de Robs, utiliza-se o sistema de viso computacional para
detectar os robs mveis e a bola por meio de cores padronizadas para cada
equipe que disputa uma partida. Uma tcnica utilizada por Bianchi e Reali-Costa
(BIANCHI; REALI-COSTA, 2000) a de utilizar a cor e a forma dos robs para
deteco de sua posio no espao do campo. Com a cor e a forma pr
estabelecidas na fase de calibrao, o sistema percorre a imagem pixel a pixel.
Ao encontrar um ponto com a cor da bola, seu centro determinado. Ao encontrar
um ponto com a cor de um dos robs, o sistema inicia um algoritmo para
determinar sua posio e orientao. Ao encontrar um ponto da cor do time
oponente, ele encontra o centro deste objeto.
J PENHARBEL et al. (2004) utilizam o mesmo sistema, diferenciado
apenas no uso de matrizes de cores-padro, ou seja, restringindo as cores a
serem lidas pelo sistema de calibrao, reduzindo a probabilidade de erro na
segmentao das imagens.
Concluindo, nota-se que o processo de segmentao das imagens acaba
seguindo um padro, porm as tcnicas a serem utilizadas, bem como as
caractersticas que desejam ser analisadas, ficam a cargo do projetista do
sistema, mantendo um nico objetivo padro: a maior fidelidade possvel de
informaes para retratar e interpretar o mundo real atravs de uma imagem.
-
34
3.5 ANLISE
A anlise dos dados das imagens a ltima etapa do Sistema de Viso
Computacional. Ela consiste em um processo de entendimento dos padres
relevantes performance de uma determinada tarefa baseada na imagem. A
principal meta da anlise de imagens dotar uma mquina computadorizada com
a capacidade de se aproximar, em um determinado sentido, capacidade similar
dos seres humanos. Sendo assim, um sistema de anlise automtica de imagens
deveria ser capaz de exibir vrios graus de inteligncia. O conceito de inteligncia
um pouco vago, mas algumas caractersticas vm imediatamente mente: a
habilidade de extrair informao a partir de um fundo de detalhes irrelevantes; a
capacidade de aprender a partir de exemplos e generalizar o conhecimento para
aplic-lo em circunstncias novas e diferentes; e a habilidade de fazer inferncias
a partir de informao incompleta (GONZALEZ; WOODS, 2000).
Sistemas analticos de imagens com essas caractersticas podem ser
projetados e implementados para ambientes operacionais limitados. Assim, o
estado da arte em anlise computadorizada de imagens est, em sua maior parte,
baseado em formulaes heursticas projetadas para resolver problemas
especficos, o que se traduz pela necessidade de, antes de projetar um sistema
de viso computacional, o projetista responsvel ter um profundo conhecimento
do problema. No Futebol de Robs, principalmente pelo ngulo em que as
imagens so capturadas em relao ao campo (cmera tirando fotos de cima do
campo em duas dimenses) e pelo tipo de informaes desejadas que se deseja
extrair (distncias entre corpos e sentido que cada corpo se encontra em relao
bola, no caso), as formulaes heursticas utilizadas neste sistema geralmente
envolvem o clculo de distncias e ngulos entre dois ou mais corpos. Neste
caso, segundo Gonzalez e Woods (GONZALEZ; WOODS, 2000), o projetista
parte de um tipo de conhecimento chamado procedural, ou seja, trata de
operaes que envolvem a seleo ou criao de algoritmos e configuraes de
parmetros para esses algoritmos, desejando um resultado esperado (um
detalhamento do contedo da imagem) a partir do que dado (uma matriz de
pixels).
-
35
3.5.1 Anlise Espacial em Futebol de Robs
Quando sistemas de anlise de imagens so projetados, muito comum a
medio de distncias. Em muitos casos utiliza-se o clculo de distncia clssica
entre dois pontos ou distncia euclidiana. Para tal situao, deve-se ter em mente
que o eixo das coordenadas em uma matriz de dados se dispe conforme a
Figura 11.
Figura 11 - Diagrama ilustrativo da utilizao do eixo de coordenadas cartesianas em uma matriz de dados. (GONZALEZ et al., 2004)
Analisando a figura, nota-se que o eixo das abscissas corresponde ao eixo
onde se verificam as colunas da matriz e o eixo das ordenadas, as linhas. Desta
maneira, lembrando que o sistema analisa os dados na notao matricial M(i,j),
onde i indica a linha da matriz e j, a coluna, deseja-se analisar o contedo de um
ponto P de coordenadas P(10,20), entende-se que este ponto corresponde ao
elemento localizado na linha 10 e na coluna 20 da matriz.
-
36
Supondo agora a localizao de dois pontos P0(x0,y0) e P1(x1,y1) na matriz,
dispostos aleatoriamente conforme a Figura 12, o clculo para a distncia D entre
eles procede-se de acordo com a Equao Eq. (7).
Figura 12 - Distncia entre dois pontos na matriz (GONZALEZ et al., 2004).
Eq. (7)
Tal definio comumente utilizada para clculo de distncias entre dois
corpos em uma imagem (ALBUQUERQUE, 2000).
Alm disso, no Futebol de Robs, existem alguns algoritmos adicionais que
devem ser aplicados para se obter uma interpretao melhor do sistema, o que
varia de projeto para projeto. Bianchi e Reali-Costa (BIANCHI; REALI-COSTA,
2000), por exemplo, implementaram um algoritmo para calcular o centro de
massa da bola, a partir de um ponto inicial Pini com a cor desejada para a bola
(definida na fase de calibrao). Aps isso, traada uma reta horizontal e
encontrado o ponto de cruzamento desta reta com as bordas do crculo (pontos
-
37
P1 e P2). O ponto mdio desta reta (Pex) define a posio x do centro do crculo.
Traando uma outra reta a partir do ponto mdio encontrado, na vertical, so
encontradas as outras bordas do crculo (pontos P3 e P4). O ponto mdio da
segunda reta o ponto mdio da bola (Pcentral). A Figura 13 ilustra este algoritmo.
Figura 13 - Algoritmo para clculo do centro de massa da bola (BIANCHI; REALI-COSTA, 2000).
Para identificar e localizar os robs do jogo, cada rob possui uma
identificao de acordo com a Figura 14, composta por dois crculos de tamanhos
e cores diferentes. Partindo de uma identificao por cores, a posio e a
orientao dos robs so encontradas atravs do seguinte algoritmo:
1. Encontra-se o centro do crculo maior, utilizando o mesmo algoritmo
mostrado na Figura 13;
2. Procura-se o centro do crculo menor, que est a uma distncia conhecida
do crculo maior;
3. Usando o mesmo algoritmo, encontra-se o centro do crculo;
4. Considerando a distncia entre os centros dos crculos maior e menor no
rob, definem-se pares;
5. Caso haja mais de uma combinao possvel entre pares, verifica-se se
existe a conexo entre eles, definindo um par para cada rob do time.
-
38
6. Traa-se a reta entre os dois centros. O seu ponto mdio o centro do
rob e sua inclinao, a orientao do rob.
Figura 14 - Ilustrao de algoritmo de identificao dos robs (BIANCHI; REALI-COSTA, 2000).
A cor do retngulo entre os dois crculos necessria para definir se eles
pertencem ao mesmo rob. Isto necessrio, pois ocorrem configuraes na
partida onde dois robs ficam encostados e, sem esta verificao, pode-se
identificar o crculo maior de um rob com o crculo menor de outro como sendo
um nico rob, que teria a orientao e posio calculadas de maneira errnea
(BIANCHI; REALI-COSTA, 2000).
J Fernandez e outros pesquisadores (FERNANDEZ et al., 2010) utilizaram
geometria analtica como ferramenta fundamental para definir equaes de
posicionamento. Dado um plano coordenado XY onde um ponto o rob e um
outro ponto afastado qualquer a bola. Pela matemtica, dois pontos distintos
determinam uma nica reta que passa por eles e a geometria analtica d a
equao conforme Equao Eq. (8), onde a a tangente do ngulo que a reta
forma com o eixo X, e b o ponto onde ela intercepta o eixo Y. Com o ngulo,
sabe-se em que direo o rob dever ir para interceptar a bola.
-
39
Figura 15 - Ilustrao de um algoritmo para interpretao de imagens (FERNANDEZ et al., 2010).
Eq. (8)
Assim, conforme todas as etapas descritas neste captulo, nota-se a
infinidade de conceitos que envolvem o projeto de um sistema de viso
computacional, desde um conhecimento profundo do problema a ser resolvido at
a interpretao de todos os fatores relevantes para uma atitude a ser tomada de
acordo com o ambiente retratado na imagem.
-
40
4. ESTRATGIA
Passado o mdulo de Viso Computacional, onde feito o primeiro contato
do sistema de Futebol de Robs com o