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_ko.png
SimpleService 실행예(RTSystemEditor 접속 화면)


MyService_example_ko.png
MyServiceConsumer 컴포넌트와 MyServiceProvider 컴포넌트의 실행예


사용법

SimpleService는 MyServiceConsumer로부터 커멘드를 보내 MyServiceProvider로 그것을 처리하는 샘플입니다(※정확하게는, 커멘드의 해석은 Consumer측이며, Provider측의 함수를 호출하는 형태로 구현되고 있습니다). MyServiceConsumer와 MyServiceProvider의 대응하는 포트를 RTSystemEditor상에서 접속해 주십시오. 양 컴포넌트를 액티베이트 하면(Activate 하는 것은 Consumer측 컴포넌트만으로도 됩니다) Consumer측 prompt에 커멘드 일람이 표시되므로, 적당한 커멘드를 입력해 주십시오. Provider측의 응답을 prompt상에서 관찰할 수 있습니다.
  • 순서
    • 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
    • RTSystemEditor의 NameServiceView에 양 컴포넌트가 나타나므로, 그것들을 SystemEditor상에 드래그 합니다.
    • 양 컴포넌트의 대응 포트를 연결합니다.(위 그림 SimpleService 실행예를 참조)
    • 어느 쪽인가의 컴포넌트를 오른쪽 마우스 버튼을 클릭해, 「All Activate」를 선택합니다.(이 경우는, Consumer측 컴포넌트를 Activate 하는 것만으로도 동작합니다.)
    • Consumer측 prompt에 커멘드를 입력합니다.
  • 커멘드
    • echo <message>:임의의 <message>을 에코
    • set_value <value>:임의의 <value>을 Provider 측에 세트
    • get_value:현재 Provider 측에 세트 되고 있는 값을 취득해 표시
    • get_echo_history:지금까지의 에코 메세지의 이력을 Provider측으로부터 취득
    • get_value_history:지금까지 세트 해 온 값의 이력을 Provider측으로부터 취득

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

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

Choreonoid

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

OpenHRP3

動力学シミュレータ

OpenRTP

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

産総研RTC集

産総研が提供するRTC集

TORK

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

DAQ-Middleware

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