Abstract
Autonomy has been one of the most desirable features for robotic applications in recent years. This is evidenced by a recent surge of research in autonomous driving cars, strong government funding for research in robotics for extreme environments, and overall progress in service robots. Autonomous decision-making is often at the core of these systems, thus, it is important to be able to verify and validate properties that relate to the correct behaviour that is expected of the system. Our main contribution in this paper, is an interface for integrating BDI-based agents into robotic systems developed using ROS. We use the Gwendolen language to program our BDI agents and to make use of the AJPF model checker in order to verify properties related to the decision-making in the agent programs. Our case studies include 3D simulations using a simple autonomous patrolling behaviour of a TurtleBot, and multiple TurtleBots servicing a house that can cooperate with each other in case of failure.
Keywords
Work supported by UK Research and Innovation, and EPSRC Hubs for “Robotics and AI in Hazardous Environments”: EP/R026092 (FAIR-SPACE), EP/R026173 (ORCA), and EP/R026084 (RAIN).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Gwendolen interface source code is available at: https://github.com/autonomy-and-verification-uol/gwendolen-rosbridge.
- 2.
Jason interface source code is available at: https://github.com/rafaelcaue/jason-rosbridge.
- 3.
Source code of both scenarios are available at: https://github.com/autonomy-and-verification-uol/gwendolen-ros-turtlebot3.
References
Bordini, R.H., Wooldridge, M., Hübner, J.F.: Programming Multi-agent Systems in AgentSpeak using Jason. John Wiley & Sons, Chichester (2007)
Collier, R.W., Russell, S., Lillis, D.: Exploring AOP from an OOP perspective. In: Proceedings of the 5th International Workshop on Programming Based on Actors, Agents, and Decentralized Control. In: AGERE! 2015, pp. 25–36. Association for Computing Machinery, New York (2015). https://doi.org/10.1145/2824815.2824818
Crick, C., Jay, G., Osentoski, S., Pitzer, B., Jenkins, O.C.: Rosbridge: ROS for non-ROS users. In: Christensen, H.I., Khatib, O. (eds.) Robotics Research. STAR, vol. 100, pp. 493–504. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-29363-9_28
Dastani, M.: 2APL: a practical agent programming language. Auton. Agent. Multi-Agent Syst. 16(3), 214–248 (2008). https://doi.org/10.1007/s10458-008-9036-y
Dennis, L.: The MCAPL framework including the agent infrastructure layer and agent Java pathfinder. J. Open Source Softw. 3(24), 617 (2018). https://doi.org/10.21105/joss.00617
Dennis, L.A., Farwer, B.: Gwendolen: A BDI language for verifiable agents. In: Logic and the Simulation of Interaction and Reasoning. AISB, Aberdeen (2008)
Dennis, L.A., Fisher, M., Webster, M.P., Bordini, R.H.: Model checking agent programming languages. Autom. Softw. Eng. 19(1), 5–63 (2012)
Gottifredi, S., Tucat, M., Corbatta, D., García, A., Simari, G.R.: A BDI architecture for high level robot deliberation. Inteligencia Artif. 14(46), 74–83 (2010)
Hindriks, K.V., de Boer, F.S., van der Hoek, W., Meyer, J.-J.C.: Agent programming with declarative goals. In: Castelfranchi, C., Lespérance, Y. (eds.) ATAL 2000. LNCS (LNAI), vol. 1986, pp. 228–243. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-44631-1_16
Morais, M.G., Meneguzzi, F.R., Bordini, R.H., Amory, A.M.: Distributed fault diagnosis for multiple mobile robots using an agent programming language. In: 2015 International Conference on Advanced Robotics (ICAR), pp. 395–400, July 2015 https://doi.org/10.1109/ICAR.2015.7251486
Quigley, M., et al.: ROS: an open-source robot operating system. In: Workshop on Open Source Software at the International Conference on Robotics and Automation. IEEE, Japan (2009)
Rao, A.S.: AgentSpeak(L): BDI agents speak out in a logical computable language. In: Van de Velde, W., Perram, J.W. (eds.) MAAMAW 1996. LNCS, vol. 1038, pp. 42–55. Springer, Heidelberg (1996). https://doi.org/10.1007/BFb0031845
Rao, A.S., Georgeff, M.P.: BDI agents: from theory to practice. In: Proceedings of the First International Conference on Multi-agent Systems, pp. 312–319 (1995)
Ricci, A., Piunti, M., Viroli, M., Omicini, A.: Environment programming in CArtAgO. In: El Fallah Seghrouchni, A., Dix, J., Dastani, M., Bordini, R.H. (eds.) Multi-Agent Programming, pp. 259–288. Springer, Boston, MA (2009). https://doi.org/10.1007/978-0-387-89299-3_8
Visser, W., Havelund, K., Brat, G., Park, S.J., Lerda, F.: Model checking programs. Autom. Softw. Eng. 10(2), 3–11 (2002)
Wesz, R.: Integrating robot control into the Agentspeak(L) programming language. Master’s thesis, Pontificia Universidade Catolica do Rio Grande do Sul (2015). http://tede2.pucrs.br/tede2/handle/tede/6941
Ziafati, P., Dastani, M., Meyer, J.-J., van der Torre, L.: Agent programming languages requirements for programming autonomous robots. In: Dastani, M., Hübner, J.F., Logan, B. (eds.) ProMAS 2012. LNCS (LNAI), vol. 7837, pp. 35–53. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38700-5_3
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Cardoso, R.C., Ferrando, A., Dennis, L.A., Fisher, M. (2020). An Interface for Programming Verifiable Autonomous Agents in ROS. In: Bassiliades, N., Chalkiadakis, G., de Jonge, D. (eds) Multi-Agent Systems and Agreement Technologies. EUMAS AT 2020 2020. Lecture Notes in Computer Science(), vol 12520. Springer, Cham. https://doi.org/10.1007/978-3-030-66412-1_13
Download citation
DOI: https://doi.org/10.1007/978-3-030-66412-1_13
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-66411-4
Online ISBN: 978-3-030-66412-1
eBook Packages: Computer ScienceComputer Science (R0)