feat(level1): ROS2 完全体 12 包 / 80 测试 / 23 文档 / 工程化 / Docker 分组
This commit is contained in:
@@ -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)
|
||||
Reference in New Issue
Block a user