OpenRTM-aist (Java버전) 1.x계열 인스톨

여기에서는 OpenRTM-aist(Java버전)의 UNIX에의 인스톨 방법을 설명합니다. ※이후의 설명은 편의상 OpenRTM-aist-1.0.0에 대해서 쓰여져 있습니다.

Linux에서의 인스톨

Java버전 OpenRTM-aist는, Zip파일을 전개하는 것으로써 인스톨을 할 수 있습니다.

동작 조건

인스톨의 흐름

인스톨은 다음의 3개의 요건이 갖추어지는 것으로 완료합니다.

Java의 인스톨

OpenRTM-aist-Java는 J2SE5.0(JDK5)상에서 동작합니다. 대상 플랫폼 용의 J2SE에 대해서는 아래의 사이트 등을 참고해 주십시오.

인스톨의 실행

각 배포에 대해 JDK5의 인스톨 방법을 JDK 인스톨을 위한 힌트 에 정리했으므로 참고로 해 주십시오. 덧붙여 Java의 인스톨은 슈퍼 유저의 권한으로 행하여 주십시오.


※ Fedora Core 에의 Java의 인스톨에 대해서는 몇가지 주의가 필요합니다:

 → ''FAQ:'' Java를 인스톨 할 때 FedoraCore로의 대응에 대해

 → ''FAQ:'' Q. Fedora Core상에서 RtcLink의 NameService View에 에러가 발생하는 경우

인스톨의 확인

터미널을 기동해

 $ java -version
라고 입력합니다. 인스톨 한 Java의 버전이 표시되면 인스톨은 완료입니다.

 java version "1.5.0_15"
 Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_15-b04)
 Java HotSpot(TM) Client VM (build 1.5.0_15-b04, mixed mode, sharing)

OpenRTM-aist-Java의 인스톨

Zip파일의 다운로드와 압축 해제

여기에서 「jar파일 및 샘플」을 다운로드해, zip파일을 임의의 장소에 압축을 해제합니다. 임의의 장소도 괜찮습니다만, 디렉토리 구조는 변경하지 말아 주십시오. 또, 이 압축을 해제하는 장소에 포함되는 「jar」폴더에의 패스는 다음에 채택하는 시스템 환경 변수 RTM_JAVA_ROOT로 설정하지 않으면 안됩니다.

유저 설정의 어떤 이유로 압축 해제 후의 폴더 구조를 자유로운 배치·자유로운 선택으로 하고 싶은 경우는 여기 를 참조해 주십시오.


참고:

 → ''FAQ:'' Q. 임의의 폴더에 클래스 패스를 설정해 Ant 빌드를 실시하는 방법은?

환경 변수의 설정

환경 변수의 설정을 실시합니다. 로그인 셸이 bash의 경우는 .bashrc를, csh의 경우는 .cshrc를… 등 적당한 설정 파일을 선택해, 다음과 같은 설정을 기술해 둡니다. 또는, 각각의 유저에 대해서가 아닌 시스템 와이드로 설정을 하고 싶은 경우에는, 설정 파일로서 /etc/profile 등을 선택하는 방법도 있습니다.
  • 변수명 : RTM_JAVA_ROOT
  • 변수치 : 압축을 해제한 디렉토리 이하에 포함되는 「jar」디렉토리※※까지의 베이스 경로(「jar」디렉토리의 부모 디렉토리에의 전체 경로)

예를 들면, 로그인 셸이 bash인 경우로 OpenRTM-aist-Java를 /usr/lib 이하에 압축을 해제했을 경우를 생각했을 때, .bashrc(혹은 /etc/profile)의 말미에 다음의 문장을 추가합니다.

 export RTM_JAVA_ROOT=/usr/lib/OpenRTM-aist/<version>
이 설정 파일의 편집을 완료한 후,
 > source ~/.bashrc
의 커멘드를 입력 하거나(.bashrc에 환경 변수를 설정했을 경우), 시스템을 재기동합니다.


환경 변수 RTM_JAVA_ROOT를 .bashrc(bash의 경우)등의 유저 설정으로 했는지 또는, /etc/profile(bash의 경우) 등에 시스템 와이드로 설정했는지에 의해 GUI 툴인 Eclipse의 기동 방법이 바뀝니다. → Eclipse의 기동 방법 을 참조

※※압축 해제시에는 「jar」디렉토리는 클래스 라이브러리 「OpenRTM-aist-X.X.X.jar」(X.X.X는 버전)과 「commons-cli-1.1.jar」의 두 개의 파일을 포함한 상태로 「OpenRTM-aist\<version>」의 바로 아래에 있습니다. 따라서, 디렉토리 구조를 바꾸지 않았다면, 환경 변수 RTM_JAVA_ROOT는 반드시 그 값의 끝에 「OpenRTM-aist\<version>」를 갖는 형태가 됩니다.


Zip파일의 압축을 해제하면 전개되는 내용

 +--<install_dir>
     +--OpenRTM-aist
        +--<version>
           +--jar
           +--examples
           +--JavaDoc
           +--JavaDocEn

jar

OpenRTM-aist-Java와 필요한 jar파일이 포함되어 있습니다.
  • jar/OpenRTM-aist-X.X.X.jar(X.X.X는 버전)
  • jar/commons-cli-1.1.jar
  • jar/rtcd.jar
  • jar/rtcprof.jar

examples

샘플의 class파일과 그것을 기동하기 위한 셸 스크립트, 소스 코드가 포함되어 있습니다.
  • 샘플의 class 파일
     examples/RTMExamples/SeqIO/SeqIn.class
     examples/RTMExamples/SeqIO/view/SeqView.class
     examples/RTMExamples/SeqIO/view/RootPane.class
     examples/RTMExamples/SeqIO/view/SeqViewApp.class
     이하 생략
  • 샘플을 기동하기 위한 셸 스크립트
     examples/AutoTestIn.sh
     examples/AutoTestOut.sh
     examples/Composite.sh
     examples/ConfigSample.sh
     examples/Connector.sh
     examples/ConsoleIn.sh
     examples/ConsoleOut.sh
     examples/ExtConnector.sh
     examples/ExtConsoleIn.sh
     examples/ExtConsoleOut.sh
     examples/GUIIn.sh
     examples/MyServiceConsumer.sh
     examples/MyServiceProvider.sh
     examples/SeqIn.sh
     examples/SeqOut.sh
     examples/SinCosOut.sh
     examples/rtcd_java.sh
     examples/start-orbd.sh
  • 샘플의 소스 코드
     examples/RTMExamples/SeqIO/SeqInImpl.java
     examples/RTMExamples/SeqIO/SeqOut.java
     examples/RTMExamples/SeqIO/view/RootPane.java
     examples/RTMExamples/SeqIO/view/SeqView.java
     이하 생략

JavaDoc

일본어의 클래스 레퍼런스(Javadoc HTML 형식)가 포함되어 있습니다.

JavaDocEn

영어의 클래스 레퍼런스(Javadoc HTML 형식)가 포함되어 있습니다.

Windows에서의 인스톨

openrtm.org에서는 Windows용의 msi(Microsoft Windows installer) 패키지를 제공하고 있습니다. msi 패키지를 이용하는 것으로 RTSystemEditor라고 하는 툴도 동시에 인스톨 할 수 있습니다. 통상 인스톨에서는 인스톨러를 사용하는 것이 편리할 것입니다. 또, 인스톨의 자유도를 확보하기 위해 필요한 OpenRTM-aist-Java 라이브러리 컴포넌트를 정리한 Zip 파일도 준비되어 있습니다. 유저 독자적인 배치·구성으로 인스톨 하고 싶은 경우 등은 여기를 이용해 인스톨 할 수도 있습니다.

대응 OS

OpenRTM-aist-Java 는 아래와 같은 OS 로 동작하는 것이 확인되고 있습니다.
  • Windows XP Professional

동작 조건


Java의 인스톨

OpenRTM-aist-Java는 J2SE5.0(JDK5) 상에서 동작합니다. 아래와 같이 사이트등에서 대상 플랫폼용의 J2SE를 다운로드해 주세요.

인스톨의 실행

다운로드한 파일을 실행하면 인스톨이 개시됩니다.


java_install0_ko.png
Java의 인스톨(1)



java_install1_ko.png
Java의 인스톨(2)



java_install2_ko.png
Java의 인스톨(3)



java_install3_ko.png
Java의 인스톨(4)



인스톨의 확인

명령 프롬프트 화면을 표시 [시작] - [모든 프로그램] - [보조프로그램] - [명령 프롬프트]를 실행하여

 >java -version

을 입력합니다. 인스톨한 Java의 버전이 표시어 인스톨이 정상적으로 된 것을 확인합니다.


java_envsetting2_ko.png
인스톨의 확인(Windows)



OpenRTM-aist-Java의 인스톨

인스톨러를 이용한 인스톨

WindowsXP용의 OpenRTM-aist-Java 인스톨러가 준비 되어있습니다. [여기 >/ja/content/openrtm-aist-java-100-release]]에서 다운로드 하여 실행합니다.

openrtm.org에서 msi를 다운로드하여 실행하면, 이하의 다이얼로그가 나타납니다.

install_RTM_java_2_ko.png
인스톨러 다이얼로그

위저드를 따라가면서 인스톨을 진행합니다. [다음]을 클릭하면 사용 계약서의 화면이 나타나므로 [동의함]를 클릭하여 다음을 진행합니다.(디폴트로는 EPL(Eclipse Public License)에 동의한것으로 됩니다)

install_RTM_java_3_ko.png
'라이센스의 선택''

셋업 종류의 선택

셋업 종류의 선택을 진행합니다. 이하의 3종류의 인스톨 방법을 선택할 수 있습니다.

  • 표준: 모든 기능이 인스톨 됩니다.
  • 사용자 지정: 인스톨 할 기능을 선택합니다.
  • 전체: 모든 기능이 인스톨 됩니다. 표준과 같음
    install_RTM_java_5_ko.png
    셋업 종류의 선택

사용자 지정 인스톨

「사용자 지정」을 선택하면 인스톨 할 패키지를 자세하하게 선택할 수 있습니다.

install_RTM_java_5_ko.png
셋업 종류의 선택

이하의 2가지 항목이 있습니다. (이미 C++판、혹은 Java판이 인스톨 되어있는 경우는 RTSystemEditor이외의 항목으로 됩니다)
  • OpenRTM-aist (Java): OpenRTM-aist본체 입니다
  • OpenRT Platform Tool Chain: RTSystemEditor의 스탠드 얼론판 입니다.
보통은 모든것을 인스톨 해 주십시오. 단, 개발을 행하지 않은 경우에는
  • OpenRTM-aist(Java)의 Runtime Environment 만 인스톨 하는 것으로 런타임 라이브러리만이 인스톨 됩니다.

인스톨

셋업 종류의 선택후, [다음]을 클릭하면 인스톨이 시작됩니다.

install_RTM_java_7_ko.png
인스톨

아래의 화면처럼 나온다면 인스톨을 완료 입니다. [마침]를 클릭하여 인스톨을 종료 합니다

install_RTM_java_8_ko.png
인스톨의 완료


비고:

 → ''FAQ:'' 인스톨러 실행중「…권한이 부족합니다.」 등이 표시되어, 인스톨이 되지 않는 경우


Zip파일로부터 인스톨

  • Zip파일의 다운로드와 해제 여기 에서 「jar파일 및 샘플」을 클릭하여 zip파일을 임의의 장소에 압축 해제합니다. 해제위치는 임의의 장소로 해도 상관없습니다만, 폴더 구조는 변경하지 않는 것이 좋습니다. 또한, 이 해제 위치에 포함되는「jar」폴더의 경로는 시스템 환경변수 RTM_JAVA_ROOT에 설정할 필요가 있습니다.
해제후의 폴더 구조를 자유롭게 배치 선택하고 싶은 경우는 여기 를 참고 해주십시오.

참고:
 → ''FAQ:'' Q. 임의의 폴더에 클래스 패스를 설정하여 Ant빌드를 행하는 방법은?

  • 시스템 환경변수의 설정 시스템 환경변수의 설정을 실행합니다. 「시작」메뉴로 부터 「제어판」「시스템」을 선택합니다. 「상세설정」탭을 선택하여 화면하단부의 「환경 변수」버튼을 클릭합니다.


SystemProperty_ko.png
PATH 설정 (시스템 속성)



EnvVariable_ko.png
PATH의 설정(환경 변수)


화면 하단부의 「시스템 환경변수」에서 「새로 만들기」버튼을 클릭하여 「새로운 시스템 변수」화면에서 아래와 같이 내용을 입력합니다.
  • 변수명:RTM_JAVA_ROOT
  • 변수치:해제 위치의 폴더에 포함된「jar」폴더까지 의 베이스 경로(「jar」폴더의 부모 폴더까지의 전체 경로)
     입력후, 「확인」버튼을 클릭하여 「제어판」 화면을 닫습니다.
압축 해제시에는 「jar」폴더는 클래스 라이브러리 「OpenRTM-aist-<version>.jar」와「commons-cli-1.1.jar」의 두 개의 파일을 포함한 상태로, 「OpenRTM-aist\<version>」아래에 있습니다. 따라서, 폴더 구조를 바꾸지 않으면, 시스템 환경 변수 RTM_JAVA_ROOT는 반드시 그 값의 끝에 「OpenRTM-aist\<version>」를 갖는 형태가 됩니다.

 또한, 현재 유저에 대해서만 인스톨 하는 경우는 상기 설정을「시스템 변수」나「사용자 변수」의 어딘가에 설정하면 자주, 특히, 특권을 가지지 않는 유저(제한 유저)로서 인스톨 하는 경우에는 이것을 이용합니다. 즉, 제한 유저가 인스톨 하는 경우에는「시스템 변수」의 설정이 추가·변경할 수 없기 때문에, 상기 설정을「유저 변수」에 대해서 실시하게 됩니다.



인스톨러를 사용한 경우의 인스톨 되는 내용

인스톨 된 내용은 아래와 같습니다.

 +--<install_dir>
     +--OpenRTM-aist
     |  +--<version>
     |     +--bin
     |     +--doc
     |     |  +--Java
     |     +--jar
     |     +--examples
     |        +--Java
     |
     +--OpenRTP
        +--RTSystemEditor

OpenRTM-aist\<version>\bin커맨드 파일이 포함되어 있습니다.

  • bin/rtcprof_java.bat
  • bin/start-orbd.vbs
  • bin/rtcd_java.exe

OpenRTM-aist\<version>\doc\Java

클래스 레퍼런스(Javadoc HTML형식)이 포함됩니다.

OpenRTM-aist\<version>\jar

OpenRTM-aist와 필요한 jar파일이 포함됩니다
  • jar/OpenRTM-aist-<version>.jar
  • jar/commons-cli-1.1.jar
  • jar/rtcd.jar
  • jar/rtcprof.jar

OpenRTM-aist\<version>\examples\Java

샘플의 class 파일과 그것을 기동하기 위한 셸 스크립트와 소스 코드가 포함되어 있습니다.

OpenRTP\RTSystemEditor

RCP판의 RTSystemEditor가 포함되어 있습니다.

Zip파일을 해동해 인스톨 했을 경우에 전개되는 내용

 +--<install_dir>
     +--OpenRTM-aist
        +--<version>
           +--jar
           +--examples
           +--JavaDoc
           +--JavaDocEn

jar

OpenRTM-aist와 필요한 jar파일이 포함되어 있습니다.
  • jar/OpenRTM-aist-<version>.jar
  • jar/commons-cli-1.1.jar
  • jar/rtcd.jar
  • jar/rtcprof.jar

examples

샘플의 class파일과 그것을 기동하기 위한 셸 스크립트와 소스 코드가 포함되어 있습니다.

  • 샘플의 class 파일
     examples/RTMExamples/SeqIO/SeqIn.class
     examples/RTMExamples/SeqIO/view/SeqView.class
     examples/RTMExamples/SeqIO/view/RootPane.class
     examples/RTMExamples/SeqIO/view/SeqViewApp.class
     이하 생략
  • 샘플을 기동하기 위한 셸 스크립트
     examples/AutoTestIn.sh
     examples/AutoTestOut.sh
     examples/Composite.sh
     examples/ConfigSample.sh
     examples/Connector.sh
     examples/ConsoleIn.sh
     examples/ConsoleOut.sh
     examples/ExtConnector.sh
     examples/ExtConsoleIn.sh
     examples/ExtConsoleOut.sh
     examples/GUIIn.sh
     examples/MyServiceConsumer.sh
     examples/MyServiceProvider.sh
     examples/SeqIn.sh
     examples/SeqOut.sh
     examples/SinCosOut.sh
     examples/rtcd_java.sh
     examples/start-orbd.sh
  • 샘플의 소스 코드
     examples/RTMExamples/SeqIO/SeqInImpl.java
     examples/RTMExamples/SeqIO/SeqOut.java
     examples/RTMExamples/SeqIO/view/RootPane.java
     examples/RTMExamples/SeqIO/view/SeqView.java
     이하 생략

JavaDoc

일본어의 클래스 레퍼런스(Javadoc HTML 형식)가 포함되어 있습니다.

JavaDocEn

영어의 클래스 레퍼런스(Javadoc HTML 형식)가 포함되어 있습니다.

소스로부터 빌드

OpenRTM-aist-Java본체의 소스를 변경해 이용하고 싶은 경우에는 소스로부터 컴파일 할 수 있습니다.

배포 소스의 빌드

OpenRTM-aist(Java버전)은 Eclipse를 이용한 빌드 환경을 제공하고 있습니다.

의존 라이브러리

OpenRTM-aist 의 빌드에는 아래와 같은 개발 환경 및 라이브러리가 필요합니다.

  • Eclipse SDK 3.3. x이상
  • jdk1.5.0_xx이상

각각의 라이브러리 등의 문서에 따라 인스톨해 주십시오.

소스의 다운로드

OpenRTM-aist-Java의 소스를 다운로드합니다.

소스 코드의 전개

우선 소스 코드 OpenRTM-aist-Java-X.X.X.tar.gz 를 적당한 디렉토리에 전개합니다.
  • Linux의 경우
     $ tar xvzf OpenRTM-aist-Java-X.X.X.tar.gz
  • Windows의 경우는 tgz를 전개할 수 있는 툴을 사용해 전개합니다.

빌드

빌드 방법을 설명합니다.(그림은 Windows판의 Eclipse3.4.2입니다.) Eclipse를 기동시켜 프로젝트를 워크 스페이스로 임포트 합니다. [File]-[Import]를 선택합니다.

eclipse_open_import_ko.png
[File]-[Import]를 선택

임포트의 「Select」윈도우가 열립니다. 여기서 [General]-[Existing Projects into Workspace]를 선택해 [Next>] 버튼을 누릅니다.

eclipse_select_import_ko.png
임포트의 「Select」윈도우

「Import Projects」윈도우가 열립니다.「Select root directory」에 전개한 디렉토리를 지정해 [Finish]버튼을 누릅니다.

eclipse_select_project_ko.png
「Import Projects」윈도우

이것으로 프로젝트를 워크 스페이스에 임포트 할 수 있습니다.

eclipse_open_project_ko.png
프로젝트의 임포트

패키지·익스플로러로부터 build.xml를 마우스 오른쪽 버튼을 클릭해 [Debeg As]-[2 Ant Build...]를 선택합니다.

eclipse_select_ant_built_ko.png
[Debeg As]-[2 Ant Build...]를 선택

Edit Configuration의 윈도우가 표시됩니다. 여기서 buildAllLinux를 선택하고 [Debug]버튼을 누릅니다.

eclipse_execute_ant_ko.png
Edit Configuration

빌드가 시작됩니다.

eclipse_execution_result_ko.png
빌드 실행 결과

콘솔 윈도우에 이상의 표시가 나오면 완료입니다.

리포지터리의 소스의 빌드

OpenRTM-aist는 개발에 이용하고 있는 subversion 리포지터리를 일반적으로 공개하고 있습니다. 리포지터리로부터 체크아웃 한 소스 코드로부터 빌드를 실시할 수도 있습니다.

필요한 툴

Eclipse로 리포지터리에 액세스 하기 위해서 Subclipse가 필요합니다. Subclipse:Eclipse의 플러그 인 (http://subclipse.tigris.org/update_1.0.x)

소스의 체크아웃

소스의 체크아웃 방법을 설명합니다. (그림은 Windows판의 Eclipse3.4.2입니다.) Eclipse로 소스를 체크아웃 하고, 워크 스페이스에 임포트 합니다. [File]-[Import] 로 임포트의 「Select」윈도우가 열립니다. 여기서, [Other]-[SVN로부터 프로젝트를 체크아웃]을 선택해[Next>]버튼을 누르면 「SVN로부터 체크아웃」윈도우가 열립니다.「신규 리포지터리·로케이션을 생성」을 선택해 「프로젝트의 임포트」-[Next>]버튼을 누릅니다.「Url」에 http://www.openrtp.jp/openrtm/svn/OpenRTM-aist-Java/trunk/라고 입력해[Next>]버튼을 누릅니다. 「폴더의 선택」윈도우가 열리기 때문에 「jp.go.aist.rtm.RTC」를 선택해 [Finish]버튼을 누릅니다.

빌드

빌드 방법을 설명합니다.(그림은 Windows판의 Eclipse3.4.2입니다.) Package Exploer에서 build.xml를 오른쪽 마우스 버튼을 클릭해 [Debug]-[2 Ant Build...]를 선택합니다.

eclipse_select_ant_built_ko.png
[Debug]-[2 Ant Build...](을)를 선택

Edit Configuration의 윈도우가 표시됩니다. 여기서 buildAllLinux를 선택해 [Debug]버튼을 누릅니다.

eclipse_select_ant_built_ko.png
Edit Configuration의 윈도우

빌드가 시작됩니다.

eclipse_execution_result_ko.png
빌드 실행 결과

콘솔 윈도우에 이상의 표시가 나오면 완료입니다.

동작확인(Linux)

인스톨이 정상적으로 종료하면 부속의 샘플로 동작 테스트를 합니다. 샘플은 zip파일을 전개한 디렉토리에 있습니다.

  • /OpenRTM-aist/<version>/examples

소스로부터 빌드 했을 경우는 프로젝트 디렉토리에 있습니다.

  • /OpenRTM-X.X.X-Java/installer/resources/Source/examples (X.X.X는 버전.)

샘플 컴포넌트 세트 SimpleIO 를 사용하고, OpenRTM-aist-Java가 정상적으로 빌드·인스톨 되었는지를 확인합니다.

샘플 컴포넌트 세트 SimpleIO

RT컴포넌트 ConsoleInComp, ConsoleOutComp로부터 되는 샘플 세트입니다. ConsoleInComp는 콘솔로부터 입력된 수치를 OutPort로부터 출력하는 컴포넌트, ConsoleOutComp는 InPort에 입력된 수치를 콘솔에 표시하는 컴포넌트입니다. 이것들은 가장 Simple한 I/O(입출력)를 보여 주기 위한 샘플입니다. ConsoleInComp의 OutPort로부터 ConsoleOutComp의 InPort에 연결하여 2개의 컴포넌트를 액티브(Activate)하는 것으로 동작합니다.

이후, 간단을 위해 OpenRTM-aist-Java이 /home/openrtm/OpenRTM-aist/에 인스톨 되어 있는 것으로 설명합니다.

샘플을 사용한 테스트

네임서버를 기동

먼저, 컴포넌트의 참조를 등록하기 위한 네임서버를 기동합니다. OpenRTM-aist-Java에서는 orbd(Java CORBA naming servic)의 기동용 셸 스크립트를 준비하고 있습니다. Linux등의 패키지로 omniORB를 인스톨 했을 경우, 이미 시스템의 서비스로서 네임서버(omniNames)가 기동하고 있는 경우가 있습니다. orbd 대신 omniNames를 사용해도 정상적으로 동작합니다.

이미 omniNames가 기동하고 있는 경우, 이와 같이 됩니다.

 $ ps ax | grep omni
 1550  ?        Sl     0:00 /usr/bin/omniNames -errlog /var/log/omniorb4-nameserver.log
 18418 pts/2    S+     0:00 grep --color=auto omni

omniNames가 기동하고 있지 않는 경우는 이와 같이 됩니다.

 $ ps ax | grep omni
 18418 pts/2    S+     0:00 grep --color=auto omni

네임서버가 기동하고 있지 않는 경우, start-orbd.sh 커멘드로 네임서버를 기동합니다. start-orbd.sh는 /home/openrtm/OpenRTM-aist/1.0/examples에 저장되어 있습니다.

 $ sh /home/openrtm/OpenRTM-aist/1.0/examples/start-orbd.sh
 Starting Java CORBA naming service (orbd).

oebd는 블록 합니다.

시스템으로 IPv6가 설정되어 있는 경우,localhost라고 하는 호스트명이 정상적으로 동작하지 않는 경우가 있습니다. 그 경우, localhost 대신에127.0.0.1를 써 주십시오.

ConsoleInComp의 기동

터미널을 기동해 ConsoleInComp를 기동합니다.

 $ sh /home/openrtm/OpenRTM-aist/1.0/examples/ConsoleInComp
 
 Creating a component: "ConsoleIn"....
 succeed.
 =================================================
  Component Profile
 -------------------------------------------------
 InstanceID:     ConsoleIn0
 Implementation: ConsoleIn
 Description:    Console input component
 Version:        1.0
 Maker:          Noriaki Ando, AIST
 Category:       example
   Other properties   
 =================================================
 =================================================
 Port0 (name): 
 ConsoleIn0.out
 -------------------------------------------------
 - properties -
 port.port_type:DataOutPort
 dataport.data_type:TimedLong
 dataport.subscription_type:new, flush, periodic
 dataport.dataflow_type:push,pull
 dataport.interface_type:corba_cdr
 -------------------------------------------------
 
   

ConsoleOutComp의 기동

터미널을 기동하고 위와 같이 ConsoleOutComp를 기동합니다.

 $ sh /home/openrtm/OpenRTM-aist/1.0/examples/ConsoleOutComp
  
 Creating a component: "ConsoleOut"....
 succeed.
 =================================================
  Component Profile
 -------------------------------------------------
 InstanceID:     ConsoleOut0
 Implementation: ConsoleOut
 Description:    Console output component
 Version:        1.0
 Maker:          Noriaki Ando, AIST
 Category:       example
   Other properties   
 =================================================
 =================================================
 Port0 (name): 
 ConsoleOut0.in
 -------------------------------------------------
 - properties -
 port.port_type:DataInPort
 dataport.data_type:TimedLong
 dataport.subscription_type:Any
 dataport.dataflow_type:push,pull
 dataport.interface_type:corba_cdr
 -------------------------------------------------
 
 
 

RTSystemEditor의 기동

RTSystemEditor를 사용해 RT컴포넌트의 접속과 액티브를 실시합니다. 여기에서 Eclipse 패키지를 다운로드해 압축을 해제해 주십시오.

RTSystemEditor는 Java Development Kit6를 사용합니다. 이하의 메뉴얼을 참고하여 인스톨해 주십시오. 또, Ubuntu 등에서는 디폴트의 Java 환경은 OpenJDK가 추천 되고 있습니다. 그러한 경우 OpenJDK에서도 이용하는 것은 가능합니다.

여기의 페이지를 참고해 RTSystemEditor를 기동해 주십시오.

네임서버의 참조와 확인

네임서버에 접속해 등록 내용을 확인합니다. 네임서버에의 접속은 좌측의 Name Service View의 콘센트형 아이콘의 버튼을 클릭해, 다이얼로그에

 localhost
 또는
 localhost:2809

라고 입력합니다.(orbd의 디폴트의 포토 번호는 2809입니다.)

c_unix100_NameServer.png
네임서버에의 접속

네임서버에 등록된 RT컴포넌트를 시스템 에디터에 배치합니다. 왼쪽의 Name Service View 의 ConsoleOut0 및 ConsoleIn0를 중앙의 에디터 위에 드래그 앤드 드롭 합니다. 다음 컴포넌트의 우/좌단의 포트 아이콘을 다른 한쪽으로부터 반대쪽으로 드래그 앤드 드롭 하면 접속 다이얼로그가 표시됩니다. 모두 디폴트로 설정해도 좋습니다. 그리고 OK를 누르면 접속이 완료됩니다.

c_unix100_oneditor.png
RTSystemEditor에 의한 시스템의 편집

메뉴아래의 녹색의 「재생」버튼을 누르면, 에디터상의 모든 컴포넌트가 액티브 됩니다.

수치 입력과 출력의 확인

ConsoleInComp와 ConsoleOutComp의 포트를 접속하면,

 Please input number: 

위와 같은 prompt가 나타나므로, 거기에 숫자를 입력합니다. 입력하는 숫자는, short int 에 들어가는 범위의 수치를 입력해 주십시오.

ConsoleInComp측의 터미널에 숫자를 넣으면, ConsoleOutComp측의 터미널에 입력한 수치가 나타납니다. 이상으로 OpenRTM-aist-Java가 정상적으로 인스톨되어 있는 지를 확인할 수 있었습니다.

동작확인 (Windows)

샘플 컴포넌트의 장소

인스톨 또는 빌드가 정상적으로 종료되면, 샘플로 동작 테스트를 합니다. 샘플은 통상 이하의 장소에 있습니다.

  • 스타트 메뉴: [시작]>>[OpenRTM-aist]>>[Java]>>[components]>>[examples]
  • C:\Program Files\OpenRTM-aist\<version>\examples\Java
  • /OpenRTM-X.X.X-Java/installer/resources/Source/examples(X.X.X는 버전.) (소스로부터 빌드 했을 경우)

샘플 컴포넌트 세트 SimpleIO를 사용하고 OpenRTM-aist-Java가 정상적으로 빌드·인스톨 되어 있는지를 확인합니다.

샘플(SimpleIO)을 사용한 테스트

RT컴포넌트 ConsoleInComp, ConsoleOutComp로 구성되는 샘플 세트 입니다. ConsoleInComp는 콘솔로부터 입력된 수치를 OutPort로부터 출력하는 컴포넌트, ConsoleOutComp는 InPort에 입력된 수치를 콘솔에 표시하는 컴포넌트입니다. 이것들은 가장 Simple하게 I/O를 예로 보여주는 샘플입니다. ConsoleInComp의 OutPort로부터 ConsoleOutComp의 InPort에 접속해 2개의 컴포넌트를 액티브(Activate) 하는 것으로 동작합니다.

이하는 msi 인스톨러로 OpenRTM-aist를 인스톨 한 환경에서, 시작 메뉴로부터 각종 프로그램을 기동하는 것을 전제로 설명합니다. 시작 메뉴 로부터 OpenRTM-aist를 마우스 오른쪽 버튼을 클릭해 「열기」로 폴더를 열어, 각 프로그램 에 액세스 하면 편리합니다.

open_win_HIRAKU_ko.png
스타트 메뉴의 OpenRTM-aist 열기

네임서버의 기동

우선, 컴포넌트의 참조를 등록하기 위한 네임서버를 기동합니다. 「OpenRTM-aist」>>「Java」>>「tools」>>「Start Naming Service」에 있는 숏컷을 클릭해 네임서버를 기동합니다.

open_win_orbd_short_cut_ko.png
네임서버에의 숏컷

기동하면, 이하와 같은 콘솔 화면이 열립니다.

star_win_orbd_ko.png
네임서버의 기동

콘솔 화면이 열리지 않는다

네임서버의 콘솔 화면이 열리지 않는 케이스가 있습니다. 이 경우 예상되는 몇개의 원인을 아래와 같이 대처해 주십시오.

「Start Naming Service」는 %RTM_ROOT%\bin\rtm-naming.bat 에 있는 배치파일로부터 네임서버(omniNames.exe)를 기동합니다.이 때, omniNames.exe 를 참조하기 위해서 환경 변수 OMNI_NAMES를 이용하고 있습니다.통상 인스톨러로 OpenRTM-aist를 인스톨 했을 경우에는, OMNI_ROOT 환경 변수가 자동으로 설정됩니다만, 어떠한 이유로 환경 변수가 무효가 되어 있거나, 수동으로 인스톨 했을 경우 등은, 환경 변수가 설정되어 있지 않은 것이 있습니다.

샘플 컴포넌트의 기동

네임서버 기동 후, 적당한 샘플 컴포넌트를 기동합니다. 방금전 열어 둔 시작 메뉴 폴더의, 「OpenRTM-aist」>>「Java」>>「components」>>「examples」를 열면, 그림과 같이 몇개의 컴포넌트 가 있습니다.

open_win_examples_short_cut_ko.png
샘플 컴포넌트 폴더

여기에서는, 「ConsoleInComp.bat」 「ConsoleOutComp.bat」를 각각 더블 클릭 해 2개의 컴포넌트를 기동합니다. 기동하면, 아래 그림과 같은 2개의 콘솔 화면이 열립니다.

open_consolein_out2_ko.png
ConsoleIn 컴포넌트와 ConsoleOut 컴포넌트

컴포넌트가 기동하지 않는 경우

컴포넌트가 기동하지 않는 경우, 몇개의 원인을 생각할 수 있습니다.

콘솔 화면이 열리자마자 사라진다

rtc.confrtc.conf의 설정에 문제가 있어, 기동할 수 없는 케이스가 있습니다. 상기 시작 메뉴 폴더의 「rtc.conf for examples」를 열어 설정을 확인해야 합니다. 예를 들면, corba.endpoint/corba.endpoints 등의 설정이 현재 실행중의 PC의 호스트 주소와 미스매치를 일으키고 있는 경우 등은 CORBA가 이상종료합니다.

이하와 같은 최저한의 rtc.conf로 설정 다시 하고 시험해 보십시오.

 corba.nameservers: localhost

런타임 에러가 나와 종료된다

라이브러리등이 적절히 인스톨 되어 있지 않음·설정되어 있지 않음 등의 원인으로 라인 타임 에러가 발생하는 경우가 있습니다.-재기동해 본다- OpenRTM-aist를 모두 언인스톨해 재차 인스톨 해 보는 등을 실시하는 것으로 개선되는 경우도 있습니다.

RTSystemEditor(RTSE)의 기동

시작 메뉴 폴더로부터, RTSystemEditor를 기동합니다. RTSystemEditor는 「OpenRTM-aist」>>「Java」>>「tools」>>「RT System Editor」에 있습니다.

rtse_start_ko.png
RTSystemEditor의 기동

네임서버에의 접속

RTSE가 기동하면 우선 네임서버에 접속합니다. 왼쪽 페인의 상부에 있는, rtse_connect_ns_icon.png의 아이콘을 클릭해 접속 다이얼로그를 엽니다. 접속 다이얼로그의 호스트명의 부분에 방금전 기동한 네임서버의 주소(이 경우 동일 호스트이므로 localhost)를 지정합니다. 포 트 번호도 지정할 수 있습니다만, 통상 디폴트의 2809번을 사용하는 경우는 아무것도 지정하지 않습니다.

rtse_connect_dialog_ko.png
네임서버에의 접속 다이얼로그

접속하면, 네임서비스뷰에 localhost가 나타납니다. 트리 표시의 [+]를 클릭하면, 방금전 기동한 2개의 컴포넌트가 등록되어 있는것을 알 수 있습니다.

rtse_ns_connected_ko.png
네임서버에 등록된 컴포넌트

에디터에의 배치

시스템을 편집하는 에디터를 엽니다. 상부의 에디터를 여는 버튼 rtse_open_editor_icon_ja.png를 클릭하면, 윈도우 중앙에 에디터가 열립니다.

좌측의 네임서비스뷰에 rtse_rtc_icon.png의 아이콘으로 표시 되고 있는 컴포넌트(2개)를 중앙의 에디터에 드래그 앤드 드롭 합니다.

rtse_dnd_rtcs_ko.png
컴포넌트를 에디터에 배치

접속과 액티브

ConsoleIn0 컴포넌트의 우측에는 데이터가 출력되는 OutPort rtse_outport_icon.png, ConsoleOut0 컴포넌트의 좌측에는 데이 타가 입력되는 InPort rtse_inport_icon.png가 각각 붙어 있습니다.

이것들 InPort/OutPort(데이터 포트라고 부른다)를 접속합니다. OutPort로부터 InPort(또는 InPort로부터 OutPort)에 드래그 앤 드롭 하면, 그림과 같은 다이얼로그가 나타나기 때문에, 디폴트 설정인 상태로 OK 버튼을 누릅니다.

rtse_portconnect_ko.png
데이터 포트의 접속

rtse_portconnect_dialog_ko.png
데이터 포트 접속 다이얼로그

2개의 컴포넌트의 사이에 접속선이 나타납니다.다음에, 에디터 상부 메뉴의 All Activate 버튼 rtse_all_actevate_icon.png 를 클릭해, 컴포넌트를 액티브합니다. 액티브 되면, 컴포넌트가 녹색으로 변화합니다.

rtse_actevated_all_ko.png
액티브 된 컴포넌트

컴포넌트가 액티브 되면 ConsoleIn 컴포넌트측에서는

 Please input number: 

라는 prompt 표시로 바뀌기 때문에, 적당한 수치(short int 의 범위내: 32767 이하)를 입력해 Enter 키를 누릅니다.그러자(면), ConsoleOut 측에서는, 입 힘 한 수치가 표시되어 ConsoleIn 컴포넌트로부터 ConsoleOut 콤포넌 트에 데이터가 전송 된 것을 알 수 있습니다.

이상으로, 컴포넌트의 기본 동작의 확인은 종료입니다.

다른 샘플

인스톨러에는, 이 밖에도 몇개의 샘플 컴포넌트가 부속되어 있습니다. 이러한 컴포넌트도 이와 같이 기동하고 RTSystemEditor로 포트끼리를 접속해, 액티브하는 것으로 테스트 할 수 있습니다.

부속되어 있는 컴포넌트의 리스트와 간단한 설명을 이하에 나타냅니다.

ConsoleInComp.bat 콘솔로부터 입력된 수치를 OutPort로부터 출력한다. ConsoleOutComp.exe와 연결해 사용
ConsoleOutComp.bat InPort에 입력된 수치를 콘솔에 표시하는 컴포넌트. ConsoleInComp.exe와 연결해 사용
SeqInComp.bat 랜덤인 수치(Short,Long,Float,Double와 그 순서형)을 출력하는 컴포넌트. SequenceOutComp.bat와 연결해 사용
SeqOutComp.bat InPort에 입력되는 수치(Short,Long,Float,Double와 그 순서형)을 표시. SequenceInComp.exe와 연결해 사용
MyServiceProviderComp.bat MyService형의 서비스를 제공하는 컴포넌트. MyServiceConsumerComp.exe와 연결해 사용
MyServiceConsumerComp.bat MyService형의 서비스를 제공하는 컴포넌트.MyServiceProviderComp.exe와 연결해 사용
ConfigSampleComp.bat Configuration의 샘플. RTSystemEditor에서 Configuration를 변경해 Configuration의 변경에 대해 이해하기 위한 샘플.


Tips

JDK 인스톨을 위한 힌트


Vine3.2

 일례로서 Vine3.2에의 인스톨 방법을 설명합니다. 이하의 작업은 슈퍼 유저로서 실행해 주십시오.
  • JDK5 인스톨 방법
    • Linux RPM in self-extracting file를 입수했을 경우
       터미널을 기동해, Linux RPM in self-extracting file를 다운로드한 디렉토리로 이동해, 다음과 같이 커멘드를 입력합니다..
       # ls
       jdk-1_5_0_15-linux-i586-rpm.bin
       # sh jdk-1_5_0_15-linux-i586-rpm.bin
      라이센스 허락 조항이 표시되면 스페이스를 눌러 진행합니다. 라이센스를 승낙할지 질문받으므로 문제가 없으면 「yes」라고 합니다.

    • Linux self-extracting file를 입수했을 경우
       터미널을 기동해, Linux self-extracting file를 다운로드한 디렉토리로 이동해, 다음과 같이 커멘드를 입력합니다..
       # ls
       jdk-1_5_0_15-linux-i586.bin
       # sh jdk-1_5_0_15-linux-i586.bin
      라이센스 허락 조항이 표시되면 스페이스를 눌러 진행합니다. 라이센스를 승낙할지 질문받으므로 문제가 없으면 「yes」라고 합니다.
       # mkdir /usr/java
       # mv jdk1.5.0_15/ /usr/java/
      으로 하여, /usr/java 이하에 압축을 해제한 JDK를 배치합니다.

  • 환경 변수의 설정
 /etc/profile의 마지막에 다음의 3행을 추가한다.
 
 export JAVA_HOME=/usr/java/jdk1.5.0_15
 export PATH=$PATH:$JAVA_HOME/bin
 export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

참고 사이트(외부 사이트):

Ubuntu7.10

 Ubuntu7.10에서는 디폴트로 GCJ(The GNU Compiler for Java)를 기동할 수 있게 되어 있습니다.

 $ java -version
 java version "1.5.0"
 gij (GNU libgcj) version 4.2.1 (Ubuntu 4.2.1-5ubuntu5)
 
 Copyright (C) 2007 Free Software Foundation, Inc.
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 $
 그러나, OpenRTM-aist-Java는 동작 조건 에 있는 대로, Java Development Kit 5.0(JDK5)이 아니면 정상적으로 동작하지 않습니다. 따라서, JDK5를 인스톨 하여 java 커멘드에서 Sun Java(JDK 5)가 기동하도록 합니다.
 아래에, Ubuntu7.10으로 JDK5를 인스톨 하는 순서를 간단하게 기술합니다.

  • Synaptic 패키지·매니저를 기동
  • 「sun java」를 키워드에 검색
  • sun-java5-jdk를 더블 클릭(의존관계가 자동적으로 선택됩니다)
  • 「적용」버튼을 누릅니다

 $ java -version
 java version "1.5.0_13"
 Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_13-b05)
 Java HotSpot(TM) Client VM (build 1.5.0_13-b05, mixed mode, sharing)
 $


Debian4.0 etch

 Debian4.0(etch)에서는 디폴트로 GCJ(The GNU Compiler for Java)를 기동할 수 있게 되어 있습니다.

 $ java -version
 java version "1.4.2"
 gij (GNU libgcj) version 4.1.2 20061115 (prerelease) (Debian 4.1.1-20)
 
 Copyright (C) 2006 Free Software Foundation, Inc.
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 $ 
 그러나, OpenRTM-aist-Java는 동작 조건에 있는 대로, Java Development Kit 5.0(JDK5)이 아니면 정상적으로 동작하지 않습니다. 따라서, JDK5를 인스톨 하여 java 커멘드에서 Sun Java(JDK5)가 기동하도록 합니다.
 아래에, Debian4.0(etch)으로 JDK5를 인스톨 하는 순서를 간단하게 기술합니다.

  • /etc/apt/sources.list의 마지막에 다음의 한줄을 추가
     deb http://ftp.jp.debian.org/debian/ etch main contrib non-free
  • aptitude를 최신으로 하기 위해, 다음의 커멘드를 실행
     # aptitude update
  • 「sun-java」관련의 패키지의 존재를 확인
     # apt-cache search sun-java
     sun-java5-bin - Sun Java(TM) Runtime Environment (JRE) 5.0 (architecture dependent files)
     sun-java5-demo - Sun Java(TM) Development Kit (JDK) 5.0 demos and examples
     sun-java5-doc - Sun JDK(TM) Documention -- integration installer
     sun-java5-fonts - Lucida TrueType fonts (from the Sun JRE)
     sun-java5-jdk - Sun Java(TM) Development Kit (JDK) 5.0
     sun-java5-jre - Sun Java(TM) Runtime Environment (JRE) 5.0 (architecture independent files)
     sun-java5-plugin - The Java(TM) Plug-in, Java SE 5.0
     sun-java5-source - Sun Java(TM) Development Kit (JDK) 5.0 source files
  • 필요한 패키지를 인스톨(의존관계는 자동적으로 해결해 줍니다)
     # aptitude install sun-java5-jdk
     # aptitude install sun-java5-fonts
     # aptitude install sun-java5-plugin
  • JDK5의 인스톨 확인
     # java -version
     java version "1.5.0_14"
     Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_14-b03)
     Java HotSpot(TM) Client VM (build 1.5.0_14-b03, mixed mode, sharing)
     #

참고 사이트(외부 사이트):

Fedora 8

 Fedora Core 8에서는 디폴트로 GCJ(The GNU Compiler for Java)를 기동할 수 있게 되어 있습니다.

 $ java -version
 java version "1.7.0"
 IcedTea Runtime Environment (build 1.7.0-b21)
 IcedTea Client VM (build 1.7.0-b21, mixed mode)
 $ 
 그러나, OpenRTM-aist-Java는 동작 조건에 있는 대로, Java Development Kit 5.0(JDK5)이 아니면 정상적으로 동작하지 않습니다. 따라서, JDK 5를 인스톨 하여 java 커멘드에서 Sun Java(JDK5)가 기동하도록 합니다.
 아래에, Fedora Core 8으로 JDK 5를 인스톨 하는 순서를 간단하게 기술합니다.

  • # chmod a+x jdk-1_5_0_14-linux-i586-rpm.bin
  • # ./jdk-1_5_0_14-linux-i586-rpm.bin
  • # rm -fr /usr/src/redhat/{BUILD,SOURCES,SPECS}/*
  • # rpm -i java-1.5.0-sun-compat-1.5.0.14-1jpp.src.rpm
  • # rpmbuild -bb /usr/src/redhat/SPECS/java-1.5.0-sun-compat.spec
  • # rpm -ivh /usr/src/redhat/RPMS/i586/java-1.5.0-sun-compat-1.5.0.14-1jpp.i586.rpm
  • # alternatives --config java
     # alternatives --config java
     3 프로그램이 있어 'java'를 제공합니다.
       선택       커멘드
     -----------------------------------------------
     *+ 1           /usr/lib/jvm/jre-1.7.0-icedtea/bin/java
        2           /usr/lib/jvm/jre-1.5.0-gcj/bin/java
        3           /usr/lib/jvm/jre-1.5.0-sun/bin/java
     Enter 를 눌러 현재의 선택 [+] 을 보관 유지할지, 선택 번호를 입력합니다:3
     #
  • JDK5의 인스톨 확인
     # java -version
     java version "1.5.0_14"
     Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_14-b03)
     Java HotSpot(TM) Client VM (build 1.5.0_14-b03, mixed mode, sharing)
     #

    참고 사이트(외부 사이트):