【要約】Unitree G1 を 29 自由度のまま Gazebo Classic で歩かせる [Qiita_Trend] | Summary by TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
開発者がUnitree G1の全関節を解放して歩行させようとした際、ロボットが沈み込み転倒する問題に直面した。これは、シミュレーション上の物理モデルと制御ポリシーの不整合が原因であった。
- ・上半身の質量および慣性モーメントの変化に対応できなかった。
- ・armature(換算慣性)が全関節一律の設定で、モータ特性を反映できていなかった。
- ・並列リンク機構を持つ関節の物理パラメータが不適切であった。
- ・制御系が離散時間の安定限界を割り、脚が体を支えきれなくなった。
- ・結果として、10時間の学習を行っても歩行の安定性を確保できなかった。
// Approach
開発者は、膨大な計算資源を要する追加の強化学習を行うのではなく、物理パラメータの整合性を高めるアプローチを採用した。これにより、既存の学習済みモデルを最大限に活用することを目指した。
- ・
unitree_rl_mjlabに同梱の29自由度用ONNXポリシーを適切に利用した。 - ・モータ型番に基づき、armatureを全関節に対して個別に設定した。
- ・足首と腰の関節に対し、並列リンク機構を考慮してarmatureとトルクを2倍にした。
- ・URDFの慣性テンソルにarmature成分を加算する近似手法を適用した。
- ・
deploy.yamlのゲインからarmatureを逆算し、設定の整合性を検証した。
// Result
物理パラメータの適正化により、29自由度をすべて解放した状態での安定歩行を実現した。この成果により、シミュレーション環境の信頼性が大幅に向上した。
- ・armatureの修正により、ロボットが沈み込む現象を解消し転倒を防いだ。
- ・MuJoCoとGazebo間の速度差が4〜5%まで縮小し、Sim2Simの精度が向上した。
- ・
deploy.yamlのゲインからarmatureを逆算する検証手法を確立した。 - ・実機デプロイを見据えた高精度なシミュレーション環境が構築された。
- ・自前学習よりも同梱ポリシーの方が速度追従性が高いことを定量的に示した。
Senior Engineer Insight
> 制御系開発において、学習の試行錯誤よりも物理モデルの整合性検証が優先されるべきであることを示す好例だ。10時間の学習が無駄になった事実は、シミュレーション環境の構築における「物理的妥当性」の重要性を物語っている。特にarmatureのような、一見微細に見えるパラメータが、高自由度系の安定性に決定的な影響を与える点は、実機投入前の検証プロセスにおいて極めて重要な教訓となる。