It's a JaCaMo Package that provides a customized agent architecture that extends standard agents by adding the ability to control microcontrollers (Arduino) using Javino.
First, you need to deploy the Javino Blink example on your Arduino Board. Follow the steps below:
- Download the latest Javino Library.
- Import the library into your Arduino IDE.
- Create a new project with the Javino Blink example.
- Deploy the code on your Arduino Board.
To install JaCaMo-CLI follow these instructions: JaCaMo-CLI Installation.
In a terminal, execute the following command:
jacamo app create hello_argo --console
Edit the project file hello-argo/hello_argo.jcm as follows:
mas hello_argo {
agent bob: sample_agent.asl {
ag-arch: jason.Argo
}
uses package: argo "com.github.chon-group:argo-jcm:1.1"
}
Edit the agent file hello-argo/src/agt/sample_agent.asl as follows:
/* Initial beliefs and rules */
serialPort(ttyACM0).
/* Initial goals */
!start.
/* Plans */
+!start:
serialPort(Port) <-
.print("Ah, Mr. Anderson, I see you are as predictable in this world as you are in the other.");
argo.port(Port);
argo.percepts(open).
+ledStatus(on) <-
.print("Turning ON the Led in Arduino!");
argo.act(ledOff).
+ledStatus(off) <-
.print("Turning OFF the Led in Arduino!");
argo.act(ledOn).
+port(Port,Status):
Status = off | Status = timeout <-
argo.percepts(close);
.print("It's not over, Mr. Anderson! It's not over!").
sudo chmod 777 /dev/ttyACM0
jacamo hello-argo/hello-argo.jcm
Argo is licensed under a Creative Commons Attribution 4.0 International License. The licensor cannot revoke these freedoms as long as you follow the license terms:
- Attribution — You must give appropriate credit like below:
Pantoja, C.E., Stabile, M.F., Lazarin, N.M., Sichman, J.S. (2016). ARGO: An Extended Jason Architecture that Facilitates Embedded Robotic Agents Programming. In: Baldoni, M., Müller, J., Nunes, I., Zalila-Wenkstern, R. (eds) Engineering Multi-Agent Systems. EMAS 2016. Lecture Notes in Computer Science(), vol 10093. Springer, Cham. https://doi.org/10.1007/978-3-319-50983-9_8
@InProceedings{10.1007/978-3-319-50983-9_8,
author="Pantoja, Carlos Eduardo and Stabile, M{\'a}rcio Fernando and Lazarin, Nilson Mori and Sichman, Jaime Sim{\~a}o",
editor="Baldoni, Matteo and M{\"u}ller, J{\"o}rg P. and Nunes, Ingrid and Zalila-Wenkstern, Rym",
title="{ARGO: An Extended Jason Architecture that Facilitates Embedded Robotic Agents Programming}",
booktitle="Engineering Multi-Agent Systems",
year="2016",
publisher="Springer International Publishing",
address="Cham",
pages="136--155",
isbn="978-3-319-50983-9"
}
Some papers that have used Argo agents to control Arduino microcontrollers