RTCの設定ファイル

ここでは、BodyRTCの設定ファイルについて解説します。

設定ファイルには、BodyRTCの入力ポート、出力ポートの設定と、接続先を記述します。

入力ポートの設定

in-port = ポート名[:識別名]:プロパティ名

入力ポート名を与え、そのポートのプロパティを指定します。識別名を諸略すると、対象となるデータ全てに入力します。例えば、

in-port = tau:JOINT_TORQUE

これは、名前「tau」の入力ポートは、データをJointIdの順に関節トルクに入力することを設定しています。

識別名を指定すれば特定の部位にだけ入力します。識別名はVRMLモデルのノード名を指定します。

識別名はコンマ(,)で区切って複数指定することができます。データは指定した順番で入力します。例えば、

in-port = arm_elbow:RARM_ELBOW,LARM_ELBOW:JOINT_VALUE

これは、名前「arm_elbow」の入力ポートは、データをRARM_ELBOWとLARM_ELBOWリンクの関節角度に入力することを設定しています。

出力ポートの設定

out-port = ポート名[:識別名]:プロパティ名

出力ポート名を与え、そのポートのプロパティを指定します。識別名を諸略すると、対象となるデータ全てを出力します。例えば、

out-port = q:JOINT_VALUE

これは、名前「q」の出力ポートは、JointIdの順に並べた関節角度を出力することを設定しています。

識別名を指定すれば特定の部位の値だけ出力します。識別名はVRMLモデルのノード名を指定します。

識別名は(,)で区切って複数指定することができます。ただし、識別名が1つしか指定できないプロパティもあります。

指定した順番でデータは出力されます。例えば、

out-port = camerac:CAMERA_C:CAMERA_IMAGE

これは、名前「camerac」の出力ポートは、VisionSensor CAMERA_C のセンサデータを出力することを設定しています。

接続の設定

connection = ポート名[:コントローラインスタンス名]:コントローラポート名

入出力ポート間の接続を指定します。左はBodyRTCのポート名、右はコントローラのポート名を指定しコロンで区切ります。例えば、

connection = q:PDservo0:q

これは、BodyRTCのポートqとPDservo0コントローラのポートqを接続することを設定しています。

コントローラインスタンス名を省略すると、BodyRTCアイテムのプロパティで指定したコントローラを対象にします。

プロパティ一覧

ポート設定で使用するプロパティは以下の通りです。

プロパティ名 In Port/Out Port データ型 データ長/識別名 説明
JOINT_VALUE yes/yes TimedDoubleSeq 1 関節角度または関節位置
JOINT_VELOCITY yes/yes TimedDoubleSeq 1 同上微分
JOINT_ACCELERATION yes/yes TimedDoubleSeq 1 同上2階微分
JOINT_TORQUE yes/yes TimedDoubleSeq 1 関節トルク
EXTERNAL_FORCE yes [1] /no TimedDoubleSeq 6 力(3次元ベクトル), トルク(3次元ベクトル)
ABS_TRANSFORM yes [1] /yes [1] TimedDoubleSeq 12 ワールド座標系における位置姿勢(最初の3要素が位置ベクトル、9要素が姿勢行列)
ABS_VELOCITY yes [1] /yes [1] TimedDoubleSeq 6 ワールド座標系における速度(3次元ベクトル)と角速度(3次元ベクトル)
FORCE_SENSOR no/yes TimedDoubleSeq 6 力(3次元ベクトル), トルク(3次元ベクトル)
RATE_GYRO_SENSOR no/yes TimedDoubleSeq 3 ジャイロセンサ
ACCELERATION_SENSOR no/yes TimedDoubleSeq 3 加速度センサ
RANGE_SENSOR no/yes [3] RangeData   レンジセンサ
CONSTRAINT_FORCE no/yes [2] TimedDoubleSeq 6*接触点数 ワールド座標系における接触位置(3次元ベクトル)と力(3次元ベクトル)
RATE_GYRO_SENSOR2 no/yes [2] TimedAngularVelocity3D   ジャイロセンサ TimedAngularVelocity3D型で出力
ACCELERATION_SENSOR2 no/yes [2] TimedAcceleration3D   加速度センサ TimedAcceleration3Dで出力
ABS_TRANSFORM2 yes [2] /yes [2] TimedPose3D   位置姿勢 TimedPose3Dで入出力
LIGHT yes [1] /yes [1] TimedBooleanSeq 1 ライトOn/Offの制御と、状態出力
CAMERA_IMAGE no/yes [3] TimedCameraImage   ビジョンセンサ
CAMERA_RANGE no/yes [3] PointCloud   ビジョンセンサ

Footnotes

[1](1, 2, 3, 4, 5, 6, 7) 識別名を指定した場合に有効。
[2](1, 2, 3, 4, 5) 識別名を一つ指定した場合に有効。
[3](1, 2, 3) 識別名を一つ指定するか、指定しない場合に有効。(指定しないと、Id=0のセンサを指定したことと同じになる。)