当前位置:首页 > 芯闻号 > 充电吧
[导读]本文将主要对clearpathrobotics网站关于ROS的介绍进行翻译。1,何为ROS?ROS(Robot Operating System)是遵从BSD许可的系统,它可以在PC上控制机器人的各个

本文将主要对clearpathrobotics网站关于ROS的介绍进行翻译。

1,何为ROS?

ROS(Robot Operating System)是遵从BSD许可的系统,它可以在PC上控制机器人的各个组件。ROS系统由多个各自独立的节点(组件)组成,并且各个节点之间可以通过发布/订阅(publish/subscribe)消息模型进行通信。例如,我们将一个特定传感器的驱动模块作为一个ROS节点,其将传感器数据发布(publish)到消息流。这些消息可能会被某些节点获取到,例如滤波器、记录器、更高级系统中的应用如导航、路径查找等节点。

(从此段可以理解,ROS的publish操作为某个节点将其自身数据或传感器数据发送到一个注册到ROS中的消息池中,其他节点可以申请获取数据,而publish数据的节点不关心哪些节点需要,其他节点如何获取数据将在下面介绍。)


2,为何使用ROS?

ROS中的节点可以运行在不同的系统、平台,甚至是不同的架构中。假如有一个Arduino publish的消息,你可以使用笔记本订阅(subscribe)此消息,也可以使用android手机驾驶摩托。对于用户的需求,ROS具有灵活适应性,并且它还是开源的,任何人都可以对它进行维护。


3,核心概念

ROS启动于ROS Master。Master允许其他ROS中不同软件片(节点)查找对方或与对方交流。那样,我们就不必指定“发送传感器数据到IP为127.0.0.1的电脑”,我们只需要简单的告诉Node1发送消息到Node2.



如何实现节点间消息传递呢?通过publishing 和 subscribing Topics。

设想有一部相机安装在机器人上,我们希望可以从相机中或者笔记本上看到图像,同时让机器人也可以看到这些图像。

在我们的例子中,我们定义一个Camera Node,用于和相机通信(驱动),一个Image Processing Node运行在机器人上处理图像数据,一个Image Display Node用于将图像显示在屏幕上。开始阶段,所有节点(Node)都要注册到Master上。Master可以认为是一个查询表,各个节点可以查询它要把消息发送到哪个节点(peer to peer communication)。


注册到ROS Master后,Camera Node 声明它要Publish一个Topic叫做/image_data。另外两个节点(Image Processing Node and Image Display Node)声明他们Subscribe这个Topic /image_data。因此,一旦Camera Node 收到Camera发送的数据,就立即将数据/image_data直接发送到另外两个节点。(实际上,这就类似于TCP/IP直连,不同的是他们是通过同一个通道image_data,这个image_data应该就类似于共享内存,这个理解不知道是否正确或者恰当。)


那么你又想了,如果Image Processing Node想主动获取Camera Node收到的数据怎么办呢?ROS定义了Services用于解决这个问题。

节点可以在ROS Master上注册一个特定的service,就像注册它的消息(topic)一样。在我们的例子中,Image Processing Node第一次请求/image_data,Camera Node将收集Camera的数据,然后发送给Image Processing Node。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

罗德与施瓦茨与SmartViser携手开发了一种用于测试符合欧盟销售的智能手机和平板电脑的新Energy Efficiency Index(EEI)标签法规的解决方案。该解决方案的核心是R&S CMX500,这是...

关键字: 智能手机 Android iOS

(全球TMT2023年8月24日讯)2023年8月23日,时值实时3D引擎Unity在华设立合资公司Unity中国一周年之际,Unity中国正式推出Unity中国版引擎——团结引擎。Unity全球CEO John Ri...

关键字: UNITY CE Android 开发者

报告显示:全球电商 App 获客花费接近50亿美元 北京2023年8月23日 /美通社/ -- 全球营销衡量与体验管理平台 AppsFlyer 近日发布《2023 电商 App 营销现状报告》。尽管面临全球经...

关键字: APPS BSP iOS Android

数字机顶盒是一种数字技术下的多媒体娱乐中心,可以实现电视节目接收、播放、存储、网络应用等多种功能。随着科技的发展,数字机顶盒的设计方案也在不断进步和优化。本文将介绍数字机顶盒设计的几种实现方案。

关键字: 数字机顶盒 Android Linux

21ic 近日获悉,原小米 9 号创始员工李明在社交媒体平台公布了旗下首款产品乐天派桌面机器人,为全球首款 Android 桌面机器人,面向极客和发烧友的 AI + 机器人。据悉,李明两个月前宣布创业并进军 AI 领域,...

关键字: 小米 Android 桌面机器人 AI

尽管安装增长放缓,全球游戏 App 获客花费仍高达 267 亿美元 经济低迷导致 2023 游戏 App 营销优先考虑收入指标,用户增长次之 北京2023年3月9日 /美通社/ -- 今天,全球营销衡量与体验管理平台...

关键字: APPS iOS Android BSP

量子计算领域的新里程碑,来了! 谷歌科学家证明,通过增加量子比特的数量,就能降低量子计算的错误率。

关键字: 谷歌 Android Windows

「卫星通讯」正在被普及到每一台智能手机当中。普及的动机并非是消费市场的一个刚需,其实更像是将差异化的功能「抹平」成一个标配。时下,支持「卫星通讯」功能的智能手机只有苹果的 iPhone 14 系列与华为的 Mate 50...

关键字: 卫星通讯 Android 智能手机 iPhone

Android是Google开发的操作系统,支持多种指令集架构 (ISA),包括Arm和x86,多数使用Android的设备都采用Arm架构芯片组。新兴RISC-V架构是免费开放指令集架构,任何人都可用它设计芯片,且无需...

关键字: 谷歌 Android RISC-V架构

智能手机并非每年都取得重大进展,这导致越来越多的人将手机保留两年、三年或四年。不过,普通的 Android 手机能否在遇到问题之前使用那么久?

关键字: Android 安卓 谷歌 智能手机
关闭
关闭