话题消息的定义与使用

在这里插入图片描述

  1. 自定义话题消息

在这里插入图片描述

  • 在learning_topic中创建msg文件夹,存放消息的相关定义
  • 进入msg,右键,打开终端
touch Person.msg

即可创建Person.msg文件
ros根据定义把它变成不同的C++和Python文件
Person.msg

  • 这里的package.xml和CMakeLists.txt在learning_topic功能包下

  • 编译选项解读:
    图片中带省略号的那部分,意思是在函数括号最后面加上省略号后的部分

  • 编译依赖:依赖动态产生message的一个功能包
    运行依赖:依赖动态message_runtime运行时的一个依赖
    在这里插入图片描述

  • 将Person.msg为定义的消息接口,,针对这个文件来做编译
    第二句意思为编译Person.msg需要ROS已有的包std_msgs(String,uint8都是在里面定义的,文件里有注释说明)

  • catkin_package(…… message_runtime)
    在CA–这行,取消注释,往该行最后添加

catkin_make

编译后,可在devel/include/learning_topic中看到Person.h(可作为头文件调用)。
在这里插入图片描述

  • 把person_publisher.cpp和person_subscriber.cpp放进learning_topic的src中
    在这里插入图片描述
    在这里插入图片描述

  • 将以下代码加入到learning_topic下的CMakeLists文件下
    最后一句使与头文件Person.h产生连接

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_subscriber ${PROJECT_NAME}_generate_messages_cpp)
catkin_make
source devel/setup.bash 
roscore
rosrun learning_topic person_subscriber 
rosrun learning_topic person_publisher

把master关闭后,不影响通信,已连接,关系已创建
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值