Khi Robot Học Chơi Ping-Pong Ở Trình Độ Người
Hãy tưởng tượng một quả bóng bàn bay qua lưới với tốc độ hơn 10 m/s, xoay tròn ở tần số hàng chục vòng mỗi giây, và hạ cánh xuống bàn trong chưa đầy nửa giây. Bộ não con người xử lý toàn bộ chuỗi phản xạ này — từ nhận diện quỹ đạo, ra lệnh cơ bắp, đến thực thi cú đánh — gần như tức thì. Với robot, đây là bài toán cực kỳ khó: tốc độ cao, thời gian phản ứng cực ngắn, vật lý phức tạp, và đối thủ liên tục thay đổi chiến thuật.
Tháng 8 năm 2024, nhóm nghiên cứu Google DeepMind công bố paper "Achieving Human Level Competitive Robot Table Tennis" — kết quả của nhiều năm nghiên cứu về robot ping-pong. Đây là lần đầu tiên một robot học được có thể thi đấu bóng bàn ở trình độ tương đương con người nghiệp dư, giành chiến thắng 13/29 trận, đánh bại 100% người chơi sơ cấp và 55% người chơi nghiệp dư. Paper được trình bày chính thức tại ICRA 2025 ở Atlanta.
Bài viết này sẽ giải mã toàn bộ hệ thống — từ phần cứng, kiến trúc thuật toán, cách huấn luyện, đến kết quả thực tế và bài học có thể áp dụng cho các dự án robotics khác.
Tại Sao Ping-Pong Là Benchmark Lý Tưởng cho Robotics?
Trước khi đi vào kỹ thuật, hãy hiểu tại sao bóng bàn lại được chọn làm bài toán benchmark cho robot thay vì các nhiệm vụ công nghiệp thông thường.
Tốc độ và độ trễ cực thấp: Quả bóng di chuyển từ bên này sang bên kia bàn (khoảng 2.7m) trong khoảng 200–300ms. Robot phải nhận diện quỹ đạo, tính toán điểm đánh, lập kế hoạch chuyển động tay, và thực thi — tất cả trong cửa sổ thời gian đó. Đây là thử thách real-time cực đoan.
Vật lý phi tuyến: Quả bóng xoáy (topspin, backspin, sidespin) thay đổi quỹ đạo sau khi nảy bàn theo cách rất khó mô hình hóa. Không có phương trình đơn giản nào mô tả chính xác mọi tình huống.
Tính thích nghi với đối thủ: Người chơi khác nhau có điểm mạnh, điểm yếu, và chiến thuật riêng. Robot phải học cách "đọc" đối thủ và điều chỉnh chiến lược trong thời gian thực.
Môi trường mở: Không giống pick-and-place trong nhà máy, môi trường bóng bàn thay đổi liên tục — ánh sáng khác nhau, bóng mòn, tốc độ lưới gió, sai số cơ học tích lũy...
Đây là lý do ping-pong là benchmark hoàn hảo để kiểm tra giới hạn của robot learning.
Phần Cứng: Robot 8 Bậc Tự Do
DeepMind không tự chế robot từ đầu. Họ kết hợp hai hệ thống công nghiệp để tạo ra setup linh hoạt:
ABB IRB 1100 — cánh tay robot công nghiệp 6 bậc tự do (DoF), có thể quay khớp tới 420–600 độ/giây với độ lặp lại 0.01mm. Đây là cánh tay xử lý cú swing thực sự.
Festo Linear Gantry — hai thanh trượt tuyến tính:
- Trục X (ngang): dài 4m, di chuyển dọc theo bàn để cover toàn bộ chiều rộng
- Trục Y (sâu): dài 2m, di chuyển vào/ra khỏi bàn
Tổng cộng hệ thống có 8 DoF: 6 (cánh tay) + 2 (gantry). Paddle được in 3D và gắn vào đầu cánh tay với lớp cao su short-pips tiêu chuẩn.
Tại sao dùng gantry thay vì robot di động? Vì độ chính xác và tốc độ. Linear gantry có thể di chuyển nhanh và chính xác hơn bất kỳ wheeled base nào trong không gian hạn chế của một bàn ping-pong.
Perception: Hệ thống sử dụng camera stereo tốc độ cao để track quả bóng theo thời gian thực, xuất ra trạng thái bóng (vị trí 3D, vận tốc, và ước lượng spin) ở tần số cao. Đây là dữ liệu đầu vào thực tế từ thế giới thật — không phải từ simulation.
Kiến Trúc: Hierarchical Policy — LLC và HLC
Đây là phần kỹ thuật quan trọng nhất của paper. DeepMind thiết kế kiến trúc phân cấp hai tầng để giải quyết sự phức tạp của bóng bàn:
Tầng 1: Low-Level Controllers (LLC)
Mỗi LLC là một policy chuyên biệt cho một kỹ thuật đánh cụ thể. Ví dụ:
- Forehand topspin drive — đánh xoáy lên phía trước
- Backhand push — đẩy bóng bằng mặt sau vợt
- Forehand serve — giao bóng phong forehand
- Backhand counter — phản công backhand
Mỗi LLC đi kèm với skill descriptor — một bản mô tả định lượng về khả năng và giới hạn của kỹ thuật đó. Ví dụ: "LLC này hiệu quả nhất khi bóng đến từ góc phải, tốc độ trung bình, nhưng kém chính xác khi bóng có backspin mạnh."
Skill descriptor không chỉ là metadata tĩnh — chúng được cập nhật online dựa trên kết quả thực tế trong khi chơi.
Tầng 2: High-Level Controller (HLC)
HLC là "bộ não chiến lược" quyết định kỹ thuật nào sẽ được dùng cho mỗi quả bóng đến. Quy trình:
- Phân loại tình huống — Forehand hay Backhand? Dựa vào vị trí bóng sắp đến.
- Shortlist LLCs — Dùng tree-search và heuristics để lọc các LLC phù hợp từ skill descriptors.
- Phân tích đối thủ — Dùng Opponent Statistics (điểm mạnh/yếu thu thập được trong trận) để ưu tiên các kỹ thuật có xác suất ghi điểm cao nhất.
- H-values — HLC duy trì một bảng ưu tiên động (H-values) cho từng LLC, cập nhật liên tục dựa trên kết quả từng điểm.
Ví dụ thực tế: nếu đối thủ xử lý kém các quả có topspin mạnh ở cánh trái, HLC sẽ tăng H-value cho LLC forehand-topspin-cross-court và chọn nó thường xuyên hơn.
[Đối thủ đánh bóng]
↓
[Perception System]
(Ball state 3D)
↓
[High-Level Controller - HLC]
(Phân tích đối thủ + Tree search)
↓
┌─────────────────────────────────┐
│ Chọn LLC tối ưu từ danh sách │
└─────────────────────────────────┘
↓
[Low-Level Controller được chọn]
(Tính toán quỹ đạo cánh tay + paddle)
↓
[Thực thi chuyển động]
Training Pipeline: Từ Simulation Đến Thực Tế
Đây là phần mà nhiều bạn sẽ tự hỏi: làm sao train robot trong simulation mà vẫn hoạt động tốt ngoài đời thật?
Blackbox Gradient Sensing (BGS)
DeepMind dùng BGS — một phương pháp tối ưu hóa zero-order (không cần gradient từ backpropagation) — để train các LLC trong simulation. Tại sao không dùng PPO hay SAC thông thường?
Vì môi trường bóng bàn có:
- Sparse rewards — chỉ biết thắng/thua sau nhiều bước
- Dynamics không liên tục — va chạm bóng-mặt vợt rất khó differentiable
- High-dimensional action space — điều khiển 8 DoF đồng thời
BGS hoạt động bằng cách sample nhiều perturbation nhỏ quanh policy hiện tại, đánh giá reward của từng perturbation, rồi ước lượng gradient và cập nhật. Tốc độ hội tụ chậm hơn gradient-based nhưng ổn định hơn nhiều với bài toán này.
Iterative Sim-to-Real và Task Curriculum
Pipeline huấn luyện là một vòng lặp tự cải thiện:
- Seed ban đầu — Thu thập một lượng nhỏ data từ trận đấu người-người để định nghĩa task distribution ban đầu.
- Train trong sim — Dùng BGS train LLC trong simulation với task distribution đó.
- Deploy zero-shot — Transfer trực tiếp policy lên robot thật, không fine-tune.
- Chơi với người — Robot thi đấu với người chơi thật, thu thập game states.
- Cập nhật task distribution — Thêm các situation robot thất bại vào training distribution.
- Lặp lại — Quay về bước 2 với distribution mới.
Kỹ thuật "zero-shot sim-to-real" được hiện thực bằng skill descriptors — thay vì cố gắng mô phỏng physics hoàn hảo (không thể), team chọn cách mô tả giới hạn của mỗi LLC một cách tường minh để HLC biết "không nên nhờ LLC này khi bóng đến theo cách X".
Đây là insight quan trọng: thay vì giảm sim-to-real gap, họ cho robot biết về gap đó.
Làm Thế Nào Robot Biết Bóng Đang Ở Đâu?
Hệ thống vision dùng camera stereo tốc độ cao để triangulate vị trí 3D của quả bóng. Từ chuỗi vị trí đó, một Kalman Filter ước lượng vận tốc và xoay (spin). State đầy đủ bao gồm:
- Vị trí 3D
(x, y, z) - Vận tốc
(vx, vy, vz) - Ước lượng spin vector
(ωx, ωy, ωz)
State này được cập nhật liên tục và đưa vào HLC để quyết định chiến thuật, rồi vào LLC để tính toán chuyển động cánh tay.
Kết Quả: Thắng 100% Người Sơ Cấp, 55% Nghiệp Dư
Để đánh giá, DeepMind tổ chức 29 trận đấu với người chơi ở ba cấp độ khác nhau:
| Cấp độ đối thủ | Số trận | Kết quả robot |
|---|---|---|
| Sơ cấp (Beginner) | ~10 | 100% thắng |
| Nghiệp dư (Amateur) | ~14 | ~55% thắng |
| Nâng cao (Advanced) | ~5 | 0% thắng |
| Tổng | 29 | 13 thắng / 29 |
Một số điểm thú vị:
- Robot phát triển style chơi nhận ra được — thích đặt bóng vào một số góc nhất định, và có xu hướng chơi an toàn hơn khi dẫn điểm.
- Robot không có forehand topspin mạnh như người chơi nâng cao, đây là điểm yếu lớn nhất.
- Đối thủ nghiệp dư phản hồi rằng robot "đánh giống người mới học", nhất quán nhưng thiếu creativity.
GitHub repo chính thức của paper: google-deepmind/competitive_robot_table_tennis — chứa code, model weights, và video demo.
AIMY: Ball Launcher Mã Nguồn Mở để Train Ping-Pong Robot
Bạn không cần có ABB IRB 1100 để bắt đầu nghiên cứu bóng bàn robotics. Max Planck Institute for Intelligent Systems đã phát triển AIMY — một thiết bị phóng bóng bàn mã nguồn mở.
Paper: AIMY: An Open-source Table Tennis Ball Launcher — Trình bày tại ICRA 2023.
Thông số AIMY:
- 3 bánh xe điều chỉnh tốc độ độc lập → control spin và tốc độ
- Tốc độ bóng tối đa: 15.4 m/s
- Spin tối đa: 192 vòng/giây (comparable với người chơi nâng cao)
- Interface: Ethernet hoặc Wi-Fi
- Hoàn toàn open-source hardware + software
GitHub: intelligent-soft-robots/aimy_target_shooting
AIMY cho phép bạn xây dựng benchmark data collection pipeline mà không cần đối thủ người thật — cực kỳ hữu ích để train và evaluate robot một cách tái lập (reproducible).
Xu Hướng Tương Lai: Humanoid Ping-Pong
Nếu robot arm đã đạt trình độ nghiệp dư, humanoid tiếp theo sẽ làm được gì?
Paper "Towards Versatile Humanoid Table Tennis" (arXiv:2509.21690) từ 2025 mở rộng bài toán sang robot hình người với Prediction Augmentation — kỹ thuật tăng cường khả năng dự đoán quỹ đạo bóng ngay cả khi bị occlusion (bóng bị che khuất một phần).
Một hướng khác là SpikePingpong (arXiv:2506.06690) — dùng event camera (neuromorphic vision) thay vì camera thông thường. Event camera ghi lại sự thay đổi pixel theo thời gian thực (microsecond resolution) thay vì chụp frame liên tục. Kết quả: phản ứng nhanh hơn và ít motion blur hơn khi track bóng tốc độ cao. SpikePingpong đạt 92% accuracy trong vùng 30cm và 70% trong vùng chính xác 20cm.
Đây là tín hiệu rõ ràng: bài toán ping-pong robot đang chuyển từ giai đoạn "proof of concept" sang "platform nghiên cứu nghiêm túc".
Bài Học Kỹ Thuật Có Thể Áp Dụng
Dù bạn không xây dựng robot ping-pong, có nhiều lessons quan trọng từ paper này:
1. Hierarchical policy tốt hơn monolithic policy: Khi task phức tạp, chia thành LLC chuyên biệt + HLC điều phối thường outperform một policy duy nhất cố học tất cả.
2. Skill descriptors giải quyết sim-to-real gap: Thay vì cố làm simulation hoàn hảo, hãy mô tả tường minh những gì simulation không capture được và cho policy biết về giới hạn đó.
3. Online adaptation quan trọng ngang offline training: HLC của DeepMind cập nhật H-values realtime trong trận. Khả năng thích nghi với đối thủ cụ thể cho điểm vượt trội so với policy tĩnh.
4. Task curriculum tự động từ failure cases: Vòng lặp collect-failures → add-to-distribution → retrain là pattern có thể áp dụng cho rất nhiều robotics tasks khác.
Nếu bạn đang học về Reinforcement Learning trong robotics, đây là paper đáng đọc toàn bộ. Kết hợp với kiến thức về RL cơ bản cho robotics và Imitation Learning sẽ giúp bạn hiểu sâu hơn các kỹ thuật được dùng.
Để hiểu tại sao kiểu kiến trúc phân cấp này quan trọng trong loco-manipulation, xem thêm Humanoid Locomotion + Manipulation kết hợp.
Tóm Tắt Kỹ Thuật
| Thành phần | Chi tiết |
|---|---|
| Hardware | ABB IRB 1100 (6 DoF) + Festo gantry (2 DoF) = 8 DoF |
| Perception | Stereo camera + Kalman Filter → ball state 3D |
| Policy | Hierarchical: LLC (kỹ thuật) + HLC (chiến lược) |
| Training | Blackbox Gradient Sensing (BGS) trong simulation |
| Sim-to-Real | Zero-shot via skill descriptors |
| Adaptation | Online H-value update từ game stats |
| Kết quả | 13/29 trận, 100% vs beginner, 55% vs amateur |
| Paper | arXiv:2408.03906, ICRA 2025 |
| GitHub | google-deepmind/competitive_robot_table_tennis |
Bài Viết Liên Quan
- Reinforcement Learning Cơ Bản cho Robotics — PPO, SAC, TD3 và cách chọn thuật toán phù hợp
- Imitation Learning và ACT Policy — Học từ demo thay vì tự khám phá
- RL cho Humanoid Robot — Áp dụng RL cho robot hình người phức tạp hơn