1、
创建一个话题,里面包括学生的姓名性别年龄,并通过发布者发布,订阅者接收
如何定义话题消息
- 定义msg文件
- 在package.xml中添加功能包依赖
- 在CMakeList.txt添加编译选项
- 编译生成语言相关文件
1.定义msg文件
在learning_topic下创建msg文件夹
在msg文件夹下创建Person.msg文件
touch Person.msg
Person.msg内容
string name
uint8 sex
uint8 age
uint8 unknown=0
uint8 male=1
uint8 female=2
3、在package.xml中添加功能包依赖
<build_depend>message_generation</build_depend>
<exec_depend>message_runtime</exec_depend>
4、在CMakeList.txt添加编译选项
add_executable(person_subscriber src/person_subscriber.cpp)
target_link_libraries(person_subscriber ${catkin_LIBRARIES})
add_dependencies(person_subscriber ${PROJECT_NAME}_generate_messages_cpp)
5、
message_generation
add_message_files(FILES Person.msg)
generate_messages(DEPENDENCIES std_msgs)
6、
7、问题出在CMakeList.txt 新建了一个 重启。。。
roscore
rosrun learning_topic person_subscriber
rosrun learning_topic person_publisher