uso da arquitetura aura - autonomous robot … · uso da arquitetura aura - autonomous robot...

12
USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT ARCHITECTURE EM UM ROBÔ EXPLORADOR DE LABIRINTO CONTROLADO POR RASPBERRY PI. João Paulo Fernandes da Silva¹, Willame Balbino Bonfim 1. [email protected] Resumo Este artigo apresenta um estudo sobre um robô móvel, que utiliza uma arquitetura de comportamento para definir seu próprio trajeto em um labirinto de paredes ortogonais, ambiente no qual o robô terá que explorar até encontrar a saída, o qual é o único ponto distinto reconhecido pelo robô. Apresenta ainda a plataforma Raspberry Pi como controlador do robô visando a autonomia do mesmo. A arquitetura referida trata-se da Autonomous Robot Architecture (AuRA) onde a partir da análise dos comportamentos reativos e deliberativos obtidos desta arquitetura poderá ser gerado um código que posteriormente pode ser inserido na plataforma Raspberry Pi. Palavras-chave: Robótica Móvel, Arquitetura, Comportamento, AuRA, Raspberry Pi. Abstract This article presents a study on a mobile robot that uses a behavioral architecture to define their own path in a maze of orthogonal walls, environment in which the robot will have to explore to find the exit, which is the only distinct point recognized by the robot. It also presents the Raspberry Pi platform as the robot controller aimed at autonomy of it. Such architecture it is the Autonomous Robot Architecture (AuRA) where the analysis of reactive behaviors and deliberating obtained in this architecture can be generated code that can then be inserted into the Raspberry Pi platform. Keywords: Mobile Robotics, Architecture, Behavior, AuRA, Raspberry Pi. Introdução A robótica pode ser classificada em duas áreas distintas, industrial e móvel. De acordo com a Norma ISO 10218 os robôs industriais são como uma máquina manipuladora, com vários graus

Upload: others

Post on 22-Jun-2020

30 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT … · USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT ARCHITECTURE EM UM ROBÔ EXPLORADOR DE LABIRINTO CONTROLADO POR RASPBERRY PI. João Paulo

USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT

ARCHITECTURE EM UM ROBÔ EXPLORADOR DE LABIRINTO

CONTROLADO POR RASPBERRY PI.

João Paulo Fernandes da Silva¹, Willame Balbino Bonfim

1. [email protected]

Resumo

Este artigo apresenta um estudo sobre um robô móvel, que utiliza uma arquitetura de

comportamento para definir seu próprio trajeto em um labirinto de paredes ortogonais, ambiente

no qual o robô terá que explorar até encontrar a saída, o qual é o único ponto distinto

reconhecido pelo robô. Apresenta ainda a plataforma Raspberry Pi como controlador do robô

visando a autonomia do mesmo. A arquitetura referida trata-se da Autonomous Robot

Architecture (AuRA) onde a partir da análise dos comportamentos reativos e deliberativos

obtidos desta arquitetura poderá ser gerado um código que posteriormente pode ser inserido na

plataforma Raspberry Pi.

Palavras-chave: Robótica Móvel, Arquitetura, Comportamento, AuRA, Raspberry Pi.

Abstract

This article presents a study on a mobile robot that uses a behavioral architecture to define their

own path in a maze of orthogonal walls, environment in which the robot will have to explore

to find the exit, which is the only distinct point recognized by the robot. It also presents the

Raspberry Pi platform as the robot controller aimed at autonomy of it. Such architecture it is

the Autonomous Robot Architecture (AuRA) where the analysis of reactive behaviors and

deliberating obtained in this architecture can be generated code that can then be inserted into

the Raspberry Pi platform.

Keywords: Mobile Robotics, Architecture, Behavior, AuRA, Raspberry Pi.

Introdução

A robótica pode ser classificada em duas áreas distintas, industrial e móvel. De acordo com a

Norma ISO 10218 os robôs industriais são como uma máquina manipuladora, com vários graus

Page 2: USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT … · USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT ARCHITECTURE EM UM ROBÔ EXPLORADOR DE LABIRINTO CONTROLADO POR RASPBERRY PI. João Paulo

de liberdade, controlada automaticamente, reprogramável, multifuncional, que pode ter base

fixa ou móvel para utilização em aplicações de automação industrial. (ROMANO, 2002). A

robótica móvel se caracteriza por apresentar robôs com capacidade de se deslocarem de forma

autônoma, ou seja, andar em um ambiente desconhecido sem que haja total ou parcial a

intervenção humana.

Segundo Ribeiro, Costa e Romero (2001), robôs móveis inteligentes são agentes artificiais

ativos, com capacidade de locomoção, imersos no mundo físico real. Agentes por atuarem de

forma racional; artificiais por serem máquinas e não entidades criadas pela natureza; ativos por

atuarem no ambiente de forma propositada, não passiva; com capacidade de locomoção por

poderem se mover no ambiente.

Beket (2005, apud SANTOS, 2009) diz que um robô móvel é um dispositivo mecânico montado

sobre uma base não fixa, que age sob o controle de um sistema computacional, equipado com

sensores e atuadores que o permitem interagir com o ambiente.

Este trabalho visa apresentar um sistema de navegação autônomo para um robô móvel

explorador de Labirinto. O sistema criado tem a capacidade de se autoplanejar, executando as

tarefas geradas de forma autônoma. Para isso foi utilizada como base a arquitetura híbrida

AuRA (Autonomous Robot Arquitecture).

Materiais e métodos

Fundamenta-se em cinco tópicos: (i) Robô explorador de labirinto, (ii) Comportamento do robô,

(iii) Arquitetura AuRA, (iv) Divisão das camadas da arquitetura AuRA e (v) Raspberry Pi.

Robô explorador de labirinto

O robô explorador de labirinto é um AVG (Veículo Guiado Automaticamente). Dietsch e

Torrens (2007, tradução nossa) cita que um AVG é essencialmente um robô móvel utilizado

Page 3: USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT … · USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT ARCHITECTURE EM UM ROBÔ EXPLORADOR DE LABIRINTO CONTROLADO POR RASPBERRY PI. João Paulo

em áreas industriais para mover materiais de um ponto a outro. Dietsch e Torrens (2007,

tradução nossa) dizem ainda que há uma tendência para o desenvolvimento de robôs que

possuem um maior grau de autonomia, para que eles possam executar tarefas de forma mais

eficaz em um ambiente desestruturado sem orientação humana contínua ou intervenção.

O robô explorador de labirinto por ser autônomo usa sua percepção através dos sensores que

estão distribuídos em seu chassi para percorrer um caminho intrincado (labirinto) criado

intencionalmente para desorientar quem o percorre. A figura 1 abaixo ilustra o robô com a

disposição dos sensores, atuadores e a plataforma Raspberry Pi.

Figura 1 – Ilustração do robô com a disposição dos sensores, atuadores e a plataforma Raspberry Pi.

Fonte: Elaborada pelos autores.

Comportamento do robô

Existem dois tipos de comportamento em robôs móveis, que são: Reatividade e Deliberação.

Page 4: USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT … · USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT ARCHITECTURE EM UM ROBÔ EXPLORADOR DE LABIRINTO CONTROLADO POR RASPBERRY PI. João Paulo

Conforme Ribeiro, Costa e Romero (2001), reatividade corresponde a mapeamentos simples,

ligando estímulos sensoriais a respostas (ações), enquanto que deliberação implica em um

estágio intermediário de planejamento, baseado em modelo do ambiente no qual o robô atua. A

arquitetura AuRA, utiliza ambos os comportamentos, pois é híbrida.

Arquitetura AuRA-Autonomous Robot Arquitecture

As arquiteturas híbridas combinam deliberação e reatividade, sendo elas mais complexas e

predominantes na atualidade. Este tipo de arquitetura utiliza deliberação para planejar as ações

do robô a partir do modelo de mundo, de forma que os objetovos do robô possam ser atingidos.

Uma vez que as ações são planejadas, a execução do plano de ação é realizada utilizando a

reatividade, pois por meio dela é possível responder rapidamente as mudanças dinâmicas no

ambiente (GRASSI Jr, 2006). Uma das principais arquiteturas híbridas é a AuRA.

Divisão de camadas da arquitetura aura

O planejador hierárquico é composto de um planejador de missão, de um módulo de

raciocínio espacial, e um sequenciador de plano de execução. À semelhança dos

sistemas de planejamento tradicionais, o nível mais alto de hierarquia de planejamento

é ocupado pelo planejador de missão, responsável por estabelecer objetivos de alto

nível para o robô e restrições de raciocínio espacial, originalmente chamado de

navegador. Ele utiliza o conhecimento cartográfico do ambiente, armazenado em uma

memória de longa duração, para construir uma sequência de trechos de navegação que

devem ser executadas pelo robô para que a missão possa ser completada. Por fim, o

nível mais baixo na hierarquia de planejamento é ocupado pelo seqüenciador de plano,

também chamado de piloto em trabalhos anteriores. Para cada trecho de navegação

gerado pelo módulo de raciocínio espacial, o sequenciador de plano especifica um

conjunto de comportamentos motores que devem ser enviados para execução. Neste

ponto, a deliberação acaba e se inicia a execução reativa. O controlador de esquemas

Page 5: USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT … · USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT ARCHITECTURE EM UM ROBÔ EXPLORADOR DE LABIRINTO CONTROLADO POR RASPBERRY PI. João Paulo

é a parte reativa e é responsável pelo monitoramento dos comportamentos reativos em

tempo de execução. Cada comportamento motor (ou esquema) é associado a um

esquema perceptivo capaz de prover o estímulo requerido para um determinado

comportamento (GRASSI Jr, 2006, p. 36).

Nesta arquitetura há uma divisão clara da parte deliberativa e reativa e onde cada processo

ocorre, desde o mais alto nível até o mais baixo.

A Arquitetura AuRA é representada através do diagrama da figura 2 a seguir:

Figura 2 – Arquitetura AuRA.

Fonte: (GRASSI Jr, 2006).

Raspberry Pi

Como citado anteriormente, a plataforma Raspberry Pi é apresentada neste artigo como uma

ferramenta para que o robô através de uma codificação seja autônomo.

De acordo com Techtudo (2015), o Raspberry Pi é um mini-microcomputador que, do tamanho

de um cartão de crédito, abriga processador, processador gráfico, slot para cartões de memória,

interface USB, HDMI e seus respectivos controladores. Além disso, ele também apresenta

memória RAM, entrada de energia e barramentos de expansão. Ainda que minúsculo, o

Page 6: USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT … · USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT ARCHITECTURE EM UM ROBÔ EXPLORADOR DE LABIRINTO CONTROLADO POR RASPBERRY PI. João Paulo

Raspberry é um computador completo.

O Raspberry Pi pode ser usado para diversas aplicações, entre elas a de controlador. Na sua

barra de pinos para entradas e saídas de dados, como pode ser observado na parte superior

esquerda da figura 5, podem ser conectados sensores e atuadores, ideal para aplicações com

robótica móvel. Tal plataforma opera com vários sistemas operacionais, tais como o Linux,

onde temos interfaces ou ambientes de programação, podendo trabalhar com várias linguagens

de programação, tais como Java. Na figura 3 encontra-se a plataforma para programação,

Raspberry Pi.

Figura 3 – Raspberry Pi.

Fonte: (TECMUNDO, 2015).

Resultados

Fundamenta-se em três tópicos: (i) Análise de domínio, (ii) Descrição comportamental do robô

e (iii) Plano de teste.

Page 7: USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT … · USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT ARCHITECTURE EM UM ROBÔ EXPLORADOR DE LABIRINTO CONTROLADO POR RASPBERRY PI. João Paulo

Análise do domínio

A análise de domínio pode ser considerada como um planejamento de situações no qual robô

poderá encontrar no ambiente a ser explorado. Na análise de domínio é definido um conjunto

de características que descrevem problemas para os quais uma determinada aplicação pretende

dar solução. Abaixo está listado o domínio que o robô deverá ter ao percorrer o labirinto.

1. Sem obstáculo;

2. Com obstáculo a sua frente;

3. Com obstáculo a sua direita;

4. Com obstáculo a sua esquerda;

5. Com obstáculo a sua frete e a direita;

6. Com obstáculo a sua frente e a esquerda;

7. Com obstáculo a sua direita e a sua esquerda;

8. Com obstáculo a sua frente a sua direita e sua esquerda;

9. Sobre uma faixa preta (saída);

A figura 4 a seguir exemplifica melhor cada situação listada acima:

Page 8: USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT … · USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT ARCHITECTURE EM UM ROBÔ EXPLORADOR DE LABIRINTO CONTROLADO POR RASPBERRY PI. João Paulo

Figura 4 – Representação da análise de domínio.

Fonte: Elaborada pelos autores.

Descrição comportamental do robô

A descrição comportamental obedece a uma complexidade como mostra a figura 5, esta

complexidade relaciona comportamentos reativos que são mais simples e comportamentos

deliberativos que são mais complexos.

Page 9: USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT … · USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT ARCHITECTURE EM UM ROBÔ EXPLORADOR DE LABIRINTO CONTROLADO POR RASPBERRY PI. João Paulo

Figura 5 – Comportamentos: Escala de Complexidade.

Fonte: Elaborada pelos autores.

Um comportamento relaciona estímulos sensoriais a ações produzidas sobre os atuadores do

robô, de acordo com um plano realizado a partir de um modelo interno do ambiente:

(RIBEIRO; COSTA; ROMERO, 2001).

a = c (s, p) equação (1)

Onde:

a: ação que o robô realizará;

c: comportamento; s: sensores;

p: plano de ação.

Cada comportamento implementado no robô corresponde a uma função obtida na

análise de domínio, para isso tem-se:

O robô quando não detectar nenhum obstáculo deverá andar para frente com uma distancia

de 10 cm:

a = ([ ], p1 (10,F)) equação (2)

Quando o robô detectar obstáculo a sua frente girar 90° graus para sua direita:

a = ([s1], p2(90°, D)) equação (3)

Se ocorrer a possibilidade do robô detectar obstáculo a sua frente novamente, então:

Page 10: USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT … · USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT ARCHITECTURE EM UM ROBÔ EXPLORADOR DE LABIRINTO CONTROLADO POR RASPBERRY PI. João Paulo

Virar a direita se D1 = 1, W = 0, D = 0;

Virar a esquerda se D = 0, W = 1, D = 1. equação (4)

Quando o robô detectar obstáculo a sua esquerda o mesmo deverá andar para frente com

uma distancia de 10 cm:

a = ([s3], p1 (10, F)) equação (5)

Quando o robô detectar obstáculo a sua frete e a direita girar 90° graus para sua direita:

a = ([s1, s2], p2 (90°, D)) equação (6)

Quando o robô detectar obstáculo a sua frente e a esquerda girar 90° graus para sua direita:

a = ([s1, s3], p2 (90º,D)) equação (8)

Quando o robô detectar obstáculo a sua direita e a sua esquerda andar para frente com uma

distancia de 10 cm:

a = ([s2, s3], p1 (10, F)) equação (9)

Quando o robô detectar obstáculo a sua frente a sua direita e sua esquerda girar 180° graus

para trás:

a = ([s1, s2, s3], p2 (180°, T)) equação (10)

Quando detectar linha preta o robô deverá parar:

a = ([s4], p1 (0, F)) equação (11)

Onde:

p1: gera uma ação de andar em cm;

p2: gera uma ação de girar 90° para direita ou esquerda (D, E) ou 180° graus para trás

(T).

Plano de teste

O plano de teste trata-se de uma modelagem detalhada de como o robô atuará durante o seu

funcionamento, se o mesmo realizará ou não o que lhe foi proposto, para isso o plano de teste

tem como referência a analise de domínio já descrito neste trabalho.

Teste 1: Posicionar o robô sem obstáculos, acioná-lo, verificar se a missão foi atingida;

Page 11: USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT … · USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT ARCHITECTURE EM UM ROBÔ EXPLORADOR DE LABIRINTO CONTROLADO POR RASPBERRY PI. João Paulo

Teste 2: Posicionar o robô com obstáculo a sua frente e acioná-lo, verificar se a missão foi

atingida;

Teste 3: Posicionar o robô com obstáculo a sua direita e acioná-lo, verificar se a missão foi

atingida;

Teste 4: Posicionar o robô com obstáculo a sua esquerda e acioná-lo, verificar se a missão

foi atingida;

Teste 5: Posicionar o robô com obstáculo a sua frente e esquerda, acioná-lo, verificar se a

missão foi atingida;

Teste 6: Posicionar o robô com obstáculo a sua frente e direita e acioná-lo, verificar se a

missão foi atingida;

Teste 7: Posicionar o robô com obstáculo a sua direita e a esquerda, acioná-lo, verificar se a

missão foi atingida;

Teste 8: Posicionar o robô com obstáculo a sua frente, esquerda e direita, acioná-lo, verificar

se a missão foi atingida;

Teste 9: Posicionar o robô sobre uma faixa preta, acioná-lo, verificar se a missão foi atingida.

Considerações Finais

O estudo da robótica móvel é bastante amplo, o que possibilita uma diversificação em modelos

de robôs e a sua forma de atuação, assim como os tipos de arquiteturas e comportamentos que

podem ser desenvolvidos. Este trabalho mostrou o uso da arquitetura AuRA - Autonomous

Robot Architecture em um robô explorador de labirinto pode ser muito útil quando se quer um

robô cada vez mais autônomo em suas várias possibilidades de modelo de ambiente gerados

pelos comportamentos dessa aquitetura, onde é fundamentado em se utilizar a plataforma de

programação Raspberry Pi como controlador para que o robô seja autônomo. Sugere-se para

trabalhos futuros um estudo mais detalhado, mostrando a codificação a ser programada no

Page 12: USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT … · USO DA ARQUITETURA AURA - AUTONOMOUS ROBOT ARCHITECTURE EM UM ROBÔ EXPLORADOR DE LABIRINTO CONTROLADO POR RASPBERRY PI. João Paulo

Raspberry Pi com base nos resultados obtidos neste trabalho, assim como o funcionamento

detalhado do robô.

Referências

DIETSCH, J.; TORRENS, B. Self-Guided Vehicle with Enhanced Control System.

Disponível em:

<http://www.growthconsulting.frost.com/web/images.nsf/0/40254B68ACBF00CF652572BF0

0405F85/$File/TI%20Alert%20NA.htm> Acesso: 19 de março de 2015.

GRASSI Jr, V. Arquitetura Hibrida para Robôs Móveis Baseada em Funções de

Navegação com Intervenção Humana. Tese (Doutor em Engenharia) – Universidade de São

Paulo. São Paulo, 2006.

RIBEIRO, C. H. C.; COSTA, A. H. R.; ROMERO, R. A. F. Robôs Móveis Inteligentes:

Princípios e Técnicas. 2001.

ROMANO, V. F. Robótica Industrial – Aplicações na Indústria de Manufatura e de

Processos. Edgard Blücher Ltda, 2002.

SANTOS, K. R. S. Sistema de Navegação Autônoma para Robôs Móveis Baseado em

Arquitetura Híbrida: Teoria e Aplicação. 2009. Dissertação (Pós-Graduação em Engenharia

Elétrica) – Universidade Federal de Itajubá. Minas Gerais, 2009.

TECHTUDO. Como funciona o Raspberry Pi? Entenda a tecnologia e sua aplicabilidade.

Disponível em: < http://www.techtudo.com.br/noticias/noticia/2014/11/como-funciona-o-

raspberry-pi-entenda-tecnologia-e-sua-aplicabilidade.html> Acesso: 22 de maio de 2015.

TECMUNDO. Raspberry Pi: como um computador de 50 reais pode revolucionar a

informática. Disponível em: <http://www.tecmundo.com.br/hardware/23175-raspberry-pi-

como-um-computador-de-50-reais-pode-revolucionar-a-informatica.htm> Acesso: 22 de maio

de 2015.