用C++写一段代码,让它用命令行窗口展示ROS系统中的数据
时间: 2024-04-12 11:31:16 浏览: 113
Ubuntu下读取摄像头数据并发布Ros主题的C++程序示例
当然,我可以为您提供一些示例代码来展示如何在命令行窗口中显示ROS系统中的数据。以下是一个简单的示例,演示如何使用C++编写一个ROS节点,订阅一个话题,并在命令行窗口中打印接收到的消息。
```cpp
#include <ros/ros.h>
#include <std_msgs/String.h>
// 回调函数,用于处理接收到的消息
void messageCallback(const std_msgs::String::ConstPtr& msg)
{
ROS_INFO("Received message: %s", msg->data.c_str());
}
int main(int argc, char** argv)
{
// 初始化ROS节点
ros::init(argc, argv, "display_node");
// 创建节点句柄
ros::NodeHandle nh;
// 创建一个订阅者,订阅名为 "message_topic" 的话题,接收 std_msgs/String 类型的消息,回调函数为 messageCallback
ros::Subscriber sub = nh.subscribe("message_topic", 10, messageCallback);
// 循环等待回调函数
ros::spin();
return 0;
}
```
请注意,这段代码假设您已经安装了ROS,并且正确设置了ROS环境。在编译此代码之前,请确保已经使用`catkin_make`或其他方法构建了ROS工作空间。
要使用该代码,您需要将其保存为`.cpp`文件,例如`display_node.cpp`。然后,将其添加到您的ROS工作空间中,并使用`catkin_make`命令进行编译。
运行ROS系统后,您可以使用`roscore`命令启动ROS核心。然后在另一个终端中,使用`rosrun <your_package_name> display_node`命令运行该节点。它将订阅名为`message_topic`的话题,并在接收到消息时在命令行窗口中打印出来。
请记住,这只是一个简单的示例,您可以根据自己的需求进行修改和扩展。希望对您有所帮助!
阅读全文