订阅激光雷达信息后需要转到世界坐标系,需要传参buffer
buffer貌似只能在主函数init()后声明,若想在回调函数doMsg里使用,就只能传参
回调函数想要传参需要用boot::bind()函数,返回一个新的函数
主函数
ros::Subscriber sub = nh.subscribe<sensor_msgs::LaserScan>("/laser/scan",1,boost::bind(&doMsg,_1,&buffer));
回调函数
void doMsg(const sensor_msgs::LaserScan::ConstPtr& msg,tf2_ros::Buffer *buffer)