8.1 KiB
工业视觉集成与高级应用课程说明
所属课程:《具身智能机器人技术全景与应用》系列
1 课程简介
本模块是课程的进阶核心模块,在 M1 感知与决策基础上,聚焦工业视觉集成技术。不同于离身视觉仅"看图识别",具身工业视觉的每一帧图像都直接驱动机器人物理动作——1 像素的感知误差可能放大为 5mm 的抓取偏差甚至碰撞事故。
模块以 "从像素到动作的闭环" 为主线,覆盖工业相机选型、OpenCV 图像处理流水线、手眼标定与视觉伺服、缺陷检测与分拣协同、多机器人协同作业、工业通讯配置到无序抓取全流程集成的完整技术栈。
2 课程结构
本模块七讲分为四个单元,按"硬件基础→空间融合→感知协同→系统集成"递进组织。前三讲奠定工业视觉软硬件基础,中两讲深入空间标定与感知应用,后两讲提升系统通讯与全流程实战能力。
2.1 四单元七讲
| 单元 | 主题 | 讲次 | 核心技能 |
|---|---|---|---|
| 1 | 软硬件基础 | L1-L2 | 相机选型、OpenCV 图像处理 |
| 2 | 空间融合与控制 | L3 | 手眼标定、视觉伺服 |
| 3 | 感知与协同应用 | L4-L5 | 缺陷检测、多机器人协同 |
| 4 | 通讯基础设施与项目实践 | L6-L7 | 工业通讯、无序抓取全流程 |
2.2 每讲内容速览
每讲配有讲义、代码和训练任务指导书,课前阅读讲义理解原理,课后按指导书步骤完成实验并填写数据表。
| 讲次 | 标题 | 核心活动 | 训练指导 |
|---|---|---|---|
| L0 | 导论:从像素到动作 | 理解工业视觉闭环与模块安排 | 环境部署与工具使用 |
| L1 | 工业相机与镜头选型 | 运行选型计算器,计算分辨率/焦距 | 相机选型与参数验证 |
| L2 | OpenCV 图像处理流水线 | 搭建滤波→边缘→轮廓处理管线 | 图像处理流水线搭建 |
| L3 | 手眼标定与视觉伺服 | 求解 AX=XB,编写 IBVS 控制器 | 手眼标定与伺服控制 |
| L4 | 缺陷检测与分拣协同 | YOLO 推理,搭建检测→分拣流水线 | 缺陷检测与分拣实践 |
| L5 | 多机器人协同作业 | 编队控制、RVO 避碰、任务分配 | 多机器人协同系统搭建 |
| L6 | 工业机器人通讯配置 | 配置 DDS 节点,对比 QoS 延迟 | 工业通讯配置实践 |
| L7 | 无序抓取全流程实战 | 运行全流程流水线,定位瓶颈并调优 | 无序抓取综合项目 |
2.3 技术栈全景
从底层成像硬件到上层系统集成,技术栈覆盖相机、图像处理、空间标定、检测、协同、通讯和集成七个层面。
| 层次 | 技术 | 用途 | 讲次 |
|---|---|---|---|
| 成像层 | 工业相机 / CCD-CMOS / 镜头 | 图像采集与光学成像 | L1 |
| 处理层 | OpenCV / 滤波 / 边缘检测 / 特征提取 | 图像预处理与特征分析 | L2 |
| 空间层 | 手眼标定 (AX=XB) / 坐标变换链 / 视觉伺服 | 像素到机器人坐标映射 | L3 |
| 检测层 | YOLO / Mask R-CNN / PatchCore / TensorRT | 缺陷检测与异常识别 | L4 |
| 协同层 | Leader-Follower / RVO / 匈牙利算法 | 多机器人编队与任务分配 | L5 |
| 通讯层 | Profinet IRT / DDS / OPC UA | 工业设备互联互通 | L6 |
| 集成层 | 无序抓取 / 分层控制 / 系统调优 | 全流程视觉抓取系统 | L7 |
3 如何使用本仓库学习
3.1 目录结构
M2_industrial_vision_integration/
├── lectures/ ← 课程讲义(Markdown),每讲一个文件
├── labs/ ← 训练任务指导书,按步骤指导实验操作
├── code/ ← Python 实验代码,按讲次分目录
│ ├── M2-L1/ ← L1 代码(相机选型计算器等)
│ ├── M2-L2/ ← L2 代码(OpenCV 流水线等)
│ └── ... ← L3-L7 依次类推
├── images/ ← SVG 技术示意图
├── syllabus/ ← 课程大纲、教案、教学设计
├── survey/ ← 课程反馈问卷
└── assets/ ← 其他教学素材
3.2 推荐学习流程
每讲的标准节奏
- 课前预习(30min):阅读
lectures/M2_LX_*.md,理解核心概念 - 课堂学习(90min):教师讲解原理 + 演示代码 + 学员跟做
- 课后 Part 1(60min):按照
labs/M2_LX_task_guide.md的步骤运行脚本、填写数据表、完成自检 - 课后 Part 2(60min):使用 OpenCode 完成拓展编程任务
开始前的准备
- 按照
labs/M2_L0_task_guide.md完成环境配置(Python 3.8+ / conda / Jupyter Lab / OpenCode) - 激活
embodied-ai环境:conda activate embodied-ai - 进入对应讲次的代码目录:
cd code/M2_LX/
3.3 实验运行示例
# 激活环境
conda activate embodied-ai
# 进入 L1 代码目录
cd code/M2_L1/
# 运行相机选型计算器
python M2_L1_camera_selector.py --fov 600 --wd 500 --resolution 1920x1080
每份 labs/M2_LX_task_guide.md 中都有详细的参数说明、数据记录表格和自检清单,按步骤操作即可。
3.4 技能等级说明
每讲训练任务按三个等级设计:
| 等级 | 标识 | 目标 | 对应讲次 |
|---|---|---|---|
| Lv.1 基础感知 | 🟢 | 能运行脚本、看懂输出、理解基本概念 | L1-L2 |
| Lv.2 核心应用 | 🔵 | 能理解原理、调整参数、分析结果 | L3-L6 |
| Lv.3 综合实战 | 🟤 | 能独立调试、系统优化、综合分析 | L7 |
3.5 评价方式
- 自检清单:每讲任务指导书末尾有 6.1 自检清单,逐项确认完成
- 技能达成评估:教师逐项确认技能达成情况
- 过程考核:随堂提问 + 实验报告 + 运行演示
- 最终项目:L7 无序抓取全流程作为模块综合考核
4 前置知识
- Python 基础编程(数据类型、函数、类、文件操作)
- Linux 基本操作(终端、文件系统、包管理)
- M1 模块:AI 感知、决策与具身智能基础
5 模块依赖
- 前置模块:M1(AI 感知、决策与具身智能基础)
- 后续模块:M3(智能感知进阶与机器人控制)
6 常见问题
需要真实机器人硬件吗? 不需要。所有实验均基于 Python 仿真程序,可在普通笔记本电脑上完成。
需要 GPU 吗? 不需要。所有代码均可在 CPU 环境下运行。L4 的 YOLO 推理如需 GPU 可安装 PyTorch CUDA 版本,但非必需。
需要真实的工业相机吗?
不需要。代码提供模拟数据和仿真模式(--use_sim 参数)。
讲义和代码在哪里?
讲义在 lectures/,代码在 code/,训练任务指导书在 labs/——三者按讲次编号对应。
6 更新日志
本模块的更新记录详见 CHANGELOG.md,涵盖 README、讲义、实验指导书等变更。
许可声明
本文档采用 知识共享署名-相同方式共享 4.0 国际许可协议 (CC BY-SA 4.0) 进行许可,© 2025-2026 Gitconomy Research.
