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