Bản tiếng Việt xuất bản 31/10/2026. Ngày tài liệu gốc được ghi riêng; bản dịch không biến release cũ thành tin mới. Mốc sửa nội dung:
Phạm vi hướng dẫn
Hướng dẫn độc lập dựa trên tài liệu gốc. Demo thuộc tác giả nguồn; trang chưa lắp, boot image hay thử robot thật. Mỗi bước có liên kết gốc.
1. Chuẩn bị một bộ linh kiện cùng lộ trình
- Cần Pi Zero2W, OpenRB-150,14 XL330-M288-T, BNO080/085/086, microSD tối thiểu16 GB, công tắc và nguồn phù hợp. Servo miệng là tùy chọn ID15.
- Thêm đầu đọc, cáp USB dữ liệu, đồng hồ vạn năng, tua vít nhỏ, vít M2/M2.5 và dây cách điện. Kiểm tra định mức giắc/nguồn trước mua; HD1910 dùng bộ khác.
Trước khi tiếp tục
Đã nhận diện từng bo, servo, giắc và nguồn.
2. Kiểm tra tệp in và phân loại
- Lấy microduck3D打印.3mf ở thư mục gốc nguồn cố định. Xem mọi plate bằng slicer, tham khảo video về hướng đặt và PLA theo tài liệu.
- Đường microduck/cad cũ trong README đã bị xóa. Dùng liên kết3MF thực tế, không thay bằng mesh mô phỏng. Gỡ support, thử khít một servo trước.
Trước khi tiếp tục
Phần trái/phải riêng, lỗ lắp không phải ép.
3. Đặt ID từng servo riêng
- Chỉ nối một servo chưa lắp vào giao diện có nguồn tương thích. Dynamixel Wizard2.0: Protocol2.0, scan baud thực tế, đặt ID rồi1 Mbps và Return Delay Time0. Scan lại và dán nhãn.
- Phải ankle/knee/hip pitch/roll/yaw là1–5, trái6–10;11 head pitch,12 neck pitch,13 head yaw,14 head roll. Không tắt bảo vệ để che lỗi điện áp.
Trước khi tiếp tục
14 ID duy nhất trả lời ở1 Mbps.
4. Căn tâm rồi mới lắp horn
- Đưa trục trống về center bằng Wizard, tắt torque rồi ngắt nguồn. Giữ vị trí khi căn horn theo mốc cơ khí gốc.
- Lắp idler và vít đúng loại; vít horn không chọc vào bánh răng, idler không bị siết kẹt. Kiểm tra chuyển động bằng tay khi mất nguồn.
Trước khi tiếp tục
Mọi khớp căn đúng và quay tự do trong giới hạn.
5. Lắp bàn chân, chân rồi thân
- Bắt đầu ankle phải1/trái6, sau đó knee2/7, hip pitch3/8, roll4/9, yaw5/10. Trái/phải tính theo robot.
- Nối hông, thân, khung pin. Luồn dây trước siết nắp, kiểm tra kéo căng/kẹp dây suốt hành trình. Đối chiếu vị trí vít trong video/bài gốc.
Trước khi tiếp tục
Đúng thứ tự ID, không kẹp hoặc kéo dây.
6. Lắp cổ, đầu và điện tử
- Đối chiếu exploded view cho11–14, lắp Pi, OpenRB, IMU. Giữ hướng IMU của đúng lộ trình, không lấy rotation từ robot khác.
- Để tiếp cận USB, microSD và công tắc. Cố định bo, bọc tiếp điểm hở, kiểm tra chuyển động đầu trước đóng vỏ.
Trước khi tiếp tục
Bo chắc, đầu không kéo căng cáp.
7. Đo các đường nguồn
- Rút pin. Nối Pi–OpenRB bằng USB dữ liệu, nối bus XL330 theo pinout nhà sản xuất. Pi cần5 V ổn áp; kiểm tra ground chung và chọn nguồn OpenRB.
- XL330 cho phép3.7–6.0 V, khuyến nghị5.0 V. Đo cả mức tối đa lúc pin đầy, không chỉ đọc nhãn. Không cấp pin2S trực tiếp vào XL330 hoặc Pi; giữ bảo vệ điện áp.
Trước khi tiếp tục
Đã đo đúng cực, thông mạch và hai mức nguồn.
8. Đấu IMU và kiểm tra cách điện
- Kiểm tra định mức BNO08x rồi nối Pi3.3 V,GND,SDA GPIO2/chân vật lý3,SCL GPIO3/chân5. Phân biệt VIN và3V3 trên module.
- Dây I²C ngắn, hướng gắn chắc, mối hàn rõ. Ảnh placeholder không xác định thứ tự chân; giữ vỏ dễ mở khi kiểm tra đầu.
Trước khi tiếp tục
Không chập, đảo giắc hoặc sensor lỏng.
9. Kiểm hash rồi ghi image
- Tải microduck.img.xz từ image.v1 của tác giả. Tính SHA-256 và so giá trị dưới; đó là checksum nhà phát hành, không phải trang đã boot thử.
- Raspberry Pi Imager: Pi Zero2W → Use custom → image → đúng thẻ. Không OS customization cho image này; write/verify rồi tháo an toàn. Thẻ được chọn sẽ bị xóa.
SHA-256: 096885dc32fb5b1db2ad69ba6bea868d8ab988f2b47c0d884eb63ba0dfdcb5c4shasum -a 256 microduck.img.xzTrước khi tiếp tục
Checksum khớp, Imager xác minh thành công.
10. Wi-Fi2.4 GHz và đăng nhập đầu
- Sửa bootfs/network-config với country code, SSID, mật khẩu, giữ thụt dòng YAML. Pi này dùng2.4 GHz, lời khuyên5 GHz của KISS không áp dụng. Màn hình/bàn phím và nmcli là cách thay thế được nêu.
- Đợi1–3 phút lần boot đầu. Dùng microduck.local hoặc IP router. Tài khoản image user/password phải đổi ngay bằng passwd; máy tính cùng mạng.
ssh user@microduck.local
passwdTrước khi tiếp tục
SSH bằng mật khẩu mới và IP đã biết.
11. Kiểm bus, hướng và model
- Trước chuyển động, xem serial device và đủ ID. Khi controller dừng, kiểm I²C bus1; BNO08x thường0x4a/0x4b nhưng địa chỉ không chứng minh đúng hướng.
- Khớp mounting với IMU_MOUNT_QUAT và joint offsets, nhất là gối. Dùng walk.onnx của image này. Sửa ID thiếu, khớp ngược hoặc IMU sai trước torque.
ls /dev/serial/by-id/
i2cdetect -y 1Trước khi tiếp tục
Servo, căn cơ khí, sensor và model cùng bộ.
12. Đi ngắn, dừng và tắt máy
- Đỡ robot ở chỗ trống trước chạy lệnh dưới: startup bật torque và về neutral. Pose đúng mới thử v và phím mũi tên nhỏ; x đưa tốc độ0,q dừng loop,i bật/tắt IMU info.
- Cần thì chạy src/stop.py từ SSH thứ hai. sudo shutdown -h now, chờ xong mới cắt nguồn. Gamepad mode của image tắt Wi-Fi khi pad nối; ngắt pad để SSH trở lại. Ghi phiên bản và kết quả thực tế.
Chạy trên Pi
cd ~/microduck
PYTHONPATH=src .venv/bin/python src/main.pyDừng từ SSH thứ hai
cd ~/microduck
PYTHONPATH=src .venv/bin/python src/stop.pyTắt Pi
sudo shutdown -h nowTrước khi tiếp tục
Dừng tin cậy; sửa chuyển động lạ hoặc reset nguồn trước thử lại.
Tiếp tục lắp
Nguồn và ngày kiểm tra
Bản nguồn được kiểm tra 30 tháng 10, 2026 · Đã kiểm tra nguồn
- Nguồn gốc 1 · github.com / README.md ↗
- Nguồn gốc 2 · github.com / microduck3D打印.3mf ↗
- Nguồn gốc 3 · www.youtube.com / watch ↗
- Nguồn gốc 4 · github.com / README.md ↗
- Nguồn gốc 5 · github.com / README.md ↗
- Nguồn gốc 6 · emanual.robotis.com / xl330-m288 ↗
- Nguồn gốc 7 · emanual.robotis.com / openrb-150 ↗
- Nguồn gốc 8 · github.com / README.md ↗
- Nguồn gốc 9 · github.com / image.v1 ↗
- Nguồn gốc 10 · github.com / main.py ↗
- Nguồn gốc 11 · github.com / stop.py ↗