Message-oriented and robotics middleware play an important role in facilitating robot control, abstracting complex functionality and unifying communication patterns across networks of sensors and devices. However, the use of multiple middleware frameworks presents a challenge in integrating different robots within a single system. To address this challenge, we present Wrapyfi, a Python wrapper supporting multiple message-oriented and robotics middleware, including ZeroMQ, YARP, ROS, and ROS 2. Wrapyfi also provides plugins for exchanging deep learning framework data, without additional encoding or preprocessing steps. Using Wrapyfi eases the development of scripts that run on multiple machines, thereby enabling cross-platform communication and workload distribution. We evaluated Wrapyfi in practical settings by conducting two user studies, using multiple sensors transmitting readings to deep learning models, and using robots such as the iCub and Pepper via different middleware. The results demonstrated Wrapyfi's usability in practice allowing for multi-middleware exchanges, and controlled process distribution in a real-world setting. More importantly, we showcase Wrapify's most prominent features by bridging interactions between sensors, deep learning models, and robotic platforms.
翻译:消息传递与机器人中间件在促进机器人控制、抽象复杂功能以及统一传感器与设备网络间通信模式方面发挥着重要作用。然而,使用多种中间件框架在单系统中集成不同机器人时面临挑战。为解决这一问题,我们提出了Wrapyfi——一个支持多种消息传递与机器人中间件(包括ZeroMQ、YARP、ROS和ROS 2)的Python封装器。Wrapyfi还提供插件用于交换深度学习框架数据,无需额外的编码或预处理步骤。利用Wrapyfi可简化跨多台机器运行的脚本开发,从而实现跨平台通信与工作负载分配。我们通过两项用户研究(使用多传感器向深度学习模型传输读数,以及通过不同中间件控制iCub和Pepper等机器人)在实践场景中评估了Wrapyfi。结果表明,Wrapyfi在实际应用中支持多中间件交换,并在真实环境中实现可控的进程分布。更重要的是,我们通过桥接传感器、深度学习模型和机器人平台之间的交互,展示了Wrapyfi最突出的特性。