The RoCS Framework to Support the Development of Autonomous Robots
Keywords:Robotics, Software Architecture, Autonomic Computing, Frameworks
AbstractWith the expansion of autonomous robotics and its applications (e.g. medical, competition, military), the biggest hurdle in developing mobile robots lies in endowing them with the ability to interact with the environment and to make correct decisions so that their tasks can be executed successfully. However, as the complexity of robotic systems grows, the need to organize and modularize software for their correct functioning also becomes a challenge, making the development of software for controlling robots a complex and intricate task. In the robotics domain, there is a lack of reference software architectures and, although most robot architectures available in the literature facilitate the creation process with their modularity, existing solutions do not provide development guidance on reusing existing modules. Based on the well- known IBM Autonomic Computing reference architecture (known as MAPE-K), this work defines a refined architecture following the Robotics perspective. To explore the capabilities of the proposed refinement, we implemented the RoCS (Robotics and Cognitive Systems) framework for autonomous robots. We successfully tested the framework under simulated robotics scenarios that mimic typical robotics tasks and evidence the framework reuse capability. Finally, we understand the proposed framework needs further experimental evaluation, particularly, assessments on real-world scenarios.
Arkin, R. C. (1998). Behavior-Based Robotics. MIT Press.
B-Human (2018). B-human team homepage.
Bayouth, M., Nourbakhsh, I. R., and Thorpe, C. E. (1998). A hybrid human-computer autonomous vehicle architecture. In Third ECPD International Conference on Advanced Robotics, Intelligent Automation and Control.
Brooks, R. (1991). Intelligence without representation. Artificial Intelligence, 47:139–159
Chan, Y. J. and Yow, K. C. (2006). A strategy-driven framework for multi-robot cooperation system. In Control, Automation, Robotics and Vision, 2006. ICARCV’06. 9th International Conference on, pages 1–6. IEEE.
Choulsoo, J. et al. (2010). OPRoS: A New ComponentBased Robot Software Platform. ETRI Journal, 32(5):646-656
Collett, T. H. J. and Macdonald, B. A. (2005). Player 2.0: Toward a practical robot programming framework. In in Proc. of the Australasian Conference on Robotics and Automation (ACRA).
De La Iglesia, D. G. and Weyns, D. (2015). MAPE-K Formal Templates to Rigorously Design Behaviors for SelfAdaptive Systems. ACM Transactions on Autonomous and Adaptive Systems, 10(3):15:1-15:31
De Silva, L. and Ekanayake, H. (2008). Behavior-based robotics and the reactive paradigm a survey. In 2008 11th International Conference on Computer and Information Technology, pages 36–43.
IBM (2005). An architectural blueprint for autonomic computing. Technical report, IBM.
IFR (2018). International federation of robotics.
Jeong, I. B. and Kim, J. H. (2008). Multi-layered architecture of middleware for ubiquitous robot. In Systems, Man andCybernetics 2008, pages 3479–3484.
Kim, D. et al. (2006). SHAGE: A Framework for Self-managed Robot Software. In Proceedings of the 2006 International Workshop on Self-adaptation and Selfmanaging Systems (SEAMS’06), pages 79–85.
Klös, V., Göthel, T., and Glesner, S. (2015). Adaptive knowledge bases in self-adaptive system design. In 41st Euromicro Conference on Software Engineering and Advanced Applications (SEAA 2015), pages 472–478, Funchal, Portugal.
Magyar, G., Sinčák, P., and Krizsán, Z. (2015). Comparison study of robotic middleware for robotic applications. In Emergent Trends in Robotics and Intelligent Systems, pages 121–128. Springer.
Makarenko, A., Brooks, A., and Kaupp, T. (2007). On the benefits of making robotic software frameworks thin. In IROS Proceedings.
Malek, S. et al. (2010). An Architecture-driven Software Mobility Framework. Journal of Systems and Software, 83(6):972-989
Mathworks (2018). What is inverse kinematics.
Object Management Group (2016). Hardware Abstraction Layer for Robotic Technology (HAL4RT). Version 1.0 – Beta 1, dtc/2016-01-01
Object Management Group (2018). Robotic Interaction Service Framework (RoIS). Version 1.2, formal/2018-05-04.
Qasim, A. and Kazmi, S. A. R. (2016). MAPE-K Interfaces for Formal Modeling of Real-Time Self-Adaptive MultiAgent Systems. IEEE Access, 4:4946-4958
Quigley, M. et al. (2009). ROS: an open-source Robot Operating System. In ICRA Workshop on Open Source Software.
Ramos, L., Divino, G., de França, B. B. N., Montecchi, L., and Colombini, E. (2019a). RoCS GitHub Repository. https://github.com/larocs/RoCS.
Ramos, L., Divino, G., de França, B. B. N., Montecchi, L., and Colombini, E. (2019b). The RoCS Framework to Support the Development of Autonomous Robots. In XXII Ibero-American Conference on Software Engineering (CIBSE 2019), La Habana, Cuba.
Ranganathan, A. and Koenig, S. (2003). A reactive robot architecture with planning on demand. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2003), pages 1462–1468.
Rauch, C. et al. (2012). A concept of a reliable three-layer behaviour control system for cooperative autonomous robots. In 35th German Conference on Artificial Intelligence, pages 24–27, Germany.
RoboCup (2018). The robocup federation.
Rohmer, E., Singh, S. P. N., and Freese, M. (2013). V-REP: a Versatile and Scalable Robot Simulation Framework. In IROS Proceedings.
Simmons, R. and Mitchell, T. (1989). A task control architecture for autonomous robots. In Proc. Third Annual Workshop on Space Oper. Auto. and Robotics.
Weyns, D., Malek, S., and Andersson, J. (2010). FORMS: A Formal Reference Model for Self-adaptation. In Proceedings of the 7th International Conference on Autonomic Computing (ICAC’10), pages 205–214. ACM.