Você está na página 1de 18

1

Uso de viso computacional no futebol de robs

Cleudiney Theodoro Brando


Dante Napoli
Marcelo Cunha
Robtica Professor Denilson Laudares

1. Resumo
Futebol de robs tem sido adotado internacionalmente como um problema padro,
uma vez que possibilita a avaliao de vrias teorias, algoritmos, arquiteturas e
desempenhos, onde uma grande variedade de tecnologias podem ser integradas e
analisadas, propiciando desenvolvimentos ligados Inteligncia Artificial e Robtica
Inteligente.
No futebol de robs, uma frota de mini-robs deve disputar uma partida de futebol de
forma autnoma, ou seja, sem interferncia humana. O que trataremos neste artigo uma
forma de utilizar-se da viso computacional e a Inteligncia Artificial e Robtica
Inteligente para orientar estes robs em campo.

Inicialmente apresentamos o sistema de viso, composto por uma fase preliminar de


calibrao e uma fase de identificao e rastreamento em tempo real dos objetos de
interesse: robs e bola. A seguir, descrevemos o mdulo responsvel pela deciso da
estratgia de jogo, que se utiliza das informaes fornecidas pelo sistema de viso e
conhecimentos sobre o domnio (futebol) para determinar as aes que os robs devem
executar, expressas em direo e velocidade de navegao.

Palavras chaves: Threads, viso computacional, robs, microcontroladores,


multitarefa, RTOS, Inteligncia Artificial, Cooperao Computacional, teoria de
controle, interpretao e fuso sensorial, redes neuronais, computao evolutiva, viso,
sistemas multi-agentes.

2. Introduo

A viso computacional para o futebol de robs consiste em analisar uma imagem


obtida atravs do dispositivo de captura de vdeo e extrair informaes de alto nvel,
como por exemplo: posio da bola e posio e orientao dos robs. A Figura 1
representa, esquematicamente, as etapas deste processo

Video

Placa de Captura de Vdeo Captura

Filtro Calibrao

Segmentao

Anlise Estratgia

Viso Computacional

Figura 1
2

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. Este artigo descreve o projeto e a implementao do sistema de viso
computacional utilizado para partidas de futebol de robs. Para tanto, apresentado o
domnio do Futebol de Robs, a arquitetura bsica do time e o sistema implementado,
bem com a descrio dos algoritmos adotados para tratar os problemas especficos do
domnio estudado. Como contribuio especfica na rea de Viso Computacional
apresentado um algoritmo simples e eficiente para a localizao e a identificao dos
robs do time, visando uma atuao em tempo real, baseado no rastreamento das cores
dos objetos no espao de cores durante o jogo e no uso de um algoritmo eficiente para
localizao de centros de objetos circulares. Finalmente, realizada uma comparao da
eficincia do sistema implementado com dois algoritmos clssicos de segmentao de
imagens, alm da apresentao dos resultados do funcionamento do sistema durante os
jogos.

Figura 2

O sistema de viso (cmera e localizao) responsvel por identicar os


jogadores e a bola em campo e informar ao mdulo da estratgia a localizao de cada
um deles. A estratgia, considerada a parte inteligente de todo o sistema, responsvel
por decidir para qual posio o rob deve ir. De posse das posies presente e futura, o
controle (mdulo de baixo nvel) calcula as tenses que devem ser aplicadas a cada
motor para se chegar na posio desejada. As tenses so enviadas via rdio para os
jogadores do time. Este ciclo de localizar, decidir posio futura, calcular e enviar
tenses, repetido continuamente at o m ou interrupo da partida.
Neste artigo, uma proposta de um filtro baseado em uma matriz RGB que aponta
para cores-padro apresentada de forma a fornecer um sistema de filtragem mais
robusto, computacionalmente eficiente e menos influenciado por rudos ou variao de
luminosidade. Essas cores-padro so definidas como intervalos no espao de cores
HSI, evitando assim o clculo de transformao RGB para HSI durante a filtragem que
geralmente computacionalmente ineficiente e com o intuito de mostrar uma viso
geral sobre o assunto, abordaremos conceito, benefcios, utilizaes, gerenciamento e
3

caractersticas conceituais em alguns Sistemas Robticos, bem como algumas


aplicaes.

3. Conceitos

3.1 Inteligencia Artificial

Atualmente Inteligncia Artificial tem sido apresentada a partir de uma viso


integrada (Russell e Norvig, 1995). Isto no s permite que se trate os problemas desta
rea de pesquisa a partir de diversas abordagens, como o resultado da compreenso,
por parte dos pesquisadores, que IA no deve ser vista como segmentada.
Na rea de viso computacional estas mudanas se deram na forma do surgimento
de novos paradigmas. Dentro destas novas abordagens, viso no mais vista como um
problema contido em si mesmo, mas sim como um sistema que interage com o ambiente
atravs de percepo e ao. Um exemplo destes paradigmas o da viso propositada
(Aloimonos, 1994), que considera a viso dentro de um contexto de tarefas que um
agente deve realizar, retirando dos propsitos do agente as restries para solucionar o
problema de viso.
Seguindo esta tendncia, os domnios de aplicao pesquisados tambm comearam
a mudar. Na rea dos jogos, clssica em IA, criar programas eficientes para jogos de
tabuleiro deixou de ser um objetivo distante: no xadrez os computadores j conseguem
vencer os campees humanos. Novos domnios fizeram-se necessrios.
O futebol de robs foi proposto por diversos pesquisadores (Kitano et al, 1997;
Sanderson, 1997) para criar para IA um novo desafio a longo prazo. O desenvolvimento
de times de robs envolve muito mais que integrao de tcnicas de IA. Segundo
Kraetzchmar et al. (1998), Dispositivos mecatrnicos, hardware especializado para o
controle de sensores e atuadores, teoria de controle, interpretao e fuso sensorial, redes
neuronais, computao evolutiva, viso, e sistemas multi-agentes so exemplos de
campos envolvidos nesse desafio.

3.2 Sistema de Viso

O sistema de viso sicamente composto de uma estrutura de iluminao e uma


cmera colocada acima do campo de jogo (gura 2), a qual conectada a uma placa de
aquisio de imagens.
A aquisio da imagem feita atravs de uma placa digitalizadora padro (marca
Imaging) e uma cmera de vdeo padro RGB (marca JVC). As imagens so adquiridas
a uma taxa de 30 quadros por segundo e guardadas em uma posio da memria onde
pode ser acessada pelo mdulo de viso. O tamanho das imagens de 640 x 480 x 24 bits
de cores. Um exemplo de imagem tpica trabalhada pode ser vista nas figuras 2 e 3.
4

Figura 3

Figura 4

O objetivo deste sistema capturar imagens do jogo e, atravs de tcnicas de


processamento digital de imagens, informar ao mdulo da estratgia as localizaes de
cada rob (tanto os do prprio time quanto os do adversrio) e da bola.
O sistema de viso responsvel por 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 (X,Y). No caso dos robs do time, o algoritmo de viso determinar tambm a
orientao e identificao do jogador, atravs do reconhecimento de identificadores
coloridos colocados sobre o rob. A realizao da identificao de cada rob torna o
sistema independente da sequncia de resultados do rastreamento dos objetos nas
imagens. Assim, um objeto no ser encontrado em uma imagem no afeta o resultado
para a imagem seguinte.
Diversos programas de edio de imagens trabalham com espaos de cores diferentes,
entre eles o RGB e o HSI [5]. O espao de cores RGB se caracteriza por um cubo de lado
5

R, comprimento G e altura B. A Figura 2 mostra a representao do formato RGB, na


forma de um cubo. Nesta figura possvel observarmos que cores parecidas podem ser
representada por diversos valores de RGB, o que dificulta a construo de um filtro
baseado em limites para estes trs parmetros.

Figura 5

O espao de cores HSI particiona uma cor em Matiz, Saturao e Intensidade, sendo a Matiz
a cor propriamente dita, a saturao identifica o quo forte a cor e a Intensidade identifica
a luminncia da cor. A Figura 6 permite visualizar esta caracterstica.

Figura 6

O espao de cores HSI forma um cone, com H variando de 0 a 360 graus e S e


I variando de 0 a 100 porcento. O formato mostrado na Figura 3. As equaes que
transformam uma cor definida em RGB para HSI so dadas a seguir [7]:

Figura 7

A transformao de HSI para RGB pode ser realizada com as equaes


seguintes:
6

Figura 8

Figura 9

O sistema de filtro desenvolvido necessita da definio de cores-padro, realizada


na fase de calibrao. Cada uma dessas cores-padro deve ter a definio do intervalo
de Matiz, Saturao e Luminncia que identifica o objeto ou a cor na imagem de forma
ntida e sem interferncias. Um sistema GUI (Graphical User Interface) simples de
calibrao foi desenvolvido para ambiente LINUX permitindo a definio dessas
corespadro Figura 9.
7

Figura 10

Uma cor ou um conjunto de cores-padro permite a definio de um objeto,


como bola, cor primria ou cores secundrias do jogador adversrio, bem como as cores
primria e secundria de seu jogador. A matriz RGB dar a cor-padro para os valores
de R, G e B do pixel da imagem, basta o sistema de viso classific-lo como o objeto
definido.
A matriz RGB implementa o cubo RGB com contedo limitado ao das cores
padro e no ao espectro de pouco mais de 16 milhes de cores. Isso significa, que a
matriz classifica as possveis 16 milhes de cores em no mximo 256 cores-padro.
Usualmente, menos de 10 cores-padro so necessrias para identificar todos os objetos
de um jogo de futebol de robs do tipo Mirosot da FIRA e, considerando o jogo de
futebol de robs com 11 jogadores cada time de cores secundrias diferentes, existiriam
no mximo 25 cores. Assim, um cubo que identificaria 16 milhes de cores diferentes,
passar a identificar menos de 25 cores, o que permitir uma eficincia e preciso maior
ao filtro de imagem.

Figura 11
8

A velocidade de processamento na filtragem das cores que esta implementao


atingiu foi de aproximadamente 5 milissegundos o que permite realizar a segmentao
das imagens a uma taxa de 30 quadros por segundo. O processamento foi realizado em
um microcomputador Pentium IV de 1.8 GHertz, com 256 Mbytes de Memria RAM,
utilizando sistema operacional Linux. Os programas foram escritos em C++
(compilador GNU gcc) e Kylix (compilador Borland). para a aquisio das imagens foi
utilizada uma cmera colorida de 480 linhas de resoluo horizontal conectada entrada
de vdeo composto de uma placa de aquisio de imagens padro BT-878, comumente
usada em kits de videoconferncia como o fabricado pela PixelView. As imagens
usadas te 640 x 480 pixels de resoluo.
Ressalta-se ainda que muito provvel que uma cmera com sada RGB possa
fornecer uma imagem melhor e sem rudos do que a usada nos testes, fazendo com que
o sistema se torne ainda mais preciso e robusto.
4. Aplicao

A viso computacional desempenha papel fundamental na eficincia de um time,


influenciando diretamente nas decises tomadas pelo sistema de inteligncia artifical e
a estratgia da equipe. Neste sistema de viso, uma parte muito importante o filtro
de cores, que usado na segmentao das imagens, permitindo localizar os objetos
importantes para realizar o controle de um jogo.

A distino entre os jogadores e a bola em uma partida de futebol de robs feita com
o auxlio de cores e formas. De acordo com as regras, a superfcie do campo preta,
as linhas e o crculo central brancos, a bola da cor laranja e cada jogador deve possuir
obrigatoriamente um rtulo azul ou amarelo identicam seu time.

A tarefa do sistema de viso, portanto, pode ser dividida em trs fases:

1. Na primeira fase o sistema deve localizar as regies coloridas que existem na


imagem e calcular a posio central e a etiqueta de cor para cada uma.

2. Uma vez denidas as posies e as etiquetas de cores das regies, a segunda fase
envolve a identicao dos robs e da bola.

3. Na terceira fase feita a individualizao de cada um dos trs robs da equipe.


9

Figura 12

Utilizando-se das informaes fornecidas pelo sistema de viso computacional, um


algoritmo de deciso de jogadas baseado em Inteligncia Artificial responsvel pelas
decises quanto aos objetivos dos movimentos dos robs.
Este mdulo produz como sada informaes instantneas de velocidade e ngulo
desejados para cada um dos jogadores do time. Este algoritmo implementado, em um
primeiro momento, como uma mquina de estados simples, um tipo de modelo
comportamental, baseado em reflexos pr-estabelecidos de situaes x reaes, o que se
mostra ineficaz. A vantagem do uso da mquina de estados finita est na garantia de
cobertura completa de todas as situaes, evitando-se, assim, estados no previstos ou
situaes de impasse, porm em um segundo momento, pelo nmero de decises
simultneas a serem tomadas, em um segundo momento optou-se pelo uso de Threads e
maquinas de estados dentro de tais.
O tempo de processamento da imagem importante para o desempenho do time, pois
se trata de uma aplicao em tempo real. Neste trabalho uma imagem deve ser tratada em
menos de 33 ms. Alm disso, a tcnica adotada deve ser robusta a variaes na condio
de iluminao e ser capaz de reconhecer robs de times adversrios que usam rtulos de
diferentes cores e formatos. Para tanto lancemos Threads.
10

Figura 13

O Sistema de Comando e Comunicao atua diretamente sobre os robs, enviando


informaes atravs de um transmissor de rdio conectado porta serial do computador,
programada para o envio de caracteres a 1200 b.p.s. responsvel pelo clculo das
velocidades dos motores dos robs a partir das informaes de trajetria fornecidas pelo
mdulo anterior. Produz como sada informao instantnea de velocidade para os
motores de cada jogador, traduzida em nmero de passos do motor;
O Sistema embutido nos robs recebe informao de velocidade atravs de sinal de
rdio, e controla motores de corrente contnua atravs de tacmetros. O mdulo final de
controle trata diretamente os sinais de rdio emitidos pelo transmissor conectado ao
computador central, controlando os motores de corrente contnua, cuja posio e
velocidade de rotao so aferidas por tacmetros pticos.
11

Figura 14

O sistema, conforme descrito, apresenta um conjunto de processos, seguindo uma


sequncia de controle definida, fechado em um loop. O tempo de ciclo deste sistema
aproximadamente 33 milissegundos. Para controle de todos estes processos faremos uso
dos princpios de Threads aplicados em sistemas computacionais.

Figura 15

Os programadores em tempo real tradicionais, como o programador usado em


FreeRTOS procuram alcanar o determinismo, permitindo que o usurio atribua uma
prioridade a cada thread de execuo. O programador usa ento a prioridade para saber
qual thread de execuo ser executado em seguida. Em FreeRTOS, um thread de
execuo chamado de Tarefa, Threads so tarefas, ou melhor, uma parte de um
processo.
12

Figura 16

Uma caracterstica de RTuinOS que o comportamento de uma tarefa no est


totalmente predeterminado no tempo de compilao. O RTuinOS suporta
tarefas regulares, controladas no tempo , bem como controladas exclusivamente por
eventos. As tarefas podem ser preventivas ou se comportar de forma cooperativa. O
agendamento de tarefas pode ser feito usando fatias de tempo e um padro de round
robin. Alm disso, muitos desses modos podem ser misturados. Uma tarefa no para ser
regular, seu cdigo de implementao decide o que acontece e isso pode ser decidido no
contexto ou dependente da situao fazendo o uso de Threads.

Os projetos embarcados so, em sua maioria, compostos por diversas tarefas


executadas para atender uma aplicao de propsito nico. Dependendo da complexidade
do sistema, tais tarefas podem exigir restries de tempo, alm de interagirem umas com
as outras. Muitas vezes, o uso de arquiteturas mais simples, como orientada a interrupo
ou mquina de estados, tornam o cdigo muito complexo e de difcil manuteno. Devido
a isso, os sistemas operacionais de tempo real (RTOS Real Time Operating System) se
tornam uma boa opo, pois so capazes de atender as restries temporais e tornar o
cdigo mais organizado e flexvel.

Basicamente, um RTOS um sistema operacional destinado a gerenciar mltiplas


tarefas com perodos de execuo pr-definidos. Este gerenciamento feito pelo
escalonador (ou scheduler em ingls) baseado em algum critrio, como tempo mximo
de execuo, prioridade, criticidade de um evento, sequncia de execuo, entre outros.
Em razo disso, define-se dois tipos de escalonadores: o escalonador preemptivo, que
capaz de interromper uma determinada tarefa para executar outra de maior prioridade, e
o escalonador cooperativo (ou no-preemptivo) que executa cada tarefa at o fim, de
modo que a prxima tarefa s executada quando a anterior terminar .
13

5. Implementao

O mdulo da estratgia considerado o crebro de um time de futebol de robs. A


sua funo de, dadas as localizaes de cada objeto em campo, decidir para onde os
jogadores do time devem ir, de forma que estes apresentem um comportamento
cooperativo inteligente.
A estratgia est organizada em camadas [Yamamoto 2005]. Existem trs nveis de
deciso: os papis de cada rob esto no nvel mais alto, no segundo nvel esto os
estados e no nvel mais baixo os clculos das posies desejadas (referncias) de cada
rob. A gura 17 mostra a hierarquia das camadas da estratgia.
Foram denidos trs papis para a equipe: goleiro, atacante e zagueiro, tendo
cada um dos papis um certo nmero de estados associados. No decorrer do jogo a
estratgia ir indicar o papel mais adequado para cada rob na situao presente.
O papel de goleiro ser sempre atribudo a um mesmo jogador escolhido antes do incio
da partida, de forma que a alocao dinmica acontecer apenas com os papeis de
atacante e zagueiro. Para denir os papis dos jogadores restantes, a primeira
preocupao saber a localizao da bola:
Caso a bola esteja no campo de defesa, o jogador atrs da linha da bola ser o atacante.
Se ambos estiverem ou atrs ou a frente desta linha, o jogador mais perto da bola ser o
atacante e o zagueiro ser o rob restante.
Na situao da bola estar no campo de ataque, o jogador mais perto da bola ser o
atacante e o outro rob ser o zagueiro.
14

Figura 17

O goleiro pode estar nos estados DEFESA ou ESPERA. No estado ESPERA, ca no


centro do gol. No estado DEFESA, ca posicionado de tal forma a interceptar a trajetria
da bola para o gol. O estado ESPERA adotado quanto a bola est no campo de ataque;
caso contrrio, impe-se o estado DEFESA.
O zagueiro apresente dois estados: ESPERA e ZAGUEIRO. O estado ESPERA
atribudo quando a bola est no campo de ataque. O rob se posiciona no campo de defesa,
para esperar uma eventual sobra de bola. O estado ZAGUEIRO posiciona o jogador na
linha formada pela posio da bola e centro do gol do time, de modo a interceptar o avano
da bola. Este estado atribudo quando a bola est no campo de defesa.
15

Figura 18 - Malhas de controle do rob

O controle de posio feito no computador. As variveis controladas so a posio


atual do rob (x, y, ), calculadas pelo mdulo de percepo a partir da anlise das
imagens da cmera de vdeo . A estratgia dene as referncias, que so a posio para a
qual o rob deve se deslocar (xref, yref). A sada deste controlador as velocidades
angulares desejadas (dref, eref) para os dois motores do rob.
Consideremos o modelo esquemtico do rob na gura 8. No espao cartesiano (x,y)
deniremos a posio do rob como a posio do seu centro e sua orientao como
sendo o ngulo entre o vetor da orientao do rob e o eixo x. Denominam-se v e ,
respectivamente, as velocidades linear e a angular do rob, medidas no seu centro.
Se as rodas tem raio R, b a largura do rob (distncia entre rodas), d e e so as
velocidades angulares das rodas e vd e ve so as velocidades lineares de um ponto na
circunferencia das rodas, sabe-se que:

Figura 19

Figura 20 - Definies de velocidade do rob


16

Com isso, ao invs do controlador de posio calcular diretamente as velocidades


desejadas para os motores (dref, eref), ele pode calcular inicialmente as velocidades
linear e angular desejadas (vref, ref) e em seguida fazer a converso usando a equao.
A gura 21 ilustra o problema do posicionamento do rob, onde l representa a
distncia entre o rob e a posio de referncia (xref,yref) desejada no espao cartesiano.
O problema do controle de posio do rob ser resolvido se l 0. Mostra-se [Vieira
et al. 2004] que este problema pode ser resolvido por meio de dois controladores lineares
simples: Um controlador angular cujo objetivo e controlar a orientao do rob de
forma a que ele aponte para a posio de referncia desejada (xref,yref). A sada deste
controlador a velocidade angular desejada, ref. A entrada o erro angular , que a
diferena entre a orientao desejada e a orientao atual e dado por:

Figura 21

Um controlador linear cujo objetivo e posicionar o rob ao longo da reta que


corresponde sua orientao atual no ponto mais prximo da posio de referncia
desejada (ponto R na gura 9). A sada deste controlador a velocidade linear desejada,
vref. A entrada o erro linear , dado por:

Figura 22

Figura 23 Controle de posio do rob

Para o projeto tanto do controlador linear quanto do angular, o sistema a ser controlado
modelado por um integrador simples, G(s) = 1/s, pois o deslocamento angular a integral da
velocidade angular , o mesmo acontecendo com o deslocamento linear e a velocidade
linear v.
17

6. Desenvolvimento do kernel e uso das Threads

De forma resumida, um Kernel o ncleo central de um sistema operacional. Alm


dele gerenciar as tarefas, ele tambm gerencia a memria disponvel e intermedia a
comunicao entre os drivers de hardware e as aplicaes. No entanto, neste artigo
considerou-se um microkernel responsvel apenas pelo gerenciamento das tarefas,
como pode ser visto na implementao a seguir.
Como mencionado, o Kernel deve ser capaz de armazenar as tarefas a serem
executadas. Uma maneira simples de fazer isso utilizando um buffer esttico, do tipo
ponteiro de funo, que salva os endereos das funes correspondentes s tarefas. Alm
disso, precisamos informar qual o perodo da tarefa e, opcionalmente, o seu nome para
debug e se ela est habilitada ou no para ser executada.
Os ponteiros de funo so variveis que, como ponteiros, armazenam um
endereo. A diferena que esse endereo de uma funo, e no de uma varivel. A
declarao de uma varivel do tipo ponteiro de funo, em linguagem C, bastante
diferente da declarao de uma varivel normal, sendo muito parecida com a declarao
de um prottipo de funo.
Este Kernel composto por quatro funes: uma para inicializa-lo, uma para
adicionar tarefas, uma para remover tarefas e outra para rodar o escalonador. Em geral, a
funo que roda o escalonador entra num loop infinito e, conforme a base de tempo gerada
pelo Timer, verifica qual tarefa deve ser executada no momento, de acordo com seu
perodo.

7. Concluso

Foram estudados diversos algoritmos clssicos de segmentao de imagens e foi


proposto um algoritmo especfico para o domnio estudado, baseado em limiares
adaptativos. Este algoritmo realiza a localizao e a identificao dos robs do time de
maneira rpida e simples, visando uma atuao em tempo real, atravs do rastreamento
das cores dos objetos no espao de cores durante o jogo e do uso de um algoritmo
eficiente para localizao de centros de objetos circulares, para um tratamento mais
rpido das informaes foram propostos o uso de Inteligncia Artificial e do conceito de
Threads na montagem do cdigo fonte e recursos para o rob ganhando assim poder
computacional e velocidade de deciso nas estratgias pelo uso de teorias de mximos e
mnimos da Inteligncia Artifical.
18

8. Referncias

[1] ALMEIDA, R. M. A.; MORAES, C. H. V.; SERAPHIM, T. F. P.


Programao de Sistemas Embarcados: Desenvolvendo software para
microcontroladores em linguagem C. Elsevier, 2016.
[2] SHAW, A. C. Sistemas e software de tempo real. Bookman, 2003.
[3] Desenvolvendo um RTOS: processos e tarefas disponvel em
https://www.embarcados.com.br/desenvolvendo-um-rtos-processos-e-tarefas/
com acesso em 01/05/2017
[4] Giozza, W. F.; Arajo, J. F. M.; Moura, J. A. B. & Sauv, J. P.
Redes Locais de Computadores: Tecnologia e Aplicaes. Mc Graw-Hill, So Paulo,
Brasil (1986).

[5]Han, W.-G.; Baek, S.-M. and Kuc T.-Y


Path Planning of Visual-Servoed Multiple Mobile Robots using the Genetic
Algorithms. Proceedings of Micro-Robot World Cup Soccer Tournament, pp. 57-63
(1996).
[6] Kim, S. H.; Kim, J. K.; Choi, J. C. and Kim, B. K.
Development of Cooperation System for Robot Soccer Team. Proceedings of Micro-
Robot World Cup Soccer Tournament, pp. 90-94 (1996).
[7] Kitano, H.; Kuniyoshi, Y.; Noda, I.; Asada, M.; Matsubara, H. and Osawa, H.
RoboCup: A Challenge Problem for AI. AI Magazine 18(1), pp.73-85 (1997).
[8] Microsoft Video for Windows Documentation
ftp://ftp.microsoft.com/developer/drg/Multimedia/Jump start/VfW11e/DK/VFWDK(1993).

9. Repositrios na WEB
ArduinoThread: https://github.com/ivanseidel/ArduinoThread
ArduinoSensors: https://github.com/ivanseidel/ArduinoSensors
RTuinOS: https://github.com/PeterVranken/RTuinOS
FreeRTOS: https://github.com/greiman/FreeRTOS-Arduino
RobotFramew https://github.com/robotframework
Robot Soccer https://github.com/hoarf/robotsoccer

Você também pode gostar