Automação de um Veículo Terrestre Não Tripulado Utilizando Jason Framework

16
Automação de um Veículo Terrestre Não Tripulado utilizando Jason Framework ARTHUR RODRIGUES XAVIER DA SILVA ENG. TELECOMUNICAÇÕES CARLOS EDUARDO PANTOJA ORIENTADOR

Transcript of Automação de um Veículo Terrestre Não Tripulado Utilizando Jason Framework

Page 1: Automação de um Veículo Terrestre Não Tripulado Utilizando Jason Framework

Automação de um Veículo Terrestre Não Tripulado utilizando Jason Framework

ARTHUR RODRIGUES XAVIER DA SILVAENG. TELECOMUNICAÇÕES

CARLOS EDUARDO PANTOJAORIENTADOR

Page 2: Automação de um Veículo Terrestre Não Tripulado Utilizando Jason Framework

www.facebook.com/projetoTuring

Introdução Agentes inteligentes podem atuar virtual ou fisicamente, comunicando e atuando no meio em que estes são inseridos.

Recentemente novas aplicações de Sistemas de Multiplos Agentes (SMA) possibilitaram aplicações para veículos autônomos não tripulados (VANTs). Sua autonomia garante que trabalhos anteriormente difíceis, rotineiros ou passíveis de riscos possam ser realizados de forma cognitiva [1] e com os resultados desejados.

Existem diversas plataformas que trabalham com o modelo SMA como JACK [2], que utiliza agentes inteligentes para comportamentos de táticas de vôo (somente utilizando simulações de software), alguns como Cordarra Avatar [3] que integrava o SMA JACK em Hardware mas necessitava de um “guia” até certa altitude do piloto do Veículo Aéreo Não Tripulado (VANT) e não possuia processamento integrado.

Em [4] a plataforma “Agentes em AgentSpeak para Veículos Aéreos Não Tripulados” (UAVAS) utiliza o Jason Framework [5] para integrar software e hardware em nível de processamento para a automacão de um quadricóptero.

Page 3: Automação de um Veículo Terrestre Não Tripulado Utilizando Jason Framework

www.facebook.com/projetoTuring

Objetivo Principal Criar um sistema SMA utilizando Jason Framework e Java que possibilite a manipulação e interpretação de dados coletados do ambiente externo afim de realizar determinado objetivo.

Este método tem a intenção de ser simples de modo que possa ser desenvolvido dentro de qualquer Hardware e qualquer programador com noções básicas de eletrônica possa construir e modelar um SMA afim de perceber e interagir o mundo real.

Page 4: Automação de um Veículo Terrestre Não Tripulado Utilizando Jason Framework

www.facebook.com/projetoTuring

SMA São construídos sobre o conceito de Agentes, que podem manter comunicação entre si para agir conforme seus determinados interesses no ambiente através de percepções coletadas pelos atuadores.

Os agentes podem estar agrupados em organizações com a finalidade de atingir objetivos e metas comuns [6].

Page 5: Automação de um Veículo Terrestre Não Tripulado Utilizando Jason Framework

www.facebook.com/projetoTuring

Jason Framework Interpretador e extensor da linguagem AgentSpeak, adicionando opções customizáveis para programação cognitiva de SMA. Possibilita a comunicação e interação entre agentes em um ambiente virtual controlado.

Utiliza a arquitetura modelo Belief-Desire-Intention (BDI) para programação cognitiva de estados mentais.

Page 6: Automação de um Veículo Terrestre Não Tripulado Utilizando Jason Framework

www.facebook.com/projetoTuring

Belief-Desire-Intention (BDI) Beliefs – Informações que o Agente percebe, recebe e guarda do ambiente.

Desire – Possíveis estados mentais que o agente pretende atingir.

Intentions – Estados mentais em que o SMA decidiu agir.

Page 7: Automação de um Veículo Terrestre Não Tripulado Utilizando Jason Framework

www.facebook.com/projetoTuring

Belief-Desire-Intention (BDI) Modelo criado na teoria pratical reasoning de Bratman [1] para validar o pensamento de máquina.

Pratical reasoning: capacidade natural de prever o comportamento humano, atribuindo estados mentais.

Através dessa teoria é possível estabelecer que Agentes são raciocionais se agirem a partir de suas Crenças (Beliefs), afim de atingir seus interesses [1].

No Jason um agente possui Beliefs, Goals, Plans e Actions.

Page 8: Automação de um Veículo Terrestre Não Tripulado Utilizando Jason Framework

www.facebook.com/projetoTuring

Jason Framework Goals (“objetivos”) são estados mentais que o agente pretentde atingir com intenção de mudar o ambiente, através de Beliefs (“Crenças”) percebidos através dos atuadores do ambiente.

Plans (“planos”) são receitas de ações do Agente que representam o conhecimento do mesmo.

Actions (“ações”) são mudanças efetuadas pelo Agente no ambiente ativadas por Beliefs (“Crenças”) afim de atingir certo Goal (“objetivo”).

Page 9: Automação de um Veículo Terrestre Não Tripulado Utilizando Jason Framework

www.facebook.com/projetoTuring

Plataformas de Desenvolvimento

Raspberry Pi B+: 512MB 800MHz (processamento embarcado). Jason Framework, Java

Bibliotecas: Javino, Pi4J.

Arduino: ATmega328, 32KB, 16MHz (Atuadores). Bibliotecas: Javino, Ultrassonic

Atuadores:

- HC-SR04 (Ultrassonico).

- GY-80 10 DOF (Acelerômetro, Giroscópio, Magnetômetro, Barômetro).

Page 10: Automação de um Veículo Terrestre Não Tripulado Utilizando Jason Framework

www.facebook.com/projetoTuring

Fluxo de dadosJava

Jason

JavaJavino (autenticação)

Arduino

Javino (autenticação)

Jason

Java

Arduino

Sensores

Javino

Javino

Pi4J

Page 11: Automação de um Veículo Terrestre Não Tripulado Utilizando Jason Framework

www.facebook.com/projetoTuring

Javino Biblioteca utilizada para comunicação Raspberry-Arduino (programas em Java-C), utilizando porta serial (USB) com método de autenticação de mensagem automático.

Preamble: Identifica o início de uma mensagem;

Field Size: Calcula a extensão dos dados em Hexadecimal;

Mensagem: Mensagem a ser compartilhada.

Page 12: Automação de um Veículo Terrestre Não Tripulado Utilizando Jason Framework

www.facebook.com/projetoTuring

Pi4J Biblioteca que atua possibilitando a utilização das portas seriais de Entrada/Saída (I/O) do código fonte em python nativo da Raspberry em códigos desenvolvidos em Java.

Possibilita que o programador configure pinos de General Porpuse Input/Output (GPIO), controle, envie e receba informações via GPIO,

Page 13: Automação de um Veículo Terrestre Não Tripulado Utilizando Jason Framework

www.facebook.com/projetoTuring

Consumo de EnergiaAfim de mensurar uma bateria para o sistema montado foi realizado um teste de Interface com uma bateria de LiPo 1600mAh 7,2v para mensurar o consumo médio de corrente por hora em uma tela 1080p.Ao lado o gráfico obtido do decaimento da tensão da bateria pelo tempo.

Foi possível calcular o consumo de 9580mAh.

OBS.: Abaixo de 4,7v o funcionamento da Raspberry Pi é comprometido e este é interrompido em tensões inferiores a 4v.

Page 14: Automação de um Veículo Terrestre Não Tripulado Utilizando Jason Framework

www.facebook.com/projetoTuring

Resultados Foi possível desenvolver um SMA utilizando Jason Framework integrado ao Java e Arduino em que o Agente programado pode perceber informações do ambiente e interagir com o mesmo, enviando ao Java comandos a serem executados pelo Arduino.

Mensurado consumo te corrente por hora afim de implementar os próximos estudos e melhorar os próximos protótipos.

Page 15: Automação de um Veículo Terrestre Não Tripulado Utilizando Jason Framework

www.facebook.com/projetoTuring

Trabalhos Futuros e Agradecimentos

Este foi desenvolvido através de [7] An Agent-oriented Ground Vehicle’s Automation Using Jason Framework (ICAART 2014), afim de embarcar o processamento do Agente de modo a possibilitar total autonomia do mesmo.

Futuramente pretendemos adicionar o Pi4J ao Jason como ação interna afim de utilizar somente a Raspberry Pi como central de processamento e atuadores, para miniaturizar o protótipo e manter os mesmos resultados de autenticação.

Pretendemos desenvolver um protocolo de comunicação entre diferentes SMA’s para que diferentes protótipos possam se comunicar e interagir para atingir seus objetivos.

Agradecemos ao CEFET/RJ pelo apoio à pesquisa e à Equipe Venturi pela disponibilidade de espaço e componentes.

Page 16: Automação de um Veículo Terrestre Não Tripulado Utilizando Jason Framework

Referências [1]Bratman, M.: Intention, Plans, and Practical Reason, Center for the

Study of Language and Information (1987).

[2] Busetta, P.: JACK Intelligent Agents –Components for Intelligent Agents in Java, AgentLink Newsletter(1999).

[3] Karim, S., Heinze, C.: Experiences with the Design and Implementation of an Agent Based Autonomous UAV Controller. In Proceedings of Autonomous Agents and Multiagents System(2005).

[4] Hama, M. T., Allgayer, S. R., Pereira, E. C., and Bordini, R. H.: UAVAS: AgentSpeak Agents for Unmanned Aerial Vehicles. In Proceedings of the 2nd Workshop on Autonomous Software Systems(2011).

[5] Bordini, R. H., Hubner, J. F., and Wooldridge, W.: Programming Multi-Agent Systems in AgentSpeak using Jason. Jonh Wiley and Sons, London(2007).

[6] Wooldridge, M.: Reasoning about rational agents. Intelligent roboticand autonomous agents. MIT Press(2000).

[7] Barros, R., Pantoja, C.: An Agent-oriented Ground Vehicle’s Automation Using Jason Framework. ICAART (2014).