当前位置: 首页 > news >正文

机器人操作系统来到Windows

机器人操作系统(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将会继续跟踪报道这个项目的进展。

\\

查看英文原文:Robot Operating System Comes to Windows

相关文章:

  • sublime text3
  • Spring Cloud 之 Consul 与 Consul 服务剔除
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 在ABAP里取得一个数据库表记录数的两种方法
  • 【Unity Shader】Shader基础
  • vue项目使用微信公众号支付
  • 你连这10个工具都不知道,还是程序员?
  • DDL语言
  • BZOJ 1568: [JSOI2008]Blue Mary开公司
  • Ubuntu 16.04 下 安装go
  • PHP CLI应用的调试原理
  • springboot入门_email
  • Python MetaClass深入分析
  • Python中常见的字符串的操作方法:
  • 记录LNMP多主机架构Wordpress博客实施过程中的一些坑
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • git 常用命令
  • Git 使用集
  • in typeof instanceof ===这些运算符有什么作用
  • input实现文字超出省略号功能
  • PAT A1050
  • SpiderData 2019年2月16日 DApp数据排行榜
  • vue-router 实现分析
  • 从setTimeout-setInterval看JS线程
  • 读懂package.json -- 依赖管理
  • 类orAPI - 收藏集 - 掘金
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 软件开发学习的5大技巧,你知道吗?
  • 微信小程序--------语音识别(前端自己也能玩)
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 因为阿里,他们成了“杭漂”
  • ​力扣解法汇总946-验证栈序列
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • ###项目技术发展史
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • (2015)JS ES6 必知的十个 特性
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (二)构建dubbo分布式平台-平台功能导图
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (十五)使用Nexus创建Maven私服
  • (原創) 物件導向與老子思想 (OO)
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .NET Core 通过 Ef Core 操作 Mysql
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .NET牛人应该知道些什么(2):中级.NET开发人员
  • /usr/lib/mysql/plugin权限_给数据库增加密码策略遇到的权限问题