参考:
- 古月居ROS入门21讲——话题消息的定义与使用:https://www.bilibili.com/video/BV1zt411G7Vn?p=12
- 【ROS入门-7】ROS自定义消息:https://www.guyuehome.com/34142
01 基础设置
- 创建.msg
- package.xml
- CMakeLists.txt
from 功能包名称.msg import 自定义msg文件名称 如:from learning_topic.msg import Person
#创建一个Publisher,发布名为/person_ info的topic,消息类型为learning_topic::Person,队列长度10
person_info_pub = rospy.Publisher('/person_info', Person, queue_size=10) .
- 发布话题
- 接收话题
-
创建msg文件
在my_yolo功能包的msg文件夹创建.msg文件
guyue@guyue:~/ur_ws/src/my_yolo/msg$ touch camera_object.msg
-
在package.xml中添加依赖
message_generation message_runtime
如果是新创建的功能包,可以直接在功能包创建时添加依赖:catkin_create_pkg my_package roscpp rospy std_msgs message_generation message_runtime
-
在CMakeLists.txt中添加编译选项
这个是在功能包的CMakeLists.txt中修改
需要注意的是:
和古月居PPT不一样的是message_runtime应当加在find_package(catkin REQUIRED COMPONENTS)中,而不是catkin_package()中find_package(catkin REQUIRED COMPonENTS roscpp rospy std_msgs # 添加下两行 message_generation message_runtime ) add_message_files( FILES camera_object.msg ) generate_messages( DEPENDENCIES std_msgs ) catkin_package( # INCLUDE_DIRS include # LIBRARIES my_yolo # CATKIN_DEPENDS roscpp rospy std_msgs # DEPENDS system_lib )



