ROSsubscribe回调函数的多参数使用

更新时间:2023-07-19 23:24:07 阅读: 评论:0

ROSsubscribe回调函数的多参数使⽤例⼦
lechery#include"ros/ros.h"
#include<nav_msgs/OccupancyGrid.h>
//#include <boost/bind.hpp>
void mapcallback(const nav_msgs::OccupancyGrid::ConstPtr& msg,int* k)
scarf是什么意思
{
//doing stuff
}
关于元宵节的资料int main(int argc,char**argv)
{
ros::init(argc, argv,"mapper");
envisioned
ros::NodeHandle n;
int test;
//boost::bind(&mapcallback, _1, test);
ros::Subscriber sub2=n.subscribe("map",1, boost::bind(&mapcallback, _1,&test));
while(ros::ok())
{
ros::spinOnce();
sleep(2);
英语春节手抄报}艾美奖2012
return0;
}
解析
ROS 的subscribe函数,它在api中的原型为
template<class M , class T >
专升本有几种方式Subscriber ros::NodeHandle::subscribe(const std::string &        topic,
uint32_t                  queue_size,
void(T::*)(M)              fp,
usually是什么意思
const TransportHints &    transport_hints =TransportHints()
)[inline]
roomate
因此在使⽤该函数时最简单的形式是只有回调函数指针这⼀个实参:
tubekingsros::Subscriber sub = n.subscribe<std_msgs::String>(“name”, 10, &chatterCallback);
但是如果在回调函数中不只有msgs这⼀个实参,则需要⽤到boost库中的bind( )函数:
ros::Subscriber sub = n.subscribe<std_msgs::String>(“name”, 10, boost::bind(&chatterCallback,_1,param1));在这⾥param1是另⼀个参数,在这之前是占位符,提供给std_msgs。
参考

本文发布于:2023-07-19 23:24:07,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/182648.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:回调   函数指针   函数
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图