通信障害効果の設定

ここでは、ネットワークエミュレータを使った通信障害効果の設定の仕方を説明します。

Note

ネットワークエミュレータは、Choreonoidのワールド内のロボットをOpenRTM・ROS等を用いてイーサネット経由で操縦する場合に使用できます。

BodyNetEmアイテムの作成と設定

まずBodyNetEmアイテムを作成します。シミュレーション中に通信を行うボディをアイテムツリービューで選択して、続けてメインメニューの「ファイル」-「新規」-「BodyNetEm」を選択して生成してください。 生成したBodyNetEmアイテムが選択したボディの子アイテムとして配置されます。シミュレーション中に通信を行うボディが複数ある場合には、ボディ毎にBodyNetEmアイテムを1つずつ子アイテムとして配置します。

次にBodyNetEmアイテムのパラメータを設定します。BodyNetEmアイテムのパラメータは以下の通りです。

パラメータ

デフォルト値

単位

意味

インタフェース

lo

-

通信に使用する有線または無線インタフェースを指定します。

IFBデバイス

ifb0

-

内向きの通信に使用する仮想的なネットワークデバイスを指定します。通常は変更する必要はありません。

送信先IPアドレス

-

-

パケットの送信先のIPアドレスを指定します。BodyNetEmアイテムを配置したボディが通信を行う任意の送信先のIPアドレスを入力してください。また、IPアドレスの後ろにはプレフィックス帳を必ず付与してください。具体的には、xxx.xxx.xxx.xxx/32のように指定します。ここでは/32として指定したIPアドレスのみを送信先に指定しています。

以上でBodyNetEmアイテムの設定は完了です。

マルチコライダアイテムの作成と設定

マルチコライダアイテムは、Choreonoidのワールド内の通信障害を適用する領域を定義するためのアイテムです。メインメニューの「ファイル」-「新規」-「マルチコライダ」を選択して、タイプ「通信障害」を指定して生成してください。生成したマルチコライダアイテムは、ワールドアイテムの子アイテムとして配置します。

Note

複数のマルチコライダアイテムを使用する場合、各アイテムの対象範囲が重複する場合があります。重複が発生した場合は、アイテムツリービューに登録されているより下位のマルチコライダアイテムの設定が適用されます。

マルチコライダアイテムのパラメータは以下の通りです。

パラメータ

デフォルト値

単位

意味

内向き遅延

0

ms

パケットを受信する際の遅延時間を指定します。

内向きレイテンシ

0

kbit

パケットを受信する際のレイテンシ(通信速度の上限)を指定します。

内向きパケット損失

0

%

パケットを受信する際のパケット損失率を指定します。

外向き遅延

0

ms

パケットを送信する際の遅延時間を指定します。

外向きレイテンシ

0

kbit

パケットを送信する際のレイテンシ(通信速度の上限)を指定します。

外向きパケット損失

0

%

パケットを送信する際のパケット損失率を指定します。

形状

Box

-

領域の形状を指定します。(Box/Cylinder/Sphere)

サイズ

1.0, 1.0, 1.0

m, m, m

領域のサイズをXYZで指定します。(形状がBoxの場合のみ)

半径

1.0

m

領域の半径を指定します。(形状がCylinder・Sphereの場合のみ)

高さ

1.0

m

領域の高さを指定します。(形状がCylinderの場合のみ)

位置

0, 0, 0

m, m, m

領域の位置をXYZで指定します。

RPY

0, 0, 0

deg, deg, deg

領域の向きをRoll, Pitch, Yawで指定します。

拡散色

0, 0, 0

-, -, -

領域の拡散色をRGBで指定します。

透過度

0

-

領域の透過度を指定します。

シミュレーションの実行

シミュレーションバーから通常通りシミュレーションを実行してください。シミュレーションに成功するとマルチコライダアイテムの設定に基づいた通信障害の効果が設定されます。効果の適用状況はpingコマンドを使用して確認できます。