Choreonoidモデル編集機能¶
アーキテクチャ¶
Choreonoidモデル編集機能はChoreonoidの基本機能を拡張するプラグインとして実装されています。
Choreonoidでは、開発者が左のパネルのツリービュー上に出てくるアイテムを新規に作成し、機能を拡張することができます。
元のChoreonoidはシミュレーションモデルをロードする「BodyItem」しかありません。Choreonoidモデル編集機能では、シミュレーションモデルを関節とリンクの各パーツに分割し、各々のプロパティを変更することができる「EditableBodyItem」を追加します。
以下、それら新しい各アイテムについて説明します。
EditableBodyItem¶
このアイテムは、他のアイテムの上位に作成されます。
既存のモデルをロードした場合、このアイテムは自動で作成されます。
モデルを新規に一から作成する場合にも、まずこのアイテムを作成し、他の全てのアイテムを子アイテムとして接続する必要があります。
JointItem¶
シミュレーションモデルに関節を加える際にこのアイテムを作成します。最初の関節はEditableBodyItemの子供として作成し、それ以外の関節は他の関節の子供として作成します。
プロパティパネルの各項目をダブルクリックすることで、関節の各プロパティを編集することができます。
translation¶
親関節に対する相対位置を指定します。
rotation¶
親関節に対する相対回転を指定します。
Joint ID¶
一意なIDを指定します。
Joint type¶
関節の種類を「free」「rotate」「slide」「fixed」から選択します。
Joint axis¶
関節角の方向を「x, y, z」の形式で指定します。
Upper limit¶
関節角の上限を設定します。
Lower limit¶
関節角の下限を設定します。
Upper velocity limit¶
関節速度の上限値を指定します。
Lower velocity limit¶
関節速度の下限値を指定します。
Gear ratio¶
この関節の減速比を指定します。
Rotor inertia¶
この関節を駆動するモータのローター慣性を指定します。
Torque const¶
この関節を駆動するモータのトルク定数を指定します。
Encoder pulse¶
この関節を駆動するモータのエンコーダが1回転で何パルス出力するかを指定します。
LinkItem¶
シミュレーションモデルにリンクを追加するには、このアイテムを関節の子供として作成します。
アイテムを作成した後、プロパティパネルをダブルクリックしてプロパティを編集します。
Mass¶
リンクの重量を設定します。
Center of mass¶
リンクの重心を「x, y, z」形式で設定します。
Inertia¶
リンクの慣性モーメントを3x3の行列形式で設定します。
SensorItem¶
シミュレーションモデルにセンサを追加するには、このアイテムを関節の子供として作成します。
アイテムを作成後、プロパティパネルをダブルクリックしてプロパティを編集します。
translation¶
親関節に対する相対位置を指定します。
rotation¶
親関節に対する相対回転を指定します。
Sensor ID¶
センサーのタイプ毎に一意なIDを指定します。
Sensor type¶
センサータイプを “camera”, “range”, “gyro”, “force”, “acceleration”から選択できます。
センサータイプを指定すると、センサータイプに応じたパラメータが編集可能になります。