机器人操作系统(ROS)是一种用于机器人开发的元操作系统,目前可在Windows 10上使用。微软最初的实验性构建名为ROS1,集成在Visual Studio中,包括ROS Core的完全移植和若干模块。根据微软的说法,ROS on Windows将逐步发展,以至于完全集成基于GPU的机器学习和Azure IoT Hub。

抛开它的名字,ROS并不是一个真正的操作系统。相反,它是一个框架和服务的集合,这些框架和服务提供了类似操作系统的功能,运行在由机器人硬件支撑的异构计算机集群之上。ROS服务包括硬件抽象、底层设备控制、进程间消息传递和包管理。

ROS并不是目前唯一可用的“机器人框架”。可供选择的框架包括PlayerYARPOrocosCARMEN。ROS的与众不同之处在于,它的设计以丰富的机器人平台为中心,使用驱动传感(倾斜激光器、pan/tilt传感器头、附在手臂上的传感器),其目标是利用自然分布的计算环境。另外,ROS的目标是成为一个几乎与语言无关的薄层,以便在其他机器人平台上轻松运行基于ROS的代码。ROS有PythonC++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将会继续跟踪报道这个项目的进展。

Comments are closed.