Abstract
Controllers for autonomous robotic systems can be specified using state machines . However, these are typically developed in an ad hoc manner without formal semantics, which makes it difficult to analyse the controller. Simulations are often used during the development, but a rigorous connection between the designed controller and the implementation is often overlooked. This paper presents a state-machine based notation, RoboChart, together with a tool to automatically create code from the state machines, establishing a rigorous connection between specification and implementation. In RoboChart, a robot’s controller is specified either graphically or using a textual description language. The controller code for simulation is automatically generated through a direct mapping from the specification. We demonstrate our approach using two case studies (self-organized aggregation and swarm taxis) in swarm robotics. The simulations are presented using two different simulators showing the general applicability of our approach.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
The specification of environment is still under development. Currently the environmental stimuli are manually defined in the simulation.
References
Bergenti, F., Poggi, A.: Exploiting uml in the design of multi-agent systems. In: Omicini, A., Tolksdorf, R., Zambonelli, F. (eds.) Engineering Societies in the Agents World: First International Workshop, pp. 106–113. Springer, Berlin, Germany (2000)
Bjerknes, J.D., Winfield, A.F.T.: On fault tolerance and scalability of swarm robotic systems. In: Martinoli, A., Mondada, F., Correll, N., Mermoud, G., Egerstedt, M., Hsieh, A.M., Parker, E.L., Støy, K. (eds.) Distributed Autonomous Robotic Systems: The 10th International Symposium, pp. 431–444. Springer, Berlin, Germany (2013)
Brambilla, M., Pinciroli, C., Birattari, M., Dorigo, M.: Property-driven design for swarm robotics. In: Proceedings of 2012 International Conference on Autonomous Agents and Multiagent Systems, pp. 139–146. IFAAMS, Richland, SC, USA (2012)
Brambilla, M., Ferrante, E., Birattari, M., Dorigo, M.: Swarm robotics: a review from the swarm engineering perspective. Swarm Intell. 7(1), 1–41 (2013)
Chen, J., Gauci, M., Li, W., Kolling, A., GroĂŸ, R.: Occlusion-based cooperative transport with a swarm of miniature mobile robots. IEEE Trans. Robot. 31(2), 307–321 (2015)
Dhouib, S., Kchir, S., Stinckwich, S., Ziadi, T., Ziane, M.: RobotML, a domain-specific language to design, simulate and deploy robotic applications. In: Noda, I., Ando, N., Brugali, D., Kuffner, J.J. (eds.) Simulation, Modeling, and Programming for Autonomous Robots, pp. 149–160. Springer, Berlin, Germany (2012)
Dixon, C., Winfield, A.F.T., Fisher, M., Zeng, C.: Towards temporal verification of swarm robotic systems. Robot. Auton. Syst. 60(11), 1429–1441 (2012)
Feiler, P.H., Gluch, D.P.: Model-Based Engineering with AADL: An Introdution to the SAE Architecture Analysis and Design Language. Addison-Wesley, Boston (2012)
Francesca, G., Brambilla, M., Brutschy, A., Garattoni, L., Miletitch, R., Podevijn, G., Reina, A., Soleymani, T., Salvaro, M., Pinciroli, C., Mascia, F., Trianni, V., Birattari, M.: AutoMoDe-Chocolate: a method for the automatic design of robot swarms that outperforms humans. Swarm Intell. 9(2–3), 125–152 (2015)
Gauci, M., Chen, J., Li, W., Dodd, T.J., GroĂŸ, R.: Clustering objects with robots that do not compute. In: Proceedings of 2014 International Conference on Autonomous Agents and Multiagent Systems, pp. 421–428. IFAAMS, Richland, SC, USA (2014)
Gauci, M., Chen, J., Li, W., Dodd, T.J., GroĂŸ, R.: Self-organized aggregation without computation. Int. J. Robot. Res. 33(8), 1145–1161 (2014)
Konur, S., Dixon, C., Fisher, M.: Analysing robot swarm behaviour via probabilistic model checking. Robot. Auton. Syst. 60(2), 199–213 (2012)
Li, W., Miyazawa, A., Ribeiro, P., Cavalcanti, A., Woodcock, J., Timmis, J.: Online supplementary material (2016). http://www.york.ac.uk/robot-lab/dars2016/
Liu, W., Winfield, A.F.T.: Modeling and optimization of adaptive foraging in swarm robotic systems. Int. J. Robot. Res. 29(14), 1743–1760 (2010)
Lopes, Y.K., Trenkwalder, S.M., Leal, A.B., Dodd, T.J., GroĂŸ, R.: Supervisory control theory applied to swarm robotics. Swarm Intell. 10(1), 65–97 (2016)
Magnenat, S., Waibel, M., Beyeler, A.: Enki: the fast 2D robot simulator (2011). http://home.gna.org/enki/
Miyazawa, A., Ribeiro, P., Li, W., Cavalcanti, A.L.C., Timmis, J., Woodcock, J.C.P.: RoboChart: a state-machine notation for modelling and verification of mobile and autonomous robots. Technical report, University of York, Department of Computer Science, York, UK (2016). www.cs.york.ac.uk/circus/publications/techreports/reports/MRLCTW16.pdf
Mondada, F., et al.: The e-puck, a robot designed for education in engineering. In: Proceeding of the 9th Conference on Autonomous Robot Systems and Competitions, vol. 1, pp. 59–65. IPCB: Instituto Politécnico de Castelo Branco (2009)
Pinciroli, C., Trianni, V., O’Grady, R., Pini, G., Brutschy, A., Brambilla, M., Mathews, N., Ferrante, E., Di Caro, G., Ducatelle, F., Birattari, M., Gambardella, L.M., Dorigo, M.: ARGoS: a modular, parallel, multi-engine simulator for multi-robot systems. Swarm Intell. 6(4), 271–295 (2012)
Rouff, C.A., Hinchey, M.G., Pena, J., Ruiz-Cortes, A.: Using formal methods and agent-oriented software engineering for modeling NASA swarm-based systems. In: 2007 IEEE Swarm Intelligence Symposium, pp. 348–355. IEEE, Honolulu, Hawaii (2007)
Schlegel, C., Hassler, T., Lotz, A., Steck, A.: Robotic software systems: from code-driven to model-driven designs. In: Proceedings of the 14th International Conference on Advanced Robotics, pp. 1–8. IEEE, Munich, Germany (2009)
Schultz, U.P., Christensen, D.J., Stoy, K.: A domain-specific language for programming self-reconfigurable robots. In: Proceedings of the 2007 Workshop on Automatic Program Generation for Embedded Systems, pp. 28–36. ACM, Salzburg, Austria (2007)
Webster, M., Dixon, C., Fisher, M., Salem, M., Saunders, J., Koay, K.L., Dautenhahn, K., Saez-Pons, J.: Toward reliable autonomous robotic assistants through formal verification: a case study. IEEE Trans. Hum. Mach. Syst. 46(2), 186–196 (2016)
Winfield, A.F.T., Sa, J., Fernandez-Gago, M.C., Dixon, C., Fisher, M.: On formal specification of emergent behaviours in swarm robotic systems. Int. J. Adv. Robot. Syst. 2(4), 363–370 (2005)
Acknowledgements
The authors would like to acknowledge the support from EPSRC grant EP/M025756/1.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG
About this chapter
Cite this chapter
Li, W., Miyazawa, A., Ribeiro, P., Cavalcanti, A., Woodcock, J., Timmis, J. (2018). From Formalised State Machines to Implementations of Robotic Controllers. In: GroĂŸ, R., et al. Distributed Autonomous Robotic Systems. Springer Proceedings in Advanced Robotics, vol 6. Springer, Cham. https://doi.org/10.1007/978-3-319-73008-0_36
Download citation
DOI: https://doi.org/10.1007/978-3-319-73008-0_36
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-73006-6
Online ISBN: 978-3-319-73008-0
eBook Packages: EngineeringEngineering (R0)