qq_42978799 2019-07-17 19:07 采纳率: 0%
浏览 723

ROS中subscribe接受时用boost::bind为回掉函数传参报错???

#include
#include
#include
#include
#include
#include
#include
#include
#include
//ros::NodeHandle ph;

void callBack(const geometry_msgs::Twist twist, ros::Publisher& path_pub)
{
// ros::Publisher path_pub = ph.advertise("trajectory", 1, true);
nav_msgs::Path path;

ros::Time current_time, last_time;
current_time = ros::Time::now();
    last_time = ros::Time::now();

    path.header.stamp=current_time;
     path.header.frame_id="odom";

ros::Rate loop_rate(1);

double x=0.0;
double y = 0.0;
    double th=0.0;

while (ros::ok())
{
    double temp_x;
            double temp_y;
    double dt=0.1;
    temp_x = twist.linear.x * dt; 
    x += temp_x;
            temp_y=twist.linear.y * dt;
    y+=temp_y;

    geometry_msgs::PoseStamped this_pose_stamped;

    this_pose_stamped.pose.position.x = x;
    this_pose_stamped.pose.position.y = y;

    geometry_msgs::Quaternion goal_quat = tf::createQuaternionMsgFromYaw(th);
    this_pose_stamped.pose.orientation.x = goal_quat.x;
    this_pose_stamped.pose.orientation.y = goal_quat.y;
    this_pose_stamped.pose.orientation.z = goal_quat.z;
    this_pose_stamped.pose.orientation.w = goal_quat.w;

    this_pose_stamped.header.stamp=current_time;
    this_pose_stamped.header.frame_id = "odom";
    path.poses.push_back(this_pose_stamped);

            path_pub.publish(path);
    ros::spinOnce();               // check for incoming messages

    last_time = current_time;
    loop_rate.sleep();
}

}

int main(int argc, char **argv)
{
ros::init(argc, argv, "showpath");
ros::NodeHandle ph;
//接受消息
ros::Publisher path_pub = ph.advertise("trajectory", 1, true);

    ros::Subscriber sub=ph.subscribe<geometry_msgs::Twist>("cmd_vel", 1,boost::bind(callBack, _1, path_pub));

// ros::Subscriber sub=ph.subscribe("cmd_vel", 1,callBack);
ros::spin();
return 0;

}
图片说明图片说明


  • 写回答

1条回答 默认 最新

  • weixin_42149161 2021-04-26 18:05
    关注

    解决了吗?

     

    评论

报告相同问题?

悬赏问题

  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀
  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决