Você está na página 1de 120

Valdir Grassi Junior

Arquitetura Hbrida para Robs Mveis Baseada


em Funes de Navegao com Interao Humana

Tese apresentada Escola Politcnica da


Universidade de So Paulo para obteno do
Ttulo de Doutor em Engenharia.

So Paulo
2006

Valdir Grassi Junior

Arquitetura Hbrida para Robs Mveis Baseada


em Funes de Navegao com Interao Humana

Tese apresentada Escola Politcnica da


Universidade de So Paulo para obteno do
Ttulo de Doutor em Engenharia.
rea de concentrao: Engenharia Mecatrnica
Orientador: Prof. Dr. Jun Okamoto Junior

So Paulo
2006

Este exemplar foi revisado e alterado em relao verso original, sob responsabilidade nica do autor e com anuncia de seu
orientador.
So Paulo, 21 de junho de 2006.
Assinatura do autor
Assinatura do orientador

Ficha Catalogrfica

Grassi Junior, Valdir


Arquitetura Hbrida para Robs Mveis Baseada em Funes
de Navegao com Interao Humana/ V. Grassi Junior. ed. rev.
So Paulo, 2006.
118 p.
Tese (Doutorado) Escola Politcnica da Universidade de So
Paulo. Departamento de Engenharia Mecatrnica e de Sistemas
Mecnicos.
1.Robs (Arquitetura; Interao humana; Planejamento)
I.Universidade de So Paulo. Escola Politcnica. Departamento
de Engenharia Mecatrnica e de Sistemas Mecnicos II.t.

minha famlia,
com amor e carinho.

Agradecimentos
Gostaria de comear agradecendo aos professores que me orientaram neste trabalho, aos
quais devo muito do que foi feito. Ao Prof. Jun Okamoto Jr. pelo suporte e por discusses
que foram de grande ajuda na concluso deste trabalho e elaborao deste documento. Ao Prof.
Vijay Kumar que me recebeu muito bem no GRASP Lab, me apresentou cadeira de rodas
S MART C HAIR, e me orientou durante minha estada na Universidade da Pennsylvania.
Agradeo o apoio financeiro da FAPESP no perodo em que estive no Brasil, e CAPES
no perodo em que estive nos EUA.
Sou grato aos colegas do LPA pela pacincia e ajuda em tantas coisas, e aos colegas do
GRASP com os quais aprendi muito. Em especial, gostaria de agradecer Sarangi P. Parikh por
ter trabalhado comigo no projeto da cadeira de rodas, discutindo idias, escrevendo artigos, e
realizando experimentos e demonstraes. Tambm gostaria de agradecer ao Rahul Rao por me
ajudar a me familiarizar com os detalhes de funcionamento da cadeira de rodas quando cheguei
no GRASP. Ao Terry Kientz pela ajuda com a parte mecnica e baterias da cadeira. E claro,
no poderia me esquecer de agradecer ao amigo Luiz Chaimowicz pela ajuda com o software
ROCI e pela companhia agradvel principalmente durante as horas de almoo na UPenn.
Gostaria de agradecer aos amigos que conheci na Philadelphia por enriquecerem minha
estada nos EUA compartilhando de suas diferentes culturas, pases, pontos de vista, e alegria
contagiante! Muitos deles puderam at experimentar a cadeira de rodas usada neste trabalho.
Foi bem divertido! Tambm gostaria de agradecer aos amigos da IPI do Ipiranga em So Paulo.
Obrigado pela amizade, encorajamento, apoio, e conselho. Eles foram minha famlia estendida
em So Paulo. Com toda a certeza, o convvio com todas estas pessoas, tanto na Philadelphia
quanto em So Paulo, adicionou muito minha formao como pessoa.
Por fim, sou extremamente grato aos meus pais e irmos pelo amor e apoio. Sem eles,
de forma alguma teria chegado at aqui! Obrigado pela festa surpresa de retorno ao Brasil!
Tambm sou grato Deus, minha esperana, quem esteve sempre presente e que nos momentos
difceis alegrou meu corao me fazendo lembrar do Seu amor e cuidado por mim.

Would you tell me, please, which way I ought to go from here?
That depends a good deal on where you want to get to, said the Cat.
I dont much care where said Alice.
Then it doesnt matter which way you go, said the Cat.
so long as I get somewhere, Alice added as an explanation.
Oh, youre sure to do that, said the Cat, if you only walk long enough.
Lewis Carrol, Alice in Wonderland

Resumo
Existem aplicaes na rea da robtica mvel em que, alm da navegao autnoma do
rob, necessrio que um usurio humano interaja no controle de navegao do rob. Neste
caso, considerado como controle semi-autnomo, o usurio humano tm a possibilidade de alterar localmente a trajetria autnoma previamente planejada para o rob. Entretanto, o sistema
de controle inteligente do rob, por meio de um mdulo independente do usurio, continuamente evita colises, mesmo que para isso os comandos do usurio precisem ser modificados.
Esta abordagem cria um ambiente seguro para navegao que pode ser usado em cadeiras de
rodas robotizadas e veculos robticos tripulados onde a segurana do ser humano deve ser
garantida.
Um sistema de controle que possua estas caractersticas deve ser baseado numa arquitetura
para robs mveis adequada. Esta arquitetura deve integrar a entrada de comandos de um ser
humano com a camada de controle autnomo do sistema que evita colises com obstculos
estticos e dinmicos, e que conduz o rob em direo ao seu objetivo de navegao.
Neste trabalho proposta uma arquitetura de controle hbrida (deliberativa/reativa) para um
rob mvel com interao humana. Esta arquitetura, desenvolvida principalmente para tarefas
de navegao, permite que o rob seja operado em diferentes nveis de autonomia, possibilitando que um usurio humano compartilhe o controle do rob de forma segura enquanto o
sistema de controle evita colises.
Nesta arquitetura, o plano de movimento do rob representado por uma funo de navegao. proposto um mtodo para combinar um comportamento deliberativo que executa o
plano de movimento, com comportamentos reativos definidos no contexto de navegao, e com
entradas contnuas de controle provenientes do usurio.
O sistema de controle inteligente definido por meio da arquitetura foi implementado em
uma cadeira de rodas robotizada. So apresentados alguns dos resultados obtidos por meio
de experimentos realizados com o sistema de controle implementado operando em diferentes
modos de autonomia.

Abstract
There are some applications in mobile robotics that require human user interaction besides
the autonomous navigation control of the robot. For these applications, in a semi-autonomous
control mode, the human user can locally modify the autonomous pre-planned robot trajectory
by sending continuous commands to the robot. In this case, independently from the users
commands, the intelligent control system must continuously avoid collisions, modifying the
users commands if necessary. This approach creates a safety navigation system that can be used
in robotic wheelchairs and manned robotic vehicles where the human safety must be guaranteed.
A control system with those characteristics should be based on a suitable mobile robot
architecture. This architecture must integrate the human users commands with the autonomous
control layer of the system which is responsible for avoiding static and dynamic obstacles and
for driving the robot to its navigation goal.
In this work we propose a hybrid (deliberative/reactive) mobile robot architecture with human interaction. This architecture was developed mainly for navigation tasks and allows the
robot to be operated on different levels of autonomy. The user can share the robot control with
the system while the system ensures the user and robots safety.
In this architecture, a navigation function is used for representing the robots navigation
plan. We propose a method for combining the deliberative behavior responsible for executing
the navigation plan, with the reactive behaviors defined to be used while navigating, and with
the continuous human users inputs.
The intelligent control system defined by the proposed architecture was implemented in a
robotic wheelchair, and we present some experimental results of the chair operating on different
autonomy modes.

Lista de Figuras
1

Diagrama da arquitetura NHC. . . . . . . . . . . . . . . . . . . . . . . . . . .

25

Diagrama da hierarquia na arquitetura RCS. . . . . . . . . . . . . . . . . . . .

26

Arquitetura AuRA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

Arquitetura SFX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

Arquitetura DAMN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39

Arquitetura de Agente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

41

Arquitetura Atlantis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43

Arquitetura SSS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

45

Arquitetura Saphira. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

48

10

Arquitetura Planejador-Reator. . . . . . . . . . . . . . . . . . . . . . . . . . .

50

11

Espao de configuraes de um obstculo quadrado para um rob circular. . . .

62

12

Espao de configuraes de um obstculo quadrado para um rob retangular em


duas direes diferentes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

63

Espao de configuraes de um obstculo quadrado para um rob retangular em


funo da orientao do rob. . . . . . . . . . . . . . . . . . . . . . . . . . . .

63

14

Exemplo de um grafo de visibilidade. . . . . . . . . . . . . . . . . . . . . . .

65

15

Exemplo de um diagrama generalizado de Voronoi. . . . . . . . . . . . . . . .

65

16

Exemplo de decomposio do ambiente em clulas. . . . . . . . . . . . . . . .

66

17

Funo de navegao em um mundo de esferas. . . . . . . . . . . . . . . . . .

70

18

Seqenciamento de controladores. . . . . . . . . . . . . . . . . . . . . . . . .

71

19

Arquitetura desenvolvida para robs mveis . . . . . . . . . . . . . . . . . . .

79

20

Semi-espao U definido pelo plano de movimento. . . . . . . . . . . . . . . .

83

21

Comportamento deliberativo de navegao combinado com o comportamento


de desvio de obstculos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

84

22

Entrada do usurio combinada com o comportamento deliberativo de navegao

86

23

Entrada do usurio combinada com o desvio reativo de obstculo . . . . . . . .

87

24

Entrada do usurio combinada com o plano de movimento e com o desvio reativo de obstculo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

88

25

Situaes onde replanejamento necessrio. . . . . . . . . . . . . . . . . . . .

89

26

A S MART C HAIR do laboratrio GRASP . . . . . . . . . . . . . . . . . . . . .

94

27

Modelo do sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

96

28

Mapa do ambiente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

97

29

Funo de navegao para o objetivo especificado pelo usurio na Sala 2. . . .

98

30

Algoritmo usado para combinar o comportamento deliberativo de navegao,


comportamento reativo de desvio de obstculos, e entradas do operador humano. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

31

Exemplo de trajetria descrita pela cadeira de rodas na Sala 2 para o modo


autnomo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

32

Dez exemplos de trajetrias descritas pela cadeira de rodas durante o modo


autnomo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

33

Exemplo de trajetria descrita pelo usurio na Sala 1 utilizando o modo manual. 104

34

Exemplo de trajetria no modo semi-autnomo. . . . . . . . . . . . . . . . . . 105

Lista de Tabelas
1

Mecanismo de coordenao usado em algumas arquiteturas reativas . . . . . .

28

Caractersticas das arquiteturas deliberativas e reativas . . . . . . . . . . . . .

33

Principais caractersticas das arquiteturas hbridas . . . . . . . . . . . . . . . .

53

Lista de Smbolos
W

Ambiente de trabalho.

Rob no ambiente de trabalho.

Bi

Obstculos no ambiente de trabalho.

FR

Sistemas de coordenada fixo no rob.

FW

Sistemas de coordenada fixo no ambiente de trabalho.

Configurao do rob.

Nmero de graus de liberdade do rob, ou nmero de variveis de configurao.

Espao de configurao.

Cobs

Espao de configurao ocupado por obstculos.

Cf ree

Espao de configurao livre.

Coordenada do rob no ambiente de trabalho.

Coordenada do rob no ambiente de trabalho.

Direo do rob.

qinit

Configurao inicial do rob.

qgoal

Configurao final de destino.

Funo potencial de navegao.

att

Campo potencial de atrao.

rep

Campo potencial de repulso.

Funo que representa um circulo no ambiente.

Raio de um crculo no ambiente.

Parmetro da funo de navegao.

Custo para que o rob se mova de um elemento a outro na grade de ocupao

Entrada de controle proveniente do plano de movimento.

uh

Entrada de controle fornecida pelo usurio.

ug

Entrada de controle referente ao comportamento reativo.

um
t

Entrada de controle do modificada pelo algoritmo de coordenao.


Versor normal ao plano definido pelo gradiente da funo potencial.

tg

Versor normal ao plano definido por ug .

Semi-espao no espao de configurao cuja normal u .

Uh

Semi-espao no espao de configurao cuja normal uh .

Ug

Semi-espao no espao de configurao cuja normal ug .

Conjunto de solues de controle admissveis.

ngulo de uma caracterstica no ambiente em relao ao rob.

Distncia de uma caracterstica no ambiente em relao ao rob.

Velocidade linear do rob.

Velocidade angular do rob.

xc

Coordenada do ponto de controle no rob.

yc

Coordenada do ponto de controle no rob.

Matrix de transformao.

ngulo entre o vetor uh e o vetor u .

ngulo entre o vetor u e o vetor ug .

Sumrio

Introduo

15

2 Arquitetura para robs mveis


2.1

2.2

2.3

19

Arquiteturas deliberativas . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

2.1.1

Nested Hierarchical Controller (NHC) . . . . . . . . . . . . . . . . .

24

2.1.2

NIST Realtime Control System (RCS) . . . . . . . . . . . . . . . . . .

25

Arquiteturas reativas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

2.2.1

Arquitetura de subsuno . . . . . . . . . . . . . . . . . . . . . . . . .

28

2.2.2

Esquema motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

2.2.3

Arquitetura de circuito . . . . . . . . . . . . . . . . . . . . . . . . . .

30

2.2.4

Seleo de ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

2.2.5

Arquitetura de colnia . . . . . . . . . . . . . . . . . . . . . . . . . .

31

Discusso comparativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

3 Arquiteturas hbridas (deliberativa/reativa)

34

3.1

AuRA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

3.2

SFX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

3.3

DAMN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39

3.4

Arquitetura de agente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

41

3.5

Arquiteturas de trs camadas . . . . . . . . . . . . . . . . . . . . . . . . . . .

42

3.5.1

Atlantis e 3T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43

3.5.2

SSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

45

3.5.3

Arquitetura genrica do LAAS-CNRS . . . . . . . . . . . . . . . . . .

47

3.6

Saphira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

48

3.7

Planejador-Reator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

50

3.8

DD&P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

52

3.9

Discusso comparativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

3.10 Interao homem-rob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

56

4 Planejamento de movimento

59

4.1

Espao de configuraes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

60

4.2

Planejamento utilizando roadmaps . . . . . . . . . . . . . . . . . . . . . . . .

64

4.3

Decomposio em clulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

65

4.4

Campo potencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

67

4.4.1

Funo de navegao . . . . . . . . . . . . . . . . . . . . . . . . . . .

68

4.4.2

Seqncia de funes de navegao . . . . . . . . . . . . . . . . . . .

70

4.4.3

Funes potenciais numricas . . . . . . . . . . . . . . . . . . . . . .

72

4.5

Planejamento de movimento baseado em amostragem . . . . . . . . . . . . . .

73

4.6

Consideraes finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

74

5 Arquitetura para rob mvel desenvolvida

78

5.1

Percepo e atuao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

78

5.2

Mapeamento e localizao . . . . . . . . . . . . . . . . . . . . . . . . . . . .

79

5.3

Planejamento e comportamentos para navegao . . . . . . . . . . . . . . . . .

81

5.4

Coordenao de entradas de controle para navegao . . . . . . . . . . . . . .

82

5.5

Monitor de progresso e replanejamento . . . . . . . . . . . . . . . . . . . . .

89

5.6

Outros comportamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

90

5.7

Anlise comparativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

91

6 Implementao e resultados
6.1

6.2

6.3

93

A cadeira de rodas S MART C HAIR . . . . . . . . . . . . . . . . . . . . . . . .

94

6.1.1

Modelo do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . .

95

Aspectos de implementao da arquitetura . . . . . . . . . . . . . . . . . . . .

96

6.2.1

Mapeamento e localizao . . . . . . . . . . . . . . . . . . . . . . . .

97

6.2.2

Planejamento de movimento . . . . . . . . . . . . . . . . . . . . . . .

98

6.2.3

Coordenao de comportamentos e entrada do usurio . . . . . . . . .

99

6.2.4

Plataforma de software utilizada na implementao . . . . . . . . . . . 100

Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.3.1

Modo de operao autnoma . . . . . . . . . . . . . . . . . . . . . . . 102

6.3.2

Modo de operao manual . . . . . . . . . . . . . . . . . . . . . . . . 104

6.3.3

Modo de operao semi-autnoma . . . . . . . . . . . . . . . . . . . . 105

6.3.4

Desempenho do sistema . . . . . . . . . . . . . . . . . . . . . . . . . 106

7 Concluso

108

Referncias

110

15

Introduo

Existem aplicaes na rea da robtica mvel onde, alm da navegao autnoma do rob,
necessria a interao de um usurio humano no controle de navegao do rob. Este o caso
de aplicaes como, por exemplo, veculos robticos tripulados, cadeira de rodas robticas, explorao espacial, monitoramento de ambientes, dentre outros. No contexto destas aplicaes,
para tarefas de navegao, o usurio humano deve ter a possibilidade de alterar localmente a
trajetria autnoma previamente planejada para o rob. Isto deve ser feito sem que o sistema
de controle autnomo seja desabilitado. Assim, este sistema, independente do usurio, deve
lidar com situaes imprevistas e dinmicas no ambiente, evitando colises com obstculos,
por exemplo. Neste caso, os comandos enviados pelo usurio devem ser modificados quando
comprometem a sua prpria segurana e a do rob. Da mesma forma, em determinadas condies, o sistema de controle tambm pode modificar os comandos do usurio para que o rob
no se desvie demais de um objetivo de navegao pr-estabelecido. Esta abordagem cria um
ambiente seguro para navegao em que o homem efetivamente compartilha o controle do rob
com o sistema.
Este trabalho procura tratar do desenvolvimento de um sistema de controle inteligente que
possua as caractersticas apresentadas. Para isso importante a definio de uma arquitetura
de controle para robs mveis adequada que possibilite que o ser humano interaja com o rob
compartilhando o controle do rob com o sistema autnomo.
Um exemplo de aplicao deste sistema seria em cadeiras de rodas robticas. Estando em
um edifcio inteligente, capaz de fornecer cadeira de rodas robtica um mapa com as vias
e salas acessveis, o usurio da cadeira pode querer que ela o leve de forma completamente
autnoma de um lugar a outro dentro deste edifcio. Para isso, o usurio interage com o sistema
da cadeira fornecendo a posio de destino desejada. Ento o sistema de controle da cadeira,
utilizando o mapa fornecido, decide de forma autnoma qual o melhor caminho at o destino, e
conduz a cadeira ao longo deste caminho de forma segura, evitando obstculos com auxlio dos
sensores da cadeira. Nesta situao, o usurio pode chegar at seu destino sem a necessidade
de interagir novamente com o sistema. Entretanto, ao longo do caminho, sem a inteno de

16

abandonar o seu destino final, o usurio pode querer modificar localmente a trajetria autnoma
da cadeira. Isso acontece, por exemplo, quando o usurio quiser se aproximar de algo que
chame sua ateno ao longo do caminho. Em situaes como esta, o usurio pode assumir
o controle da cadeira para mudar localmente sua trajetria e ento, quando satisfeito, devolve
o controle ao sistema de navegao. Neste caso, o sistema opera de forma semi-autnoma. O
usurio compartilha o controle da cadeira com o sistema, que permanece ativo evitando colises
e conciliando, a medida do possvel, a inteno local do usurio com seu desejo de chegar ao
seu destino final. Em uma outra situao, quando a cadeira est fora de um destes edifcios
inteligentes e no h um mapa por meio do qual o usurio possa especificar uma posio de
destino para movimento autnomo, o usurio pode controlar a cadeira manualmente utilizando
um joystick, ou por meio de qualquer outra interface que permita o envio de comandos de
direo e velocidade cadeira. At mesmo em situaes como esta, se for da vontade do
usurio, o sistema ainda permanece ativo para garantir a sua segurana evitando colises.
Neste tipo de aplicao, o sistema de controle inteligente da cadeira, ou seja, do rob mvel,
deve permitir a operao em diferentes nveis de autonomia e possibilitar que o usurio interaja
com o sistema de diferentes formas: o usurio pode especificar um objetivo desejado para
navegao autnoma; o usurio acompanha a trajetria que o rob est percorrendo; e o usurio
pode compartilhar o controle de movimento autnomo do rob com o sistema.
De forma geral, dependendo do tipo de aplicao e do nvel de autonomia do rob, existe
uma necessidade diferente de interveno do homem nas atividades ou controle do rob, definindo a forma como a interao entre homem e rob acontece. Um dos critrios usados para
classificar os sistemas de controle onde existe interao entre homem e rob o nvel de autonomia ou de interveno humana no controle (LUMIA; ALBUS, 1988; YANCO; DURRY, 2002, 2004).
De acordo com este critrio pode-se dizer que um sistema tele-operado quando o rob est
100% do tempo sendo controlado por um usurio humano. Por outro lado, um sistema completamente autnomo quando o operador humano no intervm no controle do rob. J as
situaes intermedirias, quando o rob capaz de fazer parte da tarefa e o operador humano
intervm para realizar uma outra parte, podem ser chamadas de controle semi-autnomo.
Uma outra forma de classificar a interao entre homem e rob observando o papel que o
homem exerce ao interagir com o rob (YANCO; DURRY, 2002, 2004). Este papel pode ser o de
supervisor, operador, parceiro de tarefa, mecnico ou programador, e, por fim, o de espectador.
O homem age como supervisor quando especifica um objetivo para que o rob alcance de
forma autnoma, e monitora as aes do rob sem a necessidade de control-lo diretamente.
O homem age como operador quando precisa interagir de forma mais intensa com o rob,

17

partindo em direo tele-operao. Como parceiro de tarefa, o homem age complementando


ou cooperando com o rob como colega para realizar uma tarefa. No papel de mecnico ou
programador, o homem altera o software ou hardware do rob. E finalmente, no papel de
espectador, o homem no controla o rob mas precisa ter certo entendimento das atividades do
rob para que possa compartilhar o ambiente com ele. Um exemplo deste ltimo seria uma
pessoa que anda por uma sala onde um rob aspirador de p est ativo. Algumas vezes a pessoa
pode querer se desviar do rob quando este parece no perceber a presena dessa pessoa.
A interao entre homem e rob tambm pode ser classificada do ponto de vista de tempo
e espao (YANCO; DURRY, 2002, 2004). Neste caso, homem e rob podem estar no mesmo lugar, caracterizando uma interao direta, ou em lugares distintos, caracterizando uma interao
remota. Alm disso, a interao pode ocorrer no mesmo tempo, caracterizando uma interao sncrona, ou em perodos de tempo distintos, caracterizando uma interao assncrona. Por
exemplo, a interao do homem com robs mveis enviados a Marte pode ser classificada como
assncrona, devido ao tempo que se leva entre o envio e o recebimento de comandos, e remota,
pois homem e rob no compartilham o mesmo ambiente. J a interao de uma pessoa sentada
em uma cadeira de rodas robtica pode ser considerada sncrona e direta, pois homem e rob
compartilham o mesmo espao de trabalho e interagem sem considerveis atrasos de tempo.
Tendo como motivao as caractersticas da cadeira de rodas mencionada no exemplo dado
anteriormente, neste trabalho proposta uma arquitetura para robs mveis que permite a implementao de um sistema inteligente de controle voltado para tarefas de navegao, capaz
de operar em diferentes nveis de autonomia, possibilitando a interao do usurio de forma
direta, sncrona, no papel de supervisor e operador. Um mecanismo proposto dentro desta
arquitetura que possibilita que o usurio, no papel de operador, compartilhe o controle do rob
com o sistema inteligente. Este mecanismo juntamente com a definio da arquitetura so as
contribuies principais deste trabalho. A arquitetura proposta geral suficiente para ser implementada em diferentes aplicaes de robs mveis em que o operador precisa compartilhar
o controle do rob com o sistema durante a navegao. Neste trabalho, a plataforma utilizada
para implementao da arquitetura proposta e obteno de resultados uma cadeira de rodas robtica chamada S MART C HAIR que foi desenvolvida no laboratrio GRASP (General Robotics,
Automation, Sensing and Perception) da Universidade da Pensilvnia. Para este tipo de aplicao em especfico, tolerncia a falhas e confiabilidade do sistema so questes importantes
que se destacam ainda mais do que em outras aplicaes robticas. Afinal um ser humano est
sendo conduzido pelo rob, ou seja, pela cadeira de rodas robtica e, alm disso, esta cadeira
de rodas se move em um ambiente por onde outras pessoas transitam livremente. Entretanto, o
enfoque principal deste trabalho se manteve em definir uma arquitetura que resolva o problema

18

de navegao permitindo que o operador compartilhe o controle do rob com o sistema autnomo. Questes relacionadas a tolerncia a falhas e confiabilidade do sistema foram deixadas
para estudos e trabalhos futuros.
Esta tese est organizada da seguinte forma. Neste captulo foi introduzido o contexto na
qual esta pesquisa est inserida e foi apresentada a motivao e objetivos deste trabalho. No
captulo 2 so apresentados alguns conceitos relacionados s arquiteturas para robs, em particular discute-se arquiteturas deliberativas e reativas. No captulo 3 so apresentadas algumas
arquiteturas hbridas e alguns trabalhos que abordam a questo de interao entre homem e
rob. No captulo 4 so apresentados alguns mtodos de planejamento de movimento para
tarefas de navegao, em particular ser apresentado o mtodo e as ferramentas utilizadas na
arquitetura que est sendo proposta. No captulo 5 apresenta-se a arquitetura e o mtodo desenvolvido para permitir que o homem compartilhe o controle do rob com o sistema inteligente
em uma tarefa de navegao. No captulo 6 so apresentados alguns resultados obtidos a partir
da implementao da arquitetura em uma cadeira de rodas robtica. Finalmente, no captulo 7
apresentada uma breve concluso das atividades realizadas.

19

Arquitetura para robs mveis

Existem vrias formas de se definir e entender uma arquitetura para robs (ARKIN, 1998).
Segundo James Albus, arquitetura a descrio de como um sistema construdo a partir de
componentes bsicos e como estes componentes se encaixam formando o todo (KORTENKAMP;
BONASSO; MURPHY, 1998). J Dowling (1996) se refere a uma arquitetura para robs como

sendo solues de software e hardware usadas para desenvolver o sistema de controle do rob,
incluindo a forma como os componentes da arquitetura se comunicam entre si. Por outro lado,
para Arkin (1998) uma arquitetura para robs est mais relacionada a uma arquitetura de software, e no tanto parte de hardware do sistema de controle. A partir da definio de arquitetura
de computadores, ele define arquitetura para robs como sendo a disciplina dedicada a desenvolver robs altamente especficos e individuais a partir de uma coleo de blocos comuns de
software. Em adio a estas idias, para Mataric (1992), uma arquitetura fornece uma maneira
principal de organizar um sistema de controle. Sendo que alm de fornecer uma estrutura, a
arquitetura tambm impe restries na forma como o problema de controle pode ser resolvido.
Por fim, Hayes-Roth (1995) se refere a uma arquitetura como sendo os componentes estruturais
em que percepo, raciocnio e ao ocorrem. A arquitetura tambm define a funcionalidade e
interface especfica de cada um destes componentes, e a intercomunicao entre estes componentes.
As definies apresentadas, embora sejam diferentes e discordem em alguns aspectos, auxiliam na compreenso geral do que uma arquitetura para robs. Dessa forma, para os propsitos deste trabalho, entende-se que uma arquitetura para rob mvel descreve uma maneira
de se construir o software de controle inteligente do rob, apresentando quais os mdulos que
devem estar presentes no sistema, e como estes mdulos interagem entre si. A descrio de
uma arquitetura pode ter um nvel razovel de abstrao permitindo vrias implementaes diferentes, ou instncias, de uma mesma arquitetura. Mas mesmo assim, a arquitetura no deve
perder seu papel de guia na implementao do sistema de controle. Algumas restries podem
ser impostas na escolha de algoritmos e mtodos que podem ser utilizados na implementao
dos mdulos do sistema.

20

De forma geral, os mdulos ou componentes bsicos encontrados em um sistema de controle e que podem ser utilizados para definir uma arquitetura para robs podem ser classificados
em trs grupos principais (IYENGAR; ELFES, 1991): (1) Percepo, que envolve as atividades
de interpretao dos sensores, integrao dos sensores, modelagem do mundo real, e reconhecimento; (2) Planejamento, que envolve o planejamento de tarefas, a sincronizao, e o monitoramento da execuo de toda a atividade do rob; e (3) Atuao, que envolve as atividades de
execuo dos movimentos e aes do rob, e controle dos atuadores.
Quanto a classificao de uma arquitetura para robs, uma das formas de se classificar est
relacionada ao uso de deliberao e reatividade dentro do sistema de controle. Segundo este
critrio, as arquiteturas podem ser divididas em: deliberativas, reativas, e hbridas (deliberativas/reativas) (ARKIN; BALCH, 1997; ARKIN, 1998; MURPHY, 2000; RIBEIRO; COSTA; ROMERO,
2001).
No contexto deste trabalho, deliberao est associada ao processo de tomada de deciso
ou planejamento das aes e movimentos do rob utilizando um modelo interno do mundo para
que se possa alcanar um determinado objetivo. Em outras palavras, a deliberao envolve uma
anlise abrangente do modelo interno do mundo para determinar as aes do rob de forma que
este alcance seus objetivos. J a reatividade est associada a execuo de aes pr-definidas em
resposta a uma informao sensorial obtida localmente. Um exemplo de reatividade quando
o rob programado para se afastar de um obstculo assim que este obstculo detectado por
um dos sensores do rob a uma distncia muito prxima.
Este critrio de classificao, baseado em deliberao e reatividade, utilizado neste trabalho como forma principal de organizar a apresentao de exemplos de arquiteturas para robs.
O grau de deliberao e reao encontrado nas arquiteturas pode variar continuamente. Assim,
pode se pensar em uma escala que vai desde arquiteturas puramente deliberativas at arquiteturas puramente reativas. Entre estes dois extremos podem existir arquiteturas com diferentes
graus de hibridizao. A classificao de uma arquitetura em uma das trs categorias (deliberativa, reativa ou hbrida) depende muito de onde as fronteira que dividem cada um dos tipos de
arquitetura so colocadas na escala que vai de deliberao at reatividade. Como estas fronteiras
so muito subjetivas, algumas vezes fica difcil classificar uma arquitetura.
Outros critrios, alm do utilizado neste trabalho, podem ser usados para classificar uma
arquitetura para robs. Um exemplo de critrio que pode ser usado a forma como o controle
est organizado dentro da arquitetura. Segundo este critrio, alguns autores classificam as arquiteturas em hierrquicas, heterrquicas, de camadas (ou subsuno), e mistas (VALAVANIS et
al., 1997; FERREIRA, 2003).

21

Um outro critrio que tambm pode ser usado para classificar arquiteturas est relacionado
abordagem utilizada no desenvolvimento da arquitetura, que pode ser funcional, comportamental, ou uma abordagem mista. Nas arquiteturas que tm seu desenvolvimento orientado a
funes, pode-se identificar mdulos ou componentes que possuem funes definidas dentro
da arquitetura, tais como mapeamento, localizao, planejamento, etc. Nas arquiteturas que
utilizam uma abordagem comportamental, a arquitetura formada principalmente por componentes chamados comportamentos. Cada um destes componentes responsvel por uma ao
do rob, ou mesmo, responsvel pela realizao de uma dada tarefa pelo rob. Assim, no desenvolvimento de uma arquitetura funcional o projetista est preocupado em identificar as funes
internas da arquitetura e dividi-las em mdulos. No desenvolvimento de uma arquitetura comportamental, o projetista est interessado em identificar aes e tarefas que o rob deve realizar,
e separar estas aes e tarefas em mdulos. Uma arquitetura pode ainda ser desenvolvida procurando mesclar as duas abordagens.
Em robtica, o termo comportamento pode ter diferentes conotaes dependendo do contexto em que utilizado. Na maioria das vezes, um comportamento se refere a um componente
especfico, definido dentro da arquitetura. Neste sentido, no contexto de arquiteturas reativas,
um comportamento pode ser definido como sendo uma funo ou procedimento que mapeia
entradas sensoriais diretamente a padres de aes motoras usados para cumprir uma tarefa
(MURPHY, 2000). Este tipo de comportamento pode tambm ser chamado de comportamento
reativo.
Ainda considerando comportamento como sendo um componente da arquitetura, pode-se
defini-lo de forma mais ampla que a usada em arquiteturas reativas. Mataric (1992), por exemplo, define comportamento como sendo uma lei de controle que satisfaz um conjunto de restries para alcanar e/ou manter um objetivo em particular. Por exemplo, o comportamento de
desvio de obstculos mantm o objetivo de prevenir colises do rob com objetos no ambiente,
o comportamento de ir para casa atinge o objetivo de chegar em uma regio considerada como
casa. Cada comportamento pode ter como entrada as informaes sensoriais do rob e/ou as
informaes enviadas por outros comportamentos. J a sada de um comportamento enviada
para os atuadores do rob e/ou para outros comportamentos do sistema. Dessa forma, o sistema
de controle pode ser formado por uma rede de comportamentos que interagem entre si. De
acordo com Mataric (1992), comportamentos tambm podem armazenar informaes sobre o
ambiente. Assim, estes comportamentos se diferenciam de comportamentos puramente reativos
que utilizam apenas informaes sensoriais locais para produzir a ao. Uma outra definio
que pode ser entendida como complementar a esta dada por Ribeiro, Costa e Romero (2001)
que definem comportamento como uma funo que relaciona estmulos sensoriais a aes pro-

22

duzidas sobre os atuadores do rob, de acordo com um plano realizado a partir de um modelo
interno do ambiente. De acordo com esta compreenso, dependendo da complexidade do plano
e modelo interno utilizado, os comportamentos podem ser classificados em uma escala gradual
que vai de comportamentos puramente reativos, que no utilizam um plano e modelo interno
do mundo, at comportamentos deliberativos complexos. Esta compreenso de comportamento
geralmente utilizada no contexto de arquiteturas hbridas. s vezes, neste contexto, comportamentos podem tambm ser chamados de controladores ou habilidades.
Alm de se referir a um componente da arquitetura, o termo comportamento tambm pode
ser usado em robtica para se referir ao comportamento emergente do rob (ARKIN, 1998).
O comportamento emergente no definido de forma explcita na arquitetura, mas surge da
interao dos diversos comportamentos (componentes) da arquitetura entre si e com o ambiente
quando o sistema de controle executado. Neste caso, comportamento se refere ao resultado
que pode ser observado quando o sistema de controle est em operao, ou seja, as aes que o
rob realiza vistas a partir de um observador externo.
De forma bastante geral, uma arquitetura de comportamentos uma arquitetura em que os
componentes bsicos so comportamentos, e estes interagem entre si e so coordenados por
um mecanismo definido pela arquitetura. Uma discusso mais detalhada, com definies mais
especficas a respeito de comportamentos e arquiteturas de comportamentos, feita por Arkin
(1998), Mataric (1992), Ribeiro, Costa e Romero (2001), dentre outros.
Neste trabalho, as arquiteturas de comportamento so classificadas com base no uso de deliberao e reatividade dentro da arquitetura. Dificilmente arquiteturas de comportamento so
consideradas puramente deliberativas. Em geral elas so classificadas como reativas ou hbridas dependendo do tipo de comportamento utilizado na arquitetura. Arquiteturas reativas de
comportamento, utilizam apenas comportamentos reativos que, por sua vez, fazem uso apenas
de informaes locais do ambiente percebidas por meio dos sensores do rob. As arquiteturas
hbridas de comportamentos utilizam comportamentos reativos e deliberativos. Os comportamentos deliberativos utilizam uma representao global do ambiente e/ou dependem de um
plano de movimento gerado a partir desta representao.
No restante deste capitulo, nas sees 2.1 e 2.2, sero apresentados exemplos de arquiteturas deliberativas e de arquiteturas reativas respectivamente. Ento, na seo 2.3, apresenta-se
algumas concluses a respeito destas arquiteturas. As arquiteturas hbridas, principal foco deste
trabalho, sero apresentadas no captulo 3.

23

2.1

Arquiteturas deliberativas

Os primeiros trabalhos em robtica mvel utilizavam uma abordagem puramente deliberativa no sistema de controle inteligente do rob. Esta abordagem deliberativa procura, de certa
forma, imitar o processo de planejamento e tomada de deciso do homem para que o rob realize uma tarefa. Para tornar isso possvel, na abordagem deliberativa se utiliza o conhecimento
que o rob possui sobre o mundo no qual ele est inserido. No sistema de controle do rob, este
conhecimento armazenado em um modelo interno do mundo que pode ser construdo a partir
do conhecimento a priori sobre o ambiente e de informaes adquiridas pelos sensores do rob.
O modelo que o rob possui do mundo pode ser representado de formas diferentes. Este
modelo pode, por exemplo, ser do tipo simblico baseado em lgica, tradicionalmente utilizado em inteligncia artificial (FIKES; NILSSON, 1971; RUSSELL; NORVIG, 1995). O modelo
do mundo pode tambm ser do tipo geomtrico, no qual o ambiente representado de forma
espacial indicando regies livres e regies ocupadas por obstculos. Este tipo de representao utilizada principalmente quando a tarefa do rob se mover de uma posio a outra de
forma autnoma pelo espao livre no ambiente e desviar dos obstculos conhecidos e que foram representados pelas regies ocupadas no modelo. Alm das duas formas de representao
mencionadas, existem outras formas de descrever o mundo no qual o rob est inserido. Entretanto, independente de como o modelo do mundo representado, o objetivo da tarefa a ser
realizada pelo rob definido utilizando este modelo. Por exemplo, no caso do modelo mtrico,
o objetivo representado por uma posio ou configurao que o rob deve assumir em uma
tarefa de navegao. De forma semelhante, no caso de modelos simblicos, o objetivo tambm
pode ser expresso por um estado ou configurao que o mundo, incluindo o rob, deve assumir.
Entretanto, modelos simblicos permitem uma descrio mais elaborada do objetivo, e tarefas
mais complexas e abrangentes que navegao podem ser realizadas. Esta capacidade de definir
e alterar os objetivos e tarefas em relao ao modelo interno confere ao sistema de controle uma
certa generalidade e flexibilidade em relao s intenes e desejos do usurio do rob (ARKIN,
1989b; MATARIC, 1992).
Uma vez que o objetivo definido, o rob deve planejar suas aes. Nesta etapa de planejamento, o modelo interno amplamente analisado em busca de aes que permitam ao rob
atingir o objetivo. Como o rob possui um conhecimento global do mundo ou ambiente, representado no modelo, por meio desta busca pode-se obter um conjunto de aes que possibilite
ao rob realizar sua tarefa e atingir seus objetivos de forma eficiente ou tima. Entretanto,
como estas aes dependem do modelo do mundo, este deve ser o mais consistente, confivel,
preciso e completo possvel dentro do escopo da tarefa do rob. Se a informao contida no

24

modelo deixar de refletir a realidade do mundo, as aes determinadas pelo planejador podem
no conseguir executar a tarefa com sucesso. Em arquiteturas deliberativas, estas mudanas
que impedem a realizao da tarefa devem ser detectadas pelo rob durante a execuo das
suas aes, o modelo interno do rob deve ser atualizado, e ento, um novo planejamento
feito. Este ciclo, que envolve percepo, atualizao do modelo interno, planejamento, e ao,
repetido sempre que necessrio.
Devido a sua forte dependncia de um modelo interno do mundo para gerar as aes do
rob, as arquiteturas deliberativas so mais adequadas para ambientes praticamente estticos e
muito bem controlados. Em ambientes dinmicos, onde mudanas podem ocorrer a qualquer
momento, as informaes sobre o ambiente adquiridas no passado, e representadas no modelo
interno, podem deixar de ser vlidas rapidamente. O uso de arquiteturas deliberativas nestas
situaes pode se tornar proibitivo quando existe a necessidade de se fazer replanejamentos
freqentes.
Um exemplo de rob mvel cujo sistema de controle foi implementado utilizando uma
arquitetura deliberativa o rob Shakey, um dos primeiros robs mveis, construdo no Stanford
Research Institute (NILSSON, 1969, 1984). Este rob utilizava um modelo interno simblico do
mundo e um planejador chamado STRIPS (STanford Research Institute Problem Solver) (FIKES;
NILSSON, 1971). Os robs HILARE (GIRALT; CHATILA; VAISSET, 1984), o Stanford Cart e o

CMU Rover (MORAVEC, 1977, 1983), citados dentre os trabalhos pioneiros em robtica mvel,
tambm possuam sistemas de controle deliberativos, mas que se baseavam em modelos internos
geomtricos do ambiente. Dentre outros exemplos, tambm pode-se mencionar a arquitetura
Nested Hierarchical Controller (NHC) desenvolvida por Meystel (1990) e a arquitetura NIST
Realtime Control System (RCS) desenvolvida por Albus e Proctor (1996) seguindo as mesmas
idias da arquitetura NASREM (ALBUS; MCCAIN; LUMIA, 1989).

2.1.1 Nested Hierarchical Controller (NHC)


Na arquitetura NHC (MEYSTEL, 1990), representada na Figura 1, o rob coleta informaes
sensoriais e combina estas informaes em uma estrutura de dados que representa o modelo do
mundo. As informaes adquiridas podem ser combinadas no modelo do mundo juntamente
com conhecimentos fornecidos a priori. O modelo do mundo pode conter, por exemplo, mapas
de um prdio, regras que dizem para o rob ficar longe de corredores durante o horrio de maior
movimento de pessoas, etc. Esta atividade de construo e atualizao deste modelo faz parte
da atividade de sensoriamento, ou percepo, dentro da arquitetura.
Uma vez que o rob possui um modelo do mundo, o planejamento das suas aes pode

25
Planejamento

Sensoriamento

Modelo do
Mundo / Base de
Conhecimento

Planejador da
Misso

Navegador

Piloto
Atuao
Controle de
Baixo Nvel

Atuadores
Sensores

Sensores

Atuadores

Figura 1: Diagrama da arquitetura NHC.


ser feito com base neste modelo. Na arquitetura NHC o planejamento decomposto em trs
nveis hierrquicos ou nveis de abstrao: Planejador da misso, Navegador, e Piloto. Estes
trs mdulos de planejamento so executados seqencialmente, do nvel de abstrao mais alto,
Planejador da misso, at o nvel de abstrao mais baixo, Piloto. De um nvel para outro,
o planejamento vai se tornando mais especfico, local, e detalhado. Assim, o Planejador da
misso envia trechos da misso para o Navegador, que por sua vez, envia trechos de uma trajetria de navegao para o Piloto, que finalmente, determina aes que devem ser enviadas ao
controlador de baixo nvel para que o rob percorra o trecho da trajetria. Isso reflete no tipo
de informao do modelo do mundo utilizada por cada um dos mdulos. O Piloto est mais
preocupado com as imediaes do rob, enquanto o Planejador da Misso observa o mapa
de forma mais global. Conforme o rob se move, novas informaes so adquiridas por meio
dos sensores do rob para atualizao do modelo do mundo. Entretanto, quando o modelo do
mundo atualizado, o ciclo completo de planejamento no se repete. Quando necessrio, o
Piloto corrige o movimento local do rob para lidar com eventuais divergncias percebidas. Se
no for suficiente, ento o Navegador gera uma outra trajetria, e somente em ltimo caso, o
Planejador da misso refaz o planejamento da misso.

2.1.2 NIST Realtime Control System (RCS)


A arquitetura RCS (ALBUS; PROCTOR, 1996) foi criada para servir como um guia para fabricantes que queiram adicionar mais inteligncia a seus robs. Ela foi baseada na arquitetura
NHC e possui a mesma hierarquia no planejamento (Figura 2). No entanto foram introduzidos
muitos detalhes e modificaes, como, por exemplo, na parte de percepo.

26
Sensoriamento

Planejamento

Atuao

Planejador da
Misso

Navegador

Piloto

Sensoriamento

Modelo

Aes

Figura 2: Diagrama da hierarquia na arquitetura RCS.


Na RCS o modelo do mundo tambm est organizada de forma hierrquica em vrios nveis de abstrao, acompanhando a hierarquia de planejamento. Mdulos de percepo sensorial so responsveis pela atualizao do modelo do mundo, e tambm acompanham a diviso
hierrquica da arquitetura. Estes mdulos fazem um pr-processamento dos dados sensoriais
extraindo informaes em diferentes nveis de abstrao para serem integradas no modelo do
mundo. Outro diferencial da RCS est na simulao dos planos de ao para verificar se estes
satisfazem os requisitos da tarefa. Alm disso, tambm existem mdulos que atribuem um valor
s informaes no modelo do mundo e aos planos de ao gerados, determinando quais informaes so mais confiveis e o que tem maior prioridade (ALBUS, 1990). A RCS e NASREM,
que uma verso da RCS desenvolvida para o JPL (Jet Propulsion Lab) (ALBUS; MCCAIN; LUMIA, 1989), permitem a interao de um operador humano nas diversas atividades organizadas

nos vrios nveis hierrquicos da arquitetura. Em qualquer nvel de hierraquia, o homem pode
substituir completamente as atividades do sistema com sua capacidade de percepo, tomada
de decises, e controle na execuo de tarefas. Isso permite que a autonomia no sistema possa
ser desenvolvida de forma incremental, enquanto as atividades dos nveis superiores da arquitetura so realizadas pelo homem. Conforme a disponibilidade de tecnologia em robtica, o rob
poderia executar tarefas de maior responsabilidade e de nveis hierrquicos maiores at atingir
um grau completo de autonomia. Alm do homem substituir a atividade, a arquitetura tambm
prev a possibilidade do homem compartilhar o controle com o sistema.

2.2

Arquiteturas reativas

As arquiteturas reativas surgiram aps as arquiteturas deliberativas, sendo que uma das
primeiras arquiteturas reativas foi introduzida por Brooks (1986). A principal motivao das

27

arquiteturas reativas permitir a implementao de sistemas de controle que possam responder


de forma rpida a uma variedade de eventos ou situaes no ambiente, fazendo com que robs
possam operar em ambientes extremamente dinmicos.
As arquiteturas reativas evitam o uso de um modelo interno do mundo. Um dos lemas
da abordagem puramente reativa o de que o mundo a melhor representao dele mesmo
(BROOKS, 1991). Dessa forma, o sistema de controle depende fortemente das informaes locais
obtidas por meio dos sensores do rob, ou seja, de como o rob v o mundo ao seu redor em
um determinado momento. Esta abordagem, por no utilizar um modelo interno do ambiente,
geralmente assume que as caractersticas do ambiente que possam ser do interesse do rob
para realizao da tarefa estejam sempre visveis (ROSENBLATT, 1997a). Como isso pode ser
muito restritivo dependendo da aplicao e tarefa, s vezes se faz necessrio o armazenamento
temporrio de informaes sobre o ambiente. At mesmo porque os sensores e os algoritmos
que processam os dados sensoriais no esto livres de falhas e de rudos. Assim, o sistema pode
se beneficiar de filtros que utilizam a combinao de informaes obtidas a partir de leituras
consecutivas dos sensores dentro de um intervalo limitado de tempo.
As aes do rob surgem de respostas pr-definidas a determinadas informaes sensoriais.
Em geral, a velocidade de processamento e resposta dos sistemas de controle reativos alta
devido a simplicidade no tratamento das informaes sensoriais e devido a maneira direta pela
qual a percepo, ou estmulo, est associada com uma ao, ou resposta.
Uma arquitetura reativa define a maneira como a informao sensorial mapeada em uma
ao ou resposta, e tambm define como feita a coordenao dos diversos pares percepoao, ou estmulo-resposta. Estes pares geralmente so chamados de comportamentos reativos.
Ao implementar um sistema de controle baseado em uma arquitetura reativa, de responsabilidade do desenvolvedor determinar quais comportamentos so relevantes para a tarefa a ser
realizada pelo rob, e determinar a maneira como eles devem ser integrados utilizando o mecanismo de coordenao definido pela arquitetura. Em geral, quanto mais complexa e elaborada
a tarefa do rob, mais complexo o sistema de controle e, conseqentemente, mais desafiador
de ser projetado.
A coordenao de comportamentos em uma arquitetura reativa pode ser feita de forma
competitiva ou cooperativa. Na coordenao competitiva, dos comportamentos ativos em um
dado momento, apenas um deles prevalece determinando a ao que o rob deve realizar. Uma
forma de estabelecer qual dos comportamentos possui prioridade sobre os demais definindo
explicitamente uma hierarquia entre os comportamentos, ou uma regra de arbitragem. Um
exemplo o sistema de supresso e inibio na arquitetura de subsuno (BROOKS, 1986). J na

28

coordenao cooperativa, todos os comportamentos ativos contribuem para determinar a ao


do rob. Um exemplo bem claro o mtodo utilizado nos esquemas motores (ARKIN, 1998)
em que cada comportamento influencia o movimento do rob por meio de um vetor de fora
artificial. A ao resultante determinada pela soma vetorial de todos os vetores de fora
artificiais que agem no rob em um dado momento.
Tabela 1: Mecanismo de coordenao usado em algumas arquiteturas reativas
Arquitetura Reativa
Subsuno
Esquema Motor
Circuito

Mtodo de coordenao
competitivo, supresso e inibio
cooperativo, soma vetorial
competitivo, arbitrao com abstrao

Seleo e Ao
Colnia

competitiva, nvel de ativao


competitiva, supresso

Referncias
(BROOKS, 1986)
(ARKIN, 1998)
(ROSENSCHEIN;
KAELBLING, 1986)
(MAES, 1989)
(CONNELL, 1989)

Alm da arquitetura de subsuno, e dos esquemas motores, dentre muitos outros exemplos de arquiteturas reativas, pode-se mencionar a arquitetura de circuito (ROSENSCHEIN; KAELBLING, 1986), a de seleo-ao (MAES, 1989), a arquitetura de colnia (CONNELL, 1989). A

Tabela 1 mostra os mecanismos de coordenao usado em cada uma destas arquiteturas.

2.2.1 Arquitetura de subsuno


A arquitetura de subsuno (subsumption architecture) que foi proposta por Brooks (1986)
uma das arquiteturas mais representativas dentro do paradigma puramente reativo. Nesta
arquitetura, os comportamentos so mdulos que mapeiam um estimulo ou uma informao
sensorial em um sinal ou uma ao motora. Os comportamentos so conectados uns aos outros
formando uma rede organizada em camadas de competncia. Cada camada responsvel por
uma atividade do rob. Nas camadas mais altas esto os comportamentos responsveis pelo
cumprimento de uma tarefa especifica que leva o rob a atingir um determinado objetivo. Nas
camadas mais baixas ficam os comportamentos responsveis por aes bsicas do rob, como,
por exemplo, desvio de obstculos.
Os comportamentos em cada uma das camadas funcionam de forma concorrente e independente. Estes comportamentos so coordenados de forma competitiva, sendo que os comportamentos em camadas mais altas tm prioridade em relao aos comportamentos em camadas
inferiores. A coordenao feita por meio de dois mecanismos principais: inibio e supresso. Na supresso de um comportamento por outro, a sada produzida pelo comportamento de

29

prioridade mais baixa (comportamento suprimido) substituda pela sada produzida pelo comportamento de prioridade mais alta, entretanto, ambos os comportamento permanecem ativos.
Na inibio de um comportamento pelo outro, o comportamento de prioridade mais baixa desativado pelo comportamento de prioridade superior. Na arquitetura de subsuno a hierarquia
entre os comportamentos definida de forma bastante especfica. Um comportamento em uma
camada superior s age inibindo ou suprimindo um determinado conjunto pr-definido de comportamentos em camadas inferiores, e no todos eles. Assim, comportamentos que preservam a
integridade fsica do rob e que se encontram nas camadas inferiores no so necessariamente
suprimidos ou inibidos por comportamentos em camadas superiores.

2.2.2 Esquema motor


Logo aps o surgimento da arquitetura de subsuno, Arkin (1998) props um mtodo para
implementar comportamentos para robs mveis baseado na teoria de esquemas proposta por
(ARBIB, 1992).
Neste mtodo chamado de Esquema Motor (Motor Schema), comportamentos so mdulos
que expressam a relao entre controle motor e percepo agindo de forma paralela e concorrente no sistema, cooperando uns com os outros para determinar a resposta geral do sistema.
A resposta motora de cada comportamento a um dado estimulo representada na forma de um
vetor com magnitude e orientao gerado a partir de um mtodo de campos potenciais artificiais. Os vetores de resposta de cada comportamento so somados resultando na ao que deve
ser tomada pelo rob. Assim, no existe arbitragem de um comportamento em relao ao outro. Ao invs disso, cada comportamento contribui para a resposta do sistema. A influncia de
um comportamento nesta resposta final determinada por seu peso relativo aos demais. Estes
pesos funcionam como parmetros que podem ser alterados para dar flexibilidade ao sistema.
Alm dos pesos, um comportamento tambm pode ter como parmetro um nvel de ativao
que determina quando o comportamento deve entrar em ao. Combinando-se um conjunto de
comportamentos primitivos possvel criar comportamentos motores mais complexos. No final, o comportamento emergente do rob resultado da interao dos diversos comportamentos
presentes no sistema.
Em um comportamento, um esquema motor associado a um esquema de percepo. Cada
esquema de percepo fornece em tempo hbil a informao especifica que o comportamento
precisa para poder reagir. Os esquemas de percepo tambm podem ser definidos recursivamente, ou seja, cada esquema de percepo pode fornecer um pedao de informao que juntos
so processados por um outro esquema de percepo, resultando em uma informao que pode

30

ser mais relevante para um dado comportamento.


Quando um comportamento se encontra ativo ele produz uma resposta reativa na forma de
um vetor. Este vetor pode ser considerado como sendo uma fora artificial que age no rob para
mov-lo em determinada direo, indicada pela orientao do vetor, e com uma dada velocidade, indicada pela magnitude do vetor. A magnitude e direo do vetor podem ser funes da
informao dada pelo esquema de percepo do comportamento. Comportamentos definidos
desta forma se baseiam no mtodo de campos potenciais introduzido por Khatib (1985). Uma
variedade de comportamentos pode ser definido, tais como, desvio de obstculos, mover-se em
direo a uma posio especfica do ambiente, seguir um lder, mover-se em uma determinada
direo, manter-se no centro de um corredor, etc.
interessante notar que os vetores de resposta so gerados do ponto de vista do rob a
partir das informaes sensoriais que o rob possui naquela posio. Estes vetores no so
computados previamente para todo o ambiente, ou seja, para todas as possveis posies ou
configuraes que o rob pode assumir. No caso do desvio de obstculos, por exemplo, quando
o rob percebe um obstculo a uma dada distncia e direo, um vetor de repulso gerado
pelo comportamento. Este vetor possui direo oposta ao obstculo, e magnitude em funo
da distncia entre o rob e o obstculo. Ao mesmo tempo, um outro comportamento pode
estar gerando um vetor, que funo da posio atual do rob e de uma posio de destino no
ambiente, para atrair o rob para um objetivo de navegao. O vetor resultante vai ser a soma
de cada um dos vetores multiplicados pelo peso dado aos seus respectivos comportamentos.
No existe hierarquia pr-definida para a coordenao. Ao invs disso, os comportamentos so configurados em tempo de execuo baseado na inteno e capacidade do rob, e nas
restries do ambiente. Esquemas podem ser instanciados ou desinstanciados a qualquer momento baseado em eventos perceptveis. Portanto a estrutura mais parecida com uma rede
dinamicamente varivel do que com uma arquitetura de camadas.

2.2.3 Arquitetura de circuito


A arquitetura de circuito desenvolvida por Rosenschein e Kaelbling (1986) combina os
princpios de reatividade, uso de formalismo lgico (JOHNSON, 1983), e nveis de abstrao,
como por exemplo, os usados na arquitetura RCS (BARBERA et al., 1984) e no rob Shakey
(NILSSON, 1969, 1984).
Nesta arquitetura, os comportamentos podem ser agrupados em composies, que por sua
vez podem ser novamente agrupadas, permitindo a obteno de diferentes nveis de abstrao

31

de comportamentos. A arbitrao pode ocorrer dentro de cada nvel de abstrao. Este tipo
de coordenao de comportamentos chamada de mediao hierrquica, ou arbitrao com
abstrao.
Os comportamentos so expressos utilizando um modelo que usa lgica formal (KAELBLING; ROSENSCHEIN, 1991). Este modelo permite o desenvolvimento de um circuito que re-

presenta os objetivos e funcionalidade do rob. O uso de lgica permite estabelecer propriedades para o sistema de controle que podem ser provadas (ROSENSCHEIN; KAELBLING, 1986).
A linguagem utilizada nesta arquitetura para programao dos comportamentos e definio dos
circuitos chamada de REX/GAPPS (KAELBLING, 1987, 1988).

2.2.4 Seleo de ao
A arquitetura de seleo de ao (Action-Selection) desenvolvida por Maes (1989) utiliza
um mecanismo dinmico para selecionar os comportamentos que devem ser ativados. Ao invs de utilizar uma estratgia pr-definida como na arquitetura de subsuno, a arquitetura de
seleo de ao utiliza um nvel de ativao para determinar em tempo de execuo qual comportamento deve ser selecionado. Este nvel de ativao afetado pela situao atual em que
o rob se encontra, pelos objetivos de alto nvel, ou pela inibio causada por comportamentos conflitantes. Nveis de ativao tambm podem ser afetados pelo tempo, podendo decair
conforme o tempo passa. O comportamento com nvel de ativao maior escolhido dentre
um conjunto de todos os comportamentos cujas pr-condies tambm estejam satisfeitas. Este
processo de seleo repetido to rpido quanto possvel, e o estado dos nveis de ativao e
conseqentemente o comportamento emergente do rob se altera conforme as circunstncias do
ambiente ao redor do rob mudam. Como nesta arquitetura, diferentemente da arquitetura de
subsuno, no existe uma organizao clara dos comportamentos em camadas pr-definidas,
difcil predizer qual o comportamento global emergente que o rob apresentar em um ambiente
dinmico.

2.2.5 Arquitetura de colnia


A arquitetura de colnia (CONNELL, 1989) descendente direto da arquitetura de subsuno. No entanto, ela usa apenas a supresso como estratgia de coordenao e permite especificar as relaes entre os comportamentos de maneira mais flexvel. A prioridade dos comportamentos na arquitetura de colnia definida na forma de rvore ao invs de camadas como
feita na arquitetura de subsuno.

32

2.3

Discusso comparativa

Arquiteturas deliberativas e arquiteturas reativas possuem caractersticas prprias distintas


que fazem com que cada uma se torne adequada para um certo tipo de aplicao.
Nas arquiteturas deliberativas existe uma forte dependncia de um modelo interno do mundo,
ou do ambiente, no qual o rob opera. Com base neste modelo interno, as tarefas e objetivos
do rob podem ser explicitamente definidas pelo usurio. Ento, as aes que o rob deve
realizar para atingir seus objetivos e cumprir suas tarefas so determinadas por uma etapa de
planejamento baseado no modelo do mundo. O planejamento geralmente utiliza um mtodo de
busca que considera as informaes globais sobre o mundo. Isso permite encontrar um plano
de ao para que o rob alcance os objetivos e realize suas tarefas de forma eficiente. Alm
disso, a capacidade de planejamento e de representao interna do mundo confere ao sistema
de controle deliberativo uma certa flexibilidade, generalidade, e adaptao s intenes, tarefas
e objetivos que o usurio pode querer definir (ARKIN, 1989b; MATARIC, 1992). Em particular, quando existe uma representao simblica e um planejamento a nvel de misso e tarefa.
Entretanto, dependendo do mtodo de planejamento e modelo do ambiente, um alto custo computacional pode ser necessrio para o planejamento e atualizao do modelo interno do mundo.
A atualizao do modelo interno deve ser feita quando este deixa de refletir a realidade devido a
mudanas no ambiente. Principalmente quando estas mudanas impedem a execuo do plano
de ao do rob. Neste caso, aps atualizado o modelo, um novo plano de ao deve ser formulado. Em ambientes dinmicos, freqentes replanejamentos podem ser necessrios tornando
invivel o uso de uma arquitetura deliberativa. Assim, devido s suas caractersticas, as arquiteturas deliberativas so mais adequadas a ambientes controlados onde no ocorrem mudanas
freqentes.
Nas arquiteturas reativas as aes do rob so determinadas a partir de informaes sensoriais locais. Modelos internos globais e planejamento baseado nestes modelos no so utilizados.
O sistema construdo por pares pr-programados de percepo-ao que se tornam ativos em
condies pr-definidas. Cada par pode ser chamado de comportamento reativo, e mapeia por
meio de uma certa funo um estimulo sensorial a uma resposta. Os diferentes comportamentos
reativos e a maneira como cada um deles combinado dentro do sistema faz com que o rob
opere de forma coerente com o propsito para o qual o sistema foi desenvolvido. A identificao dos comportamentos necessrios e a integrao apropriada dos mesmos deve ser feita
na etapa de desenvolvimento do sistema. Dependendo da complexidade da tarefa e variedade
de situaes nas quais o rob deve operar, o desenvolvimento de um sistema reativo pode ser
algo trabalhoso. Principalmente por no armazenarem informaes em um modelo interno do

33

mundo, as arquiteturas reativas podem ser menos gerais e flexveis que as arquiteturas deliberativas em relao a definio de tarefas e misses (ARKIN, 1989b; MATARIC, 1992). Isso
observado principalmente em sistemas reativos mais reflexivos, que aps serem construdos
para um determinado propsito, so extremamente rgidos quanto a tarefa que executam. Entretanto, os comportamentos pr-definidos no requerem uma computao pesada e permitem
que o sistema quando executado responda rapidamente aos estmulos no meio ambiente. Devido a suas caractersticas, as arquiteturas reativas so adequadas a ambientes extremamente
dinmicos.
Tabela 2: Caractersticas das arquiteturas deliberativas e reativas
Arquiteturas deliberativas
Modelos internos globais;
Modelo interno completo e preciso;
Planejamento;
Maior generalidade e flexibilidade
na definio de tarefas e objetivos;
Resposta mais lenta s mudanas no
ambiente;
Adequadas aos ambientes controlados, quase estticos.

Arquiteturas reativas
Informaes sensoriais locais;
Sensores robustos;
Aes pr-definidas s informaes
sensoriais;
Sistemas mais dedicados s tarefas e
problemas especficos;
Resposta mais rpida s mudanas
no ambiente;
Adequadas aos ambientes dinmicos.

A Tabela 2 mostra um contraste entre as principais caractersticas das arquiteturas deliberativas e das arquiteturas reativas. De forma geral, o enfoque da abordagem deliberativa est
na formulao de um plano de ao que permita atingir os objetivos especificados, e o enfoque
da abordagem reativa est na execuo das aes do rob em tempo real em um ambiente dinmico. As arquiteturas hbridas procuram combinar estas duas caractersticas principais das
abordagens deliberativa e reativa, procurando, ao mesmo tempo, diminuir a restrio em relao
ao domnio de aplicao de cada uma destas abordagens. A questo principal como integrar
as abordagens deliberativa e reativa de forma coerente dentro de uma arquitetura hbrida.

34

Arquiteturas hbridas
(deliberativa/reativa)

As arquiteturas hbridas, que combinam a abordagem deliberativa e reativa, predominam


nos dias atuais. Este tipo de arquitetura utiliza deliberao para planejar as aes do rob a partir
de uma representao interna global do conhecimento do mundo, de forma que os objetivos do
rob possam ser atingidos eficientemente. Uma vez que as aes so planejadas, a execuo do
plano de ao feita utilizando reatividade, pois por meio dela possvel responder rapidamente
a mudanas dinmicas no ambiente. Assim, a arquitetura hbrida procura ser adequada para
soluo de problemas complexos atingindo objetivos de maneira tima e eficiente (utilizando
deliberao) em ambientes dinmicos que exigem rapidez na resposta (utilizando reatividade).
A arquitetura hbrida define o papel da parte deliberativa e reativa dentro do sistema de
controle inteligente do rob. Tambm define como cada uma destas partes esto organizadas,
onde e como feita a interface de coordenao entre deliberao e reao dentro do sistema.
Algumas estratgias principais de como deliberao, ou planejamento, interage com a reao,
ou execuo do plano de ao, so identificadas por Arkin (1998):
Seleo: O planejamento age configurando o sistema de execuo. Os componentes de
planejamento determinam um conjunto de comportamentos e seus parmetros para serem
usados durante a execuo. O planejamento pode reconfigurar este conjunto conforme
necessrio, por exemplo, quando ocorre uma falha de execuo no sistema.
Conselho: O planejamento fornece conselhos para o sistema de execuo. Os componentes de planejamento sugerem mudanas que o sistema de execuo pode ou no usar.
Assim, o planejamento oferece opes de ao, mas os componentes de controle reativo
determinam se estas opes so apropriadas.
Adaptao: O planejamento faz adaptaes contnuas no sistema de execuo. A partir
de mudanas nas condies do mundo e nos requisitos da tarefa, o planejador continuamente altera o componente reativo que est sendo usado.

35

Adiamento: O planejamento feito somente quando necessrio. O planejador espera para


tomar decises sobre aes at o ltimo momento possvel, ou seja, at que estas decises
sejam absolutamente necessrias. Isto permite que informaes recentes de sensores possam ser usadas para que se possa gerar um plano de aes mais eficiente do que aquele
que teria sido gerado se o planejador no esperasse.
Alm dos aspectos apresentados que podem diferenciar uma arquitetura hbrida, percebe-se
que algumas arquiteturas possuem uma diviso bem clara da funcionalidade do sistema em mdulos ou componentes (MURPHY, 2000). Alguns destes componentes funcionais so: seqenciador, gerenciador de recursos, cartgrafo, planejador da misso, e monitor de desempenho e
solucionador de problemas.
Seqenciador: Gera um conjunto de comportamentos para ser usado na execuo de um
plano de ao. Ele tambm determina a seqncia de ativao e/ou os parmetros de
ativao destes comportamentos.
Gerenciador de Recursos: Aloca recursos para os comportamentos. Por exemplo, se um
rob possui uma cmera estreo, sonares, e sensores de infravermelho disponveis, o gerenciador de recursos pode determinar qual destes sensores mais adequado para cada
situao. Ele poder verificar se o sensor de infravermelho suficiente para detectar objetos a uma determinada distncia, ou se o sensor estreo pode atualizar a uma velocidade
adequada para a velocidade do rob, ou se existe potncia suficiente disponvel para o
sonar produzir leituras confiveis.
Cartgrafo: Responsvel por criar, armazenar, e manter atualizado os mapas e informaes espaciais. Ele tambm responsvel por mtodos de acesso a esses dados.
Planejador da Misso: Interage com o usurio humano para definir e construir planos
para realizar a misso.
Monitor de Desempenho e Solucionador de Problemas: Permitem que o rob perceba se
est fazendo progresso no cumprimento de sua tarefa.
Algumas arquiteturas utilizam estes componentes em camadas da arquitetura mais voltada
s atividades deliberativas e de interface com a camada reativa de execuo das tarefas que
utiliza comportamentos. Entretanto, podem haver arquiteturas nas quais algumas das funes
apresentadas se encontram distribudas, embutidas em vrios dos comportamentos presentes na

36

arquitetura. Nestas arquiteturas pode ser difcil identificar um mdulo especfico para cada uma
destas funes.
Alguns exemplos de arquiteturas consideradas hbridas neste trabalho so: AuRA, SFX,
DAMN, Saphira, Arquitetura de Agente (Animated Agent), Planejador-Reator, DD&P, e arquiteturas de trs camadas, tais como, SSS, Atlantis, arquitetura 3T, e a arquitetura genrica do
LAAS-CNRS.

3.1

AuRA

A arquitetura AuRA (Autonomous Robot Architecture) proposta por Arkin (1986, 1987b)
foi uma das primeiras arquiteturas hbridas (deliberativa/reativa). A parte deliberativa da arquitetura composta por um planejador hierrquico baseado em tcnicas tradicionais de inteligncia artificial. Este planejador utiliza o conhecimento sobre o ambiente e o conhecimento a
respeito dos comportamentos disponveis no sistema para configurar a parte reativa responsvel
pela execuo da misso ou tarefa do rob. A parte reativa da arquitetura composta por um
controlador de comportamentos baseados na teoria de esquemas (ARBIB, 1992) (Figura 3).
Entrada do Usurio

Planejador de Misso

Objetivos
Espaciais

Mdulo de Raciocnio
Espacial

Alternao de
Misses

Sequenciador de Plano

Controlador de Esquemas
Tele-autonomia
Motor

Percepo

Atuadores

Sensores

Representao

Intenes
do Usurio

Componentes
Deliberativos

Componentes
Reativos

Figura 3: Arquitetura AuRA.


O planejador hierrquico composto de um planejador de misso, de um mdulo de raciocnio espacial, e um seqenciador de plano de execuo. semelhana dos sistemas de planejamento tradicionais (ALBUS; MCCAIN; LUMIA, 1989; MEYSTEL, 1986; SARIDIS; VALVANIS,
1987), o nvel mais alto na hierarquia de planejamento ocupado pelo planejador de misso,
responsvel por estabelecer objetivos de alto-nvel para o rob e restries dentro das quais o
rob deve operar. No nvel intermedirio da hierarquia est o mdulo de raciocnio espacial,
originalmente chamado de navegador (ARKIN, 1987b). Ele utiliza o conhecimento cartogrfico

37

do ambiente, armazenado em uma memria de longa durao, para construir uma seqncia de
trechos de navegao que devem ser executadas pelo rob para que a misso possa ser completada. Por fim, o nvel mais baixo na hierarquia de planejamento ocupado pelo seqenciador
de plano, tambm chamado de piloto em trabalhos anteriores. Para cada trecho de navegao
gerado pelo mdulo de raciocnio espacial, o seqenciador de plano especifica um conjunto de
comportamentos motores que devem ser enviados para execuo. Na implementao original,
o seqenciador de plano era um sistema rudimentar baseado em regras. Mais recentemente ele
foi implementado como um seqenciador de estados finitos (MACKENZIE; CAMERON; ARKIN,
1995). Finalmente, a coleo de comportamentos (esquemas) especificada pelo seqenciador
de plano enviada para execuo no rob. Neste ponto, a deliberao acaba e se inicia a execuo reativa.
O controlador de esquemas responsvel pelo controle e monitoramento dos comportamentos reativos em tempo de execuo. Cada comportamento motor (ou esquema) associado
a um esquema perceptivo capaz de prover o estimulo requerido para um determinado comportamento. Esta percepo orientada ao a base para esta forma de navegao baseada em
comportamento (ARKIN, 1990). Cada comportamento gera um vetor de resposta de modo anlogo ao mtodo de campos potenciais. Os esquemas operam de forma assncrona transmitindo
seus resultados para um processo (mover-rob) que soma e normaliza estas entradas e transmite
o resultado para um sistema de controle de baixo nvel responsvel pela execuo.
Uma vez que a parte reativa comea a ser executada, a parte deliberativa no reativada a
menos que seja detectado uma falha na parte reativa, que tipicamente indicada por uma falta de
progresso na execuo da tarefa. Neste ponto, o planejador hierrquico reativado uma camada
por vez, comeando da camada inferior e partindo para a camada superior, at que o problema
seja resolvido. Primeiramente o seqenciador do plano chamado para que fornea uma nova
configurao de comportamentos. Esta configurao determinada pela informao local sobre
o ambiente armazenada em uma memria de curto prazo. Se isso no for suficiente, ou seja,
a rota est completamente obstruda dentro do contexto local, o mdulo de raciocnio espacial
chamado e tenta estabelecer um novo caminho que desvie da regio onde est ocorrendo o
problema. Se ainda assim isso no se mostrar satisfatrio, o planejador de misso chamado e
o usurio informado da dificuldade, podendo desistir da misso ou reformul-la.
A arquitetura AuRA uma arquitetura bastante modular, flexvel e geral. Como os componentes da arquitetura so modulares, eles podem ser substitudos de acordo com a aplicao
e evoluo das tecnologias utilizadas para implementar cada um desses mdulos. Alm das
caractersticas mencionadas, a arquitetura AuRA tambm permite que o sistema possa se adap-

38

tar utilizando mtodos de aprendizado. A adaptao feita alterando-se a importncia ou peso


dado a cada um dos esquemas motores utilizados na realizao da tarefa.

3.2

SFX

A arquitetura SFX (Sensor Fusion Effects) (MURPHY; ARKIN, 1992; MURPHY; MALI, 1997;
MURPHY, 2000) comeou como sendo uma extenso da arquitetura AuRA para introduzir m-

dulos que pudessem tratar de forma mais robusta a informao sensorial. Para isso foram introduzidos mdulos de fuso sensorial e mdulos para lidar com eventual falha nos sensores, que
permitem a recuperao do rob quando estas falhas acontecem. Com o tempo, surgiu a arquitetura SFX (Figura 4) a partir de uma reorganizao dos componentes reativos e deliberativos
da arquitetura AuRA.

Cartgrafo

Gerenciador de
Sensores

Planejador de
Tarefa

Alocao de sensores

Gerenciador de
Atuadores

Instanciao de
comportamentos

Quadro
negro de
sensores
Comportamentos

Quadro negro de
comportamentos

Comportamentos
Campo receptor

Sensor

Foco de ateno,
realimentao para
recalibrao, adaptao

Atuador

Figura 4: Arquitetura SFX.


O parte deliberativa da arquitetura SFX dividida em mdulos ou agentes especializados
em uma rea de competncia. Em uma camada deliberativa superior est o planejador de misso que responsvel em interagir com o homem e especificar as restries da misso. Em
uma camada deliberativa inferior, subordinados ao planejador de misso, esto os mdulos que
gerenciam os recursos do sistema, ou seja, planejador de tarefa, gerente de sensores, e gerente
de atuadores. Cada um destes mdulos atuam de forma paralela, cooperando uns com os outros
para encontrar um conjunto de comportamentos satisfatrios que possam realizar a misso atendendo s restries dadas pelo planejador de misso. Estes gerenciadores utilizam tcnicas de
Inteligncia Artificial para planejamento, seqenciamento, e resoluo de problemas, para de-

39

terminar qual a melhor forma de alocar os recursos em termos de sensores e atuadores dado um
conjunto de esquemas motores e perceptivos, de forma que o rob possa apresentar um determinado comportamento. Nesta camada deliberativa inferior tambm se encontra o cartgrafo
e agentes para monitorar o desempenho do sistema. O cartgrafo responsvel pelo mapeamento usado no planejamento da tarefa. Os agentes que monitoram o desempenho procuram
observar o progresso do rob em direo ao seus objetivos, e so capazes de perceber quando o
rob no est obtendo sucesso em alcanar estes objetivos.
A parte reativa da arquitetura SFX dividida em duas camadas: uma camada composta de
comportamentos estratgicos e outra de comportamentos tticos. Os comportamentos estratgicos ditam qual deve ser o comportamento geral do rob, como, por exemplo, qual a direo
estratgica deve ser seguida para se chegar a uma posio de destino. Os comportamentos tticos se preocupam com a situao imediata do rob, como, por exemplo, desvio de um obstculo.
Os comportamentos tticos agem como filtros garantindo que o rob opere de maneira segura ao
atender a situao imediata do rob sem se desviar do objetivo da tarefa indicado pelos comportamentos estratgicos. De certa forma isto similar ao mtodo de subsuno (BROOKS, 1986),
ou seja, alguns comportamentos fundamentais sobrescrevem outros. No entanto, na arquitetura
SFX, ao contrrio da arquitetura de subsuno, so os comportamentos tticos de nvel mais
baixo que sobrescrevem os comportamentos estratgicos de nvel mais alto (MURPHY, 2000).

3.3

DAMN

A arquitetura DAMN (Distributed Architecture for Mobile Navigation) foi desenvolvida por
Rosenblatt (1995, 1997a, 1997b) (Figura 5). uma arquitetura comportamental, distribuda,
flexvel, que se diferencia das demais pelo seu mecanismo de coordenao.
Gerenciador de
Modos

pesos

comandos

rbitro

Controle do
Veculo

votos

Desvio de
Obstculos

Seguir Estrada

Alcanar
Objetivo

Evitar
Tombamento do
Veculo

Manter Direo

Figura 5: Arquitetura DAMN.


Nesta arquitetura, cada comportamento um mdulo responsvel por completar uma deter-

40

minada tarefa, ou cuidar de um aspecto de controle influenciando as aes do rob. Estes comportamentos funcionam de forma assncrona e em paralelo, sendo que cada um gera sua sada
em intervalos de tempo prprios dependendo do processamento interno do comportamento.
Comportamentos reflexivos geram uma sada a 10Hz, outros comportamentos que armazenam
informaes locais podem gerar uma sada a 1Hz, enquanto planejadores que utilizam informaes globais armazenadas em uma representao interna do ambiente podem gerar uma sada
a 0.1Hz. Para controle do rob, define-se nesta arquitetura um conjunto de aes e respostas
que o rob pode ter. A sada de cada comportamento feita na forma de um conjunto de votos
a favor e contra um conjunto destas aes e respostas. Um rbitro faz a fuso desses votos e
seleciona as aes vencedoras. Na arquitetura podem existir mltiplos rbitros, cada um para
um tipo de ao diferente, como, por exemplo, controle de velocidade e controle de direo. A
arbitragem de cada ao ocorre de forma independente. Cada rbitro toma o cuidado de fazer
uma interpolao dos valores de controle para evitar efeitos de discretizao na atuao do rob.
Vale ressaltar que apesar dos votos terem que passar pelo rbitro antes de resultar em um
comando para o rob, a funo do rbitro bastante simples no resultando em um gargalo
central no sistema.
Na arquitetura DAMN, comportamentos deliberativos e reativos compartilham concorrentemente o controle do rob, permitindo que o rob opere de forma estratgica para atingir um
objetivo, ao mesmo tempo que preserva a capacidade ttica de responder rapidamente a situaes imprevistas e de emergncia. Cada comportamentos dentro da arquitetura pode ter um
peso que reflete na sua prioridade em controlar o veculo. Um mdulo de raciocnio, que gerencia os modos de operao do rob, pode ser usado para variar estes pesos durante o curso
da misso, de acordo com o conhecimento que o sistema tem sobre quais comportamentos so
mais relevantes em determinadas situaes. Mesmo que alguns comportamentos possam ter
pesos maiores em determinadas circunstncias, comportamentos com menor prioridade no so
totalmente ignorados e continuam influenciando as aes do rob. Por esse motivo a arquitetura
no pode ser considerada hierrquica na maneira em que deliberao combinada com reao.
Os comportamentos podem manter uma representao interna complexa do mundo. Isso
permite que o rob possa ser guiado por um plano de movimento criado a partir de uma representao do ambiente, e conseqentemente, que o planejador participe do controle do rob.
Uma das formas de planejamento utilizada pela arquitetura o mtodo de programao dinmica que permite estabelecer qual a melhor forma de se chegar a uma posio de destino no
ambiente a partir de qualquer posio inicial do rob (ROSENBLATT; PAYTON, 1989).
Conceitualmente, os comportamentos na arquitetura DAMN podem ser divididos em trs

41

nveis de competncia: o nvel de segurana, de movimento, e de objetivos. O nvel de segurana possui comportamentos que garantem a integridade fsica do rob, tais como, desvio de
obstculo e comportamentos para garantir que restries dinmicas do rob possam ser atendidas. O nvel de movimento possui comportamentos que adicionam movimentos bsicos teis
ao rob, tais como, seguir estrada e comportamentos para permitir tele-operao. O nvel de objetivos possui comportamentos que buscam atingir algum objetivo de nvel maior e geralmente
utilizam informao contida na representao do ambiente. importante observar que estes nveis so conceituais e no implicam necessariamente em uma hierarquia dentro da arquitetura.
Estes nveis so convenientes para descrever a maneira incremental como o sistema pode ser
desenvolvido, comeando pelo nvel de segurana e evoluindo em direo ao nvel de objetivo.

3.4

Arquitetura de agente

A arquitetura de agente (Animated Agent Architecture) proposta por Firby, Prokopowicz e


Swain (1998) uma arquitetura desenvolvida com o intuito de ser usada em robs que trabalham
em um ambiente junto a seres humanos (Figura 6).
Tarefas / Plano no detalhado

Agenta de Tarefas RAP


Tarefa

Tarefa

Tarefa
Tarefa

Tarefa
Camada do
sistema RAP
Tarefa

Subtarefas
Biblioteca
RAP

Modelo do
Mundo
Estado

Interpretador RAP

Sinais

Ativar/Desativar Habilidades

Camada do
sistema CRL

Mtodos
RAP

Habilidades de
Percepo

Habilidades de
Ao

Mundo

Figura 6: Arquitetura de Agente


A arquitetura possui duas camadas principais. A camada de nvel mais baixo composta
por habilidades de percepo e atuao. Estas habilidades correspondem a processos contnuos,
ou seja, controladores de malha fechada implementados de forma modular para controlar os
sensores e atuadores do rob. Cada habilidade pode ser habilitada ou desabilitada de forma

42

independente e assncrona permitindo que a camada inferior da arquitetura seja reconfigurada


em tempo de execuo. As habilidades podem se comunicar entre si e podem sinalizar camada
superior da arquitetura quando algum estado especfico atingido pelo rob, ou quando algo de
interesse para a tarefa encontrado no ambiente.
A camada de nvel mais alto na arquitetura responsvel pela execuo das tarefas. Esta
camada superior composta principalmente por um executor de planos reativos responsvel por
selecionar uma seqncia de aes e programar o nvel inferior em tempo de execuo. Este
nvel de seqenciamento para execuo de tarefa foi implementado utilizando o sistema RAP
(Reactive Action Packages).
O sistema RAP usado na camada de nvel superior da arquitetura parte de um plano no
muito detalhado composto de tarefas em um alto nvel de abstrao. Em tempo de execuo o
sistema vai detalhando cada vez mais estas tarefas em nveis de abstrao cada vez menores,
at chegar em tarefas primitivas que podem ser executadas por habilidades no nvel inferior
da arquitetura. Para detalhar tarefas o sistema usa uma biblioteca hierrquica de mtodos que
definem como este refinamento de tarefas pode ser feito, e tambm utiliza o estado atual do
rob e informaes do ambiente representado por um modelo do mundo.

3.5

Arquiteturas de trs camadas

Nas arquiteturas de trs camadas, deliberao e reao esto geralmente divididas em duas
camadas distintas. Entre estas duas camadas existe uma camada intermediria responsvel por
coordenar deliberao e reao. A camada reativa a camada de nvel inferior responsvel pelo
controle do rob com o uso de comportamentos, a camada deliberativa a camada de nvel
superior responsvel pelo planejamento, e a camada intermediria faz a conexo entre as duas
camadas por meio de um mecanismo de seqenciamento que determina quais comportamentos
devem estar habilitados em cada situao de forma que o rob execute o plano determinado
pelo planejamento. As trs camadas geralmente operam de forma paralela.
Alguns exemplos de arquiteturas de trs camadas so: a arquitetura SSS (CONNELL, 1992),
a arquitetura Atlantis (GAT, 1991), a arquitetura genrica do LAAS-CNRS (NOREILS; CHATILA,
1995; ALAMI et al., 1998), e a arquitetura 3T (FIRBY, 1989; BONASSO, 1991; BONASSO; DEAN,
1996).
interessante notar que embora possuam trs camadas, cada uma destas arquiteturas se
distingue uma das outras pela forma como cada uma das camadas funciona, e tambm pela
forma como acontece a comunicao entre as camadas da arquitetura. Por exemplo, a arquite-

43

tura SSS se baseia no mecanismo de subsuno para realizar o seqenciamento. A arquitetura


3T inicialmente utilizava um sistema de seqenciamento chamado REX/GAPPS desenvolvido
por Kaelbling (1987, 1988) e posteriormente passou a utilizar um sistema chamado RAP (Reactive Action Packages) desenvolvido por Firby (1989). J a arquitetura Atlantis utilizava RAP
para fazer o seqenciamento, e ento partiu para um novo sistema ou linguagem chamado ESL
(GAT, 1997).

3.5.1 Atlantis e 3T
A arquitetura Atlantis uma arquitetura hbrida de trs camadas proposta por Gat (1991).
Os componente responsveis por cada uma das camada da arquitetura so chamados de Controlador, Deliberador, e Seqenciador (Figura 7).
Deliberador

Inovao

Resultados

Sequenciador

Status

Ativao

Controlador

Sensores

Atuadores

Figura 7: Arquitetura Atlantis.


O Controlador formado por um conjunto de habilidades ou comportamentos primitivos.
Estes comportamentos so controladores de malha fechada que associam sensores a atuadores de forma intima por meio de uma funo de transferncia. Pode-se citar como exemplo
de comportamento: seguir uma parede, mover para uma posio de destino enquanto se evita
colises, e mover atravs de uma porta aberta. Cada uma destas habilidades habilitada ou
desabilitada por uma entrada externa ao componente Controlador. A arquitetura impes algumas restries ao Controlador. Por exemplo, o tempo necessrio para calcular uma iterao do
algoritmo usado no comportamento deve ser pequeno o suficiente para que o rob seja operado
de forma estvel. Alm disso, deve-se evitar o armazenamento interno de informaes sobre o
ambiente no Controlador. Quando for necessrio, a informao armazenada internamente deve
ser efmera, ou seja, guardada somente por um intervalo conhecido de tempo e descartada em
seguida. Dessa forma, se, por algum motivo, essa informao deixar de representar a realidade,

44

o erro ficar restrito ao intervalo conhecido e pequeno de tempo durante o qual essa informao esteve armazenada. Por fim, cada comportamento no Controlador deve reconhecer quando
acontece uma falha nele mesmo, e avisar outros componentes da arquitetura para que alguma
providncia possa ser tomada a respeito.
O Seqenciador seleciona o comportamento primitivo que deve ser usado no Controlador
em um dado momento, e fornece parmetros para a execuo desse comportamento. O rob
conduzido a realizar tarefas complexas quando se alterna de um comportamento ao outro em
momentos estratgicos. Portanto, o Seqenciador deve ser capaz de responder de forma condicional situao atual do rob, qualquer que seja ela. Para isso utiliza-se um mtodo de seqenciamento condicional. Neste mtodo, de certa forma, a histria de execuo do rob levada
em considerao. Um plano de execuo complexo motivado pela maneira como instrues
humanas so seguidas usado. Em geral, estes planos de execuo so descritos utilizando linguagens desenvolvidas especialmente para este propsito, tais como RAP (FIRBY, 1989), PRS
(GEORGEFF; LANSKY, 1987), Linguagem de Comportamento (BROOKS, 1989), REX/GAPPS
(KAELBLING, 1987, 1988; BONASSO, 1992), e ESL (GAT, 1997). Na arquitetura Atlantis utilizada a linguagem ESL.
O Deliberador responsvel pelo planejamento e pelo modelo do mundo. Ele se comunica
com o restante do sistema respondendo a pedidos especficos provenientes do Seqenciador.
Em termos de restrio temporal, os algoritmos usados no Deliberador so os que levam maior
tempo dentro do sistema para serem executados. Vrias transies entre comportamentos primitivos podem ocorrer entre o instante de tempo em que o algoritmo invocado e o momento
em que ele gera o resultado.
A arquitetura 3T desenvolvida por Bonasso et al. (1997) muito semelhante arquitetura
Atlantis pois ambas surgiram do mesmo trabalho. Entretanto, a arquitetura 3T utiliza uma representao diferente na camada de seqenciamento. A 3T utiliza RAP e a Atlantis utiliza ESL.
Alm disso, na Atlantis a camada do seqenciador responsvel por grande parte do controle,
e esta camada que controla a operao do planejador (camada deliberativa). A camada de
seqenciamento da Atlantis pede por trechos de planejamento conforme necessrio. Na 3T, a
iniciativa parte do deliberador que produz planos geralmente completos que so executados pelo
seqenciador (BONASSO et al., 1997). Entretanto, nada impede que na Atlantis o Seqenciador
pea ao Deliberador um plano completo de ao, e que na arquitetura baseada em RAP algoritmos deliberativos sejam invocados em tempo de execuo para responder pedidos especficos
do seqenciador.

45

3.5.2 SSS
A arquitetura SSS (servo, subsumption, e symbolic) foi desenvolvida no Centro de Pesquisa
T.J. Watson da IBM, e como o prprio nome sugere, ela pode ser dividida em trs camadas
(CONNELL, 1992) (Figura 8). Cada camada utiliza tecnologias diferentes para lidar com parte
do problema.
Simblico
Parametrizao
de Processo

Detector de
Eventos

Subsuno
Reconhecedor
de Situaes

Seleo de
Referncias

Servo

Sensores

Atuadores

Figura 8: Arquitetura SSS.


A camada de nvel mais baixo da arquitetura formada por controladores servo convencionais de malha fechada e processadores de sinais. Este nvel composto principalmente por
dois controladores de velocidade, um para translao e outro para rotao, que operam a 256Hz.
Todos os clculos para controle PID e gerao de perfis de acelerao so feitos nesta camada.
No nvel intermedirio esto comportamentos, ou controladores, reativos multi-agentes.
Esta camada se baseia na arquitetura de subsuno e juntamente com o nvel de controle servo
responsvel pelo controle ttico do rob. Os comportamentos reativos agem no nvel de
controle servo ajustando a referncia para as malhas de realimentao, por exemplo, definindo
a velocidade das rodas. A interface sensorial entre o nvel servo e a camada de comportamentos
ocorre por meio de filtros que reconhecem situaes relevantes em que o rob se encontra a
partir da leitura de sensores. Os comportamentos neste nvel intermedirio operam na ordem de
7.5Hz.
Finalmente, no nvel superior, esto sistemas simblicos de inteligncia artificial baseados
em representaes internas. O sistema simblico utiliza uma tabela de contingncia que possui
alguns planos de aes pr-compilados para responder a determinados eventos. Nesta camada
tambm podem ser usados mapas geomtricos com pouca preciso que armazenam a direo
e distncia entre interseces relevantes no ambiente. Um plano de navegao determinado
a partir desta representao, e os comportamentos no nvel de subsuno (camada intermedi-

46

ria) so configurados para cada segmento da rota de navegao. Dessa forma, a interface de
comando entre o nvel simblico e o nvel de subsuno feita pela habilitao e definio dos
parmetros para cada comportamento. A interface sensorial entre a camada de comportamento
e a camada simblica acontece por meio de um mecanismo que verifica eventos. Um evento
acontece quando vrias situaes se tornam vlidas. Por exemplo, quando o sistema reconhece
que o rob no est no objetivo e tambm no tem feito progresso. Neste caso, o evento "caminho bloqueado" transmitido camada simblica.
Os trs nveis da arquitetura se formam a partir de uma discretizao progressiva do espao
e do tempo. Na camada de baixo nvel, os controladores servo e sensores operam praticamente
no espao e tempo contnuo. Na camada intermediria, baseada em comportamentos, existe a
necessidade de identificar algumas situaes com o auxlio dos sensores. Dessa forma, esta camada trabalha com uma discretizao dos possveis estados do mundo em um pequeno nmero
de categorias dependendo da tarefa. J o sistema simblico na camada de alto nvel da arquitetura vai mais alm e discretiza o tempo em termos de eventos significativos. Nesta camada
utiliza-se termos como "faa X depois de Y"ou "faa A at que B acontea".
Ao comparar a arquitetura SSS com a arquitetura Atlantis, pode-se notar que na arquitetura
Atlantis cada comportamento responsvel em reportar seu progresso e indicar a ocorrncia
de falha. Na SSS, so os eventos externos e no os estados internos que indicam se ocorreu
falha no sistema e este deve ser reconfigurado. Alm disso, na Atlantis, uma vez que um plano
gerado pelo sistema deliberativo, a camada de seqenciamento fica responsvel em executar
este plano havendo apenas a possibilidade de ajustes simples no plano. Na arquitetura SSS,
a camada simblica fica de certa forma dentro da malha de controle durante a execuo da
tarefa. A tabela de contingncia na camada simblica da SSS permite que decises possam ser
tomadas de forma rpida enquanto o sistema simblico se preocupa em replanejar a estratgia
e monitorar a execuo de cada etapa.
importante notar tambm que apesar da arquitetura SSS ser considerada uma arquitetura de trs camadas, as suas camadas no correspondem diretamente s camadas de outras
arquiteturas. Nas outras arquiteturas, a camada de nvel inferior corresponde camada de nvel intermedirio da arquitetura SSS. A camada de controle servo da SSS aparece nas outras
arquiteturas como parte da camada de comportamento ou como funes implcitas do rob, e
portanto no consideradas na arquitetura. J a camada deliberativa da SSS possui os elementos
presentes nas duas camadas de nvel mais alto das demais arquiteturas de trs camadas.

47

3.5.3 Arquitetura genrica do LAAS-CNRS


Desenvolvida pelo LAAS-CNRS (NOREILS; CHATILA, 1995; ALAMI et al., 1998), esta arquitetura hbrida genrica possui trs camadas principais: nvel funcional, nvel de execuo e
nvel de deciso.
O nvel funcional composto por uma coleo de mdulos responsveis pelas funes de
percepo e ao do rob. Estes mdulos funcionais podem trocar informaes entre si e so
independentes do hardware do rob. Dentre os mdulos da camada funcional pode-se citar
planejadores baseados em mapa, mdulos para desvio de obstculo, mdulos de mapeamento e
localizao, etc.
O nvel intermedirio da arquitetura controla e coordena a execuo das funes distribudas
nos mdulos de acordo com os requisitos da tarefa. Este controle e coordenao feito ativando
ou desativando os mdulos do nvel funcional.
O nvel de deciso o mais simblico, e responsvel por produzir um plano de tarefa
e supervisionar sua execuo ao mesmo tempo que responde a eventos gerados pelo nvel intermedirio. O nvel de deciso pode ter vrias camadas de acordo com a aplicao do rob.
A estrutura bsica de cada uma destas camadas um par planejador/supervisor que permite
integrar deliberao e reao. Dependendo da aplicao, cada camada do nvel de deciso
pode utilizar uma abstrao diferente de representao, algoritmos diferentes, e ter requisitos
de tempo diferentes. Por exemplo, um nvel de deciso pode ser decomposto em duas camadas.
Uma camada responsvel por planejar e supervisionar a misso dividindo-a em tarefas, e outra
camada responsvel por planejar uma tarefa, refinando-a ainda mais, e supervisionar a execuo
desta tarefa.
A arquitetura define uma srie de ferramentas de representao, programao e mtodos de
processamento usados para atender os requisitos de cada um dos nveis da arquitetura. Utilizando estas ferramentas possvel fazer uma validao temporal e lgica das propriedades da
parte reativa do sistema.
De forma geral, esta arquitetura se assemelha arquitetura 3T conforme descrito por Bonasso et al. (1997). No entanto a 3T baseada principalmente na hierarquia existente entre o
planejador e o seqenciador, ou seja, um plano definido e ento executado pela parte reativa.
Na arquitetura desenvolvida pelo LAAS-CNRS a estrutura planejador/supervisor permite que
a reao seja feita durante o planejamento e no aps ele. Alm dessa diferena estrutural, a
arquitetura 3T utiliza RAP na camada de seqenciamento, e esta arquitetura usa o sistema PRS.

48

3.6

Saphira

A arquitetura Saphira (KONOLIGE; MYERS, 1998; SAFFIOTTI; RUSPINI; KONOLIGE, 1993;


SAFFIOTTI; KONOLIGE; RUSPINI, 1995; CONGDON et al., 1993), representada na Figura 9, tem

como componente central uma representao do ambiente ao redor do rob chamada de LPS
(Local Perceptual Space) que auxilia tanto na reatividade quanto na deliberao do sistema.
A maior parte das aes so planejadas e executadas tendo como base este conhecimento. A
representao LPS permite que sejam utilizados vrios nveis de interpretao de informao
sensorial, como tambm, informao fornecida a priori na forma de mapas. Em um dos nveis
de representao do LPS, uma grade semelhante a uma grade de ocupao (MORAVEC; ELFES,
1985) pode ser construda a partir da fuso de leituras sensoriais. Representaes mais analticas
que interpretam elementos desta grade podem ser adicionadas em outro nvel de representao
do LPS, como por exemplo, pode-se usar uma reta para representar uma superfcie linear no
ambiente. Alm disso, em um outro nvel, podem ser utilizados descries semnticas tais
como portas e corredores. Estes elementos que carregam uma descrio semntica do mundo
so chamados de artefatos, e podem ser resultados de uma interpretao feita a partir de leituras
de sensores, ou podem at mesmo resultar de uma interpretao de um mapa fornecido a priori.
Biblioteca de
Schema
Entrada de Voz

Localizao e
Mapeamento

PRS-Lite
Planejador
Topolgico

Rastreamento de
Pessoas

Reconhecimento
de Objetos

Percepo
Espacial Local
(LPS)

Tarefas de
Navegao

Contruo de
Superfcie

Comportamentos
Orientados a
Objetivo

Informao de
Profundidade

Comportamentos
Reativos

Sensores

Atuadores

Figura 9: Arquitetura Saphira.


Saphira uma arquitetura baseada em comportamentos, ou seja, o controle do rob decomposto em pequenas unidades de comportamentos bsicos, tais como, desvio de obstculos
e se mover ao longo de um corredor. O que diferencia a arquitetura Saphira das demais que

49

os comportamentos so escritos e combinados utilizando tcnicas baseadas em lgica nebulosa


(SAFFIOTTI; RUSPINI; KONOLIGE, 1993; SAFFIOTTI, 1997).
Cada comportamento, por meio de uma funo de desejo, indica quanto ele deseja que uma
ou mais variveis de controle tenham um determinado valor. Estas variveis pode ser, por exemplo, velocidade de translao, velocidade de rotao, estado de uma garra para manipulao, etc.
O valor final da varivel de controle calculado a partir de uma mdia que considera uma funo de peso baseada na prioridade do comportamento dentro do contexto atual da aplicao.
Assim o rob pode, por exemplo, levar em considerao o seu objetivo de navegao ao desviar
de um obstculo de forma reativa. Este tipo de coordenao que atribui prioridades aos comportamentos dependendo do contexto de certa forma semelhante ao mtodo de esquema motor
utilizado por Arkin (ARKIN, 1987a, 1989a) na arquitetura AuRA onde cada comportamento
definido por um campo potencial artificial (KHATIB, 1985).
Na arquitetura Saphira, os comportamentos reativos de nvel mais baixo e que so sensveis
ao tempo de resposta, como por exemplo, desvio de obstculos, dependem de um processamento simples dos sensores. Por isso utilizam como entrada as leituras diretas dos sensores
ou ento estas leituras aps passarem por algum tipo de transformao ou filtro. Informaes
disponveis na representao LPS tambm podem ser usadas, tais como obstculos no mapa de
grades.
Comportamentos mais complexos que buscam cumprir algum tipo de objetivo servem de
guia para os comportamentos reativos e geralmente utilizam informao do LPS contidas em
um nvel de representao mais elevado, tais como superfcies e artefatos. Um exemplo disso
o comportamento de seguir corredor que utiliza retas identificadas no mapa para se manter no
corredor mesmo na presena de portas ao longo do mesmo. Posies de controle para navegao
so adicionadas no LPS como artefatos e usadas para guiar comportamentos mais elaborados
de navegao.
Cada comportamento responsvel pelo controle do rob em uma determinada situao.
Mas para que o rob possa cumprir uma tarefa, os comportamentos so seqenciados e o progresso monitorado por um controlador baseado em PRS (Procedural Reasoning System) chamado de PRS-Lite.
O PRS-Lite fornece uma estrutura por meio da qual possvel especificar e gerenciar as tarefas de um rob. Assim como em outros controladores de tarefa, o PRS-Lite capaz de integrar
de forma suave atividades que buscam cumprir objetivos, e atividades acionadas por eventos.
Ele capaz de responder em tempo hbil a mudanas inesperadas no ambiente, e decompor
tarefas de forma hierrquica. Alm destas caractersticas, o PRS-Lite possui algumas que so

50

prprias, tais como, gerenciar processos contnuos, possuir um conjunto rico de mecanismos de
controle declarativo, e possuir uma semntica de objetivos que substitui conceitos de sucesso e
falha por nveis de satisfao em relao ao objetivo.
Geralmente, linguagens de seqenciamento modelam uma tarefa utilizando eventos para
ativar a transio entre um comportamento e outro. Muitas vezes mesmo quando cada comportamento um processo contnuo, no momento da transio entre comportamentos ocorre
uma descontinuidade na execuo da tarefa. Por meio do PRS-Lite possvel especificar uma
transio suave entre um comportamento e outro.
A arquitetura Saphira assume que o rob uma plataforma mvel capaz de oferecer servios
bsicos utilizando um protocolo especfico. Ento os componentes do Saphira se comunicam
com o rob por meio de uma interface cliente/servidor. Dessa forma possvel utilizar esta
arquitetura em diferentes robs desde que estes utilizem o protocolo usado pelo Saphira.

3.7

Planejador-Reator

A arquitetura Planejador-Reator foi proposta por Lyons e Hendriks (1992, 1995) para integrar planejamento e reatividade (Figura 10). A arquitetura possui dois componentes principais
que funcionam de forma paralela: o sistema reativo, ou Reator; e o sistema de planejamento,
ou Planejador.
Objetivos

Adaptao

Planejador

Ao

Reator

Percepo

Mundo

Sensoriamento

Figura 10: Arquitetura Planejador-Reator.


O Reator formado por uma rede de comportamentos reativos, ou seja, composies entre
percepes sensoriais e aes motoras. O Reator um sistema de tempo real que continuamente inspeciona o ambiente ao redor do rob e produz uma ao sempre que qualquer um
de seus comportamentos reativos estiver ativado. Diferentemente de um executor de planos de
ao, o Reator age independentemente do Planejador, podendo produzir um comportamento
til mesmo sem planejamento.
O Planejador no encarado como um sistema de nvel mais elevado que gera um plano de
ao que deve ser executado pelos nveis inferiores. Nesta arquitetura, o planejador visto como

51

um sistema que est no mesmo nvel hierrquico do Reator. Ele ajusta o Reator continuamente,
de forma incremental, para que este produza um comportamento geral apropriado, capaz de
alcanar os objetivos da aplicao. Este ajuste feito por meio de pequenas adaptaes na
configurao do sistema reativo. Estas adaptaes so feitas para lidar com eventuais mudanas
no objetivo ou no ambiente. Para fazer estes ajustes, o Planejador utiliza como entrada: um
modelo do ambiente no qual o rob est operando, uma descrio da estrutura do reator, e
tambm informaes do usurio sobre os objetivos que devem ser alcanados.
O Reator descrito por um modelo formal chamado RS (Robot Schema) que usado para
representar planos flexveis de ao para o rob. Com o auxlio deste modelo formal, o comportamento do Reator e as regras por meio das quais o Reator modificado podem ser analisadas
matematicamente. Com isso determina-se as restries que o Planejador deve obedecer para
que adaptaes seguras no Reator possam ser feitas garantindo a convergncia em direo ao
Reator desejado.
O conhecimento utilizado pelo Planejador diferente do tipo de conhecimento utilizado
pelo Reator. A informao sensorial usada pelo Reator serve para determinar se um comportamento reativo deve ser ativado ou no. J o Planejador utiliza informao sensorial para prever
o futuro progresso do ambiente e do status do Reator.
Ao comparar esta arquitetura com a SSS, percebe-se que nas duas arquiteturas os componentes deliberativos e reativos se interagem de forma assncrona permitindo que planejamento
e reao ocorram simultaneamente, ambos agindo de forma mais intensa no controle do rob.
A diferena, no entanto, est na forma com que o componente deliberativo atua sobre o componente reativo. Na arquitetura SSS, o componente deliberativo atua apenas habilitando e desabilitando comportamentos, enquanto que na arquitetura Planejador-Reator, comportamentos
completamente novos podem ser gerados pois o planejador modifica de forma incremental a
estrutura do reator.
Assim como na arquitetura AuRA, a arquitetura Planejador-Reator tambm se baseia em
esquemas, e ocorre interao assncrona entre deliberao e reao. No entanto, na AuRA
um plano gerado e ento executado, podendo haver adaptao nos parmetros do sistema
reativo. Na arquitetura Planejador-Reator, o planejador faz adaptaes incrementais no sistema
reativo, principalmente na sua estrutura ao invs de adaptar apenas os parmetros. A arquitetura
Planejador-Reator se beneficia de aplicaes onde a repetitividade da tarefa pode ser explorada
para que o sistema melhore de forma iterativa e incremental seu desempenho.

52

3.8

DD&P

DD&P uma arquitetura hbrida de duas camadas (HERTZBERG; SCHNHERR, 2001). A


camada reativa definida utilizando uma estrutura chamada DD (Dual Dynamics). Os comportamentos na camada reativa so especificados como sendo sistemas dinmicos contnuos
expressos na forma de equaes diferenciais ordinrias. Alm disso, cada comportamento
especifica, de forma separada, a sua ao fsica resultante, e um valor escalar subjetivo que
representa o grau de confiana que o comportamento tem de que ele apropriado. Os comportamentos DD so organizados em nveis hierrquicos. Cada nvel influencia o outro, e o nvel 0
age diretamente nos atuadores do rob.
A camada deliberativa da arquitetura DD&P responsvel pelo planejamento que age influenciando qualquer nvel da camada DD. O planejamento de ao feito de forma semelhante
aos mtodos clssicos de Inteligncia Artificial. Entretanto, o mtodo utilizado capaz de gerar
rapidamente um plano bastante curto e abstrato. Este plano de ao colocado em uma rea de
acesso compartilhado entre planejador e um componente chamado monitor, responsvel pela
execuo do plano de ao. Ao iniciar a execuo, o monitor copia o plano de ao disponvel
nesta rea compartilhada para si, permitindo que o plano na rea de acesso compartilhado possa
ser sobrescrito. Assim que o planejador acaba de gerar um plano, ele atualiza o plano na rea de
acesso compartilhada, e imediatamente comea a preparar um novo plano ou uma atualizao
do plano atual. A idia que o planejamento seja feito continuamente, de modo que quando o
monitor acabe de executar um plano curto de ao, ele tenha acesso somente ao plano de ao
que foi gerado recentemente, que por sua vez, se baseia nas informaes mais atuais disponveis
ao sistema.
Na arquitetura DD&P, executar o plano de ao significa interferir no nvel de ativao dos
comportamentos de modo que os comportamentos que contribuem para a execuo do plano
se sobressaiam, e que os comportamentos que agem no sentido contrrio ao plano de execuo
sejam abafados.
Alm do planejador e monitor, na camada deliberativa tambm existe uma base de conhecimento do sistema que contm informaes sobre fatos atuais e objetivos do rob. Esta base
de conhecimento recebe entradas provenientes do usurio e provenientes de um componente
responsvel por manter atualizado o modelo de mundo.
Todos os componentes da arquitetura DD&P trabalham de forma paralela. Esta caracterstica da arquitetura explorada mediante uma implementao fisicamente paralela da arquitetura.

53

3.9

Discusso comparativa

Com relao a maneira como planejamento interage com a execuo do sistema, quatro estratgias principais podem ser identificadas nas arquiteturas hbridas: seleo, conselho, adaptao, adiamento (ARKIN, 1998). A Tabela 3 mostra as principais caractersticas das arquiteturas
hbridas apresentadas, bem como a estratgia utilizada por cada arquitetura na interface entre
planejamento e execuo.
Tabela 3: Principais caractersticas das arquiteturas hbridas
Arquitetura

Principais Caractersticas

Estratgia

Referncias

de Interface
AuRA

planejamento hierrquico; planeja

seleo

depois executa; seleo e configu-

(ARKIN, 1986) (ARKIN,


1987b)

rao de comportamentos; esquema


motor;
SFX

componentes deliberativos agem em

seleo

(MURPHY;

ARKIN,

paralelo; gerenciador de recursos; fu-

1992) (MURPHY; MALI,

so sensorial; comportamentos indi-

1997) (MURPHY, 2000)

cam falhas neles mesmos; comportamentos em camadas estratgicas e tticas; seleo e configurao de comportamentos; coordenao por meio
de filtros;
DAMN

comportamentos deliberativos e rea-

seleo

(ROSENBLATT, 1997a)

tivos em paralelo; no existe hierar-

(ROSENBLATT, 1997b)

quia entre comportamentos; geren-

(ROSENBLATT,

ciador de pesos; peso de comporta-

(ROSENBLATT; PAYTON,

mentos depende da situao; com-

1989)

portamentos votam em aes;

1995)

54

Tabela 3: Principais caractersticas das arquiteturas hbridas (continuao)


Arquitetura

Principais Caractersticas

Estratgia

Referncias

de Interface
Agente

duas camadas (comportamento e seleo,

(FIRBY; PROKOPOWICZ;

adiamento

SWAIN, 1998)

trs camadas em paralelo; compor-

conselho,

(GAT, 1991)

tamentos indicam falhas neles mes-

seleo

seqenciamento); camada de comportamento capaz de identificar eventos; seqenciamento em tempo de


execuo utiliza RAP; modelo do
ambiente usado para identificar eventos, sucesso e falha na execuo de
tarefas;
Atlantis

mos; seqenciador pede ao deliberador informaes especficas sobre


o plano; seleo e configurao de
comportamentos; planeja depois executa; seqenciador usa ESL
SSS

trs camadas; camada inferior possui

seleo,

controladores servo; mtodos simb-

adaptao

licos de deliberao; seleo e configurao de comportamentos; baseada em subsuno; camada superior simblica estratgica; camada intermediria ttica; planejamento e reao formam uma "malha
de controle", mas possuem escopo
espacial e temporal distintos; falhas e progresso indicados por "eventos"percebidos no ambiente;

(CONNELL, 1992)

55

Tabela 3: Principais caractersticas das arquiteturas hbridas (continuao)


Arquitetura

Principais Caractersticas

Estratgia

Referncias

de Interface
Arquitetura

trs camadas; planejamento hierr-

Genrica

quico; planejamento acoplado com

1995) (ALAMI et al.,

supervisor para cada nvel hierr-

1998)

seleo

(NOREILS;

CHATILA,

quico; planejamento antes e durante execuo (auxiliado pelo supervisor); seqenciamento de mdulos funcionais (comportamentos);
seqenciador utiliza PRS;
Saphira

representao do ambiente em dife-

seleo,

(KONOLIGE;

rentes nveis de interpretao; com-

adiamento

1998)

(SAFFIOTTI;

portamentos deliberativos (estratgi-

RUSPINI;

KONOLIGE,

cos) guiam comportamentos reativos

1993)

(SAFFIOTTI;

(tticos); seqenciador utiliza PRS-

KONOLIGE;

Lite; coordenao por meio de lgica

1995) (CONGDON et al.,

nebulosa;

1993)
adaptao

(LYONS;

MYERS,

RUSPINI,

HENDRIKS,

Planejador-

planejamento e reao acoplados for-

Reator

mando uma "malha de controle";

1992)

configurao de parmetros e adapta-

DRIKS, 1995)

(LYONS; HEN-

o da estrutura de comportamentos;
novos comportamentos so gerados;
DD&P

duas camadas; baseada em com-

seleo,

(HERTZBERG;

portamentos paralelos; planejamento

adaptao

NHERR, 2001)

SCH-

contnuo e incremental; configurao


de parmetros dos comportamentos;
planeja e depois executa;

Ainda relacionado com a forma como planejamento e execuo interagem dentro da arquitetura, em algumas arquiteturas como a AuRA, o planejamento ocorre em uma etapa anterior a
execuo e s refeito se necessrio. Na arquitetura Atlantis, o seqenciador toma a iniciativa
de pedir ao planejador por planos de ao conforme necessrio. Em outras arquiteturas, planejamento ocorre em paralelo a execuo fazendo parte de uma espcie de malha de realimentao,
como no caso da arquitetura SSS, DD&P, e Planejador-Reator. Nestas arquiteturas, o planeja-

56

mento feito de forma incremental, constantemente alterando o sistema reativo de execuo


ou fornecendo um trecho de plano de ao para que possa ser executado. O intervalo de cada
interao entre os componentes de planejamento e os componentes de execuo pode variar de
arquitetura para arquitetura.
Em relao a forma como planejamento est organizado na arquitetura, em algumas das
arquiteturas hbridas, como a AuRA e a Arquitetura Genrica, o planejamento hierrquico.
Nestas arquiteturas o planejamento vai sendo detalhado de um nvel alto e geral (planejamento
de misses) at um nvel mais baixo e especfico (planejamento de movimento). Em contraste,
em algumas arquiteturas, como no caso da DAMN, o planejamento est mais interligado com
os comportamentos da arquitetura, sugerindo uma organizao mais heterrquica do controle.
Na maioria das arquiteturas pode-se identificar camadas que agrupam componentes que desempenham papeis semelhantes. Algumas possuem duas camadas, como a DD&P, PlanejadorReator, e Arquitetura de Agente. Outras possuem trs camadas, como a Atlantis, SSS, e Arquitetura Genrica. Para algumas arquiteturas esta diviso pode no ficar to clara como, por
exemplo, na arquitetura Saphira que organizada ao redor da representao que o rob tem do
mundo.
Em relao a maneira como a parte deliberativa interage com os comportamentos, os comportamentos podem ser seqenciador de acordo com um plano, como na arquitetura Saphira,
Atlantis, e Arquitetura Genrica. Alm disso, os parmetros que influenciam na coordenao
dos comportamentos podem ser configurados, como ocorre na AuRA e na DAMN. Tambm
os comportamentos podem ser organizados em camadas, como na arquitetura DD&P e SFX,
onde comportamentos mais deliberativos, considerados como estratgicos, podem ser usados
como guias de comportamentos mais reativos, considerados como tticos. Os mecanismos utilizados para coordenar os comportamentos podem ser, por exemplo, subsuno (SSS), campos
potenciais (AuRA), votao (DAMN), lgica nebulosa (Saphira), filtros (SFX).

3.10

Interao homem-rob

A interao homem-rob pode ocorrer de diversas formas dependendo da aplicao. Alguns critrios para classificar a interao homem-rob foram definidos por Yanco e Durry
(2002, 2004). Um destes critrios est relacionado ao papel que o homem desempenha na
interao com o rob, que pode ser o de supervisor, operador, parceiro de tarefa, mecnico ou
programador, e espectador.
No papel de supervisor, o homem define objetivos de navegao, tarefas ou misses que

57

o rob deve realizar de forma autnoma, e supervisiona a execuo destas tarefas. Em alguns
sistemas de controle, como nos trabalhos de Scholtz, Antonishek e Young (2004) e Murphy e
Rogers (1996), o usurio interage de forma remota com o rob. Estes sistemas de controle,
em particular, foram desenvolvidos para auxiliar o usurio na tarefa de superviso do rob e na
interpretao das informaes sensoriais adquiridas pelo rob enquanto ele se move de forma
autnoma no ambiente. O sistema de controle, aps interpretar as informaes sensoriais, avisa
o usurio quando o rob encontra algo no ambiente, ou quando o rob est em uma determinada
situao de particular interesse. Assim, o sistema ajuda a reduzir o nvel de ateno e fatiga do
usurio na tarefa de superviso e monitoramento das atividades do rob.
Em muitos outros sistemas de controle o homem desempenha o papel de supervisor ao
especificar um objetivo de navegao. Thrun et al. (1999), por exemplo, desenvolveram um
rob para servir de guia em um museu. O visitante escolhia as exibies que gostaria de ver e
o rob o conduzia por estas exibies. Durante o horrio de abertura do museu, os visitantes
podiam interagir diretamente com o rob. Neste caso, alm do papel de supervisor, o usurio
tambm interagia no papel de espectador j que dividia o mesmo espao fsico que o rob
autnomo. Interagindo dessa forma, o usurio acabava aprendendo como se comportar e como
dividir o mesmo espao com o rob. Durante alguns horrios pr-definidos, quando o museu
estava fechado, o usurio voltava a interagir com o rob no papel de supervisor, pois podia
escolher remotamente, pela Internet, posies para as quais gostaria que o rob se deslocasse
de forma autnoma.
Alm destes exemplos, muitas das arquiteturas apresentadas, como o caso da arquitetura
hbrida AuRA (ALI; ARKIN, 2000) e do sistema deliberativo hierrquico chamado NASREM
(LUMIA; ALBUS, 1988), permitem ao usurio interagir no papel de supervisor ao especificar um
objetivo de navegao, uma misso, ou uma tarefa ao rob. Na arquitetura AuRA, tambm
no papel de supervisor, o homem pode alterar o comportamento geral do sistema ajustando os
pesos atribudos a cada comportamento.
No papel de operador o homem interage com rob de forma mais intensa do que no papel de
supervisor. Afinal, quando o homem est operando o rob ele est interferindo de forma mais
especfica e contnua nas aes do rob. Este tipo de interao observada na tele-operao e
no controle semi-autnomo do rob. Na arquitetura hierrquica deliberativa NASREM (LUMIA;
ALBUS, 1988), por exemplo, o homem pode controlar diretamente os movimentos de baixo nvel

do rob (tele-operao). Na verdade, a arquitetura NASREM prev a interao do homem com


o sistema em nveis distintos do controle do rob. J na arquitetura AuRA, o usurio pode compartilhar o controle com o rob ao fornecer em tempo de execuo direes de navegao. Estes

58

comandos de direo so tidos pelo sistema como se fossem entradas de controle provenientes
de um comportamento. Esta entrada combinada com os demais comportamentos do sistema
(desvio de obstculo, por exemplo) para gerar uma resposta que satisfaa ambos. No caso da
arquitetura AuRA, as entradas de controle so consideradas como vetores de fora artificial e a
combinao destas entradas feita por meio da soma destes vetores. Outras arquiteturas tambm permitem ao usurio compartilhar o controle com o sistema no papel de operador de forma
semelhante AuRA, como o caso da DAMN e da SFX.
Diferentemente do papel de supervisor e operador, no papel de parceiro de tarefa o homem
no especifica diretamente as aes que o rob deve desempenhar. Ao invs disso, ele ajuda
o rob a desempenhar sua tarefa como um colega de trabalho. Esta forma de interao pode
ser vista no trabalho de Nicolescu e Mataric (2003). Quando o rob no consegue realizar uma
tarefa, ele procura o homem e pede para que ele o ajude no cumprimento da tarefa. Observando
a ao realizada pelo homem, o rob aprende a lidar com a situao com a qual teve dificuldade. Em alguns casos, o rob apenas se beneficia da ao do homem no ambiente, como, por
exemplo, quando o homem remove um obstculo que impede que o rob alcance seu objetivo.
Um outro trabalho onde o homem visto como parceiro de tarefa do rob apresentado por
Marble et al. (2004).
Por fim, existem ocasies em que o software ou o hardware do rob precisa ser alterado.
Ento o homem interage com o rob no papel de mecnico ou programador. Os robs enviados a
Marte, por exemplo, podiam receber atualizaes de software enviadas a partir da base na Terra.
Estas atualizaes eram feitas para que o rob pudesse lidar de forma melhor com as condies
do planeta, melhorando seu desempenho. Os desenvolvedores determinavam as atualizaes
necessrias estudando as informaes enviadas pelo rob. Algumas vezes, estas atualizaes
poderiam corrigir erros, ou algum problema no sistema, que fosse detectado durante a misso
do rob em Marte (MARS. . . , 2004).
Neste trabalho em particular, a arquitetura hbrida desenvolvida para o rob mvel deve
permitir a interao do homem no papel de supervisor e operador. No papel de operador do
rob, o usurio humano deve poder compartilhar o controle do rob com o sistema de navegao autnoma. Esta arquitetura e o mecanismo desenvolvido para coordenar as entradas de
controle do operador humano com as entradas de controle do sistema de navegao autnoma
so mostrados no captulo 5.

59

Planejamento de movimento

Planejamento baseado em um modelo do mundo, ou do ambiente, uma das atividades


deliberativas que compe uma arquitetura hbrida para robs mveis. Em geral, o planejamento
pode ser feito em diferentes nveis de abstrao. Estes nveis podem variar desde um nvel
mais alto, como no caso do planejamento de misses e de tarefas, at um nvel mais baixo e
especfico, como o caso do planejamento de movimento, que procura resolver principalmente
o problema de navegao autnoma (LAVALLE, 2006).
O planejamento em um nvel alto de abstrao procura encontrar formas realizar misses
ou tarefas complexas e abrangentes dividindo-as em atividades, ou subtarefas, mais simples
e especficas. O modelo do mundo utilizado neste tipo de planejamento pode envolver uma
descrio mais simblica do ambiente, como a utilizada pelo mtodo de planejamento STRIPS
(FIKES; NILSSON, 1971), ou mesmo a representao de entidades do ambiente como feito
na arquitetura Saphira. O planejador tambm pode levar em conta o conhecimento a respeito
do prprio rob, como, por exemplo, os comportamentos que o rob capaz de desempenhar
e as situaes onde cada um destes comportamento pode ser aplicado, informaes sobre os
recursos do rob (sensores, atuadores), etc. Algumas arquiteturas hbridas utilizam linguagens
especficas para descrever comportamentos, habilidades, ou at mesmo, subtarefas, auxiliando
no planejamento das aes do rob. Algumas destas linguagens so: RAP (FIRBY, 1989), PRS
(GEORGEFF; LANSKY, 1987), ESL (GAT, 1997), dentre outras. O resultado do planejamento
pode ser um plano de ao descrito por uma seqncia de subtarefas que podem ser executadas
por comportamentos bsicos disponveis no sistema.
A navegao autnoma de um rob mvel uma das tarefas ou atividades que pode fazer
parte de uma misso mais complexa do rob. Utilizando-se mtodos de planejamento de movimento possvel determinar quais movimentos o rob deve realizar de forma que alcance uma
posio ou configurao desejada no ambiente sem que ocorram colises com obstculos (LATOMBE, 1991), cumprindo assim a tarefa de navegao autnoma. Os mtodos de planejamento

de movimento podem envolver outras questes alm de determinar trajetrias livres de colises
dentro de um ambiente conhecido pelo rob. Uma destas questes gerar trajetrias possveis

60

de serem executadas pelo rob considerando aspectos da dinmica do rob e suas restries de
movimento. Alm disso, os mtodos de planejamento de movimento podem considerar formas
de se lidar com obstculos dinmicos percebidos durante a execuo do movimento, ou com
incertezas no movimento.
A arquitetura que est sendo proposta neste trabalho procura resolver principalmente tarefas de navegao enquanto permite a interao com o usurio humano. Dessa forma, o enfoque
deste trabalho ser em mtodos de planejamento de movimento para navegao. Estes mtodos so apresentados de forma detalhada por Latombe (1991), Choset et al. (2005), e LaValle
(2006), dentre outros. Algumas das abordagens utilizadas para planejamento de movimento so:
roadmaps, decomposio em clulas, campos potenciais, e planejamento baseado em amostragem. Estas abordagens geralmente utilizam o espao de configuraes para representar o
ambiente ou espao de trabalho do rob.

4.1

Espao de configuraes

Antes de definir configurao e espao de configuraes de um rob, interessante falar


sobre o espao de trabalho de um rob. O espao de trabalho, W, o espao fsico por onde
o rob se move, que pode ser definido no espao Euclidiano bidimensional ou tridimensional
representado por R2 e R3 respectivamente. No caso de robs mveis que se deslocam apenas
no plano, o espao de trabalho bidimensional, ou seja, definido em R2 . J para robs manipuladores e robs mveis areos ou submarinos, o espao de trabalho tridimensional, ou
seja, definido em R3 . Algumas vezes o espao de trabalho pode ter um significado especial.
No caso de robs manipuladores, geralmente o espao de trabalho considerado apenas como
sendo o conjunto de pontos do espao Euclidiano tridimensional que podem ser alcanados pelo
efetuador do rob.
Um rob, R, pode ser representado como sendo um subconjunto compacto, ou seja, um
subconjunto fechado e limitado, do espao de trabalho W. Um conjunto considerado fechado
se ele inclui todos os seus pontos limites. Por exemplo, o intervalo [0, 1) R semi-aberto
e limitado, e portanto, no compacto. No entanto, o intervalo [0, 1] fechado e limitado, e
conseqentemente compacto. J o espao Rn no limitado e, portanto, no compacto.
Os obstculos no ambiente, Bi , ..., Bq , so definidos como subconjuntos fechados de W.
Define-se tambm FR e FW como sendo os sistemas de coordenadas cartesianas em R e W
respectivamente.
A configurao, q, de um rob, R, pode ser definida como sendo a especificao completa

61

da posio de todos os pontos do rob relativa ao sistema de coordenadas fixo do ambiente, FW .


O nmero mnimo de parmetros necessrios para especificar de forma completa a configurao
de um rob o nmero de graus de liberdade, m, deste rob. Para uma dada configurao q, o
subconjunto do espao de trabalho, W, ocupado pelo rob, R, representado por R(q).
Finalmente, o espao de configuraes, C, de um rob definido como sendo o conjunto
de todas as configuraes possveis para este rob. Neste espao de configuraes, o rob
considerado como sendo um ponto, q. Este espao uma ferramenta muito utilizada na
formulao de problemas de planejamento de movimento, sendo que toda a geometria da tarefa
pode ser mapeada neste espao. Esta idia foi primeiramente introduzida por Udupa (1977), e
popularizada na rea de planejamento de movimento por Lozano-Perez (1983) que explorou a
idia de forma sistemtica.
Dentro do contexto de espao de configuraes, pode-se definir dois conjuntos que auxiliam a formulao de problemas de planejamento de movimento: o espao de configuraes
ocupadas por obstculos, Cobs , e espao de configuraes livres, Cf ree .
O espao de configuraes ocupado por obstculos, Cobs , definido como sendo o conjunto
de configuraes para as quais existe interseco entre o rob e os obstculos:
Cobs = {q C/R(q) B =
6 }

(4.1)

O espao de configuraes livres, Cf ree , definido como sendo o espao em que no ocorre
interseco do rob com os obstculos:
Cobs = {q C/R(q) B = }

(4.2)

A partir de um mapa do ambiente de trabalho que represente os obstculos, e a partir da


geometria do rob, possvel determinar Cobs e conseqentemente Cf ree .
Como exemplo, considere um rob circular que efetua somente movimentos de translao
em um plano. A configurao do rob dada pelas coordenadas do ponto de referncia do rob
localizado no seu centro, q = {x, y}. O espao de configuraes para este rob bidimensional
e pode ser representado em R2 . Alm disso, para deste rob o ambiente de trabalho tambm
bidimensional representado pelo espao Euclidiano R2 . Entretanto, importante notar que
mesmo tendo a mesma dimenso, o espao de configuraes, C, diferente do espao de trabalho, W. Para determinar o espao de configuraes ocupado pelos obstculos, desloca-se o
rob ao redor de cada obstculo no espao de trabalho conforme mostra a Figura 11. A trajetria
descrita pelo ponto de referncia do rob, {x, y}, define a fronteira do obstculo em C. Dessa

62

forma determina-se a restrio que o obstculo impe sobre a configurao do rob. Para este
caso, os obstculos no espao de configuraes equivalem aos obstculos no ambiente de trabalho expandidos pela dimenso radial do rob circular. Na Figura 11, Cobs representado pelas
reas em cinza e preto. O espao de configuraes livres, Cf ree , corresponde ao complemento
de Cobs em C.

Figura 11: Espao de configuraes de um obstculo quadrado para um rob circular. A rea
preta representa o obstculo no ambiente de trabalho, e a rea cinza o obstculo no espao de
configuraes.
No caso de um rob mvel com dimenso retangular alongada, capaz de se transladar e
rotacionar livremente em um plano, ou seja, no espao de trabalho W = R2 , a varivel de
configurao dada por q = {x, y, }, e o espao de configuraes tridimensional, C =
R3 . Para este rob, a construo do espao de configuraes ocupado pelos obstculos feita
da seguinte forma. Para cada valor de orientao do rob, deslizar-se o rob em torno dos
obstculos no ambiente de trabalho, conforme ilustrado na Figura 12. As posies que o ponto
de referncia do rob descreve enquanto o rob desliza ao redor dos obstculos define a fronteira
do obstculo no espao de configuraes. Assim, de maneira semelhante ao caso exemplificado
anteriormente, pode-se determinar Cobs e Cf ree . Nota-se entretanto que, neste caso, dependendo
da orientao do rob, o obstculo assume uma geometria diferente no espao de configuraes
(Figura 13). Isso reflete o fato de que regies do espao de trabalho s podem ser alcanadas
quando o rob est em determinada orientao. Por exemplo, no espao de configuraes,
corredores estreitos, cuja largura pouco maior que a largura do rob mas menor que o seu
comprimento, aparecero obstrudos dependendo da orientao do rob.
Uma vez definido o espao de configuraes livres, planejar um caminho livre de colises
encontrar um caminho em Cf ree que conecta a configurao inicial qinit configurao de-

63

sejada de destino qgoal , se estas configuraes estiverem no mesmo componente conectado de


Cf ree . Caso contrrio, o planejador deve reportar que no existe caminho sem coliso entre as
configuraes inicial e final.

Figura 12: Espao de configuraes de um obstculo quadrado para um rob retangular em


duas direes diferentes. A rea preta representa o obstculo no ambiente de trabalho, e a rea
cinza o obstculo no espao de configuraes.

Figura 13: Espao de configuraes de um obstculo quadrado para um rob retangular em


funo da orientao do rob.

64

4.2

Planejamento utilizando roadmaps

Uma roadmap uma rede de curvas unidimensionais que captura a conectividade do espao
de configuraes livres. Uma vez que esta rede construda, ela pode ser usada para fornecer
solues de caminhos por onde o rob pode se mover. Esta rede pode ser comparada a uma
malha rodoviria principal. Para viajar de uma cidade a outra, um indivduo primeiramente
encontra um caminho que o leve de seu ponto de origem at esta malha rodoviria principal.
Ento dirige nesta malha at um ponto prximo cidade de destino. Neste ponto, deixa a
rodovia principal para chegar na cidade de destino desejada. Da mesma forma, o planejamento
de trajetria utilizando uma roadmap envolve duas etapas. A primeira encontrar um caminho
que conecte a configurao inicial, qinit , e a configurao final do rob, qgoal , a roadmap. Seja
q init e q goal , respectivamente, o ponto de conexo de qinit e qgoal a roadmap. Ento, a segunda
etapa procurar um caminho na roadmap que ligue os dois pontos de conexo q init e q goal .
Vrios mtodos que utilizam roadmaps so apresentados por Latombe (1991) e Choset et al.
(2005). Destes, pode-se citar o mtodo do grafo de visibilidade, mtodo de retrao (diagrama
de Voronoi generalizado), e o mtodo da silhueta. Cada um destes mtodos prope uma maneira
diferente de se construir a roadmap.
O mtodo do grafo de visibilidade foi um dos mtodos mais antigos de planejamento de
trajetria (NILSSON, 1969) e pode ser aplicado para espaos de configuraes bidimensionais
com obstculos (Cobs ) poligonais. Em um grafo de visibilidade, um n do grafo conectado a
outro se estes ns esto no campo de viso um do outro. Alm disso, cada ponto do espao de
configuraes livres deve estar no campo de viso de pelo menos um n do grafo de visibilidade.
Esta ltima condio garante que possvel acessar a roadmap de qualquer ponto de Cf ree . A
criao de um grafo de visibilidade feita quando se conecta com uma linha reta dois pares de
vrtices na fronteira de Cf ree (vrtices dos obstculos em Cobs ) desde que esta linha no atravesse
o interior de nenhum obstculo. A Figura 14 mostra um exemplo de grafo de visibilidade
indicando uma possvel soluo que conecta dos pontos no espao de configuraes.
O mtodo de retrao (DUNLAING; SHARIR; YAP, 1983) consiste em construir uma roadmap a partir de um mapeamento contnuo de Cf ree na roadmap. Um exemplo deste mtodo
a construo de uma roadmap pela retrao de Cf ree no seu diagrama de Voronoi generalizado
(CHOSET et al., 2005). Este diagrama definido como sendo um subconjunto unidimensional de
Cf ree que maximiza a distncia entre o rob e os obstculos (Figura 15).
O mtodo da silhueta proposto por Canny (CANNY, 1988) um mtodo geral de roadmap
que resolve o planejamento de movimento em tempo exponencial dimenso do espao de con-

65

Figura 14: Exemplo de um grafo de visibilidade.

Figura 15: Exemplo de um diagrama generalizado de Voronoi.


figuraes. Este mtodo constri uma roadmap a partir da silhueta do espao de configuraes
livres. No entanto, esta silhueta formada por segmentos de curva desconexos. O mtodo ento
adiciona alguns segmentos na roadmap para conectar estes segmentos de curva desconexos da
silhueta. Esta conexo ocorre em pontos crticos da silhueta, definidos de modo geral como
sendo pontos onde ocorre uma mudana na conectividade da roadmap. Uma definio mais
detalhada deste mtodo apresentada por Latombe (1991) e Choset et al. (2005).

4.3

Decomposio em clulas

A decomposio do espao de configuraes livres em regies menores chamadas clulas


uma estratgia que pode ser utilizada para simplificar o planejamento de trajetria. A idia
que dentro de cada clula, a trajetria entre dois pontos possa ser facilmente gerada.

66

Quando duas clulas possuem uma fronteira em comum, elas so clulas adjacentes. A
relao de adjacncia ou conectividade entre as clulas pode ser ento representada por um
grafo no direcional. Cada n neste grafo representa uma clula, e cada aresta significa que
duas clulas so adjacentes. Uma vez que o espao de configuraes livres dividido em
clulas, e este grafo de adjacncia construdo, o planejamento de movimento feito em duas
etapas. Na primeira etapa, determina-se quais clulas contm a configurao inicial e a final do
rob. Ento uma busca feita no grafo de adjacncia para encontrar uma seqncia de clulas
que v da clula que contm a configurao inicial at a clula que contm a configurao final.
A segunda etapa do mtodo de planejamento determinar, dentro de cada clula da seqncia,
uma curva que ligue pontos na fronteira dessas clulas, permitindo que o rob se mova de
uma clula a outra, partindo da configurao inicial e chegando na configurao final desejada.
A Figura 16 mostra um exemplo de um espao de configuraes dividido em clulas, e uma
trajetria que liga um ponto a outro no espao.

Figura 16: Exemplo de decomposio do ambiente em clulas.


Os mtodos de decomposio em clulas podem ser divididos em mtodos de decomposio exata e mtodos de decomposio aproximada.
Na decomposio exata, a unio das clulas corresponde exatamente ao espao de configuraes livres. A diviso de clulas feita em pontos crticos do espao, ou seja, pontos em que
ocorre a diviso do espao livre por um obstculo.
Na decomposio aproximada, o espao de configuraes livres decomposto em clulas
de um formato especfico, como, por exemplo, retngulos de diversos tamanhos. A unio destas
clulas no corresponde exatamente ao espao livre, mas est includa nele. Neste tipo de
decomposio, a diviso das clulas no ocorre necessariamente em um ponto crtico do espao.
Um exemplo de diviso aproximada em clulas a diviso do ambiente em quadtrees quando

67

o espao de configuraes bidimensional, e octrees quando o espao tridimensional.


Os mtodos de decomposio exata so considerados mtodos de planejamento completo,
ou seja, o mtodo capaz de encontrar uma soluo para o problema de planejamento se ela
existir, e de informar da no existncia de solues caso contrrio. J o mtodo de decomposio aproximada considerado um mtodo de resoluo-completa, ou seja, se uma soluo para
o problema existir, o mtodo capaz de encontr-la dependendo da resoluo mxima usada
para dividir o ambiente. Quanto maior a resoluo, mais a decomposio se aproxima da decomposio exata, e mais provvel de se encontrar uma soluo se esta existir. Dependendo
da configurao inicial e final do rob e dos obstculos no ambiente, existe um determinado
valor de resoluo para o qual a soluo pode ser encontrada. Entretanto, quanto maior a resoluo, maior tambm o espao computacional necessrio para representar a decomposio em
clulas.

4.4

Campo potencial

Nos mtodos de campo potencial, um campo escalar (q), que tambm pode ser chamado
de funo potencial, definido sobre o espao de configuraes C. O rob representado por
um ponto q neste espao de configuraes age como se fosse uma partcula que se move sob
a influncia de uma fora artificial dada pelo gradiente negativo da funo potencial, (q).
A cada intervalo de tempo, o gradiente negativo da funo calculado para a configurao na
qual o rob se encontra. Este gradiente considerado como sendo a direo de movimento mais
promissora para que o rob alcance seu objetivo.
O mtodo de campos potenciais foi desenvolvido inicialmente por Khatib (1985) como um
mtodo para navegao e desvio de obstculos quando no se tem conhecimento a priori do
ambiente, e portanto os obstculos so percebidos a medida que o rob navega.
Dentro deste contexto, um potencial de atrao, att , associado configurao de destino desejada, qgoal . Um potencial de repulso, rep , associado aos obstculos no espao de
configuraes, Cobs , que vo sendo percebidos a medida que o rob navega. O potencial att
independe dos obstculos, e o potencial rep independe da configurao de destino. A soma
destes dois campos potenciais resulta no campo potencial que age sob o rob.
Esta abordagem considerada como um planejamento de movimento local pois no se
considera os obstculos que se encontram alm de uma determinada regio ao redor do rob,
ou seja, fora do alcance de seus sensores. Dessa forma, esta abordagem muito utilizada para
definio de comportamentos reativos em diversas arquiteturas reativas e hbridas.

68

Apesar de ser um mtodo de tempo real eficiente se comparado com os outros mtodos de
planejamento de movimento, no se pode garantir que o rob alcance a configurao desejada
qgoal . Na maioria dos mtodos baseados em campos potenciais, o rob pode ficar preso em
mnimos locais. Apesar disso, existem algumas tcnicas ad hoc para lidar com estas situaes
e tentar fazer com que o rob saia destes mnimos locais (BARRAQUAND; LATOMBE, 1991).

4.4.1 Funo de navegao


Rimon e Koditschek (1992) introduziram um tipo especial de funo potencial que no possui mnimos locais. Para o clculo desta funo, chamada funo de navegao, necessrio o
conhecimento global do ambiente de trabalho, incluindo os obstculos, ou seja, o conhecimento
prvio do espao de configuraes livres do rob. Dessa forma, este mtodo considerado um
mtodo de planejamento global, assim como o mtodo de decomposio em clulas e o mtodo
de roadmaps.
Uma funo de navegao definida da seguinte forma (RIMON; KODITSCHEK, 1992):
Seja Cf ree o espao de configuraes livres do rob, e qgoal a configurao final desejada
para o rob dentro de Cf ree . Um mapeamento : Cf ree [0, 1] uma funo de navegao se
ela :
1. suave em Cf ree , ou seja, ela possui derivadas de segunda ordem contnuas;
2. polar em qgoal , ou seja, possui um nico mnimo em qgoal no componente conectado de
Cf ree que contm qgoal ;
3. admissvel em Cf ree , ou seja, uniformemente mxima na fronteira de Cf ree ;
4. uma funo do tipo Morse.
Uma funo do tipo Morse uma funo cujos pontos crticos, ou seja, os pontos em que
a derivada ou gradiente da funo zero, no so degenerativos. Isso significa que os pontos
crticos so isolados, e que quando se usa um mtodo de descida pelo gradiente de uma funo
do tipo Morse, qualquer perturbao aleatria capaz de fazer com que o mtodo saia de um
ponto de sela ou de mximo.
Rimon e Koditschek (1992) utilizam os requisitos 2, 3 e 4 da definio para provar a convergncia da funo de navegao para praticamente qualquer configurao inicial do rob, qinit ,
desde que qinit pertena ao domnio de atrao da funo de navegao, ou seja, qinit e qgoal pertenam ao mesmo subconjunto conectado de Cf ree . O requisito 1, que estabelece que a funo

69

de navegao deve ser suave, imposto pois geralmente deseja-se que o rob siga o gradiente
negativo da funo. J o requisito 3 faz com que o rob no colida com os obstculos representados por Cobs ao navegar pelo gradiente negativo da funo. A funo de navegao deve
ser do tipo Morse, requisito 4, pois se qinit estiver em um ponto de sela onde = 0, qualquer
perturbao faz com que o rob se liberte deste ponto e inicie seu movimento em direo a qgoal .
Rimon e Koditschek (1992) mostram como calcular uma funo de navegao para um
ambiente de esferas. A fronteira deste ambiente definida por um disco n-dimensional. Os
obstculos contidos neste ambiente tambm possuem a forma de disco, mas no deve haver
interseco entre os obstculo, e nem entre um obstculo e a fronteira do ambiente de esferas.
A fronteira externa de um ambiente de esferas representada por 0 , e dada pela seguinte
expresso em funo de seu raio 0 e seu centro q0 :
0 (q) = kq q0 k2 + 0 2 ,

(4.3)

Neste ambiente, um obstculo circular j , para j = 1, 2, ..., n, dado pela seguinte expresso em funo de seu raio j e a coordenada do seu centro qj :
j (q) = kq qj k2 j 2 .

(4.4)

A funo de navegao neste ambiente dada por:


k (q) =

kq qgoal k2
[kq qgoal k2 + (q)]1/k

(4.5)

onde,
,

m
Y

(4.6)

j=0

O parmetro k controla a suavidade da funo de navegao. Para um dado ambiente de


trabalho este parmetro deve ser definido de forma que a funo no apresente mnimos locais.
Conforme k aumenta, o nmero de mnimos locais diminui. A Figura 17 ilustra uma funo
de navegao criada para um determinado ambiente de esferas. Para calculo desta funo foi
usado k = 2.9 que, para este ambiente, fez com que a funo no possusse nenhum mnimo
local.
Dificilmente um ambiente de esferas representa um ambiente real. Por esta razo, Rimon
e Koditschek (1992) mostram que se um ambiente de esferas puder ser mapeado de modo
difeomrfico em um ambiente de geometria mais complexa, existe uma funo de navegao

70

25

20
08
0.

0.1

15

24

10

0.

0.16
5

0.08

0.02

0
0.

0.00

0
0.

0.04

01

0.0

qgoal

10

15

20

25
25

20

15

10

10

15

20

25

Figura 17: Funo de navegao em um mundo de esferas.


definida neste ambiente de esferas que tambm pode ser mapeada para este outro ambiente
preservando as suas propriedades de funo de navegao. Um mapeamento difeomrfico um
mapeamento suave, bijetor, e que possui inversa tambm suave.

4.4.2 Seqncia de funes de navegao


Muitas vezes difcil definir uma nica funo de navegao para todo o espao de configuraes livres do rob, mesmo utilizando ferramentas de difeomorfismo. Um artifcio que
pode ser usado para contornar esta dificuldade utilizar uma seqncia de vrias funes de
navegao. Neste caso, o domnio de convergncia de cada uma destas funes de navegao
definido como sendo um subconjunto do espao de configuraes livres, Cf ree , e a unio de
todos os domnios de convergncia abrange todo Cf ree . Estas funes so definidas de forma
que uma funo responsvel por levar o rob at o domnio de convergncia de outra funo, e assim sucessivamente, at que o rob alcance o domnio de convergncia da funo de
navegao responsvel por lev-lo configurao final global desejada.
Uma forma de entender este mtodo imaginar cada funo de navegao como sendo
um funil. A parte mais estreita do funil equivale configurao de destino da funo, ou seja,
ao objetivo da funo, ou regio de mnimo global da funo. Para qualquer configurao
inicial que o rob possua, desde que dentro da regio para a qual a funo definida, o rob
conduzido at o objetivo da funo de navegao como se estivesse escorregando ao longo do
funil. Pode-se ento definir uma seqncia de funis, sendo que um funil conduz o rob para
dentro de outro funil (Figura 18), at que o rob chegue ao seu destino final.

71

Figura 18: Seqenciamento de controladores.


Burridge, Rizzi e Koditschek (1999) apresentam esta idia de composio seqencial de
controladores para resolver problemas complexos de controle de robs manipuladores. No
trabalho apresentado por eles, os controladores no so necessariamente funes de navegao,
mas sim controladores projetados para desempenhar um comportamento dentro da tarefa de
manipulao. Cada um destes controladores possui um domnio de convergncia prprio, sendo
que a unio destes domnios de convergncia abrange todo o espao de configuraes livres da
tarefa.
Conner, Rizzi e Choset (2003) utilizam o seqenciamento de funes de navegao combinado com o mtodo de decomposio de clulas para resolver problemas de navegao com
robs mveis. No mtodo apresentados por eles, o espao de configuraes primeiramente
dividido em clulas de geometria simples, para as quais pode-se definir funes de navegao
sem muita dificuldade. Ento, uma vez que a configurao final para o rob especificada,
determina-se possveis seqncias de clulas pelas quais o rob deve caminhar para que chegue a clula que contm a configurao final. At aqui o mtodo se assemelha ao mtodo de
planejamento baseado em decomposio de clulas. Finalmente, uma funo de navegao
definida dentro de cada clula do ambiente. Isto feito de forma que o rob possa ser conduzido ao longo de uma seqncia de clulas at a configurao final desejada. Para isso, cada
funo dentro de uma clula conduz o rob at a fronteira da clula com a prxima clula da
seqncia. Uma vez que o rob atravessa a fronteira da clula em que est, ele cai no domnio
de convergncia de outra funo de navegao. Isso feito sucessivamente, at que a funo de
navegao na ltima clula conduz o rob at a configurao de destino desejada.

72

4.4.3 Funes potenciais numricas


Funes de navegao analticas, conforme descrito na seo 4.4.1, so difceis de serem
construdas para todo um espao de configuraes com geometria complexa. Na seo anterior,
foi apresentada uma soluo de planejamento de movimento que lida com esta dificuldade utilizando uma seqncia de funes de navegao analticas. Uma outra soluo fazer o clculo
numrico de uma funo de navegao para todo o espao de configuraes.
Barraquand, Langlois e Latombe (1992) apresentam algoritmos para calcular numericamente uma aproximao de uma funo de navegao. Uma das formas de calcular este tipo de
funo numrica aproximada usando programao dinmica em um espao de configuraes
representado na forma de uma grade. Para isso pode-se utilizar um algoritmo de planejamento
chamado de wave-front.
Este algoritmo funciona da seguinte forma. Considere, por exemplo, um espao de configuraes bidimensional. Inicialmente dado ao planejador uma grade binria que representa
o espao de configuraes. Cada elemento, ou pixel desta grade que corresponde ao espao
livre possui valor zero, e cada pixel que corresponde a um obstculo possui um valor infinito
(na prtica, um valor muito alto que usado para identificar que o pixel est ocupado por um
obstculo). Uma vez fornecida a configurao de destino desejada, qgoal , o planejador atribui o
valor 1 ao pixel que equivale a esta configurao. A partir da o algoritmo de wave-front tem
incio, e calcula valores de potencial para os pixels do espao de configuraes livres (os pixels
que contm obstculos j foram marcados com valor de potencial infinito). Define-se p como
sendo o custo que o rob tem de se mover de um pixel para o seu pixel vizinho. No primeiro
passo, cada um dos pixels vizinhos de qgoal que esto no espao livre recebem o valor de qgoal
acrescentado de p. Por exemplo, se apenas os vizinhos 4-conectados forem considerados,
estes poderiam receber o valor 2. Se, ao invs disso, os vizinhos 8-conectados forem considerados, pode-se, por exemplo, atribuir o valor 2 aos vizinhos que se encontram ao norte, sul, leste e
oeste de qgoal , e 2.5 aos vizinhos que esto conectados por uma diagonal com qgoal . Isto assume
que o custo de se mover na diagonal maior que o custo de se mover lateralmente, j que a
distncia percorrida entre o centro dos pixels maior quando se move na diagonal. No segundo
passo, seja qi um vizinho de qgoal que acabou de ter seu valor atualizado, verifica-se entre os
vizinhos de qi (no ocupados por um obstculo) se existe um pixel qj com valor zero ou com
valor superior ao valor de qi somado a p. Se houver, o pixel qj ter seu valor atualizado para
que seja igual ao valor qi somado a p. O algoritmo procede at que no existam mais pixels
que precisem ter seus valores atualizados.
Este tipo de algoritmo resulta em uma funo com um nico mnimo local. Alm do mais,

73

o gradiente negativo desta funo conduzir o rob pelo caminho de menor distncia, ou de
menor custo total, entre a configurao atual do rob e a configurao final de destino. Entretanto, a funo potencial numrica resultante deste mtodo no pode ser considerada uma
funo de navegao pois no possui todas as propriedades de tal funo. Por exemplo, existe
uma descontinuidade da funo na fronteira de Cf ree e Cobs . Nos pixels de Cf ree em torno dos
obstculos a funo no uniformemente mxima. Dessa forma, o caminho percorrido pelo
rob, ao seguir o gradiente negativo da funo, passar bem prximo dos obstculos, na borda
de Cobs . Por fim, em relao a aplicao do algoritmo apresentado, ele geralmente adequado
quando a dimenso do espao de configuraes pequena, ou seja, m = 2 e 3, j que o algoritmo percorre todo o espao de configuraes e sua complexidade exponencial dimenso
do espao de configuraes.
Uma variao do mtodo de wave-front descrito anteriormente procura fazer com que a
funo potencial conduza o rob o mais longe possvel dos obstculos, ou seja, conduza o rob
ao longo do diagrama de Voronoi generalizado do espao de configuraes livres (Figura 15).
Entretanto, utilizando a funo potencial resultante deste mtodo, o caminho descrito pelo rob
no ser mais o caminho de menor distncia at a configurao final desejada. Este algoritmo
descrito em detalhes por Latombe (1991) e LaValle (2006).
A funo de navegao tambm pode ser calculada utilizando um mtodo de elementos
finitos (PIMENTA et al., 2005). Este mtodo permite a discretizao de um espao de configuraes de dimenso n em elementos de tamanho varivel. Em regies de grande variao do
gradiente da funo de navegao, o tamanho dos elementos utilizados para discretizar o ambiente menor, e em regies de menor variao do gradiente da funo de navegao, o tamanho
dos elementos pode ser maior. No calculo da funo de navegao utilizando este mtodo, podem ser impostas condies para que a funo possua um valor uniforme na fronteira com os
obstculos, fazendo com que o rob ao navegar no se aproxime demais deles.

4.5

Planejamento de movimento baseado em amostragem

Os mtodos de planejamento de movimento baseados em amostragem, diferentemente dos


demais mtodos apresentados, no utilizam uma construo explcita do espao de configuraes dos obstculos, Cobs . Ao invs disso estes mtodos realizam uma busca por caminhos livres
no espao de configuraes utilizando mtodos de amostragem. Por isso, estes mtodos so eficientes no planejamento de movimento de robs com grande nmero de graus de liberdade, ou
seja, em um espao de configuraes de dimenso maior que 3. Entretanto, por trabalharem

74

com uma amostragem do espao de configuraes, estes mtodos no podem ser considerados
mtodos completos de planejamento. Ao invs disso, utiliza-se um conceito mais fraco que
este, e considera-se que os mtodos baseados em amostragem so probabilisticamente completos. Ou seja, conforme o tempo gasto na busca pela soluo tende a infinito, a probabilidade do
mtodo retornar uma soluo, se ela existir, tende a 1.
Os mtodos baseados em amostragem podem ser classificados em mtodos de busca nica
(single query), ou mtodos de busca mltipla (multiple queries). Os mtodos de busca nica
retornam uma nica soluo para uma configurao inicial e final fornecidas. O mtodo tambm reporta falha caso no consiga encontrar uma soluo dentro de um limite de tempo
pr-estabelecido. Os mtodos de busca mltipla investem um esforo significativo no prprocessamento do espao de configuraes para construir uma estrutura de dados (uma roadmap, por exemplo) que usada para tornar eficiente a busca por solues. Nestes mtodos,
uma vez que esta estrutura criada, considerando que no ocorrem mudanas no espao de
configuraes, podem-se encontrar solues para mltiplos pares de configuraes iniciais e
finais.
Como exemplo de mtodos de busca nica pode-se citar as rvores Aleatrias de Rpida
Explorao (Rapidly-exploring Random Trees, ou RRTs) e as rvores Densas de Rpida Explorao (Rapidly-exploring Dense Trees, ou RDTs)(LAVALLE, 2006). Como exemplo de mtodo
de busca mltipla, pode-se mencionar roadmaps probabilsticas (Probabilistic Roadmaps, ou
PRMs) (KAVRAKI et al., 1996).

4.6

Consideraes finais

Com exceo de um dos mtodos de campo potencial, o que se baseia na soma de potenciais independentes de repulso (atribudos a obstculos) e de atrao (atribudo ao objetivo
de navegao), os mtodos de planejamento de movimento apresentados utilizam um mapa do
ambiente. Mais precisamente, estes mtodos utilizam o espao de configuraes livre do rob
determinado a partir do mapa do ambiente. Assim, o planejamento feito assumindo-se que o
ambiente completamente conhecido e esttico.
Nestas condies, os mtodos de roadmap, de decomposio em clulas, funes de navegao e funes potenciais globais calculadas numericamente, podem ser considerados mtodos
completos de planejamento. Ou seja, garantem encontrar uma soluo para o problema se tal
soluo existir, ou dizer se nenhuma soluo existe. Quando o espao de configuraes aproximado por uma grade, quadtree, octree, ou qualquer forma de decomposio no exata do

75

ambiente, diz-se que o mtodo completo na resoluo utilizada para aproximao do espao
de configuraes. J o mtodo de planejamento baseado em amostragem probabilisticamente
completo. Neste caso, encontrar uma soluo para o problema, se esta soluo existir, depende
do tempo gasto na busca, ou melhor, gasto para amostragem do espao de configuraes.
No entanto, muitas vezes o ambiente no pode ser considerado esttico. Obstculos podem mudar de posio ou serem adicionados no ambiente, obstruindo a trajetria descrita pelo
plano de movimento do rob. Ou ainda, obstculos dinmicos podem transitar pelo ambiente
enquanto o rob navega. Embora o rob possa parar e replanejar a trajetria levando em conta
as mudanas percebidas no ambiente, esta alternativa nem sempre a mais adequada. Muitas
vezes o rob poderia ser capaz de se desviar de um obstculo imprevisto encontrado ao longo
do caminho, e ento continuar seguindo a trajetria planejada inicialmente sem a necessidade
de um replanejamento. Este replanejamento somente seria feito quando o desvio reativo de
obstculos no fosse suficiente para lidar com a mudana inesperada no ambiente, ou seja, o
rob no conseguisse progredir na sua trajetria em direo ao objetivo de navegao. Entretanto, dependendo do mtodo de planejamento escolhido, pode ser difcil implementar de
forma satisfatria o desvio reativo de obstculos de forma coerente com o plano de movimento,
e identificar situaes em que o replanejamento se faz necessrio.
Esposito e Kumar (2002) apresentam uma metodologia que permite combinar comportamentos reativos (desvio de obstculos e controle de formao, por exemplo) com um plano de
movimento descrito por uma funo de navegao. Eles mostram que o controlador que segue
o gradiente negativo da funo no o nico que garante a convergncia do rob para o objetivo
de navegao. Na verdade, existe um conjunto de solues admissveis, sendo que o gradiente
negativo a soluo de controle timo. Este conjunto determinado a cada instante ao longo
do movimento do rob. Os comportamentos reativos so definidos na forma de restries dinmicas que quando ativadas podem limitar a escolha de um controlador dentro do conjunto de
solues admissveis. A cada instante, o sistema deve escolher um controlador apropriado que
faa com que o rob atinja o objetivo de navegao ao mesmo tempo que satisfaz as restries
impostas pelos comportamentos reativos. Se em um dado momento no existir um controlador
que atenda ao mesmo tempo o plano de movimento e os comportamentos reativos, duas alternativas podem ser analisadas. A primeira desconsiderar, se possvel, um dos comportamentos
reativos. Isto feito quando o comportamento no vital na realizao da tarefa. claro que o
comportamento de desvio de obstculos no deve ser desconsiderado para que no ocorram colises, mas um comportamento de controle de formao pode ser descartado momentaneamente
dependendo da aplicao. Finalmente, se mesmo assim ainda no houver solues possveis,
deve-se fazer um replanejamento global da funo de navegao levando-se em conta as mu-

76

danas no ambiente que impedem o rob de progredir rumo ao seu objetivo. Neste caso, se
devido s mudanas no ambiente, o rob estiver em uma regio do espao de configuraes que
no est conectada ao objetivo de navegao, o algoritmo de planejamento indicar que no
existe soluo para o problema de navegao.
Outra forma de abordar o problema de planejamento em ambientes dinmicos intercalar
planejamento, movimento e sensoriamento de forma apropriada (interleaved planning). Um
exemplo disso o mtodo de planejamento proposto por Choset e Burdick (2000) baseado em
roadmaps. Eles prope o planejamento de movimento por meio de um Diagrama de Voronoi
Generalizado Hierrquico utilizando apenas a informao sensorial no campo de viso do rob.
O mtodo proposto utilizado em situaes em que o mapa do ambiente no est disponvel, e
pode ser usado para espaos de configuraes com dimenses altas. Neste tipo de planejamento
baseado em sensores, o plano de movimento construdo de forma incremental enquanto o rob
est se movimentando.
Um outro aspecto no discutido at aqui e que pode ser desejvel em um mtodo de planejamento de movimento a possibilidade deste mtodo lidar com a dinmica e eventuais restries de movimento do rob. Os mtodos apresentados anteriormente geralmente se preocupam
em encontrar um caminho no espao de configuraes livres para um rob holonmico, que
no possui restries cinemticas de movimento. No entanto, muitos robs mveis possuem
restries no-holmicas de movimento. Estes robs precisam fazer manobras para atingirem
determinadas configuraes.
Alguns dos mtodos apresentados podem ser modificados para que incluam a restrio de
movimento no-holonmica no planejamento. Um exemplo disso so os mtodos de planejamento baseado em amostragem. No mtodo de amostragem de busca nica, tal como a RRT, a
partir da configurao inicial do rob, constri-se uma rvore de possveis movimentos que explora o espao de configuraes at que um de seus ramos chegue na configurao final desejada
para o rob. Esta rvore pode ser construda de forma que se leve em considerao as restries
de movimento e a dinmica do rob. Assim, para uma dada configurao, a amostragem das
prximas configuraes (ramificaes da rvore) feita somente no espao de configuraes
possvel de ser alcanado ao considerar as restries de movimento e dinmica do rob.
Campos potenciais e funes de navegao tambm podem ser utilizadas neste contexto.
No trabalho de Esposito e Kumar (2002), um campo potencial dipolar utilizado pois o gradiente negativo deste campo descreve curvas que respeitam a restrio no-holonmica de um
rob mvel do tipo carro. Uma vez que o rob se encontra alinhado ao gradiente deste campo
dipolar, o gradiente conduzir o rob por uma trajetria possvel de ser seguida. Tanner, Loizou

77

e Kyriakopoulos (2001) tambm utilizam um campo potencial dipolar para definir de forma
adequada uma funo de navegao para robs no-holonmicos. Restries dinmicas no movimento tambm podem ser tratadas de forma especial. Conner, Rizzi e Choset (2003) definem
a funo de navegao dentro de cada uma das clulas de forma a considerar as restries dinmicas do rob. A velocidade do rob controlada pela funo de navegao dentro de cada
clula de forma a se evitar descontinuidades no movimento na transio de uma clula a outra.
Para a arquitetura hbrida proposta neste trabalho importante que seja possvel integrar
comportamentos reativos com o plano de movimento para navegao do rob. Alm disso, a
possibilidade de interao do usurio com o sistema de controle autnomo do rob deve ser
considerada. Dentre os algoritmos de planejamento apresentados, o mtodo de planejamento
utilizando uma funo global de navegao foi escolhido para a arquitetura proposta. Este mtodo apresenta uma soluo completa de planejamento. A funo de navegao definida para
todo o espao de configuraes livres, e no depende da configurao inicial do rob, somente
da configurao final. Assim, este mtodo permite que o rob possa ser controlado de forma
contnua e em malha fechada de qualquer posio inicial do ambiente at o seu objetivo de
navegao. A integrao do plano de movimento com comportamentos reativos pode ser feita
de forma adequada (ESPOSITO; KUMAR, 2002). Alm disso, a abordagem de campos potenciais
possibilita a integrao contnua da entrada de controle do usurio com o plano de movimento.
Um exemplo disso a coordenao de entradas que existe na arquitetura AuRA por meio da
soma de vetores. Por fim, embora o enfoque deste trabalho no seja resolver o problema de
planejamento de movimento considerando a dinmica e restries no-holonmicas do rob,
na literatura podem ser encontrados alguns trabalhos que procuram resolver estas questes utilizando funes de navegao (TANNER; LOIZOU; KYRIAKOPOULOS, 2001; ESPOSITO; KUMAR,
2002; CONNER; RIZZI; CHOSET, 2003). Portanto, estes aspectos podem ser considerados em
trabalhos futuros.

78

Arquitetura para rob mvel


desenvolvida

Uma arquitetura hbrida (deliberativa/reativa) foi desenvolvida com o objetivo principal


de lidar com tarefas de navegao e permitir que um operador humano interaja com o rob
em diferentes nveis de controle por meio das interfaces disponveis. Esta arquitetura utiliza
funes de navegao para descrever o plano de movimento do rob. Dentro deste contexto,
foi desenvolvido um mtodo para coordenar um comportamento deliberativo, que executa o
plano de movimento, com comportamentos reativos, que impe restries durante a navegao
em tempo de execuo, e com as entradas de controle contnuas provenientes de um usurio
humano.
A arquitetura hbrida desenvolvida, representada na Figura 19, composta dos seguintes
componentes principais: mdulos de percepo e atuao, mdulos de mapeamento e localizao, planejador de movimento, comportamentos reativos e comportamento deliberativo, coordenador de entradas de controle para navegao, e um mdulo para seleo de comportamentos.
Neste captulo sero apresentados os principais componentes da arquitetura. Em particular,
na seo 5.4, ser apresentada a metodologia utilizada para combinar o comportamento deliberativo com comportamento reativo e com entradas de controle fornecidas pelo usurio humano
em uma tarefa de navegao. Este mtodo juntamente com a definio da arquitetura so as
contribuies principais deste trabalho.

5.1

Percepo e atuao

Os mdulos de percepo so responsveis pela leitura dos sensores e processamento dos


dados obtidos para extrao de informaes que possam ser relevantes a outros componentes
do sistema, tais como, comportamentos, localizao e mapeamento.
J os mdulos de atuao so responsveis por traduzir a entrada de controle recebida em
comandos que devem ser enviados aos atuadores. Em algumas aplicaes, sensores e atuado-

79

Mapa

qgoal

Mapeamento
Planejador

Monitor
Localizao

Plano de
Movimento

Seletor de
Comportamentos

Percepo
(Sensores)

Comportamento
Deliberativo de
Navegao

Comportamentos
Reativos

ug

uh

Coordenador de Entradas de Controle

u
Atuadores

Figura 19: Arquitetura desenvolvida para robs mveis

res, alm de estarem presentes no rob a ser controlado, tambm podem estar distribudos no
ambiente.
De forma geral, por meio dos mdulos de percepo e atuao acontece a interface do
sistema de controle com o hardware necessrio para obter informaes a respeito do ambiente
e atuar neste ambiente de trabalho. A implementao de cada mdulo depende dos sensores e
atuadores disponveis na aplicao.

5.2

Mapeamento e localizao

Mapeamento e localizao so atividades que auxiliam as tarefas de navegao dentro de


uma arquitetura.
Por meio do mapeamento, um modelo interno do ambiente no qual o rob est inserido,
representado na forma de um mapa, construdo e/ou atualizado. Este mapa utilizado pelo
planejador para gerar um plano de movimento para que o rob alcance seu objetivo de navega-

80

o. Um mapa do ambiente pode ser totalmente gerado pelo rob, ou ento fornecido ao rob a
priori. Neste ltimo caso, aps ser fornecido ao rob, o mapa passa a ser atualizado a medida
que o rob navega pelo ambiente. Tambm existem situaes em que o rob comea a mapear o
ambiente, e em um dado momento, parte ou todo o mapa fornecido a ele. Nestas situaes, as
informaes obtidas pelo rob at o momento devem ser combinadas com as novas informaes
fornecidas.
J a localizao responsvel por determinar uma estimativa da posio do rob em relao ao mapa. Localizao e mapeamento podem so tratadas como atividades interdependentes.
Afinal, para que um mapa fiel possa ser gerado, o rob precisa saber sua localizao. Por outro
lado, o rob pode contar com o auxlio de um mapa para se localizar no ambiente. Alguns mtodos procuram solucionar o problema de localizao e mapeamento de forma simultnea, e so
conhecidos como mtodos de SLAM (Simultaneous Localization And Mapping) (DISSANAYAKE
et al., 2001).

Na literatura, dependendo de como feita a navegao do rob, diversos mtodos para


localizao e mapeamento podem ser utilizados. Em geral estes mtodos podem ser divididos em mtodos mtricos (ELFES, 1986; SMITH; SELF; CHEESEMAN, 1990) e topolgicos (KUIPERS; BYUN, 1987), sendo que um uso integrado de ambos tambm possvel (TOMATIS; NOURBAKHSH; SIEGWART, 2003).

Na arquitetura proposta, o mdulo de mapeamento deve criar e/ou atualizar um mapa do


tipo mtrico que indique o espao ocupado pelos obstculos conhecidos no ambiente. Este mapa
fica disponvel ao usurio para que este possa selecionar uma posio para a qual deseja que o
rob navegue de forma autnoma. A posio selecionada deve ser uma posio no ocupada
por obstculos e que pertena a uma rea que j foi mapeada. Ento, selecionada esta posio,
o mapa utilizado pelo planejador de movimentos que determina um plano de movimento
para o rob, ou seja, uma forma de fazer com que o rob se mova at a posio selecionada.
Nesta arquitetura, o mapa utilizado deve ser do tipo mtrico pois a partir deste tipo de mapa o
planejador pode calcular a funo de navegao utilizada para descrever o plano de movimento
autnomo do rob.
Como a localizao deve ser feita de forma coerente ao mapa utilizado, e nesta arquitetura
se utiliza um mapa mtrico, a posio do rob dada em coordenadas mtricas globais em
relao a um sistema de coordenadas fixo no mapa. Este tipo de localizao necessria para
que o rob possa executar o tipo de plano de movimento gerado nesta arquitetura.

81

5.3

Planejamento e comportamentos para navegao

O planejamento e execuo da tarefa de navegao realizado pelo mdulo de planejamento de movimento, comportamento deliberativo de navegao e comportamentos reativos
que possam ser relevantes na tarefa de navegao.
O mdulo planejador de movimento gera um plano de movimento a partir do mapa de
ocupao e da posio de destino indicada neste mapa pelo usurio. O plano de movimento
representa a maneira como o rob deve se mover para chegar de sua posio atual at a posio
de destino. Nesta arquitetura, o plano de movimento representado por uma funo global de
navegao (LATOMBE, 1991; RIMON; KODITSCHEK, 1992), conforme apresentado no captulo 4.
Esta funo de navegao definida para o espao livre do mapa. Independente da posio em
que o rob se encontre no mapa, esta funo guiar o rob at o objetivo, isso se existir um
caminho livre at este objetivo.
Um comportamento deliberativo de navegao o principal responsvel pela execuo do
plano de movimento gerado pelo planejador. Este comportamento utiliza o plano de movimento
juntamente com a informao sobre a posio global do rob, resultante do mdulo de localizao, para gerar continuamente uma entrada de controle que indica a direo e velocidade com
a qual o rob deve se mover naquele instante para poder atingir de forma tima a posio de
destino indicada pelo usurio (objetivo de navegao). Este comportamento considerado deliberativo justamente por usar o plano de movimento calculado a partir de um modelo interno
global do ambiente (mapa).
Durante a navegao, so usados comportamentos reativos para lidar em tempo de execuo com mudanas dinmicas no ambiente e eventuais restries do problema que devem ser
observadas, e que no esto embutidas no plano de movimento. Estes comportamentos associam a informao dos sensores com os atuadores do sistema de forma mais direta. Em tarefas
de navegao, um comportamento importante o de desvio reativo de obstculos que no esto
modelados no mapa do ambiente. Entretanto, comportamentos reativos tambm podem ser definidos para que o rob atenda algum critrio durante a tarefa de navegao. Alguns exemplos
seriam: comportamento para manter uma determinada formao de robs, comportamento que
mantenha o rob em regies onde ele possa se localizar mais facilmente, ou ainda, regies que
apresentem sinal para comunicao, etc (SPLETZER et al., 2001; PEREIRA et al., 2002; ESPOSITO;
KUMAR, 2002).

82

5.4

Coordenao de entradas de controle para navegao

O comportamento deliberativo e os comportamentos reativos para navegao devem ser


coordenados de maneira adequada. Alm disso, esta arquitetura deve possibilitar que o homem coopere com o sistema autnomo do rob em tarefas de navegao. Assim, a qualquer
momento durante a navegao o usurio humano pode interagir com o sistema de controle ao
enviar comandos contnuos de velocidade e direo desejadas. Neste contexto, estes comandos
devem ser coordenados juntamente com o comportamento deliberativo de navegao e com os
comportamentos reativos. Isto feito por um mdulo de coordenao de entradas de controle.
Este mdulo foi desenvolvido em colaborao com Sarangi P. Parikh e Prof. Dr. Vijay Kumar
no Laboratrio GRASP (PARIKH et al., 2004, 2005), e tem como base o mtodo de coordenao
proposto por Esposito e Kumar (2002).
Seja (q) a funo de navegao que representa o plano de movimento, onde q a configurao do rob. Para se chegar configurao final desejada (posio escolhida no mapa pelo
usurio), o comportamento deliberativo de navegao deve conduzir o rob de forma a satisfa
zer a restrio (q)
< 0. Esta restrio satisfeita quando o rob se move ao longo do gradiente
negativo da funo de navegao, (q). Sendo assim, o controlador usado para representar
o comportamento deliberativo de navegao dado por:

q = u = (q).

(5.1)

Entretanto, (q) no a nica entrada de controle que faz com que o rob se mova para
a posio de destino. Qualquer entrada de controle no mesmo semi-espao definido por (q)
um controlador admissvel (ESPOSITO; KUMAR, 2002). Ento, conforme mostra a Figura 20,
U o semi-espao que contm todos os vetores de velocidade que o rob pode seguir e que

satisfazem a restrio de navegao (q)


< 0. Isso usado para combinar o comportamento
deliberativo de navegao com os comportamentos reativos e entrada de controle do usurio
humano.
Dentro desse contexto de navegao, os comportamentos reativos so expressos como restries dinmicas que devem ser satisfeitas enquanto se navega em direo ao objetivo. Cada
uma destas restries representada por uma inequao gi (q, t) 0. Uma vez que um dado
comportamento reativo ativado, a restrio dada pela inequao imposta ao mdulo de coordenao de entradas de controle, e uma entrada de controle que satisfaa esta restrio deve
ser escolhida. O espao de solues que satisfazem a restrio dado por Ug . E o espao de
solues que fazem com que o rob navegue em direo ao alvo ao mesmo tempo que satisfaz

83

objetivo

- (q)

= const

Figura 20: Semi-espao U definido pelo plano de movimento.


a restrio dinmica imposta pelo comportamento reativo F = U Ug .
No caso do desvio reativo de obstculos no modelados no mapa, a deteco dos obstculos
feita em tempo de execuo pelos sensores disponveis. Seja zi a distncia entre o rob
e um objeto i medida atravs de um sensor, fi o ngulo do obstculo em relao ao rob,
e a distncia mnima requerida entre o rob e um obstculo, pode-se definir uma funo
gi = gi (zi , fi , q) de tal forma que gi 0 quando |zi | , e gi < 0 quando a distncia
zi aumenta. Esta funo representa o comportamento reativo de desvio de obstculos, e nela
pode-se levar em conta a dinmica do rob e do obstculo, conforme mostra Esposito e Kumar
(2002). Uma maneira simplificada de determinar o momento em que o comportamento de
desvio reativo de obstculo deve ser ativado utilizar a condio |zi | . Assim que esta
condio se torna verdadeira, ativa-se o comportamento de desvio de obstculo. A partir de
ento, uma entrada de controle deve ser escolhida de tal forma que faa com que a restrio
dinmica gi 0 seja satisfeita. A condio de ativao apresentada considera que o obstculo
est parado e no leva em conta a velocidade do rob. Alm disso, esta condio de ativao
tambm assume que o rob se move de tal forma que se o desvio de obstculo se iniciar a uma
distncia do obstculo, o rob consegue se desviar. Entretanto, uma condio de ativao
mais geral pode ser usada para determinar o instante de ativao do comportamento reativo
em funo da velocidade do rob e do obstculo, conforme apresentado por Esposito e Kumar
(2002).
Uma entrada de controle que garante que g i < 0 (rob se afasta do obstculo) ug =
g(q). Ou seja, o rob se move na direo oposta ao obstculo. Entretanto, esta no a
nica entrada de controle que faz com que a restrio imposta pelo comportamento de desvio

84

de obstculos seja satisfeita. Existe um semi-espao, na forma de um cone, ou complemento de


um cone, referenciado por Ug , que satisfaz a restrio imposta.
Portanto, para coordenar o comportamento deliberativo de navegao com o comportamento reativo de desvio de obstculos, deve-se selecionar uma entrada de controle que satisfaa
0 (para que a distncia at o objetivo de navegao diminua) e gi 0 (para que a distncia
entre o rob e o obstculo aumente). Para isso, escolhe-se qualquer entrada u que pertena ao
espao de solues admissveis dado por F = U Ug . Como deseja-se que o rob navegue de
forma tima at o objetivo, escolhe-se o vetor de entrada no espao F que mais se aproxima da
soluo tima, (q). A Figura 21 procura mostrar os semi-espaos definidos pelo comportamento deliberativo de navegao e pelo comportamento reativo de desvio de obstculos.
Ug
U

- g(q)

objetivo

Obstculo

- (q)

fronteira de segurana

= const

Figura 21: Comportamento deliberativo de navegao combinado com o comportamento de


desvio de obstculos. A regio de solues admissveis dada por F = U Ug .
Na arquitetura desenvolvida, o usurio humano pode fornecer uma entrada de controle a
qualquer momento, indicando a direo e velocidade com a qual ele deseja que o rob se mova.
Esta entrada de controle tambm deve ser coordenada com o comportamento deliberativo de
navegao e o comportamento reativo de desvio de obstculos. Para que isso pudesse ser feito,
foram estabelecidos graus de prioridade para cada uma das entradas de controle. Dessa maneira, o desvio de obstculos possui o grau de prioridade maior em tarefas de navegao. A
restrio imposta por este comportamento deve ser sempre mantida garantindo a segurana ao
evitar colises. Com grau de prioridade abaixo do comportamento de desvio de obstculos est
o usurio humano. Assim, optou-se por sempre que existir uma entrada de controle do usurio
humano, a ele dado o controle do rob enquanto se mantm a prioridade de segurana. Finalmente, quando no existe entrada do usurio, e o comportamento deliberativo de navegao

85

est ativo, o rob se move de forma totalmente autnoma.


Portanto, de forma geral, a seguinte hierarquia de prioridades usada na coordenao de
comportamentos: em primeiro lugar esto os comportamentos que garantem a integridade fsica do usurio e do rob como, por exemplo, desvio de obstculos; logo em seguida esto
as entradas de controle fornecidas pelo usurio; ento, finalmente, esto os outros comportamentos relacionados com a navegao autnoma do rob, que se preocupam em atingir os
objetivos de navegao definidos e/ou manter objetivos secundrios durante a navegao como,
por exemplo, o comportamento deliberativo de navegao, ou um comportamento para manter
uma determinada formao de um time de robs.
Em situaes especficas, apesar dos comportamentos que procuram atingir um objetivo de
navegao possurem prioridade inferior a dos comandos do usurio, a entrada de comando do
usurio pode ser modificada para que estes comportamentos de navegao possam ser atendidos.
Fica a critrio do desenvolvedor do sistema de controle definir estas situaes, que geralmente
esto relacionadas a casos em que a partir da entrada de controle do usurio humano no possvel ter certeza de que o usurio deseja interromper os comportamentos de navegao autnoma
abandonando os objetivos associados a estes comportamentos.
A Figura 22 mostra como a entrada do usurio humano, uh , combinada com o comportamento deliberativo de navegao. Neste caso, o usurio j havia selecionado uma posio no
mapa para a qual ele deseja que o rob navegue. Utilizando o comportamento deliberativo de
navegao, o rob se dirige rumo ao objetivo. Em um dado momento, o usurio pode resolver
intervir no movimento do rob modificando localmente a trajetria que o rob est descrevendo
de forma autnoma, para isso ele utiliza um joystick, por exemplo, para enviar a entrada de
controle uh ao coordenador de entradas. Se a entrada do usurio consistente com o objetivo
inicial de navegao, ou seja, uh U , ento permitido que o usurio tenha o controle completo da cadeira de rodas, u = uh , conforme mostra a Figura 22 (esquerda). Se a entrada do
usurio no consistente com o objetivo de navegao, ento, existem duas opes, ilustradas
na Figura 22 (direita). Uma delas ocorre quando a entrada do usurio estiver em um cone definido no semi-espao de velocidade oposto a U . Neste caso, admite-se que o usurio deseja
realmente ir naquela direo abandonando temporariamente o objetivo inicial. Por isso, o objetivo de navegao ignorado, e novamente o usurio tem o controle da cadeira, ou seja, u = uh .
No entanto, se a entrada do usurio no estiver consistente com o objetivo de navegao, mas
estiver em uma regio do espao oposto a U prximo sua fronteira, modifica-se a direo
da entrada do usurio para que fique alinhada fronteira de U . Neste caso, assume-se que,
embora o usurio queira modificar localmente a trajetria do rob, a inteno do usurio no

86

se afastar do objetivo inicial. O vetor de controle usado nesta situao u = um , sendo que
um possui o mesmo mdulo de uh , ou seja, ||um || = ||uh ||, ele pertence ao plano cuja normal
(q), e possui direo dada por:

um =
onde

uh (uh t )t
||uh (uh t )t ||

(5.2)

(q)
t =
||(q)||

(5.3)

o versor normal ao plano.


Para todos os casos mencionados em que o usurio interfere no movimento autnomo do
rob, assim que o usurio deixa de fornecer uma entrada de controle, o rob retorna a se mover
em direo ao objetivo inicial de navegao utilizando o vetor de controle u = (q).

- (q)

- (q)

objetivo

objetivo

uh

Ignorar
Objetivo

uh

um

= const

= const

Figura 22: Entrada do usurio combinada com o comportamento deliberativo de navegao.


Na situao esquerda, a regio de solues admissveis o semi-espao contendo (q).
direita, a entrada humana ocorre fora da regio admissvel e modificada para que seja
consistente com o objetivo.
Mesmo quando no existe um objetivo de navegao definido, ou seja, o comportamento
deliberativo de navegao est desabilitado, o usurio ainda pode querer controlar manualmente
o rob. Nesta situao, o controle definido simplesmente como sendo u = uh , onde uh o
vetor de entrada humana.
No entanto, se o rob ao ser dirigido manualmente se prxima de obstculos, importante
combinar as entradas de controle do usurio com o comportamento de desvio de obstculos para
se evitar colises. Se a entrada de controle do usurio, uh , estiver no semi-espao de velocidade

87

admissvel, Ug , ou seja, a entrada de controle no resultar em coliso com o obstculo, ento


esta entrada utilizada para controlar o rob, e u = uh , conforme mostra a Figura 23 (esquerda).
No entanto, se a entrada do usurio est localizada na regio do espao de velocidade restrita
pelo comportamento de desvio de obstculos, ento preciso parar o movimento ou modificar
a entrada do usurio para que o rob desvie do obstculo. A Figura 23 (direita) ilustra esta
situao. Define-se um cone no espao restrito chamado de regio de parada. Se a entrada
do usurio estiver dentro desta regio, optou-se por parar o rob. Se a entrada do usurio
estiver fora desta regio de parada, mas ainda dentro do espao restrito pelo comportamento
reativo de desvio de obstculos, a direo da entrada do usurio modificada para que fique
na fronteira do espao admissvel, Ug . Isto permite que o rob se mova aproximadamente na
direo especificada pelo usurio, preservando a inteno de movimento do usurio ao mesmo
tempo que o obstculo evitado. O vetor de controle usado nesta situao u = um , sendo que
um possui o mesmo mdulo de uh , ou seja, ||um || = ||uh ||, ele pertence ao plano cuja normal
gi (q), e possui direo dada por:
um =
onde

uh (uh tg )tg
||uh (uh tg )tg ||

(5.4)

gi (q)
tg =
||gi (q)||

(5.5)

o versor normal ao plano.


Ug

Obstculo

- g(q)

Regio de
Parada

- g(q)

uh
fronteira de segurana

um

uh

fronteira de segurana

Ug

Figura 23: Entrada do usurio combinada com o desvio reativo de obstculo. Na situao
esquerda, a entrada do usurio consistente com o semi-espao determinado pelo desvio reativo
de obstculo. direita, a entrada do usurio est dentro da regio restrita, ento a direo da
entrada do usurio modificada permitindo que o usurio mantenha um controle limitado sobre
o rob sem que ocorra colises.
Finalmente, existem situaes durante a navegao em que as trs fontes de entrada de

88
Ug
U

uh
um

- g(q)

objetivo

Obstculo

- (q)

fronteira de segurana

= const

Figura 24: Entrada do usurio combinada com o plano de movimento e com o desvio reativo
de obstculo. Embora a entrada do usurio no esteja no espao de solues admissveis, o
controlador modificado, um , d ao usurio um controle limitado enquanto previne colises.
controle (comportamento deliberativo de navegao, comportamento reativo de desvio de obstculo, e entrada do usurio) devem ser combinadas simultaneamente. Nestas situaes, como
regra geral, a entrada de controle do usurio sempre utilizada quando esta no est em conflito com o objetivo de navegao ou com o comportamento de desvio de obstculo. Em outras
palavras, u = uh se uh U Ug . Do contrrio, aplica-se as regras descritas anteriormente.
Primeiro a entrada do usurio coordenada com o comportamento deliberativo de navegao.
A entrada de controle resultante ser a prpria entrada do usurio, caso o objetivo de navegao
for ignorado, ou a entrada do usurio modificada para que o rob no se afaste do objetivo.
Depois de feita esta coordenao inicial, a entrada de controle resultante coordenada com o
comportamento reativo de desvio de obstculos. Ento, a entrada de controle pode ser mantida
se estiver na regio que no resultar em coliso, ou a entrada de controle modificada para
que o rob possa desviar do obstculo. Isto permite que o usurio possa compartilhar o controle
com o sistema enquanto colises so evitadas. A Figura 24 procura mostrar um exemplo da
coordenao destas trs entradas de controle.
interessante observar que apesar das entradas de controle passarem pelo mdulo coordenador de entradas antes que a entrada de controle resultante seja enviada para os atuadores, este
mdulo possui um algoritmo relativamente simples que no consome muito tempo de processamento. Por esta razo o coordenador de entradas no considerado um gargalo no sistema.

89

5.5

Monitor de progresso e replanejamento

Existem situaes em que o comportamento reativo de desvio de obstculos no obtm


sucesso ao lidar com certos obstculos no modelados no mapa. Algumas destas situaes se
encontram ilustradas na Figura 25, e abrangem basicamente situaes em que o caminho que
o rob est percorrendo em direo ao objetivo est completamente bloqueado, ou quando a
geometria local do obstculo no favorece o mtodo de desvio reativo.

obstculos
modelados
no mapa

obstculo no
modelado

rob
objetivo

rob
- (q)

obstculo no
modelados
bloqueando
caminho

(q)

Figura 25: Situaes onde replanejamento necessrio. esquerda, quando um obstculo


no modelado no mapa bloqueia completamente o caminho do rob. direita, quando um
obstculo no modelado no mapa possui uma geometria que no favorece o desvio reativo do
rob.
Nestas situaes, durante a navegao completamente autnoma, o rob pode chegar a um
ponto em que no consegue progredir no seu movimento em direo ao objetivo devido a um
obstculo no modelado no mapa. Um monitor de progresso pode ser usado para detectar em
tempo de execuo quando isso acontece. O que pode ser evidenciado quando o espao de
solues de controle admissvel, que atende ao mesmo tempo o desvio reativo de obstculos e
o plano de movimento, nulo. Alm de observar o espao de solues admissveis, procurando
identificar quando este nulo, o monitor de progresso tambm deve utilizar um histrico da
posio global do rob juntamente com o objetivo da tarefa do rob para identificar se o rob
est progredindo ou no.
Caso o monitor de progresso indique a necessidade de um replanejamento, o obstculo detectado que impede o progresso do rob deve ser includo no mapa pelo mdulo de mapeamento,
e um novo plano de movimento deve ser calculado utilizando este mapa recm-atualizado. Muitas vezes, o rob no consegue detectar em tempo de execuo toda a geometria do obstculo

90

que impede o progresso do rob. Mesmo assim, em uma primeira tentativa, atualiza-se o mapa
incluindo apenas a parte que foi detectada do obstculo. O novo plano de movimento gerado
a partir dete mapa atualizado far com que o rob tente se desviar desta parte detectada. Se,
por ventura, o rob ficar preso novamente em outra parte do obstculo que no foi mapeada
na etapa anterior, o mapa atualizado mais uma vez para incluir esta parte agora detectada, e
um outro plano calculado. Isso se repete at que o rob consiga fazer progresso em direo
ao objetivo utilizando o plano de movimento atual e os comportamentos de desvio reativo de
obstculos. Ou ento, at que seja detectado por meio do mapa que no existe caminho possvel
at o objetivo. Neste caso o usurio do rob deve ser avisado da impossibilidade de se atingir o
objetivo.
Apesar de prever a necessidade do monitor de progresso na arquitetura proposta, este trabalho no se preocupou com o desenvolvimento de algoritmos especficos que poderiam ser
utilizados para implement-lo.

5.6

Outros comportamentos

Alm dos comportamentos utilizados para navegao, outros comportamentos tambm podem ser definidos para que o rob realize pequenas tarefas especficas como, por exemplo,
atravessar portas abertas, se mover ao longo de um corredor evitando obstculos, seguir pessoas
ou outros robs, se aproximar de um objeto (mesa, parede, estao de recarga, etc) (PATEL et al.,
2002). Cada um destes comportamentos pode ser definido e implementado por controladores
especficos.
Dependendo da tarefa ou modo de operao do rob, certos comportamentos devem ser
habilitados e outros desabilitados. Este papel desempenhado por um mdulo de seleo de
comportamentos.
No momento, na arquitetura desenvolvida e representada pela Figura 19, a seleo dos
comportamentos habilitados feita pelo operador humano. Mas vale ressaltar que quando o
usurio deseja realizar uma tarefa de navegao, por exemplo, ele deve habilitar no incio da
tarefa o comportamento deliberativo de navegao juntamente com o comportamento reativo de
desvio de obstculos e, possivelmente, algum outro comportamento reativo desejado referente
a navegao. Embora o comportamento reativo de desvio de obstculos permanea habilitado
durante toda a tarefa, ele s ativado quando o rob detecta automaticamente um obstculo
que precisa ser desviado. O mdulo coordenador de entradas de controle permite a interao do
usurio com o sistema nas tarefas de navegao.

91

Em trabalhos futuros, a arquitetura pode ser modificada permitindo uma seleo automtica
de comportamentos, a semelhana de outras arquiteturas hbridas, como Atlantis e Saphira. Isso
permitiria que misses mais complexas e abrangentes do que navegao pudessem ser realizadas de forma autnoma. Entretanto, para que isso possa ser realizado, a exemplo da arquitetura
Saphira, dentre outras, o rob deve possuir outras informaes no seu modelo interno de mundo
alm da posio dos obstculos. Da mesma forma, alm do planejamento de movimento realizado para resolver tarefas de navegao, tambm seria necessrio um planejamento de misso
mais abrangente. Este planejamento resultaria em um plano formado por uma seqncia de
comportamentos capaz de realizar uma misso complexa. Ento, o selecionador de comportamentos, a exemplo da camada intermediria de uma arquitetura de trs camadas, seria responsvel pelo seqenciamento adequado dos comportamentos, ou controladores, conforme o plano
da misso.

5.7

Anlise comparativa

A arquitetura desenvolvida se assemelha arquitetura AuRA na estrutura utilizada para


integrar planejamento e reao. Em ambas as arquiteturas, planejamento realizado antes da
execuo. O replanejamento tambm acontece de forma semelhante, iniciado apenas quando
a parte inferior da arquitetura, responsvel pela execuo, no consegue progredir no cumprimento da tarefa, caracterizando uma falha de execuo. Na arquitetura AuRA, o planejador
do tipo hierrquico composto de vrias camadas: planejador de misso, planejador espacial, e
seqenciador. A arquitetura desenvolvida possui uma verso simplificada desta estrutura feita
com o propsito de resolver principalmente o problema de navegao. Entretanto, futuramente
um mdulo planejador de misso e de seqenciamento automtico de comportamentos poderiam ser integrados de forma hierrquica na arquitetura.
Outra semelhana da AuRA com a arquitetura desenvolvida est em ambas usarem campos
potenciais para navegao. Entretanto, existe uma diferena na forma como o campo potencial usado nas duas arquiteturas, e tambm em como so coordenados os comportamentos
durante a navegao. A arquitetura desenvolvida utiliza uma funo de navegao global que
define um potencial para todo espao de configuraes livres. Isto se assemelha mais a maneira
como o campo potencial para navegao definido na arquitetura DAMN, conforme descrito
por Payton, Rosenblatt e Keirsey (1990). Tanto na arquitetura DAMN como na arquitetura desenvolvida, o campo potencial global de navegao age como uma referncia para os demais
comportamentos. Na arquitetura AuRA, os campos potenciais gerados pelos esquemas motores
utilizam uma abordagem mais local. Alm disso, o mecanismo de coordenao de comporta-

92

mentos para navegao utilizado na arquitetura desenvolvida diferente do utilizado nas demais
arquiteturas. Isto tambm inclui a forma como a entrada do usurio tratada na arquitetura.
Neste trabalho, a entrada do usurio possui uma prioridade alta, definida de forma explcita
logo abaixo do comportamento de desvio de obstculo. Ento a entrada do usurio sobrescreve
a maioria dos comportamentos, com exceo de algumas situaes particulares. Um exemplo,
quando no fica claro para o sistema se o usurio pretende ou no abandonar o objetivo de navegao representado pela funo global de navegao. Nesta situao particular, a entrada do
usurio levemente modificada para conciliar com o objetivo de navegao. Entretanto, em geral, o sistema d ao usurio total controle do rob quando seguro faz-lo. Interessante observar
que este controle ainda diferente de um controle totalmente manual pois os comportamentos
de desvio de obstculo permanecem ativos a menos que sejam explicitamente desabilitados pelo
usurio.
No caso das arquiteturas AuRA, SFX ou DAMN, o coordenador de entrada, por meio da
soma vetorial, de filtros, ou soma de votos, considera todos os comportamentos ativos juntamente com a entrada humana. Evidentemente cada arquitetura possui uma forma de priorizar
um determinado comportamento atribuindo um peso a ele. Mas dependendo deste peso, os outros comportamentos podem exercer uma certa influncia no resultado, e teoricamente, a entrada
do usurio sempre modificada por estes comportamentos.

93

Implementao e resultados

A arquitetura desenvolvida foi implementada em uma cadeira de rodas robtica para possibilitar a realizao de tarefas de navegao, permitindo a interao do usurio com a cadeira de
rodas em diferentes nveis de controle.
No nvel mais alto de controle, o sistema implementado permite ao usurio especificar uma
posio de destino para a navegao em um mapa do ambiente. Um plano de movimento gerado a partir desta entrada do usurio e do mapa do ambiente fornecido a priori. Este plano de
movimento descreve como a cadeira deve se mover para chegar at a posio de destino selecionada. Este plano de movimento executado por um comportamento deliberativo que conduz a
cadeira de forma autnoma at o seu destino. Enquanto isso, um comportamento reativo de desvio de obstculos possibilita que a cadeira desvie de obstculos, que no foram representados
no mapa, encontrados ao longo do caminho. Conforme a cadeira se move de forma autnoma, o
usurio pode interagir a qualquer momento no nvel mais baixo de controle utilizando um joystick para alterar o movimento autnomo da cadeira. Assim, o usurio compartilha o controle do
sistema autnomo da cadeira.
Neste contexto de aplicao, fcil imaginar situaes onde a cadeira tenha que responder,
ao mesmo tempo, aos trs tipos de entrada de controle implementadas. Isto , s entradas de
controle provenientes do comportamento deliberativo para mover a cadeira at o objetivo, s
entradas de controle provenientes do comportamento reativo de desvio de obstculos, e s entradas do usurio por meio do joystick. Por exemplo, considere a cadeira navegando de forma
autnoma em um museu na direo de uma sala de exibio especificada pelo usurio. Para
isso ela utiliza o comportamento deliberativo e o plano de movimento gerado automaticamente.
Enquanto isso, a cadeira tem que se desviar de outros visitantes no museu utilizando o comportamento reativo de desvio de obstculos implementado. Ao mesmo tempo que tudo isso
acontece, o usurio que vai em rumo exibio desejada pode querer se aproximar de quadros
que chamem sua ateno ao longo do caminho, e para isso modifica a trajetria autnoma do
rob em tempo de execuo utilizando o joystick.

94

Camera
Omnidirecional

Camera para
Interao Humana

Sistema de
Projeo de Video
Sensores IR de
Proximidade

Teclado e Monitor
Virtual

Sensor Laser

Motores, encoders

Figura 26: A S MART C HAIR do laboratrio GRASP

No restante do captulo sero apresentados: na seo 6.1, a cadeira de rodas utilizada como
plataforma de pesquisa e o modelo da cadeira utilizado no controle; na seo 6.2, apresentase aspectos da implementao da arquitetura desenvolvida, incluindo a plataforma de software
utilizada na implementao do sistema de controle; e finalmente na seo 6.3, os resultados
obtidos com o sistema implementado.

6.1

A cadeira de rodas S MART C HAIR

A cadeira de rodas robtica utilizada como plataforma de pesquisa denominada S MARTC HAIR, e foi desenvolvida no laboratrio GRASP da Universidade da Pennsylvania. Esta cadeira de rodas equipada com um computador embarcado e uma variedade de sensores como
pode ser visto na Figura 26.
A cmera omnidirecional montada sobre a cabea do usurio permite que ele tenha uma
viso de 360o ao redor da cadeira. O sistema de projeo exibe imagens sobre a mesa na frente
do usurio, permitindo que o usurio envie comandos cadeira por meio de uma interface
visual. Uma cmera apontada para esta mesa forma juntamente com o projetor um sistema
de realimentao visual. A interao do usurio ento efetuada pela ocluso de regies da
imagem projetada na mesa.

95

Alm deste sistema de viso para interface com o usurio, a cadeira de rodas possui um
sensor laser montado na frente da cadeira e abaixo dos ps do usurio. Este sensor laser varre
uma regio de 180o graus e retorna valores de distncia entre o sensor e os obstculos a cada
meio grau. De modo similar, sensores infra-vermelho (IR) de proximidade foram colocados
na traseira da cadeira de rodas para detectar qualquer obstculo atrs. A cadeira de rodas tambm possui encoders nos seus motores permitindo uma estimativa da velocidade e posio da
cadeira. A cadeira de rodas S MART C HAIR apresentada em maiores detalhes em (RAO et al.,
2002).

6.1.1 Modelo do sistema


A S MART C HAIR pode ser modelada como um rob no-holonmico de duas rodas do tipo
cart. As equaes que governam o seu movimento so bem conhecidas (MA; KOSECKA; SASTRY,
1999):
x = v cos()
y = v sin()

(6.1)

=
onde o vetor de entrada = [v, ]T , consiste da velocidade linear da cadeira, v, e da velocidade
angular da cadeira, , enquanto que (x, y) so as coordenadas do centro do eixo das rodas em
um sistema de coordenadas inercial. o ngulo que o sistema de coordenadas da cadeira de
rodas forma com o sistema de coordenadas inercial. Conforme pode ser visto na Figura 27,
caractersticas do ambiente (obstculos, alvos, etc) so descritos por (fi , zi ) em um sistema fixo
ao corpo da cadeira, onde fi o ngulo relativo e zi a distncia relativa caracterstica i do
ambiente.
Neste trabalho, para controle da cadeira de rodas, utilizou-se um espao de configuraes
simplificado dado por q = [xc , yc ]T , que so coordenadas de um ponto de referncia na cadeira
de rodas localizado a uma distncia d frente do eixo das rodas. Da Equao (6.1), pode-se
escrever:

q =

xc
yc

cos d sin
sin

d cos

(6.2)

ou
q = J.

(6.3)

96

obstculo

z1
f1

f2
z2

(yc ,xc)

(x, y)
y
d

L
x

Figura 27: Modelo do sistema. (x, y) a coordenada do centro do eixo das rodas enquanto que
(xc , yc ) o ponto que est sendo controlado.
Como J sempre inversvel se d no for zero, pode-se considerar o seguinte modelo linear
desacoplado:
q =

1 0
0 1

u.

(6.4)

Assim, qualquer vetor de entrada u pode ser mapeado a um vetor de entrada .


No espao de configuraes simplificado que foi utilizado, somente a posio da cadeira
de rodas controlada de forma explcita. No se tem controle explcito sobre qual orientao
a cadeira deve assumir em um dado momento. Portanto, para que se possa planejar trajetrias
seguras nesse espao de configuraes, aproximou-se a forma da cadeira por um crculo de raio
e, quando necessrio, expande-se em os obstculos no ambiente. Assim, o espao livre no
ambiente representa as posies que o ponto de controle pode assumir sem que ocorra coliso de
nenhuma parte da cadeira com os obstculos. O raio escolhido levando-se em considerao
a dimenso da cadeira mais um fator de segurana devido a restries no-holonmicas no
consideradas no planejamento do movimento da cadeira.

6.2

Aspectos de implementao da arquitetura

A arquitetura proposta foi implementada de maneira simplificada tendo como objetivo principal tornar possvel a realizao de testes de navegao da cadeira de rodas em que o usurio

97

possa compartilhar o controle da cadeira com o sistema autnomo.

6.2.1 Mapeamento e localizao


Na implementao da arquitetura, utilizou-se um mapa do ambiente fornecido a priori. Este
mapa uma grade de ocupao que representa a posio de obstculos conhecidos no ambiente,
tais como mesas e paredes. Os obstculos neste mapa de ocupao foram expandidos conforme
discutido na seo anterior para que a cadeira de rodas pudesse ser considerada como um ponto
neste mapa. A Figura 28 mostra o mapa do ambiente em que foram realizados os experimentos.
O mapa expandido visto na Figura 28 usado para calcular a funo potencial para a navegao.
No foram implementados mtodos de mapeamento e de atualizao do mapa. No entanto,
um mtodo de mapeamento e atualizao de mapas baseado em grades de probabilidade de
ocupao seria compatvel com esta arquitetura.

Sala
1
Sala
2

Figura 28: Mapa do ambiente. As regies escuras so mesas e outros objetos conhecidos no
ambiente. A regio mais clara a expanso do mapa, que se torna uma fronteira de segurana que leva em considerao o tamanho da cadeira de rodas. A regio branca o espao de
configuraes livres no ambiente.
A localizao global da cadeira de rodas durante os experimentos realizados foi feita utilizando apenas a odometria da cadeira de rodas. De forma geral, a odometria de um rob
insuficiente para produzir uma boa estimativa de sua posio global devido ao acumulo de erro
quando o rob percorre longos percursos. Por isso, geralmente utilizam-se mtodos que combinam a odometria com informaes externas do ambiente para reduzir estes erros e obter uma
melhor estimativa da posio. Geralmente so utilizados filtros, tais como filtro de partculas
(FOX et al., 2001) ou filtro de Kalman (SMITH; SELF; CHEESEMAN, 1990). Neste trabalho, nenhum destes mtodos robustos de localizao para longos percursos foi implementado apesar
de previstos na arquitetura. Nos experimentos realizados, a distncia mxima percorrida foi
de aproximadamente 10 metros. Para esta distncia observou-se que os erros de localizao
na odometria causados pelo deslizamento das rodas e das correias no foram to significativos

98

(PARIKH et al., 2003).

6.2.2 Planejamento de movimento


O planejador de movimento na arquitetura proposta responsvel por gerar uma funo
global de navegao usada para conduzir o rob at a posio de destino selecionada pelo usurio (objetivo de navegao)(LATOMBE, 1991; RIMON; KODITSCHEK, 1992). Entretanto, difcil
computar esta funo instantaneamente. Ento, ao invs, calculou-se uma funo de navegao aproximada utilizando programao dinmica no mapa de grade de ocupao, conforme
mtodo de wave-front apresentado na seo 4.4.3. Como esta funo aproximada no satisfaz
todas as propriedades de uma funo de navegao, ela chamada aqui de funo potencial,
representada por (q). No entanto, ela possui um mnimo global nico localizado no objetivo
de navegao. Em contraste com outros trabalhos onde controladores baseados em campos
potenciais so considerados reativos, neste trabalho considera-se o controlador resultante da
utilizao da funo potencial como sendo um comportamento deliberativo pois a funo potencial construda utilizando o conhecimento global do ambiente na forma de um mapa do
ambiente.
A Figura 29 mostra um exemplo de uma funo de potencial de navegao gerada automaticamente para uma posio de destino especificada na sala 2, nas coordenadas x = 15.0m e
y = 2.9m do mapa. O mnimo global desta funo potencial localiza-se na posio de destino
especificada.
y (cm)
120

120
100

fi
100

80

80

60
60

40
40

20

0
20

60

120

80

100

100
x (cm)

80

120

60

140

40

160

20
180

y (cm)
0

60

80

100

120

140

160

180
x (cm)

Figura 29: Funo de navegao para o objetivo especificado pelo usurio na Sala 2.
A funo potencial apresentada na Figura 29 foi definida no espao livre do mapa de ocupao. Para o espao ocupado do mapa, incluindo o espao ocupado aps expanso dos obs-

99

tculos, definiu-se um campo vetorial de repulso. Este campo vetorial garante que, se o rob
comear a se aproximar da rea ocupada, ele ser conduzido de volta area livre.

6.2.3 Coordenao de comportamentos e entrada do usurio


Foram implementados dois comportamentos que quando coordenados so responsveis
pela navegao autnoma do rob: um comportamento deliberativo de navegao e um comportamento reativo de desvio de obstculos.
O comportamento deliberativo de navegao move o rob em direo ao objetivo de navegao especificado pelo usurio. Este comportamento pode ser descrito pelo controlador de
malha fechada u = (q). Portanto, a cada intervalo de tempo, calcula-se o gradiente negativo da funo potencial de navegao para a posio atual do rob. O gradiente negativo
indica a direo que o rob deve seguir para que alcance o objetivo de navegao. Esta direo
na verdade define um semi-espao de solues possveis que podem ser usadas para aproximar
o rob do seu objetivo.
O comportamento reativo de desvio de obstculo foi implementado utilizando o sensor de
varredura laser para obter a distncia entre o rob e os obstculos no ambiente. A cada varredura do sensor, determina-se qual a direo e a distncia do obstculo mais prximo. Quando
um obstculo se encontra a uma distncia menor ou igual a um valor pr-definido, que foi 0, 7m
nesta implementao, o comportamento reativo ativado. O comportamento de desvio de obstculos definido como sendo uma restrio s entradas de controle que podem ser enviadas
ao rob. Assim, somente as entradas que no infringem esta restrio, ou seja, que no conduzem o rob para mais perto do obstculo, podem ser escolhidas. Esta restrio representada
pelo semi-espao definido pela direo do obstculo que deve ser evitado. Portanto, quando o
comportamento est ativo, esta direo enviada ao coordenador de entradas.
Existem situaes em que um obstculo aparece abruptamente na frente da cadeira de rodas
a uma distncia to prxima que a nica alternativa para evitar uma coliso parar a cadeira.
Pensando nestas situaes, definiu-se uma condio de parada de emergncia da cadeira quando
um obstculo detectado a uma distncia menor que um valor pr-definido. Este valor deve ser
menor que a distncia de ativao do comportamento reativo, e foi definido como sendo 0, 4m
nesta implementao.
Alm destes comportamentos utilizados para navegao autnoma, o sistema implementado
tambm permite que o usurio utilize um joystick para entrada de comandos. Por meio deste
joystick, o usurio indica a direo e velocidade para a qual deseja que a cadeira se mova em

100

relao a sua posio atual.


As entradas de controle geradas pelos comportamentos implementados e a entrada de controle fornecida pelo usurio por meio do joystick so coordenadas utilizando o mtodo apresentado na seo 5.4 do captulo 5. Este mtodo foi implementado de acordo com o algoritmo
apresentado na Figura 30.
u := 0

if posio de destino foi espe i ada no mapa then


u := (q)

if existe uma entrada do usurio, uh then

:= ngulo entre o vetor uh e o vetor u


if > /2 e < limit then
u := um

else

u := uh

end if
else

u := u

end if
else if existe uma entrada do usurio, uh then
u := uh

end if
if obst ulo est prximo do rob e u 6= 0 then
ug := g(q)
:= ngulo entre o vetor u e o vetor ug
if > /2 e < limit then
u := um
else if > limit then
u := 0

end if
end if

Usar u omo entrada de ontrole para o rob

Figura 30: Algoritmo usado para combinar o comportamento deliberativo de navegao, comportamento reativo de desvio de obstculos, e entradas do operador humano.

6.2.4 Plataforma de software utilizada na implementao


A arquitetura foi implementada para a S MART C HAIR utilizando uma plataforma de software chamada ROCI (Remote Objects Control Interface) (CHAIMOWICZ et al., 2003). Esta plataforma foi desenvolvida no laboratrio GRASP, possui licena de cdigo aberto, e pode ser
obtida gratuitamente na Internet (ROCI, 2006).
ROCI oferece ao desenvolvedor ferramentas que permitem a criao e execuo de um sistema modular, distribudo, cujos componentes possam ser reutilizados em diferentes aplicaes.
Um sistema desenvolvido utilizando ROCI composto de mdulos que possuem funes especficas programadas pelo desenvolvedor. Estes mdulos possuem entradas e sadas por meio
das quais os mdulos so conectados uns aos outros formando uma rede distribuda de proces-

101

sos. Assim, cada mdulo recebe dados como entrada, processa estes dados de acordo com a
funo programada e gera dados de sada. Quando um mdulo criado, o programador deve
especificar o tipo de dado ou informao que cada entrada e sada utilizar. Assim, a sada de
um mdulo s pode ser conectada a entrada de outro se o tipo de dado desta entrada e sada
forem o mesmo.
De certa forma, cada mdulo ROCI pode ser comparado a um circuito integrado (CI) responsvel por algum tipo de processamento. Conectando-se estes CIs, ou mdulos ROCI, entre
si de forma adequada, pode-se realizar processamentos complexos. Alm do mais, assim como
um CI pode ser reutilizado para diferentes aplicaes, um mdulo ROCI tambm pode ser reutilizado sem que haja necessidade de programao adicional. Cada mdulo aps desenvolvido
e compilado, fica disponvel na forma de uma DLL para o sistema operacional Windows da
Microsoft.
Na plataforma ROCI, uma tarefa especificada por uma coleo de mdulos e pela maneira
como estes mdulos so conectados entre si. Utiliza-se um ou mais arquivos no formato XML
para definir uma tarefa. Assim, a construo de aplicaes quando j se possui os mdulos desenvolvidos se resume apenas em escrever arquivos especificando tarefas em XML, que podem
ser facilmente criadas e modificadas.
A plataforma ROCI possui um kernel responsvel pelo controle principal de uma aplicao
ROCI. O kernel do ROCI deve ser executado em cada entidade na rede (computadores, robs,
sensores remotos, etc) que far parte da aplicao. Estas entidade so consideradas como ns
da rede ROCI. O kernel gerencia a rede e mantm uma base de dados atualizada de todos os ns
e servios disponveis na rede ROCI. Ele responsvel tambm por carregar e remover tarefas (
descritas em arquivos XML) e mdulos em qualquer n da rede, fazendo e desfazendo conexes
entre mdulos. Assim, aplicaes podem ser especificadas e executadas dinamicamente.
ROCI usa recursos disponveis na plataforma de desenvolvimento Microsoft .NET. Mdulos ROCI podem ser desenvolvidos utilizando as linguagens de programao C# e C++. O
kernel e os mdulos ROCI podem ser executadas em dispositivos que possuam verses do sistema operacional Windows (incluindo dispositivos portteis, tais como Pocket PCs).
Como conseqncia de se utilizar a plataforma ROCI na implementao da arquitetura
para a S MART C HAIR, obteve-se um software extremamente modular de controle. Mdulos
deste software podem ser reutilizados em outras aplicaes e at mesmo para controlar outros
robs. Alm disso estes mdulos podem ser executados de forma distribuda, ou seja, em
computadores diferentes conectados na mesma rede.

102

6.3

Resultados

O sistema de controle desenvolvido permite que a cadeira de rodas seja operada em trs
modos distintos, cada um correspondente a um nvel de autonomia do rob:
Controle autnomo: o usurio seleciona no mapa uma posio de destino e a cadeira
dirige de forma autnoma at a posio selecionada;
Controle manual: o usurio controla manualmente a cadeira a e rodas utilizando um
joystick;
Controle semi-autnomo: o usurio compartilha o controle de movimento da cadeira enquanto a cadeira se move de forma autnoma.
Foram feitos testes com a cadeira de rodas operando nestes trs modos em duas salas diferentes. Ao total, foram 43 pessoas que testaram a cadeira de rodas. Cada uma testou a cadeira
nos trs modos, nas duas salas. A distncia mdia percorrida pela cadeira de rodas em cada experimento, incluindo modo manual, autnomo, e semi-autnomo, foi 9,77 metros. Ou seja, no
total foram realizados 258 experimentos, sendo que a cadeira percorreu aproximadamente 2,5
km ao final de todos estes experimentos. Entretanto, no incio de cada experimento a localizao global da cadeira era corrigida manualmente, sendo que os erros de localizao acumulados
em um experimento no eram transferidos para outro. Durante cada teste foram coletados os
dados de odometria da cadeira, o nmero de interaes do usurio por meio do joystick, e informaes referentes s entradas de controle (deliberativa, reativa, e usurio humano) ativas a
cada instante. Nesta seo so mostrados alguns dos resultados mais significativos.

6.3.1 Modo de operao autnoma


No modo de operao autnoma, o usurio da cadeira seleciona em um mapa uma posio
de destino para a qual a cadeira deve se mover. Para cada uma das salas, uma posio de destino
foi escolhida e, aps a seleo, um plano deliberativo de movimento na forma de uma funo
potencial de navegao criado utilizando o mapa. Um comportamento deliberativo de navegao faz com que a cadeira siga o gradiente negativo da funo potencial de navegao para
se mover at o destino selecionado. Entretanto, quando um obstculo no modelado no mapa
encontrado no caminho, o comportamento reativo de desvio de obstculo ativado. Ento
uma entrada de controle que combina o comportamento deliberativo de navegao com o comportamento reativo de desvio de obstculo produzida para enviar aos atuadores da cadeira. A

103

coordenao feita conforme mtodo apresentado no captulo 5 e implementado pelo algoritmo


apresentado na Figura 30 da seo 6.2. Vale ressaltar que, no modo de operao autnoma, o
usurio no interage com a cadeira enviando comandos contnuos por meio do joystick.
A Figura 31 mostra uma trajetria realizada pela cadeira no modo de operao autnoma.
O obstculo indicado na figura representa um obstculo que no havia sido modelado no mapa
utilizado para gerar o plano de movimento. Este obstculo foi encontrado pela cadeira ao longo
do caminho, e o desvio foi feito de forma reativa. A trajetria em linha tracejada azul o caminho que a cadeira realiza quando este obstculo no est presente. No lado direito da Figura 31
encontra-se um zoom de um trecho da trajetria. As flechas representam a direo do gradiente
negativo da funo potencial. Como pode ser visto, a cadeira guiada pelo gradiente negativo enquanto o comportamento reativo de desvio de obstculo no ativado (trecho em preto).
Quando a cadeira se encontra prxima ao obstculo no representado no mapa, o comportamento de desvio de obstculo ativado (trecho em verde). Ento, escolhida uma direo de
movimento que faa com que o rob desvie do obstculo ao mesmo tempo que se aproxima do
objetivo de navegao.

Cadeira

Obstculos

Figura 31: Exemplo de trajetria descrita pela cadeira de rodas na Sala 2 para o modo autnomo. A trajetria resultado da combinao do comportamento deliberativo de navegao
com o comportamento reativo de desvio de obstculos. A linha slida (preta) mostra quando
apenas o comportamento deliberativo est ativo. A linha mais clara (verde) mostra quando o
comportamento de desvio de obstculos foi composto com o comportamento deliberativo. A
linha tracejada (azul) a trajetria que a cadeira descreve quando no existem obstculos.

A Figura 32 mostra, sobrepostas, 10 das 43 trajetrias realizadas pela cadeira de rodas no


modo autnomo. Estas 10 trajetrias ilustram o resultado obtido nos demais experimentos no
modo autnomo para cada uma das salas. possvel perceber que o sistema autnomo possui
repetibilidade movendo a cadeira da mesma forma cada uma das vezes ao longo do caminho

104

mais curto at o objetivo.

Figura 32: Dez exemplos de trajetrias descritas pela cadeira de rodas durante o modo autnomo. Dois ambientes diferentes so mostrados. Os trechos representados com linhas slidas
(preto) mostram quando apenas o comportamento deliberativo de navegao est ativo, e as
linhas mais claras (verdes) mostram quando ocorreu ativao do comportamento de desvio de
obstculos.

6.3.2 Modo de operao manual


No modo de operao manual, o usurio dirige a cadeira apenas usando o joystick. Mesmo
neste modo, o comportamento reativo de desvio de obstculos ativado quando a cadeira se
aproxima de obstculos no ambiente. Ento as entradas do usurio so combinadas com este
comportamento para evitar colises ao mesmo tempo que a cadeira se move na direo sugerida
pelo usurio por meio do joystick. A Figura 33 ilustra uma trajetria realizada por um usurio
na Sala 1.

Obstculos

Cadeira

Figura 33: Exemplo de trajetria (vermelha) descrita pelo usurio na Sala 1 utilizando o modo
manual. Os segmentos de linha mais claros (azul) representam quando o comportamento de
desvio de obstculos esteve ativo e a entrada humana teve de ser modificada.

105

6.3.3 Modo de operao semi-autnoma


O modo de operao semi-autnoma funciona da mesma forma que o modo de operao
autnoma com a exceo de que o usurio pode, a qualquer momento que desejar, entrar com
comandos contnuos por meio de um joystick. Dessa forma, o usurio compartilha o controle
da cadeira de rodas com o sistema de navegao autnoma. Ou seja, neste modo podem ser
coordenados ao mesmo tempo: o comportamento deliberativo de navegao, o comportamento
reativo de desvio de obstculos, e entradas de controle contnuas provenientes do usurio.
A Figura 34 mostra uma trajetria realizada por um usurio em uma das salas no modo
semi-autnomo. Nesta figura, indicado quando os diferentes comportamentos foram usados e
quando o usurio compartilhou o controle com o sistema. interessante observar que a posio
de destino selecionada para movimento autnomo foi a mesma utilizada no modo de operao
autnoma. O obstculo no modelado no mapa tambm permaneceu para cada uma das salas
na mesma posio dos demais experimentos. Por essa razo, caso o usurio no interferisse
no movimento autnomo da cadeira, a trajetria seria semelhante s trajetrias apresentadas
na Figura 32. Mas observa-se que devido a interferncia do usurio, a trajetria da cadeira foi
diferente. A cadeira passa pelo obstculo no modelado por um lado diferente ao da trajetria
apresentada na Figura 31. direita da Figura 34, mostra-se o detalhe de um trecho da trajetria
realizada com o gradiente negativo da funo potencial de navegao sobreposto.

(a)

Obstculo

(a)

(c)

(b)
(b)
Cadeira

Figura 34: Exemplo de trajetria no modo semi-autnomo. Parte(a) representa a trajetria


descrita quando apenas o comportamento deliberativo de navegao esteve ativo, parte(b) representa quando ocorreu entrada do usurio consistente com o plano de movimento, parte(c)
representa quando o comportamento de desvio de obstculos foi ativado.

Pode-se notar que no modo de operao semi-autnoma ocorre uma integrao coerente do
comportamento deliberativo de navegao com o comportamento reativo de desvio de obstculo

106

e como as entradas humanas.


Nos testes realizados observou-se que o nmero de interaes entre o homem e o rob,
medido pela quantidade de vezes que o usurio movia o joystick, foi significativamente menor
que o nmero de interaes no modo manual.
Tambm foi observado que em alguns testes ocorreram algumas colises da cadeira com
o obstculo devido falta de sensores na lateral da cadeira de rodas. Estas colises ocorreram
quando o usurio deixou de usar o joystick no momento em que a cadeira estava prxima ao obstculo mas este no estava sendo "visto" pelo sensor laser colocado na frente da cadeira. Nesta
situao, o comportamento de desvio de obstculos no estava ativo. Ento o comportamento
deliberativo de navegao levou a cadeira a fazer uma virada rpida para que esta se alinhasse
ao gradiente negativo da funo de navegao. Isso fez com que a cadeira batesse no obstculo
no modelado no mapa que naquele instante se encontrava no ponto cego dos sensores.
Uma forma de resolver este problema seria equipar a cadeira com sensores laterais e traseiros. Dessa forma o comportamento reativo de desvio de obstculos poderia lidar melhor com
objetos prximos cadeira, pois obstculos ao lado da cadeira no passariam desapercebidos
pelos sensores. Outra forma de se evitar colises laterais seria usar uma memria de curto prazo
que guardasse a ltima posio onde o obstculo foi visto. Usando esta memria de curto prazo
sobre o obstculo, a cadeira poderia continuar evitando a coliso caso o obstculo permanecesse
prximo a cadeira, mesmo que o obstculo no esteja mais sendo visto pelo sensor laser frontal.
Apesar das colises ocorridas devido falta de sensores nas laterais da cadeira, de modo
geral obteve-se bons resultados com o sistema de controle desenvolvido. O usurio pode efetivamente alterar parte da trajetria da cadeira de rodas utilizando o joystick.

6.3.4 Desempenho do sistema


O sistema de controle implementado, que utiliza a plataforma de programao ROCI, foi
executado inteiramente em um computador embarcado na S MART C HAIR. Este computador
embarcado possui processador Pentium 4 de 2.4GHz e sistema operacional Windows 2000.
Durante os experimentos realizados, no foi observada nenhuma falha do sistema operacional
ou da plataforma ROCI.
O sensor de varredura laser de marca SICK utilizado para deteco de obstculos lido por
meio de canal serial. Cada leitura do sensor transmite 360 valores correspondentes distncia
entre o obstculo e o sensor a cada 0.5 grau, totalizando 180 graus de varredura. Durante a
execuo do sistema de controle, observou-se que a freqncia de leitura do sensor laser foi de

107

aproximadamente 5Hz.
A posio da cadeira no ambiente foi determinada pela odometria baseada na leitura de
encoders instalados nas duas rodas motoras da cadeira. Na execuo do sistema, observou-se
que a posio da cadeira pode ser lida a uma freqncia mxima de aproximadamente 9Hz.
Este mesmo valor foi observado para a freqncia mxima com que comandos de referncia de
velocidade podem ser enviados para a cadeira.
A velocidade da cadeira de rodas deve ser limitada em um valor que possibilite ao sistema
responder a tempo deteco de um obstculo, podendo parar ou desviar o movimento da
cadeira antes que ocorra a coliso. Este valor de velocidade est relacionado com a freqncia
com que o sistema consegue ler o sensor usado para percepo de obstculos, com o tempo
de processamento necessrio para se calcular uma resposta a este estmulo, e com a freqncia
com que o sistema envia comandos de velocidade para o rob. Assim, ao limitar a velocidade
da cadeira de rodas, pode-se evitar que, estando a cadeira em movimento, ocorra uma coliso
entre o instante em que acontece a deteco de um obstculo e o instante em que um comando
enviado em resposta.
Portanto, por medida de segurana, durante os experimentos realizados, limitou-se a velocidade mxima de translao da cadeira de rodas em 0.15m/s. Este valor foi obtido a partir de
testes preliminares com o sistema. Durante os experimentos realizados, para o modo autnomo
em uma das salas, por exemplo, a cadeira percorreu em mdia um percurso de 8.64m em 68.5s.
Ou seja, uma velocidade mdia de 0.13m/s. Vale observar que quando o comportamento de
desvio de obstculo era ativado automaticamente quando um obstculo se encontrava prximo
ao rob, a velocidade da cadeira era diminuda para metade da velocidade mxima. Experimentalmente verificou-se que para os critrios utilizados para ativao do comportamento de
desvio de obstculos usados neste trabalho, esta reduo na velocidade foi necessria para que
a cadeira de rodas pudesse desviar dos obstculos de forma segura, evitando colises com os
mesmos.

108

Concluso

Neste trabalho apresentou-se uma arquitetura hbrida (deliberativa/reativa) para rob mvel,
desenvolvida para que um usurio humano pudesse interagir com o rob em diferentes nveis
da arquitetura. Em um nvel superior da arquitetura, o usurio interage no papel de supervisor
e define objetivos de navegao para o rob. No nvel inferior, o usurio pode compartilhar o
controle do rob com o seu sistema de controle autnomo em tarefas de navegao.
A arquitetura utiliza uma funo de navegao em sua parte deliberativa para descrever o
plano de movimento que o rob deve executar para atingir o objetivo de navegao definido pelo
usurio humano. Esta funo de navegao calculada a partir de um mapa global do ambiente
fornecido a priori e atualizado por um mdulo de mapeamento. A funo de navegao conduz
o rob at o objetivo ao mesmo tempo que desvia de obstculos que estavam modelados no
mapa no momento do planejamento. Para lidar com situaes imprevistas e dinmicas no ambiente, so utilizados comportamentos reativos de navegao. Em particular, o comportamento de
desvio reativo de obstculo evita colises do rob com obstculos que no estavam modelados
no mapa no momento do clculo da funo de navegao. Alm disso, entradas de controle
fornecidas pelo usurio humano so combinadas com os comportamentos reativos e o plano de
movimento. Isso feito dentro da arquitetura por um mdulo de coordenao de entradas de
controle. Este mdulo utiliza um conjunto de regras desenvolvido que prioriza a entrada do
usurio em relao ao plano de movimento autnomo do rob enquanto preserva a integridade
fsica do sistema. Em situaes particulares, a entrada de controle fornecida pelo usurio
modificada para que ela possa permanecer de acordo com o objetivo de navegao. O sistema
de desvio reativo de obstculos permanece ativo durante a navegao. Assim, mesmo quando a
entrada do usurio tenta levar o rob em direo a um obstculo, o sistema evita colises.
A arquitetura desenvolvida e o mecanismo de coordenao de entradas de controle so as
principais contribuies deste trabalho.
Esta arquitetura foi implementada em uma cadeira de rodas robtica chamada S MARTC HAIR que foi desenvolvida no laboratrio GRASP da Universidade da Pensilvnia. Para sim-

109

plificar a implementao da arquitetura, utilizou-se a odometria do rob para localizao e um


mapa do ambiente fornecido a priori, que no atualizado durante a navegao. Apesar disso,
a arquitetura prev a utilizao de mdulos de mapeamento e localizao mais elaborados. Na
arquitetura desenvolvida, o mapa deve ser representado de forma geomtrica para que a funo
de navegao possa ser definida sobre este mapa. Alm disso, a localizao do rob deve ser
feita de forma mtrica de acordo com a resoluo do mapa. O mdulo monitor de progresso e
o replanejamento apesar de previstos na arquitetura tambm no foram implementados.
Neste trabalho, alm do comportamento deliberativo que executa o plano de movimento, foi
implementado o comportamento reativo de desvio de obstculo. Apesar deste ter sido o nico
comportamento reativo usado durante a navegao, outros comportamentos reativos definidos
como restries na forma de inequaes poderiam ser utilizados.
Utilizando o sistema de controle implementado foram feitos experimentos com a cadeira de
rodas operando em trs modos de autonomia diferente: autnomo, semi-autnomo e manual.
Os resultados mostram que qualitativamente o usurio pode compartilhar de forma efetiva o
controle do rob.
Futuramente mdulos podem ser adicionados na arquitetura para que esta se torne mais
adequada a tarefas mais abrangentes que navegao. Neste sentido, podem ser utilizados representaes mais complexas do ambiente e do mundo, planejamento de misses alm do planejamento de movimento, seqenciador automtico de comportamentos, e comportamentos reativos
para tarefas especficas que o rob precise desempenhar.
Alm disso, como trabalhos futuros podem tambm ser estudadas maneiras de melhorar
a navegao, por exemplo, permitindo o controle explcito da orientao do rob durante a
navegao, e explorar outras formas de interao do usurio com o rob, por exemplo, interao
remota com o rob. Conforme previstos na arquitetura, mtodos de mapeamento, localizao e
replanejamento tambm podem ser futuramente implementados.

110

Referncias
ALAMI, R.; CHATILA, R.; FLEURY, S.; GHALLAB, M.; INGRAND, F. An architecture for
autonomy. International Journal of Robotics Research, v. 17, n. 4, p. 315337, April 1998.
Disponvel em: <ftp://ftp.laas.fr/pub/ria/malik/articles/ijrr97.pdf>. Acesso em: 10/02/2006.
ALBUS, J. Theory of intelligent systems. In: Fifth IEEE Symposium on Intelligent Control.
Philadelphia, PA: [s.n.], 1990. p. 866875.
ALBUS, J.; MCCAIN, H.; LUMIA, R. NASA/NBS Standard Reference Model for Telerobot
Control System Architecture (NASREM). Gaithersburg, MD, 1989.
ALBUS, J.; PROCTOR, F. A reference model architecture for intelligent hybrid
control systems. In: Proceedings of the 1996 Triennial World Congress, International
Federation of Automatic Control (IFAC). San Francisco, CA: [s.n.], 1996. Disponvel em:
<http://www.isd.cme.nist.gov/documents/albus/ifac13.pdf>. Acesso em: 30/03/2006.
ALI, K. S.; ARKIN, R. C. Multiagent teleautonomous behavioral control. Machine Intelligence
and Robotic Control, v. 1, n. 2, p. 310, 2000.
ARBIB, M. A. Schema theory. In: SAPHIRO, S. (Ed.). The Encyclopedia of Artificial
Intelligence. 2. ed. New York, NY: Wiley-Interscience, 1992. p. 14271443.
ARKIN, R. C. Path planning for a vision-based autonomous robot. In: Proceedings of the SPIE
Conference on Mobile Robots. Cambridge, MA: [s.n.], 1986. p. 240250.
ARKIN, R. C. Motor schema based navigation for a mobile robot: An approach to
programming by behavior. In: Proc. IEEE Int. Conf. Robotics and Automation. [S.l.: s.n.],
1987. v. 4, p. 264 271.
ARKIN, R. C. Towards Cosmopolitan Robots: Intelligent Navigation in Extended Man-Made
Environments. Tese University of Massachusetts, Department of Computer and Information
Science, 1987.
ARKIN, R. C. Motor schema-based mobile robot navigation. International Journal of Robotics
Research, v. 8, n. 4, p. 92112, 1989.
ARKIN, R. C. Towards the unification of navigational planning and reactive control.
In: Working notes of the AAAI 1989 Spring Symposium on Robot Navigation. Stanford
University: [s.n.], 1989. Disponvel em: <http://www.cc.gatech.edu/ai/robot-lab/onlinepublications/stanford.pdf>. Acesso em: 30/03/2006.
ARKIN, R. C. The impact of cybernetics on the design of a mobile robot system: A case
study. IEEE Transactions on Systems, Man, and Cybernetics, v. 20, n. 6, p. 12451257,
November/December 1990.

111

ARKIN, R. C. Behavior-based robotics. Cambridge,Massachusets: MIT Press, 1998.


ARKIN, R. C.; BALCH, T. AuRA: principles and practice in review. In: Journal of
Experimental and Theoretical Artificial Intelligence. Great Britain: Taylor & Francis LTD,
1997. v. 9, n. 2-3, p. 175189. Disponvel em: <http://www.cc.gatech.edu/ai/robot-lab/onlinepublications/jetai-final.pdf>. Acesso em: 30/03/2006.
BARBERA, A.; FITZGERALD, M.; ALBUS, J.; HAYNES, L. RCS: The NBS realtime
control system. In: Proceedings of the Robots 8 Conference. Detroit, MI: [s.n.], 1984. p.
19.119.38. Disponvel em: <http://www.isd.mel.nist.gov/documents/barbera/Loc_26.pdf>.
Acesso em: 30/03/2006.
BARRAQUAND, J.; LANGLOIS, B.; LATOMBE, J. Numerical potential field techniques for
robot path planning. IEEE Transactions on Man and Cybernetics, v. 22, n. 2, p. 224241, 1992.
BARRAQUAND, J.; LATOMBE, J. C. Robot motion planning: A distributed representation
approach. International Journal of Robotics Research, v. 10, n. 6, p. 628649, December 1991.
BONASSO, R. P. Integrating reaction plans and layered competences through synchronous
control. In: Proceedings of the Twelfth International Joint Conference on Artificial Intelligence.
San Francisco: Morgan Kaufmann Publishers, 1991. p. 12251231.
BONASSO, R. P. Using parallel program specifications for reactive control of underwater
vehicles. Journal of Applied Intelligence, v. 2, n. 2, p. 201223, 1992.
BONASSO, R. P.; DEAN, T. L. Robots with AI: A retrospective on the AAAI robot
competitions and exhibitions. In: Proceedings of the Thirteenth National Conference on
Artificial Intelligence. Menlo Park, CA: AAAI Press, 1996.
BONASSO, R. P.; FIRBY, R. J.; GAT, E.; KORTENKAMP, D.; MILLER, D.; SLACK, M.
Experiences with an architecture for intelligent, reactive agents. Journal of Experimental
and Theoretical Artificial Intelligence, v. 9, n. 2, p. 237256, 1997. Disponvel em:
<http://www.traclabs.com/korten/publications/jetai.pdf>. Acesso em: 31/03/2006.
BROOKS, R. A. A robust layered control system for a mobile robot. In: IEEE Journal of
Robotics and Automation. [S.l.: s.n.], 1986. v. 2, n. 1, p. 1423.
BROOKS, R. A. The Behavior Language Users Guide. Cambridge, MA, 1989. Disponvel em:
<http://www.ece.pdx.edu/mperkows/ML_LAB/Giant_Hexapod/brooks1227.pdf>. Acesso
em: 31/03/2006.
BROOKS, R. A. Intelligence without representation. Artificial Intelligence, v. 47, n. 1-3, p. 139159, January 1991. Disponvel em:
<http://people.csail.mit.edu/brooks/papers/representation.pdf>. Acesso em: 31/03/2006.
BURRIDGE, R. R.; RIZZI, A. A.; KODITSCHEK, D. E. Sequential composition
of dynamically dexterous robot behaviors. In: The International Journal of Robotics
Research. Cambridge, MA: MIT Press, 1999. v. 18, n. 6, p. 534555. Disponvel em:
<http://www.robots.ox.ac.uk/jennet/ijrr/multimedia-demo/article.pdf>. Acesso em:
31/03/2006.
CANNY, J. F. The Complexity of Robot Motion Planning. Cambridge, MA: MIT Press, 1988.

112

CHAIMOWICZ, L.; COWLEY, A.; SABELLA, V.; TAYLOR, C. J. ROCI: A distributed


framework for multi-robot perception and control. In: Proceedings of the 2003 IEEE/RJS
International Conference on Intelligent Robots and Systems. Las Vegas, NV, USA: [s.n.],
2003. p. 266271. Disponvel em: <http://repository.upenn.edu/cis_papers/42/>. Acesso em:
31/03/2006.
CHOSET, H.; BURDICK, J. Sensor based exploration: the hierarchical generalized voronoi
graph. In: International Journal of Robotics Research. Cambridge, MA: MIT Press, 2000.
v. 19, n. 2, p. 96125. Disponvel em: <http://www.ri.cmu.edu/pubs/pub_4437.html>. Acesso
em: 31/03/2006.
CHOSET, H.; LYNCH, K. M.; HUTCHINSON, S.; KANTOR, G.; BURGARD, W.;
KAVRAKI, L. E.; THRUN, S. Principles of Robot Motion: Theory, Algorithms, and
Implementations. Boston: MIT Press, 2005.
CONGDON, C. B.; HUBER, M.; KORTENKAMP, D.; BIDLACK, C.; COHEN, C.;
HUFFMAN, S.; KOSS, F.; RASCHKE, U.; WEYMOUTH, T. CARMEL vs. Flakey:
A comparison of two robots. AI Magazine, v. 14, n. 1, p. 4355, 1993. Disponvel em:
<http://citeseer.ist.psu.edu/82836.html>. Acesso em: 10/02/2006.
CONNELL, J. H. A Colony Architecture for an Artificial Creature. MIT AI Laboratory,
Cambridge, MA, August 1989.
CONNELL, J. H. SSS: A hybrid architecture applied to robot navigation. In: Proceedings of
the 1992 IEEE Int. Conf. on Robotics and Automation (ICRA). Nice, France: [s.n.], 1992. p.
27192724. Disponvel em: <http://www.research.ibm.com/people/j/jhc/pubs/jhc-sss.pdf>.
Acesso em: 31/03/2006.
CONNER, D. C.; RIZZI, A. A.; CHOSET, H. Composition of local potential functions for
global robot control and navigation. In: Proceedings of the 2003 IEEE/RSJ Intl. Conference
on Intelligent Robots and Systems (IROS). Las Vegas, Nevada: [s.n.], 2003. p. 35463551.
Disponvel em: <http://www.ri.cmu.edu/pubs/pub_4556.html>. Acesso em: 31/03/2006.
DISSANAYAKE, M. W. M. G.; NEWMAN, P.; CLARK, S.; DURRANT-WHYTE, H. F.;
CSORBA, M. A solution to the simultaneous localization and map building (SLAM) problem.
IEEE Transactions on Robotics and Automation, v. 17, n. 3, p. 229241, 2001.
DOWLING, K. Robotics: comp.robotics Frequently Asked Questions. 1996. Disponvel em:
<http://www.faqs.org/faqs/robotics-faq/>. Acesso em: 10/02/2006.
DUNLAING, C.; SHARIR, M.; YAP, C. K. Retraction: A new approach to motion planning.
In: Proceedings of the 15th ACM Symposium on the Theory of Computing. Boston, MA: [s.n.],
1983. p. 207220.
ELFES, A. A sonar-based mapping and navigation system. In: Proceedings of the IEEE
International Conference on Robotics and Automation. San Francisco, CA: [s.n.], 1986. p.
11511156.
ESPOSITO, J.; KUMAR, V. A method for modifying closed loop motion plans to satisfy unpredictable dynamics constraints at run time. In: IEEE Int. Conf. on Robotics and Automation.
[s.n.], 2002. p. 16911696. Disponvel em: <http://repository.upenn.edu/meam_papers/13/>.
Acesso em: 31/03/2006.

113

FERREIRA, G. A. N. Desenvolvimento de uma arquitetura de controle baseada em objetos para um rob mvel aqutico. Dissertao (Dissertao (Mestrado)) Escola Politcnica da USP, So Paulo, SP, 2003. Disponvel em:
<http://www.teses.usp.br/teses/disponiveis/3/3132/tde-31072003-153011/>. Acesso
em: 31/03/2006.
FIKES, R. E.; NILSSON, N. STRIPS: A new approach to the application of theorem proving
to problem solving. Artificial Intelligence, v. 5, n. 2, p. 189208, 1971.
FIRBY, R. J. Adaptive Execution in Complex Dynamic Worlds. [S.l.], 1989. Disponvel em:
<http://citeseer.ist.psu.edu/firby89adaptive.html>. Acesso em: 31/03/2006.
FIRBY, R. J.; PROKOPOWICZ, P. N.; SWAIN, M. J. The animate agent architecture. In:
KORTENKAMP, D.; BONASSO, R. P.; MURPHY, R. (Ed.). Artificial Intelligence and Mobile
Robots: Case Studies of Successful Robot Systems. Cambridge, MA, USA: MIT Press, 1998.
p. 243275. ISBN 0-262-61137-6.
FOX, D.; BURGARD, W.; DELLAERT, F.; THRUN, S. Particle filters for mobile
robot localization. In: DOUCET, A.; FREITAS, N. de; GORDON, N. (Ed.). Sequential
Monte Carlo Methods in Practice. New York: Springer Verlag, 2001. Disponvel em:
<http://www.cs.washington.edu/ai/Mobile_Robotics/mcl/postscripts/particle-chapter00.ps.gz>. Acesso em: 31/03/2006.
GAT, E. Reliable Goal-directed Reactive Control for Real-World Autonomous Mobile Robots.
Tese Dept. of Computer Science, Virginia potytechnic Institute and State University, 1991.
GAT, E. ESL: A language for supporting robust plan execution in embedded autonomous
agents. In: Proceedings of the IEEE Aerospace Conference. Los Alamitos, CA: IEEE
Computer Society Press, 1997. Disponvel em: <http://www.flownet.com/gat/papers/esl.pdf>.
Acesso em: 31/03/2006.
GEORGEFF, M. P.; LANSKY, A. L. Reactive reasoning and planning. In: Proceedings of the
Sixth National Conference on Artificial Intelligence (AAAI-87). Seatle, USA: [s.n.], 1987.
GIRALT, G.; CHATILA, R.; VAISSET, M. An integrated navigation and motion control
system for autonomous multisensory mobile robots. In: BRADY, M.; PAUL, R. (Ed.). First
International Symposium on Robotics Research. Cambridge MA: MIT Press, 1984. p. 191214.
HAYES-ROTH, B. An architecture for adaptive intelligent systems. Artificial Intelligence,
v. 72, n. 1-2, p. 329365, January 1995. Disponvel em: <http://citeseer.ist.psu.edu/hayesroth95architecture.html>. Acesso em: 31/03/2006.
HERTZBERG, J.; SCHNHERR, F. Concurrency in the dd&p robot control architecture. In: Proceedings of the International NAISO Congress on Information Science
Innovations (ISI). Dubai: ICSC Academic Press, 2001. p. 10791085. Disponvel em:
<http://www.agentec.de/pdf/hesc2001.pdf>. Acesso em: 31/03/2006.
IYENGAR, S. S.; ELFES, A. Autonomous Mobile Robots: Control, Planning, and
Architecture. Los Alamitos, California: IEEE Computer Society Press, 1991.
JOHNSON, S. D. Synthesis of Digital Designs from Recursion Equations. Cambridge, MA:
MIT Press, 1983.

114

KAELBLING, L. P. REX: A symbolic language for the design and parallel implementation
of embedded systems. In: Proceedings of the AIAA Conference on Computers in Aerospace.
Wakefield, MA: [s.n.], 1987. p. 255260.
KAELBLING, L. P. Goals as parallel program specifications. In: Proceedings of the Sixth
National Conference on Artificial Intelligence. Menlo Park, CA: AAAI Press, 1988.
KAELBLING, L. P.; ROSENSCHEIN, S. Action and planning in embedded agents. In:
MAES, P. (Ed.). Designing Autonomous Agents. Cambridge, MA: MIT Press, 1991. p. 3548.
KAVRAKI, L. E.; SVESTKA, P.; LATOMBE, J.-C.; OVERMARS, M. H. Probabilistic
roadmaps for path planning in high-dimensional configuration spaces. In: IEEE Transaction
on Robotics and Automation. [s.n.], 1996. v. 12, n. 4, p. 566580. Disponvel em:
<http://citeseer.ist.psu.edu/6614.html>. Acesso em: 31/03/2006.
KHATIB, O. Real-time obstacle avoidance for manipulators and mobile robots. In: Proc. IEEE
Int. Conf. Robotics and Automation. St. Louis, MO: [s.n.], 1985. p. 500505.
KONOLIGE, K.; MYERS, K. The saphira architecture for autonomous mobile robots. In:
KORTENKAMP, D.; BONASSO, R. P.; MURPHY, R. (Ed.). Artificial intelligence and mobile
robots: case studies of successful robot systems. Cambridge, MA, USA: MIT Press, 1998. p.
211242. ISBN 0-262-61137-6.
KORTENKAMP, D.; BONASSO, R. P.; MURPHY, R. Artificial intelligence and mobile
robots: case studies of successful robot systems. Menlo Park, California: The AAAI Press/The
MIT Press, 1998.
KUIPERS, B. J.; BYUN, Y. T. A qualitative approach to robot exploration and map-learning.
In: Proceedings of the IEEE Workshop on Spatial Reasoning and Multi-Sensor Fusion. Los
Altos, CA: [s.n.], 1987. p. 390404.
LATOMBE, J.-C. Robot Motion Planning. Boston: Kluwer, 1991.
LAVALLE, S. M. Planning Algorithms. Cambridge University Press, 2006. Disponvel em:
<http://msl.cs.uiuc.edu/planning/>. Acesso em: 10/02/2006.
LOZANO-PEREZ, T. Spatial planning: A configuration space approach. IEEE Transactions
on Computers, C-32, n. 2, p. 108120, 1983.
LUMIA, R.; ALBUS, J. S. Teleoperation and autonomy for space robotics. Robotics, v. 4, p.
2733, 1988.
LYONS, D. M.; HENDRIKS, A. Planning as incremental adaptation of a reactive
system. Robotics and Automation Systems, v. 14, n. 4, p. 255288, 1995. Disponvel em:
<http://trill.cis.fordham.edu/lyons/Papers/jkit.ps>. Acesso em: 10/02/2006.
LYONS, D. M.; HENDRIKS, A. J. Planning for reactive robot behavior. In: Proceedings of
the 1992 IEEE Int. Conf. on Robotics and Automation (ICRA). Nice, France: [s.n.], 1992. p.
26752680. Disponvel em: <http://trill.cis.fordham.edu/lyons/Papers/ra92.ps>. Acesso em:
10/02/2006.
MA, Y.; KOSECKA, J.; SASTRY, S. Vision guided navigation for a nonholonomic mobile
robot. Transactions on Robotics and Automation, v. 15, n. 3, p. 521536, June 1999.

115

MACKENZIE, D.; CAMERON, J.; ARKIN, R. Specification and execution of multiagent


missions. In: Proceedings of the International Conference on Intelligent Robotics and Systems
(IROS). Pittsburgh, PA: IEEE Computer Society, 1995. p. 5158.
MAES, P. The dynamics of action selection. In: Proceedings of the Eleventh International
Joint Conference on Articial Intelligence (IJCAI89). Detroit, MI: [s.n.], 1989. v. 2, p. 991998.
MARBLE, J. L.; BRUEMMER, D. J.; FEW, D. A.; DUDENHOEFFER, D. D. Evaluation of
supervisory vs. peer-peer interaction with human-robot teams. In: 37th Hawaii International
Conference on System Sciences. Hawaii: [s.n.], 2004.
MARS Rovers Get Software Updates. 2004. Disponvel em:
<http://www.space.com/news/rover_software_040413.html>. Acesso em: 31/03/2006.
MATARIC, M. Behavior-based control: Main properties and implications. In: Proceedings of Workshop on Intelligent Control Systems, International Conference on
Robotics and Automation. Nice, France: [s.n.], 1992. Disponvel em: <http://wwwrobotics.usc.edu/maja/publications/icraws92.pdf>. Acesso em: 31/03/2006.
MEYSTEL, A. Planning in hierarchical nested controller for autonomous robots. In:
Proceedings of the Twenty-fifth Conference on Decision and Control. Athens, Greece: [s.n.],
1986. p. 12371249.
MEYSTEL, A. Knowledge based nested hierarchical control. In: SARIDIS, G. (Ed.). Advances
in Automation and Robotics. [S.l.]: JAI Press, 1990. v. 2, p. 63152.
MORAVEC, H. P. Towards automatic visual obstacle avoidance. In: Proceedings of the Fifth
International Joint Conference on Artificial Intelligence. Cambridge, MA: [s.n.], 1977. p. 584.
MORAVEC, H. P. The stanford cart and the CMU rover. In: Proceedings of the IEEE. [S.l.:
s.n.], 1983. v. 71, p. 872884.
MORAVEC, H. P.; ELFES, A. E. High resolution map from wide-angle sonar. In: Proceedings
of IEEE International Conference on Robotics and Automation. Washington, DC: [s.n.], 1985.
p. 116121.
MURPHY, R. Introduction to AI Robotics. Cambridge, Massachusetts: MIT Press, 2000.
MURPHY, R.; ARKIN, R. C. SFX: An architecture for action-oriented sensor fusion. In:
Proceedings of the International Conference on Intelligent Robotics and Systems (IROS).
Raleigh, NC: [s.n.], 1992. p. 10791086.
MURPHY, R.; MALI, A. Lessons learned in integrating sensing into autonomous mobile robot
architectures. In: Journal of Experimental and Teoretical Artificial Intelligence special issue
on Software Architectures for Hardware Agents. Great Britain: Taylor & Francis, 1997. v. 9,
n. 2-3, p. 191209.
MURPHY, R.; ROGERS, E. Cooperative Assistance for Remote Robot Supervision. 1996.
Disponvel em: <http://citeseer.ist.psu.edu/murphy96cooperative.html>. Acesso em:
10/02/2006.

116

NICOLESCU, M.; MATARIC, M. Linking perception and action in a control architecture for
human-robot interaction. In: Hawaii Int. Conf. on System Sciences, (HICSS-36). Hawaii, USA:
[s.n.], 2003.
NILSSON, N. J. A mobile automaton: An application of artificial intelligence techniques. In:
Proceedings of the 1st International Joint Conference on Artificial Intelligence. Washington,
D.C.: [s.n.], 1969. p. 509520. Disponvel em: <http://www.ai.sri.com/pubs/files/tn040nilsson69.pdf>. Acesso em: 31/03/2006.
NILSSON, N. J. Shakey the robot. In: Technical Note No. 323. Artificial Intelligence Center, SRI International, Menlo Park, CA: [s.n.], 1984. Disponvel em:
<http://www.ai.sri.com/pubs/files/629.pdf>. Acesso em: 31/03/2006.
NOREILS, F.; CHATILA, R. Plan execution monitoring and control architecture for mobile
robots. IEEE Transactions on Robotics and Automation, v. 11, n. 2, p. 255266, April 1995.
PARIKH, S. P.; GRASSI, V.; KUMAR, V.; OKAMOTO, J. Incorporating user inputs in motion planning for a smart wheelchair. In: Proc. IEEE Int. Conf. Robotics
and Automation. New Orleans, LA: [s.n.], 2004. p. 20432048. Disponvel em:
<http://repository.upenn.edu/meam_papers/30/>. Acesso em: 31/03/2006.
PARIKH, S. P.; GRASSI, V.; KUMAR, V.; OKAMOTO, J. Usability study of a control
framework for an intelligent wheelchair. In: Proc. IEEE Int. Conf. Robotics and Automation.
Barcelona, Spain: [s.n.], 2005.
PARIKH, S. P.; RAO, R.; JUNG, S.-H.; KUMAR, V.; OSTROWSKI, J. P.; TAYLOR, C. J.
Human robot interaction and usability studies for a smart wheelchair. In: Proceedings of the
IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). [s.n.], 2003.
v. 4, p. 32063211. Disponvel em: <http://repository.upenn.edu/meam_papers/19/>. Acesso
em: 31/03/2006.
PATEL, S.; JUNG, S.; OSTROWSKI, J.; RAO, R.; TAYLOR, C. Sensor based doorway
navigation for a nonholonomic vehicle. In: International Conference on Robotics and
Automation. Washington, DC: [s.n.], 2002.
PAYTON, D. W.; ROSENBLATT, J. K.; KEIRSEY, D. M. Plan guided reaction. IEEE
Transactions on Systems, Man, and Cybernetics, v. 20, n. 6, p. 13701382, 1990.
PEREIRA, G. A. S.; KUMAR, V.; SPLETZER, J.; TAYLOR, C. J.; CAMPOS, M. F. M.
Cooperative transport of planar objects by multiple mobile robots using object closure.
In: Proceedings of the 8th International Symposium on Experimental Robotics (ISER02).
SantAngelo dIschia, Italy: [s.n.], 2002. p. 275284.
PIMENTA, L. C. A.; FONSECA, A. R.; PEREIRA, G. A. S.; MESQUITA, R. C.; SILVA, E. J.;
CAMINHAS, W. M.; CAMPOS, M. F. M. On computing complex navigation functions. In:
Proc. IEEE Int. Conf. Robotics and Automation. Barcelona, Spain: [s.n.], 2005. p. 34633468.
RAO, R.; CONN, K.; JUNG, S.; KATUPITIYA, J.; KIENTZ, T.; KUMAR, V.; OSTROWSKI,
J.; PATEL, S.; TAYLOR, C. Human robot interaction: Applications to smart wheelchairs.
In: International Conference on Robotics and Automation. Washington, DC: [s.n.], 2002.
Disponvel em: <http://repository.upenn.edu/meam_papers/29/>. Acesso em: 31/03/2006.

117

RIBEIRO, C. H. C.; COSTA, A. H. R.; ROMERO, R. A. F. Robs mveis inteligentes:


Princpios e tcnicas. In: MARTINS, A. T.; BORGES, D. L. (Ed.). Anais do XXI Congresso da
Sociedade Brasileira de Computao. Fortaleza: SBC, 2001. v. 3, p. 257306.
RIMON, E.; KODITSCHEK, D. E. Exact robot navigation using artificial potential functions.
IEEE Trans. on Robotics and Automation, v. 8, n. 5, p. 501518, 1992.
ROCI. The Remote Operations Control Interface. 2006. Disponvel em:
<http://sourceforge.net/projects/rociproject/>. Acesso em: 13/02/2006.
ROSENBLATT, J. DAMN: A distributed architecture for mobile navigation. In:
Proc. of the AAAI Spring Symp. on Lessons Learned from Implemented Software
Architectures for Physical Agents. Palo Alto, CA: [s.n.], 1995. p. 167178. Disponvel em:
<http://www.ri.cmu.edu/pubs/pub_3209.html>. Acesso em: 31/03/2006.
ROSENBLATT, J. DAMN: A distributed architecture for mobile navigation. Journal of
Experimental and Theoretical Artificial Intelligence, v. 9, n. 2 / 3, p. 339 360, 1997.
Disponvel em: <http://www.ri.cmu.edu/pubs/pub_3134.html>. Acesso em: 31/03/2006.
ROSENBLATT, J. DAMN: A Distributed Architecture for Mobile Navigation. Tese (Doutorado)
Robotics Institute, Carnegie Mellon University, Pittsburgh, PA, January 1997. Disponvel
em: <http://www.ri.cmu.edu/pubs/pub_1439.html>. Acesso em: 31/03/2006.
ROSENBLATT, J.; PAYTON, D. A fine-grained alternative to the subsumption architecture for mobile robot control. In: Proceedings of the International
Joint Conference on Neural Networks. [s.n.], 1989. p. 31723. Disponvel em:
<http://www.umiacs.umd.edu/users/julio/papers/Fine_Grained_Alternative.ps.gz>.
Acesso em: 31/03/2006.
ROSENSCHEIN, S.; KAELBLING, L. The synthesis of digital machines with provable
epistemic properties. In: Proceedings of the 1986 conference on Theoretical aspects
of reasoning about knowledge. San Francisco, CA: Morgan Kaufmann Publishers Inc,
1986. p. 83 98. Disponvel em: <http://www.tark.org/proceedings/tark_mar19_86/p83rosenschein.pdf>. Acesso em: 31/03/2006.
RUSSELL, S. J.; NORVIG, P. Artificial intelligence: a modern approach. Upper Saddle River,
NJ: Prentice Hall, 1995.
SAFFIOTTI, A. The uses of fuzzy logic in autonomous robot navigation: a catalogue raisonne.
Soft Computing Research Journal, v. 1, n. 4, p. 180 197, December 1997. Disponvel em:
<http://www.aass.oru.se/asaffio/Papers/scj97.html>. Acesso em: 31/03/2006.
SAFFIOTTI, A.; KONOLIGE, K.; RUSPINI, E. H. A multivalued-logic approach to integrating
planning and control. Artificial Intelligence, v. 76, n. 1-2, p. 481526, 1995. Disponvel em:
<http://www.aass.oru.se/asaffio/Papers/aij95.html>. Acesso em: 31/03/2006.
SAFFIOTTI, A.; RUSPINI, E. H.; KONOLIGE, K. Blending reactivity and goaldirectedness in a fuzzy controller. In: Proceedings of the IEEE Int. Conf. on Fuzzy
Systems. San Francisco, California: IEEE Press, 1993. p. 134139. Disponvel em:
<http://aass.oru.se/ asaffio/Papers/fuzzieee93.html>. Acesso em: 31/03/2006.

118

SARIDIS, G.; VALVANIS, K. On the theory of intelligent controls. In: Proceedings of the
SPIE Conference on Advances in Intelligent Robotic Systems. Cambridge, MA: [s.n.], 1987. p.
488495.
SCHOLTZ, J.; ANTONISHEK, B.; YOUNG, J. Evaluation of a human-robot interface:
Development of a situational awareness methodology. In: Proc. of the 37th Hawaii Int. Conf.
on System Sciences. Big Island, Hawaii: [s.n.], 2004.
SMITH, R.; SELF, M.; CHEESEMAN, P. Estimating uncertain spatial relationships in robotics.
In: COX, I. J.; WILFONG, G. T. (Ed.). Autonomous Robot Vehicles. [S.l.]: Springer-Verlag,
1990. p. 167 193.
SPLETZER, J.; DAS, A.; FIERRO, R.; TAYLOR, C.; HUMAR, V.; OSTROWSKI, J.
Cooperative localization and control for multi-robot manipulation. In: Proceedings of the
Conference on Intelligent Robots and Systems (IROS 2001). [S.l.: s.n.], 2001.
TANNER, H. G.; LOIZOU, S.; KYRIAKOPOULOS, K. J. Nonholonomic stabilization with
collision avoidance for mobile robots. In: Proceedings of the 2001 IEEE/RSJ International
Conference on Intelligent Robots and Systems. Maui, Hawaii: [s.n.], 2001. p. 12201225.
Disponvel em: <http://www.unm.edu/tanner/Papers/IROS01.pdf>. Acesso em: 31/03/2006.
THRUN, S.; BENNEWITZ, M.; BURGARD, W.; CREMERS, A.; DELLERT, F.; FOX, D.;
HAHNEL, D.; ROSENBERG, C.; ROY, N.; SCHULTE, J.; SCHULZ, D. MINERVA: a second
generation museum tour-guide robot. In: Proc. of IEEE Int. Conf. on Robotics and Automation.
Detroit, MI: [s.n.], 1999.
TOMATIS, N.; NOURBAKHSH, I.; SIEGWART, R. Hybrid simultaneous localization and map building: a natural integration of topological and metric. Robotics and Autonomous Systems, v. 4, n. 1, p. 314, July 2003. Disponvel em:
<http://www.cs.cmu.edu/illah/PAPERS/ras02.pdf>. Acesso em: 13/03/2006.
UDUPA, S. Collision Detection and Avoidance in Computer Controlled Manipulators. Tese
Department of Electrical Engineering, California Institute of Technology, 1977.
VALAVANIS, K. P.; GRACANIN, D.; MATIJASEVIC, M.; KOLLURU, R.; DEMETRIOU,
G. A. Control architectures for autonomous underwater vehicles valavanis. IEEE Control
System Magazine, v. 17, n. 6, p. 4864, 1997.
YANCO, H.; DURRY, J. L. A taxonomy for human-robot interaction. In: AAAI Fall Symposium
on Human-Robot Interaction, AAAI Technical Report FS-02-03. Falmouth, Massachusetts:
[s.n.], 2002. p. 111119. Disponvel em: <http://www.cs.uml.edu/holly/papers/yanco-drurytaxonomy-fss02.pdf>. Acesso em: 31/03/2006.
YANCO, H.; DURRY, J. L. Classifying human-robot interaction: An updated taxonomy. In:
Proceedings of the IEEE Conference on Systems, Man and Cybernetics. [s.n.], 2004. p. 2841
2846. Disponvel em: <http://www.cs.uml.edu/holly/papers/yanco-drury-tax-smc04.pdf>.
Acesso em: 31/03/2006.