摄像头模块
CoCube 固件里提供两套摄像头模块:
cocube_sengo1cocube_sengo2
两者都通过 I2C 接入,初始化后会占用相关资源,并让 cocube_module 切换到摄像头模式。
快速选择
- Sengo1:更适合基础视觉任务 颜色、色块、卡片、巡线、二维码、球检测
- Sengo2:更适合进阶视觉任务 AprilTag、深度学习、20 类物体识别、运动检测
共同点
- 都需要先
init() - 都需要先
change_algo(...)再调用对应读取函数 init()会打开模块电源,并把cocube_module切到摄像头模式- 都支持颜色识别、色块检测、巡线、卡片、人脸、二维码
主要区别
| 功能 | Sengo1 | Sengo2 |
|---|---|---|
| 颜色识别 | ✅ | ✅ |
| 色块检测 | ✅ | ✅ |
| 巡线检测 | ✅ | ✅ |
| 卡片识别 | ✅ | ✅ |
| 人脸识别 | ✅ | ✅ |
| 二维码识别 | ✅ | ✅ |
| 球检测 | ✅ | ❌ |
| AprilTag | ❌ | ✅ |
| 深度学习分类 | ❌ | ✅ |
| 20 类物体识别 | ❌ | ✅ |
| 运动检测 | ❌ | ✅ |
继续查看
一个重要提醒
摄像头相关函数通常和“当前算法”强绑定。
如果没有先切换到正确算法,模块会直接报错,而不是静默返回空结果。
另外,init() 之后摄像头会占用相关资源,夹爪和部分扩展模块的控制方式也会随之变化。
所以课程里最稳妥的顺序通常是:
init()change_algo(...)- 先打印结果
- 再把结果映射成动作