Fundamentação
Teórica
Robótica móvel
O problema encontrado na navegação autônoma de veículos
decorre da constante necessidade de tratamento de cada situação
específica, permitindo que o veículo navegue pelo ambiente
em segurança, evitando a colisão com obstáculos,
até alcançar uma ou mais posições pré-estabelecidas
no ambiente. O desenvolvimento de sistemas autônomos torna-se
mais complexo a medida que o modelo do mundo cresce. Para a interação
de um robô em ambientes reais, o sistema deve ser capaz de contornar
situações imprevistas e adaptar-se às mudanças.
Existem duas abordagens para a navegação autônoma:
abordagem baseada em modelos ou planificada e abordagem baseada em sensores
ou reativa. As abordagens baseadas em modelos utilizam um modelo do
ambiente ou mundo, no qual o veículo se encontra, para definir
uma trajetória em direção à posição
final preestabelecida (alvo), evitando obstáculos. Esta abordagem
permite que o veículo navegue em segurança de uma posição
inicial até uma posição final e é geralmente
utilizada em ambientes estáticos.
As abordagens baseadas em sensores utilizam medições realizadas
no ambiente para determinar o próximo movimento do veículo
em direção ao alvo. A vantagem desta abordagem decorre
da viabilidade de sua aplicação em ambientes dinâmicos
e desconhecidos, contudo, a imprevisibilidade do ambiente é um
fator a ser considerado. Estas duas abordagens podem ser combinadas
em abordagens híbridas, como exemplo citam-se: Pré-mapeamento
- Um mapa do ambiente é inicialmente criado e o planejamento
da trajetória é feito com base neste mapa . Durante a
execução da trajetória, os sensores são
utilizados para o desvio de obstáculos dinâmicos que possam
ser encontrados. Criação do mapa em tempo de execução
(Map Building) - Inicialmente o robô interage com o ambiente e
armazena informações referentes aos obstáculos
que encontra. A cada iteração o robô reconstroi
o mapa e melhora seu planejamento de trajetória. O uso de abordagens
híbridas tem-se apresentado como uma alternativa viável
e bem sucedida para o desenvolvimento de sistemas de controle de veículos
autônomos, tornando-os capazes de realizar tarefas de forma eficiente
sem que as imprevisibilidades do ambiente prejudiquem sua execução.
Agentes Autônomos
Atualmente não existe uma definição para agente
aceita por toda a comunidade de IAD. Uma definição genérica
foi proposta por Ferber [FG91]: `"Um agente é uma entidade
real, ou virtual, imersa em um dado ambiente onde ela pode tomar algumas
ações, estar habilitada para perceber e representar parcialmente
este ambiente, podendo ainda comunicar-se com os demais agentes do ambiente.
Este agente apresenta um comportamento autônomo que é uma
conseqüência de suas observações, do conhecimento
armazenado e das interações com os demais agentes do ambiente''.
Os agentes reativos são baseados em modelos de organização
biológica ou etológica, como por exemplo as colméias,
as sociedades de formigas ou de cupins. Embora o comportamento de uma
formiga isoladamente não possa ser considerado inteligente, o
formigueiro é um exemplo claro de uma comunidade inteligente,
uma vez que existe uma atividade coletiva de busca de alimentos e uma
posterior estocagem, a reprodução é organizada
apresentando berçários, enfermeiras etc. O modelo de funcionamento
de um Agente Reativo é o de Estímulo-Resposta. Geralmente
esses agentes não apresentam uma memória das ações
tomadas e também não planejam suas ações
futuras. Todo o conhecimento a respeito das ações e do
comportamento dos demais membros da sociedade é percebido através
das modificações sofridas pelo ambiente. Esses agentes
não possuem um modelo de comunicação de alto nível,
nem uma representação explícita do ambiente ou
dos membros da sociedade. As sociedades de agentes reativos, em geral,
são numerosas, podendo apresentar milhares de membros em uma
mesma comunidade. Existem diversos trabalhos na literatura sobre SMA
baseados em agentes reativos, por exemplo: a arquitetura de subsunção
de Brooks [Bro86], o modelo PACO [Dem93], entre outros. Os agentes cognitivos
são baseados nos modelos de organização social,
de sociedades humanas: grupos, hierarquias, mercados etc. Esses Agentes
Cognitivos possuem uma representação explícita
do ambiente e dos membros da comunidade e podem raciocinar sobre as
ações tomadas no passado e planejar as futuras ações.
Os Agentes Cognitivos podem ainda interagir com os demais membros da
comunidade através de linguagens e protocolos de comunicação
complexos, estratégias sofisticadas de negociação
etc. Esses agentes normalmente apresentam elevada complexidade computacional
e caracterizam-se por apresentar um comportamento inteligente tanto
em uma Comunidade de Agentes quanto isoladamente. Estas comunidades
geralmente são compostas por um pequeno número de participantes.
Os agentes autônomos possuem um alto grau de determinação,
eles podem decidir por motivações próprias, quando
e sob que condições suas ações devem ser
tomadas. Em muitos casos estes agentes precisam interagir com outros
agentes autônomos para atingir seus objetivos, por não
possuirem habilidades ou recursos suficientes para solucionar seus problemas
sozinhos ou ainda pela interdependência em relação
a outros agentes. Os objetivos destas interações são
para fazer outros agentes assumirem um determinado sentido de suas ações
(como por exemplo executar um serviço em particular), modificar
uma linha de ação planejada, ou ainda atingir um acordo
sobre ações conjuntas. Uma vez que estes agentes não
possuem um controle direto sobre os outros faz-se necessário
utilizar uma estratégia de cooperação para aglutinar
outros agentes autônomos na realização de uma dada
tarefa formando assim um sistema multiagente para solução
de problemas através de ação cooperativa.
Sistemas Multiagentes
Os SMA baseiam-se na idéia de Comunidade Inteligente [GB97],
ou seja, um sistema cuja inteligência emerge do comportamento
social da comunidade. Essa comunidade é formada por agentes autônomos,
inseridos em um ambiente comum, capazes de cooperar para alcançarem
uma meta global. Os membros de uma comunidade inteligente podem ser
de baixa complexidade computacional, Agentes Reativos, ou extremamente
complexos, Agentes Cognitivos ou Inteligentes.
Os trabalhos de pesquisa realizados nessa área concentram-se
basicamente nas propriedades dos agentes, mais precisamente naquelas
propriedades que os levam a cooperar com os demais membros da comunidade.
Um processo de cooperação consiste basicamente em distribuir
metas, planos e tarefas em uma comunidade de agentes [Cos01]. Para que
haja cooperação entre uma comunidade de agentes, estes
precisam saber o objetivo desse processo de cooperação
e como cooperar eficientemente. Isso é atingido fornecendo-se
ao agente uma meta - uma descrição de um estado do ambiente
que se deseja alcançar. Baseado em um conjunto de ações
que esse agente pode realizar, o agente pode construir uma variedade
de planos para alcançar essa meta.O agente se compromete com
o melhor plano adicionando ações requisitadas pelo plano
para que ocorra uma seqüência de eventos e uma execução
do plano de acordo com esse sequenciamento. A cooperação
é atingida não apenas pela condução de ações
individuais, mas principalmente pela execução compartilhada
dos planos, assim como através de um planejamento conjunto. Para
que aconteça esse tipo de cooperação entre agentes
cognitivos, faz-se necessário que estes agentes possuam algumas
habilidades.
.
Projeto
AxeBot
Universidade Salvador - UNIFACS
Núcleo de Pesquisa em Redes de Computadores
Contato • Erros
• Sugestões e comentário
|