Tin ngành
Toàn cảnh công nghệ mô phỏng cho AI vật lý: Những bước tiến mới nhất
(giờ Việt Nam)
Tóm tắt AI
Bài viết từ Hugging Face và NVIDIA phân tích vai trò then chốt của môi trường mô phỏng trong việc huấn luyện AI điều khiển robot và các hệ thống vật lý thực tế.
Bản dịch AI

Quay lại các bài viết
Tại sao lại cần mô phỏng? Tôi nên sử dụng công cụ mô phỏng nào? MuJoCo, MuJoCo Warp, Isaac Sim, Isaac Lab, Isaac Lab 3.0 liên quan thế nào đến Isaac Sim và Newton, Vật lý hiện đại tăng tốc bằng GPU cho robot, Newton, Các công cụ mô phỏng khác, Kết luận, Tại sao lại cần mô phỏng.
Hình 1: Mô phỏng chuyển động của robot hình người. Tư thế của robot được thể hiện bằng các điểm mấu chốt trên cơ thể (các điểm đánh dấu màu xanh lá cây), trong khi các thực thể robot kế tiếp minh họa chuyển động của nó theo thời gian. Các mũi tên chỉ hướng biểu thị chuyển động được ra lệnh, minh họa việc sử dụng môi trường mô phỏng dựa trên vật lý để huấn luyện và đánh giá các chính sách điều khiển và di chuyển của robot.

Thách thức chính trong việc xây dựng các hệ thống AI vật lý là sự sẵn có của dữ liệu. Các mô hình ngôn ngữ lớn (LLM) và mô hình ngôn ngữ thị giác (VLM) có thể được huấn luyện trên các tập dữ liệu quy mô internet, nhưng robot và các hệ thống AI vật lý không có lợi thế tương tự. Để huấn luyện một hệ thống AI vật lý, robot phải học được hậu quả của việc tương tác với thế giới vật lý. Ví dụ, nó cần hiểu điều gì xảy ra khi một chiếc cốc bị trượt, một sợi cáp bị uốn cong hoặc một bộ kẹp tiếp xúc với vật thể ở sai góc độ.
Việc thu thập loại dữ liệu này trong thế giới thực rất chậm, đắt đỏ, rủi ro và đôi khi không khả thi do tính chất phá hủy của các tác vụ. Mô phỏng cung cấp một cầu nối bằng cách cho phép các nhà phát triển tạo ra lượng lớn dữ liệu chân thực về hình ảnh và dựa trên vật lý. Bằng cách điều khiển robot từ xa trong môi trường mô phỏng và mở rộng quy mô thu thập dữ liệu thông qua tính song song của GPU, các nhà phát triển có thể tạo ra hàng nghìn giờ trải nghiệm cho robot với chi phí chỉ bằng một phần nhỏ so với việc thu thập trong thế giới thực.
Các trình mô phỏng robot trước đây thường được sử dụng chủ yếu để gỡ lỗi hình học, kiểm tra bộ điều khiển hoặc trực quan hóa chuyển động của robot. Ngày nay, mô phỏng đã trở thành một phần trong vòng lặp phát triển mô hình. Các nhóm sử dụng nó để tạo tập dữ liệu nhận thức, huấn luyện các chính sách học tăng cường, thu thập dữ liệu minh họa, tăng cường dữ liệu thực tế, đánh giá mô hình và kiểm tra các chính sách đối với các tình huống hiếm gặp hoặc đối nghịch. Sự thay đổi này là lý do tại sao các phòng thí nghiệm nghiên cứu công nghiệp và các nhóm học thuật ngày càng đóng góp vào hoặc phát triển các công cụ mô phỏng có thể đáp ứng những yêu cầu mới này.
Những yêu cầu này có thể được hiểu thông qua mô hình ba máy tính:
Hình 2: Một hệ thống vật lý (Trái đất và robot) liên tục trao đổi dữ liệu với biểu diễn ảo của nó (mô hình kỹ thuật số), cho phép giám sát, phân tích, dự đoán và điều khiển thông qua vòng phản hồi hai chiều.

Mỗi máy tính đóng một vai trò khác nhau tùy thuộc vào yêu cầu về độ trễ, thông lượng, độ chính xác và triển khai của tác vụ.
Nhiều công cụ mô phỏng hiện có sẵn, mỗi công cụ nhắm đến các trường hợp sử dụng khác nhau như robot hình người, phương tiện bay, robot mặt đất, phương tiện tự hành, robot bốn chân và các bộ phận thao tác khéo léo. Các công cụ này cũng khác nhau về khả năng hỗ trợ học tăng cường, mô phỏng theo lô, vật lý tiếp xúc phức tạp, kết xuất hình ảnh chân thực và mô phỏng cảm biến. Hãy tham khảo Hình 2 để biết cách phân loại các công cụ mô phỏng theo lĩnh vực robot và cấu hình tăng tốc.
Tôi nên sử dụng công cụ mô phỏng nào?
Các nhà phát triển thường gặp khó khăn trong việc chọn công cụ mô phỏng cho trường hợp sử dụng mà họ đang giải quyết. Thông thường, điều này phụ thuộc vào một vài câu hỏi cơ bản, chẳng hạn như:
Những yếu tố này sẽ giúp các nhà phát triển quyết định công cụ mô phỏng nào phù hợp với nhu cầu phát triển của họ.
NVIDIA Isaac Sim và Isaac Lab, MuJoCo, PyBullet, Drake và Genesis là một số công cụ mô phỏng phổ biến nhất cho robot hình người và các bộ phận thao tác khéo léo hai tay. Mỗi công cụ mô phỏng này đều độc đáo đối với các trường hợp sử dụng cụ thể như mở rộng quy mô học tăng cường, tạo dữ liệu tổng hợp, kiểm tra thuật toán và/hoặc mô hình trong môi trường mô phỏng. Tại đây, chúng tôi sẽ cung cấp cái nhìn tổng quan nhanh về MuJoCo, MuJoCo Warp, NVIDIA Isaac Sim và Isaac Lab.
MuJoCo
MuJoCo, viết tắt của Multi-Joint dynamics with Contact (Động lực học đa khớp với tiếp xúc), là một công cụ vật lý nhanh, chính xác, mã nguồn mở được xây dựng chủ yếu cho robot, cơ sinh học, học tăng cường, điều khiển và mô phỏng các hệ thống khớp nối. Không giống như các công cụ tập trung chủ yếu vào trò chơi hoặc tính chân thực về hình ảnh, MuJoCo được thiết kế dựa trên động lực học chính xác, chuyển động giàu tiếp xúc và tối ưu hóa dựa trên mô hình. MuJoCo nhấn mạnh vào tốc độ, độ chính xác và khả năng mô hình hóa cho các hệ thống mà tính đúng đắn về vật lý là quan trọng.
Hình 3: Bộ phận thao tác robot được mô phỏng trong MuJoCo. Hình ảnh minh họa một cánh tay robot đa khớp với bộ kẹp song song hoạt động trong môi trường mô phỏng dựa trên vật lý. MuJoCo được sử dụng để mô hình hóa động lực học, động học và các tương tác tiếp xúc của robot, cho phép phát triển và đánh giá các thuật toán lập kế hoạch chuyển động, thao tác và điều khiển trước khi triển khai trong thế giới thực.

Mặc dù MuJoCo không phải lúc nào cũng là lựa chọn tốt nhất cho việc kết xuất hình ảnh chân thực hoặc mô phỏng song song quy mô lớn trên GPU, nhưng một số tính năng cốt lõi mà MuJoCo nổi tiếng là quy trình xác định (deterministic), động lực học ngược với tiếp xúc được xác định rõ ràng, mô hình hóa tiếp xúc mạnh mẽ và mô phỏng tọa độ tổng quát.
MuJoCo Warp
MuJoCo Warp, còn được gọi là MJWarp, là một triển khai của MuJoCo được tăng tốc bằng GPU, viết bằng NVIDIA Warp - một framework Python để viết các nhân (kernel) vi phân tăng tốc CUDA hiệu năng cao, được thiết kế riêng cho việc học của robot và mô phỏng vật lý.
Nó mang vật lý vật thể khớp nối kiểu MuJoCo, mô phỏng giàu tiếp xúc và động lực học robot vào môi trường GPU theo lô, giúp nó rất phù hợp cho học tăng cường và huấn luyện chính sách quy mô lớn. So với MuJoCo chạy trên CPU truyền thống, MJWarp hướng tới thông lượng nhiều hơn là độ trễ từng bước: nó được thiết kế để mô phỏng nhiều thế giới song song, giảm các nút thắt cổ chai trong việc truyền dữ liệu CPU-GPU và mở rộng quy mô các tác vụ robot nặng về tiếp xúc hiệu quả hơn cho các khối lượng công việc học tập.
Isaac Sim
Isaac Sim là một framework mô phỏng robot mã nguồn mở được xây dựng trên NVIDIA Omniverse. Nó sử dụng OpenUSD làm lớp dữ liệu và cảnh cốt lõi, cho phép robot, môi trường, cảm biến, vật liệu, ánh sáng và các thuộc tính vật lý được biểu diễn dưới dạng các prim và schema của USD. Isaac Sim cung cấp vật lý độ trung thực cao thông qua PhysX, kết xuất RTX chân thực và mô phỏng cảm biến tập trung vào robot cho camera, độ sâu, lidar, radar, phân đoạn và các quy trình tạo dữ liệu tổng hợp. Nó có thể tiếp nhận tài sản từ CAD, URDF, MJCF, USD và các quy trình tái tạo thế giới thực, cho phép robot được kiểm tra trong các môi trường bản sao kỹ thuật số thực tế.
Isaac Lab
NVIDIA Isaac Lab 3.0 là một framework mô phỏng mã nguồn mở, tăng tốc bằng GPU, sẵn sàng cho tác nhân (agent-ready) dành cho việc học của robot, được thiết kế để huấn luyện và đánh giá các chính sách robot ở quy mô lớn. Hướng đi này hỗ trợ các quy trình làm việc có sự hỗ trợ của tác nhân để xây dựng môi trường, tinh chỉnh vật lý, gỡ lỗi, lập hồ sơ, chuyển đổi từ mô phỏng sang mô phỏng (sim-to-sim) và triển khai từ mô phỏng sang thực tế (sim-to-real). Các quy trình làm việc trực tiếp và dựa trên trình quản lý mô-đun của nó hỗ trợ học tăng cường, học bắt chước, lập kế hoạch chuyển động, thu thập dữ liệu và đánh giá chính sách.
Isaac Lab 3.0 liên quan thế nào đến Isaac Sim và Newton
Với Isaac Lab 3.0.0, chúng tôi đã tách rời sự phụ thuộc vào Isaac Sim và Omniverse, đồng thời biến Isaac Lab thành một framework học tập cho robot nhẹ, đa backend.
Kiến trúc mới tách biệt mã cụ thể của backend khỏi API cốt lõi của Isaac Lab. Các nhà phát triển có thể chọn sử dụng Isaac Sim với PhysX và kết xuất RTX cho các quy trình làm việc giàu cảm biến và chân thực, hoặc chạy vật lý Newton nhẹ không cần giao diện (headless) để mô phỏng thông lượng cao. Ngoài ra, các nhà phát triển có thể thêm các cảm biến chân thực thông qua trình kết xuất OVRTX độc lập hoặc tận dụng trình kết xuất Newton cho các tác vụ học tăng cường dựa trên thị giác đòi hỏi số lượng môi trường rất lớn.
Vật lý hiện đại tăng tốc bằng GPU cho robot
Các framework mô phỏng robot hiện đại được vận hành bởi vật lý số: động lực học vật rắn và vật mềm, các mô hình tiếp xúc và ma sát, ràng buộc khớp, bộ truyền động, cảm biến và tích hợp thời gian. Tại mỗi bước mô phỏng, công cụ ước tính cách các vật thể di chuyển dưới tác động của lực, mô-men xoắn, va chạm, trọng lực, ràng buộc và đầu vào của bộ điều khiển. Đối với việc học của robot, vật lý này phải nhanh, ổn định, có thể lặp lại và đủ khả năng mở rộng để chạy hàng nghìn môi trường song song, đồng thời đủ chính xác để chuyển hành vi đã học từ mô phỏng sang robot thực. Để giải quyết những vấn đề này, thư viện Newton đã được tạo ra.
Newton
Newton là một công cụ vật lý mã nguồn mở, tăng tốc bằng GPU, có khả năng mở rộng và vi phân được phát triển bởi NVIDIA, Google DeepMind và Disney Research, và được quản lý thông qua Linux Foundation. Nó được xây dựng trên NVIDIA Warp và OpenUSD, đồng thời tích hợp MuJoCo Warp như một backend vật lý chính. Trong hệ sinh thái mô phỏng rộng lớn hơn, Newton đóng vai trò là lớp vật lý hiện đại cho các framework học tập robot như Isaac Lab và MuJoCo Playground, mang đến cho các nhà nghiên cứu con đường hướng tới vật lý có thể mở rộng, vi phân và không phụ thuộc vào trình mô phỏng. Đặc biệt trong Isaac Lab, Newton hiện là một lộ trình tích hợp tích cực, với bộ giải MuJoCo-Warp được sử dụng làm trọng tâm chính cho các thí nghiệm học tập robot thông lượng cao. Hình ảnh minh họa sự phân tích về cách các framework ứng dụng khác nhau giao tiếp với các thư viện vật lý tăng tốc GPU và các công cụ mô phỏng. Newton cung cấp nhiều triển khai bộ giải thay vì quy định một phương pháp số cho mọi vấn đề. SolverMuJoCo và SolverFeatherstone sử dụng tọa độ tổng quát cho các hệ thống vật rắn khớp nối. SolverSemiImplicit, SolverXPBD và SolverKamino sử dụng các công thức tọa độ tối đa. SolverVBD là một bộ giải ẩn hỗ trợ vật rắn, hạt, vải và vật mềm, mặc dù khả năng hỗ trợ khớp của nó vẫn còn hạn chế. SolverImplicitMPM nhắm vào các vật liệu liên tục dựa trên hạt, trong khi SolverStyle3D chuyên về mô phỏng vải. Vì khả năng khác nhau giữa các bộ giải—bao gồm hỗ trợ cho các khớp nối, vật thể biến dạng, tiếp xúc và vi phân—bộ giải phù hợp phụ thuộc vào hệ thống vật lý đang được mô hình hóa.
Hình 4: Công cụ vật lý Newton là một công cụ mô phỏng mã nguồn mở, tăng tốc bằng GPU được xây dựng trên NVIDIA Warp, được thiết kế cho các nhà nghiên cứu robot và mô phỏng.

Các công cụ mô phỏng khác
PyBullet vẫn là một cơ sở CPU hữu ích cho việc tạo mẫu nhanh; DART và ODE vẫn là các backend của Gazebo; Drake là tiêu chuẩn vàng nếu bạn cần tối ưu hóa quỹ đạo ẩn tiếp xúc và các phép tính số học nghiêm ngặt thay vì thông lượng. Mỗi công cụ đều có một thị trường ngách. Không có công cụ nào trong số đó là câu trả lời cho câu hỏi "Tôi cần 4.096 robot hình người trên một GPU".
Bài viết được AI dịch và tổng hợp tự động từ Hugging Face Blog. Liên kết bài gốc ở phía trên. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.