用C++写一个ROS话题订阅者,从话题“chatter”中接收int变量A和B,并将二者相加
时间: 2023-06-06 11:05:27 浏览: 97
智能车项目基于C++在ROS中实现A星三维路径规划源码+使用说明.zip
,输出结果。
好的,这是一个技术问题,我可以回答。以下是一个简单的代码示例,以在ROS中订阅话题“chatter”并相加A和B的值:
#include "ros/ros.h"
#include "std_msgs/Int32.h"
void chatterCallback(const std_msgs::Int32::ConstPtr& msg)
{
int A = msg->data;
int B = msg->data;
int sum = A + B;
ROS_INFO("Sum of A and B: %d", sum);
}
int main(int argc, char **argv)
{
ros::init(argc, argv, "subscriber");
ros::NodeHandle n;
ros::Subscriber sub = n.subscribe("chatter", 1000, chatterCallback);
ros::spin();
return 0;
}
请注意,此示例假设消息类型为std_msgs :: Int32,传递的消息由“data”变量包含。在照抄以上代码的同时,请确保在CMakeList中添加以下内容:
add_executable(subscriber src/subscriber.cpp)
target_link_libraries(subscriber ${catkin_LIBRARIES})
这将确保您的ROS节点正确构建。
阅读全文