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
+58
View File
@@ -0,0 +1,58 @@
# py_vision_demo
ROS2 图像传感器演示包(Python)。属于 Level 1 基础机制第 9 块。
## 功能
- **`fake_camera`**: 周期性发布 640x480 bgr8 合成图像(渐变 + 帧号 + 动态圆)
- **`image_processor`**: 订阅图像,转 OpenCV,计算平均亮度
## 关键概念
| 概念 | 用途 |
|---|---|
| `sensor_msgs/Image` | 图像消息(height/width/encoding/step/data) |
| `cv_bridge` | ROS Image ↔ OpenCV numpy 转换 |
| `bgr8` / `rgb8` / `mono8` | 像素编码 |
| `REP-105 frame_id` | `camera_optical_frame`(光心系) |
## 运行
```bash
# 终端 1:启 camera + processor
ros2 launch py_vision_demo vision_launch.py
# 终端 2:实时看图像(需要 RViz 或 image_view)
ros2 run rqt_image_view rqt_image_view /image_raw
# CLI 验证
ros2 topic info /image_raw -v
ros2 topic hz /image_raw
```
## 测试
```bash
colcon test --packages-select py_vision_demo
```
测试覆盖:
| 文件 | 用例数 | 内容 |
|---|---|---|
| `test_fake_camera.py` | 5 | 节点名 + 参数 + frame_id(REP-105) + publisher |
| `test_image_processor.py` | 5 | 节点名 + 参数 + subscription + 全白/全黑处理 |
| `test_vision_pipeline.py` | 1 | 同进程 fake_camera → image_processor 端到端 |
| **总计** | **11** | **目标 11/11 100% 通过** |
## 深度学习
- 编程规范:[`doc/CODING_STYLE.md`](../doc/CODING_STYLE.md)
- 视觉 + cv_bridge:[`doc/30-vision.md`](../doc/30-vision.md)(下一阶段新增)
- ROS 图像消息: <https://docs.ros.org/en/humble/p/sensor_msgs/msg/Image.html>
## 进阶(下一阶段)
- 接 RealSense / Azure Kinect 真相机
- 加 YOLO / GraspNet 等视觉模型
- 接 MoveIt2 做视觉抓取