Você está na página 1de 54

Robos Moveis Inteligentes: Princpios e Tecnicas

Carlos Henrique Costa Ribeiro 1


Anna Helena Reali Costa 2
Roseli Aparecida Francelin Romero 3
1

Div. de Ciencia da Computaca o


Instituto Tecnologico de Aeronautica
Praca Mal. Eduardo Gomes, 50
12228-900 Sao Jose dos Campos, SP
carlos@comp.ita.br
2

Depto. de Engenharia de Computaca o e Sistemas Digitais


Escola Politecnica - Universidade de Sao Paulo
Av. Prof. Luciano Gualberto, Trav. 3 no. 158
05508-900 Sao Paulo, SP
anna.reali@poli.usp.br
3

Inst. de Ciencias Matematicas e de Computaca o


Universidade de Sao Paulo
Av. Trabalhador Sao-carlense, 400
13560-970 Sao Carlos, SP
rafrance@icmc.sc.usp

Sumario
1 Introduca o
1.

Organizaca o do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 Comportamentos em Robos Moveis

7
8

1.

O que significa Reatividade? . . . . . . . . . . . . . . . . . . . . . . .

2.

O que significa Deliberaca o? . . . . . . . . . . . . . . . . . . . . . . .

3.

Sensores e Atuadores para Robos Moveis . . . . . . . . . . . . . . . . .

3.1.

Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.2.

Atuadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

Comportamentos: Definica o . . . . . . . . . . . . . . . . . . . . . . . .

11

4.1.

Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

Metodos para Implementaca o de Comportamentos . . . . . . . . . . . .

13

5.1.

Metodos baseados em Etologia . . . . . . . . . . . . . . . . . . .

13

5.2.

Metodos baseados em Atividade Situada

. . . . . . . . . . . . .

14

5.3.

Metodos Guiados por Experimentaca o . . . . . . . . . . . . . . .

15

Codificaca o de Comportamentos . . . . . . . . . . . . . . . . . . . . . .

16

6.1.

Parametrizaca o de Aco es . . . . . . . . . . . . . . . . . . . . . .

16

6.2.

Parametrizaca o de Estmulos . . . . . . . . . . . . . . . . . . . .

17

6.3.

Uma Formalizaca o para Comportamentos e sua Coordenaca o . .

17

6.4.

Funco es Importantes de Coordenaca o de Comportamentos . . . .

21

4.

5.

6.

3 Arquiteturas de Comportamentos
1.

2.

23

Arquiteturas Reativas . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

1.1.

Arquitetura Subsumption . . . . . . . . . . . . . . . . . . . . . .

23

1.2.

Arquitetura Baseada em Campos Potenciais . . . . . . . . . . . .

24

Arquiteturas Deliberativas . . . . . . . . . . . . . . . . . . . . . . . . .

26

3.

2.1.

NHC - Nested Hierarchical Controller . . . . . . . . . . . . . . .

27

2.2.

RCS - Realtime Control System . . . . . . . . . . . . . . . . . .

28

Arquiteturas Hbridas . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

3.1.

Componentes das Arquiteturas Hbridas . . . . . . . . . . . . . .

29

3.2.

Exemplos de Arquiteturas Hbridas . . . . . . . . . . . . . . . .

30

4 Times de Robos Moveis

33

1.

Por que usar Times de Robos? . . . . . . . . . . . . . . . . . . . . . . .

33

2.

Caractersticas dos Times Roboticos . . . . . . . . . . . . . . . . . . . .

34

3.

Exemplos de Times de Robos . . . . . . . . . . . . . . . . . . . . . . . .

36

3.1.

Uso de regras sociais em times homogeneos . . . . . . . . . . . .

36

3.2.

Arquitetura ALLIANCE . . . . . . . . . . . . . . . . . . . . . .

37

3.3.

Futebol de Robos . . . . . . . . . . . . . . . . . . . . . . . . . .

39

5 Comportamentos Adaptativos
1.

2.

41

Aprendizado supervisionado . . . . . . . . . . . . . . . . . . . . . . . .

42

1.1.

A Regra Delta . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

1.2.

A Regra Delta Generalizada . . . . . . . . . . . . . . . . . . . .

45

1.3.

Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

46

Aprendizado por Reforco . . . . . . . . . . . . . . . . . . . . . . . . . .

46

2.1.

Modelo Padrao de Aprendizado com Reforco . . . . . . . . . . .

47

2.2.

Algoritmos de AR . . . . . . . . . . . . . . . . . . . . . . . . .

48

Lista de Figuras
1.1

Interaca o do robo com o ambiente atraves de percepca o (realizada pelos


sensores) e aca o (executada pelos atuadores). . . . . . . . . . . . . . . .

Escala de comportamentos para robo moveis, de acordo com a complexidade do plano. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

2.2

Metodo de projeto baseado em etologia. . . . . . . . . . . . . . . . . . .

14

2.3

Metodo de projeto baseado em atividade situada. . . . . . . . . . . . . .

15

2.4

Metodo de projeto guiado por experimentaca o. . . . . . . . . . . . . . .

16

2.5

Campo potencial associado a um comportamento contnuo de rejeica o do


obstaculo representado pelo pequeno quadrado. Apenas alguns vetores
estao representados, pois o campo e contnuo. O robo R devera produzir
a aca o indicada pela magnitude e direca o do vetor do campo cuja origem
coincide com a posica o do seu centro. . . . . . . . . . . . . . . . . . . .

19

2.6

Coordenaca o cooperativa entre comportamentos. . . . . . . . . . . . . .

22

3.1

Um exemplo simples da arquitetura subsumption. . . . . . . . . . . . . .

25

3.2

Um exemplo simples da arquitetura baseada em campos potenciais. . . .

26

3.3

Planejamento hierarquico usado em arquiteturas deliberativas. . . . . . .

27

3.4

Arquitetura deliberativa NHC. . . . . . . . . . . . . . . . . . . . . . . .

28

3.5

Arquitetura deliberativa RCS. . . . . . . . . . . . . . . . . . . . . . . . .

29

3.6

Arquitetura hbrida AuRA - Autonomous Robot Architecture. . . . . . .

30

3.7

Arquitetura hbrida Atlantis . . . . . . . . . . . . . . . . . . . . . . . . .

31

3.8

Arquitetura hbrida Planejador/Reator . . . . . . . . . . . . . . . . . . .

31

3.9

O robo AMELIA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

4.1

Esquema da arquitetura ALLIANCE, implementada em cada robo de um


time cooperativo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

Exemplo de competico es de futebol de robos: 1. Esquerda superior: FIRA MiRoSoT, 2. Direita superior: RoboCup - Liga Legged, com caes
robos, 3. Inferior: RoboCup - Liga Mid-sized. . . . . . . . . . . . . . . .

39

2.1

4.2

4.3

Time Guarana, vice-campeao mundial da FIRA MiRoSoT de 1998. a)


Construca o fsica dos robos. b) Condica o de troca de papeis entre atacante e defensor - quando defensor posiciona-se numa a rea definida por
um triangulo atras da bola, na direca o do gol adversario, o atacante vira
defensor e vice-versa. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40

5.1

Aprendizado Supervisionado . . . . . . . . . . . . . . . . . . . . . . . .

43

5.2

Representaca o de um Neuronio Padrao . . . . . . . . . . . . . . . . . . .

43

5.3

Rede Neural Multi-Camadas . . . . . . . . . . . . . . . . . . . . . . . .

45

5.4

Modelo padrao de aprendizado com reforco. . . . . . . . . . . . . . . . .

47

5.5

Pioneer 1 Gripper. Este robo e montado sobre um eixo de duas rodas, sete
sonares, sendo cinco frontais e dois laterais . . . . . . . . . . . . . . . .

50

(a) Planta do ambiente real onde o robo recolheu objetos e aprendeu a


navegar (4m7m); (b) e (c) ambientes construdos no simulador, com
8m8m e 10m15m respectivamente. . . . . . . . . . . . . . . . . . . .

51

5.6

Captulo 1
Introduca o
Robos moveis inteligentes sao agentes artificiais ativos, com capacidade de locomoca o,
imersos no mundo fsico real. Agentes por atuarem de forma racional; artificiais por
serem maquinas e nao entidades criadas pela natureza; ativos por atuarem no ambiente de
forma propositada, nao passiva; com capacidade de locomoc a o por poderem se mover no
ambiente.
Um robo movel inteligente, ou simplesmente robo movel, pode extrair
informaco es do ambiente no qual esta imerso e usar seu conhecimento sobre um determinado domnio para realizar tarefas atraves da execuca o de ciclos de interaca o com o
ambiente, da seguinte maneira (Figura 1.1):





percebe a situaca o do ambiente atraves dos seus sensores;


determina aca o (ou aco es) a executar, eventualmente raciocinando para interpretar
percepco es e resolver problemas;
executa uma aca o, atraves dos seus atuadores, que afeta as condico es do ambiente
e produz novas situaco es.

O fato de ser inteligente indica que o robo atua de forma racional, isto e , que
ele alcanca o sucesso esperado na execuca o da tarefa a ele designada, dado o que foi
por ele percebido a respeito do ambiente. O grau de sucesso de sua atuaca o pode ser
definido por uma medida de desempenho, que o robo visa maximizar. Assim, considere

do robo com o ambiente atraves


de percepcao
(realizada
Figura 1.1: Interacao
(executada pelos atuadores).
pelos sensores) e acao

que seja designada a um robo movel a tarefa de percorrer, sem colisoes, o trajeto de um
ponto a outro de uma fabrica. Se o robo conseguir executar esta tarefa com sucesso,
conduzindo-se ate o local desejado e desviando dos eventuais obstaculos, diz-se que ele
agiu racionalmente e que, portanto, e inteligente. Se o tempo de percurso for utilizado
como medida de desempenho, o grau de sucesso na execuca o da tarefa sera tanto maior
quanto menor for o tempo que ele levar para realizar o percurso, evitando colisoes.
O projeto de robos moveis que possam interagir com o mundo real, de maneira
robusta e versatil, e , na verdade, muito mais difcil do que inicialmente pensado [13], uma
vez que o mundo real apresenta uma natureza ruidosa, imprevisvel e dinamica. No entanto, alguns problemas considerados intrataveis tornaram-se consideravelmente simplificados pela participaca o ativa do robo no ambiente, atraves de seu ciclo de percepca o-aca o.
Devido a` combinaca o da natureza imprevisvel do mundo real com as restrico es
de tempo frequentemente impostas pela tarefa a ser executada, grande parte das pesquisas
realizadas em robos moveis tem sido restrita a desenvolvimentos de sistemas onde as
aco es sao completamente determinadas pelas situaco es imediatas do ambiente, detectadas
pelos sensores do robo.
Por outro lado, um robo movel que raciocina mais profundamente para decidir sobre suas aco es pode iniciar alguma atividade independentemente das situaco es imediatas
detectadas pelos seus sensores, e organizar a sequencia de aco es a ser executada considerando antecipadamente futuras configuraco es do ambiente. Esta habilidade reside no fato
de que, apesar do mundo real ser complicado e com um certo grau de imprevisibilidade,
ele tambem exibe uma estrutura que pode ser explorada pelo robo.
Um grande desafio no projeto de robos moveis consiste em definir compromissos
adequados, de tal modo que o robo exiba um comportamento apropriado sempre que
necessario, seja em nao continuar raciocinando sobre um evento futuro enquanto eventos
imprevistos ocorridos no ambiente exijem reaca o rapida e imediata, seja em evitar que a
percepca o interrompa constantemente seu raciocnio.
Diversas questoes devem ser analisadas no projeto e desenvolvimento de robos
moveis, tais como:








Quao complexa e a tarefa designada ao robo movel?


Quais sao as restrico es de tempo da tarefa a ser executada?
Que facilidades e/ou dificuldades sao impostas pelo ambiente?
Quanta e quao boa e a informaca o possvel de ser captada pelos sensores do robo?
Quais sao as limitaco es dos atuadores do robo?
Quanto de conhecimento para antecipaca o de configuraco es do ambiente deve ser
mantido pelo robo?

Algumas vezes, no entanto, a tarefa a ser executada e tao complexa que fica muito
difcil atribuir a um u nico robo a incumbencia de realiza-la; assim, neste caso, pode ser
apropriado o uso de times de robos. Tarefas adequadas para atribuir a times de robos sao
aquelas que possuem caractersticas inerentemente distribudas, tanto em espaco, quanto
em tempo ou funcionalidade, como, por exemplo, exploraca o (subaquatica, planetaria,
etc), busca e resgate (de pessoas, plantas, animais, objetos), remoca o de minas terrestres,
inspeca o de tubulaco es (ar condicionado, de a gua, esgoto, etc), combate a incendios em
campos e florestas, limpeza de grandes a reas (estacionamentos, praias), etc.

Tambem pode ser interessante dotar o robo com a capacidade de se adaptar a


mudancas que ocorram no ambiente. A capacidade de aprender incute esta habilidade
adaptativa aos robos, a qual pode se manifestar em diversas dimensoes: na geraca o e
aprimoramento de polticas apropriadas de comportamentos, no aumento da eficiencia
da percepca o e atuaca o, na melhoria da coordenaca o da atuaca o conjunta de um time de
robos, entre outras.
Estas e outras questoes sao enderecadas neste curso, que tem por objetivo fornecer
noco es teoricas basicas do projeto e funcionamento de robos moveis.

1. Organizaca o do texto
Este texto esta dividido em 5 captulos, onde o primeiro define robos moveis inteligentes
e os outros fornecem as noco es teoricas basicas e as praticas associadas ao projeto e
funcionamento de robos moveis.
No Captulo 2 sao descritos dois paradigmas da robotica movel: Reativo e Deliberativo. Este captulo tambem fornece os princpios basicos da interaca o do robo com
o ambiente e conclui apresentando uma formalizaca o para comportamentos dos robos
moveis e uma descrica o das funco es principais de coordenaca o de comportamentos.
No Captulo 3 sao apresentadas as arquiteturas de comportamentos, com exemplos
representativos de arquiteturas reativas, arquiteturas deliberativas e arquiteturas hbridas
reativa/deliberativa. O estudo de arquiteturas representativas e suas aplicaco es mostra
modos diferentes de se utilizar componentes e ferramentas associados a um paradigma,
na construca o de robos moveis inteligentes.
No Captulo 4 e discutido como times de robos moveis podem ser utilizados,
descrevendo-se aplicaco es tpicas para multiplos robos. Sao tambem definidas caractersticas dos times e descritas algumas arquiteturas representativas na a rea e suas
aplicaco es.
Finalmente, o Captulo 5 aborda adaptaca o do robo atraves do aprendizado, de
modo a capacita-lo a melhorar seu desempenho para executar uma determinada tarefa.
Sao descritas tecnicas de aprendizado supervisionado e de aprendizado por reforco, que
sao os tipos de aprendizado mais comumentemente usados em robotica movel.

Captulo 2
Comportamentos em Robos Moveis
A atuaca o de robos moveis e definida a partir de um entre dois paradigmas basicos: o
paradigma reativo e o paradigma deliberativo. Reatividade corresponde a mapeamentos
simples, ligando estmulos sensoriais a respostas (aco es), enquanto que deliberaca o implica um estagio intermediario de planejamento, baseado em um modelo do ambiente
no qual o robo atua. Neste captulo, estes paradigmas de atuaca o serao definidos e contrastados. A seguir, serao apresentados os elementos fsicos correspondentes a` interaca o
do robo com o ambiente externo: os sensores (em seus varios tipos) e os mecanismos
de atuaca o mais comuns. Na segunda parte do captulo, sera apresentado o conceito de
comportamento, uma funca o que relaciona de modo generico os estmulos sensoriais a
respostas produzidas. Um enfoque baseado em comportamentos sera entao proposto e
justificado como uma base adequada para o estudo de robos moveis inteligentes, e alguns
dos metodos mais comuns para a implementaca o de comportamentos serao discutidos.
Finalmente, serao apresentados alguns aspectos adicionais deste enfoque: codificaco es
matematicamente consistentes e mecanismos para a coordenaca o de multiplos comportamentos.

1. O que significa Reatividade?


Considere o que ocorre ao tocarmos com a mao um objeto muito quente: imediatamente,
uma aca o reflexa de afastamento da mao e executada, sem que tenhamos a chance de
raciocinar sobre o que aconteceu, e sobre que medida seria a mais apropriada a tomar na
situaca o. O nosso cerebro nao e chamado a atuar neste caso porque nao ha um problema a
ser resolvido que exija raciocnio: a integridade do nosso corpo esta em jogo, e a evoluca o
dotou o homem e outros animais de uma capacidade de reaca o rapida a situaco es que a
exijam.
Uma capacidade deste tipo tambem pode ser implementada em robos moveis.
Assim como no homem, tal capacidade nao requer intermediaca o do cerebrodo robo:
ao ser apresentado o estmulo (por exemplo, calor excessivo medido por um sensor de
temperatura), o robo deve imediatamente executar uma aca o pre-definida. No exemplo,
uma aca o reativa tpica seria um comando aos motores das rodas para que afastem o robo
da direca o da fonte de calor. Considere por exemplo um robo movel de base circular, com
um sensor de temperatura localizado a` frente. Uma implementaca o tpica de capacidade
8

reativa seria:
SE (medida de sensor de temperatura `
a frente > 50 graus)
ENTAO (reverta o movimento das rodas)
que faz com que o robo se afaste da fonte de calor. Observe que a reaca o e implementada
de forma muito simples: corresponde a uma reaca o (reverter movimento das rodas) a um
estmulo observado pelo robo (calor sentidopelo sensor de temperatura).

2. O que significa Deliberaca o?


Um robo inteligente pode tentar construir um modelo interno representando o ambiente
no qual esta inserido. Se um problema fosse entao designado ao robo, este poderia tentar
primeiro explorar o espaco de soluco es obtidas a partir de seu modelo interno, gerando
um plano de atividades e, entao, realizar a aca o fsica propriamente dita, atraves de seus
atuadores. A geraca o deste plano de atividades e conhecida como deliberaca o ou planejamento, e corresponde portanto a um mecanismo que define como uma sequencia de
aco es deve ser realizada, considerando o estagio de execuca o da tarefa e tendo em vista o
objetivo a ser alcancado.
Diferentemente de uma aca o reativa, uma aca o escolhida via deliberaca o envolve
uma analise do modelo interno, nao correspondendo portanto a um simples mapeamento
entre sensores e atuadores. Embora seja teoricamente possvel a geraca o de um u nico
plano de aco es a partir de um modelo interno fiel ao domnio (ou seja, escolha de uma
sequencia de aco es a partir de uma u nica deliberaca o), na pratica novos planos devem ser
criados a` medida que o robo interage com o seu ambiente, pois aspectos nao modelados
quase sempre se apresentam com frequencia em problemas reais. A geraca o de um novo
plano para compensar deficiencias de um plano original e conhecida como replanejamento.

3. Sensores e Atuadores para Robos Moveis


Robos moveis interagem com o ambiente atraves de sensores, que correspondem aos
sentidos do robo, e atuadores, que permitem que o robo se movimente, manipule objetos
ou direcione seus sensores para regioes de interesse. Nesta seca o, sao apresentados os
sensores e atuadores mais comumentemente usados em robos moveis. As caractersticas
fsicas destes sao importantes, pois delas dependem fortemente as capacidades de um robo
movel. Nos u ltimos anos, este fato tem se evidenciado na importancia dada ao projeto
e analise de desempenho realizados quase totalmente em robos reais, mesmo quando
resultados em simulaca o se mostram suficientemente bons.
3.1. Sensores
Os sensores u teis em Robotica Movel se dividem em duas categorias:
Sensores Ativos Sao aqueles que gastam energia de forma propositada para captar a
informaca o de interesse. Tipicamente, esta energia e dispendida na forma de um
pulso (luz, som, etc.), que e refletido por algum elemento do ambiente externo e
captado de volta pelo proprio sensor. Os mais comuns sao:

Sonares Um sonar e um dispositivo que emite e detecta pulsos em uma frequencia


de som apropriada. Com base no tempo necessario para que o pulso refletido seja detectado, pode-se estimar a distancia do objeto que produziu a
reflexao relativamente ao sonar, em um processo similar ao usado por morcegos e golfinhos. Sao sensores baratos, capazes de medir com precisao
razoavel em uma faixa relativamente grande de distancias.
Emissores/Sensores de Infravermelho Sao similares aos sonares, porem operam em frequencias muito mais altas (radiaca o na faixa de infravermelho).
Os mais simples sao LEDs emissores de luz acoplados a receptores, baratos e pequenos, porem muito ruidosos.
Sensores Laser Emitem e detectam pulsos de radiaca o laser de baixa potencia.
Tem maior acuracia do que outros sensores ativos. Um feixe de radiaca o
laser refletido a partir de um obstaculo, por exemplo, pode ser usado para
construir uma imagem razoavelmente precisa que identifica as distancias
de cada ponto do obstaculo relativamente ao robo. Sensores laser, porem,
ainda sao muito caros para a maioria das aplicaco es.
Sensores Passivos Nenhuma energia e emitida pelo sensor com o objetivo explcito de
obter uma reflexao detectavel. Isto nao quer dizer que estes sensores nao gastem
alguma forma de energia para se manterem operacionais. Os mais comuns sao os
seguintes:
Odometria Realizada por dispositivos usualmente acoplados aos motores ou eixo
das rodas, que estimam a distancia linear percorrida pelo robo atraves da
contagem do numero de giros das rodas, em um processo conhecido como
dead-reckoning. A medida fornecida por esses sensores e muito imprecisa,
devido a imprecisoes de manufatura de rodas (variaco es de raio nominal),
deslizamento em superfcies lisas e irregularidades do terreno.
Sensores de Choque Estes sensores normalmente consistem em um arranjo formado por dois fios condutores (um externo e um interno), separados por
uma pequena distancia e colocados no permetro do robo (geralmente
proximo a` base). Ao se chocar com um obstaculo, o fio mais externo e
empurrado na direca o do fio interno, fechando um circuito e produzindo
um sinal eletrico interpretado como uma colisao. A sensibilidade a choques pode ser ajustada para diferentes pressoes de contato entre os fios.
Cameras Assim como em seres humanos, a capacidade de visao e extremamente
u til em robos moveis. A maioria das cameras em uso sao baseadas na tecnologia CCD (charged coupled device), em que a luz incide sobre uma matriz de capacitores fotossensveis produzindo uma imagem, normalmente
disponibilizada na forma analogica. Circuitos de conversao A/D dedicados de baixo custo (framegrabbers) sao utilizados para transformar essas
imagens para o formato digital, adequado para processamento computacional. Cameras digitais, cujo custo tem cado sensivelmente nos u ltimos
anos, utilizam CCDs acoplados a conversores A/D que produzem diretamente uma sada digital, dispensando o uso de framegrabbers. E comum
o uso de duas ou mais cameras montadas sobre um robo movel, de modo
a permitir visao com informaca o de profundidade (visao estereoscopica).
GPS Um sistema GPS (Global Positioning System) acoplado a um robo movel
funciona recebendo sinais de satelites e combinando-os para estimar a

posica o do robo relativamente a um sistema de coordenadas locais. Por ser


uma tecnica de estimaca o local, GPS equivale a um processo de odometria,
so que muito mais preciso. Alguns sistemas mais sofisticados, no entanto,
permitem estimaca o de posica o relativa a um sistema global de coordenadas. O preco comercial de sistemas GPS tem cado muito nos u ltimos
anos, tornando-o um tipo de sensor a ser considerado em aplicaco es de
baixo custo.
3.2. Atuadores
Embora atuadores tais como bracos mecanicos sejam u teis em tarefas que envolvam
manipulaca o ou exame de objetos no ambiente, consideramos aqui apenas os mais importantes em um robo movel, ou seja, aqueles responsaveis por sua locomoca o. Uma
descrica o detalhada a respeito de atuadores nao-realcionados a` locomoca o pode ser encontrada em [3].
Rodas Sao os atuadores mais usados em robos moveis. A configuraca o mais comum
e a baseada em drive diferencial, na qual duas rodas sao montadas em um eixo
comum e comandadas por dois motores independentes. Normalmente, este arranjo requer uma terceira roda de apoio para manter o equilbrio do robo. Uma
configuraca o mais estavel e similar a` quela utilizada em automoveis consiste em
uma ou duas rodas ligadas a um eixo movel (para realizaca o de curvas), e um segundo par de rodas em um eixo fixo, comandadas por um motor para controle de
velocidade linear. Esta configuraca o, porem, tem a desvantagem de nao permitir
que o robo gire em torno do prorpio centro. Em geral, a locomoca o baseada em
rodas tem fraco desempenho em terrenos nos quais as irregularidades tem altura
nao desprezvel quando comparadas ao raio das rodas.
Hastes A locomoca o baseada em hastes que se assemelham a pernas ou patas de insetos
pode ser interessante em robos que se deslocam em ambientes especficos, tais
como aqueles com escadas, regioes muito ngremes, etc. Em geral, o projeto
de sistemas para controlar o movimento destes atuadores (que tem no mnimo
dois graus de liberdade) e bastante complexo. O custo desses sistemas tambem
e relativamente alto, ja que pelo menos dois motores sao necessarios em cada
perna.
Lagartas A locomoca o baseada em lagartas e interessante nos casos em que o robo deve
se mover em terrenos acidentados ou pouco estaveis. Em geral, porem, um robo
movendo-se sobre lagartas e muito pouco eficiente: a fricca o das rodas dentro das
lagartas e o deslizamento das esteiras durante os movimentos de giro sao grandes
dissipadores de energia.

4. Comportamentos: Definica o
Um comportamento relaciona estmulos sensoriais a aco es produzidas sobre os atuadores
do robo, de acordo com um plano realizado a partir de um modelo interno do ambiente:

a = c(s; p)

(2.1)

Cada comportamento implementado em um robo corresponde a uma funca o deste tipo.


De acordo com a complexidade do plano, e possvel definir uma escala crescente de complexidade do comportamento: no extremo mais simples desta escala estao os comportamentos reativos, que nao utilizam planos; no extremo oposto estao os comportamentos
deliberativos mais complexos, ou seja, baseados em planos que utilizam um modelo interno de alto grau de detalhamento (Figura 2.1).
comportamento
reativo
Complexidade do plano
sem plano
(nenhum
modelo
interno)

comportamento
deliberativo
complexo
com plano
(modelo
interno
complexo)

Figura 2.1: Escala de comportamentos para robo moveis,


de acordo com a complexidade do plano.

E interessante notar que a definica o dada pela Equaca o 2.1 nao faz referencia
explcita ao processamento da informaca o fornecida pelos sensores. Desde que esta informaca o nao seja usada para a criaca o de um modelo global (a partir do qual
seria gerado um plano), admite-se que comportamentos reativos possam processar a
informaca o sensorial usando algoritmos de razoavel grau de sofisticaca o. O processamento da informaca o sensorial neste caso e dito propositado, ou seja, e feito com o proposito
de satisfazer unicamente as exigencias relativas ao comportamento, para o estmulo em
questao. Uma caracterstica importante deste tipo de processamento de informaca o e ser
centrado no robo: como nao se produz um modelo global, todas as referencias de posica o,
velocidade, etc. sao relativas a um sistema de coordenadas local ao robo.
O processamento da informaca o sensorial a partir de varios sensores distintos (tais
como os apresentados na seca o 3.1.) de modo a se adquirir uma informaca o de melhor
qualidade que combine as melhores caractersticas dos sensores envolvidos e comumente
chamado de fusao sensorial.
4.1. Exemplos
Esta seca o apresenta dois exemplos simples de comportamentos, um reativo e um deliberativo.
Um Comportamento Reativo para Evitar Obstaculos
Considere um robo movel de base circular e duas rodas, acionadas por motores independentes e com controle de velocidade. Considere ainda que este robo tem um conjunto de
seis sensores de infra-vermelho, sendo tres destes posicionados no hemisferio direito do
robo e tres no hemisferio esquerdo. Como mencionado na seca o 3.1., sensores de infravermelho saturam quando existe um objeto (obstaculo, parede, etc.) posicionado a uma
distancia pequena do sensor. Seja portanto L o valor de saturaca o para estes sensores.
Caso os sensores do lado direito saturem, e natural desviar o robo para o lado esquerdo.

Analogamente, caso os sensores do lado esquerdo saturem, o robo deve girar para o lado
direito. Assim, o conjunto de regras:
SE (leitura(algum sensor do lado direito) > L)
ENTAO (aplique vel.< 0 na roda esquerda, vel.> 0 na roda direita)
SENAO
(SE (leitura(algum sensor do lado esquerdo) > L)
ENTAO (aplique vel.> 0 na roda esquerda, vel.< 0 na roda direita)
SENAO
(aplique vel.> 0 nas duas rodas))
faz com que o robo desvie de obstaculos na presenca destes e siga em frente no caso
contrario. Observe que o comportamento e completamente reativo: o mapeamento entre
sensores e atuadores e direto, implementado por regras de produca o e sem necessidade
de um estagio intermediario de deliberaca o. Comportamentos reativos como este e outros
mais complexos foram analisados por Braitenberg [11], em um livro classico da literatura
de Robotica Movel.
Um Comportamento Deliberativo para Aproximaca o de Alvo
Considere um robo em um ambiente formado por salas, corredores e portas, cuja tarefa e
aproximar-se de um objeto (alvo) posicionado em algum ponto de uma das salas. Segundo
o enfoque deliberativo, este problema e resolvido por meio de tecnicas de planejamento
de trajetorias, caracterizadas por:





Disponibilidade para uso pelo robo de a) um mapa do ambiente que inclui a


posica o do alvo e do proprio robo e b) um modelo dos efeitos das aco es do robo
no mapa. Este conhecimento constitui o modelo interno do domnio.
Um algoritmo para calculo de trajetorias sobre o mapa, cuja aplicaca o corresponde
ao processo de deliberaca o.
Um algoritmo de replanejamento que, a partir das observaco es sensoriais, possibilite ao robo atualizar seu modelo interno e reaplicar o algoritmo de planejamento,
caso seja necessario.

Para cada um destes estagios, existem varias tecnicas descritas na literatura especializada.
O aspecto mais crtico, porem, e a obtenca o e atualizaca o do modelo interno.

5. Metodos para Implementaca o de Comportamentos


Do ponto de vista de Engenharia, e essencial que o projeto de um robo movel inteligente
seja realizado de acordo com um conjunto de princpios e regras, correspondentes a um
metodo ou modo de proceder. Sao apresentados a seguir alguns dos metodos mais comuns
para auxiliar o projeto de robos moveis inteligentes.
5.1. Metodos baseados em Etologia
A Etologia estuda os habitos dos animais e sua acomodaca o a` s condico es do ambiente.
Como frequentemente ocorre em Engenharia, modelos comportamentais obtidos a partir

de estudos nas Ciencias Biologicas tem sido traduzidos (apos grande simplificaca o) em
modelos aplicaveis a entidades artificiais (no nosso caso, robos moveis). As conclusoes
fundamentais que os estudos em Etologia tem demonstrado sao:
1. Comportamentos complexos podem ser obtidos a partir de comportamentos mais
simples (frequentemente puramente reativos).
2. Informaca o sensorial so e utilizada se for necessaria para a execuca o do comportamento em questao.
3. Existem mecanismos de coordenaca o atuantes quando varios comportamentos
estao ativos.
4. Os indivduos tem comportamentos que sao adequados para o ambiente (nicho)
em que vivem.
A adoca o da Etologia como uma base para a implementaca o de comportamentos nao exige
que se siga uma linha de projeto puramente reativa. A Figura 2.2 ilustra um metodo de
projeto baseado em Etologia para a implementaca o de comportamentos em robos moveis.
~

Obtenao
do Modelo

Etologico

^
Transferencia
do Modelo
para Robo^

Aperfeioamento
do Modelo

~
Execuao
de
Experimentos

Execuao de
Novos Experimentos

Etologicos

~
Avaliaao
de
Resultados

Resultados
Bons?

Projeto
Finalizado

Figura 2.2: Metodo


de projeto baseado em etologia.

5.2. Metodos baseados em Atividade Situada


Estes metodos para implementac a o de comportamentos baseiam-se na ideia de que cada
comportamento deve ser definido e projetado para situac o es especficas que o robo pode
encontrar. O projeto do robo e iniciado com a identificac a o detalhada de todas estas

situac o es. A seguir, sao criadas as respostas adequadas para cada situac a o, considerandose as limitac o es fsicas do robo e as caractersticas do ambiente. Os comportamentos
produtores de tais respostas sao entao projetados e implementados. Uma avaliac a o e
feita e realiza-se um processo de ajuste em que os comportamentos sao aperfeic oados
varias vezes. Diferentemente do enfoque baseado em Etologia, metodos baseados em
atividade situada nao procuram uma analogia entre os comportamentos desenvolvidos
para as situac o es e seus possveis similares biologicos. A Figura 2.3 ilustra os passos do
desenvolvimento de projeto para metodos baseados em atividade situada.

Analise

do Dominio

Definiao
~
das Situaoes

~
Criaao
de
Respostas
Situacionais

Projeto de
Comportamentos

Aperfeioamento
dos Comportamentos

Execuao de
Experimentos
no Robo^
N
~

Avaliaao de
Resultados

Resultados
Bons?
S

Projeto
Finalizado

Figura 2.3: Metodo


de projeto baseado em atividade situada.

5.3. Metodos Guiados por Experimentaca o


Metodos guiados por experimentac a o definem inicialmente um conjunto mnimo de comportamentos, desenvolvidos a partir de uma analise previa de situac o es, similar a` quela
realizada em metodos baseados em atividade situada. Este conjunto mnimo e entao
avaliado por intermedio de experimentos, e novos comportamentos sao adicionados para
compensar os defeitos daqueles presentes, ate que se obtenha um desempenho satisfatorio
(Figura 2.4).


Analise

do Dominio

Projeto

Minimo

~
Execuao
de
Experimentos
no Robo^

~
Adiao
de Novos
Comportamentos

Avaliaao de
Resultados

N
Resultados
Bons?
S

Projeto
Finalizado

Figura 2.4: Metodo


de projeto guiado por experimentac ao.

6. Codificaca o de Comportamentos
No incio deste captulo, definiu-se um comportamento como uma func a o que mapeia
estmulos sensoriais em ac o es, possivelmente de acordo com um plano preparado a partir
de um modelo interno do domnio. Nesta sec a o, identificam-se de forma mais precisa os
parametros necessarios para definir as ac o es do robo e os estmulos sensoriais. A seguir,
sera apresentado um formalismo apropriado para a definic a o e analise de comportamentos
e sua coordenac a o em robos moveis. Finalmente, sera apresentada uma classificac a o para
as func o es mais comuns de coordenac a o de comportamentos.
6.1. Parametrizaca o de Aco es
Do ponto de vista cinematico, uma ac a o em Robotica Movel objetiva transladar ou rotacionar o robo. Do ponto de vista dinamico, uma ac a o corresponde a uma forc a ou momento
aplicado ao robo, de modo a produzir o movimento desejado. O estudo de robos moveis
segundo o enfoque de Inteligencia Artificial nao considera os aspectos de possibilidade
dos movimentos (tais como nao-holonomicidade 1), que sao normalmente estudados em
Teoria de Controle. Para todos os efeitos, consideramos aqui que uma dada ac a o corresponde a uma realizac a o de alto nvel, que pode corresponder a um ou mais controladores
de baixo nvel de projeto bastante complexo. Exemplos de ac o es de interesse sao:

Girar

90 graus para a esquerda.

1
Um robo e dito nao-holonomico quando existem restric o es de movimento impostas por limitac o es
fsicas, tais como maximo a ngulo de giro das rodas




20

Avanc ar cm.
Manter velocidade constante de 12 cm. / seg.

cada uma das quais sendo implementada por um controlador projetado de acordo com
tecnicas de Controle, considerando-se o sinal de controle disponvel (por exemplo, a
tensao aplicada em motores que controlam a velocidade de giro das rodas).
De modo geral, os parametros que definem uma ac a o a de movimento aplicada a
um robo movel sao a sua magnitude M e sua direc a o D . Assim,

a = a(M; D)

(2.2)

Para os exemplos acima, teramos respectivamente:

 M = 90, D = Esquerda
 M = 20, D = Para frente
 M = 12, D = Para frente

Naturalmente, cada uma destas ac o es e projetada a partir de um ou mais controladores de baixo nvel.
6.2. Parametrizaca o de Estmulos
A parametrizac a o dos estmulos depende muito do tipo de sensor considerado. Por
exemplo, um sensor de infra-vermelho para detecc a o de obstaculos pode ter como u nico
parametro a intensidade instantanea da radiac a o de infra-vermelho captada, enquanto a
informac a o fornecida por uma camera CCD pode ser parametrizada pela intensidade de
brilho para cada pixel em uma matriz bidimensional.
Normalmente, existe um valor limiar L es a partir do qual um estmulo sensorial e
detectavel pelo sensor correspondente. Este limiar e uma caracterstica fsica do sensor.
Um outro valor limiar Lsr , a partir do qual o estmulo, tal como captado pelo sensor, pode
disparar (evocar) uma resposta por um dado comportamento. Este limiar e um parametro
de projeto.
O limiar Lsr introduz portanto uma segunda func a o para uma percepc a o sensorial:
alem de guiar, ou seja, servir como elemento do domnio para a func a o c s; p , existe
tambem uma func a o de disparo (releasing), que pode nao envolver os mesmo sensores
usados para a guiagem. Considere por exemplo o disparo de um alarme de incendio em
um cinema: a audic a o deste alarme (um estmulo auditivo) acima do seu limiar disparara
um comportamento de fuga, guiado basicamente por estmulos visuais (evitar obstaculos,
procurar a sada, etc.), olfativos (evitar regioes com cheiro de fumac a) e tateis (evitar
calor).

( )

6.3. Uma Formalizaca o para Comportamentos e sua Coordenaca o


Formalizaca o para Comportamentos
Em geral, cada comportamento ci mapeia (possivelmente de modo nao-determinstico)
um conjunto de estmulos fs i 1 ; si 2 ; : : : ; si ki g e um plano pi em uma ac a o ai . Assim, para
um robo movel baseado em um conjunto de n comportamentos, temos:

a1

c1 ([s1 1 s1 2 : : : s1 k1 ]; p1 ; w1 )

(2.3)

a2
..
.

an

=
=

c2 ([s2 1 s2 2 : : : s2 k2 ]; p2 ; w2 )

..
.

cn ([sn 1 sn 2 : : : sn k ]; pn ; wn )
n

( = )

onde wi e um parametro aleatorio cuja distribuic a o de probabilidade P wi


w e um
k
i
parametro de projeto. Cada comportamento ci e portanto uma func a o ci < P < 7!
A [ , cujos argumentos sao um vetor real i de tamanho ki formado pelos estmulos
si 1 si 2 : : : si ki ), um plano pi 2 P convenientemente codificado (P representa o
( i
espac o de possveis planos), e uma perturbac a o aleatoria wi 2 <, presente apenas quando
o comportamento considerado e definido como nao-determinstico. Ao conjunto de ac o es
possveis A e acrescido uma ac a o inocua , que atua apenas como uma marca para indicar
a inatividade do comportamento correspondente. Uma notac a o vetorial equivalente a 2.4
e :
; ;
(2.4)

s =[

A = C(S P W)

onde

S = [s1 s2 : : : sn]T e a matriz de estmulos;


P = [p1 p2 : : : pn]T e o vetor de planos;
W = [w1 w2 : : : wn]T e o vetor de perturbac o es;
C(S; P; W) = [c1(s1; p1; w1) c2(s2; p2; w2) : : : cn(sn; pn; wn)]T e vetor de comportamentos do robo;
 A = [a1 a2 : : : an ] e o vetor de ac o es definidas pelos comportamentos.





Mapeamentos Discretos e Contnuos


E importante observar que a formalizac a o acima admite tanto codificac o es discretas como
contnuas para o mapeamento de estmulos sensoriais e planos em ac o es.
Codificac o es discretas referem-se a` quelas em que o comportamento em questao
corresponde a um conjunto finito de pares (situac a o,aca o), onde o primeiro termo identifica um subconjunto de estmulos sensoriais e planos para o qual a ac a o correspondente e
produzida pelo comportamento. Codificac o es discretas admitem uma realizac a o em termos de regras de produc a o, tal como normalmente consideradas em sistemas de produc a o

(regras do tipo SE-ENTAO-SEN


AO)
[35]. Um exemplo de codificac a o discreta para um
comportamento reativo foi apresentado na sec a o 4.1.
Codificac o es contnuas sao aquelas em que o comportamento e representado por
uma relac a o funcional como a da equac a o 2.4, em que o mapeamento entre estmulos
sensoriais e ac o es correspondentes e contnuo. Uma implementac a o tpica de codificac a o
contnua para comportamentos reativos e a tecnica de campos potenciais [19], que associa
um vetor de ac a o a cada estado em um espac o contnuo (possivelmente estimado por um
modelo interno). Um exemplo tpico e um comportamento reativo repulsivo a obstaculos.
A ac a o calculada tem a direc a o da linha imaginaria ligando o robo a` posic a o do obstaculo,
o sentido e o de afastamento relativo ao obstaculo, e a magnitude e :

a=

K
d2

(2.5)

onde K e uma constante convenientemente escolhida e d e a distancia Euclidiana entre


o robo e o obstaculo. Um comportamento deste tipo gera um campo potencial como
ilustrado na Figura 2.5. Note porem que este campo nao precisa ser calculado durante
o projeto do comportamento: quando ativado, o comportamento calcula o vetor de ac a o
apenas para a situac a o correspondente.

Figura 2.5: Campo potencial associado a um comportamento contnuo de


do obstaculo

rejeicao
representado pelo pequeno quadrado. Ape representados, pois o campo e contnuo. O
nas alguns vetores estao
indicada pela magnitude e direcao
do
robo R devera produzir a acao
do seu centro.
vetor do campo cuja origem coincide com a posicao

Formalizaca o para a Coordenaca o de Comportamentos


A coordenac a o dos varios comportamentos ci e feita por uma funca o de coordenaca o Cc
tal que:
a Cc
; ; ; ;
Cc ; ;
(2.6)

= (C(S P W) S P) = (A S P)

onde a denota a ac a o resultante da coordenac a o dos comportamentos. Observe que a


coordenac a o dos comportamentos pode depender explicitamente de informac o es sensoriais e de planos. Sem perda de generalidade, considere que estes sao tambem utilizados
por algum ou varios dos comportamentos definidos 2 .
Como um exemplo simples, considere um robo movel equipado apenas com sensores de proximidade, atuando em um ambiente formado por paredes e obstaculos e realizando uma tarefa de explorac a o. Este robo deve combinar dois comportamentos basicos:
2
Caso a informaca o sensorial ou um plano sejam exclusivamente usados pela funca o de coordenaca o,
pode-se incorporar ao modelo um comportamento dummy com sada  (ac a o inocua indicando comportamento inativo), cujos argumentos sao precisamente as leituras dos sensores correspondentes e o plano em
questao.

Comportamento c1 : Evitar Obstaculos , que pode ser implementado conforme o


exemplo mencionado na sec a o 4.1.
Comportamento c2 : Explorar o Ambiente , que pode ser implementado por comandos
aleatorios de avanc o e rotac a o.
Temos, portanto:

C(S; P; W) = [c1(s1) c2(w2)]T

(2.7)

Observe que nenhum dos comportamentos requer um plano para definir as respectivas
ac o es (comportamentos puramente reativos). O comportamento c 1 e determinstico (ac o es
bem definidas para situac o es de colisao iminente com obstaculos) e o comportamento c 2 e
nao-determinstico e independente de informac a o sensorial. Uma possvel implementac a o
de c2 seria:
8
> avanc ar
se w2 
<
c2 w2 > girar a` direita se :  w2 <
: girar a` esquerda se w < :
2

05

( )=

1
1
05

onde, de modo a manter uma maior probabilidade de avanc o para o robo, a distribuic a o
de w2 poderia ser definida como P w2 
: , P :  w2 <
: e P w2 <
:
: . Para uma func a o de coordenac a o Cc, tem-se:

0 5) = 0 25

1) = 0 5 (0 5

1) = 0 25

a = Cc(C(S; P; W); S; P)
= Cc([c1(s1 ) c2(w2)]T ; s1 )

(2.8)

E natural que, quando da iminencia de colisao com um obstaculo ou parede, o comportamento c1 seja definidor da ac a o a, de modo a preservar a integridade fsica do robo.
Nas demais situac o es, o comportamento c 2 deve ser o u nico responsavel pela definic a o da
ac a o a. Uma func a o Cc adequada deve portanto selecionar o comportamento c1 sempre
que uma colisao (indicada pelos valores das leituras dos sensores 1 ) for iminente, e deve
selecionar c2 nas demais situac o es:

a = Cc([c1 (s1 ) c2 (w2 )]

T;

s1) =

c1 (s1 ) se si1  Lsr para algum i = 1; 2; : : : ; ki


c2 (w2 ) caso contrario

onde Lsr e um valor limiar definido para os sensores de proximidade, para o disparo do
comportamento de desvio de obstaculos.
Observe que, no caso acima, a func a o de coordenac a o reutiliza a informac a o sensorial 1 usada pelo comportamento c1 . Uma alternativa seria considerar c1 ativo apenas
quando si1  Lsr , ou seja, o proprio comportamento se desativaria quando nao fosse
necessario. Nesse caso, teramos

a = Cc([c1 (s1 ) c2 (w2 )]

)=

c1 (s1 ) se c1 (s1 ) 6= 
c2 (w2 ) caso contrario

Estes exemplos correspondem a func o es de coordenac a o competitivas. Na sec a o


seguinte, definem-se formalmente as func o es de coordenac a o mais comuns.

6.4. Funco es Importantes de Coordenaca o de Comportamentos


Coordenaca o Competitiva As func o es de coordenac a o apresentadas nos exemplos anteriores sao tpicos exemplos de coordenac a o competitiva: a cada instante de tempo,
uma u nica ac a o associada a um ou mais comportamentos vencedores e escolhida. A ac a o e sempre selecionada a partir dos comportamentos ativos (ou seja, comportamentos que produzem ac o es diferentes de  no momento da coordenac a o).
A competic a o entre os comportamentos pode ocorrer de tres maneiras diferentes:
Competica o com hierarquia pre-definida Neste caso, a func a o de coordenac a o
seleciona o comportamento de acordo com uma hierarquia preestabelecida, definida por um plano pprior projetado a priori e sem necessidade de sensoreamento (ou seja, a func a o de coordenac a o tem a forma
Cc
; ; ; pprior . Este caso corresponde ao segundo exemplo da
u ltima sec a o: o comportamento vencedor e escolhido de acordo com uma
hierarquia simples (c1 tem prioridade sobre c2 ), em func a o da atividade ou
inatividade do comportamento de desvio de obstaculos, independentemente da informac a o sensorial.
Competica o com definica o dinamica da hierarquia A func a o de coordenac a o
escolhe a ac a o vencedora com base na definic a o dinamica da hierarquia,
que e estabelecida de acordo com a informac a o sensorial e o conhecimento
a respeito do estagio de execuc a o da tarefa (includo em um plano), ou seja,
tem-se Cc
; ; ; ; .
Competica o Baseada em Votaca o A ac a o e selecionada de acordo com uma
especie de votac a o realizada pelos comportamentos ativos: aquela ac a o
sugerida pela maioria e escolhida. A func a o de coordenac a o neste caso
apenas conta os votos e aplica a ac a o vencedora correspondente. Caso
haja empate entre ac o es vencedoras distintas, uma competic a o com hierarquia pre-definida ou definida dinamicamente e realizada.
Coordenaca o Cooperativa Na coordenac a o cooperativa, a func a o de coordenac a o produz uma ac a o resultante para a qual contribuem (em maior ou menor grau) todos os comportamentos ativos. E essencial, portanto, que os comportamentos
sejam representaveis como produtores de ac o es que admitam operac o es de soma,
multiplicac a o ou similar. Um exemplo sao as representac o es em termos de campos
potenciais (sec a o 6.3.), que representam ac o es associadas a cada comportamento
como vetores. A cooperac a o entre os comportamentos e portanto representada
por uma operac a o (frequentemente uma soma vetorial ou escalar) envolvendo as
ac o es produzidas pelos comportamentos ativos, conforme indicado na Figura 2.6.

(C(S P W)

(C(S P W) S P)

s
1

Comportamento 1

s
2

Comportamento 2

a1

a2
~

Cc

.
.
.
s
N

Comportamento N

aao
resultante

aN

cooperativa entre comportamentos.


Figura 2.6: Coordenacao

Captulo 3
Arquiteturas de Comportamentos
Neste captulo serao discutidas as tres arquiteturas de comportamento para robos moveis:
reativa, deliberativa e hbrida. Estas arquiteturas definem como o robo e projetado, a partir
de uma colec a o de blocos fundamentais, correspondentes a comportamentos, modulos
para inibic a o ou ativac a o destes, estruturas especializadas em planejamento de tarefas,
etc.

1. Arquiteturas Reativas
As arquiteturas reativas sao aquelas formadas pela coordenac a o de comportamentos reativos. Em geral, estas arquiteturas produzem robos adequados para operac a o em tempo
real, ja que a simplicidade dos comportamentos reativos favorece uma alta velocidade
de processamento computacional. Arquiteturas reativas tambem permitem prototipac a o
rapida: a implementac a o de alguns poucos comportamentos em um robo real e relativamente simples. Entretanto, implementar um projeto de interesse real, que implique definir
um conjunto grande de comportamentos e mecanismos de coordenac a o entre estes, e uma
tarefa difcil. A seguir, sao discutidas as duas arquiteturas reativas mais conhecidas.
1.1. Arquitetura Subsumption
A arquitetura subsumption [12] organiza os comportamentos reativos em camadas de
competencia: comportamentos em nveis mais altos correspondem a` queles direcionados
ao objetivo da tarefa especificada, enquanto que aqueles em nveis mais baixos correspondem a ac o es mais basicas, tais como aquelas necessarias para preservar a integridade
fsica do robo (por exemplo, quando da iminencia de colisao com obstaculos). Alem
das caractersticas intrnsecas do paradigma reativo, tais como simplicidade dos comportamentos (mapeamentos estmulo-ac a o) e processamento local da informac a o sensorial
por cada comportamento, a arquitetura subsumption estabelece um mecanismo de prioridade de comportamentos das camadas em nvel mais alto sobre aqueles em nvel mais
baixo, configurando uma coordenac a o competitiva de comportamentos com hierarquia
pre-definida. Este mecanismo pode assumir duas formas:
1. Supressao. Neste caso, a sada produzida pelo comportamento de nvel mais alto
substitui aquela produzida pelo comportamento de nvel mais baixo. Este u ltimo
permanece ativo, mas sua ac a o nao produz nenhum efeito, por ter sido suprimida
por aquela correspondente ao comportamento prioritario.
23

2. Inibic a o. No mecanismo de inibic a o, o comportamento em nvel mais baixo e


desativado por aquele de nvel mais alto. Nesse caso, nao ocorre uma substituic a o
da ac a o de nvel mais baixo, mas uma inibic a o do comportamento em si.
E importante observar que a hierarquia na arquitetura subsumption e estabelecida de forma especfica entre os comportamentos. A prioridade de um comportamento de nvel
mais alto ocorre apenas sobre uma colec a o especfica de comportamentos de nvel mais
baixo, e nao sobre todos esses, indiscriminadamente. Assim, comportamentos basicos
mas nao necessarios para preservar a integridade do robo, como por exemplo um comportamento de explorac a o nao-direcionada do ambiente, pode ser inibido ou suprimido por
um comportamento de nvel mais alto, como um comportamento de aproximac a o de alvo,
sem que este u ltimo exerc a prioridade sobre um comportamento para evitar colisoes com
obstaculos.
A Figura 3.1 ilustra um exemplo simples de implementac a o da arquitetura subsumption (adaptado de [26]) para um robo movel que se move em um ambiente,
desviando-se de obstaculos quando necessario, mas sem perder a direc a o do seu movimento. O robo tem como sensores um conjunto de oito sonares distribudos uniformemente em sua periferia, capazes de estimar a distancia de obstaculos nas direc o es correspondentes. Um modulo de processamento da informac a o sensorial Calcula Vetor interpreta as leituras dos sensores como vetores e os soma, produzindo um vetor resultante que
indica a direc a o e magnitude relativas a` posic a o e distancia de um obstaculo imaginario,
que resume estas leituras. O movimento do robo e comandado por dois motores independentes: um motor para produzir velocidades iguais nas rodas, e um outro motor
para produzir um giro do eixo das rodas. Na camada mais baixa estao dois comportamentos basicos: Parar, que ao detectar, pelas leituras dos sonares, a proximidade de algum
obstaculo (leitura de algum sonar maior do que o limiar L sr ), forc a a parada do robo enviando um comando apropriado para o motor responsavel pelo controle de velocidade das
rodas, e Afastar, que produz a) um giro do eixo das rodas do robo ate que este fique com
sua frente na direc a o oposta a` do vetor (via comando enviado para o motor ) e b) um posterior avanc o proporcional a` magnitude do vetor (via comando enviado para o motor ).
Numa camada mais alta, um comportamento Explorar combina um vetor de magnitude
fixa e direc a o aleatoria, produzido a intervalos regulares, a um vetor de direc a o oposta ao
daquele produzido pelo modulo Calcula Vetor. Desta forma, obtem-se uma nova direc a o
para o movimento do robo, correspondente a um desvio de obstaculos mais suave, que
leva em considerac a o uma direc a o preferencial de movimento (aquela estabelecida pelo comportamento Explorar). Este comportamento suprime (ou seja, substitui) a sada
produzida pelo comportamento Afastar, que no entanto continua ativo: caso o comportamento Explorar seja desativado (possivelmente por algum outro comportamento em nvel
mais alto), o robo ainda tera a capacidade de desviar de obstaculos satisfatoriamente.

1.2. Arquitetura Baseada em Campos Potenciais


Esta arquitetura corresponde a` implementac a o de comportamentos representados como campos potenciais (ver sec a o 6.3.), coordenados de acordo com um mecanismo de
cooperac a o de soma vetorial (coordenac a o cooperativa de comportamentos). Diferentemente de robos projetados com base na arquitetura subsumption, um robo de arquitetura
baseada em campos potenciais tem todos os comportamentos em um mesmo nvel de
prioridade, sem uma hierarquia explcita entre eles. A cada comportamento corresponde

Explorar

sonar 1
sonar 8

.
.
.

Calcula Vetor

.
.
.

Afastar

motor 2

motor 1
Parar

Figura 3.1: Um exemplo simples da arquitetura subsumption.

uma ac a o (expressa como um vetor), produzida em qualquer situac a o (ou seja, todos os
comportamentos estao sempre ativos). O comportamento efetivamente produzido e o resultante da soma dos vetores correspondentes a` contribuic a o de cada comportamento. A
magnitude dos vetores em pontos diferentes do ambiente em que o robo atua pode variar,
o que equivale na pratica a um mecanismo de inibic a o: um vetor de magnitude grande
somado a um de pequena magnitude e direc a o oposta efetivamente inibe a ac a o deste
u ltimo.
Uma arquitetura baseada em campos potenciais requer que a ac a o correspondente
a cada comportamento seja expressa como um entre cinco possveis tipos de campo:
Uniforme , que corresponde a vetores de mesma intensidade e direc a o em qualquer ponto
do ambiente. Um comportamento Avanc ar, que faz o robo se mover para a frente
independentemente da informac a o sensorial, pode ser expresso como um campo
deste tipo.
Perpendicular , que orienta o robo na direc a o perpendicular a alguma fronteira (normalmente uma parede).
Atrativo , que corresponde a vetores de magnitude inversamente proporcional a` distancia
relativa a um ponto atrator e orientados em direc a o a este, em um efeito similar
ao da gravidade ou atrac a o eletrostatica. Este tipo de campo e u til para expressar o efeito de tropismo em sistemas biologicos (atrac a o por um objetivo, luz ou
comida).
para modelar comportamentos para
Repulsivo , que e o oposto do campo atrativo. Util
evitar obstaculos.
Tangencial , que corresponde a vetores perpendiculares a linhas radiais a partir do centro
de um objeto. Este tipo de campo e usado em comportamentos de desvio de
obstaculos ou investigac a o de objetos.
Uma vantagem de uma arquitetura baseada em campos potenciais e a facilidade de
visualizac a o do comportamento global do robo, ainda na fase de projeto: a observac a o do
campo resultante da combinac a o dos varios comportamentos permite prever com relativa
facilidade o que o robo fara em cada situac a o.
Como exemplo de arquitetura baseada em campos potenciais, reconsidere o exemplo de desvio de obstaculos descrito na u ltima sec a o. A Figura 3.2 ilustra esta arquitetura.
Diferentemente da versao baseada na arquitetura subsumption, neste caso o vetor
produzido pelo comportamento Explorar corresponde a` direc a o aleatoria de movimento,

Explorar

sonar 1
sonar 8

.
.
.

Calcula Vetor

.
.
.

Afastar

motor 2

motor 1
Parar

Figura 3.2: Um exemplo simples da arquitetura baseada em campos potenciais.

nao somada a` direc a o prevista pelo modulo Calcula Vetor. A ac a o correspondente e entao
diretamente somada a` sada produzida pelo comportamento Afastar, sem que ocorra uma
inibic a o deste u ltimo. O comportamento Parar, entretanto, nao tem um equivalente direto
em termos de campos potenciais: sua implementac a o natural seria um campo potencial de
magnitude zero, que somado a qualquer outro comportamento seria anulado. Neste caso,
interpreta-se o comportamento como um produtor de ac o es emergenciais, com prioridade
maxima. Este recurso, embora nao natural em arquiteturas baseadas em campos potenciais, e necessario sempre que existirem comportamentos cuja ac a o correspondente tenha
uma magnitude que nao corresponda a` sua importancia relativa a outros comportamentos,
no contexto considerado.

2. Arquiteturas Deliberativas
As arquiteturas deliberativas incorporam um estagio intermediario de planejamento, quebrando a ligac a o direta entre sensoreamento e atuac a o e forc ando a execuc a o de um plano
antes da selec a o de qualquer ac a o. Neste tipo de arquitetura, as informac o es sensoriais sao
fundidas numa estrutura de dados global, chamada modelo do mundo, a qual e acessada
pelo estagio de planejamento.
Geralmente, tem-se um controle hierarquico, onde o planejamento e subdividido
em modulos funcionais, tipicamente dependentes tanto de informac o es espaciais, quanto
de restric o es temporais. A Figura 3.3 ilustra este modelo, onde se tem quatro nveis
hierarquicos no planejador: nvel de planejamento global estrategico, de planejamento
intermadiario tatico, de planejamento local de curto prazo e de controle do atuador. Todos
acessam informac o es do modelo do mundo, cada um referente ao conhecimento de seu
interesse. Nota-se que, do nvel superior da hierarquia (referente ao planejamento global)
ao inferior (referente ao controle dos atuadores), cresce a restric a o de tempo na resposta
e diminui o espac o fsico de interesse.
Nesta sec a o, dois exemplos representativos de arquiteturas deliberativas sao descritos: o NHC (Nested Hierarchical Controller) [24] e o RCS (NIST Realtime Control
System) [2].


Figura 3.3: Planejamento hierarquico
usado em arquiteturas deliberativas.

2.1. NHC - Nested Hierarchical Controller


A arquitetura NHC [24], apresentada na Figura 3.4, foi proposta para ser usada em robos
moveis em tarefas de navegac a o. Os robos iniciam coletando informac a o sensorial e
fundindo-as, juntamente com conhecimento previo armazenado (por exemplo, um mapa do ambiente), num u nico modelo global do mundo, conforme mostra o modulo de
sensoreamento da arquitetura NHC.
Apos a criac a o do modelo do mundo, o robo planeja suas ac o es. Nesta arquitetura,
o planejamento e dividido em tres nveis de abstrac a o:





O planejador de missa o, que desmembra a missao em partes constitudas pela


localizac a o atual do robo e das submetas da missao no mapa do ambiente, e as
traduz para o nvel hierarquicamente inferior no planejamento.
O navegador, que encontra um caminho descrito por segmentos que o robo deve
percorrer para atingir a meta, e envia um segmento por vez para o nvel hierarquicamente inferior no planejamento.
O piloto, que e o modulo que gera ac o es especficas a serem executadas pelo
robo (girar a` esquerda, andar para frente a uma velocidade v , etc), as quais sao
traduzidas para os atuadores pelo controlador dos atuadores, no modulo atuac a o
da arquitetura.

Em NHC, os sensores sao lidos apos a execuc a o de cada ac a o, atualizando o modelo do mundo. Entretanto, o ciclo completo de planejamento nao e repetido, mas o
piloto controla o robo para que corrija eventuais divergencias percebidas (note que todos
os nveis tem acesso ao modelo atualizado do mundo). Terminado o segmento designado

Figura 3.4: Arquitetura deliberativa NHC.

para o piloto executar (e replanejar, se necessario), o navegador envia outro segmento, caso a meta ainda nao tenha sido atingida. Alcanc ada a meta, o navegador avisa o planejador
de missao, que verifica se ainda ha submetas a serem executadas e todo o procedimento
se repete.
Uma desvantagem da arquitetura NHC consiste em desmembrar o planejamento de forma hierarquica para outras tarefas, diferentes de navegac a o, uma vez que nem
sempre os diferentes nveis de representac a o e abstrac a o da tarefa sao tao intuitivos.
2.2. RCS - Realtime Control System
A arquitetura RCS [2], desenvolvida no NIST - National Institute of Standards and Technology, EUA, foi usada em diferentes aplicac o es reais: em robos comerciais de limpeza
de chao, num robo para minerac a o e num robo para explorac a o subaquatica. Esta arquitetura foi baseada na NHC, porem introduzindo muitos detalhes a mais, de modo a auxiliar
empresas de manufatura a colocar inteligencia em seus robos.
Na arquitetura RCS, alem da estratificac a o do modulo de planejamento existente na arquitetura NHC, o modelo do mundo tambem e organizado em uma hierarquia de
nveis de abstrac a o crescente (Figura 3.5). O modulo responsavel pelo sensoreamento efetua um pre-processamento da informac a o sensorial, extraindo diferentes representac o es
das informac o es para, entao, incorpora-las aos nveis correspondentes do modelo do mundo. O modulo de planejamento, em RCS, apresenta um diferencial: apos gerar um plano,
o sistema simula o plano e, caso satisfac a os requisitos, este plano e entao convertido em
ac o es a serem executadas pelo robo. Existe ainda na arquitetura uma interface com um
operador humano, que pode observar e interagir com todo o processo.

3. Arquiteturas Hbridas
As arquiteturas hbridas incorporam um elemento de planejamento sobre a definic a o e
selec a o de comportamentos reativos individuais. Assim, uma arquitetura hbrida corresponde a uma arquitetura reativa controlada por um plano de execuc a o e sequenciamento

Figura 3.5: Arquitetura deliberativa RCS.

de comportamentos. Atraves da incorporac a o da habilidade de raciocnio baseado em


modelos internos do mundo (deliberac a o), estas arquiteturas permitem a reconfigurac a o
dinamica de sistemas de controle reativo.
A integrac a o de deliberac a o e controle reativo e um problema complexo. Contudo,
existe um consenso que nenhuma abordagem e completamente satisfatoria isoladamente,
e ambas devem ser levadas em considerac a o para produzir um sistema flexvel robusto e
inteligente.
Um robo deve ser capaz de responder rapidamente e de forma eficiente a` s
mudanc as dinamicas e nao modeladas que ocorrem no mundo. Se um sistema puramente deliberativo tentar modelar e pre-planejar todas as eventualidades, corre-se o risco
de que o processo de planejamento nunca termine. Tambem nao e seguro para o robo
fazer suposic o es grosseiras sobre o mundo, que nao reflitam a sua natureza dinamica,
traduzindo-as num plano inalteravel, que guiara todas as suas ac o es ou decisoes futuras. Por outro lado, uma abordagem reativa responde eficientemente a dados sensoriais
imediatos, mas e menos eficaz na integrac a o de conhecimentos sobre o mundo.
A pesquisa na a rea de sistemas hbridos assume que a representac a o do conhecimento e necessaria para enriquecer e expandir os comportamentos reativos, e adequa-los
a domnios referentes a problemas mais interessantes e complexos.
Para o desenvolvimento de um sistema hbrido deve-se saber qual e a fronteira
apropriada para subdivisao de funcionalidades e como deve ser conduzida a coordenac a o
entre estas.
3.1. Componentes das Arquiteturas Hbridas
A maioria das arquiteturas hbridas implementa a funcionalidade deliberativa nos seguintes componentes:
Sequenciador Define o conjunto de comportamentos reativos para a realizac a o de uma
dada subtarefa, e determina sua sequencia de operac a o.

Gerenciador de Recursos Responsavel pela alocac a o de recursos (sensores, processamento para fusao sensorial, tempo, etc.) para os comportamentos ativos. Em
arquiteturas puramente reativas, esses recursos sao alocados permanentemente,
quando da definic a o dos comportamentos em si.
Cartografo Mantem um mapa ou informac a o espacial do ambiente no qual o robo movel
se desloca, e o atualiza a` medida que novas informac o es sensoriais sao recebidas
e ac o es sao executadas pelo robo.
Planejador de Missao Codifica a descric a o do domnio em uma linguagem apropriada, e define um plano para a execuc a o da tarefa, possivelmente atraves de uma
decomposic a o em varios subplanos.
Monitorador de Desempenho Avalia o desempenho do robo na execuc a o da tarefa.
3.2. Exemplos de Arquiteturas Hbridas

Planejador da
Misso
Raciocinador
Espacial
Seqenciador
do Plano

REPRESENTAO

AuRA - Autonomous Robot Architecture. Esta arquitetura foi proposta em [4]. E um


sistema hbrido deliberativo/reativo baseado em um planejador que configura o sistema
de controle reativo antes da execuc a o, e o reconfigura para eventuais falhas do sistema.
Na Figura 3.6 podem ser vistos os varios modulos que compoem esta arquitetura.

Controlador Schema
Motor Percepo

Atuao

Componente
Hierrquico

Componente
Reativo

Sensao

Figura 3.6: Arquitetura hbrida AuRA - Autonomous Robot Architecture.

A arquitetura AuRA e constituda pelos seguintes componentes: o planejador de


missao, que interage com o usuario do robo e no qual metas de alto nvel e restric o es
com as quais o robo devera operar sao definidas a partir de uma descric a o fornecida; um
raciocinador espacial, que utiliza conhecimento cartografico (produzido por um modulo
Cartografo) para construir um caminho, ou seja, uma sequencia de passos para cumprir a
missao; um sequenciador, que traduz cada passo gerado como comportamento reativo e
um controlador de esquemas, responsavel por monitorar e construir os comportamentos
a partir de bibliotecas de esquemas (unidades basicas de atividade) sensoriais e motores.
Uma caracterstica interessante da arquitetura AuRA, tal como originalmente proposta, e a possibilidade (testada apenas em simulac a o) de um sistema de controle homeostatico: sensores internos (por exemplo, medidores de nvel de combustvel) tem suas
medidas comunicadas a varios comportamentos de parametros adaptaveis, que podem
entao integrar esforc os de modo a manter um equilbrio interno (homeostase), medido
por uma func a o de custo que penaliza variac o es altas de medic o es realizadas.

Atlantis. Esta arquitetura usa um planejador para aconselhamento e foi originalmente proposta em [16]. Atlantis e uma arquitetura hbrida de tres camadas, consistindo
de um modulo controlador, um modulo sequenciador e um modulo deliberativo (Figura 3.7).

Figura 3.7: Arquitetura hbrida Atlantis

O modulo deliberador e responsavel pelo planejamento e modelagem do mundo.


O modulo sequenciador e responsavel por iniciar e terminar atividades de baixo nvel e
contornar as falhas do sistema reativo. O modulo controlador e um gerenciador de uma
colec a o de atividades primitivas. A deliberac a o ocorre sob solicitac a o do modulo sequenciador, e os planos resultantes nao sao necessariamente seguidos pelo u ltimo (deliberac a o
e usada apenas como um mecanismo de aconselhamento).
Na arquitetura Atlantis foi introduzido o conceito de falha ciente, na qual um robo
torna-se consciente de sua incapacidade para completar uma sub-tarefa. Neste caso, o
sequenciador tenta reorganizar as atividades de baixo nvel, podendo solicitar auxlio do
deliberador caso julgue necessario.
Arquitetura Planejador-Reator. Esta arquitetura foi proposta por Lyons e Hendriks [22] e e composta por dois modulos basicos: o planejador e o reator, que e formado
por um sistema de controle reativo adaptavel (Figura 3.8). Deliberac a o e reac a o sao integradas atraves de interac o es assncronas entre os dois modulos. O planejamento e visto
como uma forma de adaptar o reator: a` medida que o robo interage com o ambiente, o
plano produzido deve melhorar, no sentido de se tentar a obtenc a o do reator ideal. Este u ltimo e definido como o reator que executa a tarefa satisfatoriamente em todos os
possveis ambientes que o robo pode encontrar.

Figura 3.8: Arquitetura hbrida Planejador/Reator

Um exemplo de aplicac a o de arquitetura hbrida foi utilizado no robo Amelia


(Figura 3.9), em uma tarefa de reconhecimento de diferentes tipos de comandos gestuais [42]. Este robo e constitudo por uma base circular com rodas, sensores de choque,

24

um sensor laser,
sonares, uma camera colorida e um brac o manipulador. Amelia possui capacidade computacional embarcada, onde sao executados todos os procedimentos
de controle, percepc a o e planejamento. Os comportamentos reativos capacitam o robo a
lidar com navegac a o local em tempo real, evitar obstaculos e situac o es emergenciais. Os
comportamentos deliberativos, que operam de forma concorrente com os comportamentos reativos, mantem mapas do ambiente, planejam caminhos, interpretam informac a o
visual e realizam planejamento de nveis de tarefa. A informac a o visual e extrada das
imagens obtidas pela camera. Dependendo do gesto identificado, o planejador ativa diversos comportamentos reativos, tais como parar, seguir, ir em direc a o ao objeto
apontado e desviar de obstaculos. Todos os comportamentos sao integrados por um
modulo de controle de tarefas que permite escalonar e sincronizar tarefas, alocar recursos,
monitorar o ambiente e gerenciar situac o es emergenciais.

Figura 3.9: O robo AMELIA.

Captulo 4
Times de Robos Moveis
O aumento na complexidade da tarefa designada aos robos provoca um aumento na dificuldade de se atribuir a um u nico agente robotico a incumbencia de executa-la eficientemente. Assim, o uso de times de robos pode ser bastante vantajoso em uma serie de
aplicac o es compostas basicamente por tarefas muito complexas e/ou que sejam inerentemente distribudas, tanto em espac o, quanto em tempo ou funcionalidade.
Neste captulo serao discutidas as vantagens e desvantagens do uso de times de
robos, relacionando tarefas tipicamente apropriadas para realizac a o por multiplos robos.
Serao consideradas caractersticas basicas dos times, tais como homogeneidade, granularidade, estrutura de controle, entre outras. De acordo com as caractersticas atribudas aos
times, pode-se agrupa-los em dois tipos basicos: times com muitos robos identicos que
pouco interagem durante a execuc a o da tarefa e times compostos por poucos robos, cada
um com habilidades proprias, que necessitam de grande interac a o entre eles para executar
a tarefa de modo eficiente. Finalmente, sao descritos exemplos de cada um destes tipos de
times, assim como o domnio de futebol de robos, usado para incentivar pesquisas nesta
a rea, e suas abordagens mais frequentes.

1. Por que usar Times de Robos?


O uso de multiplos robos pode ser desejavel por diversas razoes. Considere uma grande a rea que deva ser percorrida ou explorada, como no caso de explorac a o planetaria,
detec a o e combate a incendios (em florestas, por exemplo), busca e resgate de pessoas
e/ou objetos, remoc a o de minas terrestres, etc. Seria bastante razoavel o uso de um time
de robos simples e baratos para executar a tarefa, oferecendo vantagens tanto em termos
de tempo de execuc a o (um time de robos cobre uma a rea num tempo muito menor que o
dispendido por um u nico robo), quanto em termos de custo (um u nico robo para executar
uma tarefa complexa exige maior capacidade de processamento, maior autonomia e maior
robustez do que seria necessario para cada robo de um time). Alem disso, uma grande
vantagem no uso de multiplos robos consiste na redundancia oferecida: caso um robo
falhe ou seja destrudo, o restante do time pode continuar a execuc a o da tarefa. Assim, o
uso de multiplos robos pode ser bastante vantajoso em uma serie de aplicac o es compostas
basicamente por tarefas que sao inerentemente distribudas, tanto em espac o, quanto em
tempo ou funcionalidade.
33

No entanto, nao e nada facil a construc a o de um time de robos eficiente e robusto,


que opere de modo coerente na soluc a o de uma tarefa. Para que um robo possa atuar num
time e interagir de forma coordenada com os outros robos, uma capacidade extra deve
ser acrescida: a capacidade de comunicar. Isso envolve a definic a o de uma linguagem
comum entre os membros do time e de um protocolo de comunicac a o a ser seguido.
Alem disso, deve-se garantir um perfeito entendimento entre os robos durante a exec a o
da tarefa, eliminando o uso de diferentes termos para um mesmo conceito ou o uso de um
mesmo termo para diferentes conceitos, isto e , deve-se estabelecer e disponibilizar a todos
os membros do time uma ontologia comum, contendo a representac a o do conhecimento
necessario sobre o domnio da tarefa.
Alem da questao referente a` comunicac a o, o projeto de um time de robos precisa
ainda enderec ar difceis problemas, tais como:







Como decompor uma tarefa e alocar as subtarefas entre os membros de um time?


Como e quanto sera permitido aos robos comunicarem e interagirem entre si?
Como garantir que o time agira coerentemente?
Como os robos reconhecerao e resolverao conflitos?
Como dotar um time com capacidade de adaptac a o, mudando seu comportamento
em resposta a` s caractersticas dinamicas do ambiente, a` s mudanc as nas metas da
tarefa ou a` s mudanc as nas capacidades ou composic a o do time, de tal forma que
melhore ou que evite uma degradac a o no seu desempenho?

Estas sao questoes que, embora extensivamente estudadas nos u ltimos anos, ainda
oferecem muitos desafios a serem superados.

2. Caractersticas dos Times Roboticos


O projeto e construc a o de times de robos ainda se configura como um campo muito novo, onde pouco esta estabelecido e formalizado. Para entender a organizac a o e interac a o
entre seus membros e tentar prever o comportamento do time como um todo, torna-se
importante definir alguns aspectos para classificar o time. Aqui serao considerados aspectos referentes a` sua granularidade, heterogeneidade, estrutura de controle, nvel de
cooperac a o entre os membros e tipo de comunicac a o.
A granularidade de um time e o seu tamanho, isto e , o numero de robos que o
compoem. Dois ou mais robos configuram um time.
Heterogeneidade corresponde a` diversidade entre os robos que fazem parte do
time, podendo classifica-lo como homogeneo ou heterogeneo. Times heterogeneos possuem pelo menos dois membros com caractersticas diferentes de software e/ou hardware,
enquanto que em times homogeneos todos seus membros sao identicos.
A estrutura de controle de um time define um espectro que varia de controle centralizado a controle distribudo. No controle centralizado, os robos se comunicam com
um computador central, que distribui atribuic o es, metas, informac o es, etc; os robos sao
essencialmente semi-autonomos, dependentes do computador central para decidir sobre
suas ac o es. Por outro lado, na estrutura de controle distribudo os robos tomam suas
proprias decisoes e agem de maneira independente. Naturalmente, existem diversas estruturas que podem ser definidas dentro do espectro de controle completamente centralizado

a controle totalmente distribudo. Por exemplo, os robos podem interagir com um computador central para definirem suas metas e, depois, atuarem de modo distribudo para
cumpr-las.
A cooperac a o entre os membros de um time pode ser ativa ou nao-ativa.
Cooperac a o nao-ativa indica que os robos nao compartilham explicitamente uma meta comum, ou seja, cada membro tem sua propria (sub-)meta. O time demonstra uma
cooperac a o ativa quando pelo menos alguns de seus membros se reconhecem e trabalham
conjuntamente para atingir uma meta comum explcita, caracterizando intencionalidade
na cooperac a o. Normalmente torna-se necessario, na cooperac a o ativa, incorporar sensores aos robos de forma a permitir que estes fac am a distinc a o dos membros do time em
relac a o a outros aspectos do ambiente. Por exemplo, num jogo de futebol de robos, um
jogador de um time pode reconhecer o atacante de seu time e passar a bola para ele, para
que a meta do time, que e fazer gols e ganhar o jogo, seja atingida, demonstrando, desta
forma, uma cooperac a o ativa. No entanto, considere um time formado por dois robos
identicos, cujos sensores somente detectam paredes e que tem como metas (individuais)
derrubar paredes; caso estes robos se posicionem em lados opostos de uma mesma parede, ambos irao derruba-la, provavelmente finalizando a tarefa num tempo muito menor;
porem, como a ajuda mutua foi puramente acidental, os robos de fato atuam segundo
cooperac a o nao-ativa.
Quanto a` comunicac a o, existem dois tipos: explcita ou implcita. Na
comunicac a o explcita, informac o es sao intencionalmente trocadas entre dois ou mais
membros do time. Na comunicac a o implcita a informac a o e adquirida pela observac a o
das ac o es realizadas pelos outros membros ou por rastros nao intencionalmente deixados,
observados no ambiente.
Um time homogeneo que apresenta alta granularidade, controle descentralizado,
cooperac a o nao-ativa entre seus membros e sem comunicac a o explcita, frequentemente
refere-se a um time onde cada robo segue o paradigma reativo, agindo concorrente e independentemente, propiciando o surgimento de um comportamento social emergente. Este
tipo de time oferece o grande atrativo de ser formado por robos bastante simples, com poucas necessidades de sensoreamento e que executam poucos (e simples) comportamentos.
Esta abordagem pode ser interessante em aplicac o es que nao impoem restric o es drasticas
no tempo de execuc a o e que requerem numerosas repetic o es de uma mesma atividade
numa a rea relativamente grande, tais como em tarefas de limpeza (em praias, grandes
estacionamentos, etc), de coleta de material (em missoes espaciais, subaquaticas, etc), de
resgate (busca por pessoas, animais, objetos), entre outras. No entanto, comportamentos
sociais emergentes sao muito difceis de serem previstos e controlados.
Por outro lado, em times heterogeneos nem todos os robos possuem as mesmas
capacidades, habilidades ou estrutura de controle. Desta forma, nem todos os robos podem executar as mesmas tarefas e, mesmo que o fac am, estas serao realizadas de formas
diferentes, uma vez que alguma diferenc a existe entre os robos (em hardware ou software, pois sao heterogeneos). Assim, o mapeamento apropriado das subtarefas aos robos
e dependente das capacidades e desempenho de cada robo membro do time. Times heterogeneos geralmente apresentam baixa granularidade e a interac a o entre seus membros
deve ser enderec ada de forma clara e explcita. Normalmente, as tarefas designadas a
este tipo de time apresentam claras restric o es em relac a o a` eficiencia de sua execuc a o e,

para satisfaze-las, o time frequentemente apresenta cooperac a o ativa, intencional. Esta


restric a o adicional traz muitas complicac o es extras ao projeto de uma arquitetura apropriada que possibilite cooperac a o ativa, e esta restric a o precisa ser enderec ada explicitamente
de forma a alcanc ar o nvel desejado de cooperac a o.
Os dois tipos de times descritos acima categorizam, de forma bastante geral,
dois grupos basicos de times de robos moveis. No primeiro grupo (grandes times homogeneos), um fator central consiste na determinac a o do projeto apropriado para as leis
de controle locais que possibilitarao com que o time de robos execute adequadamente a
tarefa a ele designada. Ja no segundo grupo (times heterogeneos com cooperac a o ativa
entre seus membros), um fator central consiste em robustamente determinar qual robo
deve executar qual tarefa, de forma a maximizar a eficiencia do time, alem de garantir
uma coordenac a o apropriada entre seus membros para que a tarefa seja executada com
sucesso.

3. Exemplos de Times de Robos


Nesta sec a o, exemplos dos dois tipos basicos de times de robos, descritos na sec a o anterior, serao apresentados; um deles, com uma abordagem baseada na criac a o de regras
sociais em grandes times homogeneos e outro, baseado na criac a o de motivac o es internas
aos robos, para que possam adaptar seus comportamentos aos problemas e conflitos que
surjam durante a execuc a o da tarefa. Encerrando a sec a o, e descrito o domnio de futebol
de robos, um domnio interessante e motivador, usado para incentivar pesquisas na a rea
de robotica movel inteligente.
3.1. Uso de regras sociais em times homogeneos
Mataric [23], concentrou-se em definir como pode se manifestar a dinamica de um time
homogeneo composto por um grande numero de robos simples, operando em controle
totalmente distribudo. Neste trabalho, cada robo foi implementado usando a arquitetura
Subsumption, composta pelos comportamentos de evitar colisoes e de mover para uma
posic a o especfica pre-estabelecida. Inicialmente foram utilizados 20 robos, posicionados
aleatoriamente numa partic a o do campo de experimentac a o composto por duas partic o es,
separadas por uma porta estreita, por onde consegue passar somente um robo por vez. A
todos os robos foi dada a mesma meta de atingir uma posic a o localizada na outra partic a o
(para satisfaze-la, todos os robos devem atravessar a porta). Todos os robos iniciam o
movimento num mesmo instante.
Num primeiro experimento, os robos atuavam sob coexist e ncia ignorada, isto e ,
coexistem num mesmo time porem sem nenhum conhecimento mutuo, tratando os outros
membros como obstaculos. Assim, ao atingir a porta, passavam a maior parte do tempo
tentando evitar colisoes, demorando muito para atravessa-la. Quanto maior o numero de
robos, maior o congestionamento na regiao da porta e maior o tempo que levaram para
concluir a tarefa.
Num segundo experimento, os robos atuavam sob coexist e ncia informada. Assim,
algumas modificac o es foram realizadas em cada robo: podiam agora reconhecer uns aos
outros, passaram a possuir tambem o comportamento de evitar robos e a respeitar uma
regra social simples. A regra social estipulada foi: caso algum outro robo obstrua a

passagem, parar movimento e esperar durante um tempo t; apos t, caso o robo continue
bloqueando a passagem, virar a` esquerda e reiniciar movimento em direc a o a` meta. O
resultado deste experimento foi a diminuic a o do congestionamento e um tempo muito
menor para a execuc a o da tarefa.
Num terceiro e u ltimo experimento, o time atuou sob coexist e ncia inteligente,
onde existia uma repulsao entre os robos mas, ao se afastar, cada robo deveria tentar se
mover na mesma direc a o que a maioria dos outros robos estavam indo. Para isso, os robos
transmitiam via radio, a todos os outros membros, sua direc a o de movimentac a o (por inabilidade de determinar isso por visao ou outro sensor). Como resultado, os robos tendiam
a formar uma u nica fila (apesar deste comando nao estar explcito no projeto), diminuindo
sensivelmente tanto o congestionamento quanto o tempo de execuc a o da tarefa.
Nos experimentos conduzidos por Mataric, a interfencia dos robos foi minimizada
pelo uso de regras sociais simples, sem comunicac a o explcita entre eles. No entanto,
caso algum robo falhe, nenhum outro membro poderia ajuda-lo e nem mesmo as tarefas
poderiam ser mudadas dinamicamente. Estes pontos foram enderec ados por Parker [27],
que propos a arquitetura ALLIANCE para cada robo de um time cooperativo, de tal forma
a permitir que o time considere e resolva falhas e incertezas, derivadas tanto da selec a o
quanto da execuc a o das ac o es.
3.2. Arquitetura ALLIANCE
ALLIANCE e uma arquitetura que facilita o controle cooperativo tolerante a falhas de
times heterogeneos de robos moveis, os quais executam tarefas compostas por subtarefas
que podem, eventualmente, apresentar uma relac a o de ordem entre si, isto e , a finalizac a o
de uma subtarefa pode ser condic a o para que outra subtarefa seja realizada. ALLIANCE permite que os robos, cada um com diferentes capacidades, possam individualmente
selecionar ac o es apropriadas durante a realizac a o da tarefa, baseados nao somente nas
exigencias da tarefa, mas tambem nas atividades dos outros robos, nas condic o es do ambiente e nos seus proprios estados internos. Trata-se de uma arquitetura distribuda baseada
em comportamentos, que incorpora o uso de motivac o es em cada robo (como impaciencia
e aquiescencia), de forma a adquirir selec a o adaptativa de ac o es.
Esta arquitetura requer que os robos membros do time sejam capazes de detectar o
efeito de sua propria ac a o, assim como o de outros robos que tenham capacidades iguais.
Alem disso, considera-se que os sensores e atuadores dos robos nao sao perfeitos e que
qualquer subsistema dos robos pode falhar.
ALLIANCE e uma extensao da arquitetura Subsumption (Figura 4.1), onde foram
definidos conjuntos de comportamentos que podem estar ativos ou nao, correspondendo
a` s capacidades dos robos. Os robos ativam estes conjuntos baseados nas subtarefas a ele
designadas e na sua motivac a o para a execuc a o de cada subtarefa.
Dois tipos de motivac a o interna sao modelados em ALLIANCE: impaci e ncia, que
permite com que o robo lide com falhas dos outros membros relativas a` execuc a o de uma
subtarefa, e aquiescencia, que permite com que o robo lide com suas proprias falhas na
execuc a o apropriada de uma subtarefa.
Inicialmente, e baixa a motivac a o de um robo para ativar qualquer conjunto de
comportamentos. Com o passar do tempo, a motivac a o para ativar um determinado con-

Figura 4.1: Esquema da arquitetura ALLIANCE, implementada em cada robo de


um time cooperativo.

junto de comportamentos cresce rapidamente conforme aumenta sua impaciencia em


relac a o a` nao execuc a o, pelos outros membros do time, da subtarefa correspondente
a` quele conjunto. Por outro lado, se o robo detectar que outro robo esta trabalhando naquela subtarefa, sua impaciencia deve crescer numa taxa bem mais baixa por um certo
perodo de tempo e deve, durante este tempo, cuidar de outras subtarefas. Isto previne
que ac o es sejam replicadas pelos membros do time. Caso seja atingido o limite de impaciencia de um robo relativamente a` execuc a o de uma subtarefa, este deve entao ativar o
respectivo conjunto de comportamentos para que possa executar a referida subtarefa.
Uma motivac a o complementar e que atua de forma similar a` impaciencia e a
aquiescencia. Durante a execuc a o de uma subtarefa, o desejo do robo de desistir de
tal execuc a o cresce conforme seus sensores indicam que a sua subtarefa nao esta sendo propriamente realizada. Apos um perodo de tempo aceitavel, se a subtarefa ainda nao
foi realizada com sucesso, o robo desiste dela e procura executar alguma outra, onde ele
possivelmente sera mais produtivo. O robo tambem pode desistir de realizar uma subtarefa (antes do perodo de tempo dito aceitavel), caso detecte que outro robo comec ou a
execuc a o da mesma (pois o nvel de impaciencia do outro robo ultrapassou seu limite).
Desta forma, a motivac a o de cada robo muda dinamicamente, adequando-se a` s
condic o es de execuc a o da tarefa como um todo pelo time. Note que os parametros que
controlam os nveis motivacionais de cada robo podem ser adaptados automaticamente.
ALLIANCE foi demonstrada na implementac a o de um time de robos moveis que executava, em laboratorio, uma versao de uma tarefa de limpeza de lixos perigosos [27].

3.3. Futebol de Robos


O domnio de futebol de robos e um domnio bastante motivador e que tem atrado grande
interesse, no mundo todo, desde que foi proposto em 1995 [20]. Diferentes modalidades
de competic a o foram propostas (micro-robos, robos de medio porte, caes robos, simulador, etc), visando estimular pesquisas em diversas a reas, tais como robotica, sensores,
fusao sensorial, controle inteligente, inteligencia artificial, cooperac a o entre times, entre
outras (Figura 4.2).

1. Esquerda superior:
Figura 4.2: Exemplo de competic oes
de futebol de robos:

FIRA MiRoSoT, 2. Direita superior: RoboCup - Liga Legged, com c aes


3. Inferior: RoboCup - Liga Mid-sized.
robos,

O futebol de robos e uma tarefa bastante complicada devido a basicamente dois


motivos:
1. A dinamica dos jogos dificulta tanto a definic a o previa da organizac a o dos robos
quanto a centralizac a o do controle do jogo.
2. As atuac o es do time oponente sao imprevisveis e, portanto, exigem um alto nvel
de adaptac a o em tempo real.
Nas competic o es tanto da FIRA (Federation of International Robot-Soccer Association) quanto da RoboCup pode-se encontrar times com controle centralizado e com
controle distribudo. Por exemplo, na Liga MiRoSoT (Micro-Robot Soccer Tournament),
cada time e constitudo por 3 robos, com dimensoes que nao excedam 7,5cm X 7,5cm
X 7,5cm, sistema de visao global (uma camera colocada a 2m do campo capta a imagem de todo o campo) e um u nico computador central que envia comandos aos robos
via radio. Normalmente, os times que jogam nesta Liga possuem controle centralizado,
que definem a atuac a o de cada robo de acordo com a informac a o adquirida do sistema
de visao computacional, previsao de movimentac a o do adversario e tatica de jogo adotada. Os times sao heterogeneos, com os robos assumindo os papeis de goleiro, atacante
e defensor. No time Guarana, vice-campeao mundial da Liga em 1998 [30], os robos
possuiam hardware identicos (Figura 4.3(a)), porem o atacante e o defensor podiam trocar de papeis caso o defensor detectasse que estava em condic o es adequadas para atacar

(dentro de um triangulo fictcio posicionado atras da bola, em direc a o ao gol adversario,


ver Figura 4.3(b)). O time podia tambem mudar de tatica durante o jogo: caso estivesse
perdendo por uma diferenc a grande de gols, o time atuava de forma mais ofensiva, com
dois atacantes; da mesma forma, se estivesse ganhando, passava a usar uma retranca,
atuando com dois defensores.

(a) Robo do time Guarana.

(b) Troca de papeis.

vice-campeao
mundial da FIRA MiRoSoT de 1998. a)
Figura 4.3: Time Guarana,
fsica dos robos.

de troca de papeis
entre
Construc ao
b) Condic ao

atacante e defensor - quando defensor posiciona-se numa area


defi
da bola, na direc ao
do gol adversario,

nida por um triangulo


atras
o
atacante vira defensor e vice-versa.

Por outro lado, as competic o es das Ligas Mid-sized e Legged impoem um controle distribudo aos times. Cada robo e constitudo por sensores locais, que fornecem
informac o es parciais do ambiente, e por processadores embarcados que possibilitam raciocnio e tomadas de decisao individuais. Os robos podem se comunicar de forma explcita
ou nao. Geralmente, os times adotam uma arquitetura hbrida deliberativa/reativa em cada
membro. Num futuro proximo, um tecnico humano podera interagir com o time de robos
atraves de comandos verbais, possibilitando mudanc a dinamica de tatica de jogo por seu
comando.

Captulo 5
Comportamentos Adaptativos
Neste captulo, serao considerados os dois paradigmas principais de aprendizado usados
em Robotica Movel: supervisionado e por reforc o.
Existem varias definic o es sobre aprendizado que podem ser encontradas na literatura. No contexto deste curso, adotaremos a seguinte definic a o: Aprendizado provoca
mudanc as num robo ao longo do tempo, capacitando-o a melhorar seu desempenho para executar uma determinada tarefa[5]. Essa melhoria de desempenho pode ocorrer de
diversas formas:









Introduzindo novos conhecimentos (fatos, comportamentos, regras) no sistema.


Generalizando conceitos de um conjunto de exemplos.
No aumento da eficiencia sensorial.
No aprimoramento de polticas de comportamentos.
Na coordenac a o dos diversos comportamentos e/ou atuac a o conjunta de multiplos
robos.
Criando explicac o es de como o processo funciona.
Reutilizando experiencias passadas.

Adaptac a o e uma forma de aprendizado, na qual o agente aprende atraves de ajustes, de modo a se tornar mais afinado com o ambiente no qual atua.
Mas, por que o aprendizado de robos se faz necessario?
A Robotica tem alcanc ado grandes desenvolvimentos nos u ltimos anos. Inicialmente, os robos foram utilizados para a automac a o de processos de produc a o industrial.
Com o desenvolvimento tecnologico, os robos comec aram tambem ser utilizados para outros propositos tais como: brinquedos e entretenimento, medicina e cirurgia, e realizac a o
de tarefas em ambientes perigosos (espaciais, subaquaticos).
Assim sendo, a nova gerac a o de robos deve trabalhar de forma robusta, interagindo em ambientes complexos e imprevisveis e realizando uma variedade de tarefas mais
complexas que seus antecessores, os robos industriais.
A principal limitac a o na utilizac a o de robos moveis esta em como controla-los,
ou seja, como criar programas capazes de operar estas maquinas complexas. Para tal, sao
necessarias tecnicas que lhes permitam interagir de forma efetiva com o ambiente. Isto
envolve o tratamento de alguns problemas, tais como a indiponibilidade de um modelo
41

completo do ambiente com o qual o robo devera interagir, a incerteza dos dados devido a erros de leitura dos sensores, a gerac a o do controle poder ser computacionalmente
complexa e a necessidade de respostas em tempo real.
Bem, mas o que torna aprendizado de robos especial?
O aprendizado em robos consiste essencialmente em fazer com que o robo execute tarefas sem a necessidade de programa-los explicitamente. A programac a o de robos e
uma tarefa desafiadora, por muitas razoes. Os sensores de um robo, como por exemplo,
os sonares, tem comportamentos imprevisveis, algumas vezes variando conforme o ambiente. Sendo assim, nao basta apenas conhecer o funcionamento dos sensores, tambem
devera ser fornecido um modelo do ambiente no qual o robo devera atuar. Para programar um robo, o problema deve ser decomposto em uma sucessao de tarefas ate chegar
em operac o es de baixo nvel, tais como, andar, virar a` esquerda, etc. Por estas razoes, ha
um interesse consideravel em que os robos possam aprender a realizar tarefas automaticamente.
Nos u ltimos anos, a pesquisa em IA tem procurado substituir a programac a o explcita pelo processo de ensinar uma tarefa. Pesquisas nesta a rea tem estudado varias
formas de implementac a o de aprendizado [25].
Tecnicas de aprendizado de robos integram percepc a o, tomada de decisao,
execuc a o em ambientes dinamicos e complexos. Elas tem sido usadas em diversas a reas,
tais como, em controle o timo, aquisic a o de mapas de ambientes, reconhecimento de objetos e navegac a o.
Existem varias tecnicas para realizar aprendizado. Neste captulo sao apresentadas aquelas pertencentes ao paradigma de aprendizado supervisionado e ao paradigma de
aprendizado por reforc o, por serem amplamente utilizadas. Um detalhamento sobre estas tecnicas de aprendizado e algumas aplicac o es em robos moveis sera apresentado nas
sec o es que se seguem.

1. Aprendizado supervisionado
No aprendizado supervisionado, o conhecimento a respeito da execuc a o adequada da tarefa no domnio e representado por um conjunto disponvel de exemplos de estmulos/ac o es
ou entradas/sadas desejaveis.
Um ingrediente essencial do aprendizado supervisionado e a disponibilidade de
um professor externo, como indicado na Figura 5.1. Em termos conceituais, pode-se
dizer que o professor e aquele que tem conhecimento de como uma determinada tarefa deve ser realizada. Este conhecimento e representado por um conjunto de exemplos
entrada/sada. A execuc a o da tarefa no domnio e , porem, desconhecida pelo robo.
Suponha agora que a entrada (estado) seja apresentada ao sistema de aprendizado
do robo e ao professor. Com base no seu conhecimento, o professor e capaz de fornecer a
resposta desejadada correspondente a` quela entrada. Esta resposta desejada normalmente
representa a ac a o o tima a ser aprendida pelo sistema de aprendizado. Uma adaptac a o no
sistema de aprendizado e realizada, com base na influencia da diferenc a (erro) entre a
resposta atual do sistema de aprendizado e a resposta desejada. Este ajuste e realizado
iterativamente, com o objetivo de fazer com que o sistema imite o professor.

Vetor
Estado
Sistema
Ambiente

Professor

Sistema
Aprendizado

Resposta
Desejada
Resposta
Atual

Figura 5.1: Aprendizado Supervisionado

O sistema e dito ter aprendido quando o conhecimento da execuc a o da tarefa no


ambiente, disponibilizado pelo professor, tiver sido transferido ao sistema, o maximo
possvel, isto e , quando uma medida sobre erro (por exemplo, valor medio) for minimizada. Quando esta condic a o e atingida, pode-se dispensar o professor e deixar o sistema
interagir com o ambiente por si so.
Aprendizado Supervisionado pode ser realizado no modo estatico off-line e no
modo dinamico on-line. No primeiro, uma vez que o conhecimento do professor foi
transferido, cessa-se o processo de adaptac a o do sistema de aprendizado. Neste caso, o
sistema de aprendizado opera num modo estatico. No modo dinamico, o aprendizado e
executado em tempo real.
Exemplos deste tipo de aprendizado sao a Regra Delta [41] e sua generalizac a o,
conhecida como algoritmo Backpropagation(BP) [34], aplicados a` Redes Neurais Artificiais (RNAs).
RNAs sao baseadas na estrutura e comportamento do sistema nervoso. A estrutura basica desse sistema e o neuronio, que desempenha o papel de difusor de impulsos
eletricos. A propagac a o do impulso ocorre atraves das sinapses (pontos de contato entre
as terminac o es de neuronios). Este modelo foi copiado para uma estrutura computacional, onde cada neuronio se torna um processador e a cada informac a o trocada entre esses
processadores esta associado um peso (sinapse). A Figura 5.2 apresenta um modelo computacional simples de neuronio que tem sido utilizado ate hoje, onde x denota as entradas,
y e a sada do neuronio e f e uma func a o de ativaca o ou transferencia.

de um Neuronio

Figura 5.2: Representac ao


Padrao

1.1. A Regra Delta


Este algoritmo envolve apenas um neuronio e foi proposto para ajustar os pesos da arquitetura ADALINE (ADAptive LINear Element) [41]. Considere que a func a o de ativac a o
f para o neuronio da Figura 5.2 e linear, e que d seja a resposta desejada no tempo t,
quando o neuronio recebe a entrada x
x1 ; x2 ; : : : ; xn , de sinais ponderados pelos resw1 ; w2 ; : : : ; wn . Seja y a sada fornecida pelo neuronio em resposta
pectivos pesos w
a esta entrada:

=(

=(

y (t) =

n
X
k=1

wk xk

(5.1)

Usualmente, os pesos sao todos inicializados com zero e, provavelmente, a resposta atual y deste neuronio sera diferente da resposta desejada d. O erro e dado por:
et
d t y t e uma medida de erro ou func a o de custo pode entao ser definida
como:
n
X
Ew
dt yt 2
dt
wk xk 2
(5.2)

() = ()

()

[ ] = 12 [ ( ) ( )] = 12 [ ( )
]
k=1
A func a o E [w ] e maior ou igual a zero e tende a zero quanto mais a resposta da

sada do neuronio se aproximar da resposta desejada para o padrao de entrada. O erro


total, ET , apos a apresentac a o de varios exemplos p de um dado conjunto de treinamento
e :

ET

X
p

E [w] =

1 X[dp(t)
2 p

y p(t)]2

(5.3)

O objetivo do aprendizado e minimizar esta func a o de custo. Embora o erro total


ET seja definido pela soma dos erros para todos os padroes, sera assumido, sem perda
de generalidade, que a minimizac a o do erro para cada exemplo, dada pela Equac a o 5.2,
levara a` minimizac a o do erro total.
Assim sendo, observe que a func a o de custo depende somente dos pesos sinapticos
e dos exemplos apresentados ao neuronio. Entao, minimizando-se a func a o E w podese obter um conjunto de pesos wk caminhando em direc a o oposta ao gradiente de E w .
Usando o metodo da descida do gradiente [17], os pesos w k sao modificados por uma
quantia proporcional ao gradiente de E , isto e :

[ ]

@E [w]
@wk

(5.4)

 (d(t) y (t))xk

(5.5)

wk =
wk =

[ ]

que corresponde a` s modificac o es que devem ser realizadas nos pesos em relac a o
ao exemplo p, ou ainda,
wk
 t xk
(5.6)

ou

()

wk (t + 1)
onde

(t) e definido por:

wk (t) +  (t)xk ; k
(t)

= (d(t)

= 1; 2; : : : ; p

y (t))

(5.7)

(5.8)

Este resultado dado pelas Equac o es 5.5, 5.6 e 5.8 e conhecido como Regra Delta,
regra de Widrow-Hoff ou regra LMS.
Camadas
Intermedirias
Conexes

Camada de
Entrada

Camada de
Sada

Figura 5.3: Rede Neural Multi-Camadas

1.2. A Regra Delta Generalizada


A generalizac a o da Regra Delta, conhecida como algoritmo Backpropagation ou Regra
Delta Generalizada, envolve uma rede multi-camadas de neuronios (Figura 5.3 e sua
descric a o pode ser encontrada em [17]. Neste caso, a func a o de custo (erro total a ser
minimizado) e dada por:

ET [w]

m
XX
= 21
(dpi(t)
p i=1

yip(t))2

(5.9)

onde m e o numero de unidades de sada, di e a i-esima sada desejada e yi e a i-esima


sada gerada pela rede, no instante t.
Diferentemente da Regra Delta, a Regra Delta Generalizada requer que a func a o
de ativac a o dos neuronios seja contnua, e diferenciavel. O calculo da sada de um
neuronio yj pode ser expresso como:

onde netpj

p
k wjk xk .

yj = fj (netpj )

(5.10)

Usualmente, os pesos sao inicializados aleatoriamente e, atraves da aplicac a o do


metodo de descida do gradiente sao ajustados pela seguinte regra de atualizac a o, durante
o processo de treinamento da rede:

wi j (t + 1)

wij (t) + j (t)xi (t)

(5.11)

onde:

jP = f 0 (netj )(dj yj ) para um neuronio j na camada de sada, j =


0
f (netj ) k k wjk para um neuronio j na camada intermediaria e f 0 (netj ) representa a

derivada da func a o de ativac a o f em relac a o ao peso wij .

Os erros sao propagados da camada de sada para as camadas anteriores. Maiores


detalhes sobre este algoritmo podem ser encontrados em [17].
1.3. Exemplos
Existem inumeras aplicac o es interessantes que demonstram a importancia de aprendizado, realizado com a utilizac a o destes algoritmos, na a rea de robos moveis. Atraves do
sistema ALVINN um veculo consegue a habilidade de dirigir automaticamente baseado
em informac o es de como o homem dirige [28]. Para isto, foi utilizada uma rede neural
multi-camadas, cujas entradas foram imagens (32x30 pixels) de rodovias, e a sada foi a
direc a o correta a ser tomada pelo veculo correspondente a` imagem recebida.
Em Waldherr et al. [42] uma RNA foi treinada e inserida no sistema de controle do robo Amelia, mencionado na sec a o 3.2., para que o mesmo fosse capaz de reconhecer gestos em tempo real. Esta pesquisa esteve voltada para a utilizac a o de robos
moveis para auxiliar as pessoas no seu dia-a-dia. Uma interface baseada em gestos para interac a o homem-maquina foi apresentada, que capacita pessoas a instrurem robos a
realizarem tarefas faceis atraves de gestos feitos pelo brac o. Neste caso, a RNA recebeu como entrada, imagens (10x10 pixels) contendo diferentes tipos de gestos e como
sada, os a ngulos formados pelo brac o correspondente a` quele gesto. Tais gestos podem
ser estaticos, os quais envolvem apenas uma configurac a o especfica do brac o da pessoa,
ou podem ser dinamicos, isto e , envolver movimento. O desempenho do sistema foi testado considerando-se 4 tipos de gestos: parar, apontar um objeto, seguir e nenhum
gesto. Os resultados foram obtidos em relac a o a` uma tarefa de limpeza de escritorio realizada pelo robo. Esta tarefa consiste em: (1) uma pessoa guia o robo, atraves de gestos,
para locais especficos no escritorio que precisam ser limpos. (2) O robo pega o lixo que
pode ser, papel, latinhas de bebida, ou algum outro objeto e entao (3) coloca-o no cesto
de lixo mais proximo. Os resultados obtidos, para um conjunto de 50 amostras de cada
tipo de gesto testado, totalizando 241 amostras, mostraram que o sistema tem capacidade
de detectar gestos dinamicos e que o robo pode satisfatoriamente realizar esta tarefa.

2. Aprendizado por Reforc o


No aprendizado por reforc o (AR), o agente aprende a resolver uma tarefa atraves de repetidas interac o es com o ambiente, por tentativa e erro, recebendo reforc os (recompensas
ou punic o es) como retorno.
Aprendizado por reforc o e baseado na ideia que, se uma ac a o e seguida de estados
satisfatorios, entao a tendencia para produzir esta ac a o e aumentada. Estendendo esta
ideia, ac o es podem ser selecionadas em func a o da informac a o sobre os estados que elas
podem produzir.

Quase todos metodos de AR em uso sao baseados na tecnica de Diferenc as Temporais (TD) [36]. A ideia fundamental em TD e o aprendizado por predic a o: quando o
agente recebe um reforc o deve propaga-lo retroativamente no tempo. Desta forma, os
estados que foram anteriormente visitados e que conduziram a esta condic a o, serao associados a uma predic a o de conseque ncias futuras.
A aquisic a o de informac o es de aprendizado por experiencia direta e uma pratica
que normalmente nao esta sob o total controle de um agente: ele pode escolher ac o es, mas
nao pode determinar as conseque ncias destas ac o es com antecedencia para todos estados,
pois normalmente nao tem um modelo suficientemente preciso de um estado no qual
sao baseados os julgamentos. Por isto, o agente deve estimar o valor associado atraves
de visitac a o direta; ele deve escolher uma ac a o, receber um resultado e propaga-lo aos
estados anteriores, seguindo o procedimento de TD 1 .
A correta determinac a o das conseque ncias das ac o es depende de um numero razoavel de atualizac o es para cada estado. A convergencia de algoritmos AR em geral esta
condicionada a um numero infinito de visitas para todos os estados do processo. A impossibilidade de cumprir esta condic a o cria o conflito entre explorac a o e exploitac a o. O
robo deve encontrar polticas de ac o es que permitam uma melhor explorac a o do conjunto
de estados e por conseguinte um melhor modelo. Mas ao mesmo tempo deve-se considerar que um bom desempenho so e atingido se uma melhor poltica de ac a o e executada
(exploitac a o)2 .
2.1. Modelo Padrao de Aprendizado com Reforc o
No modelo de aprendizado com reforc o, um robo e conectado a seu ambiente por
percepc a o e ac a o, como descrito no Captulo 1. Em cada passo de interac a o, o robo recebe
como entrada, uma percepc a o i, do estado atual s do ambiente; e escolhe entao uma ac a o
a. A ac a o muda o estado do ambiente e e comunicado o valor desta transic a o de estado ao
robo por um sinal de reforc o escalar r (ver Figura 5.4). O comportamento do robo deve
ser escolher ac o es que tendem a aumentar, ao longo do tempo, uma func a o da soma dos
valores do sinal de reforc o. Ele pode aprender a fazer isto com o passar do tempo atraves
da sistematica tentativa-e-erro, guiado por uma grande variedade de algoritmos.
Ambiente
a

s
I

de aprendizado com reforc o.


Figura 5.4: Modelo padrao

O trabalho do robo e , portanto, achar uma poltica  , mapeando estados em ac o es,


1
2

apud [31]
apud [31]

para maximizar a medida de reforc o ao longo do tempo. Formalmente, o modelo padrao


de AR consiste de:





um conjunto discreto de estados de ambiente, S ;


um conjunto discreto de ac o es de agente, A;
um conjunto de sinais de reforc o, tipicamente f0,1g, ou numeros reais.

Para fins de estudos dos algoritmos, assume-se que


seja, o robo percebe o estado exato do ambiente.

I e a func a o identidade, ou

Neste caso, pode-se modelar o problema de AR como um Processo de Decisao de


Markov (MDP).
Processo de Decisao de Markov
Na aprendizagem por reforc o (AR), o robo toma decisoes com base no estado do ambiente. Como um estado contem toda a informac a o relevante para a tomada de decisao, diz-se
que o processo decisorio e de Markov ou que tem a propriedade de Markov. Pode-se observar esta propriedade tomando-se, por exemplo, o movimento de uma bola atirada por
um canhao. Para determinar seu voo futuro, nao importa com que velocidade saiu e de
que posic a o veio, basta conhecer sua velocidade e a posic a o atual.






Formalmente, um MDP consiste de:


um conjunto de estados do ambiente, S ;
um conjunto de possveis ac o es A;
uma func a o de probabilidade de transic a o para s0 dado s e a, P
reforc os associados a` transic a o para s0 dado s e a, R s0 js; a ;

(s0js; a);

Existem boas referencias para MDPs, tais como [8], [29], [9]. Maiores detalhes
sobre AR podem ser encontrados em [31], [36] e [18].
2.2. Algoritmos de AR
Os metodos de aprendizado por reforc o estao divididos em metodos independentes de
modelo e metodos baseados em modelo. Um modelo consiste em se ter o conhecimento previo da func a o de probabilidade de transic a o P s0 js; a e da func a o de reforc o
R s0 js; a .

Os metodos independentes de modelo (model-free) aprendem a execuc a o adequada de uma tarefa sem um modelo explcito dos efeitos das ac o es. Os metodos baseados
em modelo (model-based) aprendem e usam um modelo do ambiente enquanto simultaneamente tentam aprender a executar a tarefa o tima [7]. Os algoritmos Q-learning [40] e
R-learning [37] sao exemplos de metodos independentes de modelo, enquanto H-learning
[38] e um exemplo de metodo baseado em modelo.
Algoritmos Q-learning e SARSA
O algoritmo Q-learning [40] e um metodo iterativo para o aprendizado de uma poltica de
ac o es. Este metodo e baseado na medida de valor de pares estado/ac a o, Q s; a , o qual
representa o valor esperado (soma das recompensas descontadas no tempo) ao se executar

( )

uma ac a o a no estado s, seguindo-se depois uma poltica o tima. Em cada interac a o com
o ambiente, Q s; a e atualizado pela regra:

( )

Q(s; a)

Q(s; a) + [r + max
Q(s0 ; a0 ) Q(s; a)]
a
0

(5.12)

onde e o fator de desconto temporal e e a taxa de aprendizado.

Apos executar uma ac a o a, o agente deixa o estado s e vai para s0 , recebendo por
0 0
esta transic a o uma recompensa imediata r .
a Q s ; a e uma previsao do valor do
proximo estado, quando se segue uma poltica o tima.

max (

Uma variac a o interessante para o Q-learning e o algoritmo SARSA [40]. A


atualizac a o dos custos das ac o es e realizada em cada passo de acordo com a equac a o
abaixo:

Q(s; a)

Q(s; a) + [r + Q(s0 ; a0 ) Q(s; a)]

(5.13)

0 0
Naturalmente, caso a ac a o escolhida a seja
a Q s ; a , este algoritmo sera
sobre as ac o es,
equivalente ao Q-learning padrao. Por eliminar o uso do operador
este metodo e mais rapido que o Q-learning para situac o es onde o conjunto de ac o es
tenham cardinalidade alta.

max (
0

max

Existem varias aplicac o es interessantes destes algoritmos. Um exemplo de


aplicac a o de Q-learning para o aprendizado de trajetorias para um robo movel pode ser
encontrado em [32]. Neste caso, foi utilizado um robo Khepera [21], atuando em um ambiente retangular com obstaculos. Partindo de um ponto fixo, o robo movel foi treinado
autonomamente para atingir um alvo, na parede oposta, ao mesmo tempo em que evitava
obstaculos. Um reforc o negativo era produzido cada vez que um controlador para desvio
de obstaculos era ativado, e um reforc o positivo proporcional a` distancia relativa ao alvo
era produzido simultaneamente. Usando-se uma variac a o do algoritmo Q-learning que
considera o grau de similaridade entre estados (posic o es no ambiente) vizinhos [33], foi
possvel gerar trajetorias satisfatorias apos cerca de minutos de treinamento.

34

Algoritmo R-learning
Esta tecnica, proposta em [37], maximiza a recompensa media a cada passo. Trata-se de
um metodo de controle independente de poltica para versoes de aprendizado por reforc o
nas quais nao se utilizam descontos e nem se dividem as experiencias em episodios distintos com retornos finitos.
Em contrate com o algoritmo Q-learning, R-learning maximiza um reforc o medio,
ou seja, a func a o de custo para uma poltica  e definida em relac a o a` media das recompensas esperadas em cada passo de tempo, como:

 = nlim
!1 E
N e o numero total de reforc os recebidos.

n

1X
r :

t=0

(5.14)

Figura 5.5: Pioneer 1 Gripper. Este robo e montado sobre um eixo de duas rodas,
sete sonares, sendo cinco frontais e dois laterais

(s; a) sao ajustados a cada ac a o baseados na seguinte regra:


R(s; a) R(s; a) + [r ~ + max
R(s0 ; a0 ) R(s; a)];
(5.15)
a

Os valores de R

que difere da regra do Q-learning, simplesmente por subtrair a estimativa da recompensa media  do reforc o imediato r e por nao ter desconto para o proximo estado. A
estimativa  e calculada como:

~
~

~

~ + [r + max
Rt (s0 ; a)
a

O ponto chave e que


tomada.

max
R(s; a) ~]
a

(5.16)

~ somente e atualizado quando uma ac a o nao aleatoria for

Uma aplicac a o de uma modificac a o deste algoritmo, denominada R-learning pode ser encontrada em [14] e [15]. Esta modificac a o foi realizada atraves da incorporac a o
de logica fuzzy ao algoritmo R-learning. Este algoritmo apresentou melhores resultados
que o R-learning, no domnio de navegac a o de robos moveis, por calibrar o reforc o imediato. Uma aplicac a o para o robo Pioneer 1 5.5 foi realizada com este algoritmo. Esta
aplicac a o consistiu em fazer com que o robo navegasse em um ambiente desconhecido,
evitando colisoes e procurando por pequenos objetos para serem colocados em uma lixeira. Para tanto, o mapeamento dos estados foi feito utilizando forc a de repulsao como
proposto por Borenstein et. al. [10], entre os objetos e o robo. Este mapeamento propiciou um numero menor de estados do ambiente, por fundir as leituras dos sonares em uma
u nica informac a o, permitindo que o robo aprendesse a navegar em menos tempo. Por outro lado, foi proposto um conjunto de ac o es que fez com que o robo tivesse movimentos
mais suaves.
As seguintes recompensas imediatas sao adotadas de acordo com o estado que
robo atinge, como e mostrado na tabela abaixo:
sendo que o conjunto de ac o es proposto foi:
A = f avanc ar, girar a` direita, girar a` esquerda, recuar g
Para verificar o desempenho do robo na tarefa proposta foram colocados 2 corpos
de prova em um ambiente como mostrado na Figura 2.2.. Apos o aprendizado mais dois
ambientes foram testados no simulador e o robo navegou neles normalmente sem precisar
de um novo treinamento (Figura 2.2.(b) e(c)).

estados
passagem livre
colisao
risco de colisao
levar para lixeira
obstaculo

recompensas
10
-100
-100
100
-50

Tabela 5.1: Recompensas para o robo pegador de objetos.

objeto 1

objeto 2

(a)

lixeira

(b)

(c)

Figura 5.6: (a) Planta do ambiente real onde o robo recolheu objetos e aprendeu
a navegar (4m7m); (b) e (c) ambientes construdos no simulador,
com 8m8m e 10m15m respectivamente.

Agradecimentos
Carlos H. Costa Ribeiro agradece a` FAPESP (Proc. 99/05777-2) e ao CNPq (bolsa
301228/97-3) o apoio prestado. Anna H. Reali Costa agradece ao NSF/CNPq-ProTeM
CC pelo financiamento do projeto MAPPEL (Proc. 68003399-8). Roseli A. Francelin
Romero agradece a` FAPESP (Proj. 2000/02959-3) e ao CNPq (bolsa 300634/92-7).

Referencias
[1] P.E. Agre e S.J. Rosenschein (eds.). Computational Theories of Interaction and Agency.
MIT Press, 1996.
[2] J.S. Albus. The NIST Real-time Control System (RCS) An Approach to Intelligent Systems Research. Journal of Experimental and Theoretical Artificial Intelligence 9,
pp. 157-174, 1997.
[3] G. Andeen (ed.). Robot Design Handbook. SRI International, McGraw-Hill, 1988.
[4] R.C. Arkin. Path Planning for a Vision-Based Autonomous Robot. In Procs. of the SPIE
Conf. on Mobile Robots. Cambridge, MA (EUA), pp. 240-49, 1986.
[5] R.C. Arkin. Behavior-Based Robotics. MIT Press, 1999.
[6] J.A. Bagnell, K.L. Doty, e A.A. Arroyo. Comparison of Reinforcement Learning Techniques for Automatic Behavior Programming. In Proceedings of the CONALD.
CMUUSA, 1998.
[7] A.G. Barto, S.J. Bradtke, e S.P. Singh. Learning to act using realtime dynamic programming. Artificial Intelligence, 1993.

[8] R. Bellman. Applied Dynamic Programming. Princeton University Press, 1957.


[9] D.P. Bertsekas. Dynamic Programming: Deterministic and Stochastic Models. PrenticeHall, 1987.
[10] J. Borestein e Y. Koren. Real-time obstacle avoidance for fast mobile robots. IEEE Transactions on Systems, Man and Cybernetics, 19:1179-1187, 1989.
[11] V. Braitenberg. Vehicles: Experiments in Synthetic Psychology. MIT Press, Cambridge,
MA, 1984.
[12] R. Brooks. A Robust Layered Control System for a Mobile Robot. IEEE Journal of Robotics and Automation, 1:1-10, 1986.
[13] R. Brooks. New Approaches to Robotics. Science, Vol.253, September, 1227-32, 1991.
[14] G. Faria e R.A.F. Romero. Incorporating Fuzzy Logic to Reinforcement Learning, In
Procs. of the 9th IEEE International Conference on Fuzzy Systems, pp. 847-851,
2000.
[15] G. Faria. Explorando o Potencial de Algoritmos de Aprendizado com Reforc o em Robos
Moveis. Dissertac a o de Mestrado, Universidade de Sao Paulo, 2000.
[16] E. Gat. Reliable Goal-Directed Reative Control of Autonomous Mobile Robots. Tese de
Doutoramento, Virginia Polytecchnic Institute and State University, Blacksburgh
(EUA), 1991.
[17] S. Haykin. Neural Networks - A Comprehensive Foundation. Prentice-Hall, 1994.
[18] L.P. Kaelbing e M.L. Littman. Reinforcement learning: A survey. Journal of Artificial
Intelligence Research, 4:237-285, 1996.
[19] B. Krogh, A Generalized Potential Field Approach to Obstacle Avoidance Control.
SME-RI Technical Paper MS84-484, Society of Manufacturing Engineers, Dearborn, Michigan - EUA, 1984.
[20] H. Kitano, A. Minoro, Y. Kuniyoshi, I. Noda e E. Osawa. RoboCup: The Robot World
Cup Initiative. In Procs. of the Workshop on Entertainment and AI/Alife, IJCAI,
Montreal, Canada, 1995.
[21] K-Team S.A. Khepera User Manual. Ch. de Vuasset, CP 111, 1028 Preverenges (Suic a),
1998.
[22] D. Lyons e A. Hendriks. Planning for Reactive Robot Behavior. In Procs. of the IEEE Int.
Conf. on Robotics and Automation, Nice (Franc a), pp. 2675-80, 1992.
[23] M. Mataric. Minimizing complexity in controlling a mobile robot population. In Procs. of
the IEEE International Conference on Robotics and Automation. Nice, France, May
1992, 830-835.
[24] A. Meystel. Knowledge Based Nested Hierarchical Control. In Advances in Automation
and Robotics, Vol.2, Ed. G. Saridis, JAI Press, Greenwich, CT (EUA), pp. 63-152,
1990.
[25] T. Mitchell. Machine Learning. McGraw Hill, 1997.
[26] R. Murphy. Introduction to AI Robotics. MIT Press, 2000.

[27] L.E. Parker. ALLIANCE: an architecture for fault tolerant multi-robot cooperation. IEEE
Transactions on Robotics and Automation, 14(2), 2200-240.
[28] D.Pormeleau, Neural Network Perception for Mobile Robot Guidance. Kluwer Academic
Publishers, 1993.
[29] M.L. Puterman. Markov Decision Process - Discrete Stochastic Dynamic Programming.
John Wiley & Sons, New York, NY, 1994.
[30] A. H. Reali Costa e R. Pegoraro. Construindo Robos Autonomos para Partidas de Futebol:
O Time Guarana. Revista Controle & Automac a o, 11:141-149, 2000.
[31] C.H.C. Ribeiro. A Tutorial on Reinforcement Learning Techniques. In A.P. Braga (ed.),
CD-ROM, Supervised Learning track tutorials, International Joint Conference on
Neural Networks, INNS Press, Washington DC, 1999.
[32] C.H.C. Ribeiro. Autonomous learning based on cost assumptions: Theoretical studies and
experiments in robot control. International Journal of Neural Systems, 9: 243-250,
1999.
[33] C.H.C. Ribeiro e C. Szepesvari. Q-learning combined with spreading: Convergence and
results. In Procs. of the ISRF-IEE International Conf. on Intelligent and Cognitive
Systems (Neural Networks Symposium), pp. 32-36, 1996.
[34] D.E.Rumelhart, G.E. Hinton e R.J.Williams. Learning internal representations by error propagation. In Parallel Distributed Processing, Vol. I + II, D.E.Rumelhart e
J.L.McClelland (eds.), MIT Press, 1986.
[35] S. Russell e P. Norvig. Artificial Intelligence: A Modern Approach. Prentice-Hall, 1995.
[36] R.S. Sutton e A.G. Barto. Reinforcement Learning: An Introduction. MIT Press, 1998.
[37] A. Schwartz. A reinforcement learning method for maximizing undiscounted rewards, In
Machine Learning: Procs. of the 10th Int. Conf., Morgan Kaufmann, 1993.
[38] P. Tadepalli e D. Ok. A reinforcement learning method for optimizing undiscounted average reward, TR. 94-30-01, Dept. of Computer Science, Oregon State University
(EUA), 1994.
[39] S. Thrun e A. Buchen. Integrating grid-based and topological maps for mobile robot navigation. In Procs. of the 13th National Conference on Artificial Intelligence, Menlo
Park, Aug. AAAI Press/MIT Press, 1996.
[40] C.J.C.H. Watkins. Learning from Delayed Rewards. Tese de Doutorado, University of
Cambridge, 1989.
[41] B. Widrow e M.E. Hoff. Adaptive switching circuits. In 1960 IRE WESCON Convention
Record, pages 96-104, New York, 1960.
[42] S. Waldherr, R. Romero e S. Thrun, A Gesture Based Interface for Human-Robot Interaction. Autonomous Robots 9, pp. 151-173, 2000.

Você também pode gostar