完成基于C++的发布和订阅节点编写和测试。要求: 1、新建ROS工作空间,工作空间名称要包含你的学号;新建功能包,功能包名称要包含你的学号 2、发布节点发布信息要包括你的学号;接收节点在发布信息的基础上,再加上你的姓名 3、截图,要求能看到终端显示的用户名
时间: 2024-10-14 16:09:33 浏览: 56
ROS2-Python-Node:基本ROS2节点,以便发布和订阅点云数据
在C++中完成ROS(Robot Operating System)的工作流程涉及到几个关键步骤:
1. **创建ROS工作空间**:
- 打开命令行,首先确保已经安装了ROS(如 ROS Noetic)。创建一个新的工作空间,命名它为你学号的一个组合,例如 "student001_ws"。运行命令如下:
```
mkdir student001_ws
cd student001_ws
rosmake init
```
2. **创建功能包**:
- 创建一个新的ROS包,比如 "communication_package"。在工作空间根目录下运行:
```
roscreate pkg communication_package
```
这会在工作空间中生成相应的包结构。
3. **编写发布节点**:
- 在`src`文件夹下创建两个cpp文件,分别为publisher.cpp和publisher_nodelet.cpp。在publisher.cpp中,创建一个发布者节点,发布包含学号的信息,例如:
```cpp
// publisher.cpp
class Publisher {
// 发布消息的方法,包含学号
void publish(int student_id);
};
```
然后在publisher_nodelet.cpp中设置发布器并启动。
4. **编写接收节点**:
- 在`src`中创建subscriber.cpp,创建一个接收者节点,它从发布者那里接收到消息并在基础上添加你的姓名:
```cpp
// subscriber.cpp
class Subscriber {
// 接收并处理消息的方法
void on_message(const std_msgs::String::ConstPtr& msg);
};
```
5. **测试**:
- 编译并运行发布者节点,然后启动接收者节点。在终端中查看是否能看到包含学号和姓名的消息。例如:
```
catkin_make run_node subscriber_nodelet
```
6. **截图**:
- 在终端窗口记录接收节点显示消息的过程,确保能看到消息内容包括学号和你的姓名。
注意,在实际操作过程中,你需要安装必要的库和依赖,并确保ROS环境变量设置正确。
阅读全文