Message-oriented and robotics middleware play an important role in facilitating robot control, as well as 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 limitation, we present Wrapyfi, a Python wrapper supporting multiple message-oriented and robotics middleware, including ZeroMQ, YARP, ROS, and ROS~2. 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 robots such as the iCub and Pepper via different middleware. The results demonstrated Wrapyfi's usability in practice allowing for multi-middleware exchange and controlled process distribution in a real-world setting. More importantly, we showcased Wrapify's most prominent features by bridging interactions between sensors, deep learning models, and robots.
翻译:消息导向与机器人中间件在促进机器人控制、抽象复杂功能以及统一跨传感器和设备网络的通信模式中发挥着重要作用。然而,采用多种中间件框架会给将不同机器人集成到单个系统中带来挑战。为解决这一局限,我们提出Wrapyfi——一种支持多种消息导向与机器人中间件(包括ZeroMQ、YARP、ROS和ROS 2)的Python封装工具。使用Wrapyfi可简化在多台机器上运行脚本的开发过程,从而实现跨平台通信与工作负载分配。我们通过两项用户研究对Wrapyfi进行实际场景评估:利用多种传感器通过不同中间件将读数传输至深度学习模型及iCub、Pepper等机器人。结果表明Wrapyfi在实际应用中具有良好的可用性,支持在真实环境中实现多中间件交换与可控进程分发。更重要的是,我们通过桥接传感器、深度学习模型与机器人之间的交互,充分展示了Wrapyfi最突出的功能特性。