机器人操作系统(ROS)是一种用于机器人开发的元操作系统,目前可在Windows 10 上使用。微软最初的实验性构建名为ROS1,集成在Visual Studio 中,包括 ROS Core 的完全移植和若干模块。根据微软的说法,ROS on Windows 将逐步发展,以至于完全集成基于 GPU 的机器学习和 Azure IoT Hub。
抛开它的名字,ROS 并不是一个真正的操作系统。相反,它是一个框架和服务的集合,这些框架和服务提供了类似操作系统的功能,运行在由机器人硬件支撑的异构计算机集群之上。ROS 服务包括硬件抽象、底层设备控制、进程间消息传递和包管理。
ROS 并不是目前唯一可用的“机器人框架”。可供选择的框架包括 Player 、 YARP 、 Orocos 、 CARMEN 等。ROS 的与众不同之处在于,它的设计以丰富的机器人平台为中心,使用驱动传感(倾斜激光器、pan/tilt 传感器头、附在手臂上的传感器),其目标是利用自然分布的计算环境。另外,ROS 的目标是成为一个几乎与语言无关的薄层,以便在其他机器人平台上轻松运行基于ROS 的代码。ROS 有 Python 、 C++ 和 Lisp 实现,而对 Java 和 Lua 的支持仍处于试验阶段。
ROS 的主要目标是在机器人研究和开发中支持代码重用。ROS 是一个分布式的进程框架(又名 Nodes),它使可执行程序能够单独设计并在运行时保持松耦合。这些进程可以分组为 Packages 和 Stacks,实现轻松共享和分发。
在西班牙马德里举行的 ROSCon 2018 大会上,微软展示了一个在Windows 10 IoT Enterprise 上运行ROS Melodic Morenia 的ROBOTIS Turtlebot 3 机器人。此外,微软还展示了基于Azure 的ROS 仿真环境,演示了一群虚拟机器人连接到一个编排系统,并通过Azure IoT Hub 进行控制。
ROS1 需要 64 位的 Windows 10 桌面版或 Windows 10 IoT 企业版,目前还不支持 Windows 10 IoT Core。目前,可以使用二进制包安装ROS1 。构建过程并不像想象的那么简单,需要很多步骤,但微软做了全面详细的介绍。与Visual Studio Code 的集成也可以通过插件实现。
ROS for Windows 并不是微软首次涉足机器人领域。事实上,在 2006 年推出了 Microsoft Robotics Developer Studio 之后,比尔·盖茨在 2007 年就开发出了他的家用机器人。遗憾的是,该项目从未获得关注,并在2012 年被放弃, Steven Crowe 在 The Robot Report 上这样写道。
微软已经宣布正在开发其 ROS 的下个 Windows 移植版本 ROS2,但没有透露它将带来什么。和往常一样,InfoQ 将会继续跟踪报道这个项目的进展。
评论 1 条评论