This commit is contained in:
2026-08-04 18:14:49 +08:00
parent 74b3c89e1e
commit 61796dfa9f
8 changed files with 201 additions and 95 deletions
+20 -8
View File
@@ -20,8 +20,8 @@
## 1. 一句话定位
> **ROS2 Humble 7 包全栈实战** — Topic / Service / Action / TF2 / URDF / Vision 六大通信范式 +
> Python/C++ 双语言互通 + 端到端 launch + **10/10 测试 100% 通过** + 15 篇文档 —
> **ROS2 Humble 12 包全栈实战** — Topic / Service / Action / TF2 / URDF / Vision 六大通信范式 +
> Python/C++ 双语言互通 + 端到端 launch + **82/82 测试 100% 通过** + 24 篇文档 —
> 为 VLA / 具身智能开发铺平最后一段学习路径。
---
@@ -53,7 +53,9 @@
│ │ colcon build / install / test │ │
│ │ src/py_pubsub src/cpp_pubsub src/py_srv │ │
│ │ src/py_action_demo src/cpp_robot_tf2 │ │
│ │ src/py_vision_demo src/bringup │ │
│ │ src/py_vision_demo src/py_params │ │
│ │ src/cpp_custom_interface src/py_lifecycle_composable │ │
│ │ src/cpp_qos_demo src/py_overlay_dds src/bringup │ │
│ │ ↓ │ │
│ │ install/<pkg>/share/<pkg>/launch/*.py │ │
│ │ install/<pkg>/lib/<pkg>/<exec> │ │
@@ -89,6 +91,11 @@
| **py_action_demo** | Action 三件套(Python) | ament_python | rclpy, example_interfaces |
| **cpp_robot_tf2** | URDF + TF2 + JointState(C++) | ament_cmake | rclcpp, tf2, geometry_msgs, sensor_msgs |
| **py_vision_demo** | sensor_msgs/Image(Python) | ament_python | rclpy, sensor_msgs, cv_bridge |
| **py_params** | 参数系统 + 校验回调(Python) | ament_python | rclpy, rcl_interfaces |
| **cpp_custom_interface** | 自定义 .msg/.srv/.action(C++) | ament_cmake | rclcpp, rclcpp_action, rosidl_default_generators |
| **py_lifecycle_composable** | Lifecycle + Composable(Python) | ament_python | rclpy, lifecycle_msgs |
| **cpp_qos_demo** | QoS 9 种组合(C++) | ament_cmake | rclcpp, std_msgs |
| **py_overlay_dds** | DDS 配置 + colcon overlay(Python) | ament_python | rclpy, launch |
| **bringup** | 顶层 launch 聚合(Python) | ament_python | launch, launch_ros |
**设计原则**:
@@ -182,12 +189,16 @@ D:\xs\ros2\
| 知识点 | 状态 |
|---|---|
| ROS2 通信(Topic / Service / Action / Parameter) | ✅ |
| 自定义 .msg/.srv/.action + rosidl 编译 | ✅ |
| QoS 9 种组合(RELIABLE / BEST_EFFORT / TRANSIENT_LOCAL ...) | ✅ |
| Lifecycle Node(unconfigured → active → finalized) | ✅ |
| TF2 坐标变换 + URDF | ✅ |
| sensor_msgs/Image + cv_bridge | ✅ |
| JointState 发布 | ✅ |
| DDS 配置 + colcon overlay + 多机部署 | ✅ |
| Launch + 测试 + Docker + venv | ✅ |
| 跨语言互通 | ✅ |
| 文档齐全(15 篇) | ✅ |
| 跨语言互通(py ↔ cpp) | ✅ |
| 文档齐全(24 篇) | ✅ |
### 6.2 ❌ 没覆盖(下一步)
@@ -246,8 +257,9 @@ sudo apt install ros-humble-navigation2
- 节点名小写下划线 + 后缀(`talker_py`, `joint_state_publisher_cpp`)
### 8.3 测试
- 每个 Python 包 4 个测试用例
- 每个 C++ 包 2gtest
- 12 包 / **82 用例**(64 pytest + 14 gtest + 4 launch_test),100% 通过
- Python 包 6 ~ 16pytest 不等(深度按包而定)
- C++ 包 3 ~ 4 个 gtest + launch_test
- 集成测试用 in-process spin(避免 launch_testing 的 shutdown 二次调用问题)
### 8.4 文档
@@ -275,7 +287,7 @@ sudo apt install ros-humble-navigation2
## 📖 阅读路径导航
> 💡 这是仓库 `doc/` 下所有文档的推荐阅读顺序。[返回 README 总导航](../README.md#-23-篇文档怎么读)
> 💡 这是仓库 `doc/` 下所有文档的推荐阅读顺序。[返回 README 总导航](../README.md#-24-篇文档怎么读)
>
> ⏱ **本文预计阅读时间**: 20 分钟
> 📍 **当前位置**: 第 1 / 24 篇