rtshell(CUI툴)

서론

rtcshell은 네임서버 상에서 등록되어 있는 RT컴포넌트를 셸에서 관리할 수 있게 하는 툴입니다. 컴포넌트를 activate/deactivate/reset하거나, 포트의 접속을 할 수 있습니다. RT시스템 을 관리하는 것도 가능합니다.

이 툴은 리소스가 적은 시스템, GUI를 사용할 수 없는 환경(특히, 컴포넌트를 관리하는 다른 PC와 네트워크가 연결되어 있지 않은 환경등) 혹은 RTSystemEditor를 사용할 수 없는 경우 등에 유효합니다. 커멘드 라인 입력에 정통한 분에게 있어서는 특히 편리한 툴입니다.

이 소프트웨어는 NEDO(독립행정법인 신 에너지・산업기술 종합개발 기구) 의 차세대 로봇 지능화 기술 개발 프로젝트의 지원에 의해, 독립행정법인 산업기술 종합연구소에서 개발되고 있습니다. 관리번호 H23PRO-1214.

This software is licensed under the Eclipse Public License -v 1.0 (EPL). See LICENSE.txt.

필요 조건

  • rtctree 3.0 이상이 필요합니다.
  • rtsprofile-2.0가 필요합니다.
  • Python 2.5이하에서는 존재하지 않는 기능을 사용하므로, Python 2.6 이상을 필요로 합니다.
  • rtprint、rtinject 및 rtlog는 OpenRTM-Python-1.0.0 이상을 필요로 합니다.
  • Ubuntu 9.04를 사용한다면, 수동으로 Python 2.6을 인스톨 해야 합니다. Ubuntu 9.04 이상을 추천합니다.

인스톨

인스톨은 몇가지 방법이 있습니다.

  • 리포지터리 또는 소스 어카이브에서 다운로드 후, 적당한 디렉토리에 압축을 해제하고 그 디렉토리에서 커멘드를 실행한다.
  • 리포지터리 또는 소스 어카이브에서 다운로드 후, 적당한 디렉토리에 압측을 해제하고 인스톨합니다.
    1. 소스를 전개한다:

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

    1. setup.py를 실행한다:

 $ python setup.py install

    1. 필요에 따라 환경변수를 설정합니다. 이것은 디폴트로 설정되어 있지만, 설정되어 있지 않은 경우는 직접 설정합니다. Windows상에서는 Python의 site-packages 디렉토리가 PYTHONPATH 환경변수에, Python스크립트의 디렉토리가 PATH 환경변수에 설정되어 있는 것을 확인해 주십시오. 통상, C:\Python26\Lib\site-packages\ 과 C:\Python26\Scripts\ 입니다(Python이 C:\Python26\에 인스톨된 경우).
  • Windows에서는 인스톨러 사용을 추천합니다. setup.py을 이용한다면 결과보다 용이하게 설정하는 것이 가능합니다. 단, 환경에 따라서는 더욱이 환경 변수의 설정이 필요한 경우가 있습니다.
  • Windows가 아닌 경우, 셸 스크립트를 인스톨 해야 합니다. ${prefix}/share/rtshell/shell_support(${prefix}는 rtcshell 이 인스톨 된 디렉토리)라는 파일을 source 커멘드로 로드해 주십시오(예는 rtshell 이 /usr/local에 인스톨 된 경우):

 source /usr/local/share/rtshell/shell_support

언제나 새로운 셸을 실행하기 위해 커멘드를 실행할 필요가 없도록 아래의 행을 .bashrc등의 파일에 추가해 주십시오 (rtshell 이 /usr/local에 인스톨 된 경우):

 source /usr/local/share/rtshell/shell_support

도큐먼트

도큐먼트는 MAN 페이지로서 제공합니다(Windows의 경우는 HTML로 제공합니다.). ${prefix}/share/man에 인스톨 됩니다. 이 경로를 $MANPATH라는 환경변수에 추가해야 합니다. 예를들어 rtshell이 /usr/local에 인스톨 된 경우, 이하의 행을 .bashrc에 추가해 주십시오:

 export MANPATH=/usr/local/share/man:${MANPATH}

스크린 캐스트

rtshell의 사용법의 데모를 소개하는 스크린 캐스트는 OpenRTM-aist의 Youtube채널 에 있습니다.

리포지터리

최신판의 소스는 github에 Git의 리포지터리에 있습니다(URL: http://github.com/gbiggs/rtshell ). 「Download source」를 클릭해 다운로드를 할 수 있습니다. 「git clone」을 사용할 수도 있습니다. 패치를 보내고 싶다면, 이 방법을 추천합니다:

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

테스트 실행

커멘드의 테스트는 소스 디렉토리에서 실행하는 것이 가능합니다:

 ~/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

Changelog

3.0

  • rtcshell과 rtsshell을 통합하였습니다.
  • 커멘드의 도큐먼트를 작성했습니다.
  • 새 커멘드:rtdoc(컴포넌트의 도큐먼트를 표시 - 松坂씨 제공)
  • 새 커멘드:rtexit(컴포넌트를 종료)
  • 새 커멘드:rtlog(로그의 기록, 재생)
  • 새 커멘드:rtcheck(기동중의 RT시스템과 저장된 RTSProfile을 비교)
  • 새 커멘드:rtcomp(컴포지트 컴포넌트를 작성)
  • 새 커멘드:rtstodot(기동중의 RT시스템을 그래프에 표시 - 松坂씨 제공)
  • 새 커멘드:rtvis(기동중의 RT시스템을 그래프에 표시)
  • rtconf의 세트명, 파라메터명 등 값의 변경시 bash보간 기능을 사용할 수 있도록 대응하였습니다.
  • 셸 서포트 파일을 합쳤습니다.
  • rtconf의 커멘드 라인을 수정했습니다.
  • 좀비 오브젝트를 대응했습니다.
  • rtls로 좀비를 표시하도록 했습니다.
  • rtdel로 모든 좀비를 삭제하도록 했습니다.
  • rtctree에서의 트리 구조를 빠르게 작성하기 위해 패스 필터를 서포트 하였습니다.
  • rtcat:한개의 포트 정보만을 표시하는 오브젝트를 추가하였습니다.
  • rtcat:--ll을 -ll로 변경하였습니다.
  • rtcat:컴포지트 컴포넌트의 정보를 표시합니다.
  • rtcryo:RtsProfile를 표준출력에 출력합니다.
  • rtdis:ID에 의해 커넥션을 삭제하는 옵션을 추가했습니다.
  • rtinject/rtprint:유저 정의 데이터 형을 대응했습니다.
  • rtprint:데이터를 한번 받아 종료하는 옵션을 추가했습니다.
  • rtprint:유저 정의의 데이터 포매터를 대응했습니다.
  • rtprint:Python의 데이터를 표시하는 옵션을 추가했습니다.
  • rtinject:표준입력으로 Python의 데이터를 사용할 수 있도록 하였습니다.
  • rtresurrect:기존 존재하는 접속을 재작성하지 않도록 하였습니다.
  • rtteardown:커넥터ID가 맞지 않는 경우 에러를 출력하고 종료합니다.
  • rtresurrect/rtstart/rtstop/rtteardown:표준 입력으로 입력을 받습니다.
  • rtsshell에서의 커멘드를 라이브러리로서 사용할 수 있도록 했습니다.
  • 테스트를 추가하였습니다.

rtcshell-2.0

  • Windows 대응을 위한 조정.
  • 부모 디렉토리를 나타내는 패스의 취급 방법을 수정했습니다.
  • 새로운 커멘드:rtdel
  • 새로운 커멘드:rtinject
  • 새로운 커멘드:rtprint
  • rtcat:알수없는 접속의 수를 표시합니다.
  • 리팩터링:모든 커멘드를 Python의 스크립트로부터도 간단하게 사용할 수 있도록 했습니다.
  • 셸 보완 기능의 추가(鈴木 圭介씨 제공)
  • rtcwd를 csh계의 셸로 사용할 수 있도록 했습니다.
  • rtcat:rtctree로부터 취득할 수 있게 된 실행 컨텍스트에 관한 새로운 정보를 표시합니다.
  • rtls:ls와 일치하도록 재귀 옵션을 -r에서 -R로 변경했습니다.
  • rtls:알수없는 오브젝트를 죽은 파일로서 표시합니다.

rtsshell-2.0

  • 셸 보완 기능의 추가(鈴木 圭介씨 제공)
  • 플래닝 기능의 추가

ダウンロード

最新バージョン : 2.1.0-RELESE

統計

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

OpenRTM@Github

OpenRTM-aist GitHubサイト

ROS

Robot Operating System

Choreonoid

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

DAQ-Middleware

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

産総研が提供するRTC集

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