Skip to content

Commit 370bdb3

Browse files
committed
fix: align ci and showcase hardware prototype
1 parent 8ae1cbe commit 370bdb3

15 files changed

Lines changed: 440 additions & 251 deletions

README.md

Lines changed: 338 additions & 218 deletions
Large diffs are not rendered by default.
153 KB
Loading
136 KB
Loading
584 KB
Loading
75.2 KB
Loading
51.6 KB
Loading
40.8 KB
Loading
58.1 KB
Loading

docs/technical-architecture-vi.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,41 @@ flowchart TD
134134

135135
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.
136136

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+
137172
## 6. Mapping 3 thùng
138173

139174
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:

tests/integration/test_agent_api.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1441,6 +1441,8 @@ def test_user_history_and_analytics_are_scoped_to_account_owner(tmp_path, monkey
14411441
"id",
14421442
"ts",
14431443
"cls_name",
1444+
"display_label",
1445+
"label_status",
14441446
"confidence",
14451447
"category",
14461448
"route_label",

0 commit comments

Comments
 (0)