
予算3万円でつくる BLDC 2足歩行ロボット 第7号
ー2足歩行ロボットのMJCF大公開ー
前回は2足歩行ロボット HM-01 の旋回、横移動、ジャンプ動作を楽しみ2足歩行ロボットを完成させました。
ロボット製作と動作を一通り紹介できたので、ここではシミュレーション用の MJCF (MuJoCo XML Format) モデルを公開します。
動作検証や強化学習などにご活用いただければ幸いです。
目次
MJCF モデル
MJCF (MuJoCo XML Format)とは 物理シミュレータ MuJoCo でロボットや物理環境を定義するためのXMLフォーマットのことです。
つまり「ロボットの骨格」「ジョイント」「モータ」「センサー」「地面や壁」などの要素をすべてテキストで記述する設計図のようなものです。
Mujoco
物理シミュレータ MuJoCoはアプリ版とPython版が存在します。
アプリ版はこちらでダウンロードできます。
https://github.com/google-deepmind/mujoco/releases
アプリ版はMJCF形式のデータを表示させたりマウスで動かしたりできます。
しかしプログラム制御などはできません。
ロボット動作をプログラム記述したり機械学習をさせる場合はPython版の導入が必要です。
ここではアプリ版のみで話を進めます。
2足歩行ロボット HM-01 MJCFデータ
MJCFデータは以下でダウンロードできます。zipファイルがDLされますので解凍して活用ください。
MJCFデータ
MJCFではロボ筐体としてSTLファイルをそのまま利用することができます。
データではassetsフォルダにSTLファイルを収めてxmlファイルで引用しています。
本STLファイルはMJCF用に実機より簡素にしておりますのでご了承ください。
モータモデリング
実機のモータはギアで減速していますがMuJoCoシミュレーションでギア動作をそのまま物理動作させるのはできないので、BLDCモータとギアを含めたアクチュエータとしてモデリングしています。
モデリングの詳細はこちらを参照ください。
モータアクチュエータは共通で以下を使用しました。
1 2 3 4 5 6 |
<default> <default class="bldc"> <joint damping="0.1" frictionloss="0.0269" armature="0.0026"/> <position kp="13.79" kv="0.0" forcerange="-1.38 1.38"/> </default> </default> |
足モータと股関節モータで減速比が異なります (それぞれ5.6、7.0)が、簡単のために共通としました。
また関節の減衰を表すdampingにつきましては実機に合わせてモデリングによる値から小さく調整しています。
モータアクチュエータとしてpositionタイプを使用して回転位置制御を実現しています。
リンク機構
HM-01ロボの足はリンク機構を採用しております。
MuJoCoでもリンク機構は問題なく機能することを確認しました。
MuJoCoでリンク機構
できるっちゃあ できるな pic.twitter.com/4TxqGxfCth— HomeMadeGarbage (@H0meMadeGarbage) September 11, 2025
equalityというMuJoCoの運動を制限する記述でリンク結合させました。
MuJoCoでクローズドループリンク機構のシミュできるから#MuJoCo #Robotics pic.twitter.com/S0kszdix7j
— HomeMadeGarbage (@H0meMadeGarbage) September 17, 2025
MuJoCoアプリ
MuJoCoアプリにMJCF xmlファイルをドラッグ&ドロップでロボが表示されます。
完成#MuJoCo #Robotics pic.twitter.com/PJB58dTmWd
— HomeMadeGarbage (@H0meMadeGarbage) September 17, 2025
アクチュエータの角度を変えるとロボも対応してシミュレータ上で動きます。
xmlファイルでモータの定数や筐体配置などをかえてMuJoCoアプリで動作を確認することもできます。
Python版、強化学習
シミュレーション上で動作シーケンスを組んだり強化学習結果を確認する際にはPython版のMuJoCoの用意が必要となります。
ここでは詳細は省きますが、ザーッと紹介させていただきます。
動作シーケンス検証
Pythonでアクチュエータの回転位置を時間指定することでMuJoCoでロボの動作シミュレーションすることができます。
Sim2Real#MuJoCo pic.twitter.com/pTTCJIOWLb
— HomeMadeGarbage (@H0meMadeGarbage) September 17, 2025
強化学習
強化学習結果の確認にもMuJoCoが活用できます (Sim2Sim)。
↓足踏みバランスの強化学習結果をMuJoCo上で確認している様子
報酬重み調整とかでそろそろ気が狂いそうなので
いったんこれでSim2Realいきますかぁ#強化学習への道2 #ReinforcementLearning pic.twitter.com/cDfb2ljbFJ— HomeMadeGarbage (@H0meMadeGarbage) October 7, 2025
おわりに
ここでは2足歩行ロボット HM-01 のMJCFファイルを公開しました。
MuJoCoでの動作シミュレーションや強化学習などに活用いただければ幸いです。
私も強化学習など勉強中ですので別段でいつか紹介できればと考えております。
本連載もこれで最終回となりました。
SimpleFOCの導入の助けやBLDC、QDDモータロボットの入門としてお役に立てれば嬉しく思います。
まぁまた会おうや
あったかくして寝ろよ