本科毕业设计
.idea | ||
abandon_code | ||
Log | ||
orbbec_camera | ||
robot_control | ||
.gitignore | ||
App.py | ||
README.md | ||
yolov8n.pt |
1. 配置
配置项 | 选项 |
---|---|
🌐 语言 | Python |
📚 项目类型 | 通用开发,含计算机视觉和机械控制 |
📖 注释风格 | 描述性 + 内联 |
🛠️ 代码结构 | 模块化 |
🚫 错误处理策略 | 强健 + 上下文 |
⚡ 性能优化等级 | 中等 + 可伸缩性关注 |
注意: lib中关于双目摄像头的库文件需要依照系统自行编译,本项目使用的环境为Windows10
2. 设计
2.1. 系统概述
- 双目结构光相机系统: 用于桌面物体的识别和定位。
- 雷达或双目测距系统: 选择双目测距,因为它和相机系统更协同。
- 机械臂控制系统: 根据识别和测距结果,控制机械臂移动物体。
2.2. 主要模块
- 图像处理模块: 使用OpenCV和PyTorch进行图像识别和处理,该模块同时还集成了中心点测距
- 机械臂控制模块: 根据计算结果控制机械臂。
- 集成与测试模块: 集成各个模块,并进行测试。
2.3. 数据流
- 相机捕获图像 -> 2. 图像处理识别物体 -> 3. 双目测距计算距离 -> 4. 机械臂根据距离和位置移动物体。
3. 项目文件结构
ColorViewer
使用多线程控制摄像头的启停,对摄像头的操作进行二次封装,提高了代码的可读性和可维护性。 具体做法为:将摄像头的操作封装成一个类,然后在主函数中创建一个线程,将摄像头的数据流开在这个线程中。通过标识符控制流的启停和线程的开关。