Coordinating and programming multiple ROS-based robots with X-KLAIM

被引:3
作者
Bettini, Lorenzo [1 ]
Bourr, Khalid [2 ]
Pugliese, Rosario [1 ]
Tiezzi, Francesco [1 ]
机构
[1] Univ Firenze, Dipartimento Stat Informat Applicaz, Viale Morgagni 65, I-50134 Florence, Italy
[2] Univ Camerino, Sch Sci & Technol, Via Madonna Carceri 7, I-62032 Camerino, Italy
关键词
Multi-robot systems; Multiple tuple spaces; X-Klaim; ROS; SYSTEMS; FRAMEWORK; LANGUAGE; ACCESS;
D O I
10.1007/s10009-023-00727-w
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software development for robotics applications is still a major challenge that becomes even more complex when considering multi-robot systems (MRSs). Such distributed software has to perform multiple cooperating tasks in a well-coordinated manner to avoid unsatisfactory emerging behavior. This paper provides an approach for programming MRSs at a high abstraction level using the programming language X-Klaim. The computation and communication model of X-Klaim, based on multiple distributed tuple spaces, permits coordinating with the same abstractions and mechanisms both intra- and inter-robot interactions of an MRS. This allows developers to focus on MRS behavior, achieving readable, reusable, and maintainable code. The proposed approach can be used in practice by integrating X-Klaim and the popular robotics framework ROS. We demonstrate the feasibility and effectiveness of our approach by (i) showing how it scales when implementing two warehouse scenarios allowing us to reuse most of the code when passing from the simpler to the more enriched scenario and (ii) presenting the results of a few experiments showing that our code introduces a slightly greater but acceptable latency and consumes less memory than the traditional ROS implementation based on Python code.
引用
收藏
页码:747 / 764
页数:18
相关论文
共 66 条
[1]  
Adam S., 2014, WORKSH DOM SPEC LANG
[2]  
Adam S., 2016, J. Softw. Eng. Rob., V7, P121
[3]  
[Anonymous], 2010, J. Softw. Eng. Rob.
[4]   An Experimental Toolchain for Strategy Synthesis with Spatial Properties [J].
Basile, Davide ;
ter Beek, Maurice H. ;
Ciancia, Vincenzo .
LEVERAGING APPLICATIONS OF FORMAL METHODS, VERIFICATION AND VALIDATION. ADAPTATION AND LEARNING, ISOLA 2022, PT III, 2022, 13703 :142-164
[5]   VoxLogicA: A Spatial Model Checker for Declarative Image Analysis [J].
Belmonte, Gina ;
Ciancia, Vincenzo ;
Latella, Diego ;
Massink, Mieke .
TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PT I, 2019, 11427 :281-298
[6]  
Bettini L, 2005, LECT NOTES COMPUT SC, V3543, P181
[7]  
Bettini Lorenzo, 2019, Models, Languages, and Tools for Concurrent and Distributed Programming: Essays Dedicated to Rocco De Nicola on the Occasion of His 65th Birthday. Lecture Notes in Computer Science (LNCS 11665), P115, DOI 10.1007/978-3-030-21485-2_8
[8]   KLAVA: a Java']Java package for distributed and mobile applications [J].
Bettini, L ;
De Nicola, R ;
Pugliese, R .
SOFTWARE-PRACTICE & EXPERIENCE, 2002, 32 (14) :1365-1394
[9]   Interactive mobile agents in X-KLAIM [J].
Bettini, L ;
De Nicola, R ;
Pugliese, R ;
Ferrari, G .
SEVENTH IEEE INTERNATIONAL WORKSHOPS ON ENABLING TECHNOLOGIES: INFRASTRUCTURE FOR COLLABORATIVE ENTERPRISES (WET ICE '98), 1998, :110-115
[10]  
Bettini L., 2016, Implementing domain-specific languages with Xtext and Xtend