Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
没有调用回调函数 我尝试在C++中实现ROS GoTooCalm,这里是代码 #包括“ros/ros.h” #包括“几何图形\u msgs/Twist.h” #包括“几何图形/Pose2D.h” #包括“turtlesim/Pose.h” 甲鱼{ 公众: 海龟(整数argc,字符**argv){ ros::init(argc,argv,“mover”); ros::nodehandlen; pose=turtlesim::pose(); pub=n.advision(“/turtle1/cmd_vel”,100); sub=n.subscribe(“/turtle1/pose”,100,&Turtle::Update,this); } 无效更新(constturtlesim::Pose::ConstPtr&msg){ ROS_信息(“接收的姿势:x=%f y=%f\n”,消息->x,消息->y); 姿势=*味精; } void move2goal(){ turtlesim::Pose goalPose=turtlesim::Pose(); std::cout_C++_C++14_Ros_Robotics_Gazebo Simu - Fatal编程技术网

没有调用回调函数 我尝试在C++中实现ROS GoTooCalm,这里是代码 #包括“ros/ros.h” #包括“几何图形\u msgs/Twist.h” #包括“几何图形/Pose2D.h” #包括“turtlesim/Pose.h” 甲鱼{ 公众: 海龟(整数argc,字符**argv){ ros::init(argc,argv,“mover”); ros::nodehandlen; pose=turtlesim::pose(); pub=n.advision(“/turtle1/cmd_vel”,100); sub=n.subscribe(“/turtle1/pose”,100,&Turtle::Update,this); } 无效更新(constturtlesim::Pose::ConstPtr&msg){ ROS_信息(“接收的姿势:x=%f y=%f\n”,消息->x,消息->y); 姿势=*味精; } void move2goal(){ turtlesim::Pose goalPose=turtlesim::Pose(); std::cout

没有调用回调函数 我尝试在C++中实现ROS GoTooCalm,这里是代码 #包括“ros/ros.h” #包括“几何图形\u msgs/Twist.h” #包括“几何图形/Pose2D.h” #包括“turtlesim/Pose.h” 甲鱼{ 公众: 海龟(整数argc,字符**argv){ ros::init(argc,argv,“mover”); ros::nodehandlen; pose=turtlesim::pose(); pub=n.advision(“/turtle1/cmd_vel”,100); sub=n.subscribe(“/turtle1/pose”,100,&Turtle::Update,this); } 无效更新(constturtlesim::Pose::ConstPtr&msg){ ROS_信息(“接收的姿势:x=%f y=%f\n”,消息->x,消息->y); 姿势=*味精; } void move2goal(){ turtlesim::Pose goalPose=turtlesim::Pose(); std::cout,c++,c++14,ros,robotics,gazebo-simu,C++,C++14,Ros,Robotics,Gazebo Simu,我想你误解了睡眠的作用。与spin不同,它实际上并不执行所有ROS通信事件。它只是为了方便准确睡眠。请参阅 幸运的是,修复非常简单,只需添加一个spinOnce: while( distance(goalPose) >= d && ros::ok()) { // (..) ros::spinOnce(); loop_rate.sleep(); } 适合我。请添加您的主函数。``intmain(intargc,char**argv){Turtle-Turtle=

我想你误解了睡眠的作用。与
spin
不同,它实际上并不执行所有ROS通信事件。它只是为了方便准确睡眠。请参阅

幸运的是,修复非常简单,只需添加一个
spinOnce

while( distance(goalPose) >= d && ros::ok()) {
  // (..)
  ros::spinOnce();
  loop_rate.sleep();
}

适合我。请添加您的主函数。``intmain(intargc,char**argv){Turtle-Turtle=Turtle(argc,argv);Turtle.move2lgool();}```有一个
cin
。你输入了什么?代码走了多远?你把调试语句放在其他地方了吗?你的问题会从这样的细节中受益匪浅。cin语句用于获取目标位置(x,y)从控制台。我在更新回调函数中添加了一条调试语句,在循环的末尾添加了一条调试语句。顺便说一句,我尝试实现了这条语句,但是python实现中没有spinOnce()。哦,有趣!也许python中的睡眠工作方式不同?这确实非常令人困惑。