本文为 AI 研习社编译的技术博客,原标题 :
The Whats and Whys of ROS(Robot Operating System)
作者 | Sunny Setia, Parth Chhabra
翻译 | leogle97
校对 | 酱番梨 审核 | 艾狄生·多利 整理 | 立鱼王
原文链接:
https://medium.com/@parthc21/getting-started-with-ros-robot-operation-system-96a6590ea683
注:本文的相关链接请访问文末【阅读原文】
机器人是世间的新事物,每个人都想研究它。全名为机器人操作系统的ROS并不完全是一个操作系统,而是一个框架。如果你把机器人当作一座房子,那么ROS就像一个可以帮助一切运作的管道系统。ROS促进了代码的重用,因此我们不需要真正地处理已经构建的任务,而是将时间花在一些尚未解决的问题上。
在2007年,斯坦福人工智能实验室的人们意识到重用代码对社区有很大帮助时,ROS才开始活跃起来。之后,它搬到了硅谷的一个名为Willow Garage的孵化中心,在那里他们为进一步扩展它提供了大量资源,并实施了很好的测试。自2013以来,它由OSRF,即开源机器人基金会来管理。
建造任何事物
ROS具有适用于各种应用程序和硬件的软件包。人们可以使用这些包来构建围绕机器视觉的地图。
分布式系统
机器人的每个部件都由分布式信息系统连接。即使一个组件发生故障,也不会影响其他组件的工作。
独立于硬件
您完全可以自由决定要在Bot中使用哪些组件。ROS的设计还可以使其与运行在不同语言上的不同组件和子系统一起工作。
开源的ROS连接
ROS可以与其他流行的开源项目集成。举个例子,如果你想模拟一个机器人,你就用Gazebo。如果您想使用OpenCV的计算机视觉算法和程序,ROS将与所有这些集成在一起。
树莓派上的ROS
ROS的开发使得其可以在不同的内核上运行。它也可以在树莓派运行,但是官方版本的Raspbian不支持它。Linux发行版可以安装在树莓派并支持ROS。
与其他付费或专有的框架相比,ROS是一个开源框架。ROS也有很好的社区支持,这使得它适合对机器人感兴趣的初学者。
ROS的工作依赖三个主要部分:
主站:它是一个节点声明和注册服务,使得节点能够找到彼此并交换数据。
节点:节点是可执行文件的实例。节点可以是传感器、电机、处理器或监控算法。开始运行的每个节点都向主节点自我声明。节点可以是订阅服务器或发布服务器,例如,发布服务器节点1是一个摄像头,它将摄像头源作为输出,而订阅服务器节点1是一个笔记本电脑,它请求它的订阅源。为了帮助发送这些数据,主题会出现在图片中。
主题:主题是基于订阅及发布系统的数据传输系统。一个或多个节点可以将数据发布到主题,剩余节点可以读取该主题的数据。
想要继续查看该篇文章相关链接和参考文献?
点击底部【阅读原文】即可访问:
https://ai.yanxishe.com/page/TextTranslation/1554
长按二维码
关注 AI研习社