The Robot Operating System (ROS) has become the de facto standard middleware in robotics, widely adopted across domains ranging from education to industrial applications. The RoboStack distribution, a conda-based packaging system for ROS, has extended ROS's accessibility by facilitating installation across all major operating systems and architectures, integrating seamlessly with scientific tools such as PyTorch and Open3D. This paper presents ROS2WASM, a novel integration of RoboStack with WebAssembly, enabling the execution of ROS 2 and its associated software directly within web browsers, without requiring local installations. ROS2WASM significantly enhances the reproducibility and shareability of research, lowers barriers to robotics education, and leverages WebAssembly's robust security framework to protect against malicious code. We detail our methodology for cross-compiling ROS 2 packages into WebAssembly, the development of a specialized middleware for ROS 2 communication within browsers, and the implementation of https://www.ros2wasm.dev, a web platform enabling users to interact with ROS 2 environments. Additionally, we extend support to the Robotics Toolbox for Python and adapt its Swift simulator for browser compatibility. Our work paves the way for unprecedented accessibility in robotics, offering scalable, secure, and reproducible environments that have the potential to transform educational and research paradigms.
翻译:机器人操作系统(ROS)已成为机器人学领域事实上的标准中间件,从教育到工业应用等各个领域均被广泛采用。RoboStack发行版是一个基于conda的ROS打包系统,它通过简化在所有主流操作系统和架构上的安装,并与PyTorch、Open3D等科学工具无缝集成,进一步扩展了ROS的可访问性。本文提出ROS2WASM,这是RoboStack与WebAssembly的一项新颖集成,能够在无需本地安装的情况下,直接在网页浏览器中执行ROS 2及其相关软件。ROS2WASM显著增强了研究的可复现性与可共享性,降低了机器人学教育的门槛,并利用WebAssembly强大的安全框架来防范恶意代码。我们详细阐述了将ROS 2软件包交叉编译为WebAssembly的方法、开发用于浏览器内ROS 2通信的专用中间件,以及实现https://www.ros2wasm.dev这一使用户能够与ROS 2环境交互的网络平台。此外,我们还扩展了对Python版机器人工具箱的支持,并适配其Swift模拟器以实现浏览器兼容性。我们的工作为机器人学领域前所未有的可访问性铺平了道路,提供了可扩展、安全且可复现的环境,这些环境有望变革教育和研究范式。