feat(level1): ROS2 完全体 12 包 / 80 测试 / 23 文档 / 工程化 / Docker 分组

This commit is contained in:
xs
2026-08-04 10:19:47 +08:00
parent 5ef38ab508
commit 549d6b337e
141 changed files with 8949 additions and 1594 deletions
+54
View File
@@ -0,0 +1,54 @@
# cpp_pubsub
ROS2 Topic pub/sub 演示包 (C++)。属于 Level 1 基础机制第 1-2 块。
## 功能
- **`chatter_publisher_cpp`**: 周期性发布 `std_msgs/String``/chatter`
- **`chatter_subscriber_cpp`**: 订阅 `/chatter`,打印消息
与 [`py_pubsub`](../py_pubsub/) 配合,演示 Python ↔ C++ 跨语言互通。
## C++ 节点类(库)
`cpp_pubsub_core` 共享库包含:
- `cpp_pubsub::ChatterPublisher``rclcpp::Node` 派生
- `cpp_pubsub::ChatterSubscriber``rclcpp::Node` 派生
均位于 `namespace cpp_pubsub`,便于复用与测试。
## 运行
```bash
# 单独启动
ros2 run cpp_pubsub chatter_publisher_cpp
ros2 run cpp_pubsub chatter_subscriber_cpp
# launch
ros2 launch cpp_pubsub pubsub_launch.py
# 实时观察
ros2 topic info /chatter -v
ros2 topic echo /chatter
```
## 测试
```bash
colcon test --packages-select cpp_pubsub
```
测试覆盖(在 `test/test_pub_sub.cpp`):
| 用例 | 内容 |
|---|---|
| `PublisherConstructsWithDefaults` | 节点名 + 默认参数正确 |
| `SubscriberConstructsWithDefaults` | 节点名 + 默认参数正确 |
| `PublisherSpinSomeWorks` | spin_some 1s 不崩溃 |
## 深度学习
- 编程规范:[`doc/CODING_STYLE.md`](../doc/CODING_STYLE.md) §3
- Topic 深度:[`doc/20-topics.md`](../doc/20-topics.md)
- C++ Style: [ROS2 C++ Style Guide](https://docs.ros.org/en/humble/Contributing/Code-Style-Language-Versions.html)