このサンプルは、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(); };
SimpleServiceは、MyServiceConsumerからコマンドを送り、MyServiceProviderでそれを処理させるというサンプルです(※正確には、コマンドの解釈はConsumer側であり、Provider側の関数を呼び出す形で実装されています)。 MyServiceConsumerとMyServiceProviderの対応するポートをRTSystemEditor上で接続し、両コンポーネントをアクティベートします(ActivateするのはConsumer側コンポーネントだけでもよい)とConsumer側プロンプトにコマンド一覧が表示されるので、適当なコマンドを入力してください。Provider側の応答がプロンプト上で観察できます。
コンポーネントの起動はOSやOpenRTM-aistの言語によって異なりますので、以下の表を参考に起動します。
モーションエディタ/シミュレータ
動力学シミュレータ
統合開発プラットフォーム
産総研が提供するRTC集
東京オープンソースロボティクス協会
ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク
このサンプルは、OpenRTM-aistのC++版、Python版、Java版に付属しています。
概要
ServicePortの使用方法を示したサンプルです。以下に示すIDLを使用してサービスを定義しています。
起動画面
使い方
SimpleServiceは、MyServiceConsumerからコマンドを送り、MyServiceProviderでそれを処理させるというサンプルです(※正確には、コマンドの解釈はConsumer側であり、Provider側の関数を呼び出す形で実装されています)。 MyServiceConsumerとMyServiceProviderの対応するポートをRTSystemEditor上で接続し、両コンポーネントをアクティベートします(ActivateするのはConsumer側コンポーネントだけでもよい)とConsumer側プロンプトにコマンド一覧が表示されるので、適当なコマンドを入力してください。Provider側の応答がプロンプト上で観察できます。
コンポーネントの起動はOSやOpenRTM-aistの言語によって異なりますので、以下の表を参考に起動します。