mc_rtc::Configuration
設定mc_rtcには、以下の3つの方法でロボットを組み込むことができます。
env
/object
ローダーを使用するjson
ローダーを使用するRobotModule
の実装を記述する最初の方法は、センサーが取り付けられていないシンプルなロボット(名前が示すとおり、単なるオブジェクトと環境)に適しています。そうしたロボットの要件については、以下のセクションで説明します。
2番目の方法では、ロボットに関するより多くの情報を与えることができます。
最後の選択肢は最も柔軟性が高い方法です。この方法の主なメリットは、ロボットを極めて簡単に読み込むことができ、最小限の労力でさまざまなバリエーションのロボットを簡単に作成できる点にあります。
env
/object
ローダーを使用するロボットを読み込むには、以下のように呼び出しを行います。
ロボット記述フォルダーがLOCATION
にあり、ロボットの名前がNAME
であるとき、mc_rtcは、データが以下のように整理されているはずです。
$LOCATION/urdf/$NAME.urdf
にある$LOCATION/rsdf/$NAME/
フォルダーにある$LOCATION/convex/$NAME/
フォルダーにある。また、BODYで指定されたボディのBODY
衝突凸領域が$BODY-ch.txt
に記述されているFurthermore:
json
ローダーを使用するロボットを読み込むには、以下のように呼び出しを行います。
json
モジュールは、env
モジュールと同じようにデータが整理されていることを想定しています。ただし、ユーザーがデータを与えることで、それらの要件のいくつかは無視できます。また、力覚センサー、ボディセンサー、最小限の自己衝突メッシュセットなどのデータをモジュールに与えることができます。
json
ローダーで必要とされるデータの詳細については、JSON/YAMLのドキュメントを参照してください。
RobotModule
を実装するこの方法では、ロボットのRobotModule
を定義するためのC++クラスを記述し、ユーザーが指定したいデータメンバーをそのクラスのデータメンバーに置き換えます。最小限のサンプルを以下に示します。
指定可能なメンバーについては、mc_rbdyn::RobotModule
のドキュメントを参照してください。
mc-rtc/new-robot-moduleテンプレートプロジェクトを使用すると、すぐに始められます。このテンプレートには、C++またはYAMLのRobotModule
用の必要最小限の構造が記述されています。