robos mˆ oveis inteligentes: princ´ ´ıpios e...

54
Robˆ os M´ oveis Inteligentes: Princ´ ıpios e T´ ecnicas Carlos Henrique Costa Ribeiro Anna Helena Reali Costa Roseli Aparecida Francelin Romero Div. de Ciˆ encia da Computac ¸˜ ao Instituto Tecnol´ ogico de Aeron´ autica Prac ¸a Mal. Eduardo Gomes, 50 12228-900 S˜ ao Jos´ e dos Campos, SP [email protected] Depto. de Engenharia de Computac ¸˜ ao e Sistemas Digitais Escola Polit´ ecnica - Universidade de S˜ ao Paulo Av. Prof. Luciano Gualberto, Trav. 3 no. 158 05508-900 S˜ ao Paulo, SP [email protected] Inst. de Ciˆ encias Matem´ aticas e de Computac ¸˜ ao Universidade de S˜ ao Paulo Av. Trabalhador S˜ ao-carlense, 400 13560-970 S˜ ao Carlos, SP [email protected]

Upload: others

Post on 22-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

Robos Moveis Inteligentes: Princıpios e Tecnicas

Carlos Henrique Costa Ribeiro1

Anna Helena Reali Costa2

Roseli Aparecida Francelin Romero3

1 Div. de Ciencia da Computac¸aoInstituto Tecnologico de Aeronautica

Praca Mal. Eduardo Gomes, 5012228-900 Sao Jose dos Campos, SP

[email protected]

2 Depto. de Engenharia de Computac¸ao e Sistemas DigitaisEscola Politecnica - Universidade de Sao PauloAv. Prof. Luciano Gualberto, Trav. 3 no. 158

05508-900 Sao Paulo, [email protected]

3 Inst. de Ciencias Matematicas e de Computac¸aoUniversidade de Sao Paulo

Av. Trabalhador Sao-carlense, 40013560-970 Sao Carlos, SP

[email protected]

Page 2: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

Sumario

1 Introduc ao 5

1. Organizac¸ao do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Comportamentos em Robos Moveis 8

1. O que significa “Reatividade”?. . . . . . . . . . . . . . . . . . . . . . . 8

2. O que significa “Deliberac¸ao”? . . . . . . . . . . . . . . . . . . . . . . . 9

3. Sensores e Atuadores para Robˆos Moveis . . . . . . . . . . . . . . . . . 9

3.1. Sensores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.2. Atuadores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4. Comportamentos: Definic¸ao . . . . . . . . . . . . . . . . . . . . . . . . 11

4.1. Exemplos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

5. Metodos para Implementac¸ao de Comportamentos . . .. . . . . . . . . 13

5.1. Metodos baseados em Etologia . . .. . . . . . . . . . . . . . . . 13

5.2. Metodos baseados em Atividade Situada . . . .. . . . . . . . . 14

5.3. Metodos Guiados por Experimentac¸ao . . . . . . . . . . . . . . . 15

6. Codificacao de Comportamentos . . . . . .. . . . . . . . . . . . . . . . 16

6.1. Parametrizac¸ao de Acoes . . . . . . . . . . . . . . . . . . . . . . 16

6.2. Parametrizac¸ao de Est´ımulos . . . . . . . . . . . . . . . . . . . . 17

6.3. Uma Formalizac¸ao para Comportamentos e sua Coordenac¸ao . . 17

6.4. Func¸oes Importantes de Coordenac¸ao de Comportamentos . . . . 21

3 Arquiteturas de Comportamentos 23

1. Arquiteturas Reativas . . . . .. . . . . . . . . . . . . . . . . . . . . . . 23

1.1. ArquiteturaSubsumption . . . . . . . . . . . . . . . . . . . . . . 23

1.2. Arquitetura Baseada em Campos Potenciais . . .. . . . . . . . . 24

2. Arquiteturas Deliberativas . .. . . . . . . . . . . . . . . . . . . . . . . 26

1

Page 3: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

2.1. NHC -Nested Hierarchical Controller . . . . . . . . . . . . . . . 27

2.2. RCS -Realtime Control System . . . . . . . . . . . . . . . . . . 28

3. Arquiteturas H´ıbridas . . . . .. . . . . . . . . . . . . . . . . . . . . . . 28

3.1. Componentes das Arquiteturas H´ıbridas . . . . .. . . . . . . . . 29

3.2. Exemplos de Arquiteturas H´ıbridas . . . . . . . . . . . . . . . . 30

4 Times de Robos Moveis 33

1. Por que usar Times de Robˆos? . . . . . . . . . . . . . . . . . . . . . . . 33

2. Caracter´ısticas dos Times Rob´oticos . . . . . . . . . . . . . . . . . . . . 34

3. Exemplos de Times de Robˆos . . . . . . . . . . . . . . . . . . . . . . . . 36

3.1. Uso de regras sociais em times homogˆeneos . . .. . . . . . . . . 36

3.2. Arquitetura ALLIANCE . . . . . .. . . . . . . . . . . . . . . . 37

3.3. Futebol de Robˆos . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5 Comportamentos Adaptativos 41

1. Aprendizado supervisionado .. . . . . . . . . . . . . . . . . . . . . . . 42

1.1. A Regra Delta . . . .. . . . . . . . . . . . . . . . . . . . . . . 44

1.2. A Regra Delta Generalizada . . . .. . . . . . . . . . . . . . . . 45

1.3. Exemplos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

2. Aprendizado por Reforc¸o . . . . . . . . . . . . . . . . . . . . . . . . . . 46

2.1. Modelo Padr˜ao de Aprendizado com Reforc¸o . . . . . . . . . . . 47

2.2. Algoritmos de AR . .. . . . . . . . . . . . . . . . . . . . . . . 48

Page 4: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

Lista de Figuras

1.1 Interac¸ao do robo com o ambiente atrav´es de percepc¸ao (realizada pelossensores) e ac¸ao (executada pelos atuadores). . . . . . .. . . . . . . . . 5

2.1 Escala de comportamentos para robˆo moveis, de acordo com a complexi-dade 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 experimentac¸ao. . . . . . . . . . . . . . . 16

2.5 Campo potencial associado a um comportamento cont´ınuo de rejeic¸ao doobstaculo representado pelo pequeno quadrado. Apenas alguns vetoresestao representados, pois o campo ´e cont´ınuo. O robo R devera produzira acao indicada pela magnitude e direc¸ao do vetor do campo cuja origemcoincide com a posic¸ao do seu centro. . . .. . . . . . . . . . . . . . . . 19

2.6 Coordenac¸ao cooperativa entre comportamentos. . . . .. . . . . . . . . 22

3.1 Um exemplo simples da arquiteturasubsumption. . . . . . . . . . . . . . 25

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

3.3 Planejamento hier´arquico usado em arquiteturas deliberativas. . . . . . . 27

3.4 Arquitetura deliberativa NHC.. . . . . . . . . . . . . . . . . . . . . . . 28

3.5 Arquitetura deliberativa RCS. .. . . . . . . . . . . . . . . . . . . . . . . 29

3.6 Arquitetura h´ıbrida AuRA - Autonomous Robot Architecture. . . . . . . 30

3.7 Arquitetura h´ıbrida Atlantis . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.8 Arquitetura h´ıbrida Planejador/Reator . . .. . . . . . . . . . . . . . . . 31

3.9 O robo AMELIA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.1 Esquema da arquitetura ALLIANCE, implementada em cada robˆo de umtime cooperativo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.2 Exemplo de competic¸oes de futebol de robˆos: 1. Esquerda superior: FI-RA MiRoSoT, 2. Direita superior: RoboCup - LigaLegged, com caesrobos, 3. Inferior: RoboCup - LigaMid-sized. . . . . . . . . . . . . . . . 39

3

Page 5: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

4.3 Time Guaran´a, vice-campe˜ao mundial da FIRA MiRoSoT de 1998. a)Construc¸ao fısica dos robˆos. b) Condic¸ao de troca de pap´eis entre ata-cante e defensor - quando defensor posiciona-se numa ´area definida porum triangulo atras da bola, na direc¸ao do gol advers´ario, o atacante viradefensor e vice-versa. . . . . .. . . . . . . . . . . . . . . . . . . . . . . 40

5.1 Aprendizado Supervisionado .. . . . . . . . . . . . . . . . . . . . . . . 43

5.2 Representac¸ao de um Neurˆonio Padrao . . . . . . . . . . . . . . . . . . . 43

5.3 Rede Neural Multi-Camadas .. . . . . . . . . . . . . . . . . . . . . . . 45

5.4 Modelo padr˜ao de aprendizado com reforc¸o. . . . . . . . . . . . . . . . . 47

5.5 Pioneer 1 Gripper. Este robˆo e montado sobre um eixo de duas rodas, setesonares, sendo cinco frontais e dois laterais. . . . . . . . . . . . . . . . 50

5.6 (a) Planta do ambiente real onde o robˆo recolheu objetos e aprendeu anavegar (4m�7m); (b) e (c) ambientes constru´ıdos no simulador, com8m�8m e 10m�15m respectivamente. . . .. . . . . . . . . . . . . . . . 51

Page 6: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

Capıtulo 1

Introduc ao

Robos moveis inteligentes s˜ao agentes artificiais ativos, com capacidade de locomoc¸ao,imersos no mundo f´ısico real. Agentes por atuarem de forma racional;artificiais porserem m´aquinas e n˜ao entidades criadas pela natureza;ativos por atuarem no ambiente deforma propositada, n˜ao passiva;com capacidade de locomocao por poderem se mover noambiente.

Um robo movel inteligente, ou simplesmente robˆo movel, pode extrairinformacoes do ambiente no qual est´a imerso e usar seu conhecimento sobre um deter-minado dom´ınio para realizar tarefas atrav´es da execuc¸ao de ciclos de interac¸ao com oambiente, da seguinte maneira (Figura 1.1):

� percebe a situac¸ao do ambiente atrav´es dos seus sensores;� determina ac¸ao (ou ac¸oes) a executar, eventualmente raciocinando para interpretar

percepc¸oes e resolver problemas;� executa uma ac¸ao, atrav´es dos seus atuadores, que afeta as condic¸oes do ambiente

e produz novas situac¸oes.

O fato de ser inteligente indica que o robˆo atua de formaracional, isto e, queele alcanc¸a o sucesso esperado na execuc¸ao da tarefa a ele designada, dado o que foipor ele percebido a respeito do ambiente. O grau de sucesso de sua atuac¸ao pode serdefinido por uma medida de desempenho, que o robˆo visa maximizar. Assim, considere

Figura 1.1: Interac¸ ao do rob o com o ambiente atrav es de percepc¸ao (realizadapelos sensores) e ac ¸ ao (executada pelos atuadores).

5

Page 7: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

que seja designada a um robˆo movel a tarefa de percorrer, sem colis˜oes, o trajeto de umponto a outro de uma f´abrica. Se o robˆo conseguir executar esta tarefa com sucesso,conduzindo-se at´e o local desejado e desviando dos eventuais obst´aculos, diz-se que eleagiu racionalmente e que, portanto, ´e inteligente. Se o tempo de percurso for utilizadocomo medida de desempenho, o grau de sucesso na execuc¸ao da tarefa ser´a tanto maiorquanto menor for o tempo que ele levar para realizar o percurso, evitando colis˜oes.

O projeto de robˆos moveis que possam interagir com o mundo real, de maneirarobusta e vers´atil, e, na verdade, muito mais dif´ıcil do que inicialmente pensado [13], umavez que o mundo real apresenta uma natureza ruidosa, imprevis´ıvel e dinamica. No entan-to, alguns problemas considerados intrat´aveis tornaram-se consideravelmente simplifica-dos pela participac¸ao ativa do robˆo no ambiente, atrav´es de seu ciclo de percepc¸ao-acao.

Devido a combinac¸ao da natureza imprevis´ıvel do mundo real com as restric¸oesde tempo frequentemente impostas pela tarefa a ser executada, grande parte das pesquisasrealizadas em robˆos moveis tem sido restrita a desenvolvimentos de sistemas onde asacoes sao completamente determinadas pelas situac¸oes imediatas do ambiente, detectadaspelos sensores do robˆo.

Por outro lado, um robˆo movel que raciocina mais profundamente para decidir so-bre suas ac¸oes pode iniciar alguma atividade independentemente das situac¸oes imediatasdetectadas pelos seus sensores, e organizar a sequˆencia de ac¸oes a ser executada conside-rando antecipadamente futuras configurac¸oes do ambiente. Esta habilidade reside no fatode que, apesar do mundo real ser complicado e com um certo grau de imprevisibilidade,ele tambem exibe uma estrutura que pode ser explorada pelo robˆo.

Um grande desafio no projeto de robˆos moveis consiste em definir compromissosadequados, de tal modo que o robˆo exiba um comportamento apropriado sempre quenecess´ario, seja em n˜ao continuar raciocinando sobre um evento futuro enquanto eventosimprevistos ocorridos no ambiente exijem reac¸ao rapida e imediata, seja em evitar que apercepc¸ao interrompa constantemente seu racioc´ınio.

Diversas quest˜oes devem ser analisadas no projeto e desenvolvimento de robˆosmoveis, tais como:

� Quao complexa ´e a tarefa designada ao robˆo movel?� Quais sao as restric¸oes de tempo da tarefa a ser executada?� Que facilidades e/ou dificuldades s˜ao impostas pelo ambiente?� Quanta e qu˜ao boae a informac¸ao poss´ıvel de ser captada pelos sensores do robˆo?� Quais sao as limitac¸oes dos atuadores do robˆo?� Quanto de conhecimento para antecipac¸ao de configurac¸oes do ambiente deve ser

mantido pelo robˆo?

Algumas vezes, no entanto, a tarefa a ser executada ´e tao complexa que fica muitodifıcil atribuir a umunico robo a incumbencia de realiz´a-la; assim, neste caso, pode serapropriado o uso de times de robˆos. Tarefas adequadas para atribuir a times de robˆos saoaquelas que possuem caracter´ısticas inerentemente distribu´ıdas, tanto em espac¸o, quantoem tempo ou funcionalidade, como, por exemplo, explorac¸ao (subaqu´atica, planet´aria,etc), busca e resgate (de pessoas, plantas, animais, objetos), remoc¸ao de minas terrestres,inspecao de tubulac¸oes (ar condicionado, de ´agua, esgoto, etc), combate a incˆendios emcampos e florestas, limpeza de grandes ´areas (estacionamentos, praias), etc.

Page 8: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

Tambem pode ser interessante dotar o robˆo com a capacidade de se adaptar amudanc¸as que ocorram no ambiente. A capacidade de aprender incute esta habilidadeadaptativa aos robˆos, a qual pode se manifestar em diversas dimens˜oes: na gerac¸ao eaprimoramento de pol´ıticas apropriadas de comportamentos, no aumento da eficiˆenciada percepc¸ao e atuac¸ao, na melhoria da coordenac¸ao da atuac¸ao conjunta de um time derobos, entre outras.

Estas e outras quest˜oes sao enderec¸adas neste curso, que tem por objetivo fornecernocoes teoricas basicas do projeto e funcionamento de robˆos moveis.

1. Organizacao do texto

Este texto est´a dividido em 5 cap´ıtulos, onde o primeiro define robˆos moveis inteligentese os outros fornecem as noc¸oes teoricas basicas e as pr´aticas associadas ao projeto efuncionamento de robˆos moveis.

No Cap´ıtulo 2 sao descritos dois paradigmas da rob´otica movel: Reativo e Deli-berativo. Este cap´ıtulo tambem fornece os princ´ıpios basicos da interac¸ao do robo como ambiente e conclui apresentando uma formalizac¸ao para comportamentos dos robˆosmoveis e uma descric¸ao das func¸oes principais de coordenac¸ao de comportamentos.

No Cap´ıtulo 3 sao apresentadas as arquiteturas de comportamentos, com exemplosrepresentativos de arquiteturas reativas, arquiteturas deliberativas e arquiteturas h´ıbridasreativa/deliberativa. O estudo de arquiteturas representativas e suas aplicac¸oes mostramodos diferentes de se utilizar componentes e ferramentas associados a um paradigma,na construc¸ao de robˆos moveis inteligentes.

No Cap´ıtulo 4 e discutido como times de robˆos moveis podem ser utilizados,descrevendo-se aplicac¸oes t´ıpicas para m´ultiplos robos. Sao tambem definidas ca-racter´ısticas dos times e descritas algumas arquiteturas representativas na ´area e suasaplicacoes.

Finalmente, o Cap´ıtulo 5 aborda adaptac¸ao do robo atraves do aprendizado, demodo a capacit´a-lo a melhorar seu desempenho para executar uma determinada tarefa.Sao descritas t´ecnicas de aprendizado supervisionado e de aprendizado por reforc¸o, quesao os tipos de aprendizado mais comumentemente usados em rob´otica movel.

Page 9: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

Capıtulo 2

Comportamentos em Robos Moveis

A atuacao de robˆos moveise definida a partir de um entre dois paradigmas b´asicos: oparadigma reativo e o paradigma deliberativo. Reatividade corresponde a mapeamentossimples, ligando est´ımulos sensoriais a respostas (ac¸oes), enquanto que deliberac¸ao im-plica um est´agio intermedi´ario de planejamento, baseado em um modelo do ambienteno qual o robˆo atua. Neste cap´ıtulo, estes paradigmas de atuac¸ao serao definidos e con-trastados. A seguir, ser˜ao apresentados os elementos f´ısicos correspondentes `a interac¸aodo robo com o ambiente externo: os sensores (em seus v´arios tipos) e os mecanismosde atuac¸ao mais comuns. Na segunda parte do cap´ıtulo, sera apresentado o conceito decomportamento, uma func¸ao que relaciona de modo gen´erico os est´ımulos sensoriais arespostas produzidas. Um enfoque baseado em comportamentos ser´a entao proposto ejustificado como uma base adequada para o estudo de robˆos moveis inteligentes, e algunsdos metodos mais comuns para a implementac¸ao de comportamentos ser˜ao discutidos.Finalmente, ser˜ao apresentados alguns aspectos adicionais deste enfoque: codificac¸oesmatematicamente consistentes e mecanismos para a coordenac¸ao de multiplos comporta-mentos.

1. O que significa “Reatividade”?

Considere o que ocorre ao tocarmos com a m˜ao um objeto muito quente: imediatamente,uma ac¸ao reflexa de afastamento da m˜ao e executada, sem que tenhamos a chance deraciocinar sobre o que aconteceu, e sobre que medida seria a mais apropriada a tomar nasituacao. O nosso c´erebro naoe chamado a atuar neste caso porque n˜ao ha um problema aser resolvido que exija racioc´ınio: a integridade do nosso corpo est´a em jogo, e a evoluc¸aodotou o homem e outros animais de uma capacidade de reac¸ao rapida a situac¸oes que aexijam.

Uma capacidade deste tipo tamb´em pode ser implementada em robˆos moveis.Assim como no homem, tal capacidade n˜ao requer intermediac¸ao do ”cerebro”do robˆo:ao ser apresentado o est´ımulo (por exemplo, calor excessivo medido por um sensor detemperatura), o robˆo deve imediatamente executar uma ac¸ao pre-definida. No exemplo,uma ac¸ao reativa t´ıpica seria um comando aos motores das rodas para que afastem o robˆoda direcao da fonte de calor. Considere por exemplo um robˆo movel de base circular, comum sensor de temperatura localizado `a frente. Uma implementac¸ao tıpica de capacidade

8

Page 10: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

reativa seria:

SE (medida de sensor de temperatura a frente > 50 graus)ENTAO (reverta o movimento das rodas)

que faz com que o robˆo se afaste da fonte de calor. Observe que a reac¸aoe implementadade forma muito simples: corresponde a uma reac¸ao (reverter movimento das rodas) a umestımulo observado pelo robˆo (calor ”sentido”pelo sensor de temperatura).

2. O que significa “Deliberacao”?

Um robo inteligente pode tentar construir um modelo interno representando o ambienteno qual est´a inserido. Se um problema fosse ent˜ao designado ao robˆo, este poderia tentarprimeiro explorar o espac¸o de soluc¸oes obtidas a partir de seu modelo interno, gerandoum plano de atividades e, ent˜ao, realizar a ac¸ao fısica propriamente dita, atrav´es de seusatuadores. A gerac¸ao deste plano de atividades ´e conhecida comodeliberacao ou pla-nejamento, e corresponde portanto a um mecanismo que define como uma sequˆencia deacoes deve ser realizada, considerando o est´agio de execuc¸ao da tarefa e tendo em vista oobjetivo a ser alcanc¸ado.

Diferentemente de uma ac¸ao reativa, uma ac¸ao escolhida via deliberac¸ao envolveuma analise do modelo interno, n˜ao correspondendo portanto a um simples mapeamentoentre sensores e atuadores. Embora seja teoricamente poss´ıvel a gerac¸ao de um ´unicoplano de ac¸oes a partir de um modelo interno fiel ao dom´ınio (ou seja, escolha de umasequencia de ac¸oes a partir de uma ´unica deliberac¸ao), na pr´atica novos planos devem sercriadosa medida que o robˆo interage com o seu ambiente, pois aspectos n˜ao modeladosquase sempre se apresentam com frequˆencia em problemas reais. A gerac¸ao de um novoplano para compensar deficiˆencias de um plano original ´e conhecida comoreplanejamen-to.

3. Sensores e Atuadores para Robos Moveis

Robos moveis interagem com o ambiente atrav´es de sensores, que correspondem aos“sentidos” do robˆo, e atuadores, que permitem que o robˆo se movimente, manipule objetosou direcione seus sensores para regi˜oes de interesse. Nesta sec¸ao, sao apresentados ossensores e atuadores mais comumentemente usados em robˆos moveis. As caracter´ısticasfısicas destes s˜ao importantes, pois delas dependem fortemente as capacidades de um robˆomovel. Nosultimos anos, este fato tem se evidenciado na importˆancia dada ao projetoe analise de desempenho realizados quase totalmente em robˆos reais, mesmo quandoresultados em simulac¸ao se mostram suficientemente bons.

3.1. Sensores

Os sensores ´uteis em Rob´otica Movel se dividem em duas categorias:

Sensores AtivosSao aqueles que gastam energia de forma propositada para captar ainformacao de interesse. Tipicamente, esta energia ´e dispendida na forma de umpulso (luz, som, etc.), que ´e refletido por algum elemento do ambiente externo ecaptado de volta pelo pr´oprio sensor. Os mais comuns s˜ao:

Page 11: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

Sonares Um sonare um dispositivo que emite e detecta pulsos em uma frequˆenciade som apropriada. Com base no tempo necess´ario para que o pulso refle-tido seja detectado, pode-se estimar a distˆancia do objeto que produziu areflexao relativamente ao sonar, em um processo similar ao usado por mor-cegos e golfinhos. S˜ao sensores baratos, capazes de medir com precis˜aorazoavel em uma faixa relativamente grande de distˆancias.

Emissores/Sensores de InfravermelhoSao similares aos sonares, por´em ope-ram em frequˆencias muito mais altas (radiac¸ao na faixa de infravermelho).Os mais simples s˜ao LEDs emissores de luz acoplados a receptores, bara-tos e pequenos, por´em muito ruidosos.

Sensores LaserEmitem e detectam pulsos de radiac¸ao laser de baixa potˆencia.Tem maior acur´acia do que outros sensores ativos. Um feixe de radiac¸aolaser refletido a partir de um obst´aculo, por exemplo, pode ser usado paraconstruir uma imagem razoavelmente precisa que identifica as distˆanciasde cada ponto do obst´aculo relativamente ao robˆo. Sensores laser, por´em,ainda sao muito caros para a maioria das aplicac¸oes.

Sensores PassivosNenhuma energia ´e emitida pelo sensor com o objetivo expl´ıcito deobter uma reflex˜ao detect´avel. Isto nao quer dizer que estes sensores n˜ao gastemalguma forma de energia para se manterem operacionais. Os mais comuns s˜ao osseguintes:Odometria Realizada por dispositivos usualmente acoplados aos motores ou eixo

das rodas, que estimam a distˆancia linear percorrida pelo robˆo atraves dacontagem do n´umero de giros das rodas, em um processo conhecido comodead-reckoning. A medida fornecida por esses sensores ´e muito imprecisa,devido a imprecis˜oes de manufatura de rodas (variac¸oes de raio nominal),deslizamento em superf´ıcies lisas e irregularidades do terreno.

Sensores de ChoqueEstes sensores normalmente consistem em um arranjo for-mado por dois fios condutores (um externo e um interno), separados poruma pequena distˆancia e colocados no per´ımetro do robˆo (geralmenteproximo a base). Ao se chocar com um obst´aculo, o fio mais externo ´eempurrado na direc¸ao do fio interno, fechando um circuito e produzindoum sinal eletrico interpretado como uma colis˜ao. A sensibilidade a cho-ques pode ser ajustada para diferentes press˜oes de contato entre os fios.

Cameras Assim como em seres humanos, a capacidade de vis˜aoe extremamenteutil em robos moveis. A maioria das cˆameras em uso s˜ao baseadas na tec-nologia CCD (charged coupled device), em que a luz incide sobre uma ma-triz de capacitores fotossens´ıveis produzindo uma imagem, normalmentedisponibilizada na forma anal´ogica. Circuitos de convers˜ao A/D dedica-dos de baixo custo (framegrabbers) sao utilizados para transformar essasimagens para o formato digital, adequado para processamento computa-cional. Cameras digitais, cujo custo tem ca´ıdo sensivelmente nos ´ultimosanos, utilizam CCDs acoplados a conversores A/D que produzem direta-mente uma sa´ıda digital, dispensando o uso deframegrabbers. E comumo uso de duas ou mais cˆameras montadas sobre um robˆo movel, de modoa permitir visao com informac¸ao de profundidade (vis˜ao estereosc´opica).

GPS Um sistema GPS (Global Positioning System) acoplado a um robˆo movelfunciona recebendo sinais de sat´elites e combinando-os para estimar a

Page 12: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

posicao do robo relativamente a um sistema de coordenadas locais. Por seruma tecnica de estimac¸ao local, GPS equivale a um processo de odometria,so que muito mais preciso. Alguns sistemas mais sofisticados, no entanto,permitem estimac¸ao de posic¸ao relativa a um sistema global de coorde-nadas. O prec¸o comercial de sistemas GPS tem ca´ıdo muito nos ´ultimosanos, tornando-o um tipo de sensor a ser considerado em aplicac¸oes debaixo custo.

3.2. Atuadores

Embora atuadores tais como brac¸os mecanicos sejam ´uteis em tarefas que envolvammanipulac¸ao ou exame de objetos no ambiente, consideramos aqui apenas os mais im-portantes em um robˆo movel, ou seja, aqueles respons´aveis por sua locomoc¸ao. Umadescricao detalhada a respeito de atuadores n˜ao-realcionados `a locomoc¸ao pode ser en-contrada em [3].

Rodas Sao os atuadores mais usados em robˆos moveis. A configurac¸ao mais comume a baseada emdrive diferencial, na qual duas rodas s˜ao montadas em um eixocomum e comandadas por dois motores independentes. Normalmente, este ar-ranjo requer uma terceira roda de apoio para manter o equil´ıbrio do robo. Umaconfigurac¸ao mais est´avel e similaraquela utilizada em autom´oveis consiste emuma ou duas rodas ligadas a um eixo m´ovel (para realizac¸ao de curvas), e um se-gundo par de rodas em um eixo fixo, comandadas por um motor para controle develocidade linear. Esta configurac¸ao, porem, tem a desvantagem de n˜ao permitirque o robo gire em torno do pr´orpio centro. Em geral, a locomoc¸ao baseada emrodas tem fraco desempenho em terrenos nos quais as irregularidades tˆem alturanao desprez´ıvel quando comparadas ao raio das rodas.

Hastes A locomocao baseada em hastes que se assemelham a pernas ou patas de insetospode ser interessante em robˆos que se deslocam em ambientes espec´ıficos, taiscomo aqueles com escadas, regi˜oes muito ´ıngremes, etc. Em geral, o projetode sistemas para controlar o movimento destes atuadores (que tˆem no m´ınimodois graus de liberdade) ´e bastante complexo. O custo desses sistemas tamb´eme relativamente alto, j´a que pelo menos dois motores s˜ao necess´arios em cada“perna”.

Lagartas A locomocao baseada em lagartas ´e interessante nos casos em que o robˆo devese mover em terrenos acidentados ou pouco est´aveis. Em geral, por´em, um robˆomovendo-se sobre lagartas ´e muito pouco eficiente: a fricc¸ao das rodas dentro daslagartas e o deslizamento das esteiras durante os movimentos de giro s˜ao grandesdissipadores de energia.

4. Comportamentos: Definicao

Um comportamento relaciona est´ımulos sensoriais a ac¸oes produzidas sobre os atuadoresdo robo, de acordo com um plano realizado a partir de um modelo interno do ambiente:

a = c(s; p) (2.1)

Page 13: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

Cada comportamento implementado em um robˆo corresponde a uma func¸ao deste tipo.De acordo com a complexidade do plano, ´e poss´ıvel definir uma escala crescente de com-plexidade do comportamento: no extremo mais simples desta escala est˜ao os comporta-mentos reativos, que n˜ao utilizam planos; no extremo oposto est˜ao os comportamentosdeliberativos mais complexos, ou seja, baseados em planos que utilizam um modelo in-terno de alto grau de detalhamento (Figura 2.1).

comportamentoreativo

comportamentodeliberativocomplexo

sem plano(nenhummodelointerno)

Complexidade do plano

interno

com plano

complexo)

(modelo

Figura 2.1: Escala de comportamentos para rob o moveis, de acordo com a com-plexidade do plano.

E interessante notar que a definic¸ao dada pela Equac¸ao 2.1 nao faz referˆenciaexplıcita ao processamento da informac¸ao fornecida pelos sensores. Desde que es-ta informacao nao seja usada para a criac¸ao de um modelo global (a partir do qualseria gerado um plano), admite-se que comportamentos reativos possam processar ainformacao sensorial usando algoritmos de razo´avel grau de sofisticac¸ao. O processamen-to da informac¸ao sensorial neste caso ´e ditopropositado, ou seja, ´e feito com o prop´ositode satisfazer unicamente as exigˆencias relativas ao comportamento, para o est´ımulo emquestao. Uma caracter´ıstica importante deste tipo de processamento de informac¸aoe sercentrado no robˆo: como nao se produz um modelo global, todas as referˆencias de posic¸ao,velocidade, etc. s˜ao relativas a um sistema de coordenadas local ao robˆo.

O processamento da informac¸ao sensorial a partir de v´arios sensores distintos (taiscomo os apresentados na sec¸ao 3.1.) de modo a se adquirir uma informac¸ao de melhorqualidade que combine as melhores caracter´ısticas dos sensores envolvidos ´e comumentechamado defusao sensorial.

4.1. Exemplos

Esta sec¸ao apresenta dois exemplos simples de comportamentos, um reativo e um delibe-rativo.

Um Comportamento Reativo para Evitar Obstaculos

Considere um robˆo movel de base circular e duas rodas, acionadas por motores indepen-dentes e com controle de velocidade. Considere ainda que este robˆo tem um conjunto deseis sensores de infra-vermelho, sendo trˆes destes posicionados no hemisf´erio direito dorobo e tres no hemisf´erio esquerdo. Como mencionado na sec¸ao 3.1., sensores de infra-vermelho saturam quando existe um objeto (obst´aculo, parede, etc.) posicionado a umadistancia pequena do sensor. Seja portanto L o valor de saturac¸ao para estes sensores.Caso os sensores do lado direito saturem, ´e natural desviar o robˆo para o lado esquerdo.

Page 14: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

Analogamente, caso os sensores do lado esquerdo saturem, o robˆo deve girar para o ladodireito. Assim, o conjunto de regras:

SE (leitura(algum sensor do lado direito) > L)ENTAO (aplique vel.< 0 na roda esquerda, vel.> 0 na ro-da direita)SENAO(SE (leitura(algum sensor do lado esquerdo) > L)ENTAO (aplique vel.> 0 na roda esquerda, vel.< 0 na ro-da direita)SENAO

(aplique vel.> 0 nas duas rodas))

faz com que o robˆo desvie de obst´aculos na presenc¸a destes e siga em frente no casocontrario. Observe que o comportamento ´e completamente reativo: o mapeamento entresensores e atuadores ´e direto, implementado por regras de produc¸ao e sem necessidadede um est´agio intermedi´ario de deliberac¸ao. Comportamentos reativos como este e outrosmais complexos foram analisados por Braitenberg [11], em um livro cl´assico da literaturade Robotica Movel.

Um Comportamento Deliberativo para Aproximacao de Alvo

Considere um robˆo em um ambiente formado por salas, corredores e portas, cuja tarefa ´eaproximar-se de um objeto (alvo) posicionado em algum ponto de uma das salas. Segundoo enfoque deliberativo, este problema ´e resolvido por meio de t´ecnicas deplanejamentode trajetorias, caracterizadas por:

� Disponibilidade para uso pelo robˆo de a) um mapa do ambiente que inclui aposicao do alvo e do pr´oprio robo e b) um modelo dos efeitos das ac¸oes do robˆono mapa. Este conhecimento constitui o modelo interno do dom´ınio.� Um algoritmo para c´alculo de trajet´orias sobre o mapa, cuja aplicac¸ao corresponde

ao processo de deliberac¸ao.� Um algoritmo de replanejamento que, a partir das observac¸oes sensoriais, possibi-

lite ao robo atualizar seu modelo interno e reaplicar o algoritmo de planejamento,caso seja necess´ario.

Para cada um destes est´agios, existem v´arias tecnicas descritas na literatura especializada.O aspecto mais cr´ıtico, porem,e a obtenc¸ao e atualizac¸ao do modelo interno.

5. Metodos para Implementac¸ao de Comportamentos

Do ponto de vista de Engenharia, ´e essencial que o projeto de um robˆo movel inteligenteseja realizado de acordo com um conjunto de princ´ıpios e regras, correspondentes a ummetodo ou modo de proceder. S˜ao apresentados a seguir alguns dos m´etodos mais comunspara auxiliar o projeto de robˆos moveis inteligentes.

5.1. Metodos baseados em Etologia

A Etologia estuda os h´abitos dos animais e sua acomodac¸ao as condic¸oes do ambiente.Como frequentemente ocorre em Engenharia, modelos comportamentais obtidos a partir

Page 15: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

de estudos nas Ciˆencias Biologicas tem sido traduzidos (ap´os grande simplificac¸ao) emmodelos aplic´aveis a entidades artificiais (no nosso caso, robˆos moveis). As conclus˜oesfundamentais que os estudos em Etologia tˆem demonstrado s˜ao:

1. Comportamentos complexos podem ser obtidos a partir de comportamentos maissimples (frequentemente puramente reativos).

2. Informacao sensorial s´o e utilizada se for necess´aria para a execuc¸ao do compor-tamento em quest˜ao.

3. Existem mecanismos de coordenac¸ao atuantes quando v´arios comportamentosestao ativos.

4. Os indivıduos tem comportamentos que s˜ao adequados para o ambiente (nicho)em que vivem.

A adocao da Etologia como uma base para a implementac¸ao de comportamentos n˜ao exigeque se siga uma linha de projeto puramente reativa. A Figura 2.2 ilustra um m´etodo deprojeto baseado em Etologia para a implementac¸ao de comportamentos em robˆos moveis.

Transferenciado Modelopara Robo

Avaliaçao deResultados

ResultadosBons?

Aperfeiçoamentodo Modelo

ProjetoFinalizado

ExperimentosExecuçao de

Obtençaodo ModeloEtologico

S

N

Novos ExperimentosEtologicos´

Execuçao de~ ~

~

^

^

~

´

Figura 2.2: M etodo de projeto baseado em etologia.

5.2. Metodos baseados em Atividade Situada

Estes metodos para implementacao de comportamentos baseiam-se na ideia de que cadacomportamento deve ser definido e projetado para situacoes especıficas que o robo podeencontrar. O projeto do robo e iniciado com a identificacao detalhada de todas estas

Page 16: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

situacoes. A seguir, sao criadas as respostas adequadas para cada situacao, considerando-se as limitacoes fısicas do robo e as caracterısticas do ambiente. Os comportamentosprodutores de tais respostas sao entao projetados e implementados. Uma avaliacao efeita e realiza-se um processo de ajuste em que os comportamentos sao aperfeicoadosvarias vezes. Diferentemente do enfoque baseado em Etologia, metodos baseados ematividade situada nao procuram uma analogia entre os comportamentos desenvolvidospara as situacoes e seus possıveis similares biologicos. A Figura 2.3 ilustra os passos dodesenvolvimento de projeto para metodos baseados em atividade situada.

Definiçaodas Situaçoes

RespostasSituacionais

Criaçao de

Projeto deComportamentos

Execuçao deExperimentos

no Robo

Avaliaçao deResultados

ResultadosBons?

ProjetoFinalizado

Analisedo Dominio

Aperfeiçoamentodos Comportamentos

S

N

´´

~

~

^

~

~

~

Figura 2.3: M etodo de projeto baseado em atividade situada.

5.3. Metodos Guiados por Experimentac¸ao

Metodos guiados por experimentacao definem inicialmente um conjunto mınimo de com-portamentos, desenvolvidos a partir de uma analise previa de situacoes, similar aquelarealizada em metodos baseados em atividade situada. Este conjunto mınimo e entaoavaliado por intermedio de experimentos, e novos comportamentos sao adicionados paracompensar os defeitos daqueles presentes, ate que se obtenha um desempenho satisfatorio(Figura 2.4).

Page 17: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

Execuçao deExperimentos

no Robo

Avaliaçao deResultados

ResultadosBons?

ProjetoFinalizado

Analisedo Dominio

MinimoProjeto

Adiçao de NovosComportamentos

S

N

´

´´

^

~ ~

~

Figura 2.4: M etodo de projeto guiado por experimentac ¸ ao.

6. Codificacao de Comportamentos

No inıcio deste capıtulo, definiu-se um comportamento como uma funcao que mapeiaestımulos sensoriais em acoes, possivelmente de acordo com um plano preparado a partirde um modelo interno do domınio. Nesta secao, identificam-se de forma mais precisa osparametros necessarios para definir as acoes do robo e os estımulos sensoriais. A seguir,sera apresentado um formalismo apropriado para a definicao e analise de comportamentose sua coordenacao em robos moveis. Finalmente, sera apresentada uma classificacao paraas funcoes mais comuns de coordenacao de comportamentos.

6.1. Parametrizacao de Acoes

Do ponto de vista cinematico, uma acao em Robotica Movel objetiva transladar ou rotaci-onar o robo. Do ponto de vista dinamico, uma acao corresponde a uma forca ou momentoaplicado ao robo, de modo a produzir o movimento desejado. O estudo de robos moveissegundo o enfoque de Inteligencia Artificial nao considera os aspectos de possibilidadedos movimentos (tais como nao-holonomicidade1), que sao normalmente estudados emTeoria de Controle. Para todos os efeitos, consideramos aqui que uma dada acao corres-ponde a uma realizacao de alto nıvel, que pode corresponder a um ou mais controladoresde baixo nıvel de projeto bastante complexo. Exemplos de acoes de interesse sao:

� Girar 90 graus para a esquerda.1Um robo e dito nao-holonomico quando existem restricoes de movimento impostas por limitacoes

fısicas, tais como maximo angulo de giro das rodas

Page 18: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

� Avancar 20 cm.� Manter velocidade constante de 12 cm. / seg.

cada uma das quais sendo implementada por um controlador projetado de acordo comtecnicas de Controle, considerando-se o sinal de controle disponıvel (por exemplo, atensao aplicada em motores que controlam a velocidade de giro das rodas).

De modo geral, os parametros que definem uma acao a de movimento aplicada aum robo movel sao a sua magnitude M e sua direcao D. Assim,

a = a(M;D) (2.2)

Para os exemplos acima, terıamos respectivamente:

� M = 90, D = “Esquerda”� M = 20, D = “Para frente”� M = 12, D = “Para frente”

Naturalmente, cada uma destas acoes e projetada a partir de um ou mais controla-dores de baixo nıvel.

6.2. Parametrizacao de Estımulos

A parametrizacao dos estımulos depende muito do tipo de sensor considerado. Porexemplo, um sensor de infra-vermelho para deteccao de obstaculos pode ter como unicoparametro a intensidade instantanea da radiacao de infra-vermelho captada, enquanto ainformacao fornecida por uma camera CCD pode ser parametrizada pela intensidade debrilho para cada pixel em uma matriz bidimensional.

Normalmente, existe um valor limiar Les a partir do qual um estımulo sensorial edetectavel pelo sensor correspondente. Este limiar e uma caracterıstica fısica do sensor.Um outro valor limiar Lsr, a partir do qual o estımulo, tal como captado pelo sensor, podedisparar (evocar) uma resposta por um dado comportamento. Este limiar e um parametrode projeto.

O limiar Lsr introduz portanto uma segunda funcao para uma percepcao sensorial:alem de guiar, ou seja, servir como elemento do domınio para a funcao c(s; p), existetambem uma funcao de disparo (releasing), que pode nao envolver os mesmo sensoresusados para a guiagem. Considere por exemplo o disparo de um alarme de incendio emum cinema: a audicao deste alarme (um estımulo auditivo) acima do seu limiar dispararaum comportamento de fuga, guiado basicamente por estımulos visuais (evitar obstaculos,procurar a saıda, etc.), olfativos (evitar regioes com cheiro de fumaca) e tateis (evitarcalor).

6.3. Uma Formalizacao para Comportamentos e sua Coordenac¸ao

Formalizacao para Comportamentos

Em geral, cada comportamento ci mapeia (possivelmente de modo nao-determinıstico)um conjunto de estımulos fsi1; si2; : : : ; sikig e um plano pi em uma acao ai. Assim, paraum robo movel baseado em um conjunto de n comportamentos, temos:

a1 = c1([s11s1

2: : : s1

k1 ]; p1; w1) (2.3)

Page 19: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

a2 = c2([s21s2

2: : : s2

k2 ]; p2; w2)

......

an = cn([sn1sn

2: : : sn

kn ]; pn; wn)

onde wi e um parametro aleatorio cuja distribuicao de probabilidade P (wi = w) e umparametro de projeto. Cada comportamento ci e portanto uma funcao ci : <ki�P �< 7!

A [ �, cujos argumentos sao um vetor real si de tamanho ki formado pelos estımulos(si = [si

1si2: : : si

ki]), um plano pi 2 P convenientemente codificado (P representa oespaco de possıveis planos), e uma perturbacao aleatoria wi 2 <, presente apenas quandoo comportamento considerado e definido como nao-determinıstico. Ao conjunto de acoespossıveisA e acrescido uma acao inocua �, que atua apenas como uma marca para indicara inatividade do comportamento correspondente. Uma notacao vetorial equivalente a 2.4e:

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

onde

� S = [s1 s2 : : : sn]T e a matriz de estımulos;

� P = [p1 p2 : : : pn]T e o vetor de planos;

� W = [w1 w2 : : : wn]T e o vetor de perturbacoes;

� C(S;P;W) = [c1(s1; p1; w1) c2(s2; p2; w2) : : : cn(sn; pn; wn)]T e vetor de com-

portamentos do robo;� A = [a1 a2 : : : an] e o vetor de acoes definidas pelos comportamentos.

Mapeamentos Discretos e Contınuos

E importante observar que a formalizacao acima admite tanto codificacoes discretas comocontınuas para o mapeamento de estımulos sensoriais e planos em acoes.

Codificacoes discretas referem-se aquelas em que o comportamento em questaocorresponde a um conjunto finito de pares (situacao,acao), onde o primeiro termo identi-fica um subconjunto de estımulos sensoriais e planos para o qual a acao correspondente eproduzida pelo comportamento. Codificacoes discretas admitem uma realizacao em ter-mos de regras de producao, tal como normalmente consideradas em sistemas de producao(regras do tipo SE-ENTAO-SENAO) [35]. Um exemplo de codificacao discreta para umcomportamento reativo foi apresentado na secao 4.1.

Codificacoes contınuas sao aquelas em que o comportamento e representado poruma relacao funcional como a da equacao 2.4, em que o mapeamento entre estımulossensoriais e acoes correspondentes e contınuo. Uma implementacao tıpica de codificacaocontınua para comportamentos reativos e a tecnica de campos potenciais [19], que associaum vetor de acao a cada estado em um espaco contınuo (possivelmente estimado por ummodelo interno). Um exemplo tıpico e um comportamento reativo repulsivo a obstaculos.A acao calculada tem a direcao da linha imaginaria ligando o robo a posicao do obstaculo,o sentido e o de afastamento relativo ao obstaculo, e a magnitude e:

a =K

d2(2.5)

Page 20: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

onde K e uma constante convenientemente escolhida e d e a distancia Euclidiana entreo robo e o obstaculo. Um comportamento deste tipo gera um campo potencial comoilustrado na Figura 2.5. Note porem que este campo nao precisa ser calculado duranteo projeto do comportamento: quando ativado, o comportamento calcula o vetor de acaoapenas para a situacao correspondente.

R

Figura 2.5: Campo potencial associado a um comportamento cont´ ınuo derejeic ao do obst aculo representado pelo pequeno quadrado. Ape-nas alguns vetores est ao representados, pois o campo e cont ınuo. Orob o R dever a produzir a ac¸ ao indicada pela magnitude e direc ¸ ao dovetor do campo cuja origem coincide com a posic ¸ ao do seu centro.

Formalizacao para a Coordenac¸ao de Comportamentos

A coordenacao dos varios comportamentos ci e feita por uma funcao de coordenacao Cctal que:

a = Cc(C(S;P;W);S;P) = Cc(A;S;P) (2.6)

onde a denota a acao resultante da coordenacao dos comportamentos. Observe que acoordenacao dos comportamentos pode depender explicitamente de informacoes sensori-ais e de planos. Sem perda de generalidade, considere que estes sao tambem utilizadospor algum ou varios dos comportamentos definidos 2.

Como um exemplo simples, considere um robo movel equipado apenas com sen-sores de proximidade, atuando em um ambiente formado por paredes e obstaculos e reali-zando uma tarefa de exploracao. Este robo deve combinar dois comportamentos basicos:

2Caso a informacao sensorial ou um plano sejam exclusivamente usados pela funcao de coordenacao,pode-se incorporar ao modelo um comportamento dummy com saıda � (acao inocua indicando comporta-mento inativo), cujos argumentos sao precisamente as leituras dos sensores correspondentes e o plano emquestao.

Page 21: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

Comportamento c1: Evitar Obst aculos , que pode ser implementado conforme oexemplo mencionado na secao 4.1.

Comportamento c2: Explorar o Ambiente , que pode ser implementado por comandosaleatorios de avanco e rotacao.

Temos, portanto:

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

Observe que nenhum dos comportamentos requer um plano para definir as respectivasacoes (comportamentos puramente reativos). O comportamento c1 e determinıstico (acoesbem definidas para situacoes de colisao iminente com obstaculos) e o comportamento c2 enao-determinıstico e independente de informacao sensorial. Uma possıvel implementacaode c2 seria:

c2(w2) =

8><>:

avancar se w2 � 1

girar a direita se 0:5 � w2 < 1

girar a esquerda se w2 < 0:5

onde, de modo a manter uma maior probabilidade de avanco para o robo, a distribuicaode w2 poderia ser definida como P (w2 � 1) = 0:5, P (0:5 � w2 < 1) = 0:25 e P (w2 <

0:5) = 0:25. Para uma funcao de coordenacao Cc, tem-se:

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 compor-tamento c1 seja definidor da acao a, de modo a preservar a integridade fısica do robo.Nas demais situacoes, o comportamento c2 deve ser o unico responsavel pela definicao daacao a. Uma funcao Cc adequada deve portanto selecionar o comportamento c1 sempreque uma colisao (indicada pelos valores das leituras dos sensores s1) for iminente, e deveselecionar c2 nas demais situacoes:

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

(c1(s1) se si

1� 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 docomportamento de desvio de obstaculos.

Observe que, no caso acima, a funcao de coordenacao reutiliza a informacao sen-sorial s1 usada pelo comportamento c1. Uma alternativa seria considerar c1 ativo apenasquando s

i

1� Lsr, ou seja, o proprio comportamento se desativaria quando nao fosse

necessario. Nesse caso, terıamos

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

(c1(s1) se c1(s1) 6= �

c2(w2) caso contrario

Estes exemplos correspondem a funcoes de coordenacao competitivas. Na secaoseguinte, definem-se formalmente as funcoes de coordenacao mais comuns.

Page 22: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

6.4. Funcoes Importantes de Coordenac¸ao de Comportamentos

Coordenacao Competitiva As funcoes de coordenacao apresentadas nos exemplos ante-riores sao tıpicos exemplos de coordenacao competitiva: a cada instante de tempo,uma unica acao associada a um ou mais comportamentos “vencedores” e escolhi-da. A acao e sempre selecionada a partir dos comportamentos ativos (ou seja, com-portamentos que produzem acoes diferentes de � no momento da coordenacao).A competicao entre os comportamentos pode ocorrer de tres maneiras diferentes:Competicao com hierarquia pre-definida Neste caso, a funcao de coordenacao

seleciona o comportamento de acordo com uma hierarquia pre-estabelecida, definida por um plano pprior projetado a priori e sem neces-sidade de sensoreamento (ou seja, a funcao de coordenacao tem a formaCc(C(S;P;W); pprior). Este caso corresponde ao segundo exemplo daultima secao: o comportamento vencedor e escolhido de acordo com umahierarquia simples (c1 tem prioridade sobre c2), em funcao da atividade ouinatividade do comportamento de desvio de obstaculos, independentemen-te da informacao sensorial.

Competicao com definicao dinamica da hierarquia A funcao de coordenacaoescolhe a acao vencedora com base na definicao dinamica da hierarquia,que e estabelecida de acordo com a informacao sensorial e o conhecimentoa respeito do estagio de execucao da tarefa (incluıdo em um plano), ou seja,tem-se Cc(C(S;P;W);S;P).

Competicao Baseada em Votac¸ao A acao e selecionada de acordo com umaespecie de votacao realizada pelos comportamentos ativos: aquela acaosugerida pela maioria e escolhida. A funcao de coordenacao neste casoapenas conta os “votos” e aplica a acao vencedora correspondente. Casohaja empate entre acoes vencedoras distintas, uma competicao com hierar-quia pre-definida ou definida dinamicamente e realizada.

Coordenacao Cooperativa Na coordenacao cooperativa, a funcao de coordenacao pro-duz uma acao resultante para a qual contribuem (em maior ou menor grau) to-dos os comportamentos ativos. E essencial, portanto, que os comportamentossejam representaveis como produtores de acoes que admitam operacoes de soma,multiplicacao ou similar. Um exemplo sao as representacoes em termos de campospotenciais (secao 6.3.), que representam acoes associadas a cada comportamentocomo vetores. A cooperacao entre os comportamentos e portanto representadapor uma operacao (frequentemente uma soma vetorial ou escalar) envolvendo asacoes produzidas pelos comportamentos ativos, conforme indicado na Figura 2.6.

Page 23: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

s1 Comportamento 1

.

.

.

açaoresultante

s

s

2

N Comportamento N

Comportamento 2

Cc

a

a

a

2

1

N

~

Figura 2.6: Coordenac ¸ ao cooperativa entre comportamentos.

Page 24: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

Capıtulo 3

Arquiteturas de Comportamentos

Neste capıtulo serao discutidas as tres arquiteturas de comportamento para robos moveis:reativa, deliberativa e hıbrida. Estas arquiteturas definem como o robo e projetado, a partirde uma colecao de blocos fundamentais, correspondentes a comportamentos, modulospara inibicao ou ativacao destes, estruturas especializadas em planejamento de tarefas,etc.

1. Arquiteturas ReativasAs arquiteturas reativas sao aquelas formadas pela coordenacao de comportamentos rea-tivos. Em geral, estas arquiteturas produzem robos adequados para operacao em temporeal, ja que a simplicidade dos comportamentos reativos favorece uma alta velocidadede processamento computacional. Arquiteturas reativas tambem permitem prototipacaorapida: a implementacao de alguns poucos comportamentos em um robo real e relativa-mente simples. Entretanto, implementar um projeto de interesse real, que implique definirum conjunto grande de comportamentos e mecanismos de coordenacao entre estes, e umatarefa difıcil. A seguir, sao discutidas as duas arquiteturas reativas mais conhecidas.

1.1. Arquitetura Subsumption

A arquitetura subsumption [12] organiza os comportamentos reativos em camadas decompetencia: comportamentos em nıveis mais altos correspondem aqueles direcionadosao objetivo da tarefa especificada, enquanto que aqueles em nıveis mais baixos corres-pondem a acoes mais basicas, tais como aquelas necessarias para preservar a integridadefısica do robo (por exemplo, quando da iminencia de colisao com obstaculos). Alemdas caracterısticas intrınsecas do paradigma reativo, tais como simplicidade dos compor-tamentos (mapeamentos estımulo-acao) e processamento local da informacao sensorialpor cada comportamento, a arquitetura subsumption estabelece um mecanismo de prio-ridade de comportamentos das camadas em nıvel mais alto sobre aqueles em nıvel maisbaixo, configurando uma coordenacao competitiva de comportamentos com hierarquiapre-definida. Este mecanismo pode assumir duas formas:

1. Supressao. Neste caso, a saıda produzida pelo comportamento de nıvel mais altosubstitui aquela produzida pelo comportamento de nıvel mais baixo. Este ultimopermanece ativo, mas sua acao nao produz nenhum efeito, por ter sido suprimidapor aquela correspondente ao comportamento prioritario.

23

Page 25: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

2. Inibicao. No mecanismo de inibicao, o comportamento em nıvel mais baixo edesativado por aquele de nıvel mais alto. Nesse caso, nao ocorre uma substituicaoda acao de nıvel mais baixo, mas uma inibicao do comportamento em si.

E importante observar que a hierarquia na arquitetura subsumption e estabelecida de for-ma especıfica entre os comportamentos. A prioridade de um comportamento de nıvelmais alto ocorre apenas sobre uma colecao especıfica de comportamentos de nıvel maisbaixo, e nao sobre todos esses, indiscriminadamente. Assim, comportamentos basicosmas nao necessarios para preservar a integridade do robo, como por exemplo um compor-tamento de exploracao nao-direcionada do ambiente, pode ser inibido ou suprimido porum comportamento de nıvel mais alto, como um comportamento de aproximacao de alvo,sem que este ultimo exerca prioridade sobre um comportamento para evitar colisoes comobstaculos.

A Figura 3.1 ilustra um exemplo simples de implementacao da arquitetura sub-sumption (adaptado de [26]) para um robo movel que se move em um ambiente,desviando-se de obstaculos quando necessario, mas sem perder a direcao do seu movi-mento. O robo tem como sensores um conjunto de oito sonares distribuıdos uniforme-mente em sua periferia, capazes de estimar a distancia de obstaculos nas direcoes corres-pondentes. Um modulo de processamento da informacao sensorial Calcula Vetor inter-preta as leituras dos sensores como vetores e os soma, produzindo um vetor resultante queindica a direcao e magnitude relativas a posicao e distancia de um obstaculo imaginario,que resume estas leituras. O movimento do robo e comandado por dois motores inde-pendentes: um motor 1 para produzir velocidades iguais nas rodas, e um outro motor 2para produzir um giro do eixo das rodas. Na camada mais baixa estao dois comportamen-tos basicos: Parar, que ao detectar, pelas leituras dos sonares, a proximidade de algumobstaculo (leitura de algum sonar maior do que o limiar Lsr), forca a parada do robo envi-ando um comando apropriado para o motor responsavel pelo controle de velocidade dasrodas, e Afastar, que produz a) um giro do eixo das rodas do robo ate que este fique comsua frente na direcao oposta a do vetor (via comando enviado para o motor 2) e b) um pos-terior avanco proporcional a magnitude do vetor (via comando enviado para o motor 1).Numa camada mais alta, um comportamento Explorar combina um vetor de magnitudefixa e direcao aleatoria, produzido a intervalos regulares, a um vetor de direcao oposta aodaquele produzido pelo modulo Calcula Vetor. Desta forma, obtem-se uma nova direcaopara o movimento do robo, correspondente a um desvio de obstaculos mais suave, queleva em consideracao uma direcao preferencial de movimento (aquela estabelecida pe-lo comportamento Explorar). Este comportamento suprime (ou seja, substitui) a saıdaproduzida pelo comportamento Afastar, que no entanto continua ativo: caso o comporta-mento Explorar seja desativado (possivelmente por algum outro comportamento em nıvelmais alto), o robo ainda tera a capacidade de desviar de obstaculos satisfatoriamente.

1.2. Arquitetura Baseada em Campos Potenciais

Esta arquitetura corresponde a implementacao de comportamentos representados co-mo campos potenciais (ver secao 6.3.), coordenados de acordo com um mecanismo decooperacao de soma vetorial (coordenacao cooperativa de comportamentos). Diferente-mente de robos projetados com base na arquitetura subsumption, um robo de arquiteturabaseada em campos potenciais tem todos os comportamentos em um mesmo nıvel deprioridade, sem uma hierarquia explıcita entre eles. A cada comportamento corresponde

Page 26: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

.

.

.

.

.

.

sonar 1

sonar 8Calcula Vetor

Parar

Afastar

Explorar

motor 2

motor 1

S

Figura 3.1: Um exemplo simples da arquitetura subsumption.

uma acao (expressa como um vetor), produzida em qualquer situacao (ou seja, todos oscomportamentos estao sempre ativos). O comportamento efetivamente produzido e o re-sultante da soma dos vetores correspondentes a contribuicao de cada comportamento. Amagnitude dos vetores em pontos diferentes do ambiente em que o robo atua pode variar,o que equivale na pratica a um mecanismo de inibicao: um vetor de magnitude grandesomado a um de pequena magnitude e direcao oposta efetivamente inibe a acao desteultimo.

Uma arquitetura baseada em campos potenciais requer que a acao correspondentea cada comportamento seja expressa como um entre cinco possıveis tipos de campo:

Uniforme , que corresponde a vetores de mesma intensidade e direcao em qualquer pontodo ambiente. Um comportamento Avancar, que faz o robo se mover para a frenteindependentemente da informacao sensorial, pode ser expresso como um campodeste tipo.

Perpendicular , que orienta o robo na direcao perpendicular a alguma fronteira (normal-mente uma parede).

Atrativo , que corresponde a vetores de magnitude inversamente proporcional a distanciarelativa a um ponto atrator e orientados em direcao a este, em um efeito similarao da gravidade ou atracao eletrostatica. Este tipo de campo e util para expres-sar o efeito de tropismo em sistemas biologicos (atracao por um objetivo, luz ou“comida” ).

Repulsivo , que e o oposto do campo atrativo. Util para modelar comportamentos paraevitar obstaculos.

Tangencial , que corresponde a vetores perpendiculares a linhas radiais a partir do centrode um objeto. Este tipo de campo e usado em comportamentos de desvio deobstaculos ou investigacao de objetos.

Uma vantagem de uma arquitetura baseada em campos potenciais e a facilidade devisualizacao do comportamento global do robo, ainda na fase de projeto: a observacao docampo resultante da combinacao dos varios comportamentos permite prever com relativafacilidade o que o robo fara em cada situacao.

Como exemplo de arquitetura baseada em campos potenciais, reconsidere o exem-plo de desvio de obstaculos descrito na ultima secao. A Figura 3.2 ilustra esta arquitetura.

Diferentemente da versao baseada na arquitetura subsumption, neste caso o vetorproduzido pelo comportamento Explorar corresponde a direcao aleatoria de movimento,

Page 27: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

.

.

.

.

.

.

sonar 1

sonar 8Calcula Vetor

Parar

Afastar

Explorar

Σ motor 2

motor 1

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

nao somada a direcao prevista pelo modulo Calcula Vetor. A acao correspondente e entaodiretamente somada a saıda produzida pelo comportamento Afastar, sem que ocorra umainibicao deste ultimo. O comportamento Parar, entretanto, nao tem um equivalente diretoem termos de campos potenciais: sua implementacao natural seria um campo potencial demagnitude zero, que somado a qualquer outro comportamento seria anulado. Neste caso,interpreta-se o comportamento como um produtor de acoes emergenciais, com prioridademaxima. Este recurso, embora nao natural em arquiteturas baseadas em campos potenci-ais, e necessario sempre que existirem comportamentos cuja acao correspondente tenhauma 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, que-brando a ligacao direta entre sensoreamento e atuacao e forcando a execucao de um planoantes da selecao de qualquer acao. Neste tipo de arquitetura, as informacoes sensoriais saofundidas numa estrutura de dados global, chamada modelo do mundo, a qual e acessadapelo estagio de planejamento.

Geralmente, tem-se um controle hierarquico, onde o planejamento e subdivididoem modulos funcionais, tipicamente dependentes tanto de informacoes espaciais, quantode restricoes temporais. A Figura 3.3 ilustra este modelo, onde se tem quatro nıveishierarquicos no planejador: nıvel de planejamento global estrategico, de planejamentointermadiario tatico, de planejamento local de curto prazo e de controle do atuador. Todosacessam informacoes do modelo do mundo, cada um referente ao conhecimento de seuinteresse. Nota-se que, do nıvel superior da hierarquia (referente ao planejamento global)ao inferior (referente ao controle dos atuadores), cresce a restricao de tempo na respostae diminui o espaco fısico de interesse.

Nesta secao, dois exemplos representativos de arquiteturas deliberativas sao des-critos: o NHC (Nested Hierarchical Controller) [24] e o RCS (NIST Realtime ControlSystem) [2].

Page 28: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

Figura 3.3: Planejamento hier arquico 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 robosmoveis em tarefas de navegacao. Os robos iniciam coletando informacao sensorial efundindo-as, juntamente com conhecimento previo armazenado (por exemplo, um ma-pa do ambiente), num unico modelo global do mundo, conforme mostra o modulo desensoreamento da arquitetura NHC.

Apos a criacao do modelo do mundo, o robo planeja suas acoes. Nesta arquitetura,o planejamento e dividido em tres nıveis de abstracao:

� O planejador de missao, que desmembra a missao em partes constituıdas pelalocalizacao atual do robo e das submetas da missao no mapa do ambiente, e astraduz para o nıvel 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 nıvel hierarqui-camente inferior no planejamento.� O piloto, que e o modulo que gera acoes especıficas a serem executadas pelo

robo (girar a esquerda, andar para frente a uma velocidade v, etc), as quais saotraduzidas para os atuadores pelo controlador dos atuadores, no modulo atuacaoda arquitetura.

Em NHC, os sensores sao lidos apos a execucao de cada acao, atualizando o mo-delo do mundo. Entretanto, o ciclo completo de planejamento nao e repetido, mas opiloto controla o robo para que corrija eventuais divergencias percebidas (note que todosos nıveis tem acesso ao modelo atualizado do mundo). Terminado o segmento designado

Page 29: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

Figura 3.4: Arquitetura deliberativa NHC.

para o piloto executar (e replanejar, se necessario), o navegador envia outro segmento, ca-so a meta ainda nao tenha sido atingida. Alcancada a meta, o navegador avisa o planejadorde missao, que verifica se ainda ha submetas a serem executadas e todo o procedimentose repete.

Uma desvantagem da arquitetura NHC consiste em desmembrar o planejamen-to de forma hierarquica para outras tarefas, diferentes de navegacao, uma vez que nemsempre os diferentes nıveis de representacao e abstracao da tarefa sao tao intuitivos.

2.2. RCS - Realtime Control System

A arquitetura RCS [2], desenvolvida no NIST - National Institute of Standards and Tech-nology, EUA, foi usada em diferentes aplicacoes reais: em robos comerciais de limpezade chao, num robo para mineracao e num robo para exploracao subaquatica. Esta arquite-tura foi baseada na NHC, porem introduzindo muitos detalhes a mais, de modo a auxiliarempresas de manufatura a colocar inteligencia em seus robos.

Na arquitetura RCS, alem da estratificacao do modulo de planejamento existen-te na arquitetura NHC, o modelo do mundo tambem e organizado em uma hierarquia denıveis de abstracao crescente (Figura 3.5). O modulo responsavel pelo sensoreamento efe-tua um pre-processamento da informacao sensorial, extraindo diferentes representacoesdas informacoes para, entao, incorpora-las aos nıveis correspondentes do modelo do mun-do. O modulo de planejamento, em RCS, apresenta um diferencial: apos gerar um plano,o sistema simula o plano e, caso satisfaca os requisitos, este plano e entao convertido emacoes a serem executadas pelo robo. Existe ainda na arquitetura uma interface com umoperador humano, que pode observar e interagir com todo o processo.

3. Arquiteturas Hıbridas

As arquiteturas hıbridas incorporam um elemento de planejamento sobre a definicao eselecao de comportamentos reativos individuais. Assim, uma arquitetura hıbrida corres-ponde a uma arquitetura reativa controlada por um plano de execucao e sequenciamento

Page 30: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

Figura 3.5: Arquitetura deliberativa RCS.

de comportamentos. Atraves da incorporacao da habilidade de raciocınio baseado emmodelos internos do mundo (deliberacao), estas arquiteturas permitem a reconfiguracaodinamica de sistemas de controle reativo.

A integracao de deliberacao e controle reativo e um problema complexo. Contudo,existe um consenso que nenhuma abordagem e completamente satisfatoria isoladamente,e ambas devem ser levadas em consideracao para produzir um sistema flexıvel robusto einteligente.

Um robo deve ser capaz de responder rapidamente e de forma eficiente asmudancas dinamicas e nao modeladas que ocorrem no mundo. Se um sistema pura-mente deliberativo tentar modelar e pre-planejar todas as eventualidades, corre-se o riscode que o processo de planejamento nunca termine. Tambem nao e seguro para o robofazer suposicoes grosseiras sobre o mundo, que nao reflitam a sua natureza dinamica,traduzindo-as num plano inalteravel, que guiara todas as suas acoes ou decisoes futu-ras. Por outro lado, uma abordagem reativa responde eficientemente a dados sensoriaisimediatos, mas e menos eficaz na integracao de conhecimentos sobre o mundo.

A pesquisa na area de sistemas hıbridos assume que a representacao do conheci-mento e necessaria para enriquecer e expandir os comportamentos reativos, e adequa-losa domınios referentes a problemas mais interessantes e complexos.

Para o desenvolvimento de um sistema hıbrido deve-se saber qual e a fronteiraapropriada para subdivisao de funcionalidades e como deve ser conduzida a coordenacaoentre estas.

3.1. Componentes das Arquiteturas Hıbridas

A maioria das arquiteturas hıbridas implementa a funcionalidade deliberativa nos seguin-tes componentes:

Sequenciador Define o conjunto de comportamentos reativos para a realizacao de umadada subtarefa, e determina sua sequencia de operacao.

Page 31: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

Gerenciador de Recursos Responsavel pela alocacao de recursos (sensores, processa-mento para fusao sensorial, tempo, etc.) para os comportamentos ativos. Emarquiteturas puramente reativas, esses recursos sao alocados permanentemente,quando da definicao dos comportamentos em si.

Cartografo Mantem um mapa ou informacao espacial do ambiente no qual o robo movelse desloca, e o atualiza a medida que novas informacoes sensoriais sao recebidase acoes sao executadas pelo robo.

Planejador de Missao Codifica a descricao do domınio em uma linguagem apropria-da, e define um plano para a execucao da tarefa, possivelmente atraves de umadecomposicao em varios subplanos.

Monitorador de Desempenho Avalia o desempenho do robo na execucao da tarefa.

3.2. Exemplos de Arquiteturas Hıbridas

AuRA - Autonomous Robot Architecture. Esta arquitetura foi proposta em [4]. E umsistema hıbrido deliberativo/reativo baseado em um planejador que configura o sistemade controle reativo antes da execucao, e o reconfigura para eventuais falhas do sistema.Na Figura 3.6 podem ser vistos os varios modulos que compoem esta arquitetura.

Planejador daMissão

RaciocinadorEspacial

Seqüenciadordo Plano R

EP

RE

SE

NT

ÃO

ComponenteHierárquico

ComponenteReativo

Controlador Schema

Motor Percepção

Atuação Sensação

Figura 3.6: Arquitetura hıbrida AuRA - Autonomous Robot Architecture.

A arquitetura AuRA e constituıda pelos seguintes componentes: o planejador demissao, que interage com o usuario do robo e no qual metas de alto nıvel e restricoescom as quais o robo devera operar sao definidas a partir de uma descricao fornecida; umraciocinador espacial, que utiliza conhecimento cartografico (produzido por um moduloCartografo) para construir um caminho, ou seja, uma sequencia de passos para cumprir amissao; um sequenciador, que traduz cada passo gerado como comportamento reativo eum controlador de esquemas, responsavel por monitorar e construir os comportamentosa partir de bibliotecas de esquemas (unidades basicas de atividade) sensoriais e motores.

Uma caracterıstica interessante da arquitetura AuRA, tal como originalmente pro-posta, e a possibilidade (testada apenas em simulacao) de um sistema de controle home-ostatico: sensores internos (por exemplo, medidores de nıvel de combustıvel) tem suasmedidas comunicadas a varios comportamentos de parametros adaptaveis, que podementao integrar esforcos de modo a manter um equilıbrio interno (homeostase), medidopor uma funcao de custo que penaliza variacoes altas de medicoes realizadas.

Page 32: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

Atlantis. Esta arquitetura usa um planejador para aconselhamento e foi original-mente proposta em [16]. Atlantis e uma arquitetura hıbrida de tres camadas, consistindode um modulo controlador, um modulo sequenciador e um modulo deliberativo (Figu-ra 3.7).

Figura 3.7: Arquitetura hıbrida Atlantis

O modulo deliberador e responsavel pelo planejamento e modelagem do mundo.O modulo sequenciador e responsavel por iniciar e terminar atividades de baixo nıvel econtornar as falhas do sistema reativo. O modulo controlador e um gerenciador de umacolecao de atividades primitivas. A deliberacao ocorre sob solicitacao do modulo sequen-ciador, e os planos resultantes nao sao necessariamente seguidos pelo ultimo (deliberacaoe usada apenas como um mecanismo de aconselhamento).

Na arquitetura Atlantis foi introduzido o conceito de falha ciente, na qual um robotorna-se consciente de sua incapacidade para completar uma sub-tarefa. Neste caso, osequenciador tenta reorganizar as atividades de baixo nıvel, podendo solicitar auxılio dodeliberador caso julgue necessario.

Arquitetura Planejador-Reator. Esta arquitetura foi proposta por Lyons e Hen-driks [22] e e composta por dois modulos basicos: o planejador e o reator, que e formadopor um sistema de controle reativo adaptavel (Figura 3.8). Deliberacao e reacao sao inte-gradas atraves de interacoes assıncronas entre os dois modulos. O planejamento e vistocomo uma forma de adaptar o reator: a medida que o robo interage com o ambiente, oplano produzido deve melhorar, no sentido de se tentar a obtencao do reator ideal. Es-te ultimo e definido como o reator que executa a tarefa satisfatoriamente em todos ospossıveis ambientes que o robo pode encontrar.

Figura 3.8: Arquitetura hıbrida Planejador/Reator

Um exemplo de aplicacao de arquitetura hıbrida foi utilizado no robo Amelia(Figura 3.9), em uma tarefa de reconhecimento de diferentes tipos de comandos gestu-ais [42]. Este robo e constituıdo por uma base circular com 4 rodas, sensores de choque,

Page 33: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

um sensor laser, 24 sonares, uma camera colorida e um braco manipulador. Amelia pos-sui capacidade computacional embarcada, onde sao executados todos os procedimentosde controle, percepcao e planejamento. Os comportamentos reativos capacitam o robo alidar com navegacao local em tempo real, evitar obstaculos e situacoes emergenciais. Oscomportamentos deliberativos, que operam de forma concorrente com os comportamen-tos reativos, mantem mapas do ambiente, planejam caminhos, interpretam informacaovisual e realizam planejamento de nıveis de tarefa. A informacao visual e extraıda dasimagens obtidas pela camera. Dependendo do gesto identificado, o planejador ativa di-versos comportamentos reativos, tais como “parar” , “seguir” , “ ir em direcao ao objetoapontado” e “desviar de obstaculos” . Todos os comportamentos sao integrados por ummodulo de controle de tarefas que permite escalonar e sincronizar tarefas, alocar recursos,monitorar o ambiente e gerenciar situacoes emergenciais.

Figura 3.9: O robo AMELIA.

Page 34: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

Capıtulo 4

Times de Robos Moveis

O aumento na complexidade da tarefa designada aos robos provoca um aumento na di-ficuldade de se atribuir a um unico agente robotico a incumbencia de executa-la eficien-temente. Assim, o uso de times de robos pode ser bastante vantajoso em uma serie deaplicacoes compostas basicamente por tarefas muito complexas e/ou que sejam inerente-mente distribuıdas, tanto em espaco, quanto em tempo ou funcionalidade.

Neste capıtulo serao discutidas as vantagens e desvantagens do uso de times derobos, relacionando tarefas tipicamente apropriadas para realizacao por multiplos robos.Serao consideradas caracterısticas basicas dos times, tais como homogeneidade, granula-ridade, estrutura de controle, entre outras. De acordo com as caracterısticas atribuıdas aostimes, pode-se agrupa-los em dois tipos basicos: times com muitos robos identicos quepouco interagem durante a execucao da tarefa e times compostos por poucos robos, cadaum com habilidades proprias, que necessitam de grande interacao entre eles para executara tarefa de modo eficiente. Finalmente, sao descritos exemplos de cada um destes tipos detimes, assim como o domınio de futebol de robos, usado para incentivar pesquisas nestaarea, 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 gran-de area que deva ser percorrida ou explorada, como no caso de exploracao planetaria,detecao e combate a incendios (em florestas, por exemplo), busca e resgate de pessoase/ou objetos, remocao de minas terrestres, etc. Seria bastante razoavel o uso de um timede robos simples e baratos para executar a tarefa, oferecendo vantagens tanto em termosde tempo de execucao (um time de robos cobre uma area num tempo muito menor que odispendido por um unico robo), quanto em termos de custo (um unico robo para executaruma tarefa complexa exige maior capacidade de processamento, maior autonomia e maiorrobustez do que seria necessario para cada robo de um time). Alem disso, uma grandevantagem no uso de multiplos robos consiste na redundancia oferecida: caso um robofalhe ou seja destruıdo, o restante do time pode continuar a execucao da tarefa. Assim, ouso de multiplos robos pode ser bastante vantajoso em uma serie de aplicacoes compostasbasicamente por tarefas que sao inerentemente distribuıdas, tanto em espaco, quanto emtempo ou funcionalidade.

33

Page 35: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

No entanto, nao e nada facil a construcao de um time de robos eficiente e robusto,que opere de modo coerente na solucao de uma tarefa. Para que um robo possa atuar numtime e interagir de forma coordenada com os outros robos, uma capacidade extra deveser acrescida: a capacidade de comunicar. Isso envolve a definicao de uma linguagemcomum entre os membros do time e de um protocolo de comunicacao a ser seguido.Alem disso, deve-se garantir um perfeito entendimento entre os robos durante a execaoda tarefa, eliminando o uso de diferentes termos para um mesmo conceito ou o uso de ummesmo termo para diferentes conceitos, isto e, deve-se estabelecer e disponibilizar a todosos membros do time uma ontologia comum, contendo a representacao do conhecimentonecessario sobre o domınio da tarefa.

Alem da questao referente a comunicacao, o projeto de um time de robos precisaainda enderecar difıceis 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 adaptacao, mudando seu comportamento

em resposta as caracterısticas dinamicas do ambiente, as mudancas nas metas datarefa ou as mudancas nas capacidades ou composicao do time, de tal forma quemelhore ou que evite uma degradacao no seu desempenho?

Estas sao questoes que, embora extensivamente estudadas nos ultimos anos, aindaoferecem muitos desafios a serem superados.

2. Caracterısticas dos Times Roboticos

O projeto e construcao de times de robos ainda se configura como um campo muito no-vo, onde pouco esta estabelecido e formalizado. Para entender a organizacao e interacaoentre seus membros e tentar prever o comportamento do time como um todo, torna-seimportante definir alguns aspectos para classificar o time. Aqui serao considerados as-pectos referentes a sua granularidade, heterogeneidade, estrutura de controle, nıvel decooperacao entre os membros e tipo de comunicacao.

A granularidade de um time e o seu tamanho, isto e, o numero de robos que ocompoem. Dois ou mais robos configuram um time.

Heterogeneidade corresponde a diversidade entre os robos que fazem parte dotime, podendo classifica-lo como homogeneo ou heterogeneo. Times heterogeneos pos-suem pelo menos dois membros com caracterısticas 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 cen-tralizado a controle distribuıdo. No controle centralizado, os robos se comunicam comum computador central, que distribui atribuicoes, metas, informacoes, etc; os robos saoessencialmente semi-autonomos, dependentes do computador central para decidir sobresuas acoes. Por outro lado, na estrutura de controle distribuıdo os robos tomam suasproprias decisoes e agem de maneira independente. Naturalmente, existem diversas estru-turas que podem ser definidas dentro do espectro de controle completamente centralizado

Page 36: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

a controle totalmente distribuıdo. Por exemplo, os robos podem interagir com um com-putador central para definirem suas metas e, depois, atuarem de modo distribuıdo paracumprı-las.

A cooperacao entre os membros de um time pode ser ativa ou nao-ativa.Cooperacao nao-ativa indica que os robos nao compartilham explicitamente uma me-ta comum, ou seja, cada membro tem sua propria (sub-)meta. O time demonstra umacooperacao ativa quando pelo menos alguns de seus membros se reconhecem e trabalhamconjuntamente para atingir uma meta comum explıcita, caracterizando intencionalidadena cooperacao. Normalmente torna-se necessario, na cooperacao ativa, incorporar senso-res aos robos de forma a permitir que estes facam a distincao dos membros do time emrelacao a outros aspectos do ambiente. Por exemplo, num jogo de futebol de robos, umjogador de um time pode reconhecer o atacante de seu time e passar a bola para ele, paraque a meta do time, que e fazer gols e ganhar o jogo, seja atingida, demonstrando, destaforma, uma cooperacao ativa. No entanto, considere um time formado por dois robosidenticos, cujos sensores somente detectam paredes e que tem como metas (individuais)derrubar paredes; caso estes robos se posicionem em lados opostos de uma mesma pare-de, 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 segundocooperacao nao-ativa.

Quanto a comunicacao, existem dois tipos: explıcita ou implıcita. Nacomunicacao explıcita, informacoes sao intencionalmente trocadas entre dois ou maismembros do time. Na comunicacao implıcita a informacao e adquirida pela observacaodas acoes realizadas pelos outros membros ou por rastros nao intencionalmente deixados,observados no ambiente.

Um time homogeneo que apresenta alta granularidade, controle descentralizado,cooperacao nao-ativa entre seus membros e sem comunicacao explıcita, frequentementerefere-se a um time onde cada robo segue o paradigma reativo, agindo concorrente e inde-pendentemente, propiciando o surgimento de um comportamento social emergente. Estetipo de time oferece o grande atrativo de ser formado por robos bastante simples, com pou-cas necessidades de sensoreamento e que executam poucos (e simples) comportamentos.Esta abordagem pode ser interessante em aplicacoes que nao impoem restricoes drasticasno tempo de execucao e que requerem numerosas repeticoes de uma mesma atividadenuma area relativamente grande, tais como em tarefas de limpeza (em praias, grandesestacionamentos, etc), de coleta de material (em missoes espaciais, subaquaticas, etc), deresgate (busca por pessoas, animais, objetos), entre outras. No entanto, comportamentossociais emergentes sao muito difıceis de serem previstos e controlados.

Por outro lado, em times heterogeneos nem todos os robos possuem as mesmascapacidades, habilidades ou estrutura de controle. Desta forma, nem todos os robos po-dem executar as mesmas tarefas e, mesmo que o facam, estas serao realizadas de formasdiferentes, uma vez que alguma diferenca existe entre os robos (em hardware ou soft-ware, pois sao heterogeneos). Assim, o mapeamento apropriado das subtarefas aos robose dependente das capacidades e desempenho de cada robo membro do time. Times he-terogeneos geralmente apresentam baixa granularidade e a interacao entre seus membrosdeve ser enderecada de forma clara e explıcita. Normalmente, as tarefas designadas aeste tipo de time apresentam claras restricoes em relacao a eficiencia de sua execucao e,

Page 37: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

para satisfaze-las, o time frequentemente apresenta cooperacao ativa, intencional. Estarestricao adicional traz muitas complicacoes extras ao projeto de uma arquitetura apropri-ada que possibilite cooperacao ativa, e esta restricao precisa ser enderecada explicitamentede forma a alcancar o nıvel desejado de cooperacao.

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 ho-mogeneos), um fator central consiste na determinacao do projeto apropriado para as leisde controle locais que possibilitarao com que o time de robos execute adequadamente atarefa a ele designada. Ja no segundo grupo (times heterogeneos com cooperacao ativaentre seus membros), um fator central consiste em robustamente determinar qual robodeve executar qual tarefa, de forma a maximizar a eficiencia do time, alem de garantiruma coordenacao apropriada entre seus membros para que a tarefa seja executada comsucesso.

3. Exemplos de Times de Robos

Nesta secao, exemplos dos dois tipos basicos de times de robos, descritos na secao an-terior, serao apresentados; um deles, com uma abordagem baseada na criacao de regrassociais em grandes times homogeneos e outro, baseado na criacao de motivacoes internasaos robos, para que possam adaptar seus comportamentos aos problemas e conflitos quesurjam durante a execucao da tarefa. Encerrando a secao, e descrito o domınio de futebolde robos, um domınio interessante e motivador, usado para incentivar pesquisas na areade 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 timehomogeneo composto por um grande numero de robos simples, operando em controletotalmente distribuıdo. Neste trabalho, cada robo foi implementado usando a arquiteturaSubsumption, composta pelos comportamentos de evitar colisoes e de mover para umaposicao especıfica pre-estabelecida. Inicialmente foram utilizados 20 robos, posicionadosaleatoriamente numa particao do campo de experimentacao composto por duas particoes,separadas por uma porta estreita, por onde consegue passar somente um robo por vez. Atodos os robos foi dada a mesma meta de atingir uma posicao localizada na outra particao(para satisfaze-la, todos os robos devem atravessar a porta). Todos os robos iniciam omovimento num mesmo instante.

Num primeiro experimento, os robos atuavam sob coexistencia ignorada, isto e,coexistem num mesmo time porem sem nenhum conhecimento mutuo, tratando os outrosmembros como obstaculos. Assim, ao atingir a porta, passavam a maior parte do tempotentando evitar colisoes, demorando muito para atravessa-la. Quanto maior o numero derobos, maior o congestionamento na regiao da porta e maior o tempo que levaram paraconcluir a tarefa.

Num segundo experimento, os robos atuavam sob coexistencia informada. Assim,algumas modificacoes foram realizadas em cada robo: podiam agora reconhecer uns aosoutros, passaram a possuir tambem o comportamento de evitar robos e a respeitar umaregra social simples. A regra social estipulada foi: ”caso algum outro robo obstrua a

Page 38: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

passagem, parar movimento e esperar durante um tempo t; apos t, caso o robo continuebloqueando a passagem, virar a esquerda e reiniciar movimento em direcao a meta” . Oresultado deste experimento foi a diminuicao do congestionamento e um tempo muitomenor para a execucao da tarefa.

Num terceiro e ultimo experimento, o time atuou sob coexistencia inteligente,onde existia uma repulsao entre os robos mas, ao se afastar, cada robo deveria tentar semover na mesma direcao que a maioria dos outros robos estavam indo. Para isso, os robostransmitiam via radio, a todos os outros membros, sua direcao de movimentacao (por ina-bilidade de determinar isso por visao ou outro sensor). Como resultado, os robos tendiama formar uma unica fila (apesar deste comando nao estar explıcito no projeto), diminuindosensivelmente tanto o congestionamento quanto o tempo de execucao da tarefa.

Nos experimentos conduzidos por Mataric, a interfencia dos robos foi minimizadapelo uso de regras sociais simples, sem comunicacao explıcita entre eles. No entanto,caso algum robo falhe, nenhum outro membro poderia ajuda-lo e nem mesmo as tarefaspoderiam ser mudadas dinamicamente. Estes pontos foram enderecados por Parker [27],que propos a arquitetura ALLIANCE para cada robo de um time cooperativo, de tal formaa permitir que o time considere e resolva falhas e incertezas, derivadas tanto da selecaoquanto da execucao das acoes.

3.2. Arquitetura ALLIANCE

ALLIANCE e uma arquitetura que facilita o controle cooperativo tolerante a falhas detimes heterogeneos de robos moveis, os quais executam tarefas compostas por subtarefasque podem, eventualmente, apresentar uma relacao de ordem entre si, isto e, a finalizacaode uma subtarefa pode ser condicao para que outra subtarefa seja realizada. ALLIAN-CE permite que os robos, cada um com diferentes capacidades, possam individualmenteselecionar acoes apropriadas durante a realizacao da tarefa, baseados nao somente nasexigencias da tarefa, mas tambem nas atividades dos outros robos, nas condicoes do ambi-ente e nos seus proprios estados internos. Trata-se de uma arquitetura distribuıda baseadaem comportamentos, que incorpora o uso de motivacoes em cada robo (como impacienciae aquiescencia), de forma a adquirir selecao adaptativa de acoes.

Esta arquitetura requer que os robos membros do time sejam capazes de detectar oefeito de sua propria acao, 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 quequalquer subsistema dos robos pode falhar.

ALLIANCE e uma extensao da arquitetura Subsumption (Figura 4.1), onde foramdefinidos conjuntos de comportamentos que podem estar ativos ou nao, correspondendoas capacidades dos robos. Os robos ativam estes conjuntos baseados nas subtarefas a eledesignadas e na sua motivacao para a execucao de cada subtarefa.

Dois tipos de motivacao interna sao modelados em ALLIANCE: impaciencia, quepermite com que o robo lide com falhas dos outros membros relativas a execucao de umasubtarefa, e aquiescencia, que permite com que o robo lide com suas proprias falhas naexecucao apropriada de uma subtarefa.

Inicialmente, e baixa a motivacao de um robo para ativar qualquer conjunto decomportamentos. Com o passar do tempo, a motivacao para ativar um determinado con-

Page 39: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

Figura 4.1: Esquema da arquitetura ALLIANCE, implementada em cada robo deum time cooperativo.

junto de comportamentos cresce rapidamente conforme aumenta sua impaciencia emrelacao a nao execucao, pelos outros membros do time, da subtarefa correspondenteaquele conjunto. Por outro lado, se o robo detectar que outro robo esta trabalhando na-quela subtarefa, sua impaciencia deve crescer numa taxa bem mais baixa por um certoperıodo de tempo e deve, durante este tempo, cuidar de outras subtarefas. Isto previneque acoes sejam replicadas pelos membros do time. Caso seja atingido o limite de impa-ciencia de um robo relativamente a execucao de uma subtarefa, este deve entao ativar orespectivo conjunto de comportamentos para que possa executar a referida subtarefa.

Uma motivacao complementar e que atua de forma similar a impaciencia e aaquiescencia. Durante a execucao de uma subtarefa, o desejo do robo de desistir detal execucao cresce conforme seus sensores indicam que a sua subtarefa nao esta sen-do propriamente realizada. Apos um perıodo de tempo aceitavel, se a subtarefa ainda naofoi realizada com sucesso, o robo desiste dela e procura executar alguma outra, onde elepossivelmente sera mais produtivo. O robo tambem pode desistir de realizar uma subta-refa (antes do perıodo de tempo dito aceitavel), caso detecte que outro robo comecou aexecucao da mesma (pois o nıvel de impaciencia do outro robo ultrapassou seu limite).

Desta forma, a motivacao de cada robo muda dinamicamente, adequando-se ascondicoes de execucao da tarefa como um todo pelo time. Note que os parametros quecontrolam os nıveis motivacionais de cada robo podem ser adaptados automaticamente.ALLIANCE foi demonstrada na implementacao de um time de robos moveis que execu-tava, em laboratorio, uma versao de uma tarefa de limpeza de lixos perigosos [27].

Page 40: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

3.3. Futebol de Robos

O domınio de futebol de robos e um domınio bastante motivador e que tem atraıdo grandeinteresse, no mundo todo, desde que foi proposto em 1995 [20]. Diferentes modalidadesde competicao foram propostas (micro-robos, robos de medio porte, caes robos, simu-lador, etc), visando estimular pesquisas em diversas areas, tais como robotica, sensores,fusao sensorial, controle inteligente, inteligencia artificial, cooperacao entre times, entreoutras (Figura 4.2).

Figura 4.2: Exemplo de competicoes de futebol de robos: 1. Esquerda superior:FIRA MiRoSoT, 2. Direita superior: RoboCup - Liga Legged, com caesrobos, 3. Inferior: RoboCup - Liga Mid-sized.

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

1. A dinamica dos jogos dificulta tanto a definicao previa da organizacao dos robosquanto a centralizacao do controle do jogo.

2. As atuacoes do time oponente sao imprevisıveis e, portanto, exigem um alto nıvelde adaptacao em tempo real.

Nas competicoes tanto da FIRA (Federation of International Robot-Soccer Asso-ciation) quanto da RoboCup pode-se encontrar times com controle centralizado e comcontrole distribuıdo. Por exemplo, na Liga MiRoSoT (Micro-Robot Soccer Tournament),cada time e constituıdo por 3 robos, com dimensoes que nao excedam 7,5cm X 7,5cmX 7,5cm, sistema de visao global (uma camera colocada a 2m do campo capta a ima-gem de todo o campo) e um unico computador central que envia comandos aos robosvia radio. Normalmente, os times que jogam nesta Liga possuem controle centralizado,que definem a atuacao de cada robo de acordo com a informacao adquirida do sistemade visao computacional, previsao de movimentacao do adversario e tatica de jogo adota-da. Os times sao heterogeneos, com os robos assumindo os papeis de goleiro, atacantee defensor. No time Guarana, vice-campeao mundial da Liga em 1998 [30], os robospossuiam hardware identicos (Figura 4.3(a)), porem o atacante e o defensor podiam tro-car de papeis caso o defensor detectasse que estava em condicoes adequadas para atacar

Page 41: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

(dentro de um triangulo fictıcio posicionado atras da bola, em direcao ao gol adversario,ver Figura 4.3(b)). O time podia tambem mudar de tatica durante o jogo: caso estivesseperdendo por uma diferenca grande de gols, o time atuava de forma mais ofensiva, comdois 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.

Figura 4.3: Time Guarana, vice-campeao mundial da FIRA MiRoSoT de 1998. a)Construcao fısica dos robos. b) Condicao de troca de papeis entreatacante e defensor - quando defensor posiciona-se numa area defi -nida por um triangulo atras da bola, na direcao do gol adversario, oatacante vira defensor e vice-versa.

Por outro lado, as competicoes das Ligas Mid-sized e Legged impoem um con-trole distribuıdo aos times. Cada robo e constituıdo por sensores locais, que forneceminformacoes parciais do ambiente, e por processadores embarcados que possibilitam raci-ocınio e tomadas de decisao individuais. Os robos podem se comunicar de forma explıcitaou nao. Geralmente, os times adotam uma arquitetura hıbrida deliberativa/reativa em cadamembro. Num futuro proximo, um tecnico humano podera interagir com o time de robosatraves de comandos verbais, possibilitando mudanca dinamica de tatica de jogo por seucomando.

Page 42: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

Capıtulo 5

Comportamentos Adaptativos

Neste capıtulo, serao considerados os dois paradigmas principais de aprendizado usadosem Robotica Movel: supervisionado e por reforco.

Existem varias definicoes sobre aprendizado que podem ser encontradas na lite-ratura. No contexto deste curso, adotaremos a seguinte definicao: ”Aprendizado provocamudancas num robo ao longo do tempo, capacitando-o a melhorar seu desempenho pa-ra executar uma determinada tarefa” [5]. Essa melhoria de desempenho pode ocorrer dediversas formas:

� Introduzindo novos conhecimentos (fatos, comportamentos, regras) no sistema.� Generalizando conceitos de um conjunto de exemplos.� No aumento da eficiencia sensorial.� No aprimoramento de polıticas de comportamentos.� Na coordenacao dos diversos comportamentos e/ou atuacao conjunta de multiplos

robos.� Criando explicacoes de como o processo funciona.� Reutilizando experiencias passadas.

Adaptacao e uma forma de aprendizado, na qual o agente aprende atraves de ajus-tes, 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 alcancado grandes desenvolvimentos nos ultimos anos. Inicial-mente, os robos foram utilizados para a automacao de processos de producao industrial.Com o desenvolvimento tecnologico, os robos comecaram tambem ser utilizados para ou-tros propositos tais como: brinquedos e entretenimento, medicina e cirurgia, e realizacaode tarefas em ambientes perigosos (espaciais, subaquaticos).

Assim sendo, a nova geracao de robos deve trabalhar de forma robusta, interagin-do em ambientes complexos e imprevisıveis e realizando uma variedade de tarefas maiscomplexas que seus antecessores, os robos industriais.

A principal limitacao na utilizacao de robos moveis esta em como controla-los,ou seja, como criar programas capazes de operar estas maquinas complexas. Para tal, saonecessarias tecnicas que lhes permitam interagir de forma efetiva com o ambiente. Istoenvolve o tratamento de alguns problemas, tais como a indiponibilidade de um modelo

41

Page 43: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

completo do ambiente com o qual o robo devera interagir, a incerteza dos dados devi-do a erros de leitura dos sensores, a geracao do controle poder ser computacionalmentecomplexa 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 execu-te tarefas sem a necessidade de programa-los explicitamente. A programacao de robos euma tarefa desafiadora, por muitas razoes. Os sensores de um robo, como por exemplo,os sonares, tem comportamentos imprevisıveis, algumas vezes variando conforme o am-biente. Sendo assim, nao basta apenas conhecer o funcionamento dos sensores, tambemdevera ser fornecido um modelo do ambiente no qual o robo devera atuar. Para progra-mar um robo, o problema deve ser decomposto em uma sucessao de tarefas ate chegarem operacoes de baixo nıvel, tais como, andar, virar a esquerda, etc. Por estas razoes, haum interesse consideravel em que os robos possam aprender a realizar tarefas automati-camente.

Nos ultimos anos, a pesquisa em IA tem procurado substituir a programacao ex-plıcita pelo processo de ensinar uma tarefa. Pesquisas nesta area tem estudado variasformas de implementacao de aprendizado [25].

Tecnicas de aprendizado de robos integram percepcao, tomada de decisao,execucao em ambientes dinamicos e complexos. Elas tem sido usadas em diversas areas,tais como, em controle otimo, aquisicao de mapas de ambientes, reconhecimento de ob-jetos e navegacao.

Existem varias tecnicas para realizar aprendizado. Neste capıtulo sao apresenta-das aquelas pertencentes ao paradigma de aprendizado supervisionado e ao paradigma deaprendizado por reforco, por serem amplamente utilizadas. Um detalhamento sobre es-tas tecnicas de aprendizado e algumas aplicacoes em robos moveis sera apresentado nassecoes que se seguem.

1. Aprendizado supervisionado

No aprendizado supervisionado, o conhecimento a respeito da execucao adequada da tare-fa no domınio e representado por um conjunto disponıvel de exemplos de estımulos/acoesou entradas/saıdas desejaveis.

Um ingrediente essencial do aprendizado supervisionado e a disponibilidade deum professor ”externo” , como indicado na Figura 5.1. Em termos conceituais, pode-sedizer que o professor e aquele que tem conhecimento de como uma determinada tare-fa deve ser realizada. Este conhecimento e representado por um conjunto de exemplosentrada/saıda. A execucao da tarefa no domınio e, porem, desconhecida pelo robo.

Suponha agora que a entrada (estado) seja apresentada ao sistema de aprendizadodo robo e ao professor. Com base no seu conhecimento, o professor e capaz de fornecer aresposta desejadada correspondente aquela entrada. Esta resposta desejada normalmenterepresenta a acao otima a ser aprendida pelo sistema de aprendizado. Uma adaptacao nosistema de aprendizado e realizada, com base na influencia da diferenca (erro) entre aresposta atual do sistema de aprendizado e a resposta desejada. Este ajuste e realizadoiterativamente, com o objetivo de fazer com que o sistema imite o professor.

Page 44: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

Ambiente Professor

VetorEstadoSistema

SistemaAprendizado �

RespostaAtual

RespostaDesejada

+

-

Figura 5.1: Aprendizado Supervisionado

O sistema e dito ter aprendido quando o conhecimento da execucao da tarefa noambiente, disponibilizado pelo professor, tiver sido transferido ao sistema, o maximopossıvel, isto e, quando uma medida sobre erro (por exemplo, valor medio) for minimi-zada. Quando esta condicao e atingida, pode-se dispensar o professor e deixar o sistemainteragir com o ambiente por si so.

Aprendizado Supervisionado pode ser realizado no modo estatico off-line e nomodo dinamico on-line. No primeiro, uma vez que o conhecimento do professor foitransferido, cessa-se o processo de adaptacao do sistema de aprendizado. Neste caso, osistema de aprendizado opera num modo estatico. No modo dinamico, o aprendizado eexecutado em tempo real.

Exemplos deste tipo de aprendizado sao a Regra Delta [41] e sua generalizacao,conhecida como algoritmo Backpropagation(BP) [34], aplicados a Redes Neurais Artifi-ciais (RNAs).

RNAs sao baseadas na estrutura e comportamento do sistema nervoso. A estru-tura basica desse sistema e o neuronio, que desempenha o papel de difusor de impulsoseletricos. A propagacao do impulso ocorre atraves das sinapses (pontos de contato entreas terminacoes de neuronios). Este modelo foi copiado para uma estrutura computacio-nal, onde cada neuronio se torna um processador e a cada informacao trocada entre essesprocessadores esta associado um peso (sinapse). A Figura 5.2 apresenta um modelo com-putacional simples de neuronio que tem sido utilizado ate hoje, onde x denota as entradas,y e a saıda do neuronio e f e uma funcao de ativacao ou transferencia.

Figura 5.2: Representacao de um Neuronio Padrao

Page 45: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

1.1. A Regra Delta

Este algoritmo envolve apenas um neuronio e foi proposto para ajustar os pesos da arqui-tetura ADALINE (ADAptive LINear Element) [41]. Considere que a funcao de ativacaof 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 res-pectivos pesos w = (w1; w2; : : : ; wn). Seja y a saıda fornecida pelo neuronio em respostaa esta entrada:

y(t) =nX

k=1

wkxk (5.1)

Usualmente, os pesos sao todos inicializados com zero e, provavelmente, a res-posta atual y deste neuronio sera diferente da resposta desejada d. O erro e dado por:e(t) = d(t) � y(t) e uma medida de erro ou funcao de custo pode entao ser definidacomo:

E[w] =1

2[d(t)� y(t)]2 =

1

2[d(t)�

nXk=1

wkxk]2 (5.2)

A funcao E[w] e maior ou igual a zero e tende a zero quanto mais a resposta dasaıda do neuronio se aproximar da resposta desejada para o padrao de entrada. O errototal, ET , apos a apresentacao de varios exemplos p de um dado conjunto de treinamentoe:

ET =Xp

E[w] =1

2

Xp

[dp(t)� yp(t)]2 (5.3)

O objetivo do aprendizado e minimizar esta funcao de custo. Embora o erro totalET seja definido pela soma dos erros para todos os padroes, sera assumido, sem perdade generalidade, que a minimizacao do erro para cada exemplo, dada pela Equacao 5.2,levara a minimizacao do erro total.

Assim sendo, observe que a funcao de custo depende somente dos pesos sinapticose dos exemplos apresentados ao neuronio. Entao, minimizando-se a funcao E[w] pode-se obter um conjunto de pesos wk caminhando em direcao oposta ao gradiente de E[w].Usando o metodo da descida do gradiente [17], os pesos wk sao modificados por umaquantia proporcional ao gradiente de E, isto e:

�wk = ��@E[w]

@wk

(5.4)

�wk = ��(d(t)� y(t))xk (5.5)

que corresponde as modificacoes que devem ser realizadas nos pesos em relacaoao exemplo p, ou ainda,

�wk = ��Æ(t)xk (5.6)

ou

Page 46: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

wk(t+ 1) = wk(t) + �Æ(t)xk; k = 1; 2; : : : ; p (5.7)

onde Æ(t) e definido por:

Æ(t) = (d(t)� y(t)) (5.8)

Este resultado dado pelas Equacoes 5.5, 5.6 e 5.8 e conhecido como Regra Delta,regra de Widrow-Hoff ou regra LMS.

�Camada de

Entrada

Conexões

CamadasIntermediárias

Camada deSaída

Figura 5.3: Rede Neural Multi-Camadas

1.2. A Regra Delta Generalizada

A generalizacao da Regra Delta, conhecida como algoritmo Backpropagation ou RegraDelta Generalizada, envolve uma rede multi-camadas de neuronios (Figura 5.3 e suadescricao pode ser encontrada em [17]. Neste caso, a funcao de custo (erro total a serminimizado) e dada por:

ET [w] =1

2

Xp

mXi=1

(dp

i(t)� y

p

i(t))2 (5.9)

onde m e o numero de unidades de saıda, di e a i-esima saıda desejada e yi e a i-esimasaıda gerada pela rede, no instante t.

Diferentemente da Regra Delta, a Regra Delta Generalizada requer que a funcaode ativacao dos neuronios seja contınua, e diferenciavel. O calculo da saıda de umneuronio yj pode ser expresso como:

yj = fj(netp

j) (5.10)

onde netpj=P

k wjkxp

k.

Usualmente, os pesos sao inicializados aleatoriamente e, atraves da aplicacao dometodo de descida do gradiente sao ajustados pela seguinte regra de atualizacao, duranteo processo de treinamento da rede:

Page 47: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

wij(t + 1) = wij(t) + �Æj(t)xi(t) (5.11)

onde:

Æj = f0(netj)(dj � yj) para um neuronio j na camada de saıda, Æj =

f0(netj)

Pk Ækwjk para um neuronio j na camada intermediaria e f 0(netj) representa a

derivada da funcao de ativacao f em relacao ao peso wij.

Os erros sao propagados da camada de saıda para as camadas anteriores. Maioresdetalhes sobre este algoritmo podem ser encontrados em [17].

1.3. Exemplos

Existem inumeras aplicacoes interessantes que demonstram a importancia de aprendiza-do, realizado com a utilizacao destes algoritmos, na area de robos moveis. Atraves dosistema ALVINN um veıculo consegue a habilidade de dirigir automaticamente baseadoem informacoes de como o homem dirige [28]. Para isto, foi utilizada uma rede neuralmulti-camadas, cujas entradas foram imagens (32x30 pixels) de rodovias, e a saıda foi adirecao correta a ser tomada pelo veıculo correspondente a imagem recebida.

Em Waldherr et al. [42] uma RNA foi treinada e inserida no sistema de contro-le do robo Amelia, mencionado na secao 3.2., para que o mesmo fosse capaz de reco-nhecer gestos em tempo real. Esta pesquisa esteve voltada para a utilizacao de robosmoveis para auxiliar as pessoas no seu dia-a-dia. Uma interface baseada em gestos pa-ra interacao homem-maquina foi apresentada, que capacita pessoas a instruırem robos arealizarem tarefas faceis atraves de gestos feitos pelo braco. Neste caso, a RNA rece-beu como entrada, imagens (10x10 pixels) contendo diferentes tipos de gestos e comosaıda, os angulos formados pelo braco correspondente aquele gesto. Tais gestos podemser estaticos, os quais envolvem apenas uma configuracao especıfica do braco da pessoa,ou podem ser dinamicos, isto e, envolver movimento. O desempenho do sistema foi testa-do considerando-se 4 tipos de gestos: “parar” , “apontar um objeto” , “seguir” e “nenhumgesto” . Os resultados foram obtidos em relacao a uma tarefa de limpeza de escritorio re-alizada pelo robo. Esta tarefa consiste em: (1) uma pessoa guia o robo, atraves de gestos,para locais especıficos no escritorio que precisam ser limpos. (2) O robo pega o “ lixo” quepode ser, papel, latinhas de bebida, ou algum outro objeto e entao (3) coloca-o no cestode lixo mais proximo. Os resultados obtidos, para um conjunto de 50 amostras de cadatipo de gesto testado, totalizando 241 amostras, mostraram que o sistema tem capacidadede detectar gestos dinamicos e que o robo pode satisfatoriamente realizar esta tarefa.

2. Aprendizado por Reforco

No aprendizado por reforco (AR), o agente aprende a resolver uma tarefa atraves de re-petidas interacoes com o ambiente, por tentativa e erro, recebendo reforcos (recompensasou punicoes) como retorno.

Aprendizado por reforco e baseado na ideia que, se uma acao e seguida de estadossatisfatorios, entao a tendencia para produzir esta acao e aumentada. Estendendo estaideia, acoes podem ser selecionadas em funcao da informacao sobre os estados que elaspodem produzir.

Page 48: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

Quase todos metodos de AR em uso sao baseados na tecnica de Diferencas Tem-porais (TD) [36]. A ideia fundamental em TD e o aprendizado por predicao: quando oagente recebe um reforco deve propaga-lo retroativamente no tempo. Desta forma, osestados que foram anteriormente visitados e que conduziram a esta condicao, serao asso-ciados a uma predicao de consequencias futuras.

A aquisicao de informacoes de aprendizado por experiencia direta e uma praticaque normalmente nao esta sob o total controle de um agente: ele pode escolher acoes, masnao pode determinar as consequencias destas acoes com antecedencia para todos estados,pois normalmente nao tem um modelo suficientemente preciso de um estado no qualsao baseados os julgamentos. Por isto, o agente deve estimar o valor associado atravesde visitacao direta; ele deve escolher uma acao, receber um resultado e propaga-lo aosestados anteriores, seguindo o procedimento de TD1.

A correta determinacao das consequencias das acoes depende de um numero ra-zoavel de atualizacoes para cada estado. A convergencia de algoritmos AR em geral estacondicionada a um numero infinito de visitas para todos os estados do processo. A im-possibilidade de cumprir esta condicao cria o conflito entre exploracao e exploitacao. Orobo deve encontrar polıticas de acoes que permitam uma melhor exploracao do conjuntode estados e por conseguinte um melhor modelo. Mas ao mesmo tempo deve-se consi-derar que um bom desempenho so e atingido se uma melhor polıtica de acao e executada(exploitacao)2.

2.1. Modelo Padrao de Aprendizado com Reforco

No modelo de aprendizado com reforco, um robo e conectado a seu ambiente porpercepcao e acao, como descrito no Capıtulo 1. Em cada passo de interacao, o robo recebecomo entrada, uma percepcao i, do estado atual s do ambiente; e escolhe entao uma acaoa. A acao muda o estado do ambiente e e comunicado o valor desta transicao de estado aorobo por um sinal de reforco escalar r (ver Figura 5.4). O comportamento do robo deveser escolher acoes que tendem a aumentar, ao longo do tempo, uma funcao da soma dosvalores do sinal de reforco. Ele pode aprender a fazer isto com o passar do tempo atravesda sistematica tentativa-e-erro, guiado por uma grande variedade de algoritmos.

s

iI

R r

a

B

Ambiente

Figura 5.4: Modelo padrao de aprendizado com reforco.

O trabalho do robo e, portanto, achar uma polıtica �, mapeando estados em acoes,

1apud [31]2apud [31]

Page 49: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

para maximizar a medida de reforco ao longo do tempo. Formalmente, o modelo padraode AR consiste de:

� um conjunto discreto de estados de ambiente, S;� um conjunto discreto de acoes de agente, A;� um conjunto de sinais de reforco, tipicamente f0,1g, ou numeros reais.

Para fins de estudos dos algoritmos, assume-se que I e a funcao identidade, ouseja, o robo percebe o estado exato do ambiente.

Neste caso, pode-se modelar o problema de AR como um Processo de Decisao deMarkov (MDP).

Processo de Decisao de Markov

Na aprendizagem por reforco (AR), o robo toma decisoes com base no estado do ambien-te. Como um estado contem toda a informacao relevante para a tomada de decisao, diz-seque o processo decisorio e de Markov ou que tem a propriedade de Markov. Pode-se ob-servar esta propriedade tomando-se, por exemplo, o movimento de uma bola atirada porum canhao. Para determinar seu voo futuro, nao importa com que velocidade saiu e deque posicao veio, basta conhecer sua velocidade e a posicao atual.

Formalmente, um MDP consiste de:

� um conjunto de estados do ambiente, S;� um conjunto de possıveis acoes A;� uma funcao de probabilidade de transicao para s0 dado s e a, P (s0js; a);� reforcos associados a transicao para s0 dado s e a, R(s0js; a);

Existem boas referencias para MDPs, tais como [8], [29], [9]. Maiores detalhessobre AR podem ser encontrados em [31], [36] e [18].

2.2. Algoritmos de AR

Os metodos de aprendizado por reforco estao divididos em metodos independentes demodelo e metodos baseados em modelo. Um modelo consiste em se ter o conheci-mento previo da funcao de probabilidade de transicao P (s0js; a) e da funcao de reforcoR(s0js; a).

Os metodos independentes de modelo (model-free) aprendem a execucao adequa-da de uma tarefa sem um modelo explıcito dos efeitos das acoes. Os metodos baseadosem modelo (model-based) aprendem e usam um modelo do ambiente enquanto simulta-neamente tentam aprender a executar a tarefa otima [7]. Os algoritmos Q-learning [40] eR-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 polıtica deacoes. Este metodo e baseado na medida de valor de pares estado/acao, Q(s; a), o qualrepresenta o valor esperado (soma das recompensas descontadas no tempo) ao se executar

Page 50: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

uma acao a no estado s, seguindo-se depois uma polıtica otima. Em cada interacao como ambiente, Q(s; a) e atualizado pela regra:

Q(s; a) Q(s; a) + �[r + maxa0

Q(s0; a0)�Q(s; a)] (5.12)

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

Apos executar uma acao a, o agente deixa o estado s e vai para s0, recebendo poresta transicao uma recompensa imediata r. maxa0 Q(s0; a0) e uma previsao do valor doproximo estado, quando se segue uma polıtica otima.

Uma variacao interessante para o Q-learning e o algoritmo SARSA [40]. Aatualizacao dos custos das acoes e realizada em cada passo de acordo com a equacaoabaixo:

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

Naturalmente, caso a acao escolhida a’ seja maxa0 Q(s0; a0), este algoritmo seraequivalente ao Q-learning padrao. Por eliminar o uso do operador max sobre as acoes,este metodo e mais rapido que o Q-learning para situacoes onde o conjunto de acoestenham cardinalidade alta.

Existem varias aplicacoes interessantes destes algoritmos. Um exemplo deaplicacao de Q-learning para o aprendizado de trajetorias para um robo movel pode serencontrado em [32]. Neste caso, foi utilizado um robo Khepera [21], atuando em um am-biente retangular com obstaculos. Partindo de um ponto fixo, o robo movel foi treinadoautonomamente para atingir um alvo, na parede oposta, ao mesmo tempo em que evitavaobstaculos. Um reforco negativo era produzido cada vez que um controlador para desviode obstaculos era ativado, e um reforco positivo proporcional a distancia relativa ao alvoera produzido simultaneamente. Usando-se uma variacao do algoritmo Q-learning queconsidera o grau de similaridade entre estados (posicoes no ambiente) vizinhos [33], foipossıvel gerar trajetorias satisfatorias apos cerca de 34 minutos de treinamento.

Algoritmo R-learning

Esta tecnica, proposta em [37], maximiza a recompensa media a cada passo. Trata-se deum metodo de controle independente de polıtica para versoes de aprendizado por reforconas quais nao se utilizam descontos e nem se dividem as experiencias em episodios dis-tintos com retornos finitos.

Em contrate com o algoritmo Q-learning, R-learning maximiza um reforco medio,ou seja, a funcao de custo para uma polıtica � e definida em relacao a media das recom-pensas esperadas em cada passo de tempo, como:

�� = lim

n!1E

� 1

N

nXt=0

rt

�: (5.14)

N e o numero total de reforcos recebidos.

Page 51: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

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

Os valores de R(s; a) sao ajustados a cada acao baseados na seguinte regra:

R(s; a) R(s; a) + �[r � ~� +maxa0

R(s0; a0)�R(s; a)]; (5.15)

que difere da regra do Q-learning, simplesmente por subtrair a estimativa da recompen-sa media ~� do reforco imediato r e por nao ter desconto para o proximo estado. Aestimativa ~� e calculada como:

~� ~�+ �[r +maxa

Rt(s0; a)�max

aR(s; a)� ~�] (5.16)

O ponto chave e que ~� somente e atualizado quando uma acao nao aleatoria fortomada.

Uma aplicacao de uma modificacao deste algoritmo, denominada R’ -learning po-de ser encontrada em [14] e [15]. Esta modificacao foi realizada atraves da incorporacaode logica fuzzy ao algoritmo R-learning. Este algoritmo apresentou melhores resultadosque o R-learning, no domınio de navegacao de robos moveis, por calibrar o reforco ime-diato. Uma aplicacao para o robo Pioneer 1 5.5 foi realizada com este algoritmo. Estaaplicacao consistiu em fazer com que o robo navegasse em um ambiente desconhecido,evitando colisoes e procurando por pequenos objetos para serem colocados em uma li-xeira. Para tanto, o mapeamento dos estados foi feito utilizando forca de repulsao comoproposto por Borenstein et. al. [10], entre os objetos e o robo. Este mapeamento propici-ou um numero menor de estados do ambiente, por fundir as leituras dos sonares em umaunica informacao, permitindo que o robo aprendesse a navegar em menos tempo. Por ou-tro lado, foi proposto um conjunto de acoes que fez com que o robo tivesse movimentosmais suaves.

As seguintes recompensas imediatas sao adotadas de acordo com o estado querobo atinge, como e mostrado na tabela abaixo:

sendo que o conjunto de acoes proposto foi:

A = f avancar, girar a direita, girar a esquerda, recuar g

Para verificar o desempenho do robo na tarefa proposta foram colocados 2 corposde prova em um ambiente como mostrado na Figura 2.2.. Apos o aprendizado mais doisambientes foram testados no simulador e o robo navegou neles normalmente sem precisarde um novo treinamento (Figura 2.2.(b) e(c)).

Page 52: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

estados recompensaspassagem livre 10colisao -100risco de colisao -100levar para lixeira 100obstaculo -50

Tabela 5.1: Recompensas para o robo pegador de objetos.

objeto 1objeto 2

lixeira

(a)

(b) (c)

Figura 5.6: (a) Planta do ambiente real onde o robo recolheu objetos e aprendeua navegar (4m�7m); (b) e (c) ambientes construıdos no simulador,com 8m�8m e 10m�15m respectivamente.

Agradecimentos

Carlos H. Costa Ribeiro agradece a FAPESP (Proc. 99/05777-2) e ao CNPq (bolsa301228/97-3) o apoio prestado. Anna H. Reali Costa agradece ao NSF/CNPq-ProTeMCC pelo financiamento do projeto MAPPEL (Proc. 68003399-8). Roseli A. FrancelinRomero 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 Sys-tems 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 SPIEConf. 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 Te-chniques 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 program-ming. Artificial Intelligence, 1993.

Page 53: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

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

[9] D.P. Bertsekas. Dynamic Programming: Deterministic and Stochastic Models. Prentice-Hall, 1987.

[10] J. Borestein e Y. Koren. Real-time obstacle avoidance for fast mobile robots. IEEE Tran-sactions 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 Ro-botics 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, InProcs. of the 9th IEEE International Conference on Fuzzy Systems, pp. 847-851,2000.

[15] G. Faria. Explorando o Potencial de Algoritmos de Aprendizado com Reforco em RobosMoveis. Dissertacao de Mestrado, Universidade de Sao Paulo, 2000.

[16] E. Gat. Reliable Goal-Directed Reative Control of Autonomous Mobile Robots. Tese deDoutoramento, 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 ArtificialIntelligence 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, Dear-born, Michigan - EUA, 1984.

[20] H. Kitano, A. Minoro, Y. Kuniyoshi, I. Noda e E. Osawa. RoboCup: The Robot WorldCup 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 (Suica),1998.

[22] D. Lyons e A. Hendriks. Planning for Reactive Robot Behavior. In Procs. of the IEEE Int.Conf. on Robotics and Automation, Nice (Franca), pp. 2675-80, 1992.

[23] M. Mataric. Minimizing complexity in controlling a mobile robot population. In Procs. ofthe IEEE International Conference on Robotics and Automation. Nice, France, May1992, 830-835.

[24] A. Meystel. Knowledge Based Nested Hierarchical Control. In Advances in Automationand 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.

Page 54: Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´uspds.sourceforge.net/Artigos/cursoJAIA2001.pdf · Robos Mˆ oveis Inteligentes: Princ´ ´ıpios e Tecnicas´ Carlos Henrique

[27] L.E. Parker. ALLIANCE: an architecture for fault tolerant multi-robot cooperation. IEEETransactions on Robotics and Automation, 14(2), 2200-240.

[28] D.Pormeleau, Neural Network Perception for Mobile Robot Guidance. Kluwer AcademicPublishers, 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 & Automacao, 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 onNeural Networks, INNS Press, Washington DC, 1999.

[32] C.H.C. Ribeiro. Autonomous learning based on cost assumptions: Theoretical studies andexperiments 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 andresults. In Procs. of the ISRF-IEE International Conf. on Intelligent and CognitiveSystems (Neural Networks Symposium), pp. 32-36, 1996.

[34] D.E.Rumelhart, G.E. Hinton e R.J.Williams. Learning internal representations by er-ror propagation. In Parallel Distributed Processing, Vol. I + II, D.E.Rumelhart eJ.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, InMachine Learning: Procs. of the 10th Int. Conf., Morgan Kaufmann, 1993.

[38] P. Tadepalli e D. Ok. A reinforcement learning method for optimizing undiscounted ave-rage 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 na-vigation. In Procs. of the 13th National Conference on Artificial Intelligence, MenloPark, Aug. AAAI Press/MIT Press, 1996.

[40] C.J.C.H. Watkins. Learning from Delayed Rewards. Tese de Doutorado, University ofCambridge, 1989.

[41] B. Widrow e M.E. Hoff. Adaptive switching circuits. In 1960 IRE WESCON ConventionRecord, pages 96-104, New York, 1960.

[42] S. Waldherr, R. Romero e S. Thrun, A Gesture Based Interface for Human-Robot Interac-tion. Autonomous Robots 9, pp. 151-173, 2000.