ros入门——话题消息的定义与使用
感谢古月up主:https://www.bilibili.com/video/BV1zt411G7Vn?p=12
1、第一步:新建文件夹msg,在终端新建Person.msg文件
打开Person.msg文件,输入以下内容并保存:
string name
uint8 sex
uint8 age
uint8 unknown=0
uint8 male = 1
uint8 female = 2
2、第二步:在package.xml下添加:
<build_depend>message_generation</build_depend>
<exec_depend>message_runtime</exec_depend>
3、第三步:在CMakeLists.txt下添加
①message_generation
②add_message_files(FILES Person.msg)
generate_messages(DEPENDENCIES std_msgs)
③去掉注释CATKIN_DEPENDS geometry_msgs roscpp std_msgs turtlesim,后面加上message_runtime
CATKIN_DEPENDS geometry_msgs roscpp std_msgs turtlesim message_runtime
4、回到工作空间的根目录下,进行编译:catkin_make
在devel-include-learning——topic下生成c++的头文件:Person.h
5、在cmakelists下添加编译语句:
add_executable(person_publisher src/person_publisher.cpp)
target_link_libraries(person_publisher ${catkin_LIBRARIES})
add_dependencies(person_publisher ${PROJECT_NAME}_generate_messages_cpp)
add_executable(person_subscriber src/person_subscriber.cpp)
target_link_libraries(person_subscriber ${catkin_LIBRARIES})
add_dependencies(person_publisher ${PROJECT_NAME}_generate_messages_cpp)
6、在根目录下编译catkin_make
7、运行发布者和订阅者