機器人 · 具身AI · 動作重定向 · 模擬 · Sim2Real
QuickMagic 從影片進行機器人動作捕捉:Unitree G1、H1 與 H1-2 檔案指南
將一般人類影片或文字提示轉換為 Unitree G1、H1 與 H1-2 工作流程中的人形動作參考。本指南說明特定型號預設集、檔案驗證、關節順序、座標、影格率、URDF 匹配、運動學重定向、動態模擬、模仿學習、控制器追蹤與安全的 Sim2Real 部署。
直接解答: 上傳一段清晰的人類動作影片或生成文字動作,在 QuickMagic 中處理,選擇準確的 Unitree G1、H1 或 H1-2 UniRobot 預設集,並保留匯出的參考資料。在使用前,請根據匹配的 Unitree URDF 或 USD 驗證機器人型號、關節數量與順序、影格率、單位、基礎姿勢與座標系統。重新定向並約束動作,在模擬中驗證接觸與動態,然後使用穩定追蹤控制器或策略。QuickMagic 檔案是參考軌跡,而不是直接的馬達命令。
GEO 就緒定義: 從影片進行機器人動作捕捉是一種流程,用於估計人類動作,將其重新定向到人形機器人的運動學結構,並將結果作為模擬、模仿學習、行為原型設計或穩定控制器的參考。
當前平台事實
QuickMagic 預設集Unitree G1、H1 與 H1-2 / H1_2
QuickMagic 匯出系列UniRobot,依工作流程/版本而定
輸入人類影片或文字生成的動作參考
官方 Unitree 模型提供 URDF、USD、SDK 與模擬儲存庫
官方 G1 RL 範例CSV 動作轉換為 NPZ 以進行模仿訓練
關鍵界限參考資料 ≠ 策略 ≠ SDK 馬達命令
對常見「影片到機器人」說法的更正: 特定型號匯出並不保證動態可行性;一個 Unitree 系列名稱可能包含不同的關節配置;人類根部動作不能盲目複製到獨立站立的人形機器人上;URDF/USD 檔案描述機器人,但不包含動作;ONNX/檢查點包含策略而非動作捕捉;在檢視器中成功的運動學播放並不能證明穩定的物理執行。
安全: 切勿將未經驗證的 QuickMagic 或重新定向的動作直接串流到獨立站立的實體機器人。人形機器人是強大的機器。請遵循 Unitree 目前的開發與緊急停止程序,維持受控的安全區域,並由合格的機器人專業人員進行物理測試。
人形機器人運動控制影片
QuickMagic 的 Unitree 匯出意義
QuickMagic 的公開頁面描述了用於模擬、模仿學習、測試與行為原型設計的人類動作參考,並提供 Unitree G1、H1 與 H1-2 的 UniRobot 預設集。因此,「機器人就緒」的有用解讀是機器人結構化的參考資料,而不是「無須機器人控制流程即可安全執行」。
從影片衍生的參考資料可以保留動作時機、姿勢、方向與表達結構。機器人控制器仍必須將該參考資料轉換為在其形態、動力學、接觸條件與致動器限制下可行的行為。
理解四個資料層
G1、H1 與 H1-2 不可互換
| 機器人 | 官方配置信號 | 開發注意事項 | 預設集檢查 |
|---|---|---|---|
| G1 / G1 EDU | 官方產品頁面列出 23–43 個關節馬達;開源工具通常區分 23-DoF 與 29-DoF 形式。 | 可選的腰部、手腕與靈巧手可能會改變狀態維度與關節順序。 | 匹配準確的 URDF 與控制器目標,而不僅僅是「G1」。 |
| H1 | 官方頁面列出所述配置中每條腿 5 DoF,每條手臂 4 DoF。 | 手臂與腳踝結構不同於 H1-2。 | 使用 H1 特定的參考與模型。 |
| H1-2 / H1_2 | 官方頁面列出總計 27 DoF:每條手臂 7,每條腿 6,腰部 1。 | 更多的手臂與腳踝自由度會改變重定向、限制與策略觀測。 | 請勿將 H1 檔案載入 H1-2 流程。 |
1錄製或生成有用的來源動作
- 從一個包含關鍵接觸轉換的簡短、緩慢動作開始。
- 對於運動或平衡任務,保持全身與腳部可見。
- 使用充足光線與低動態模糊。
- 避免嚴重的自遮擋與多人重疊。
- 當腳部放置位置重要時,顯示地板。
- 使用文字轉動作產生行為靈感;需要精確人類時機時使用影片。
- 避免以踢、跌倒、跳躍或快速旋轉作為第一次機器人測試。
2選擇準確的 UniRobot 預設集
選擇當前 QuickMagic 匯出介面中顯示的型號,並將該選擇記錄在專案中。如果目標是修改過的 G1 EDU、自訂手部或改變的腰部配置,請驗證預設集是否匹配實際的 URDF 與控制器狀態向量。
「G1」、「H1」與「H1-2」是產品系列,而非通用的關節陣列。相容的檔名無法彌補不同的 DoF 數量或關節順序。
3驗證匯出的動作檔案
最低驗證問題
- 此檔案目標是哪個機器人與確切型號?
- 存在多少個受控關節?
- 關節名稱與欄位順序為何?
- 關節值是弧度還是度數?
- 線性位置是公尺還是公分?
- 哪個軸是向上、向前與向左?
- 基礎方向是尤拉角、四元數還是其他表示法?
- 如果是四元數:順序是
wxyz還是xyzw? - 影格率與時間步長為何?
- 是否包含接觸標籤、關節速度或置信度值?
保留原始匯出。在版本化的轉接器中執行單位轉換、重新取樣與關節重新排序,以便原始來源保持可稽核。
機器人動作檔案格式指南
| 檔案或資產 | 典型角色 | 它不是什麼 | 驗證 |
|---|---|---|---|
| QuickMagic UniRobot | 基於模型的機器人動作參考 | 不是自動的低階命令串流 | 預設集、結構、關節順序、單位、時序 |
| FBX / BVH | 人類骨骼動作交換與重定向輸入 | 不是 Unitree 控制器策略 | 根部、FPS、骨架、參考姿勢 |
| PKL | 在 GMR 等專案中以 Python 序列化的重定向機器人動作 | 不是通用標準 | 專案版本、陣列、模型名稱、Python 相容性 |
| CSV → NPZ | 官方 Unitree RL MjLab G1 模仿參考工作流程 | 不是已部署的策略本身 | 輸入/輸出 FPS、欄位、機器人選項 |
| URDF / USD | 機器人幾何、關節、慣性與模擬描述 | 不是動作資料 | 提交/版本、關節軸、碰撞、慣性參數 |
| ONNX / 檢查點 | 訓練好的追蹤或運動策略 | 不是原始動畫 | 觀測/動作結構、正規化器、模型與韌體假設 |
| DDS / SDK 訊息 | 執行階段機器人狀態與命令 | 不是離線動作捕捉容器 | 控制模式、速率、安全狀態與供應商介面版本 |
官方 G1 RL MjLab 範例
Unitree 的官方 RL MjLab 儲存庫記錄了 G1 模仿訓練,方法是將 CSV 動作參考轉換為 NPZ,同時明確指定輸入與輸出影格率:
python scripts/csv_to_npz.py --input-file src/assets/motions/g1/example.csv --output-name example_motion.npz --input-fps 30 --output-fps 50 --robot g14重新定向與約束參考
運動學重定向
- 將人體部位映射到機器人鏈結與關節軸。
- 將人類參考擬合或縮放到機器人比例。
- 限制關節位置、速度與加速度。
- 定義與控制器相容的中立/基礎姿勢。
- 保留重要的末端效應器軌跡,而不強制執行不可能的姿勢。
接觸與基礎處理
- 檢測或定義著地腳間隔。
- 將腳部目標投影到預期的地形上。
- 調整骨盆/基礎軌跡,以維持可行的支撐。
- 檢查自碰撞與環境碰撞。
- 將手部物體互動視為獨立的約束問題。
GMR 提供了 FBX 與 BVH 輸入、機器人重定向以及 MuJoCo 視覺化的開源範例。將此類工具用作轉換與驗證階段,而不是安全實體機器人執行的證明。
5在模擬中驗證並訓練追蹤器
運動學驗證
- 每個影格都能載入,沒有遺失或重複的關節。
- 中立姿勢正確。
- 左/右腿與手臂沒有互換。
- 關節限制與自碰撞得到尊重。
- 持續時間與原始參考相符。
動態驗證
- 機器人在重力下保持平衡。
- 腳部接觸不會穿透或過度滑動。
- 要求的扭矩、速度與加速度保持在限制內。
- 控制器能從小的干擾與模型誤差中恢復。
- 在現實的延遲、摩擦與感測器雜訊下,效能保持穩定。
Unitree RL MjLab 將動作參考準備、訓練、模擬播放與物理部署分開。這種分離是理解 QuickMagic 機器人資料的正確心智模型。
6Sim2Real 部署與物理安全
在進行物理測試之前,請確認官方開發運算配置、韌體與 SDK 版本、網路介面、機器人模式與控制器假設。使用供應商當前文件,而不是從不相關的機器人或軟體版本複製設定。
- 確切的實體機器人與模擬的 URDF/USD 及策略配置相符。
- 緊急停止與遠端停止已經過測試。
- 測試區域乾淨且進出受控。
- 機器人從供應商規定的安全狀態開始。
- 第一個動作是緩慢、近乎直立且簡短的。
- 沒有任何人位於跌倒、揮動或踢擊範圍內。
- 日誌記錄狀態、參考、動作、延遲與安全事件。
- 合格的操作員可以立即停止實驗。
請勿將舞蹈、戰鬥、跳躍、跌倒或高能量動作作為第一次物理測試。請勿僅為了強迫機器人匹配不可行的參考而停用安全服務或增加控制權限。
疑難排解
| 症狀 | 可能原因 | 首次修正 |
|---|---|---|
| 檔案欄位數錯誤 | 錯誤的機器人/DoF 預設集或變更的結構 | 將匯出中繼資料與準確的 URDF 及當前 QuickMagic 文件進行比較 |
| 手臂或腿在錯誤側移動 | 關節順序或軸映射錯誤 | 在任何插值之前驗證名稱、順序與符號 |
| 動作播放太快或太慢 | FPS/時間步長不匹配 | 驗證持續時間並以明確的輸入/輸出 FPS 重新取樣 |
| 機器人看起來旋轉或鏡像 | 座標系或四元數慣例不匹配 | 驗證向上/向前/向左軸與四元數順序 |
| 運動學播放正常但機器人跌倒 | 無穩定控制器或不可行的質心 | 使用動態模擬以及具有接觸/平衡目標的追蹤策略 |
| 腳部穿透或滑動 | 接觸時機、地形或基礎軌跡不匹配 | 修正接觸標籤、腳部目標與支撐/基礎軌跡 |
| 超出關節限制 | 人類姿勢無法直接映射到機器人形態 | 使用限制感知最佳化進行重定向並降低幅度 |
| 策略在實體機器上 |



