Chọn Computer cho AMR: khi nào Raspberry Pi đủ, khi nào cần Jetson
Atlasbot · 17/8/2026 · 12 phút đọc
Bài Kiến trúc phần cứng đã nhắc SBC (Jetson, Raspberry Pi) là lựa chọn phổ biến cho "bộ não" AMR chạy ROS2. Câu hỏi thực tế khi thiết kế: chọn loại nào? Ba dự án showcase của trang này (xem Robot Mecanum, Diff Robot, Atlas A2) là ví dụ trực tiếp cho quyết định này.
Khái niệm chính
Hai lựa chọn thực tế đã dùng trong các dự án showcase của trang này, đại diện cho 2 mức nhu cầu tính toán khác nhau:
- Raspberry Pi 4 — đủ cho SLAM + Nav2 thuần tuý, CPU thuần không cần GPU
- Jetson Orin Nano — cần thiết khi thêm AI thị giác thời gian thực (YOLO object detection) chạy song song
Câu hỏi quyết định không phải "robot của tôi cần mạnh tới đâu" một cách chung chung, mà cụ thể hơn: có tác vụ nào cần GPU (deep learning, xử lý ảnh nặng) chạy song song với SLAM/Nav2 hay không?
Nguyên lý hoạt động
Robot Mecanum và Diff Robot (showcase của trang này) đều dùng Raspberry Pi 4 chạy ROS2, xử lý SLAM (Cartographer/SLAM Toolbox) và Nav2 — hoàn toàn ổn định trên CPU thuần. Đây là mức tải tính toán "chuẩn" của một AMR cơ bản: xử lý dữ liệu LiDAR (mảng 1D nhẹ), tính toán costmap, chạy thuật toán path planning — tất cả đều là các phép toán CPU truyền thống, không đòi hỏi xử lý song song hàng loạt như deep learning.
Atlas A2 (showcase của trang này) nâng cấp lên Jetson Orin Nano — không phải "mạnh hơn cho chắc", mà vì dự án thêm YOLOv8 object detection qua camera chạy song song với SLAM/Nav2. Suy luận (inference) một mô hình deep learning theo thời gian thực đòi hỏi xử lý hàng triệu phép tính song song mỗi giây — đúng loại việc GPU (đặc biệt GPU CUDA như trên Jetson) làm nhanh hơn CPU hàng chục đến hàng trăm lần.
Dù chọn Raspberry Pi 4 hay Jetson, cả hai đều không thay thế được MCU (STM32/ESP32) cho vòng điều khiển động cơ thời gian thực (đã nói ở bài PID trong hệ thống điều khiển robot) — SBC chạy Linux không phải hệ điều hành thời gian thực, độ trễ không xác định theo kiểu MCU. Kiến trúc chuẩn luôn là SBC (SLAM/Nav2/AI) + MCU (điều khiển động cơ realtime) phối hợp, không phải chọn một trong hai.
Kiến thức kỹ thuật
Công thức
Chọn SBC mạnh hơn đi kèm chi phí tiêu thụ điện cao hơn — ảnh hưởng trực tiếp tới thời gian hoạt động pin, cần cân nhắc cùng lúc với quyết định chọn compute:
ΔP = P_Jetson − P_Raspberry_Pi4 (điển hình ~15W so với ~7W dưới tải, ΔP ≈ 8W)
Với cùng dung lượng pin, thời gian hoạt động giảm theo tỉ lệ:
Thời_gian_mới = Thời_gian_cũ × P_tổng_cũ / (P_tổng_cũ + ΔP)
VD: P_tổng ban đầu (không SBC) 70W, thời gian hoạt động 2 giờ với RPi4 (P_tổng=77W)
→ Thêm Jetson (P_tổng=85W): Thời_gian_mới = 2 × 77/85 ≈ 1.81 giờ
Thông số
| Tiêu chí | Raspberry Pi 4 | Jetson Orin Nano |
|---|---|---|
| CPU | 4 nhân ARM Cortex-A72 | 6 nhân ARM Cortex-A78AE |
| GPU | Không có GPU tính toán chung (CUDA) | GPU Ampere, hỗ trợ CUDA |
| Phù hợp | SLAM + Nav2 thuần tuý | SLAM + Nav2 + YOLO/AI thị giác cùng lúc |
| Giá tham khảo | Thấp hơn nhiều | Cao hơn đáng kể |
| Tiêu thụ điện | Thấp (~5-7W tải bình thường) | Cao hơn (~10-15W tải AI) |
Ứng dụng thực tế
Raspberry Pi 4 và Jetson Orin Nano chỉ là hai điểm dữ liệu cụ thể từ các dự án showcase — hệ sinh thái SBC còn nhiều lựa chọn khác (Jetson Nano cũ hơn/rẻ hơn, Jetson Orin NX mạnh hơn, các board Rockchip có NPU riêng...) với đánh đổi tương tự: càng nhiều khả năng xử lý AI song song, giá và tiêu thụ điện càng tăng. Nguyên tắc chọn vẫn không đổi — xác định rõ tác vụ tính toán thực tế cần chạy trước, rồi mới chọn phần cứng đủ đáp ứng, thay vì chọn dư thừa "cho chắc" và trả giá bằng thời gian hoạt động pin ngắn hơn không cần thiết.
Ví dụ thực tế
So sánh 2 kịch bản cho cùng một AMR, pin dung lượng cố định 10Ah ở 12V (120Wh):
Kịch bản 1 (chỉ SLAM+Nav2, không cần AI thị giác):
P_tổng với Raspberry Pi 4 ≈ 77W → thời gian hoạt động ≈ 120/77 ≈ 1.56 giờ
Kịch bản 2 (chọn nhầm Jetson "cho chắc" dù không dùng AI):
P_tổng với Jetson Orin Nano ≈ 85W → thời gian hoạt động ≈ 120/85 ≈ 1.41 giờ
Chênh lệch: mất ~9% thời gian hoạt động, tốn thêm chi phí mua SBC,
mà không thu được lợi ích gì vì không có tác vụ AI nào thực sự cần GPU
Lỗi thường gặp
- Chọn Jetson "cho chắc" dù không có tác vụ AI thực sự cần GPU — như ví dụ trên, trả giá bằng chi phí và thời gian hoạt động pin ngắn hơn mà không thu được lợi ích tương xứng.
- Chọn Raspberry Pi cho robot cần AI thị giác thời gian thực — CPU thuần không đủ nhanh chạy inference deep learning song song với SLAM/Nav2, gây giật/trễ nghiêm trọng.
- Quên rằng SBC không thay thế được MCU — dù chọn SBC nào, vòng điều khiển động cơ thời gian thực vẫn cần chạy trên MCU riêng, không thể "gộp" vào SBC chạy Linux.
- Không tính tiêu thụ điện của SBC vào ngân sách công suất tổng khi chọn pin — như tính ở mục Công thức, chênh lệch công suất giữa các lựa chọn SBC ảnh hưởng trực tiếp thời gian hoạt động, cần tính cùng lúc với bài Tính Battery tiếp theo, không tách rời.
Kết luận
Chọn SBC là bài toán khớp đúng tác vụ tính toán thực tế (có cần GPU cho AI hay không) với phần cứng, không phải chọn theo "càng mạnh càng an toàn" — cái giá phải trả cho sức mạnh dư thừa là chi phí và thời gian hoạt động pin ngắn hơn. Bài Tính Battery tiếp theo dùng chính công suất tiêu thụ của SBC vừa chọn ở đây làm một trong các thành phần đầu vào để tính dung lượng pin cần thiết cho toàn hệ thống.