Abstract
The design of robots capable of operating autonomously in changing and unstructured environments, requires using complex software architectures in which, typically, robot engineers manually hard-code adaptation mechanisms allowing the robot to deal with certain situations. As adaptation is closely related with context monitoring, deliberation and actuation, its implementation typically spreads across several architecture components. Therefore, fine-tuning or extending the adaptation logic (e.g., to cope with new contingencies not foreseen at design-time) results in a very expensive and cumbersome process. This paper proposes a novel approach to deal with self-adaptation based on modeling behavior variability at design-time so that the robot can configure it at runtime, according to the contextual information only then available. This approach is supported by a model-based framework allowing robotic engineers to specify (1) the robot behavior variation points (open decision space); (2) the internal and external contextual information available; and (3) the non-functional properties (e.g. safety, performance, or energy consumption) in terms of which the robot Quality-of-Service (QoS) will be measured. Then, from these models, the framework will automatically generate the runtime infrastructure allowing the robot to self-adapt its behavior to achieve the best QoS possible according to its current context. The framework has been validated in two scenarios using two different well-known robotic software architectures.
Similar content being viewed by others
Notes
In this paper, a task describes how a robot does something in an abstract and independent manner, and a skill provides access to functionalities realized by components for the usage within tasks.
See https://www.behaviortree.dev/tutorial_02_basic_ports/ for details about the blackboard
References
Bischoff R, Guhl T, Prassler E, Nowak W, Kraetzschmar G, Bruyninckx H, Soetens P, Hägele M, Pott A, Breedveld P, Broenink JF, Brugali D, Tomatis N (2010) BRICS - Best practice in robotics In: ISR/ROBOTIK 2010
Brugali D, Gherardi L (2016) HyperFlex: a model driven toolchain for designing and configuring software control systems for autonomous robots. In: Koubaa A. (eds) Robot Operating System (ROS). Studies in computational intelligence, vol 625. Springer, Cham. https://doi.org/10.1007/978-3-319-26054-9_20
BustosP MansoL, Bandera A, Bandera JP, García-Varea I, Martínez-Gómez J (2019) The CORTEX cognitive robotics architecture: Use cases. Cogn Sys Res 55:107–123
Clements P, Northrop L (2002) Software product lines. Addison-Wesley Boston
Colledanchise M, Ögren P (2017) Behavior Trees in robotics and AI: An introduction, arXiv:1709.00084
Cyberbotics Ltd. Webots: open source robot simulator, https://www.cyberbotics.com/
Ding W, Shen S (2019) Online vehicle trajectory prediction using policy anticipation network and optimization-based context reasoning. In: 2019 International Conference on Robotics and Automation (ICRA). IEEE, p 9610–9616
Dromey RG (2003) From requirements to design: formalizing the key steps. SEFM. https://doi.org/10.1109/SEFM.2003.1236202
Faconti D., Groot, an integrated development environment for the design and execution of behaviour trees, https://github.com/BehaviorTree/Groot
Flexible Navigation Stack [RobMoSys Wiki], https://robmosys.eu/wiki/domain_models:navigation-stack:start
Hendrich N, Bistry H, Zhang J (2015) Architecture and software design for a service robot in an elderly-care scenario. Engineering 1(1):27–35
Hernández C, Bermejo-Alonso J, Sanz R (2018) A self-adaptation framework based on functional knowledge for augmented autonomy in robots. Integr Comput Aided Eng 25:157–172
Hernández-Corbato C, Bozhinoski D, Garzon Oviedo M, van der Hoorn G, Hammoudeh Garcia N, Deshpande H, Tjerngren J, Wasowski A (2020) MROS: Runtime Adaptation For Robot Control Architectures, arXiv
Hernández-Corbato C, Fernández JL (2017) Model-based systems engineering to design collaborative robotics applications. IEEE international systems engineering symposium (ISSE):1-6
Jumel F et al (2018) Context aware robot architecture, application to the RoboCup@ Home challenge. Robot World Cup. Springer, Cham, pp 205–216
Lotz A, Inglés-Romero JF, Vicente-Chicote C, Schlegel C (2013) Managing Run-Time Variability in Robotics Software by Modeling Functional and Non-functional Behavior. BMMDS/EMMSAD 2013:441–455
Lotz A, Inglés-Romero JF, Stampfer D, Lutz M, Vicente-Chicote C, Schlegel C (2014) Towards a Stepwise Variability Management Process for Complex Systems: A Robotics Perspective. Int J Inf Syst Model Des 5(3):55–74
Lutz M, Inglés-Romero JF, Stampfer D, Lotz A, Vicente-Chicote C, Schlegel C (2019) Managing variability as a means to promote composability: a robotics perspective. In: Rosado da Cruz AM, Ferreira da Cruz ME (eds). New Perspectives on Information Systems Modeling and Design: 274–295
Marfil R, Romero-Garces A, Bandera JP, Manso L, Calderita L, Bustos P, Bandera A, Garcia-Polo J, Fernandez F, Voilmy D (2020) Perceptions or actions? Grounding how agents interact within a software architecture for cognitive robotics. Cognitive computation
Martinet P, Patin B (2008) PROTEUS: A platform to organise transfer inside French robotic community. 3rd National Conf on Control Architectures of Robots (CAR2008)
Mou WH, Chang MF, Liao, CK, Hsu YH, Tseng SH, Fu LC (2012) Context-aware assisted interactive robotic walker for Parkinson’s disease patients. In: 2012 IEEE/RSJ International conference on intelligent robots and systems. IEEE. p 329–334
Ögren P, Colledanchise M (2018) Behavior Trees in robotics and AI: An Introduction. CRC Press
Pereira RP, Engel, PM (2015) A framework for constrained and adaptive behavior-based agents. arXiv preprint arXiv:1506.02312
Romero-Garcés A, Martínez-Cruz J, Inglés-Romero J, Vicente-Chicote C, Marfil R, Bandera A (2020) Measuring quality of service in a robotized comprehensive geriatric assessment scenario. Appl Sci 10(18):6618. https://doi.org/10.3390/app10186618
Salles R, Romero-Garcés A, Marfil R, Vicente-Chicote C, Martínez-Cruz J, Inglés-Romero J, Bandera A (2021) QoS metrics-in-the-loop for better robot navigation. Adv Intell Sys Comput 1285:94–108
Schmidt DC (2006) Guest Editor’s introduction: model-driven engineering. IEEE Computer 39(2):25–31
Subagyo WP, Nugroho SMS, Sumpeno S (2016) Simulation multi behavior NPCs in fire evacuation using emotional behavior tree. In: 2016 International Seminar on Application for Technology of Information and Communication (ISemantic). IEEE, p. 184-190
Vicente-Chicote C, García-Pérez D, García-Ojeda P, Inglés-Romero J.F, Romero-Garcés A, Martínez J (2019) Modeling and estimation of non-functional properties: Leveraging the Power of QoS Metrics. In: Ferrández Vicente J, Álvarez-Sánchez J., de la Paz López F., Toledo Moreo J., Adeli H. (eds) IWINAC 2019. LNCS, vol 11487, pp. 380–388. Springer, Cham. https://doi.org/10.1007/978-3-030-19651-6_37
Vicente-Chicote C, Inglés-Romero JF, Martínez J, Stampfer D, Lotz A, Lutz M, Schlegel C (2018) A component-based and model-driven approach to deal with non-functional properties through global QoS metrics. MODELS workshops
Acknowledgements
This work has been partially funded by MIRoN (an Integrated Technical Project funded by EU H2020 RobMoSys Project under Grant Agreement 732410), SA3IR (an experiment funded by EU H2020 ESMERA Project under Grant Agreement 780265), and the project RTI2018-099522-B-C4X, funded by the Gobierno de España and FEDER funds.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Romero-Garcés, A., Salles De Freitas, R., Marfil, R. et al. QoS metrics-in-the-loop for endowing runtime self-adaptation to robotic software architectures. Multimed Tools Appl 81, 3603–3628 (2022). https://doi.org/10.1007/s11042-021-11603-7
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11042-021-11603-7