ROS2中Publisher和Subscriber的创建方法和函数调用

ROS2中Publisher和Subscriber的创建

ROS2的概念和术语与ROS1基本保持一致,对于消息话题,存在话题的发布方Publisher和接收方Subscriber

如果没有使用过ROS2,建议先把官网教程中Tutorials章节下的Beginner: CLI tools目录下的内容学习一遍,最好能将所有Demo跑通

具体网站链接如下;

ROS2新手教程

rclcpp::Publisher创建流程

在ROS2中自定义的Publisher类要继承自rclcpp::Node类,rclcpp::Node类中定义了create_publisher()模板函数,可以用来创建一个rclcpp::Publisher实例,本文以std_msgs::msg::String作为模板类型为例,对ros2源码中提供的minimal_publisher/lambda.cpp进行分析,该示例创建了一个publisher并使用lambda函数进行std_msg::msg::String格式的消息发送,该程序源码位于ros2源码src/ros2/examples/rclcpp/topics/目录下。

       Node::create_publisher()中调用rclcpp::create_publisher()函数,调用detail::create_publiser()函数。上面的示例的模板类型std_msgs::msg::String对应MessageT模板。

       detail::create_publiser()最终调用的是NodeTopics::create_publisher(),该函数实现是调用了第二个传入参数publishe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值