You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/technical-architecture-vi.md
+35Lines changed: 35 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -134,6 +134,41 @@ flowchart TD
134
134
135
135
Các guard này giải thích phần lớn câu hỏi kiểu “nhận diện đúng mà không đổ”. Khi UI ghi `TEST OFF`, `UART OFF`, `outside ROI`, `waiting empty tray`, `low confidence`, `many objects`, hoặc `ACK pending`, tức là AI đã thấy vật nhưng pipeline cố tình không gửi lệnh để tránh đổ sai.
136
136
137
+
### 5.1. State machine của một lượt đổ
138
+
139
+
```mermaid
140
+
stateDiagram-v2
141
+
[*] --> Idle
142
+
Idle --> Detecting: camera frame mới
143
+
Detecting --> Reviewing: có detection hợp lệ
144
+
Reviewing --> Blocked: guard fail
145
+
Reviewing --> ReadyToDispatch: guard pass
146
+
Blocked --> Detecting: frame tiếp theo
147
+
ReadyToDispatch --> Dispatching: gửi UART + phát loa
148
+
Dispatching --> AckPending: chờ firmware
149
+
AckPending --> Settling: ACK
150
+
AckPending --> Error: NACK hoặc timeout
151
+
Settling --> WaitingEmptyTray: servo về HOME
152
+
WaitingEmptyTray --> Idle: khay trống / re-arm
153
+
Error --> Idle: reset trạng thái lượt
154
+
```
155
+
156
+
Một lượt chỉ được xem là xong khi có ACK/timeout và khay được re-arm. Đây là lý do hệ thống không nên nhận lượt thứ hai ngay lập tức sau khi vừa đổ: servo, khay và camera cần thời gian ổn định để tránh đổ nhầm vật cũ hoặc bóng/rung.
157
+
158
+
### 5.2. Quy trình vận hành thực tế
159
+
160
+
1. Mở desktop app hoặc `Trash Sorter Pro.lnk`.
161
+
2. Kiểm tra thanh trạng thái có `Camera`, `Model`, `UART` xanh nếu muốn chạy máy thật.
162
+
3. Kiểm tra ROI phủ đúng vùng khay trắng, không lấy quá nhiều cạnh lồng/cạnh khay.
163
+
4. Chọn đúng loa: `Loa phần cứng` hoặc `Loa laptop`.
164
+
5. Bật camera, đặt một vật duy nhất vào khay.
165
+
6. Nếu chỉ muốn kiểm tra nhận diện, để `TEST OFF`.
166
+
7. Nếu muốn đổ thật, bật phân loại tự động/Actuation Test Mode sau khi ROI và UART sẵn sàng.
167
+
8. Chờ app hiển thị nhãn ổn định rồi mới để hệ thống gửi lệnh.
168
+
9. Sau khi đổ, lấy vật khỏi khay và chờ trạng thái re-arm trước vật tiếp theo.
169
+
170
+
Nguyên tắc vận hành với camera mờ: đặt vật đủ xa camera, tránh sát mép khung, tránh bỏ hai vật cùng lúc, và ưu tiên chụp/duyệt mẫu thật khi class nào đó nhận diện không ổn định.
171
+
137
172
## 6. Mapping 3 thùng
138
173
139
174
Runtime vẫn nhận diện nhiều class chi tiết, nhưng phần cứng chỉ cần 3 nhóm vận hành:
0 commit comments