更新加入料带目标检测,判断料带到位,以及控制滚筒逻辑
This commit is contained in:
111
detect_bagor35bag/README.md
Normal file
111
detect_bagor35bag/README.md
Normal file
@ -0,0 +1,111 @@
|
||||
# RKNN 料袋(bag / bag35)检测与滚筒控制逻辑
|
||||
|
||||
本工程基于 **RKNN 模型** 对流水线上的料袋进行检测与分类(`bag` / `bag35`),
|
||||
并根据检测结果与位置关系判断料袋状态(未到位 / 到位 / 掉出滚筒),
|
||||
最终执行对应的 **滚筒控制逻辑** 或用于 **纯判断测试**。
|
||||
|
||||
---
|
||||
|
||||
## 一、目录结构
|
||||
|
||||
```
|
||||
detect_bagor35bag/
|
||||
├── bag3568.rknn
|
||||
├── detect_bag.py
|
||||
├── main_bag_judgment.py
|
||||
├── test_bag_onlyjudgment_withou-motor-contral.py
|
||||
├── test_image/
|
||||
└── README.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 二、功能说明
|
||||
|
||||
### 料袋检测
|
||||
- RKNN 推理
|
||||
- 支持 `bag` / `bag35` 目标检测
|
||||
- 输出 `cls / conf / min_x` 50kg料包为bag,35kg为bag35;conf是置信度;min_x是判断料包底部距离现在传感器物理位置的距离,未到位是负数,到位后是正数距离
|
||||
|
||||
### 状态判断
|
||||
|
||||
| 状态 | 条件 |
|
||||
|----|----|
|
||||
| 没有料袋 | min_x is None |
|
||||
| 料袋未到位 | min_x < THRESHOLD_X |
|
||||
| 料袋到位 | THRESHOLD_X ≤ min_x ≤ THRESHOLD_maxX |
|
||||
| 料包掉出滚筒 | min_x > THRESHOLD_maxX |
|
||||
|
||||
```python
|
||||
THRESHOLD_X = 537 # 到位阈值
|
||||
THRESHOLD_maxX = 1430 # 掉出滚筒阈值
|
||||
```
|
||||
|
||||
### 滚筒控制规则
|
||||
|
||||
- 未检测 / 未到位 → 不动作
|
||||
- 掉出滚筒 → 停机报警
|
||||
- 到位:
|
||||
- bag → 立即停止滚筒
|
||||
- bag35 → 延时2s → 反转2s → 停止
|
||||
|
||||
---
|
||||
|
||||
## 三、依赖安装(已安装)
|
||||
|
||||
```bash
|
||||
pip install opencv-python numpy rknnlite
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 四、使用方式
|
||||
|
||||
### 主程序(含电机控制)
|
||||
|
||||
```bash
|
||||
python main_bag_judgment.py
|
||||
```
|
||||
|
||||
### 仅判断测试(无电机)
|
||||
|
||||
```bash
|
||||
python test_bag_onlyjudgment_withou-motor-contral.py
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 五、核心接口
|
||||
|
||||
### detect_bag
|
||||
|
||||
```python
|
||||
cls, conf, min_x = detect_bag(img) #不可视化图像
|
||||
cls, conf, min_x, vis_img = detect_bag(img, return_vis=True) #可视化图像
|
||||
```
|
||||
|
||||
### bag_judgment
|
||||
|
||||
```python
|
||||
status_bool, status_text, conf, min_x, vis_img = bag_judgment(img) #不可视化图像+滚筒控制
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 六、状态文本规范
|
||||
|
||||
```
|
||||
没有料袋
|
||||
料袋未到位
|
||||
料袋到位
|
||||
料包掉出滚筒
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 七、说明
|
||||
|
||||
- 检测与控制逻辑解耦
|
||||
- 易于扩展新料袋类型
|
||||
- 支持现场与离线测试
|
||||
|
||||
Reference in New Issue
Block a user