ROS话题通信实现发布接收(五)C++版本
在ROS中每一个功能点都是一个单独的进程,每一个进程都是独立运行的
ROS是进程(也称为Nodes)的分布式框架。 因为这些进程甚至还可分布于不同主机,不同主机协同工作,从而分散计算压力。
不过随之也有一个问题: 不同的进程是如何通信(不同进程间如何实现数据交换)的?这就是ROS中的通信机制了。
ROS 中的基本通信机制主要有如下三种实现策略:
话题通信(发布订阅模式)
服务通信(请求响应模式)
参数服务器(参数共享模式)
话题通信是ROS中使用频率最高的一种通信模式,话题通信是基于发布订阅模式的,也即:一个节点发布消息,另一个节点订阅该消息
机器人在执行导航功能,使用的传感器是激光雷达,
机器人会采集激光雷达感知到的信息并计算,
然后生成运动控制信息驱动机器人底盘运动。
在上述场景中,就不止一次使用到了话题通信。
以激光雷达信息的采集处理为例,在 ROS 中有一个节点需要时时的发布当前雷达采集到的数据,导航模块中也有节点会订阅并解析雷达数据。再以运动消息的发布为例,导航模块会根据传感器采集的数据时时的计算出运动控制信息
共有 0 条评论