ros6 6.2 6.33 6.7各版本 正版固件 4G含ros电子盘

ROS(Robot Operating System)是一个机器人软件平台,它能为异质计算机集群提供类似操作系统的功能。ROS的前身是斯坦福人工智能实验室为了支持斯坦福智能机器人STAIR而建立的交换庭(switchyard)项目。到2008年,主要由威楼加拉吉继续该项目的研发。
外文名 Robot Operating System 简    称 ROS 性    质 机器人软件平台 用    途 提供类似操作系统的功能
ROS(Robot Operating System)是一个机器人软件平台,它能为异质计算机集群提供类似操作系统的功
ROS图标
ROS图标
能。ROS的前身是斯坦福人工智能实验室为了支持斯坦福智能机器人STAIR而建立的交换庭(switchyard)项目。到2008年,主要由威楼加拉吉继续该项目的研发。
ROS提供一些标准操作系统服务,例如硬件抽象,底层设备控制,常用功能实现,进程间消息以及数据包管理。ROS是基于一种图状架构,从而不同节点的进程能接受,发布,聚合各种信息(例如传感,控制,状态,规划等等)。目前ROS主要支持Ubuntu。
ROS可以分成两层,低层是上面描述的操作系统层,高层则是广大用户群贡献的实现不同功能的各种软件包,例如定位绘图,行动规划,感知,模拟等等。
ROS(低层)使用BSD许可证,所有是开源软件,并能免费用于研究和商业用途。而高层的用户提供的包则可以使用很多种不同的许可证。
* ROS wiki的解释:
ROS(Robot Operating System,下文简称“ROS”)是一个适用于机器人的开源的操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。
ROS 的主要目标是为机器人研究和开发提供代码复用的支持。ROS是一个分布式的进程(也就是“节点”)框架,这些进程被封装在易于被分享和发布的程序包和功能包中。ROS也支持一种类似于代码储存库的联合系统,这个系统也可以实现工程的协作及发布。这个设计可以使一个工程的开发和实现从文件系统到用户接口完全独立决策(不受ROS限制)。同时,所有的工程都可以被ROS的基础工具整合在一起。
* Brian Gerkey的网上留言:
我通常这样解释ROS:
1. 通道:ROS提供了一种发布-订阅式的通信框架用以简单、快速地构建分布式计算系。
2. 工具:ROS提供了大量的工具组合用以配置、启动、自检、调试、可视化、登录、测试、终止分布式计算系统。
3. 强大的库:ROS提供了广泛的库文件实现以机动性、操作控制、感知为主的机器人功能。
4. 生态系统:ROS的支持与发展依托着一个强大的社区。ros.org尤其关注兼容性和支持文档,提供了一套“一站式”的方案使得用户得以搜索并学习来自全球开发者数以千计的ROS程序包。
* 摘自《ROS by Example》的解释:
ROS的首要目标是提供一套统一的开源程序框架,用以在多样化的现实世界与仿真环境中实现对机器人的控制。
* 关于ROS的“通道(plumbing)”(摘自《ROS by Example》
ROS的核心是节点(node)。节点是一小段用Python或C++写成的程序,用来执行某个相对简单的任务或进程。多个节点之间互相传递信息(message),并可以独立控制启动或终止。某一节点可以面向其它节点针对特定标题(topic)发布信息或提供服务(service)。
例如:现有以节点将传感器读数传递至机器人控制器,在“/head_sonar标题“下存在一条信息包含有变量值“0.5“,即意味着传感器检测到的当前物体距离为0.5米。任何一个想要知道该传感器读数的节点都只要订阅(subscribe)/head_sonar标题即可。为了便于使用该读数,针对该订阅者的节点会定义一个回调函数,每当有新的信息传递到订阅者标题时,即执行该函数。上述流程的运行频率取决于发布者节点(publisher node)更新信息的频率。
此外,节点还可以用来定义一个或多个服务(service)。ROS中服务的作用是在接收到来自其它节点的请求时回复该节点或执行某项任务。例如:控制LED灯的开关是一个服务;移动机器人在给定起始和目标位置的条件下返回导航路线规划也是一个服务。
热门商品