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”から選択できます。

センサータイプを指定すると、センサータイプに応じたパラメータが編集可能になります。

PrimitiveShapeItem

シミュレーションモデルに形状データを設定する場合にこのアイテムをリンクの子供として作成します。

アイテムを作成後、プロパティパネルをダブルクリックしてプロパティを編集します。

translation

親に対する相対位置を指定します。

rotation

親に対する相対回転を指定します。

Primitive type

リンクの種類を「Box」「Cylinder」「Cone」「Sphere」から選択します。

プリミティブのタイプを指定すると、それぞれのプリミティブのタイプに応じたパラメータが編集できるようになります。

MeshShapeItem

シミュレーションモデルに形状データを設定する場合にこのアイテムをリンクの子供として作成します。

アイテムを作成後、プロパティパネルをダブルクリックしてプロパティを編集します。

translation

親に対する相対位置を指定します。

rotation

親に対する相対回転を指定します。

path

形状を定義しているVRML97ファイルのパスを指定します。