予算3万円でつくる BLDC 2足歩行ロボット 第7号
ー2足歩行ロボットのMJCF大公開ー

Home > 電子工作 > 予算3万円でつくる BLDC 2足歩行ロボット 第7号ー2足歩行ロボットのMJCF大公開ー
すき 0
うんこ 0

前回は2足歩行ロボット HM-01 の旋回、横移動、ジャンプ動作を楽しみ2足歩行ロボットを完成させました。

予算3万円でつくる BLDC 2足歩行ロボット 第6号ー2足歩行ロボットの動作を楽しむ2ー

 

ロボット製作と動作を一通り紹介できたので、ここではシミュレーション用の MJCF (MuJoCo XML Format) モデルを公開します。

動作検証や強化学習などにご活用いただければ幸いです。

 

AudiostockでBGM・効果音を販売中!

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モータとギアを含めたアクチュエータとしてモデリングしています。

モデリングの詳細はこちらを参照ください。

強化学習への道6 -ロボット強化学習2-

 

モータアクチュエータは共通で以下を使用しました。

足モータと股関節モータで減速比が異なります (それぞれ5.6、7.0)が、簡単のために共通としました。
また関節の減衰を表すdampingにつきましては実機に合わせてモデリングによる値から小さく調整しています。

モータアクチュエータとしてpositionタイプを使用して回転位置制御を実現しています。

リンク機構

HM-01ロボの足はリンク機構を採用しております。

MuJoCoでもリンク機構は問題なく機能することを確認しました。

 

equalityというMuJoCoの運動を制限する記述でリンク結合させました。

 

MuJoCoアプリ

MuJoCoアプリにMJCF xmlファイルをドラッグ&ドロップでロボが表示されます。

アクチュエータの角度を変えるとロボも対応してシミュレータ上で動きます。

xmlファイルでモータの定数や筐体配置などをかえてMuJoCoアプリで動作を確認することもできます。

 

Python版、強化学習

シミュレーション上で動作シーケンスを組んだり強化学習結果を確認する際にはPython版のMuJoCoの用意が必要となります。

ここでは詳細は省きますが、ザーッと紹介させていただきます。

動作シーケンス検証

Pythonでアクチュエータの回転位置を時間指定することでMuJoCoでロボの動作シミュレーションすることができます。

強化学習

強化学習結果の確認にもMuJoCoが活用できます (Sim2Sim)。

↓足踏みバランスの強化学習結果をMuJoCo上で確認している様子

 

おわりに

ここでは2足歩行ロボット HM-01 のMJCFファイルを公開しました。

MuJoCoでの動作シミュレーションや強化学習などに活用いただければ幸いです。

私も強化学習など勉強中ですので別段でいつか紹介できればと考えております。

 

本連載もこれで最終回となりました。
SimpleFOCの導入の助けやBLDC、QDDモータロボットの入門としてお役に立てれば嬉しく思います。

まぁまた会おうや
あったかくして寝ろよ

コメントはこちらから

メールアドレスが公開されることはありません。コメントのみでもOKです。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください