Escolar Documentos
Profissional Documentos
Cultura Documentos
So Paulo
2006
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
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
25
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
62
12
13
63
63
14
65
15
65
16
66
17
70
18
Seqenciamento de controladores. . . . . . . . . . . . . . . . . . . . . . . . .
71
19
79
20
83
21
84
22
86
23
87
24
Entrada do usurio combinada com o plano de movimento e com o desvio reativo de obstculo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
88
25
89
26
94
27
Modelo do sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
96
28
Mapa do ambiente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
97
29
98
30
31
32
33
Exemplo de trajetria descrita pelo usurio na Sala 1 utilizando o modo manual. 104
34
Lista de Tabelas
1
28
33
53
Lista de Smbolos
W
Ambiente de trabalho.
Bi
FR
FW
Configurao do rob.
Espao de configurao.
Cobs
Cf ree
Direo do rob.
qinit
qgoal
att
rep
uh
ug
um
t
tg
Uh
Ug
xc
yc
Matrix de transformao.
Sumrio
Introduo
15
2.2
2.3
19
Arquiteturas deliberativas . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
2.1.1
24
2.1.2
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
34
3.1
AuRA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
3.2
SFX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
3.3
DAMN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
3.4
Arquitetura de agente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
3.5
42
3.5.1
Atlantis e 3T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
3.5.2
SSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
3.5.3
47
3.6
Saphira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
3.7
Planejador-Reator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
3.8
DD&P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
3.9
Discusso comparativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
56
4 Planejamento de movimento
59
4.1
Espao de configuraes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
60
4.2
64
4.3
Decomposio em clulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
4.4
Campo potencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
4.4.1
Funo de navegao . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
4.4.2
70
4.4.3
72
4.5
73
4.6
Consideraes finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
74
78
5.1
Percepo e atuao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
5.2
Mapeamento e localizao . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
5.3
81
5.4
82
5.5
89
5.6
Outros comportamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
90
5.7
Anlise comparativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
91
6 Implementao e resultados
6.1
6.2
6.3
93
94
6.1.1
Modelo do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . .
95
96
6.2.1
Mapeamento e localizao . . . . . . . . . . . . . . . . . . . . . . . .
97
6.2.2
Planejamento de movimento . . . . . . . . . . . . . . . . . . . . . . .
98
6.2.3
99
6.2.4
Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.3.1
6.3.2
6.3.3
6.3.4
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
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
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).
25
Planejamento
Sensoriamento
Modelo do
Mundo / Base de
Conhecimento
Planejador da
Misso
Navegador
Piloto
Atuao
Controle de
Baixo Nvel
Atuadores
Sensores
Sensores
Atuadores
26
Sensoriamento
Planejamento
Atuao
Planejador da
Misso
Navegador
Piloto
Sensoriamento
Modelo
Aes
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
28
Mtodo de coordenao
competitivo, supresso e inibio
cooperativo, soma vetorial
competitivo, arbitrao com abstrao
Seleo e Ao
Colnia
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
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.
30
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.
32
2.3
Discusso comparativa
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)
35
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
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
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
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
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
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
42
3.5
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
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
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
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
48
3.6
Saphira
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
49
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
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
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
seleo
seleo
(MURPHY;
ARKIN,
cam falhas neles mesmos; comportamentos em camadas estratgicas e tticas; seleo e configurao de comportamentos; coordenao por meio
de filtros;
DAMN
seleo
(ROSENBLATT, 1997a)
(ROSENBLATT, 1997b)
(ROSENBLATT,
(ROSENBLATT; PAYTON,
1989)
1995)
54
Principais Caractersticas
Estratgia
Referncias
de Interface
Agente
(FIRBY; PROKOPOWICZ;
adiamento
SWAIN, 1998)
conselho,
(GAT, 1991)
seleo
seleo,
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
Principais Caractersticas
Estratgia
Referncias
de Interface
Arquitetura
Genrica
1998)
seleo
(NOREILS;
CHATILA,
quico; planejamento antes e durante execuo (auxiliado pelo supervisor); seqenciamento de mdulos funcionais (comportamentos);
seqenciador utiliza PRS;
Saphira
seleo,
(KONOLIGE;
adiamento
1998)
(SAFFIOTTI;
RUSPINI;
KONOLIGE,
1993)
(SAFFIOTTI;
KONOLIGE;
nebulosa;
1993)
adaptao
(LYONS;
MYERS,
RUSPINI,
HENDRIKS,
Planejador-
Reator
1992)
DRIKS, 1995)
(LYONS; HEN-
o da estrutura de comportamentos;
novos comportamentos so gerados;
DD&P
seleo,
(HERTZBERG;
adaptao
NHERR, 2001)
SCH-
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
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
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
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
61
(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)
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
64
4.2
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
4.3
Decomposio em clulas
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.
67
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).
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)
kq qgoal k2
[kq qgoal k2 + (q)]1/k
(4.5)
onde,
,
m
Y
(4.6)
j=0
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
71
72
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
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
5.1
Percepo e atuao
79
Mapa
qgoal
Mapeamento
Planejador
Monitor
Localizao
Plano de
Movimento
Seletor de
Comportamentos
Percepo
(Sensores)
Comportamento
Deliberativo de
Navegao
Comportamentos
Reativos
ug
uh
u
Atuadores
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
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).
81
5.3
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
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
83
objetivo
- (q)
= const
84
- g(q)
objetivo
Obstculo
- (q)
fronteira de segurana
= const
85
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)
- (q)
- (q)
objetivo
objetivo
uh
Ignorar
Objetivo
uh
um
= const
= const
87
uh (uh tg )tg
||uh (uh tg )tg ||
(5.4)
gi (q)
tg =
||gi (q)||
(5.5)
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
obstculos
modelados
no mapa
obstculo no
modelado
rob
objetivo
rob
- (q)
obstculo no
modelados
bloqueando
caminho
(q)
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
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
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 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)
=
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)
6.2
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
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
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.
100
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
Figura 30: Algoritmo usado para combinar o comportamento deliberativo de navegao, comportamento reativo de desvio de obstculos, e entradas do operador humano.
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.
103
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.
104
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.
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
(a)
Obstculo
(a)
(c)
(b)
(b)
Cadeira
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
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
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
112
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
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
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.