rtshell(CUIツール)

イントロダクション

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

このツールは、リソースの少ないシステム、GUIが利用できない環境(特に、コン ポーネントを管理する他のPCとネットワークがつながっていない環境等)、ある いはRTSystemEditorがどうしても利用できない場合等に有効です。コマンドライ ンの利用に精通している人にとっては特に便利なツールです。

このソフトウエアはNEDO (独立行政法人 新エネルギー・産業技術総合開発機構) の次世代ロボット知能化技術開発プロジェクトの支援により、独立行政法人産業 技術総合研究所によって開発されています。管理番号H23PRO-1214.

This software is licensed under the GNU Lesser General Public License version 3 (LGPL3). See LICENSE.txt.

必要条件

  • RTCTree 以上が必要となります.
  • RTSProfile が必要となります。
  • Python 2.7が必要となります。
  • rtprint、rtinjectおよびrtlogはOpenRTM-Python-1.0.0以上が必要となります。
  • omniORB-py 4.x 以上が必要となります。
  • ソースからのインストールの場合は、ドキュメントをコンパイルするために Sphinx が必要となります。

pip によりインストールする場合は、RTCTree と RTSProfile は自動的に インストールされます。

インストール

インストールはいくつかの方法が利用可能です。

  • (好ましい方法)pip を利用してPyPiからインストールする。
    1. 必要にお応じて pip をインストールします。 https://pip.pypa.io/en/latest/installing/ に参照してください:
    1. pip を実効します。

 $ pip install rtshell

    1. 以下のコマンドを実効し、インストール後のアクションを行います:

 $ rtshell_post_install

    1. Windows上では、必要に応じて環境変数を設定します。通常デフォルトで 設定されていますが、設定されていない場合は自分で設定する必要が あります。Pythonスクリプトのディレクトリが PATH 環境変数に設定され ていることを確認してください。通常、これらは C:\Python27\Scriptsです(Pythonが C:\Python27\ にインストールされた場合)。
  • リポジトリまたはソースアーカイブからダウンロード後、適当なディレクトリで 解凍し、インストールする。
    1. ソースを展開する:

 $ cd /home/blurgle/src/
 $ tar -xvzf rtshell.tar.gz

    1. setup.pyを実行する:

 $ python setup.py install

    1. 以下のコマンドを実効し、インストール後のアクションを行います:

 $ rtshell_post_install

    1. Windows上では、必要に応じて環境変数を設定します。通常デフォルトで 設定されていますが、設定されていない場合は自分で設定する必要が あります。Pythonスクリプトのディレクトリが PATH 環境変数に設定され ていることを確認してください。通常、これらは C:\Python27\Scriptsです(Pythonが C:\Python27\ にインストールされた場合)。
  • Windows上では、インストーラプログラムを利用してインストールすることが 可能です。

リポジトリ

最新版のソースはgithubでGitのリポジトリにあります(URL: http://github.com/gbiggs/rtshell )。「Download source」をクリックしてダウンロードをすることができます。「git clone」を使うこともできます。パッチを送りたがったら、この方法がおすすめ します:

  $ git clone git://github.com/gbiggs/rtshell.git

ドキュメント

ドキュメントはマンページとして提供します(Windowsの場合はHTMLに提供しま す)。${prefix}/share/man にインストールされます。このパスを $MANPATH という環境変数に追加する必要です。例えば、RTShellは /home/blurgle にインストールされた場合、以下の行を .bashrc に追加して ください:

 export MANPATH=/home/blurgle/share/man:${MANPATH}

テストの実効

コマンドのテストはソースダイレクトリから実効することができます:

 ~/src/rtshell $ ./test/test_cmds.py ~/share/OpenRTM-aist/examples/rtcs/

変数はRTCのモジュールを持つダイレクトリです。Motor、Controller およびSensorのモジュールが必要です。

一つのコマンドのテストだけを実効するの場合、そのテストの名を変数に追加 してください:

 $ ./test/test_cmds.py ~/share/OpenRTM-aist/examples/rtcs/ rtactTests

rtctreeモジュール

Unbalanced tokens, check your syntax

rtsprofileモジュール

rtsprofileはPythonでRTSProfile仕様を利用するためのライブラリです。

概要

rtsprofileはRTシステムプロファイル(RTSProfile)の仕様のインタフェースライブラリです。この仕様は完全なRTシステムを記述し、システムを復元することや管理することができます。XMLもYAMLを利用可能です。

このソフトウエアはNEDO (独立行政法人 新エネルギー・産業技術総合開発機構) の次世代ロボット知能化技術開発プロジェクトの支援により、独立行政法人産業技術総合研究所によって開発されています。

必要条件

  • Python 2.5以下では存在しない機能を使うので、Python 2.6 以上が必要となります。
  • Ubuntu 9.04を使っていたら、手動でPython 2.6をインストールすることが必要となります。Ubuntu 9.04以上をおすすめします。

インストール

インストールはいくつかの方法が利用可能です。

  • リポジトリ(参照:以下のリポジトリ)またはソースアーカイブからダウンロード後、適当なディレクトリで解凍し、インストールする:
    1. ソースを展開する。
       $ cd /home/blurgle/src/
       $ tar -xvzf rtsprofile-2.0.0-tar.gz
    2. setup.pyを実行する。
       $ python setup.py install
    3. 必要に応じて、環境変数を設定します。これはデフォルトで設定されていますが、設定されていない場合は自分で設定する必要があります。Windows上では、Python の site-packages ディレクトリが PYTHONPATH 環境変数に、Pythonスクリプトのディレクトリが PATH 環境変数に設定されていることを確認してください。通常、これらは C:\Python26\Lib\site-packages\C:\Python26\Scripts\ です(PythonがC:\Python26\にインストールされた場合)。
  • Windows ではインストーラの使用を推奨します。setup.py を利用すれば結果より容易に設定することができます。ただし、環境によってはさらに環境変数の設定が必要な場合があります。

使い方

ライブラリはRtsProfleのクラスを提供します。このクラスのインスタンスを作った後、RTSProfileのファイルを渡すことで完全なRTシステムプロファイルが作られます。もしくは、手動で既存のRTシステムのRTシステムプロファイルを作成し、ファイル名を渡し、そのファイルにRTSProfileを保存します。

クラスの情報はPythonのpropertyでアクセスします。メソッドではありません。

APIの詳細はDoxygenで構成されたドキュメンテーションを参照してください。

テストの実行

ソースにサンプルファイルとテストのスクリプトが含めています。以下のようなコマンドで実行が可能です。

 $ python test/test.py ./test/rtsystem.xml
 $ python test/test.py ./test/rtsystem.yaml

PYTHONPATHの値によって、テストはインストールされたrtsprofileを使う可能性はあります。

API naming conventions

rtsprofileはPythonの標準スタイルに従います。PEP8に参照してください。

最も重要な点は、プライベートな内部API関数はアンダースコア(「_」)で始まることです。アンダースコアで始まる関数はクラス外から証すべきではありません。もし使用した場合には、未定義の振る舞いを引き起こす可能性があります。アンダースコアで始まらず、docstringがある関数だけを使ってください。

より詳細なドキュメンテーションとサンプル

より詳細なドキュメンテーションはDoxygenで記述されたドキュメンテーションを参照してください。

サンプルはrtsshellのソースに参照してください。

リポジトリ

最新版のソースはgithubでGitのリポジトリにあります。「Download source」をクリックしてダウンロードをすることができます。「git clone」を使うこともできます。パッチを送りたがったら、この方法がおすすめします。

 $ git clone git://github.com/gbiggs/rtsprofile.git

Changelog

2.0

  • Message Sendingの情報の解析を修正しました。
  • PrecedingConditionのタイムアウトのデータ型を整数にしました。
  • YAMLフォーマットを使えるようにしました。
  • テストを追加しました。
  • Preceding Conditionsのデフォルトを"SYNC"に変更しました。
  • バグフィクス