Conference PaperPDF Available

A Robotic-agent Platform for Embedding Software Agents Using Raspberry Pi and Arduino Boards

Authors:

Abstract and Figures

This paper presents a robotic-agent platform to embed software agents into hardware devices. The platform consists in embed Jason framework in Raspberry Pi, allowing direct control of its pins, in order to control hardware devices, and Arduino to control sensors/actuators. So, it is necessary to prepare both hardware and software and establish a communication between them. For this, it was developed the Javino library, which is a communication protocol for exchange messages between Java and Arduino using a serial port. It is also presented a three-step methodology for supporting the robotic agent development. An example using the proposed platform and methodology is presented. It was chosen a vehicle chassis, as the hardware robot, that is able to move and deviate from obstacles.
Content may be subject to copyright.






         

            

         
            
        

  
           

 



     
           
            
       





            
            

             




for environments’ artifacts programming; and    



             


      




            


 

          

           


              

 

         









    
r a direct control over Raspberry’s digital
pins. So, the agent is able to switch the Raspberry’s pins values without any







inputs on its project. The Arduino’s pins are more resistant then GPIO, besides it has

     




 

  
               
      


necessary to provide a bridge between agent’s external actions and microcontroller’s





   





                















             


 

           



   
           


          
             



            
              
            



In STEP 2 it is necessary to prepare the agent’s simulated environment. As the
             
agent’s external actions (the actions that an agent wants to execute in real environment

to move left for example, it is necessary to program the message (it is used “left”




it is necessary to import two libraries into Jason’s simulated environment: i) The Javino




is just necessary to program normal agents using Jason framework. The agent’s plan
           
            


 
             



            










After that, the environment has to be prepared for the agent’s external actions.
First of all, it is mandatory to import Javino library into Jason’s environment. The Pi4J



send method to update the agent’s belief    




(the project’s jar file          




    
  


 


          
           
communication between Arduino board and Jason’s environment. Although the platform


  
          
         



and transmitters/receivers actions); the environment preparation (using RxTx and Jason’s
   
           
    

           


            



            
           



 
           









agent’s belief base without any interference into environment. The platform will be




Moraes L. M. (2014) “An
oriented Ground Vehicles Automation Using Jason Framework” In:
         



Boissier, O., Bordini, R. H., Hubner, J. F., Ricci, A. e Santi, A. (2011) “Multi
oriented programming with jacamo” Science of Computer Programming.
  ., Hubner, J. F. e Wooldridge, W. (2007) “Programming Multi
Systems in AgentSpeak using Jason” Jonh Wiley and Sons, London.

“Autonomous Aquatic Agents” In:      





         


... A Low-End IoT device is a system constrained in computational resources, manufactured for basic sensing and actuating applications, and programmed using low-level firmware to few functionalities [15]. These devices cannot host a MAS but can be managed by cognitive agents using specific serial communication protocols [9]. Conversely, a High-End IoT device is a single-board computer with enough computational resources to run a traditional operating system [15]. ...
... To implement the scenario, we used the JasonEmbedded [16] framework, a spinoff version of Jason [3] that integrates the Internet of Things, Embedded Systems, and Distributed Artificial Intelligence paradigms. It allows different architectures of agents in the development process of the MAS, such as: i) Jason [2] is an agent based on the Belief-Desire-Intention (BDI) [5] model that fulfills the expected autonomous cognitive agent J; ii) ARGO [17] is an agent capable of perceiving and acting directly in the exogenous environment, using Javino [9] serial communication protocol, fulfilling the expected actuator agent J A ; iii) Communicator [23] is an agent capable of exchanging messages and migrating agents between different MAS, hosted on different computers, geographically distributed, using the ContextNet [8] IoT middleware that fulfills the expected by agent J C . ...
Chapter
Multi-agent systems (MAS) applied to Embedded Systems enable cognitive agents to act in the physical world. However, the application of these systems has been little explored to automate communication during crisis events. With this approach, it would be possible to help collect real-time data and deploy rescue forces in risky locations. This paper describes a decentralized, proactive, and agent-based communication model. To validate the proposal, we applied our approach to a physical prototype of smart city devices. In this scenario, we include the interaction of different MAS in a simulation’s flood scenario. The results show the architecture’s effectiveness in collecting real-time data, providing a reliable, low-cost way to integrate citizens and governments during crises. The architecture is a promising approach for crisis management applications that takes advantage of the autonomous behavior of agents in MAS, improving the obtaining of subsidies to feed systems in smart cities and assisting decision-making.
... In [Barros et al. 2014] and [Lazarin and Pantoja 2015], the authors use Raspberry Pi and Arduino boards for agent reasoning and acting/perceiving the environment, respectively. Although the projects succeed in proposing a feasible way to embed agents, it falls short in offering a homogeneous system where the agent can reason, perceive, and act in the environment in a single computational platform. ...
Conference Paper
The characteristics of autonomy, reactivity, and proactivity, commonly present in embedded systems used in cyber-physical systems, are often similar to the ones of agents. Although the usage of agents in these scenarios would be beneficial, the lack of tools to implement agents in hardware commonly used in low-cost embedded systems is one of the reasons that prevent embedded agents from becoming a reality. This paper discusses some implementation challenges and design considerations required to develop a framework that allows implementing BDI agents in embedded systems.
... A porcentagem daárea ocupada pela cor tambémé gerada pseudo-aleatoriamente, porém sempre maior que 80%. Através da biblioteca Javino [Pantoja and Lazarin 2015], o Arduino consegue se comunicar com os agentes do sistema multiagentes. O Arduino tem então o papel de enviar as leituras do sistema de visão computacional geradas para serem interpretadas como percepções pelos agentes. ...
Conference Paper
Este artigo apresenta a implementação de um sistema multiagentes normativo embarcado na operação e regulação de um processo de manufatura. Uma simulação baseada em um cenário real é utilizada para a implementação. Foram desenvolvidos agentes autônomos e normas que exemplificam a possibilidade de uso dessa tecnologia em um ambiente industrial. Essa aplicação possibilita a automação de processos industriais mais complexos, a colaboração entre diferentes etapas do sistema de manufatura e regulação automatizada da produção.
... O projeto MAPS continua em execução, e pretende-se desenvolver os seguintes trabalhos: (i) desenvolver um aplicativo móvel onde os agentes drivers poderão requisitar as vagas; (ii) embarcar o sistema utilizando o Arduino e Raspberry Pi [Lazarin and Pantoja 2015]; (iii) criar outras formas para calcular o grau de confiança; e (iv) utilização do simulador de trânsito Sumo. ...
Conference Paper
Um dos grandes problemas enfrentado todos os dias pelos habitantes das cidades é o de encontrar uma vaga de estacionamento livre. Normalmente em horários de grande fluxo é gasto uma considerável parcela de tempo, ou são percorridas longas distâncias até que seja encontrada uma vaga, o que desperdiça combustível e gera engarrafamentos. Pensando nisto o projeto MAPS (MultiAgent Parking System) é idealizado com objetivo de desenvolver um sistema Multiagente para alocação de vagas de estacionamento. Especificamente, este artigo apresenta a implementação de recursos adicionais ao projeto MAPS, para assim viabilizar a expansão e aplicação do mesmo.
... A camada de firmware, hospedada em um ou mais microcontroladores [Lazarin and Pantoja 2015, Pantoja et al. 2016, Souza de Castro et al. 2022, é responsável por receber as mensagens do SMA para atuar no ambiente e envia as informações do ambiente para o SMA ]. Dessa forma, em um SMA embarcado, existem duas camadas de processamento: aquela responsável pela cognição dos agentes (onde o SMA está localizado) e aquela responsável pela camada de sensoriamento e atuação (firmware). ...
Conference Paper
Full-text available
Nowadays, using Integrated Development Environments (IDEs) in creating software processes is widely adopted and has become a necessity to increase the time optimization in the development process. However, when developing embedded multi-agent systems, the tools for automating the development process still require improvement. So, this paper evaluates a specific IDE for the development of cognitive hardware supported by robotic agents, the chonIDE. It analyzed its graphical characteristics, features, and benefits as a tool to facilitate Embedded MAS programming. Furthermore, this paper proposes a few changes in the chonIDE layout to improve the embedded MAS designer experience.
... Na camada de firmware, por sua vez, foi utilizado um microcontrolador Arduino Uno R3. Por fim, na camada de interfaceamento foi utilizada a biblioteca Javino [Lazarin and Pantoja 2015]. ...
Conference Paper
Full-text available
Dado o histórico e as estatísticas atuais de incêndios no Brasil, este trabalho analisa a viabilidade do uso de inteligência artificial na detecção de incêndios, utilizando agentes cognitivos embarcados e comunicação via rede IoT. Diferencia-se de abordagens anteriores ao permitir ajustes dinâmicos nos parâmetros de detecção, sem reprogramação de firmware. Além disso, é apresentado um estudo de caso que visa demonstrar o impacto positivo dos Sistemas Multi-agente na segurança pública e prevenção de incêndios.
Article
Full-text available
The development of Embedded Multi-Agent Systems (MAS) suffers from constraints that make this process unintuitive. The use of specialized tools can facilitate the developer’s work. This article presents an analysis, restructuring, and new functionalities so that an environment dedicated to embedded MAS can allow agility and automation of processes in MAS software engineering. A usability research was conducted, applying the Technology Acceptance Model, to identify improvements reflected in a new prototype containing the proposed implementations.
Conference Paper
Full-text available
This research aims to unite the areas of Multi-Agent Systems (MAS) and Simulation in the management and control of autonomous air traffic. The simulated agents represent aircraft, control towers, and runways for landing and takeoff, with the ability to perceive, plan, execute, and communicate with each other. The behavior of the agents should be emergent and dynamic, meaning that the simulations should generate states or situations requiring the agents to plan, communicate, and negotiate. For this, the Java and AgentSpeak(L) languages, and the Jason interpreter are used for server construction, while the C# language and the Unity platform are used for the implementation of the simulations.
Conference Paper
Full-text available
Sistemas Multi-agentes Embarcados, baseados no modelo belief-desire-intention (BDI), têm se consolidado nos últimos anos. Neste trabalho exploramos sua aplicação em um sistema de monitoramento de deslizamento, sem a intervenção humana. Para tal, foi construído um protótipo capaz de enviar ao agente cognitivo as percepções do ambiente físico. Além disso, por meio de uma rede de internet das coisas (IoT), diferentes SMAs são integrados, permitindo uma rápida propagação de alerta em situações de risco.
Conference Paper
Full-text available
This paper presents a study on the feasibility of using Embedded Multi-Agent Systems for vehicle autonomous speed control. The system is implemented in a prototype equipped with Raspberry Pi and Arduino boards, using RFID tags to read traffic signs. The prototype reads the tags and adjusts the speed according to the data received. The experimental results demonstrate the viability of the proposed model despite some technical limitations, suggesting that future improvements may include more powerful RFID readers and the incorporation of encryption for greater security.
Poster
Full-text available
This paper proposes an agent-oriented ground vehicle automation that uses low-cost hardware. The vehicle's platform consists in a group of hardware and software layers that acts with the Jason programming language for unmanned vehicles automation. This paper also presents a methodology with four programming layers to facilitate the hardware integration and implementation. To validate and demonstrate the platform an unmanned ground vehicle was constructed using an ATMEGA328 microcontroller, a library for serial communication and a six-function remote controlled vehicle. The vehicle is able to move from one point to another based on its global position.
Conference Paper
Full-text available
This paper proposes an agent-oriented ground vehicle automation that uses low-cost hardware. The vehicle's platform consists in a group of hardware and software layers that acts with the Jason programming language for unmanned vehicles automation. This paper also presents a methodology with four programming layers to facilitate the hardware integration and implementation. To validate and demonstrate the platform an unmanned ground vehicle was constructed using an ATMEGA328 microcontroller, a library for serial communication and a six-function remote controlled vehicle. The vehicle is able to move from one point to another based on its global position.
Conference Paper
Full-text available
Constructing a collection of autonomous agents requires the development of appropriate experimental hardware platforms. Here we describe the process of re-purposing inexpensive radio-controlled (RC) electric motorboat as autonomous surface craft. Standard electronics components are used to interface with the RC boat electronics, and the vessels are augmented with GPS, vision, and a tilt-compensated compass to provide the necessary onboard sensing capabilities to enable point-to-point and target-based control of the vehicle. A ROS-based control and sensing infrastructure is used to operate the vehicles on-board while 802.11n communication provides communication off-board. Vessels have been operated successfully in both the pool and ocean environment.
Book
This book focuses on the belief-desire-intention (BDI) model of rational agents, which recognizes the primacy of beliefs, desires, and intentions in rational action. One goal of modern computer science is to engineer computer programs that can act as autonomous, rational agents; software that can independently make good decisions about what actions to perform on our behalf and execute those actions. Applications range from small programs that intelligently search the Web buying and selling goods via electronic commerce, to autonomous space probes. This book focuses on the belief-desire-intention (BDI) model of rational agents, which recognizes the primacy of beliefs, desires, and intentions in rational action. The BDI model has three distinct strengths: an underlying philosophy based on practical reasoning in humans, a software architecture that is implementable in real systems, and a family of logics that support a formal theory of rational agency.The book introduces a BDI logic called LORA (Logic of Rational Agents). In addition to the BDI component, LORA contains a temporal component, which allows one to represent the dynamics of how agents and their environments change over time, and an action component, which allows one to represent the actions that agents perform and the effects of the actions. The book shows how LORA can be used to capture many components of a theory of rational agency, including such notions as communication and cooperation.
Article
Learn how to employ JADE to build multi-agent systems! JADE (Java Agent DEvelopment framework) is a middleware for the development of applications, both in the mobile and fixed environment, based on the Peer-to-Peer intelligent autonomous agent approach. JADE enables developers to implement and deploy multi-agent systems, including agents running on wireless networks and limited-resource devices. Developing Multi-Agent Systems with JADE is a practical guide to using JADE. The text will give an introduction to agent technologies and the JADE Platform, before proceeding to give a comprehensive guide to programming with JADE. Basic features such as creating agents, agent tasks, agent communication, agent discovery and GUIs are covered, as well as more advanced features including ontologies and content languages, complex behaviours, interaction protocols, agent mobility, and the in-process interface. Issues such as JADE internals, running JADE agents on mobile devices, deploying a fault tolerant JADE platform, and main add-ons are also covered in depth. Developing Multi-Agent Systems with JADE: • Comprehensive guide to using JADE to build multi-agent systems and agent orientated programming. • Describes and explains ontologies and content language, interaction protocols and complex behaviour. • Includes material on persistence, security and a semantics framework. • Contains numerous examples, problems, and illustrations to enhance learning. • Presents a case study demonstrating the use of JADE in practice. • Offers an accompanying website with additional learning resources such as sample code, exercises and PPT-slides. This invaluable resource will provide multi-agent systems practitioners, programmers working in the software industry with an interest on multi-agent systems as well as final year undergraduate and postgraduate students in CS and advanced networking and telecoms courses with a comprehensive guide to using JADE to employ multi agent systems. With contributions from experts in JADE and multi agent technology.
Book
Jason is an Open Source interpreter for an extended version of AgentSpeak - a logic-based agent-oriented programming language - written in Java™. It enables users to build complex multi-agent systems that are capable of operating in environments previously considered too unpredictable for computers to handle. Jason is easily customisable and is suitable for the implementation of reactive planning systems according to the Belief-Desire-Intention (BDI) architecture. Programming Multi-Agent Systems in AgentSpeak using Jason provides a brief introduction to multi-agent systems and the BDI agent architecture on which AgentSpeak is based. The authors explain Jason's AgentSpeak variant and provide a comprehensive, practical guide to using Jason to program multi-agent systems. Some of the examples include diagrams generated using an agent-oriented software engineering methodology particularly suited for implementation using BDI-based programming languages. The authors also give guidance on good programming style with AgentSpeak. Programming Multi-Agent Systems in AgentSpeak using Jason. Describes and explains in detail the AgentSpeak extension interpreted by Jason and shows how to create multi-agent systems using the Jason platform. Reinforces learning with examples, problems, and illustrations. Includes two case studies which demonstrate the use of Jason in practice. Features an accompanying website that provides further learning resources including sample code, exercises, and slides. This essential guide to AgentSpeak and Jason will be invaluable to senior undergraduate and postgraduate students studying multi-agent systems. The book will also be of interest to software engineers, designers, developers, and programmers interested in multi-agent systems.
Article
This paper brings together agent oriented programming, organisation oriented programming and environment oriented programming, all of which are programming paradigms that emerged out of research in the area of multi-agent systems. In putting together a programming model and concrete platform called JaCaMo which integrates important results and technologies in all those research directions, we show in this paper, with the combined paradigm, that we prefer to call “multi-agent oriented programming”, the full potential of multi-agent systems as a programming paradigm. JaCaMo builds upon three existing platforms: Jason for programming autonomous agents, Moise for programming agent organisations, and CArtAgO for programming shared environments. This paper also includes a simple example that illustrates the approach and discusses some real-world applications that have been or are being developed with JaCaMo.
Conference Paper
JADE (Java Agent Development Framework) is a software framework to make easy the development of multi-agent applications in compliance with the FIPA specifications. JADE can then be considered a middle-ware that implements an efficient agent platform and supports the development of multi agent systems. JADE agent platform tries to keep high the performance of a distributed agent system implemented with the Java language. In particular, its communication architecture tries to offer flexible and efficient messaging, transparently choosing the best transport available and leveraging state-of-the-art distributed object technology embedded within Java runtime environment. JADE uses an agent model and Java implementation that allow good runtime efficiency, software reuse, agent mobility and the realization of different agent architectures.