Robot AI Agent là gì
Bài 2 trong khóa Robot Thế hệ 5 — Robot AI đa giác quan và bộ não thông minh

G5 01 - Robot AI Agent là gì
Linh kiện cần chuẩn bị
- 1 ESP32-S3 DevKit.
- 1 LED trạng thái nối GPIO2.
- 1 buzzer active 3.3V nối GPIO15.
- Nút BOOT có sẵn trên board, dùng GPIO0 với
INPUT_PULLUP. - Breadboard nhỏ, điện trở 220 ohm cho LED, dây jumper.
- Máy tính cài Arduino IDE, cáp USB data, Serial Monitor 115200 baud.
Code bài này chỉ dùng ESP32-S3, LED, buzzer và nút BOOT. Raspberry Pi 5 hoặc Jetson sẽ xuất hiện trong các bài sau như bộ não AI mạnh hơn; bài đầu tiên cần làm rõ vòng lặp agent bằng phần cứng đơn giản và log thật.
Bài này giúp bạn làm được gì?
Một robot AI agent không phải là robot "biết mọi thứ". Ở mức dễ hiểu, agent là một hệ thống biết lặp lại bốn việc:
- Quan sát trạng thái hiện tại.
- Suy nghĩ theo luật hoặc mô hình đã học.
- Hành động lên phần cứng.
- Xem lại kết quả và ghi log.
Kết quả cuối bài:
- ESP32-S3 chạy vòng lặp
OBSERVE -> THINK -> ACT -> REVIEW. - Nhấn nút BOOT làm agent quyết định
REQUEST_HELP. - Cứ vài vòng, agent quyết định
CHECK_ENVIRONMENTvà bật LED. - Buzzer kêu khi agent nhận thấy người dùng cần trợ giúp.
- Serial Monitor có log đủ để giải thích vì sao agent hành động.
Agent khác chương trình thường ở điểm nào?
Một chương trình thường có thể chỉ bật LED theo thời gian. Agent cần thêm "ngữ cảnh" và "lý do". Ví dụ:
| Thành phần | Chương trình thường | Robot AI agent trong bài |
|---|---|---|
| Dữ liệu vào | millis() | Nút BOOT, số vòng lặp |
| Quyết định | Bật/tắt theo thời gian | REQUEST_HELP, CHECK_ENVIRONMENT, WAIT_AND_LOG |
| Hành động | Bật LED | Bật LED, buzzer, ghi log |
| Bằng chứng | Nhìn LED | Log AGENT,... trên Serial |
Pin map
| Chức năng | ESP32-S3 | Thiết bị | Ghi chú |
|---|---|---|---|
| LED trạng thái | GPIO2 | LED ngoài hoặc LED onboard | Sáng khi agent kiểm tra môi trường |
| Buzzer | GPIO15 | Buzzer active | Kêu khi nút BOOT được nhấn |
| Nút người dùng | GPIO0 | Nút BOOT onboard | Nhấn là LOW |
| Serial USB | USB | Máy tính | Log agent |
Code mẫu hoàn chỉnh
Mở sketch:
code/g5-01-robot-ai-agent-la-gi/g5-01-robot-ai-agent-la-gi.ino
Đoạn xương sống:
if (phase == OBSERVE) {
observe();
phase = THINK;
} else if (phase == THINK) {
think();
phase = ACT;
} else if (phase == ACT) {
act();
phase = REVIEW;
} else {
review();
phase = OBSERVE;
}
Mỗi phase có log riêng. Khi debug robot AI, bạn cần biết robot đang kẹt ở quan sát, suy nghĩ, hành động hay đánh giá lại.
Thực hành từng bước
Bước 1: Upload và xem vòng lặp agent
Upload code, mở Serial Monitor 115200 baud. Bạn sẽ thấy:
G5-01 ready: AI agent loop on real ESP32-S3 I/O
AGENT,PHASE,OBSERVE
AGENT,OBSERVE,button=0,loop=0
AGENT,PHASE,THINK
AGENT,THINK,decision=CHECK_ENVIRONMENT
AGENT,PHASE,ACT
AGENT,ACT,led=1,buzzer=OFF
AGENT,PHASE,REVIEW
AGENT,REVIEW,decision=CHECK_ENVIRONMENT,result=logged
Đây là bằng chứng agent đang đi qua đủ bốn bước.
Bước 2: Nhấn BOOT để tạo sự kiện người dùng
Nhấn giữ nút BOOT trong khoảng 1 giây. Log đúng:
AGENT,OBSERVE,button=1,loop=...
AGENT,THINK,decision=REQUEST_HELP
AGENT,ACT,led=0,buzzer=BEEP
Buzzer kêu vì agent hiểu "người dùng cần trợ giúp".
Bước 3: Ghi bảng quan sát
| Lần | Hành động của bạn | button | decision | LED/Buzzer | Nhận xét |
|---|---|---|---|---|---|
| 1 | Không nhấn | 0 | CHECK_ENVIRONMENT hoặc WAIT_AND_LOG | ||
| 2 | Nhấn BOOT | 1 | REQUEST_HELP | ||
| 3 | Thả BOOT | 0 | WAIT_AND_LOG |
Giải thích code theo khối
AgentPhasemô tả agent đang ở bước nào.observe()đọc nút BOOT và số vòng lặp.think()biến dữ liệu quan sát thành quyết định.act()tác động lên LED hoặc buzzer.review()ghi lại quyết định để vòng sau có lịch sử.
Lỗi thường gặp và cách sửa
| Lỗi | Nguyên nhân hay gặp | Cách sửa |
|---|---|---|
| Không thấy log | Sai baud hoặc cáp không phải data | Chọn 115200, đổi cáp USB |
Nhấn BOOT không đổi button | Nhấn quá ngắn hoặc board dùng GPIO khác | Nhấn giữ 1 giây, kiểm board pinout |
| Buzzer không kêu | Buzzer ngược cực hoặc sai GPIO | Kiểm chân GPIO15, GND và loại buzzer active |
| LED không sáng | Thiếu điện trở hoặc ngược cực | Đổi chiều LED, kiểm GPIO2 |
Checklist debug nhanh
- Có dòng
G5-01 ready. - Log đi đủ
OBSERVE,THINK,ACT,REVIEW. - Nhấn BOOT tạo
REQUEST_HELP. - LED và buzzer phản hồi đúng quyết định.
- Bạn giải thích được một dòng log bất kỳ.
Thử thách nhỏ
Thêm một quyết định mới: nếu loopCount % 6 == 0, agent in SELF_CHECK. Không cần thêm phần cứng. Mục tiêu là hiểu cách thêm một hành vi mà vẫn giữ cấu trúc agent rõ ràng.
Checklist hoàn thành
- Agent loop chạy trên ESP32-S3 thật.
- Có log chứng minh từng phase.
- Có bảng quan sát ít nhất 3 lần.
- Học viên giải thích được "agent = quan sát + suy nghĩ + hành động + xem lại".
- Sẵn sàng sang G5 02 để gắn vòng lặp này vào robot có cảm biến và motor.
Bài tiếp theo
G5 02 sẽ biến ý tưởng agent thành robot thật: robot đọc HC-SR04, nghĩ xem phía trước có an toàn không, chạy motor hoặc quay tránh, rồi ghi log Sense-Think-Act.
Điều hướng bài học
Bài tiếp theo: G5 02 - Kiến trúc Sense Think Act
Bài trước: Không có