机器人操作系统

✍ dations ◷ 2025-12-01 00:30:40 #自由操作系统,机器人操作系统,2007年软件

ROS(机器人操作系统,Robot Operating System),是专为机器人软件开发所设计出来的一套电脑操作系统架构。它是一个开源的元级操作系统(后操作系统),提供类似于操作系统的服务,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间消息传递、程序发行包管理,它也提供一些工具和库用于获取、建立、编写和执行多机融合的程序。

ROS的运行架构是一种使用ROS通信模块实现模块间P2P的松耦合的网络连接的处理架构,它执行若干种类型的通讯,包括:

ROS的首要设计目标是在机器人研发领域提高代码复用率。ROS是一种分布式处理框架(又名Nodes)。这使可执行文件能被单独设计,并且在运行时松散耦合。这些过程可以封装到数据包(Packages)和堆栈(Stacks)中,以便于共享和分发。ROS还支持代码库的联合系统。使得协作亦能被分发。这种从文件系统级别到社区一级的设计让独立地决定发展和实施工作成为可能。上述所有功能都能由ROS的基础工具实现。

为了实现“共享与协作”这一首要目标,人们制订了ROS架构中的其他支援性目标:

ROS有三个层次的概念:分别为Filesystem level,Computation graph level, 以及Communication level。 以下内容具体的总结了这些层次及概念。除了这三个层次的概念, ROS也定义了两种名称-- Package资源名称和Graph资源名称。同样会在以下内容中提及。

文件系统层概念就是你在碟片里面遇到的资源,例如:

Computation Graph Level(计算图)就是用ROS的P2P(peer-to-peer网络传输协议)网络集中处理所有的数据。基本的Computation Graph的概念包括Node, Master, Parameter Server,messages, services, topics, 和bags, 以上所有的这些都以不同的方式给Graph传输数据。

在ROS的计算图中,ROS的Master以一个name service的方式工作。它给ROS的节点存储了topics和service的注册信息。Nodes 与Master通信从而报告它们的注册信息。当这些节点与master通信的时候,它们可以接收关于其他以注册节点的信息并且建立与其它以注册节点之间的联系。当这些注册信息改变时Master也会回馈这些节点,同时允许节点动态创建与新节点之间的连接。

节点之间的连接是直接的; Master仅仅提供了查询信息,就像一个DNS服务器。节点订阅一个topic将会要求建立一个与发布该topics的节点的连接,并且将会在同意连接协议的基础上建立该连接。ROS里面使用最广的连接协议是TCPROS,这个协议使用标准的TCP/IP 接口。

这样的架构允许解耦操作(decoupled operation),通过这种方式大型或是更为复杂的系统得以建立,其中names方式是一种行之有效的手段。names方式在ROS系统中扮演极为重要的角色: topics, services, and parameters 都有各自的names。每一个ROS客户端库都支持重命名,这等同于,每一个编译成功的程序能够以另一种形似【名字】运行。

例如,为了控制一个北阳激光测距仪(Hokuyo laser range-finder),我们可以启动这个hokuyo_node 驱动,这个驱动可以给与激光仪进行对话并且在"扫描"topic下可以发布sensor_msgs/LaserScan 的信息。为了处理数据,我们也许会写一个使用laser_filters的node来订阅"扫描"topic的信息。订阅之后,我们的过滤器将会自动开始接收激光仪的信息。注意两边是如何脱钩工作的。 所有的hokuyo_node的节点都会完成发布"扫描",不需要知道是否有节点被订阅了。所有的过滤器都会完成"扫描"的订阅,不论知道还是不知道是否有节点在发布"扫描"。 在不引发任何错误的情况下,这两个nodes可以任何的顺序启动,终止,或者重启。

以后我们也许会给我们的机器人加入另外一个激光器,这会导致我们重新设置我们的系统。我们所需要做的就是重新映射已经使用过的names。当我们开始我们的第一个hokuyo_node时,我们可以说它用base_scan代替了映射扫描,并且和我们的过滤器节点做相同的事。现在,这些节点将会用base_scan的topic来通信从而代替,并且将不再监听"扫描"topic的信息。然后我们就可以为我们的新激光测距仪启动另外一个hokuyo_node。

ROS官方网站

相关

  • 传说传说(legend)是指在文字尚未发明的时代,人们要对历史纪录,只能够利用口耳相传的方式,因此传说通常不可考证,所描述的事件发生年代远在文字发明前的遥远过去。由于传递者的知识有限
  • 蛋白质微阵列蛋白质微阵列(英语:Protein microarray,亦称为蛋白质芯片)是将不同的具有生物活性的蛋白质分别置于微量板的不同孔内来进行蛋白质功能筛选的文库。它实质上是cDNA阵列文库的继续
  • Mycelium Running《Mycelium Running: How Mushrooms Can Help Save the World》是美国真菌学家保罗·史塔曼兹的第六本著作,由Ten Speed Press(英语:Ten Speed Press)在2005年出版。在本书中,史
  • 明石海峡大桥明石海峡大桥(日语:明石海峡大橋/あかしかいきょうおおはし Akashi Kaikyō Ōhashi */?)是位于日本的本州与淡路岛之间,连接兵库县神户市与淡路市的跨海大桥,为联系本州与淡路
  • 杂酚油杂酚油可以指:
  • 高丽大学高丽大学(韩语:고려대학교/高麗大學校),位于韩国首都首尔特别市城北区安岩洞,是韩国一所私立研究性综合大学。高丽大学创建于1905年,是韩国历史最悠久的大学之一。高丽大学设有16所
  • 东北特钢集团东北特殊钢集团有限责任公司简称东北特钢,是一间中国地方国企。公司控股股东为辽宁省国有资产监督管理委员会(68.8069%)。其他股东为黑龙江省国有资产监督管理委员会(14.5191%)及
  • 卫星的命名自1973年以来,为卫星命名成为国际天文学联合会的行星系统命名委员会的责任。这个委员会现在称为行星系统命名工作组(WGPSN,Working Group for Planetary System Nomenclature)。
  • 陶维英陶维英(越南语:Đào Duy Anh;1904年4月25日-1988年4月1日)越南近代学者。他对越南历史、地理、词典、文化和民间文学的研究做出了突出贡献。陶维英出生于清化省,后搬到河东省青威
  • 杰米·李·柯蒂斯杰米·李·柯蒂斯(英语:Jamie Lee Curtis,1958年11月22日-)是一位美国女演员与童书作者。早期著名于恐怖电影中的尖叫演出。曾获艾美奖提名,并曾获颁金球奖。柯蒂斯出生于加利福尼