Nâng cao 75-90 phút practiceMiễn phí

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

Robot AI Agent là gì

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:

  1. Quan sát trạng thái hiện tại.
  2. Suy nghĩ theo luật hoặc mô hình đã học.
  3. Hành động lên phần cứng.
  4. 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_ENVIRONMENT và 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ầnChương trình thườngRobot AI agent trong bài
Dữ liệu vàomillis()Nút BOOT, số vòng lặp
Quyết địnhBật/tắt theo thời gianREQUEST_HELP, CHECK_ENVIRONMENT, WAIT_AND_LOG
Hành độngBật LEDBật LED, buzzer, ghi log
Bằng chứngNhìn LEDLog AGENT,... trên Serial

Pin map

Chức năngESP32-S3Thiết bịGhi chú
LED trạng tháiGPIO2LED ngoài hoặc LED onboardSáng khi agent kiểm tra môi trường
BuzzerGPIO15Buzzer activeKêu khi nút BOOT được nhấn
Nút người dùngGPIO0Nút BOOT onboardNhấn là LOW
Serial USBUSBMáy tínhLog 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ầnHành động của bạnbuttondecisionLED/BuzzerNhận xét
1Không nhấn0CHECK_ENVIRONMENT hoặc WAIT_AND_LOG
2Nhấn BOOT1REQUEST_HELP
3Thả BOOT0WAIT_AND_LOG

Giải thích code theo khối

  • AgentPhase mô 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ỗiNguyên nhân hay gặpCách sửa
Không thấy logSai baud hoặc cáp không phải dataChọn 115200, đổi cáp USB
Nhấn BOOT không đổi buttonNhấn quá ngắn hoặc board dùng GPIO khácNhấn giữ 1 giây, kiểm board pinout
Buzzer không kêuBuzzer ngược cực hoặc sai GPIOKiểm chân GPIO15, GND và loại buzzer active
LED không sángThiế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ó