rtshell でコンポーネントデータの保存・再生

はじめに

このケーススタディでは、rtshell でRTコンポーネントのデータ管理を行う方法を紹介します。以下の機能を紹介します。

  • コマンドプロンプトでコンポーネントが送信しているデータの表示
  • コマンドプロンプトでコンポーネントにデータを送信する
  • コンポーネントのデータの記録・再生する方法

rtshellとは

rtshellはネームサーバ上に登録されているRTコンポーネントをシェルから管理することができるツールです。コンポーネントをactivate/deactivate/resetしたり、ポートの接続を行うことができます。RTシステムを管理することもできます。

流れ

  • コンポーネントが送信しているデータをコマンドプロンプトで表示する
  • コマンドプロンプトからコンポーネントにデータを送信する
  • コンポーネントが送信するデータをファイルに保存して、そして別のコンポーネントに再生する

rtshell の使うための準備

最初にネームサーバーを起動します。

次はWindows のコマンドプロンプトを起動します。

start_command_prompt.png

環境変数を設定します。コマンドプロンプトで以下のコマンドを実行します。 「RTCTREE_NAMESERVERS」は、rtshell の支援ライブラリrtctree が使う変数で、rtshell が見えるネームサーバーを指定します。

  set RTCTREE_NAMESERVERS=127.0.0.1

rtshell でコンポーネントが登録されているネームサーバー上のフォルダーに移動します。

  rtcwd /127.0.0.1/maia-win7.host_cxt

「maia-win7.host_cxt」はネームサーバーの名です。

データの表示

以下のコンポーネントを起動します。

  • ConsoleInComp

コンポーネントをアクティブ化します。コマンドプロンプトで以下のコマンドを実行します。

  rtact ConsoleIn0.rtc

rtls で結果が確認できます。

rtact_success_rtls.png

次に rtprint コマンドで ConsoleIn0.rtc のポートが出力するデータを表示します。

  rtprint ConsoleIn0.rtc:out

ConsoleIn のウィンドーに数を入力すると、コマンドプロンプトで表示されます。

rtprint_success_comp.png
rtprint_success_console.png

ctrl-c で rtprint を終了します。

データの入力

以下のコンポーネントを起動します。

  • ConsoleOutComp

コンポーネントをアクティブ化します。コマンドプロンプトで以下のコマンドを実行します。

  rtact ConsoleOut0.rtc

rtls で結果が確認できます。

rtact_success_rtls2.png

rtinject コマンドで ConsoleOut のポートにデータを入力します。

  rtinject ConsoleOut0.rtc:in -c "RTC.TimedLong({time}, 42)"

送る値は「-c」オプションで指定します。Python の表現です。「{time}」は自動的にタイムスタンプに変更されます。

ConsoleOut のウィンドーで数が表示されます。

rtinject_success_comp.png
rtinject_success_console.png

データログ作成・再生

rtshell の rtlog コマンドでコンポーネントが出力するデータをファイルに保存して、 別のコンポーネントに入力することができます。

まずは、rtlog で ConsoleIn が出力するデータをファイルに保存します。以下のコマンドを実行したら ConsoleIn のウィンドーに複数の数を入力します。

  rtlog -f numbers.rtlog ConsoleIn0.rtc:out.nums

ポート名の後に「.nums」でデータチャネルの名を指定します。

記録は ctrl-c で終了します。

rtlog_record_comp.png
rtlog_record_console.png

rtlog では、ログファイルのメタデータが表示でい\きます。

  rtlog -f numbers.rtlog -d
rtlog_display.png

データが保存されたら別のコンポーネントに入力できます。以下のコマンドを実行したら ConsoleOut のウィンドーで保存された数が表示されます。

  rtlog -f numbers.rtlog -p ConsoleOut0.rtc:in.nums

「-p」オプションで再生させます。「.nums」でデータチャネルを選択します。

rtlog_playback_comp.png
rtlog_playback_console.png

最新バージョン

初めての方へ

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

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

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

統計

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

OpenHRP3

動力学シミュレータ

Choreonoid

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

OpenHRI

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

OpenRTP

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

産総研RTC集

産総研が提供するRTC集

TORK

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

DAQ-Middleware

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

VirCA

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

Join our slack

Enter email address for slack invite.