通信接口
在ros系统中,无论话题还是服务,或者我们后续将要学习的动作,都会用到一个重要的概念——通信接口。
通信并不是一个人自言自语,而是两个甚至更多个人,你来我往的交流,交流的内容是什么呢?为了让大家都好理解,我们可以给传递的数据定义一个标准的结构,这就是通信接口。
接口的定义
接口的概念在各个领域随处可见,无论是硬件结构还是软件开发,都有广泛的应用。
比如生活中最为常见的插头和插座,两者必须匹配才能使用,电脑和手机上的usb接口也是,什么micro-usb、typec等等,都是关于接口的具体定义。
软件开发中,接口的使用就更多了,比如我们在编写程序时,使用的函数和函数的输入输出也称之为接口,每一次调用函数的时候,就像是把主程序和调用函数通过这个接口连接到一起,系统才能正常工作。
更为形象的是图形化编程中使用的程序模块,每一个模块都有固定的结构和形状,只有两个模块相互匹配,才能在一起工作,这就很好的讲代码形象化了。
所以什么是接口,它是一种相互关系,只有彼此匹配,才能建立连接。
回到ros的通信系统,它的主要目的就是传输数据,那就得让大家高效的建立连接,并且准确包装和解析传输的数据内容,话题、服务等机制也就诞生了,他们传输的数据,都要符合通信接口的标准定义。
比如摄像头驱动发布的图像话题,由每个像素点的r、g、b三原色值组成,控制机器人运动的速度指令,由线速度和角速度组成,进行机器人配置的服务,有配置的参数和反馈的结果组成等等。
类似这些常用的定义,在ros系统中都有提供,我们也可以自己开发。
这些接口看上去像是给我们加了一些约束,但却是ros系统的精髓所在。
举个例子,我们使用相机驱动节点的时候,完全不用关注它是如何驱动相机的,只要一句话运行,我们就可以知道发布出来的图像数据是什么样的了,直接开始我们的应用开发;
类似的,键盘控制我们也可以安装一个ros包,如何实现的呢?不用关心,反正它发布出来的肯定是线速度和角速度。
一种使用石墨阳极制造快速充电锂离子电池的新方法
什么是矩阵键盘?4*4键盘的原理软件设计分析
PLC学习的基本指令类
速度继电器结构_速度继电器制动电路图
用功率MOSFET制作线性放大器有何风险?
接口的定义 通信接口的作用
用11本白皮书搭建3座桥:联想让智能化转型不再有孤岛
交换机组网是常见的8大故障及解决方式
梦之墨T Series PCB快速制板系统圆满支持电子设计竞赛
第十三课 C51循环语句
研究生联合培养基地授牌仪式暨课题研讨会在北京正式举行
深度解析ECOTEC LLU发动机
安防 AI伦理困境何解?欧盟发布道德准则
传祺在今年正式迎来了GA6的换代更新
英特尔推动将通用处理器CPU与FPGA的融合
以太网控制器ENC28J60配置单片机“电子邮差”系统
粗调与精调相结合的直线压电螺钉分辨率达亚纳米级
变压器的种类和功能特点
手机厂商不再配备充电器的原因
示波器探头常见问题解答