Unitree G1 ダブルスピンキック例 (g1_spinkick_example)

AI/ML

概要

本リポジトリは、mjlab を利用して Unitree G1 型ヒューマノイドロボットに「ダブルスピンキック」を習得させるための実験プロジェクト例です。MimicKit(Jason Peng)の参照モーションを mjlab で扱える CSV に変換するツール、学習中のフル結果やハイパーパラメータ、さらに推論や実機実装を想定した ONNX 形式の事前学習済モデルを同梱しています。シミュレーション結果と実機の比較(sim-to-real)を示す GIF が提供され、再現と解析がしやすい構成です。

GitHub

リポジトリの統計情報

  • スター数: 44
  • フォーク数: 1
  • ウォッチャー数: 44
  • コミット数: 2
  • ファイル数: 11
  • メインの言語: Python

主な特徴

  • MimicKit のモーションデータ(pkl)を mjlab 用 CSV に変換するデータパイプラインを提供
  • 学習時のハイパーパラメータやトレーニング結果をフルで公開
  • 推論用の ONNX チェックポイントを同梱、sim-to-real を意識した実装例
  • シミュレーションと実機の比較 GIF による視覚的評価

技術的なポイント

このプロジェクトは「参照モーションに基づく動作習得」を mjlab 上で実践した例です。MimicKit 由来の pkl ファイルを mjlab の期待する CSV 形式に変換するスクリプトにより、モーション追従や模倣学習に必要な時間系列データ(関節角、速度、ボディ姿勢など)を整形します。学習フェーズでは、参照モーションとの類似度を評価する報酬設計(例:関節角誤差、重心差、接触タイミングの一致)を用いることが想定され、安定化のための補助報酬やエネルギー最小化項も組み込まれている可能性があります。また、シミュレーションで得たポリシーを実機に移すために、ONNX へ変換した推論モデルを用意。これは実機制御での軽量かつ高速な推論を目的とし、環境ノイズやダイナミクスの差を吸収するためのドメインランダマイゼーションや観測ノイズの導入(mjlab 側の設定)が併用されていると考えられます。さらに、トレーニングの再現性を高めるためにハイパーパラメータ(学習率、バッチサイズ、エピソード長、エントロピーボーナス等)と学習ログを公開しており、研究用途や応用開発でのベースラインとして使いやすい構成です。物理ロボットへ適用する際は、PD フィードバックや安全停止ロジック、モーター指令の制限などを追加する運用設計が重要になります。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: file

  • .python-version: file

  • LICENSE: file

  • README.md: file

  • assets: dir

  • convert_mimickit_to_mjlab.py: file

  • train_config.yaml: file

  • pretrained.onnx: file

  • results/: dir

  • scripts/: dir …他 6 ファイル

まとめ

mjlab を用いたモーション模倣と sim-to-real の実例集で、再現性が高く実機応用にも近い構成です。

リポジトリ情報:

READMEの抜粋:

mjlab example: Unitree G1 Double Spin Kick

Sim-to-real double spin kick comparison

An example of building on top of mjlab to teach a Unitree G1 humanoid to perform a double spin kick. The reference motion comes from Jason Peng’s MimicKit.

This repository provides:

  • Data conversion script (MimicKit pkl → mjlab csv)
  • Full training results and hyperparameters
  • Pretrained ONNX checkpoint…