Skip to main content

An Interface for Programming Verifiable Autonomous Agents in ROS

  • Conference paper
  • First Online:
Multi-Agent Systems and Agreement Technologies (EUMAS 2020, AT 2020)

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.

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).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Gwendolen interface source code is available at: https://github.com/autonomy-and-verification-uol/gwendolen-rosbridge.

  2. 2.

    Jason interface source code is available at: https://github.com/rafaelcaue/jason-rosbridge.

  3. 3.

    Source code of both scenarios are available at: https://github.com/autonomy-and-verification-uol/gwendolen-ros-turtlebot3.

References

  1. Bordini, R.H., Wooldridge, M., Hübner, J.F.: Programming Multi-agent Systems in AgentSpeak using Jason. John Wiley & Sons, Chichester (2007)

    Book  Google Scholar 

  2. 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

  3. 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

    Chapter  Google Scholar 

  4. 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

    Article  Google Scholar 

  5. 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

    Article  Google Scholar 

  6. Dennis, L.A., Farwer, B.: Gwendolen: A BDI language for verifiable agents. In: Logic and the Simulation of Interaction and Reasoning. AISB, Aberdeen (2008)

    Google Scholar 

  7. Dennis, L.A., Fisher, M., Webster, M.P., Bordini, R.H.: Model checking agent programming languages. Autom. Softw. Eng. 19(1), 5–63 (2012)

    Article  Google Scholar 

  8. 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)

    Article  Google Scholar 

  9. 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

    Chapter  Google Scholar 

  10. 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

  11. 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)

    Google Scholar 

  12. 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

    Chapter  Google Scholar 

  13. 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)

    Google Scholar 

  14. 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

    Chapter  MATH  Google Scholar 

  15. Visser, W., Havelund, K., Brat, G., Park, S.J., Lerda, F.: Model checking programs. Autom. Softw. Eng. 10(2), 3–11 (2002)

    Google Scholar 

  16. 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

  17. 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

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rafael C. Cardoso .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics