大経路RTコンポーネント機能仕様

はじめに

本コンポーネントは,自律移動ロボットの大経路計画モジュール群の一部であ り,Windows上で動作するRGISコンポーネントである,RgisOperatorとの通信, データフォーマットの変換を行う。他の大経路コンポーネントや,小経路コン ポーネントから見た場合,RGISとのインターフェースとなる。

大経路のモジュール郡は以下から構成されている。RGISOperator以外はubuntu linux 8.04上で動作する。

概要

環境GIS研究所様作成によるRgisOperatorコンポーネントに接続し,以下の機能を提供する。

入出力

ポート構成

本コンポーネントのポート構成は以下の通り

ポートの構成
名称 ポートの種類 データの型 説明
MapServicePort サービスポート(Consumer)
参照:
RgisOperator_simple.idl
RgisOperatorのMapServiceを受けるためのポート
RouteServicePort サービスポート(Consumer)
参照:
RgisOperator_simple.idl
RgisOperatorのRouteServiceを受けるためのポート
inn (nは数字) 入力ポート TimedString XMLにシリアライズされたオブジェクトを受信するポート。 設定ファイルにて個数を変更可能。デフォルトのポート数は1
out 出力ポート TimedString このコンポーネントの処理結果を出力するポート。 出力データはXMLにシリアライズされて送信されるため,テキスト型である。

入出力データ仕様

MapServiePortおよび,RouteServicePortの通信仕様はRgisOperatorの通信仕様 (RgisOperator_simple.idl)に従う。

入力ポート(in) および出力ポート(out)では,データはXMLにシリアライ ズされて送信される。シリアライズ/デシリアライズにはBoostライブラリ1.34.1を使用している。 送受信のデータフォーマットについては以下のファイル内のデータ定義を参照 のこと。

参照:
baseRTC.h

xml_serdes.h

navigation_data.h

GridMap.h

Localization.h

本コンポーネントが入出力するデータ形式は以下の通りである。ただし,構造 体名の部分はそれぞれXMLにシリアライズされた文字列とする。

data = header, object-data;

header = baseRTC::Header;

object-data = NavData::PotentialGrid 

            | NavData::PathNodes 

            | NavData::CommandString 

            | NavData::TaggedPoint 

            | Localization 

            | GridMap 

            ;

ディレクトリ構成

RTCモジュール群の中での位置

[mod_path_planトップディレクトリ]
├── common
│   ├── include
│   └── lib
├── GlobalNavigationRtc
│   ├── bin
│   ├── doc
│   │   └── html
│   └── src
│       └── doc
│           └── images
(以下略)

GlobalNavigationRtcモジュール内の構成

GlobalNavigationRtc
├── bin                         バイナリ
│   ├── GlobalNavigation.xml     コンポーネント設定ファイル
│   ├── GlobalNavigationComp     コンポーネントバイナリ
│   └── rtc.conf                 コンポーネント設定ファイル
├── doc                         ドキュメント
│   └── html                      HTMLファイル群
└── src                         コンポーネントのソースディレクトリ
    ├── Doxyfile
    ├── GlobalNavigation.xml
    ├── GlobalNavigation.yaml
    ├── GlobalNavigationComp.cpp
    ├── GlobalNavigationRTC.cpp
    ├── GlobalNavigationRTC.h
    ├── Makefile
    ├── RgisOperator_simple.idl
    ├── RgisOperator_simpleDynSK.cc
    ├── RgisOperator_simpleSK.cc
    ├── RgisOperator_simpleStub.cpp
    ├── config_data.cpp
    ├── config_data.h
    ├── cur_pos.h
    ├── debug_utils.cpp
    ├── debug_utils.h
    ├── gnav.cpp
    ├── gnav.h
    ├── rtc.conf
    ├── service_if.cpp
    ├── service_if.h
    └── mainpage.txt

使用方法

開発/動作環境

開発/動作チェックはUbuntu 8.04.3 にて行った。

起動

起動順序は以下の通り。以下の方法はEclipse上のRTSystemEditorで行うことを想定している。

  1. 事前準備
    • OmniORBネームサービスの設定が適切に行われていること
    • WindowsPC上でRGISOperatorコンポーネントを起動する
    • RGISOperatorの設定を行う(Eclipse上のRTSystemEditorから行っても,あらかじめデフォルトの設定ファイルを書き換えておいても良い)
  2. コンポーネントのバイナリを実行する
    • バイナリの置き場所に移動
    • $ ./GlobalNavigationComp
  3. ポートを接続する。
    connection2.png

    ポート接続の例


    • MapServiceをRGISOperatorのMapServicePortへ接続
    • RouteServiceをRGISOperatorのRouteServicePortへ接続
    • 入力ポートをXMLを生成するコンポーネントへ接続
    • 出力ポートをXMLを受信するコンポーネントへ接続
  4. コンポーネントをアクティベートする。

上記の接続図では,入力ポートの一つをgenxml(テスト用,xml生成コンポーネ ント) 出力ポートの一つをMapViewRTC(地図表示用GUIコンポーネント)に接続している。 入力ポートからは,現在値,目的地などのデータを受信する。出力ポートには, ポテンシャルマップや経路データなどが送信される。

終了

終了順序は以下の通り

  1. 本コンポーネントをディアクティベートする
  2. コンポーネントを終了する

設定用XMLファイルについて

本コンポーネントは,初期化時に設定ファイルを読み込む。RTCのコンフィグで 読み込むファイルを設定可能である。デフォルトでは,バイナリが起動された ディレクトリにあるGlobalNavigation.xmlである。現在設定可能な項目は下記 の通りである。それ以外のタグを指定しても無視される。

ビルド方法

doc/READMEを参照


大経路コンポーネントに対してThu Jun 17 20:25:25 2010に生成されました。  doxygen 1.5.5