JAXON2サンプル¶
Choreonoidでは、東京大学情報システム工学研究室(JSK)によって開発された等身大ヒューマノイドロボット "JAXON2" のモデルを利用することができます。このモデルとサンプル一式のリポジトリについて、Githubの以下のリポジトリで公開しています。
このモデルで歩行動作を行なうサンプルとして、体幹コンプライアンス制御によるZMP規範の立位安定化制御と歩行安定化制御の実装例も提供しています。
なお、JAXON2のオリジナルモデルはクリエイティブ・コモンズライセンス(Attribution-ShareAlike 4.0)のもと、JSKのGithubリポジトリ にて公開されています。 本サンプルのモデルは、上記のモデルをJSKの許諾のもとでChoreonoid用のモデルとして再編集したものです。

利用方法¶
Choreonoid本体のextディレクトリ以下にjaxon2-draftのリポジトリをcloneします。
cd Choreonoid本体のソースディレクトリ/ext
git clone https://github.com/choreonoid/jaxon2-draft.git
Choreonoid本体のビルド時にCMakeの BUILD_JAXON2_SAMPLES オプションをONにしておくと、JAXON2のモデルやサンプルがインストールされます。cmakeコマンドの引数として -DBUILD_JAXON2_SAMPLES=ON
を追加するか、ccmakeコマンドを用いてGUI上でこのオプションをONにしてください。
サンプルプロジェクトの紹介¶
以下の3つのサンプルプロジェクトが用意されています。いずれもjaxon2-draftリポジトリの "sample" ディレクトリに格納されています。
Jaxon2WalkPatternController.cnoid
Jaxon2WalkStabilizer.cnoid
Jaxon2StandingStabilizer.cnoid
Jaxon2WalkPatternController.cnoid では、JAXON2が予め用意された歩行パターンを、理想的な関節位置制御のもとで実行します。各関節が目標角度に対して遅れなく追従するため、用意された歩行パターンを忠実に再現します。したがって、歩行パターンが良くできていれば、歩行動作が実現されます。一方で、腕や胴体等に外力が加わるなど、予期せぬ事象が発生したときは、バランスを取る制御が行われていないため、簡単に転倒します。
Jaxon2WalkStabilizer.cnoid では、JAXON2の各関節はPD制御によって目標位置に追従します。関節角の振る舞いは慣性等の力学的特性が反映され、追従には遅れや誤差が生じる可能性のある、より実際のロボットに近いものとなっています。そこで、ここで用いられているコントローラには、バランスを取るための安定化制御が実装されており、関節が理想的でない動きをしたとしても、歩行ができるようになっています。安定化制御の詳しい内容については次節で説明します。
Jaxon2StandingStabilizer.cnoid では、JAXON2が、安定化制御が有効な状態で立ち続けます。ロボットの上で右クリックをし、編集モードを選択してください。すると、ロボットの各リンクをドラッグすることで、外力を加えることができるようになります。もちろん安定化制御には限界がありますので、例えば胴体や頭部に大きな力を加えたり、短い時間で繰り返し力を加えたりすると転倒します。しかしながら、多くの場合は、安定化制御によって、ゆっくりと元の姿勢に収束していく様子が観察できるでしょう。
注釈
Jaxon2WalkPatternControllerとJaxon2WalkStabilizerで参照している歩行動作データは、Choreonoidの動作振付機能を用いて作成しました。この動作データを編集するプロジェクトとして、Jaxon2SampleWalkPattern.cnoidというプロジェクトも用意しています。このプロジェクトを利用する場合は、Choreonoid本体のビルド時に BUILD_POSE_SEQ_PLUGIN と BUILD_BALANCER_PLUGIN をONにして、PoseSeqプラグインとBalancerPluginが有効になるようにしてください。
体幹位置コンプライアンス制御に基づく安定化¶
本サンプルの安定化制御則として用いられている、体幹位置コンプライアンス制御について紹介します。
水平面に垂直な面での重心の位置を
ここで
実際にフィードバック安定化を達成するには、定数
この方程式を満たすような重心速度
なおプログラム内では、ZMP、重心位置の係数をそれぞれ、
注意:本説明は長阪らの論文とは異なる解釈により制御則を導いています。ご興味のある方は、梶田らによる書籍の第4章をご参照ください。
参考文献¶
小島ら:高速大出力ヒューマノイドの研究用プラットフォームJAXONの開発,日本ロボット学会誌,34巻7号,2016 ( J-STAGE ).
長阪,稲葉,井上:体幹位置コンプライアンス制御を用いた人間型ロボットの歩行安定化,第17回日本ロボット学会学術講演会予稿集,pp. 1193-1194,1999.
長阪:動力学フィルタによる人間型ロボットの全身運動生成,第6章 幾何拘束型動力学フィルタによる運動生成,東京大学博士論文,2000.
梶田(編著):ヒューマノイドロボット 改訂2版,第4章 2足歩行,オーム社,2020.