SimpleService

このサンプルは、OpenRTM-aistのC++版、Python版、Java版に付属しています。

概要

ServicePortの使用方法を示したサンプルです。以下に示すIDLを使用してサービスを定義しています。

 typedef sequence<string> EchoList;
 typedef sequence<float> ValueList;
 
 interface MyService
 {
   string echo(in string msg);
   EchoList get_echo_history();
   void set_value(in float value);
   float get_value();
   ValueList get_value_history();
 };

  • MyServiceConsumerコンポーネントとMyServiceProviderコンポーネントを起動します。
  • Consumer側コンポーネントをActivateすると、コンソールに利用可能なコマンドリストが表示されますので、各コマンドをお試しください。(Port間の接続にはRTSystemEditorを使用してください。)

起動画面

SimpleService_example_rtse_ja.png
SimpleService実行例(RTSystemEditor接続画面)

MyService_example.png
MyServiceConsumerコンポーネントとMyServiceProviderコンポーネントの実行例

使い方

SimpleServiceは、MyServiceConsumerからコマンドを送り、MyServiceProviderでそれを処理させるというサンプルです(※正確には、コマンドの解釈はConsumer側であり、Provider側の関数を呼び出す形で実装されています)。 MyServiceConsumerとMyServiceProviderの対応するポートをRTSystemEditor上で接続し、両コンポーネントをアクティベートします(ActivateするのはConsumer側コンポーネントだけでもよい)とConsumer側プロンプトにコマンド一覧が表示されるので、適当なコマンドを入力してください。Provider側の応答がプロンプト上で観察できます。

  • 手順
    • RTSystemEditorを起動し、新規SystemEditorを開きます。RTSystemEditorの使用方法の詳細についてはRTSystemEditorを参照
    • MyServiceConsumerとMyServiceProviderの両コンポーネントを起動します。

コンポーネントの起動はOSやOpenRTM-aistの言語によって異なりますので、以下の表を参考に起動します。

Windowsの場合 Linuxの場合
MyServiceConsumerコンポーネント MyServiceProviderコンポーネント MyServiceConsumerコンポーネント MyServiceProviderコンポーネント
C++版 MyServiceConsumer.bat MyServiceProvider.bat MyServiceConsumerComp MyServiceProviderComp
Python版 MyServiceConsumer.bat MyServiceProvider.bat MyServiceConsumer.py MyServiceProvider.py
Java版 MyServiceConsumer.bat MyServiceProvider.bat MyServiceConsumer.sh MyServiceProvider.sh
    • RTSystem EditorのName Service Viewに両コンポーネントが現れるので、それらをSystemEditor上にドラッグします。
    • 両コンポーネントの対応ポートを結びます。(上図SimpleService実行例を参照)
    • どちらかのコンポーネントを右クリックし、[Activate Systems]を選択します。(この場合は、Consumer側コンポーネントをActivateするだけでも動作します。)
    • Consumer側プロンプトにコマンドを入力します。
  • コマンド
    • echo <message>:任意の<message>をエコー
    • set_value<value>:任意の<value>をProvider側にセット
    • get_value:現在Provider側にセットされている値を取得して表示
    • get_echo_history:今までのエコーメッセージの履歴をProvider側から取得
    • get_value_history:今までにセットしてきた値の履歴をProvider側から取得

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

Webサイト統計
ユーザ数:2195
プロジェクト統計
RTコンポーネント307
RTミドルウエア35
ツール22
文書・仕様書2

Choreonoid

モーションエディタ/シミュレータ

OpenHRP3

動力学シミュレータ

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク