每一种消息机制都有自己的应用场景。

类型 使用场景
话题Topic ⭐️单工通信,适用于一对多场景(如传感器数据流)。
服务Service ⭐️适合同步任务,节点函数调用。⭐️可以是简单请求/响应式交互场景,如询问节点当前状态
动作Action ⭐️适合异步任务,⭐️可以是大量请求/响应式交互场景(如实时通信),⭐️尤其是执行过程不能立即完成的(如导航前往某一地点),⭐️也可以是后台任务分配的场景下使用。

ros_message_compare

每一种通信方式都有自己的应用场景。在消息是第一公民的ROS中,我们在设计软件的时候首先就要想到每一种消息采用的通信方式是怎样的,并且通过ROS节点图的方式画出来,以指导软件开发工作。