O controle baseado em comportamentos apresenta v´arias linhas diferentes. Cada uma das abordagens varia principalmente em fun¸c˜ao dos m´etodos de ativa¸c˜ao dos comportamentos e na arbitragem das sa´ıdas (Action Selection)[Bryson, 2000].
O modelo de controle original de Brooks [Brooks, 1986] ´e conhecido com “sub- sumption”. O controlador ´e constru´ıdo em termos de n´ıveis de competˆencia. Cada n´ıvel oferece uma base para o n´ıvel superior. A ‘inteligˆencia” ou capacidade do sis- tema ´e ampliada a cada novo comportamento inserido. A implementa¸c˜ao original de Brooks [Brooks, 1989b] ´e baseada em um conjunto de m´aquinas de estados fini- tos ou FSA (Finite State Acceptor) que interagem entre si. Devido `a dificuldade de programa¸c˜ao utilizando diretamente as FSA, foi desenvolvida uma linguagem cha- mada de “Behavior Language” [Brooks, 1990], que oferece elementos abstratos que s˜ao compilados para um conjunto de FSA execut´avel. Continuando o desenvolvimento, Brooks [Brooks, 1991d] explicita os seguintes conceitos:
• Situado1: define a habilidade dos robˆos em sentir o ambiente a sua volta evi-
tando o uso de representa¸c˜oes abstratas.
• Personifica¸c˜ao2: define os robˆos como criaturas f´ısicas que devem experimen- tar o mundo diretamente e n˜ao atrav´es de simula¸c˜ao.
O desenvolvimento do controle baseado em comportamentos continua com Ar- kin, que o combina com a teoria de esquemas (Schema Theory) desenvolvida por Arbib [Arbib, 1992]. O conceito biol´ogico de esquemas Motores (Motor schemas) ´e ent˜ao aplicado ao controle de robos [Arkin, 1989, Arkin, 1995, Arkin, 1998]. Os esque- mas perceptivos s˜ao embutidos nos esquemas motores, de forma a reagir a est´ımulos t˜ao r´apido quando poss´ıvel. Os esquemas perceptivos podem ser definidos recursi- vamente tornando-os capazes de extrair informa¸c˜oes mais elaboradas e significativas para ativar apropriadamente os esquemas motores.
Patti Maes [Maes, 1989b, Maes, 1989a, Maes, 1990, Maes and Brooks, 1990] pu- blicou um m´etodo baseado na sele¸c˜ao de a¸c˜oes atrav´es do espalhamento de ativa¸c˜oes geradas por objetivos e por m´odulos que detectam determinadas situa¸c˜oes pr´e- definidas.
Mataric [Mataric, 1992a, Mataric, 1992b] desenvolve uma heur´ıstica para desen- volvimento de controles comportamentais. Os comportamentos s˜ao definidos em um n´ıvel mais alto e refinados seguidamente at´e que possam ser aterrados ou fundamen- tados nos dados sensoriais.
1
Situatedness
2
No intuito de desenvolver tarefas mais complexas, Firby e Slack [Firby, 1994, Firby et al., 1995] desenvolveram um trabalho, no qual um conjunto de tarefas ´e es- pecificado por seq¨uˆencias de a¸c˜oes, que ativam um conjunto de habilidades espec´ıficas (skill), que se assemelham a comportamentos. Este trabalho n˜ao ´e considerado pura- mente comportamental porque utiliza m´odulos de resolu¸c˜ao de problemas para reali- zar planejamento, que define a seq¨uˆencia de a¸c˜oes apropriadas para cada tarefa.
Monica Nicolescu e Mataric [Nicolescu and Mataric, 2000a,
Nicolescu and Mataric, 2000b] ampliaram o modelo comportamental definindo o conceito de comportamentos abstratos. Seq¨uˆencias de comportamentos abstratos especificam a realiza¸c˜ao de um determinado objetivo ou tarefa. Os comportamentos abstratos s˜ao interconectados com comportamentos primitivos, possibilitando uma intera¸c˜ao atrav´es da distribui¸c˜ao de ativa¸c˜ao e inibi¸c˜oes. A estrutura proposta permite o desenvolvimento de tarefas complexas utilizando o mesmo conjunto de comportamentos primitivos.
O modelo de Brooks que define um paradigma conhecido por PAB (Port- Arbitrated behavior Paradigm) foi generalizado para sistemas multi-agentes por Wer- ger [Werger, 2000]. Neste trabalho foi definida a linguagem Ayllu que facilita a im- plementa¸c˜ao do controle comportamental de Brooks em um time de robˆos interconec- tados atrav´es de rede IP.
Todas as abordagens baseadas no modelo comportamental foram inspiradas nos comportamentos animais e no conhecimento sobre processos biol´ogicos de percep¸c˜ao, cogni¸c˜ao e a¸c˜ao. Implementar estes processos em qualquer tipo de sistema n˜ao ´e uma tarefa simples e abre possibilidades para v´arias e diferentes abordagens, cada uma com propriedades pr´oprias, vantagens e desvantagens. Podem-se destacar duas divis˜oes principais entre as abordagens: a forma de sa´ıda ou resposta dos comportamentos e a coordena¸c˜ao dos comportamentos.
Os comportamentos devem enviar comandos para os atuadores ou motores de- finindo a for¸ca, velocidade e dire¸c˜ao destes. Os comandos podem ser discretos ou cont´ınuos. Os discretos correspondem a um conjunto finito de valores pr´e- determinados. O controle de velocidade de um motor pode receber os comandos “frente”, “tr´as” e “parado”, cada um correspondendo a um valor real de velocidade ou for¸ca pr´e-determinados. Os comandos cont´ınuos podem assumir qualquer valor real dentro de uma faixa pr´e-determinada de atua¸c˜ao.
Al´em do tipo de resposta fornecida para comandar atuadores, outra caracter´ıstica marcante ´e o paralelismo inerente `a ativa¸c˜ao dos comportamentos. ´E poss´ıvel se ter v´arios comportamentos ativos no mesmo instante e fica clara a necessidade de selecionar a melhor sa´ıda do sistema. A sele¸c˜ao, tamb´em chamada de coordena¸c˜ao de comportamentos, pode ser realizada de diversas formas e deu origem a diferentes abordagens do controle baseado em comportamento. A coordena¸c˜ao de comporta- mentos pode ser realizada em duas formas b´asicas: m´etodos competitivos e m´etodos
cooperativos.
Os m´etodos de controle competitivos garantem que apenas a sa´ıda de um compor- tamento ´e utilizada para o controle dos atuadores. No modelo de Books conhecido como “subsumption´´, v´arios comportamentos s˜ao ativados simultaneamente e a sa´ıda ´e selecionada atrav´es de crit´erios de supress˜ao. Existe uma prioridade previamente definida entre todos os comportamentos durante o projeto.
Patti Maes [Maes, 1990, Maes and Brooks, 1990] publicou um m´etodo baseado na sele¸c˜ao de a¸c˜oes. ´E proposta uma rede de comportamentos conectados com objetivos e sensores. A execu¸c˜ao dos comportamentos ´e realizada quando a ativa¸c˜ao recebida de objetivos e dos sensores ultrapassa um determinado limite(“threshold”). Nesta abordagem, apenas um comportamento ´e ativado de cada vez, n˜ao existindo uma prioridade expl´ıcita entre eles e nem a necessidade de coordenar as sa´ıdas. A ativa¸c˜ao ´e controlada por um conjunto de parˆametros existentes nos pr´oprios comportamen- tos, nos sensores, nos objetivos e nas interconex˜oes existentes. Uma vantagem desta abordagem ´e a possibilidade de alterar os parˆametros dinamicamente, permitindo adapta¸c˜oes durante a execu¸c˜ao.
Quando se utilizam m´etodos baseados em prioridade, com supress˜ao de sa´ıdas para arbitrar as respostas dos comportamentos, a informa¸c˜ao contida nos comandos suprimidos ´e totalmente ignorada. Em muitos casos, pode n˜ao ser o ideal. Imagine um autˆomato que est´a seguindo um alvo e precisa desviar de um obst´aculo. Para o comportamento de desvio pode n˜ao importar se vai virar para a direita ou esquerda, entretanto a dire¸c˜ao escolhida pode ser decisiva para se alcan¸car o alvo. O compor- tamento de desvio deve portando, ou receber informa¸c˜oes sobre a posi¸c˜ao do alvo, ou permitir que suas sa´ıdas sejam combinadas ao comportamento que segue o alvo.
Os m´etodos que combinam sa´ıdas s˜ao conhecidos como coordena¸c˜ao cooperativa. Nestes m´etodos, as respostas dos comportamentos s˜ao somadas ou fundidas atrav´es de alguma fun¸c˜ao previamente definida. Ou seja, os comandos enviados aos atuadores s˜ao dependentes de todos os comportamentos ativos simultaneamente. N˜ao existe, portanto, uma prioridade explicitamente definida em rela¸c˜ao aos comportamentos ati- vos. Existem muitas maneiras para realizar a fus˜ao de comandos tanto para comandos discretos, quando cont´ınuos [Bryson, 2000]. Uma das maneiras mais conhecidas, uti- lizada nos esquemas motores por Arkin [Arkin, 1998], ´e a representa¸c˜ao da percep¸c˜ao externa atrav´es de campos potenciais de atra¸c˜ao e repuls˜ao. O objetivo atrai o robˆo enquanto os obst´aculos o repelem. A soma destes resultados determina a trajet´oria final. Os resultados dos comportamentos ativos simultaneamente s˜ao combinados ou fundidos atrav´es de soma vetorial.
Em alguns casos a fus˜ao de comandos realizada apenas com a soma ou combina¸c˜ao de sa´ıdas pode tamb´em apresentar problemas. Se um comportamento comanda para virar a direita (10O) e outro diferente comanda para virar a esquerda (10O) o comando
dire¸c˜ao, o que pode ser um problema.
Em outras palavras, a utiliza¸c˜ao das prioridades de forma expl´ıcita como no mo- delo de “subsumption” de Brooks pode levar a perda de informa¸c˜oes produzidas pelos comportamentos suprimidos, e a fus˜ao de comandos pode levar a a¸c˜oes inadequadas ou imprevis´ıveis. ´E claro que os exemplos apresentados podem ser facilmente resolvi- dos se a funcionalidade dos comportamentos for ampliada aumentando as informa¸c˜oes utilizadas como est´ımulos ou a comunica¸c˜ao entre eles.
Entre os princ´ıpios do controle comportamental est˜ao a simplicidade e inde- pendˆencia no desenvolvimento dos comportamentos de cada n´ıvel. Mantendo estes princ´ıpios, outros m´etodos de arbitragem foram desenvolvidos, combinando a com- peti¸c˜ao com a coopera¸c˜ao entre as respostas de atua¸c˜ao.
Um m´etodo baseado em vota¸c˜ao conhecido como DAMN (Distribuited Architec- ture for Mobile Navigation) foi desenvolvido por Rosenblatt [Rosenblatt, 1997]. Cada comportamento do sistema em vez de escolher um comando espec´ıfico, vota em um conjunto predefinido de comandos discretos para os atuadores, possuindo um n´umero de votos. A coordena¸c˜ao ´e realizada se contabilizando os votos e selecionando o co- mando vencedor, e este ´e efetivamente executado. Neste caso, tamb´em n˜ao h´a uma prioridade expl´ıcita entre os diversos comportamentos. Este m´etodo ´e considerado competitivo, mas apresenta um n´ıvel de coopera¸c˜ao. A importˆancia de um compor- tamento pode ser alterada quando se modifica o n´umero de votos distribu´ıdos no sistema.
Uma outra abordagem para fus˜ao de atua¸c˜ao muito interessante ´e encontrada em Payton et al [Payton et al., 1992]. Cada comportamento pode responder trˆes tipos de valores poss´ıveis para um comando.
Faixa (Zone): Define um limite inferior e superior para um comando.
Limite (Clamp) : Define um limite inferior ou um superior para um comando. Preciso (Spike) : Define um valor espec´ıfico e ´unico para o comando. Neste caso ´e
utilizado um controle de prioridade usual.
Os comandos gerados pelos comportamentos podem ent˜ao ser descritos como vari´aveis de controle e n˜ao sa´ıdas diretas. O processo de fus˜ao dos comandos ´e rea- lizado no intuito de se atender `as restri¸c˜oes de todos os comportamentos simultane- amente. Caso n˜ao seja poss´ıvel, s˜ao utilizados crit´erios de prioridade definidos pelo estado do sistema. A vantagem desta representa¸c˜ao ´e a possibilidade de que cada comportamento pode criar aproxima¸c˜oes inteligentes e constantes para sua fun¸c˜ao cont´ınua de preferˆencia.
Existem ainda outras abordagens para os mecanismos de coordena¸c˜ao de com- portamentos cooperativa, competitiva ou h´ıbrida. Pirjanian [Pirjanian, 1999], fez um
apanhado geral sobre os m´etodos de coordena¸c˜ao de comportamentos utilizados. Jo- ana Bryson [Bryson, 2000] estudou os mecanismos de sele¸c˜ao da a¸c˜ao correlacionando- os com hip´oteses de psicologia.
Firby et al [Firby et al., 1995] desenvolveram um modelo h´ıbrido dividido em duas camadas interconectadas. Um planejador que utiliza uma biblioteca de tarefas or- ganizadas na forma de ´arvores, que em fun¸c˜ao das tarefas ativas, um conjunto de habilidades do n´ıvel inferior s˜ao habilitadas. As habilidades perceptivas interagem com habilidades de a¸c˜ao permitindo um controle eficiente. O planejador interage com as habilidades perceptivas recebendo est´ımulos que v˜ao permitir a sele¸c˜ao de novas tarefas.
Ainda existem muitos outros trabalhos desenvolvidos na ´area, mas estes exemplos s˜ao significativos nas tecnologias utilizadas.