ROS学习之路(一)认识ROS

    机器代替人力走进各行各业解放人类已经成为一种不可遏制的趋势,ROS便是用来控制这些机器的比较流行的平台,类似于手机中的Android。

    ROS建立在Linux系统之上,有点像Linux的一种特殊软件。里面有很多库,可以用来执行不同功能。

    我们经常会遇到这样的情况,机器在下面运行着(比如一辆装有摄像头、雷达等传感器的小车),后台电脑这可以接收并显示小车传过来的数据,这就是一种典型的分布式系统,ROS负责通过一些库来控制小车,通过一些库来处理数据,通过底层的ROS通信机制实现多台设备之间的相互通信。

    下面是ROS中的一些基本概念:

1.节点(Node):

    相当于操作系统中的进程,之所以叫节点,是因为如果把一个工作过程画成图来表示,那这些进程就是图中的节点。

2.消息(Message):

    人与人之间说的话就是消息,在ROS中被定义为具体的数据结构了(比如,两台机器之间说的话就是一个int加一个float),用来传递自定义的数据。

3.话题(Topic):

    就像微信公众号(但不完全一样,后面到话题的文章会有具体解释),后台一批人员负责把文章放上去,读者们就可以到公众号中查看了,就是一个发布(Publish)和订阅(Subscribe)的过程。

4.服务(Service):

    应该说是一对一服务,嘿嘿。我问一句,服务人员答一句,性感荷官在线答疑,咳咳。“我”是一个节点,“服务人员”是另一个节点,两者建立起了实时通讯。

5.节点管理器:

    顾名思义,就是管理节点的一个管理员吧,就像电话发明没多久那时候的接线员,一个节点如果想和其他节点通讯,首先自己得在“接线员”那注册一个“号码”,其次得知道对方的基本信息,比如叫什么名字,住在哪等等,然后“接线员”根据信息找到了对方的“号码”,然后就可以建立连接打电话了。

 

 

你可能感兴趣的:(ROS)