Projeto Robot Packing
-
date post
19-Oct-2014 -
Category
Technology
-
view
901 -
download
2
Embed Size (px)
description
Transcript of Projeto Robot Packing

SISTEMAS DE INFORMAÇÃO
ERIVAN DE SENA RAMOS
JOSÉ RILDO LESSA
ROBOT PACKING
Fortaleza
2009

ERIVAN DE SENA RAMOS
JOSÉ RILDO LESSA
ROBOT PACKING
Trabalho apresentado ao Curso de
Sistemas de Informação da Faculdade
Integrada do Ceará como requisito
para obtenção da nota de AVII, da
disciplina de Sistemas Multiagentes.
Sob a orientação do Professor Ms.
Cláudio Olany Alencar de Oliveira.
Fortaleza
2009
1

RESUMO
Ao mesmo tempo em que a autonomia de robôs pessoais e domésticos
aumenta, cresce a necessidade de interação dos mesmos com o ambiente. A
interação mais básica de um robô com o ambiente é feita pela percepção deste
e sua navegação. Para uma série de aplicações não é prático prover modelos
geométricos válidos do ambiente a um robô antes de seu uso. O robô
necessita, então, criar estes modelos enquanto se movimenta e percebe o
meio em que está inserido através de sensores. Ao mesmo tempo é necessário
minimizar a complexidade requerida quanto a hardware e sensores utilizados.
No presente trabalho, é apresentado um projeto para um robot packing,
definindo seu ambiente e seus comportamentos.
Palavras-chave: Robot Packing, Sistemas Multiagentes.
2

ABSTRACT
As the autonomy of personal service robotic systems increases so has their
need to interact with their environment. The most basic interaction a robotic
agent may have with its environment is to sense and navigate through it. For
many applications it is not usually practical to provide robots in advance with
valid geometric models of their environment. The robot will need to create these
models by moving around and sensing the environment, while minimizing the
complexity of the required sensing hardware. This work proposes a design for a
robot packing, setting environment and behavior.
Keywords: Robot Packing; Systems Multiagentes
3

LISTA DE FIGURAS
FIGURA 1 - Robart I, Robart II e Robart III...................................................... 08
FIGURA 2 - Robô Sojourner............................................................................ 09
4

SUMÁRIO
1 INTRODUÇÃO ........................................................................... 06
1.1 Histórico...................................................................................... 07
2 OBJETIVOS................................................................................ 10
2.1 Objetivo geral.............................................................................. 10
2.2 Objetivos específicos................................................................... 10
3 ROBÔ PACKING..................................................... 11
3.1 Ambiente................................................................................................... 11
3.1.1 Características do ambiente................................................................... 12
3.1.1.1 Comunicação.................................................................................................. 13
3.1.1.1 Coordenação................................................................................................... 14
3.2 Robôs........................................................................................................ 14
3.2.1 Sensores................................................................................................ 15
3.2.2 Atuadores............................................................................................... 16
3.2.3 Comportamento...................................................................................... 16
4 CONCLUSÃO ............................................................................ 18
REFERÊNCIAS UTILIZADAS....................................................... 19
5

1 INTRODUÇÃO
A Robotic Industries Association (RIA) define um robô como sendo
um manipulador programável multi-funcional capaz de mover materiais, partes,
ferramentas ou dispositivos específicos através de movimentos variáveis
programados para realizar uma variedade de tarefas
Esta definição descreve toda uma categoria de máquinas. Desta
forma, qualquer equipamento capaz de ser programado de alguma forma é
considerado um robô. A indústria já utiliza esta tecnologia como substituta da
mão-de-obra humana, em especial onde há riscos envolvidos.
Pode-se distribuir os robôs em gerações segundo sua complexidade:
Primeira Geração: São robôs tipicamente utilizados em ambientes
industriais, desprovidos de "inteligência" senão aquela programada. O mundo
onde atuam deve ser preparado pois eles não são capazes de perceber os
objetos ao seu redor com exatidão. Poucos utilizam um computador dedicado
embarcado. No entanto, ainda são usados em fábricas devido ao aumento de
produtividade e qualidade do produto gerado e da durabilidade. Tendem a
desaparecer à medida que as exigências em termos de produtividade e
velocidade aumentarem ainda mais
Segunda Geração: A rápida expansão do mercado de
semicondutores fez com que computadores se tornassem produtos baratos o
suficiente para equipar robôs. Isto permitiu um avanço significativo pois
máquinas anteriormente muito limitadas puderam ser equipadas com
controladores que permitiram cálculos em tempo real e controle mais preciso
dos atuadores ao longo de trajetórias. Sensores de força, torque e proximidade
puderam ser integrados proporcionando maior adaptabilidade e precisão ao
trabalho desempenho pelo robô em seu ambiente. Entre as aplicações estão,
pintura, montagem e soldagem.
Terceira Geração: Representam os modelos mais avançados hoje
disponíveis. Caracterizam-se por incorporarem múltiplos processadores, cada
6

um deles funcionando de forma assíncrona e independente dos demais.
Também possuem sistemas supervisores e de controle destes processadores
utilizando funções de alto nível. São capazes de se comunicarem com outros
sistemas.
Todo robô, móvel ou não, possui características estruturais em
comum, tais como:
Manipulador: parte mecânica móvel do robô; geralmente
representado por uma garra.
Atuador: dispositivo responsável pela movimentação do
manipulador, os atuadores são responsáveis por atuarem no mundo físico. Eles
representam esta interface.
Sensor: dispositivo sensorial do robô. É ele que "sente" o mundo ao
seu redor. Representa a outra "ponta" do par sensor-atuador. Assim como o
dispositivo atuador, é uma parte vital para o bom funcionamento de qualquer
robô, pois o mundo do robô restringe-se às interfaces
1.1 Histórico
O interesse pela mobilidade de robôs teve início com hobistas das
áreas de elétrica/eletrônica. Estes entusiastas construíram seus primeiros
protótipos impulsionados pela curiosidade. Compostos a partir de peças de
equipamentos como rádios, televisores e pequenos motores, tinham como
inspiração os filmes de ficção científica da época. Estes modelos também
tinham em comum a imitação da forma humana (antropomórficos), a
teleoperação e o total desprovimento de "inteligência"
A partir do final da década de 70 e início dos anos 80, começaram a
aparecer projetos sérios para aplicações como patrulhamento de ambientes,
transporte de carga, segurança, exploração, entre outros, quase sempre
patrocinados por órgãos militares, governamentais ou grandes empresas.
Percebeu-se aí um importante nicho ainda inexplorado e de grande
futuro se nós pensarmos no enorme potencial econômico disto. Também
7

alimentou o sonho de tornar realidade máquinas queo cinema imortalizou na
série Star Wars, como o andróide C3PO e o robô R2D2.
Um dos primeiros modelos a obter sucesso foi o Robart I,
desenvolvido pela marinha norteamericana entre os anos de 1980 e 1982. Este
robô tinha como função patrulhar ambientes fechados a procura de situações
indesejáveis, tais como indícios de incêndio e vestígios de intrusos .
Aplicações como estas foram escolhidas para demonstrar a
utilidade destas funções livrando pessoas destas tarefas e para provar que não
eram necessários dispositivos avançados, reduzindo a complexidade de todo
sistema. Estes modelos já exibiam características como fusão sensorial e
dispositivos sintetizadores de voz para anúncio destas situações indesejáveis
detectadas. Também eram capazes de encontrar sozinhos para a recarga da
bateria pontos previamente configurados com base na troca de sinais de rádio
entre o robô e esta central. Os modelos seguintes, Robart II (1982-1992) e III
(1992), eram mais avançados, possuindo processamento distribuído de cada
grupo desensores, planejamento de trajetória, criação de mapas do ambiente,
utilização de câmeras de vídeo para a transmissão de imagens e muitos mais.
FIGURA 1 - Robart I, Robart II e Robart III
O desenvolvimento prosseguiu com a adição de novos tipos de
sensores, atuadores e programas de controle tornando-os cada vez mais
8

autônomos e precisos na realização de suas tarefas. Também passaram a ser
utilizados em outros ambiente além do terrestre. Robôs para exploração
submarina como aqueles utilizados na descoberta de naufrágios famosos e
robôs para o patrulhamento aéreo, como os aviões espiões Predator norte-
americanos usados na guerra do golfo. Ou seja, robôs permeiam praticamente
todas as atividades humanas dos dias de hoje, mesmo sem nos darmos conta
disso.
Da limpeza de ambientes à aviação, das agências bancárias aos
supermercados tudo possui máquinas programáveis para facilitar a vida das
pessoas. Existem hoje robôs extremamente avançados. A evolução nesta área
é surpreendente. O caso mais famoso de projeto bem sucedido é o robô
Sojourner. Construído pelo Jet Propulsion Laboratory (JPL) do Instituto de
Tecnologia da Califórina em parceria com a NASA e enviado a Marte com o
objetivo de explorar as características do terreno deste planeta e realizar
experimentos científicos. Esta missão foi a primeira de uma série de outras
planejadas. Estes robôs podem ser considerados o estado da arte na área de
robótica móvel autônoma. Uma vez lançados e em órbita, pouco pode ser feito
em caso de falhas.
FIGURA 2 - Robô Sojourner
A viagem do Sojourner levou sete meses. Durante este período de
tempo, tudo que os técnicos responsáveis pela missão tinham a sua disposição
eram dados de telemetria. A intervenção (envio de comandos por exemplo)
também era possível, apesar do longo intervalo de tempo necessário para isto,
entre 6 e 41 minutos.
9

2 OBJETIVOS
2.1 OBJETIVO GERAL
O objetivo dessa pesquisa é entender e esclarecer os fundamentos
da comunicação e interação de agentes inteligentes; aplicando conceitos na
modelagem do projeto de um robot packing, através de um estudo realizado
por meio de um levantamento bibliográfico. Esse trabalho é caracterizado como
uma pesquisa conceitual, e visa contribuir na aplicabilidade do conjunto de
princípios da disciplina de Sistemas Multiagentes.
2.2 OBJETIVOS ESPECÍFICOS
Pesquisar aspectos relacionados à robótica móvel de acordo com os
preceitos da disciplina de Sistemas Multiagentes.
Estudar aspectos relacionados à projetos de modelagem e
construção de um robot packing.
Projetar ambiente, robôs e comportamentos, identificando sensores e
atuadores.
10

3 ROBOT PACKING
O presente projeto pretende apresentar uma simulação para um
domínio bidimensional, onde robôs devem mover pacotes em direção ao
destino.
Neste domínio, robôs só podem carregar um pacote por vez, e não é
permitido passar através dos pacotes, eles devem manobrá-los ou contorná-
los. Existindo um custo associado para mover o pacote, porem não existe um
custo para levantar ou para baixar um pacote.
Se o robô encontrar um pacote quando já está carregando outro, ele
deve empurrar esse outro pacote ou desviar dele. Empurrar o pacote acarreta
num custo mais alto, porém isso poderá trazer benefícios futuros ao próprio
robô ou aos outros.
O robô tem benefícios de acordo com os movimentos em direção ao
destino, quando carregando uma caixa.
O robô poderá se movimentar para qualquer uma das casas vizinhas
(caso estejam disponíveis) e que, para fazê-lo, precisa girar na direção que
pretende ir.
3.1 Ambiente
O domínio apresentado para esse projeto consiste em um reticulado,
cercado por paredes que modelam uma grid, dividida em 50 quadrados, cuja
exploração será feita pelos agentes a serem descritos.
Nessa grid existem 2 divisões distintas, para um melhor controle das
categorias, ações e mensagens dos robôs que atuaram na mesma. São elas:
Área Robôs Buscadores, onde nessa a atuação será exclusiva de um robô
específico na modelagem proposta; e Área Robôs Entregadores, que terão
11

interatividade só com robôs que são encarregados de pegar os pacotes
deixados por “Robôs Buscadores” e levar até o alvo.
A montagem do reticulado obedece às seguintes regras:
Contêm:
25 pacotes
Cada pacote possuirá uma informação
binária a qual definirá seu status atual (“0” à
espera da coleta e “1” sendo transportado).
4 robôs
Orientados por sinais que serão enviados
pelo ambiente ou outros robôs.
2 alvos
Cada alvo possuirá um sinalizador que
emitirá a posição em que ele se encontra.
Qualquer posição apresenta os seguintes estados:
Ocupada por um outro robô (OR)
Ocupada por um pacote (OP)
Desocupada (DE)
Posição do alvo (PA)
Posição atual do robô (PR)
3.1.1 Características do ambiente
As características do ambiente são fundamentais na definição da
arquitetura e estrutura dos agentes. O ambiente do Robot Packing será
classificado de acordo com as seguintes características:
Acessível: pois os sensores do agente são capazes de coletar
todas as informações relevantes sobre o ambiente.
12

Estocástico: pois seus estados futuros são afetados pelos
outros agentes.
Episódico: a atuação dos agentes é dividida em episódios
atômicos, onde o agente percebe e efetua apenas uma ação
por episódio independente dos anteriores. Não há relação ou
dependência entre episódios.
Estático: As alterações que podem ocorrer no ambiente
dependem da atuação dos agentes.
Discreto: por possuir um número fixo e finito de ações e
percepções, um número definido de variáveis e valores
possíveis.
Multiagente: O ambiente é composto por muitos agentes.
O ambiente projetado propicia uma infra-estrutura computacional
para que ocorra a interação entre os robôs. Essa infra-estrutura inclui
protocolos para comunicação e protocolos para a interação entre agentes.
3.1.1.1 Comunicação
A comunicação entre os agentes é realizada de forma direta onde os
Robôs Buscadores ao detectarem por meio de seus sensores pacotes no grid
através de uma propagação de sinais, enviam sinais pelos seus atuadores, que
é difundido pelo ambiente até atingir os Robôs Entregadores, afim da definição
da melhor rota, ou para obter resoluções de conflitos. A partir disso, uma
solução é criada através do agrupamento de agentes que trabalham
cooperativamente, cada um deles resolvendo parte do problema.
Para a comunicação utilize-se o KQML - Knowledge Query and
Manipulation Language, um protocolo e linguagem (alto-nível) de comunicação
orientada à mensagem, para troca de informação, independente da sintaxe de
conteúdo.
13

2.1.1.2 Coordenação
A alocação das tarefas é descentralizada em uma estrutura de
subordinação, onde os Robôs Entregadores definem qual a rota a ser realizada
pelos Robôs Buscadores, e em caso de conflito define quem tem prioridade
sobre o pacote. A partir disso, está envolvida a busca por uma funcionalidade
neste sistema que permita que estes agentes possam coordenar seus
conhecimentos, objetivos, habilidades e planos individuais de uma forma
conjunta, em favor da execução de uma ação ou da resolução de algum
problema onde se faça necessária a cooperação entre os agentes.
3.2 Robôs
A comunicação entre o agente e o ambiente será através da ação
percebe, que pesquisará o status atual da coordenada que emitirá sinais que
corresponderá ao estado da posição (OR, OP, DE, PA), retornando uma
percepção.
Se o robô tentar caminhar para uma posição que é uma parede, ele
perceberá um choque e continuará se movimentado para outra direção
possível.
O objetivo do Robô Buscador é sensoriar o ambiente para identificar
pacotes espalhados pela grid, e solicitar aos Robôs Entregadores uma rota
inteligente até uma região de entrega.
O objetivo do Robô Entregador é enviar aos Robôs Buscadores, qual
o alvo mais próximo e qual a melhor rota para chegar até a região de entrega.
As outras ações possíveis a serem realizadas pelos robôs são as
seguintes:
Direcao: muda a orientação do Robô. As possíveis
orientações são: Norte, Sul, Leste ou Oeste, definidas
14

respectivamente pelas c = (c, l) onde “c” identifica a
coluna e “l” identifica a linha.
Carregar: o agente pega e segura o pacote.
Empurrar: empurra o pacote.
Soltar: solta o pacote.
Enviar_msg: Envia mensagem.
Receber_msg: Recebe mensagem.
3.2.1 Sensores
Os agentes projetados são capazes de sensoriar, perceber o
ambiente por meio de sensores e trocas de mensagens.
Desta forma é possível saber como agir de acordo com o
estado do ambiente.
Os sensores apresentados pelo Robot Packing são os
seguintes:
Sensor ótico – executa a ação percebe.
Antena para sinal digital – executa a ação Receber_msg.
Bússola – auxilia na ação Direcao.
Leitor de freqüência - que informa a PR.
15

3.2.2 Atuadores
Após perceber e processar as informações, o agente opera no ambiente de acordo com seus objetivos e estado interno, utilizando seus atuadores.
Os atuadores apresentados pelo Robot Packing para agir
no ambiente são:
Quatro rolamentos na parte inferior do robô e base giratória
ente as rodas e o corpo do robô – executa a ação Direcao.
Duas garras – executa ação Carregar e Soltar.
Antena para sinal digital – executa a ação Enviar_msg.
3.2.3 Comportamento
Os robôs não reagem somente ao seu ambiente, mas também
exibem um comportamento orientado à satisfação de seus objectivos, conforme
as definições e restrições abaixo relacionadas:
Os Robôs Entregadores atravém de sensores ópricos percebem
que existem pacotes no ambiente, e enviam mensagem para os
Robôs Buscadores.
Os Robôs Buscadores iniciam a busca após receberem sinal dos
Robôs Entregadores, e só finalizam após percorrem todo o
ambiente.
Os robôs buscadores conseguem andar a uma velocidade de 1k/h
sem nenhum pacote
Os robôs buscadores conseguem andar a uma velocidade de
0,5k/h com um pacote
O robô consegue andar a uma velocidade de 0,25k/h com um
pacote e empurrando outro.
16

O Robô Buscador ao pegar um pacote, irá se comunicar com o
Robô Entregador para que o mesmo envie a melhor rota até a área
de entrega, esse escolha é feira através de Busca Heurística Best-
First Search1, que por sua vez a função dessa prioriza caminhos
em linhas restas, que é sempre mais perto, caso o caminho não
seja em linha reta a busca utilizará outras técnicas.
No ato de carregar um pacote, o Robô Buscador ao se deparar
com mais um pacote na sua rota (obstáculo) irá utilizar sempre a
seguinte condição: se perto desse obstáculo tiver outros pacote o
Robô Entregador empurrará esse obstáculo para poder passar,
caso contrário irá desviar do mesmo. Pois se houver mais de um
obstáculo o Buscador teria mais trabalho para desviar, assim
perdendo mais tempo e diminuindo seu desempenho.
Ao chegar na “área de entrega” o Robô Buscador detecta a
fronteira entre sua área e a de referida e solta o pacote em um dos
lugares pré-definidos.
Na coleta de pacotes em coordenadas do grid, quando houver
conflito entre Robôs Buscadores (quando chegarem ao mesmo
tempo em um pacote para coletar - prioridade de coleta), o mesmo
irá solicitar ao Robô Entregador quem têm mais prioridade, o Robô
Entregador irá decidir quem tem essa prioridade a partir de um
histórico previamente armazenado de custo de entregas dos Robôs
Buscadores – é calculado a partir de uma base de dados que é
gerada a cada entrega de pacotes do Robô Buscador, nesse
histórico é guardado o custo das entregas e quem tiver o melhor
custo será priorizado no conflito, isto é, irá pegar o pacote em
discussão.
A área de entrega será divida igualmente entre os dois Robôs
Entregadores, e cada um responsável pela entrega dos pacotes em
um alvo. Os Robôs Entregadores percorrerão sua respectiva área
de entrega constantemente enquanto houver pacotes no ambiente.
1 Busca genérica que seleciona o caminho de menor custo, mas altera o caminho caso um outro ramo apresente menor distância. Baseia-se em uma função de avaliação f(n) = h(n)(heurística) = estima o custo da raiz (n) até o objetivo.
17

4 CONCLUSÃO
Ao mesmo tempo em que a autonomia de robôs aumenta, cresce a
necessidade de interação dos mesmos com o ambiente. A interação mais
básica de um robô com o ambiente é feita pela percepção deste e sua
navegação.
Além das habilidades de percepção e raciocínio, também é
fundamental para um robô, aprender e evoluir quais os melhores
comportamentos a serem tomados.
Podemos concluir ainda, que é também de fundamental importância
para um Sistema Multiagente tomar decisões a partir um protocolo de
comunicação e negociação. Desta forma, pode haver uma reação de forma
correta às ações que venham a ocorrer no ambiente, buscando evitar ações
desnecessárias.
18

REFERÊNCIAS UTILIZADAS
BELO, Felipe Augusto Weilemann. Desenvolvimento de algoritmos de exploração e mapeamento visual para robôs móveis de baixo custo. Rio de Janeiro: PUC-Rio, 2006. Disponível em <www2.dbd.puc-rio.br/pergamum/tesesabertas/0410268_06_pretextual.pdf>, acessado em 07/06/2009.
ENDLER, Markus. Algoritmos para Tomada de Decisão Cooperativa entre Robôs Móveis. Rio de Janeiro: PUC-RIO, 2006. Disponível em <www-di.inf.puc-rio.br/~endler/courses/DA/Monografias/06/RoboticaMovel-Pedro-Cunha-Mono.pdf>, acessado em 07/06/2009.
SILVA, Luciano Rottava. Análise e programação de robôs móveis autônomos da plataforma eyebot. Florianópolis: UFSC, 2003. Disponível em <www.das.ufsc.br/~rottava/download/dissertacao.pdf>, acessado em 07/06/2009.
OLIVEIRA, Cláudio Olany Alencar. Sistemas Multiagentes - Agentes Inteligentes. Fortaleza: FIC, 2008.
OLIVEIRA, Cláudio Olany Alencar. Sistemas Multiagentes - Sensores e Atuadores. Fortaleza: FIC, 2009.
OLIVEIRA, Cláudio Olany Alencar. Sistemas Multiagentes - Coordenação em SMA. Fortaleza: FIC, 2009.
19