O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 1
ARGO: A Customized Jason Architec...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 2
ARGO
The Argo
by Lorenzo Costa
Ar...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 3
Outline
1. Introduction
2. Buildi...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 4
Outline
1. Introduction
2. Buildi...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 5
Motivation
MAS
 A robot is a phy...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 6
BDI model
[http://www.inf.ufrgs.b...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 7
Jason
[Bordini et al. 2007]
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 8
Motivation
 Programming robotic ...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 9
Motivation
 Javino [Lazarin and ...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 10
Motivation
 Instead of taking i...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 11
Motivation
 One can filter perc...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 12
Objectives
 ARGO provides a cus...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 13
Outline
1. Introduction
2. Build...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 14
Jason [1]
• AgentSpeak Interpret...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 15
Jason [1]
• AgentSpeak Interpret...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 16
Profiling
86% of total processin...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 17
Profiling
99% of total processin...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 18
Outline
1. Introduction
2. Build...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 19
Perception filters
 [van Oijen ...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 20
Perception filters
 Example of ...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 21
Perception filters
 Example of ...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 23
Perception filters
 Example of ...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 24
Perception filters
[Bordini et a...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 25
Perception filters
[Bordini et a...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 26
Perception filters
 Changes in ...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 27
Perception filters
 Changes in ...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 28
Outline
1. Introduction
2. Build...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 29
Javino
 Javino is a protocol fo...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 30
Operation modes
 Listen mode
• ...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 31
Operation modes
 Request mode
•...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 32
Operation modes
 Send mode
• fr...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 33
Outline
1. Introduction
2. Build...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 34
 ARGO is:
• a customized archit...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 35
 It directly controls the actua...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 36
ARGO overview
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 37
Overview of Robot’s Architecture
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 38
Receiving percepts
Sensors captu...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 39
Receiving percepts
In the firmwa...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 40
Receiving percepts
Javino is res...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 41
Agent’s reasoning
The agent is a...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 42
Executing an action
Agent delibe...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 43
Executing an action
Javino sends...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 44
Executing an action
All possible...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 45
Executing an action
The actuator...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 46
Jason’s reasoning cycle with fil...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 47
ARGO’s reasoning cycle
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 48
Customized architecture
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 49
Customized architecture
Customiz...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 50
Customized architecture
Javino i...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 51
Customized architecture
Returns ...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 52
Customized architecture
The seri...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 53
Customized architecture
Defines ...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 54
Customized architecture
A time i...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 55
Customized architecture
Function...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 56
Customized architecture
Responsi...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 57
Customized architecture
 Change...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 58
Customized architecture
 New re...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 59
Internal Actions
 ARGO Internal...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 60
Limitations
 Limit of 127 seria...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 61
Outline
1. Introduction
2. Build...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 62
Case study
• The robot configura...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 63
Evaluating the experiment
Experi...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 64
Evaluating the experiment
 Esse...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 65
Evaluating the experiment
Desire...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 66
Filters
 Front side filter
<Per...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 67
Filters
 Front distance filter
...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 68
Evaluating the experiment
 Agen...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 69
Evaluating the experiment
 Agen...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 70
Evaluating the experiment
 Agen...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 71
Evaluating the experiment
 Agen...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 72
Evaluating the experiment
 Agen...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 73
Evaluating the experiment
 Agen...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 74
Evaluating the experiment
 Agen...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 75
Evaluating the experiment
 Agen...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 76
Evaluating the experiment
 Agen...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 77
Outline
1. Introduction
2. Build...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 78
0
20
40
60
80
100
120
Perception...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 79
0
20
40
60
80
100
120
Perception...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 80
0
20
40
60
80
100
120
Perception...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 81
Experiments
 The use of the fil...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 82
Outline
1. Introduction
2. Build...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 83
Conclusions
 The main contribut...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 84
Further work
 Different filteri...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 85
References
[Bordini et al. 2007]...
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 86
Acknowledgements
 Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 87
END
THANKS FOR YOUR ATTENTION
pa...
Próximos SlideShares
Carregando em…5
×

ARGO - A Customized Jason Architecture for Programming Embedded Robotic Agents

214 visualizações

Publicada em

Paper presented at the III Workshop on Engineering Multi-Agent Systems (EMAS) - AAMAS 2016 - Singapore - 09/05/2016

Veja mais trabalhos em: fb.com/turingproject
Instagram: @prof.pantoja

Publicada em: Software
  • DOWNLOAD FULL BOOKS, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui

ARGO - A Customized Jason Architecture for Programming Embedded Robotic Agents

  1. 1.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 1 ARGO: A Customized Jason Architecture for Programming Embedded Robotic Agents 1. Instituto de Matemática e Estatística (IME), Universidade de São Paulo (USP), Brazil 2. Escola Politécnica (EP), Universidade de São Paulo (USP), Brazil 3. Centro Federal de Educação Tecnológica (CEFET/RJ), Brazil 4. Universidade Federal Fluminense (UFF), Brazil Laboratório de Técnicas Inteligentes - LTI Carlos Eduardo Pantoja 3,4 Márcio Fernando Stabile Junior 1 Nilson Mori Lazarin 3 Jaime Simão Sichman 2,1 III Workshop on Engineering Multi-Agent Systems EMAS@AAMAS 2016 Singapore 09/05/2016
  2. 2.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 2 ARGO The Argo by Lorenzo Costa Argo was the ship that Jason and the Argonauts sailed in the search of the golden fleece in Greek mythology.
  3. 3.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 3 Outline 1. Introduction 2. Building Blocks: Jason / Perception Filters / Javino 3. ARGO 4. Case Study 5. Obtained Results 6. Conclusions and Further Work
  4. 4.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 4 Outline 1. Introduction 2. Building Blocks: Jason / Perception Filters / Javino 3. ARGO 4. Case Study 5. Obtained Results 6. Conclusions and Further Work
  5. 5.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 5 Motivation MAS  A robot is a physical entity, composed by customized hardware, sensors and actuators  How can we program and control a robot including reactive and goal-directed behaviours? .
  6. 6.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 6 BDI model [http://www.inf.ufrgs.br/prosoft/bdi4jade]
  7. 7.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 7 Jason [Bordini et al. 2007]
  8. 8.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 8 Motivation  Programming robotic agents using Jason has revealed to be a difficult task • Bottlenecks can occur » high cost of processing perceptions » large intention stack is generated • Integration with hardware is not implemented • Hence, the robot may not succeed !
  9. 9.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 9 Motivation  Javino [Lazarin and Pantoja 2015] • middleware for communication between Java and microcontrolers (Arduino) • However, using several sensors may compromise the robot execution time  Perception filters [Stabile Jr and Sichman 2015] • filters are able to improve Jason agent's performance in a significant way
  10. 10.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 10 Motivation  Instead of taking into account all perceptions .... MAS
  11. 11.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 11 Motivation  One can filter perceptions! MAS
  12. 12.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 12 Objectives  ARGO provides a customized Jason architecture for programming embedded robotic agents • Javino + Perception filters  Layered robot architecture  Experiments using a ground vehicle platform in a real-time collision scenario  Evaluations of filters impact
  13. 13.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 13 Outline 1. Introduction 2. Building Blocks: Jason / Perception Filters / Javino 3. ARGO 4. Case Study 5. Obtained Results 6. Conclusions and Further Work
  14. 14.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 14 Jason [1] • AgentSpeak Interpreter [2] [1] [Bordini et al. 2007] [2] [Rao 1996]
  15. 15.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 15 Jason [1] • AgentSpeak Interpreter [2] Most time- consuming processes [1] [Bordini et al. 2007] [2] [Rao 1996]
  16. 16.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 16 Profiling 86% of total processing time
  17. 17.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 17 Profiling 99% of total processing time
  18. 18.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 18 Outline 1. Introduction 2. Building Blocks: Jason / Perception Filters / Javino 3. ARGO 4. Case Study 5. Obtained Results 6. Conclusions and Further Work
  19. 19.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 19 Perception filters  [van Oijen and Dignum 2011] • Integrating agents (2APL, Jadex and Jason) to computer games; • Middleware responsible for perception filtering; • Interest Subscription Manager.  [Bordeux et al. 1999] • Extend AGENTlib with a perception mechanism; • Perception filter types: » Range filter; » Field of view filter; » Type detector filter.
  20. 20.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 20 Perception filters  Example of Jason perceptions • List of annotated literals temperature(right,36) temperature(back,38) light(left,143) distance(front,227) distance(right,30)
  21. 21.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 21 Perception filters  Example of our perception filter specification <PerceptionFilter> <filter> <predicate>temperature</predicate> </filter> <filter> <predicate>light</predicate> </filter> <filter> <predicate>distance</predicate> <parameter operator="NE" id="0">front</parameter> </filter> </PerceptionFilter> distance(front,227)[source(percept)]
  22. 22.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 23 Perception filters  Example of filter change internal action • Name of file passed as parameter +!carry_to(R) <− ! take (object, R); .change_filter(search); −object (r1); !!search(slots).
  23. 23.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 24 Perception filters [Bordini et al. 2007]
  24. 24.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 25 Perception filters [Bordini et al. 2007]
  25. 25.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 26 Perception filters  Changes in Agent class public void buf(List<Literal> percepts) { if (percepts == null) { return; } int adds = 0; int dels = 0; long startTime = qProfiling == null ? 0 : System.nanoTime(); filter(percepts); Iterator<Literal> perceptsInBB = getBB().getPercepts(); while (perceptsInBB.hasNext()) { ...
  26. 26.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 27 Perception filters  Changes in Agent class private static void filter(List<Literal> percept) { if(currentObjective==null){ return; } Iterator<Literal> it = percept.iterator(); while (it.hasNext()) { if (remove(it.next())) { it.remove(); } } }
  27. 27.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 28 Outline 1. Introduction 2. Building Blocks: Jason / Perception Filters / Javino 3. ARGO 4. Case Study 5. Obtained Results 6. Conclusions and Further Work
  28. 28.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 29 Javino  Javino is a protocol for exchanging messages: • between low-level hardware and a high-level programming language • double-side library for communication • provides error detection
  29. 29.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 30 Operation modes  Listen mode • only from hardware to software AGENT send a message in every loop get when it wants
  30. 30.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 31 Operation modes  Request mode • from software to hardware; • the hardware answers. AGENT request a message answer with a message
  31. 31.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 32 Operation modes  Send mode • from software to hardware; • the hardware executes an action. AGENT send a message execute a low- level command
  32. 32.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 33 Outline 1. Introduction 2. Building Blocks: Jason / Perception Filters / Javino 3. ARGO 4. Case Study 5. Obtained Results 6. Conclusions and Further Work
  33. 33.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 34  ARGO is: • a customized architecture for Jason • employs both Javino middleware and perception filters » Javino provides a bridge between the intelligent agent and the robots sensors and actuators » Perception filters act blocking specific perceptions in runtime  ARGO aims to be a practical architecture for programming automated embedded agents using BDI agents ARGO
  34. 34.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 35  It directly controls the actuators at runtime  It receives perceptions from the sensors automatically within a pre-defined time interval  It enables changing filters at runtime  It enables changing accessed device at runtime  ARGO agents may communicate with others Jason Agents  It enables to decide when to perceive the real world at runtime ARGO overview
  35. 35.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 36 ARGO overview
  36. 36.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 37 Overview of Robot’s Architecture
  37. 37.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 38 Receiving percepts Sensors capture raw data from the real world and send them to the microcontroller employed.
  38. 38.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 39 Receiving percepts In the firmware layer, raw data is transformed into perceptions based on the AOPL chosen.
  39. 39.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 40 Receiving percepts Javino is responsible for sending the percepts to the reasoning layer using serial communication
  40. 40.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 41 Agent’s reasoning The agent is able to reason with percepts coming directly from real world and the MAS can be embedded in single- board computers (Raspberry, etc.) or a computer with USB interface
  41. 41.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 42 Executing an action Agent deliberates and if an action has to be executed, an action message using Javino is sent.
  42. 42.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 43 Executing an action Javino sends the action message to the microcontroller connected in the USB port described in the message.
  43. 43.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 44 Executing an action All possible actuator’s functions are programmed to be executed in response to serial messages coming from Javino.
  44. 44.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 45 Executing an action The actuator is activated.
  45. 45.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 46 Jason’s reasoning cycle with filters
  46. 46.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 47 ARGO’s reasoning cycle
  47. 47.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 48 Customized architecture
  48. 48.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 49 Customized architecture Customized architecture created to differentiate Argo agents from common Jason’s agents
  49. 49.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 50 Customized architecture Javino instance for each Argo agent.
  50. 50.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 51 Customized architecture Returns the ARGO agent’s Javino instance.
  51. 51.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 52 Customized architecture The serial port from which the agent is receiving perceptions and executing actions.
  52. 52.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 53 Customized architecture Defines if the agent has to perceive or not the real world.
  53. 53.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 54 Customized architecture A time interval, in milliseconds, for the next real world sensing
  54. 54.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 55 Customized architecture Function responsible for returning the perceptions from the real world if: i) the perceptions is not blocked; ii) the time limit was reached; iii) the agent is an ARGO agent
  55. 55.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 56 Customized architecture Responsible for filtering perceptions, as stated before.
  56. 56.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 57 Customized architecture  Changes in TransitionSystem class public boolean reasoningCycle() { … ag.buf(this.realWorldPerceptions()); … }
  57. 57.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 58 Customized architecture  New realWorldPerceptions function public List<Literal> realWorldPerceptions() { long perceiving = System.nanoTime(); List<Literal> percepts = new ArrayList<Literal>(); if(((perceiving - lastPerceived) < this.limit) || this.blocked) return null; lastPerceived = perceiving; if (this.agArch.getArgo().requestData(this.agArch.getPort(), "getPercepts")) { String rwPercepts = this.agArch.getArgo().getData(); String perception[] = rwPercepts.split(";"); for (int cont = 0; cont <= perception.length - 1; cont++) { percepts.add(Literal.parseLiteral(perception[cont])); } return percepts; }
  58. 58.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 59 Internal Actions  ARGO Internal Actions: • .limit(x) » defines the sensing interval in milliseconds • .port(y) » defines which serial port should be used by the agent • .percepts(open|block) » decides whether or not to perceive the real world • .act(w) » sends to the hardware an action to be executed by a microcontroller • .change_filter(filterName) » defines the filter to constrain perceptions in runtime
  59. 59.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 60 Limitations  Limit of 127 serial ports • Due to limitation of USB  Connection to one port at a time • Avoids competition • It can be changed at runtime  Only ARGO agents can control devices • Common Jason agents do not have access to Javino  ARGO agents must be atomic • Cannot create more than one instance of the same agent
  60. 60.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 61 Outline 1. Introduction 2. Building Blocks: Jason / Perception Filters / Javino 3. ARGO 4. Case Study 5. Obtained Results 6. Conclusions and Further Work
  61. 61.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 62 Case study • The robot configuration: • 4 distance sensors • 4 light sensors • 4 temperature sensors • 1 Arduino board • 1 Arduino 4WD chassis • Initial distance of 2m from the wall • The robot moves at constant speed • The robot should stop before achieving a specified desired distance from the wall
  62. 62.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 63 Evaluating the experiment Experimental design guidelines defined by [Jain 1991] Essential terms:  Response variable • Processing time » from the moment the robot perceives the wall until it stops • Final distance » from the position the robot stops to the wall  Primary Factors • Desired distance • Perception interval • Filter
  63. 63.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 64 Evaluating the experiment  Essential terms: • Levels » Values that a factor can assume Factor Levels Desired distance 40 cm 80 cm 120 cm Perception Interval 25 ms 35 ms 50 ms Filter No Filter Front Side Front Distance • Replications » Three times for each experiment (81 experiments)
  64. 64.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 65 Evaluating the experiment Desired distance Initial distance 2 m
  65. 65.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 66 Filters  Front side filter <PerceptionFilter> <filter> <predicate>temperature</predicate> <parameter operator="NE" id="0">front</parameter> </filter> <filter> <predicate>light</predicate> <parameter operator="NE" id="0">front</parameter> </filter> <filter> <predicate>distance</predicate> <parameter operator="NE" id="0">front</parameter> </filter> </PerceptionFilter>
  66. 66.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 67 Filters  Front distance filter <PerceptionFilter> <filter> <predicate>temperature</predicate> </filter> <filter> <predicate>light</predicate> </filter> <filter> <predicate>distance</predicate> <parameter operator="NE" id="0">front</parameter> </filter> </PerceptionFilter>
  67. 67.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 68 Evaluating the experiment  Agent code:
  68. 68.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 69 Evaluating the experiment  Agent code: Set serial port COM8. Arduino device.
  69. 69.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 70 Evaluating the experiment  Agent code: Set an interval of 25ms for perceiving the real- world
  70. 70.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 71 Evaluating the experiment  Agent code: Open the selected port to start receiving percepts
  71. 71.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 72 Evaluating the experiment  Agent code: Activates frontSide filter
  72. 72.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 73 Evaluating the experiment  Agent code: Send a message to the microcontroller to move ahead
  73. 73.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 74 Evaluating the experiment  Agent code: Keep moving ahead while the perceived distance is greater than the distance limit
  74. 74.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 75 Evaluating the experiment  Agent code: Stop when it perceives the wall
  75. 75.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 76 Evaluating the experiment  Agent code: Some additional plans
  76. 76.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 77 Outline 1. Introduction 2. Building Blocks: Jason / Perception Filters / Javino 3. ARGO 4. Case Study 5. Obtained Results 6. Conclusions and Further Work
  77. 77.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 78 0 20 40 60 80 100 120 Perception Interval 20 Perception Interval 35 Perception Interval 50 Perception Interval 20 Perception Interval 35 Perception Interval 50 Perception Interval 20 Perception Interval 35 Perception Interval 50 Desired Distance 40 Desired Distance 80 Desired Distance 120 FinalDistance No filter Front Side Front Distance Experiments In all experiments, the robot collided with the wall!!!
  78. 78.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 79 0 20 40 60 80 100 120 Perception Interval 20 Perception Interval 35 Perception Interval 50 Perception Interval 20 Perception Interval 35 Perception Interval 50 Perception Interval 20 Perception Interval 35 Perception Interval 50 Desired Distance 40 Desired Distance 80 Desired Distance 120 FinalDistance No filter Front Side Front Distance Experiments In some experiments, the robot didn’t collided with the wall!!! But it stopped closer to wall compared to the front distance filter
  79. 79.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 80 0 20 40 60 80 100 120 Perception Interval 20 Perception Interval 35 Perception Interval 50 Perception Interval 20 Perception Interval 35 Perception Interval 50 Perception Interval 20 Perception Interval 35 Perception Interval 50 Desired Distance 40 Desired Distance 80 Desired Distance 120 FinalDistance No filter Front Side Front Distance Experiments In quite all the experiments, the robot didn’t collided with the wall!!!
  80. 80.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 81 Experiments  The use of the filter was important for obtaining a better response time Factor Variation attributed Distance Limit (L) 1,415% Perception Interval (I) 0,165% Filter (F) 88,965% Interaction between L and I 0,525% Interaction between L and F 3,715% Interaction between I and F 0,265% Interaction between L and I and F 1,725% error 3,285%
  81. 81.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 82 Outline 1. Introduction 2. Building Blocks: Jason / Perception Filters / Javino 3. ARGO 4. Case Study 5. Obtained Results 6. Conclusions and Further Work
  82. 82.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 83 Conclusions  The main contribution of ARGO is to offer an open architecture that enables Jason agents to integrate with hardware and to use perception filters • Reduction processing  It allows an agent to decide in runtime: • when to start or to stop perceiving • the interval between each perception • which filters to use
  83. 83.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 84 Further work  Different filtering methods  Extending ARGO for multi-robot systems  Testing ARGO in different domains  Provide other hardware-side libraries • PIC16F, Intel and STM32.
  84. 84.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 85 References [Bordini et al. 2007] Bordini, R.H., Hubner, J.F., Wooldridge, M. Programming Multi-Agent Systems in AgentSpeak Using Jason. John Wiley & Sons Ltd., 2007. [Lazarin and Pantoja 2015] Lazarin, N.M., Pantoja, C.E. A Robotic-Agent Platform For Embedding Software Agents Using Raspberry Pi and Arduino Boards. In: Proc. 9th Software Agents, Environments and Applications School (WESAAC 2015), Niterói, RJ, Brazil, 2015. [Rao 1996] Rao, A.S. AgentSpeak(L): BDI Agents Speak Out in a Logical Computable Language. In: de Velde, W.V., Perram, J.W. (eds.) Proc. of the 7th European Workshop on Modelling Autonomous Agents in a Multi- Agent World (MAAMAW 1996). Lecture Notes in Artificial Intelligence, vol. 1038, pp. 42-55. Springer-Verlag, Secaucus. USA, 1996. [Stabile Jr. and Sichman 2015] Stabile Jr., M.F., Sichman, J.S. Evaluating Perception Filters In BDI Jason Agents. In: Proc. 4th Brazilian Conference on Intelligent Systems (BRACIS 2015), Natal, RN, Brazil, 2015.
  85. 85.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 86 Acknowledgements
  86. 86.  Pantoja, Stabile, Lazarin and Sichman 2016 EMAS@AAMAS 2016, Singapore, 09/05/16 ARGO 87 END THANKS FOR YOUR ATTENTION pantoja@cefet-rj.br mstabile@ime.usp.br nilson.lazarin@cefet-rj.br jaime.sichman@poli.usp.br

×