ROS学习笔记(七)

目录

二、订阅方的实现

1、 创建订阅方C++文件

2、编程

2.1 包含头文件

2.2 初始化ROS节点

2.3 创建节点句柄

2.4 创建订阅者对象 和 处理订阅到的数据

2.6 spin函数

三、配置相关文件

3.1 首先配置CMakeList.txt

四、编译运行

五、实验结果


二、订阅方的实现

1、 创建订阅方C++文件

2、编程

编程基本流程与发布方一致

2.1 包含头文件

//1.包含头文件;
#include "ros/ros.h"
#include "plumbing_pub_sub/Person.h" //自定义消息的头文件

2.2 初始化ROS节点

    setlocale(LC_ALL,"");//防止乱码   
//2.初始化 ROS 节点
    ros::init(argc,argv,"jiazhang");

2.3 创建节点句柄

//3.创建节点句柄
    ros::NodeHandle nh;  

2.4 创建订阅者对象 和 处理订阅到的数据

(具体内容看ROS学习笔记(三)_Lbuera的博客-CSDN博客

//4.创建订阅者对象 5.处理订阅到的数据
    ros::Subscriber sub = nh.subscribe("liaotian",10,doperson);
void doperson();

void doperson(const plumbing_pub_sub::Person::ConstPtr& person){
    ROS_INFO("订阅的人的信息:%s,%d,%.2f",person->name.c_str(),person->age,person->height);
}

2.6 spin函数

//6.spin()     //有回调函数就得有这个
ros::spin();

以上订阅者的编程就结束了。

三、配置相关文件

3.1 首先配置CMakeList.txt

add_executable(demo03_pub_person src/demo03_pub_person.cpp)
add_executable(demo04_sub_person src/demo04_sub_person.cpp)

target_link_libraries(demo03_pub_person
${catkin_LIBRARIES}
)
target_link_libraries(demo04_sub_person
${catkin_LIBRARIES}
)
 add_dependencies(demo03_pub_person ${PROJECT_NAME}_generate_message_cpp)
 add_dependencies(demo04_sub_person ${PROJECT_NAME}_generate_message_cpp)

上面这块是自定义消息独有的

四、编译运行

ROS学习笔记(一)_Lbuera的博客-CSDN博客

五、实验结果

 下一篇文章要对具体的编程进行一个总结 抛弃代码  讲步骤以及一些配置问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lbuera

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值