Abstract
State machines are a common mechanism for defining behaviors in robots where each behavior is based on identifiable stages. There are several libraries available for easing the implementation of state machines in ROS 1, however, the community was focused on SMACH or SMACC. Although these tools are still predominant, there are fewer alternatives for ROS 2. Besides, Behavior Trees are spreading fast, but there is a niche for using State Machines. Here, YASMIN is presented as yet another library specifically designed for ROS 2 for easing the design of robotic behaviors using state machines. It is available in C++ and Python, and provides some default states to speed up the development, in addition to a web viewer for monitoring the execution of the system and helping in the debugging.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Aldrich, B.: State machine asynchronous c++. https://smacc.dev/
Aws-Robotics: Aws-robotics/aws-robomaker-small-warehouse-world at foxy-devel. https://github.com/aws-robotics/aws-robomaker-small-warehouse-world/tree/foxy-devel
Bohren, J., Cousins, S.: The SMACH high-level executive [ROS news]. IEEE Robot. Autom. Mag. 17(4), 18–20 (2010)
Colledanchise, M., Natale, L.: On the implementation of behavior trees in robotics. IEEE Robot. Autom. Lett. 6(3), 5929–5936 (2021)
Fox, M., Long, D.: Pddl2.1: an extension to PDDL for expressing temporal planning domains. J. Artif. Intell. Res. (JAIR) 20, 61–124 (2003)
Ghzouli, R., Berger, T., Johnsen, E.B., Dragule, S., Wąsowski, A.: Behavior trees in action: a study of robotics applications. In: Proceedings of the 13th ACM SIGPLAN International Conference on Software Language Engineering, pp. 196–209 (2020)
González-Santamarta, M.Á., Rodríguez-Lera, F.J., Álvarez-Aparicio, C., Guerrero-Higueras, Á.M., Fernández-Llamas, C.: MERLIN a cognitive architecture for service robots. Appl. Sci. 10(17), 5989 (2020). https://doi.org/10.3390/app10175989
González-Santamarta, M.Á., Rodríguez-Lera, F.J., Martín, F., Fernández, C., Matellán, V.: Kant: a tool for grounding and knowledge management. In: Ferrández Vicente, J.M., Álvarez-Sánchez, J.R., de la Paz López, F., Adeli, H. (eds.) Bio-inspired Systems and Applications: from Robotics to Ambient Intelligence, vol. 13259, pp. 452–461. Springer, Cham (2022). https://doi.org/10.1007/978-3-031-06527-9_45
Iovino, M., Scukins, E., Styrud, J., Ögren, P., Smith, C.: A survey of behavior trees in robotics and AI. Robot. Auton. Syst. 154, 104096 (2022)
Macenski, S., Martin, F., White, R., Ginés Clavero, J.: The marathon 2: a navigation system. In: 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (2020)
Schmidt, V., et al.: CodeCarbon: estimate and track carbon emissions from machine learning computing. https://github.com/mlco2/codecarbon, May 2021
Uleroboticsgroup: Yasmin (yet another state machine) (2021). https://github.com/uleroboticsgroup/yasmin
Acknowledgment
This work has been partially funded by the Ministerio de Ciencia e Innovación and the Agencia Estatal de Investigación of the Kingdom of Spain under grant PID2021-126592OB-C21.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
González-Santamarta, M.Á., Rodríguez-Lera, F.J., Matellán-Olivera, V., Fernández-Llamas, C. (2023). YASMIN: Yet Another State MachINe. In: Tardioli, D., Matellán, V., Heredia, G., Silva, M.F., Marques, L. (eds) ROBOT2022: Fifth Iberian Robotics Conference. ROBOT 2022. Lecture Notes in Networks and Systems, vol 590. Springer, Cham. https://doi.org/10.1007/978-3-031-21062-4_43
Download citation
DOI: https://doi.org/10.1007/978-3-031-21062-4_43
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-21061-7
Online ISBN: 978-3-031-21062-4
eBook Packages: EngineeringEngineering (R0)