RTコンポーネント
・大域地図生成RTC
このRTコンポーネントは大域地図を生成するために用います。 生成している大域地図はサービスポートから利用することができます。 また、生成された地図はディアクティベート時に画像として実行ファイルと同じフォルダ上に保存されます。 ![]() 大域地図生成の様子
RangeDataおよびRobotPoseは必ず接続して下さい。 生成された地図はAbsoluteMapServiceポートを用いることで取得できます。 また、地図上のロボットの自己位置はEstimatedPoseおよびPosePairから出力されます。
Particleは地図生成に用いるパーティクルの数です。 また、debug_windowを非ゼロに設定することで地図生成の様子を確認するためのウィンドウが表示されます。 使用例
このRTコンポーネントは局所地図を生成するために用います。 ![]() 生成された局所地図の例
rangedataおよびposeは必ず接続して下さい。 生成された地図はRelativeMapServiceポートを用いることで取得できます。
使用例
このRTコンポーネントは大域経路を計画するために用います。
使用例
このRTコンポーネントは大域地図とLRFのデータから人物位置を絶対座標系で検出するために用います。
estimated_poseポート以外は必ず接続して下さい。 estimated_poseを接続しない場合はrobot_poseにはロボットの絶対座標系での位置を格納したデータを入力して下さい。 estimated_poseを接続する場合はestimated_poseには大域地図生成RTC等が出力したデータを、robot_poseには大域地図生成RTC等に入力したのと同じロボットのオドメトリデータを入力して下さい。
thresholdには地図データの各セルの値に対する閾値(0.0〜1.0)を設定します。 この値において、0.0に近いほど障害物の存在確率が高く、1.0に近いほど自由に動ける場所である可能性が高いと定義されます。 そして、この値より小さい値を持つセルを障害物領域として扱います。 MRFC::AbosoluteMapServiceにはoctet型の地図とfloat型の地図の2種類の実装があり、 map_typeの値でどちらを用いるのかを指定することができます。 0のときはoctet型、非ゼロのときはfloat型の地図を用います。 使用例
このRTコンポーネントは大域地図(絶対座標系地図)を基に大域経路計画を行うために必要なエリア情報を生成して出力します。
このRTコンポーネントは大域地図上の自己位置を推定するために用います。 利用する大域地図はサービスポートから受け取ります。
RangeDataおよびRobotPoseは必ず接続して下さい。 地図上のロボットの自己位置はEstimatedPoseおよびPosePairから出力されます。
Particleは自己位置推定に用いるパーティクルの数です。 また、debug_windowを非ゼロに設定することで自己位置推定の様子を確認するためのウィンドウが表示されます。 USE_INIT_POSEを非ゼロに設定するとINIT_X, INIT_Y, INIT_HEADINGで指定した座標を初期位置として自己位置推定を開始します。 USE_INIT_POSEが0の場合は環境全体からロボットの位置を推定します。 このRTコンポーネントは大域地図(絶対座標系地図)を表示するために用います。 ![]() 大域地図表示RTCの表示例
大域地図を取得するAbsoluteMapServiceポートは必ず接続して下さい。 その他のポートは接続されていなくても問題はありません。 ポートrobot_poseから入力された位置・姿勢情報はオレンジの丸と向きを表す線で表示されます。 同様にposesから入力された位置・姿勢系列は赤の丸と線で表示され、 personsから入力された人物位置系列は緑の丸で表示され、 pathから入力された経路情報は水色の丸と線およびそれを結ぶ線で表示されます。 また、 AreaInfoServiceから得られた情報は紫の線で分割空間の輪郭が表示されます。
color_reverseが0の場合は各セルでの障害物の存在確率が高いほど白く低いほど黒く表示されます。 この値を非ゼロに設定すると逆になります。 MRFC::AbosoluteMapServiceにはoctet型の地図とfloat型の地図の2種類の実装があり、 map_typeの値でどちらを用いるのかを指定することができます。 0のときはoctet型、非ゼロのときはfloat型の地図を用います。 view_scaleの値を変更することで地図の表示を拡大・縮小することができます。 使用例
このRTコンポーネントは局所地図(ロボット座標系地図)を表示するために用います。 ![]() 局所地図表示RTCの表示例
局所地図を取得するRelativeMapServiceポートは必ず接続して下さい。 peopledataポートは接続されていなくても問題はありません。 ロボットの位置・姿勢情報は中心にオレンジの丸で表示されます。ロボットの進行方向は上方です。 ポートpeopledataから入力された人物の位置・速度は緑の丸と線で表示されます。 また、追従対象の人物は赤色で表示されます。
color_reverseが0の場合は各セルでの障害物の存在確率が高いほど白く低いほど黒く表示されます。 この値を非ゼロに設定すると逆になります。 MRFC::AbosoluteMapServiceにはoctet型の地図とfloat型の地図の2種類の実装があり、 map_typeの値でどちらを用いるのかを指定することができます。 0のときはoctet型、非ゼロのときはfloat型の地図を用います。 robot_radiusおよびperson_radiusの値を変更することで、ロボットおよび人物の表示される円の半径をそれぞれ変更することができます。 view_scaleの値を変更することで地図の表示を拡大・縮小することができます。 使用例
データポートから受け取った文字列を表示する。
このRTCはエリア情報生成RTCが実行後に保存したデータを読み込んで地図データおよびグラフ情報を出力します。
このRTCは画像として保存された地図を読み込み、サービスポートから大域地図として提供します。 ただし、地図を読み込む際に2値化してその画素値を障害物の存在確率とするため、未知領域の情報は失われてしまいます。 また、起動時に大域経路計画を行うために必要なグラフ情報を生成します。その処理のため起動に時間がかかります。
MapDataには読み込む地図画像のファイル名を、InputMapScaleには読み込む地図のスケールを正しく指定して下さい。 このRTCは画像として保存された地図を読み込み、サービスポートから大域地図として提供します。 ただし、地図を読み込む際に2値化してその画素値を障害物の存在確率とするため、未知領域の情報は失われてしまいます。
MapDataには読み込む地図画像のファイル名を、InputMapScaleには読み込む地図のスケールを正しく指定して下さい。 使用例
コンフィグレーションで設定した値を持つ位置・姿勢データを出力し続けるコンポーネントです。
使用例
コンフィグレーションで設定した値を持つ要素数1の位置・姿勢系列データを出力するコンポーネントです。 コンフィグレーションのcontinuous_outputが0の場合は最初に一度だけデータを出力して自動的にディアクティベートします。 また、continuous_outputが非ゼロ(繰り返し出力を続ける状態)でかつdeactivate_to_stopが非ゼロの場合には ディアクティベートした際に空の(要素数0の)データが出力されます。 これは大域経路計画に用いる際にはロボットを停止させる命令として機能します。
使用例
コンフィグレーションで設定した値を持つ位置・姿勢データおよび要素数1の位置・姿勢系列データを出力するコンポーネントです。 コンフィグレーションのcontinuous_outputが0の場合は最初に一度だけデータを出力して自動的にディアクティベートします。 また、continuous_outputが非ゼロ(繰り返し出力を続ける状態)でかつdeactivate_to_stopが非ゼロの場合には ディアクティベートした際に空の(要素数0の)データが出力されます。 これは大域経路計画に用いる際にはロボットを停止させる命令として機能します。
使用例
環境シミュレータは屋内環境、そこで行動するロボット、そして環境内の人の動きを再現します。
このシミュレータはセンサ出力や人物検出結果、地図などさまざまな情報を出力します。
また、ロボット制御命令(指定する速度)を入力することによってシミュレータ上の仮想移動ロボットを制御することができます。
![]() シミュレーションの様子
各ポートの利用方法およびコンフィグレーションについてはドキュメントを参照してください。 使用例
このコンポーネントは芝浦工業大学 ヒューマンロボットインタラクション研究室が開発した WiiRemoteComponentsと接続し、Wiiリモコンへのボタン入力をロボットの動作命令に変換します。 これによってWiiリモコンによるロボットの制御を可能にします。 このRTCを利用するにはWiiリモコンおよびBluetoothの機能を備えたPC(またはBluetoothドングル)が必要です。
使用例
|