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

ダウンロード

最新バージョン

初めての方へ

Windows msi(インストーラ) パッケージ (サンプルの実行ができます。)

C++,Python,Java,
Toolsを含む
1.2.0-RELEASE

RTコンポーネントを開発するためには開発環境のインストールが必要です。詳細はダウンロードページ

統計

Webサイト統計
ユーザ数:1762
プロジェクト統計
RTコンポーネント292
RTミドルウエア23
ツール20
文書・仕様書1

旧Webサイト

OpenRTM.org旧Webサイト

OpenHRP3

動力学シミュレータ

Choreonoid

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

OpenHRI

対話制御コンポーネント群

OpenRTP

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

産総研RTC集

産総研が提供するRTC集

TORK

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

DAQ-Middleware

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

VirCA

遠隔空間同士を接続し、実験を行うことが可能な仮想空間プラットホーム