ROS学习(四)如何编写一个可以同时订阅和发布主题的订阅者节点

匿名 (未验证) 提交于 2019-12-03 00:30:01

有时在运行订阅者节点时希望该节点在接收到话题消息之后,能够将经过相应处理的消息发布给其他节点,这样就要求订阅者节点具备同时发送和接收消息的能力.

  下面将编写一个用于解析CAN报文的功能包,其中的一个订阅者节点在解析完订阅到的CAN报文之后会将解析的内容发布出去.

功能包(can_analysis_topic)的package.xml文件:


功能包(can_analysis_topic)的CMakeLists.txt文件:


功能包(can_analysis_topic)的msg文件:

Control.msg文件


Frame.msg文件


功能包(can_analysis_topic)的发布者节点can_topic_publisher代码:

它负责将报文的ID和数据发布出去


功能包(can_analysis_topic)的订阅者节点can_topic_subscriber代码:

它负责将订阅到的CAN报文进行解析并将解析内容发布出去





功能包(can_analysis_topic)的测试节点can_topic_test代码:

这个节点主要用来测试can_topic_subscriber节点能否将报文解析内容成功发布出来


实验结果如下:

运行can_topic_publisher


运行can_topic_subscriber


运行can_topic_test


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!