Chuyển đến nội dung chính
Hướng dẫn AI

Huấn luyện và phát lại bộ theo dõi chuyển động hình người với SuperMimic

Hướng dẫn này trình bày cách cài đặt SuperMimic cùng với mjlab_research, chọn dạng biểu diễn tọa độ, huấn luyện mô hình thế giới và policy trên GPU được chọn, cũng như phát lại một lần chạy đã huấn luyện bằng đường dẫn Weights & Biases.

Huấn luyện và phát lại bộ theo dõi chuyển động hình người với SuperMimic

SuperMimic là gì?

SuperMimic là một dự án nghiên cứu về huấn luyện bộ theo dõi chuyển động toàn thân của robot hình người bằng một mô hình thế giới khả vi duy nhất. Dự án được xây dựng trên mjlab và cung cấp các tác vụ huấn luyện cho hai dạng biểu diễn tọa độ khác nhau.

Bạn có thể tìm thêm thông tin về dự án trên trang dự án SuperMimic và trong bài nghiên cứu.

Tính năng chính

  • Theo dõi chuyển động hình người toàn thân: Dự án huấn luyện một policy để theo dõi chuyển động của robot hình người.
  • Mô hình thế giới khả vi: Quá trình huấn luyện sử dụng một mô hình thế giới khả vi cùng với policy.
  • Hai dạng biểu diễn tác vụ: SuperMimic hỗ trợ các tác vụ theo tọa độ tổng quát và tọa độ cực đại cho G1.
  • Script huấn luyện và phát lại: Các lệnh riêng được cung cấp để bắt đầu huấn luyện và phát lại mô hình đã huấn luyện.
  • Chọn GPU: Có thể chỉ định GPU huấn luyện thông qua CUDA_VISIBLE_DEVICES.

Cài đặt SuperMimic

1. Cài đặt uv

SuperMimic sử dụng uv để chạy các script. Cài đặt uv bằng lệnh được cung cấp trong README của dự án:

curl -LsSf https://astral.sh/uv/install.sh | sh

2. Tạo workspace

Các repository SuperMimic và mjlab_research phải được clone vào các thư mục ngang hàng. Tạo một workspace dùng chung, truy cập vào đó và clone cả hai repository:

mkdir supermimic_ws && cd supermimic_ws
git clone git@github.com:HybridRobotics/supermimic.git
git clone git@github.com:HybridRobotics/mjlab_research.git
cd supermimic

Cấu trúc kết quả đặt supermimic và mjlab_research ở cùng một cấp thư mục. Chạy các lệnh còn lại từ bên trong thư mục supermimic.

Chọn tác vụ huấn luyện

SuperMimic cung cấp hai ID tác vụ:

  • SuperMimic-GenCoord-G1 sử dụng dạng biểu diễn tọa độ tổng quát.
  • SuperMimic-MaxCoord-G1 sử dụng dạng biểu diễn tọa độ cực đại.

Sử dụng đúng ID tác vụ trong cả lệnh huấn luyện và phát lại. Chọn dạng biểu diễn phù hợp với thí nghiệm bạn muốn chạy.

Huấn luyện mô hình thế giới và policy

Script huấn luyện nhận ID tác vụ và tên mô tả cho lần chạy. Có thể khởi chạy trên GPU được chọn bằng mẫu lệnh sau:

CUDA_VISIBLE_DEVICES=<GPU_ID> uv run src/supermimic/scripts/train.py \
  <TASK_ID> --runner.run_name <description>

Thay <GPU_ID> bằng chỉ mục GPU, <TASK_ID> bằng một trong các ID tác vụ được hỗ trợ và <description> bằng tên có ý nghĩa cho lần chạy.

Ví dụ, lệnh sau chọn GPU 0 và bắt đầu tác vụ tọa độ tổng quát:

CUDA_VISIBLE_DEVICES=0 uv run src/supermimic/scripts/train.py \
  SuperMimic-GenCoord-G1 --runner.run_name g1_generalized_coordinates

Để huấn luyện với dạng biểu diễn tọa độ cực đại, hãy thay đổi ID tác vụ:

CUDA_VISIBLE_DEVICES=0 uv run src/supermimic/scripts/train.py \
  SuperMimic-MaxCoord-G1 --runner.run_name g1_maximal_coordinates

Phát lại mô hình đã huấn luyện

Sử dụng script phát lại với ID tác vụ ban đầu và đường dẫn lần chạy Weights & Biases của mô hình đã huấn luyện:

uv run src/supermimic/scripts/play.py \
  <TASK_ID> --wandb-path <RUN_PATH>

Đối với lần chạy tọa độ tổng quát, lệnh có dạng:

uv run src/supermimic/scripts/play.py \
  SuperMimic-GenCoord-G1 --wandb-path <RUN_PATH>

Thay <RUN_PATH> bằng đường dẫn lần chạy tương ứng. Giữ ID tác vụ phát lại nhất quán với dạng biểu diễn được sử dụng trong quá trình huấn luyện.

Mẹo cho quy trình nâng cao

Giữ các repository ở cùng cấp

Duy trì cấu trúc workspace như trong hướng dẫn thiết lập. Không đặt mjlab_research bên trong repository supermimic hoặc ngược lại.

Sử dụng tên lần chạy có tính mô tả

Giá trị --runner.run_name nên xác định rõ thí nghiệm. Việc đưa dạng biểu diễn tọa độ vào tên giúp phân biệt các lần chạy tọa độ tổng quát và tọa độ cực đại dễ dàng hơn.

Chọn GPU một cách rõ ràng

Trên máy có nhiều GPU, hãy đặt CUDA_VISIBLE_DEVICES trước lệnh huấn luyện để chọn GPU mong muốn. Ví dụ, sử dụng CUDA_VISIBLE_DEVICES=1 để cấp GPU 1 cho tiến trình.

Khớp ID tác vụ khi phát lại

Khi phát lại một mô hình, hãy sử dụng cùng ID tác vụ biểu diễn tọa độ đã dùng để huấn luyện mô hình đó. Điều này giữ cho lệnh phát lại phù hợp với thí nghiệm ban đầu.

Ghi nhận đóng góp và giấy phép của dự án

SuperMimic chứa mã được lấy cảm hứng từ ControlVAE, robotic_world_model và DreamerV3. Các dự án đó lần lượt sử dụng giấy phép BSD-3-Clause, Apache-2.0 và MIT.

SuperMimic được phát hành theo Apache License 2.0. Bản quyền 2026 thuộc về các tác giả SuperMimic.

Kết luận

SuperMimic cung cấp một quy trình tập trung để huấn luyện và phát lại bộ theo dõi chuyển động toàn thân của robot hình người bằng mô hình thế giới khả vi. Sau khi cài đặt uv và clone hai repository ngang hàng bắt buộc, hãy chọn dạng biểu diễn tọa độ, khởi chạy huấn luyện trên GPU phù hợp và sử dụng đường dẫn lần chạy Weights & Biases thu được để phát lại.