Download
latest Releases : 2.0.0-RELESE
2.0.0-RELESE | Download page |
Number of Projects
RT-Component | 153.5 |
RT-Middleware | 35 |
Tools | 22 |
Documentation | 2 |
Choreonoid
Motion editor/Dynamics simulator
OpenHRP3
Dynamics simulator
OpenRTP
Integrated Development Platform
AIST RTC collection
RT-Components collection by AIST
TORK
Tokyo Opensource Robotics Association
DAQ-Middleware
Middleware for DAQ (Data Aquisition) by KEK
書式
rtlog [OPTION ...] PATH:PORT [PATH:PORT ...]
概要
コンポーネントがデータポートで送るデータをログファイルに保存したり、ログファイルに記録したデータをコンポーネントに送ったり(再生)します。複数のポートでも記録が可能です。ログされたコンポーネントの出力データを再現するためにログファイルを再生しコンポーネントに送ることもできます。
ログの複数データストリームから再生されたストリームを選択できます。例えばログに複数のレーザセンサーからのデータが保存されてる場合、その中から特定の1つのみのレーザセンサー・データを再生できます。再生はログの始まりだけではなくて途中から途中までをという形や、再生レートを変えたりできます。また出力されたデータのタイムスタンプを編集できます。
デフォルトはログの保存です。コマンドで指定したポートはすべてOutPortである必要があります。再生モードの場合は、ポートはすべてInPortの必要があり、また、ログされたデータの型にポートが受付可能な型は一致している必要があります。
ログで記録されるそれぞれのポートは一つのデータストリームを作ります。再生時、このデータストリームはそれぞれ複数のInPortに送ることができます。データストリームは名前で区別されます。名前はコマンドラインで指定できますが、指定されなかった場合は、デフォルトの名前が自動的に使われます。
ログツールから目的のポートまでの接続はデフォルトのプロパティーで作られます。
オプション
パス
rtshellはパスでRTCツリーのオブジェクトを示します。ネームサーバーとネームコンテクストはディレクトリ名として指定され、マネージャとRTコンポーネントはファイル名として指定されます。コマンドに渡したパスはrtshellの現在の作業ディレクトリを元に指定されます。(相対パスの場合)。rtshellの現在の作業ディレクトリはRTCSH_CWDという環境変数に保存されて、rtcwdというコマンドで変更できます。(現時点でrtcwdコマンドはLinux環境では動作していません)
利用できるパスはコマンド実行時に参照しているネームサーバーによって変わります。ネームサーバーが実行されているホスト名はRTCTREE_NAMESERVERSという環境変数で指定できます。また、直接ルート直下のパスとして/<ホスト名>/....のような形でネームサーバーが実行されているホストを指定できます。
例えば、/localhost/comp0.rtcはlocalhostにあるネームサーバーに登録されたcomp0.rtcというRTコンポーネントを示します。/localhost/manager/comp0.rtcはlocalhostにあるネームサーバーの下のmanagerというディレクトリに登録されたcomp0.rtcというRTコンポーネントを示します。./comp0.rtcは現在の作業ディレクトリにあるcomp0.rtcというRTコンポーネントを示します。
RTコンポーネントのポートを示す場合、パスの後にコロン(「:」)で区切って指定します。例えば、/localhost/comp0.rtc:dataはcomp0.rtcというRTコンポーネントのdataというポートを意味します。
新しいポートを作れるコマンドもあり、この場合、オプションでそれらをパスに追加できます。使えるオプションは作られるポートの名前とフォーマッタです。指定方法は以下の通りです:
例:
新たに作られるポートの名前はstuffで、データはa_printerという関数(フォーマッター)でターミナルに表示するように指定しています。(a_printerの関数はPythonが利用可能な場所に存在する必要があります。普通はユーザーがモジュールで提供します)。作られたポートはcomp0.rtcのinputというポートに接続されます。これはストリーム名を指定するのにもつかわれます。
<new_port_name>という部分は必須ではありません。指定しない場合は"."も指定しないでください。例:
<formatter>という部分は必須ではありません。書いていない場合は"."も指定しないでください。例:
環境変数
一般的な利用ではユーザーが設定する変数はRTCTREE_NAMESERVERSのみです。よく使うネームサーバーを設定しておくと便利です。例えば、Bashシェルの場合、以下のコマンドはlocalhostとポート192.168.0.1:65346およびホストexample.comにあるネームサーバーをrtshellが参照できるようにします。
返り値
成功の場合はゼロを返します。失敗の場合はゼロではない値を返します。
デバッグ情報とエラーはstderrに出力されます。
例