Composite

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

概要

複合コンポーネントCompositeの使用方法を示したサンプルです。 複合コンポーネントをActivateする前に、複合コンポーネントを構成している子のコンポーネント間を接続する必要があります。

  • Compositeコンポーネントは、Sensor、Controller、Motorの3つのコンポーネントを子に持っています。
  • Compositeコンポーネントの動作は、ConsoleIn/ConsoleOutコンポーネントと接続して確認できます。

起動画面

  • Compositeコンポーネントを実行すると、Name Service Viewに4つのコンポーネント名が表示されます。
  • Controller、Motor、Sensorの3つを複合化したコンポーネントがPeriodicECShareCompositeですので、これをSystem Editorにドラッグ&ドロップします。
    composite_001.jpg
    Composite実行例(複合コンポーネントをドラッグ&ドロップ)


複合コンポーネント内を表示させるため、PeriodicECShareCompositeをダブルクリックすると、別のエディタに表示されますので、コンポーネント間を接続します。

composite_002.jpg
Composite実行例(複合コンポーネントの子コンポーネント間を接続する)


ここではConsoleIn/ConsoleOutコンポーネントと接続した場合の動作例を示します。

composite_003.jpg
Composite実行例(RTSystemEditor接続画面)


ConsoleInで「111」と入力した場合、ConsoleOutで「888」と表示されれば正しい動作です。 複合コンポーネントを構成している子コンポーネントは、入力値(コンソール画面に表示されている値)を2倍して出力しています。

composite_004.jpg composite_005.jpg
Composite実行例(左:複合コンポーネント画面、右:ConsoleOut画面)

使い方

Compositeのサンプルは、入力データポートから受け取った値を、3つの子コンポーネントがそれぞれ2倍の値にして出力しているので、最終的にCompositeの出力データポートから8倍の値が出力されるサンプルです。

  • 手順
    • RTSystemEditorを起動し、新規SystemEditorを開きます。RTSystemEditorの使用方法の詳細についてはRTSystemEditorを参照
    • Compositeコンポーネントを起動します。コンポーネントの起動はOSやOpenRTM-aistの言語によって異なりますので、以下の表を参考に起動します。
Windowsの場合 Linuxの場合
C++版 Composite.bat Composite
Python版 Composite.bat Composite.py
Java版 Composite.bat Composite.sh
    • RTSystemEditorのName Service ViewにPeriodicECShareCompositeが現れるので、それらをSystemEditor上にドラッグします。
    • PeriodicECShareCompositeをダブルクリックし、子コンポーネント間のポートを結びます
    • ConsoleInとConsoleOutの両コンポーネントを起動し、PeriodicECShareCompositeと対応ポートを接続します。(上図Composite実行例を参照)
    • どちらかのコンポーネントを右クリックし、[Activate Systems]を選択します。

ダウンロード

最新バージョン

初めての方へ

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

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

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

統計

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

Choreonoid

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

OpenHRP3

動力学シミュレータ

OpenRTP

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

産総研RTC集

産総研が提供するRTC集

TORK

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

DAQ-Middleware

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