Mô phỏng đúng ở phần lớn hiện tượng, và chính điều đó tạo ra sự tự tin sai lầm. Năm nhóm dưới đây là những chỗ nó sai, và không may đó lại là những chỗ thao tác vật thể phụ thuộc vào nhiều nhất.
Ma sát và tiếp xúc
Đây là chỗ sai lớn nhất. Ma sát trong mô phỏng thường được mô tả bằng một hệ số duy nhất, trong khi ma sát thật thay đổi theo tốc độ, theo áp lực, theo nhiệt độ và theo tình trạng bề mặt.
Tiếp xúc còn khó hơn. Khi hai vật chạm nhau, lực xuất hiện đột ngột và phụ thuộc rất nhạy vào hình dạng vi mô của bề mặt. Thuật toán mô phỏng phải xấp xỉ điều này, và các xấp xỉ khác nhau cho kết quả khác nhau đáng kể.
Biểu hiện thực tế: chính sách học được cách gắp trong mô phỏng bằng cách bóp rất nhẹ, rồi làm rơi vật ngoài đời vì ma sát thật thấp hơn. Hoặc ngược lại, nó bóp quá mạnh và làm biến dạng vật.
Cách bù: ngẫu nhiên hoá hệ số ma sát trong dải rộng khi huấn luyện, và luôn tinh chỉnh ngưỡng lực trên máy thật.
Vật biến dạng
Vải, dây, bọt biển, thực phẩm — nhóm này mô phỏng vừa chậm vừa kém chính xác.
Lý do là trạng thái của một vật mềm không mô tả được bằng vài con số như vật cứng. Nó cần một lưới nhiều điểm, và mỗi điểm tương tác với các điểm lân cận. Chi phí tính toán tăng vọt, mà kết quả vẫn chỉ gần đúng.
Với các nhiệm vụ có vật mềm, mô phỏng vẫn hữu ích cho phần chuyển động chung — đưa tay tới đâu, tránh cái gì — nhưng phần thao tác tiếp xúc thường phải học từ dữ liệu thật.
Độ trễ và nhịp thời gian
Trong mô phỏng, lệnh có hiệu lực ngay ở bước tiếp theo. Trên máy thật, lệnh đi qua nhiều chặng và mất thời gian, và thời gian đó không cố định.
Một chính sách học trong môi trường không có độ trễ sẽ dựa vào phản hồi tức thời. Đưa ra máy thật, nó phản ứng dựa trên thông tin cũ và có thể dao động.
Đây là một trong những nguyên nhân phổ biến nhất khiến chính sách chạy tốt trong mô phỏng lại rung lắc ngoài đời — và cũng là nguyên nhân dễ khắc phục nhất: thêm độ trễ giả lập vào mô phỏng, với giá trị đo được từ hệ thật, kèm một chút dao động.
Nhiễu cảm biến thật
Ảnh mô phỏng sạch sẽ và ổn định. Ảnh thật có nhiễu, có loá, có bóng đổ thay đổi theo giờ, có bụi trên ống kính, và đôi khi có khung hình bị mất.
Cảm biến lực có trôi điểm không theo nhiệt độ. Encoder có sai số nhỏ. Cáp mòn gây tín hiệu chập chờn.
Không nhóm nào trong số này xuất hiện trong mô phỏng nếu không được thêm vào có chủ ý. Vì vậy nên chủ động tiêm nhiễu vào quan sát khi huấn luyện, và quan trọng hơn là tiêm cả các dạng lỗi như mất khung hình hay giá trị trôi.
Sự xuống cấp theo thời gian
Mô phỏng luôn dùng một robot mới tinh với thông số danh nghĩa. Robot thật thì mòn dần: độ rơ tăng, ma sát khớp đổi, tay kẹp mất lực bám, camera lệch khỏi vị trí đã hiệu chỉnh.
Hệ quả là một chính sách hoạt động tốt lúc mới triển khai có thể xấu đi dần theo tháng mà không ai đổi gì trong phần mềm.
Đây là lý do các hệ thống triển khai thật cần theo dõi liên tục tỉ lệ thành công, chứ không chỉ kiểm tra một lần lúc nghiệm thu. Xu hướng giảm dần là tín hiệu cần hiệu chỉnh lại phần cứng, không phải cần huấn luyện lại mô hình.
Nói gọn: mô phỏng mô tả một thế giới không có lịch sử. Thế giới thật thì có.
Câu hỏi thường gặp
Có cách nào đo khoảng cách giữa mô phỏng và thực tế không?
Cách thực dụng là chạy cùng một chuỗi lệnh trên cả hai và so sánh quỹ đạo thu được. Chênh lệch cho biết mô hình sai ở đâu và bao nhiêu. Với thao tác tiếp xúc, nên so cả lực đo được chứ không chỉ so vị trí.
Ngẫu nhiên hoá có giải quyết được hết không?
Không, nó chỉ giúp với các sai lệch nằm trong dải đã ngẫu nhiên hoá. Những hiện tượng mô phỏng hoàn toàn không mô tả — như vật biến dạng theo cách phức tạp — thì ngẫu nhiên hoá tham số không giúp được, và cần dữ liệu thật.
Nên tinh chỉnh trên máy thật bao nhiêu là đủ?
Thường ít hơn nhiều so với huấn luyện từ đầu, vì chính sách đã có kỹ năng cơ bản. Điều quan trọng là dữ liệu tinh chỉnh phải phủ đúng các tình huống mà mô phỏng mô tả sai, đặc biệt là giai đoạn tiếp xúc.
Vì sao chính sách xấu đi theo thời gian dù không đổi gì?
Vì phần cứng thay đổi: độ rơ tăng, ma sát khớp đổi, camera lệch khỏi vị trí hiệu chỉnh, tay kẹp mòn. Chính sách vẫn nguyên nhưng thế giới nó tương tác đã khác. Cách xử lý đầu tiên nên là kiểm tra và hiệu chỉnh phần cứng, trước khi nghĩ tới huấn luyện lại.
Đọc thêm trong Triển khai thực tế & thất bại và Sim2real: từ mô phỏng ra máy thật.