여기에서는 OpenRTM-aist(Java버전)의 UNIX에의 인스톨 방법을 설명합니다. ※이후의 설명은 편의상 OpenRTM-aist-0.4.0에 대해서 쓰여져 있습니다. OpenRTM-aist-0.4.x에 대해서도 같은 순서로 인스톨 할 수 있습니다.
각 디스트리뷰션에 대해 JDK5의 인스톨 방법을 JDK 인스톨을 위한 힌트에 정리하였습니다. 참고로 해주십시오. 덧붙여 Java의 인스톨은 슈퍼 유저로서 실시해 주십시오.
※ Fedora Core에의 Java의 인스톨에 대해서는 주의가 필요합니다:
→ ''FAQ:'' Java를 인스톨 할 때의 FedoraCore로의 대응에 대해
→ ''FAQ:'' Q. Fedora Core상에서 RtcLink의 NameService View에 에러가 나는 경우터미널을 기동해,
$ java -version
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)
여기로부터 「빌드 완료된 jar 파일 및 샘플」(zip 형식)을 다운로드해 zip 파일을 임의의 폴더에 압축을 해제합니다. 압축해제 하는 폴더는 임의의 폴더로 해도 좋지만 디렉토리 구조는 변경하지 마십시오. ※ 또, 이 임의의 폴더에 포함되는 「jar」폴더에의 패스는 다음에 받아들이는 시스템 환경 변수 RTM_JAVA_ROOT에 설정하지 않으면 안됩니다.
※어떠한 사정으로, 압축 해제 후의 폴더 구조를 자유롭게 배치·선택으로 하고 싶은 경우는여기를 참조해 주십시오.
참고:
→ ''FAQ:'' Q. 임의의 폴더에 클래스 패스를 설정해 Ant 빌드를 실시하는 방법은?
예를 들면, 로그인 셸이 bash의 경우로 OpenRTM-aist-Java를 /usr/lib 이하에 해제했을 경우를 생각했을 때, .bashrc(혹은 /etc/profile※)의 마지막에 다음의 문장을 추가합니다.
export RTM_JAVA_ROOT=/usr/lib/OpenRTM-aist/0.4
> source ~/.bashrc
※환경 변수 RTM_JAVA_ROOT를 .bashrc(bash의 경우)등의 유저 설정으로 했는지 혹은 /etc/profile(bash의 경우) 등에 시스템 와이드로 설정했는지에 의해 GUI 툴인 Eclipse(RtcLink, RtcTemplate)의 기동 방법이 바뀝니다. → Eclipse의 기동 방법 를 참조
※※압축 해제시에는 「jar」디렉토리는 클래스 라이브러리 「OpenRTM-aist-0.4.1. jar」와「commons-cli-1.1.jar」의 두 개의 파일을 포함한 상태로 「OpenRTM-aist\0.4」의 바로 아래에 있습니다. 따라서 디렉토리 구조를 바꾸지 않으면, 환경 변수 RTM_JAVA_ROOT는 반드시 그 값의 마지막에 「OpenRTM-aist\0.4」를 갖는다고 하는 형태가 됩니다.
Please input number:
Windows시스템에서의 인스톨
OpenRTM-aist-0.4 Java는 이하의 OS에서 동작하는 것이 확인되고 있습니다.
다운로드한 파일을 실행하면 인스톨이 시작됩니다. 도중 라이센스 허가나 인스톨 할 폴더를 선택하여 사용환경에 맞추어 설정해 주십시오.
커멘드 프롬프트 화면을 표시(「시작」-「실행」)하여
>java -version
라고 입력합니다. 인스톨 한 Java의 버전이 표시되면 정상적으로 인스톨 된 것 입니다.
WindowsXP용의 OpenRTM-aist-0.4 Java 인스톨러가 준비되어 있기 때문에 여기에서 다운로드하여 실행합니다. 실행후는 인스톨러에 따라가는 것 만으로 인스톨이 종료합니다.
⇒ 인스톨 종료후는 계속해서 인스톨의 확인으로 진행해 주십시오.
- 시스템 환경 변수의 설정 시스템 환경 변수의 설정을 합니다. 「시작」메뉴에서 「제어판」-「시스템」을 선택합니다. 「속성」화면에서 「상세설정」탭을 선택해 화면 아래에 「환경」버튼을 클릭합니다.
Please input number:
본장에서는 OpenRTM-aist-Java-0.4에 부속의 샘플에 대해 설명합니다. 샘플을 테스트하는 경우는 각 샘플 컴포넌트를 기동하기 전에 start-orbd.sh를 실행해 네임 서비스를 기동해 주십시오. start-orbd.sh를 실행하려면 터미널을 기동해, 커런트를「examples」디렉토리로 옮기고 나서, 다음과 같이 하여 기동합니다.
$ ./start-orbd.sh
새로운 OpenRTM-aist-Java-0.4에서는 RtcLink 0.4.0은 사용할 수 없게 되었습니다. 이미, Eclipse상에 RtcLink 플러그 인을 인스톨 하고 있는 분은 OpenRTM-aist-Java-0.4를 사용하는 경우, 반드시 RtcLink도 0.4.1에 업데이트 해주십시오.
참고:
→ ''FAQ:'' Q. RtcLink상에서 RTC의 포트가 표시되지 않을 경우(Java버전)DataInPort, DataOutPort의 사용 방법을 나타낸 샘플입니다. ConsoleIn.sh와 ConsoleOut.sh를 실행하는 것으로 샘플 컴포넌트가 기동합니다. Port간을 접속하면 ConsoleIn측에서 입력한 숫자가, ConsoleOut 측에 표시됩니다. Port간은 RtcLink를 이용하는 것 외에 Connector.sh를 실행하는 것으로 접속할 수 있습니다.
DataInPort, DataOutPort의 사용 방법을 나타낸 샘플입니다. SeqIn.sh와 SeqOut.sh를 실행하는 것으로 샘플 컴포넌트가 기동해, GUI 화면이 표시됩니다. SeqIn, SeqOut 모두 이하의 형태의 DataPort를 가지고 있습니다. TimedShort, TimedLong, TimedFLoat, TimedDouble, TimedShortSeq, TimedLongSeq, TimedFLoatSeq, TimedDoubleSeq 각 Port의 출력은 랜덤으로 결정하고 있어 각 Port간을 접속하면 SeqOut측의 출력치, SeqIn측의 입력치가 각각의 GUI 화면에 표시됩니다.(Port간의 접속에는 RtcLink를 이용하십시오.)
ServicePort의 사용 방법을 나타낸 샘플입니다. 이하에 나타내는 IDL를 사용해 서비스를 정의하고 있습니다.
typedef sequence<string> EchoList;
typedef sequence<float> ValueList;
interface MyService
{
string echo(in string msg);
EchoList get_echo_history();
void set_value(in float value);
float get_value();
ValueList get_value_history();
};MyServiceConsumer.sh와 MyServiceProvider.sh를 실행하는 것으로 샘플 컴포넌트가 기동합니다. Consumer측 컴포넌트를 Activate 하면 콘솔에 이용 가능한 커멘드 리스트가 표시됩니다. 각 커멘드를 테스트해 보십시오.(Port간의 접속에는 RtcLink를 이용하십시오.)
RT컴포넌트의 컨피그레이션 세트의 사용 방법을 나타낸 샘플입니다. ConfigSample.sh를 실행하는 것으로 샘플 컴포넌트가 기동합니다. 컴포넌트가 정상적으로 기동되면 컨피그레이션 세트가 미리 설정된 상태로 되어 있습니다. RtcLink를 이용해 컨피그레이션 세트를 확인해 보십시오.
※ RtcLink상의 ConfigurationView로 mode0를 선택했을 경우, 본래 「일본어 테스트」라고 표기되는 부분이 글자가 깨져 버리는 일이 있습니다. 이 경우, examples/RTMExamples/ConfigSample에 있는 rtc.conf를 다음과 같이 편집해 주십시오.
rtc.conf의 맨 마지막 줄 example.ConfigSample.config_file: ./RTMExamples/ConfigSample/configsample.conf 이라고 되어 있는 부분을 다음과 같이 수정합니다. example.ConfigSample.config_file: ./RTMExamples/ConfigSample/configsample.conf.euc
ConfigSample의 설정 파일 configsample.conf에는 이 그 밖에 문자 코드에 대응시키기 위해, configsample.conf.sjis와 configsample.conf.euc가 준비되어 있습니다.
RT컴포넌트 외부로부터의 입력(이벤트)에 의해 처리를 실행하는 ExecutionContext의 샘플입니다. ExtConsoleIn.sh와 ExtConsoleOut.sh를 실행하는 것으로 샘플 컴포넌트가 기동합니다. 양컴포넌트를 기동 후, ExtConnector.sh를 실행해 양컴포넌트의 Port간을 접속해 주십시오.
Port간의 접속이 성공하면, ExtConnector를 실행한 콘솔에 어느 컴포넌트의 처리를 진행시키는지 선택하는 메뉴가 표시됩니다. 각 컴포넌트는 이 콘솔에 입력된 값에 따라 처리 1주기씩 진행시켜 나갑니다.
GUI 화면을 가진 RT컴포넌트의 샘플입니다. GUIIn.sh를 실행하는 것으로 샘플 컴포넌트가 기동합니다.
본장에서는 OpenRTM-aist-Java-0.4에 부속의 샘플에 대해 설명합니다. 샘플을 테스트하는 경우는 각 샘플 컴포넌트를 기동하기 전에 start-orbd.vbs를 실행해 네임 서비스를 기동해 주십시오. start-orbd.vbs를 실행하려면 , 해당하는 파일을 더블 클릭해 주십시오. 인스톨러를 이용해 인스톨 했을 경우는 start-orbd.vbs를 시작 메뉴로부터 실행할 수도 있습니다. 덧붙여 본장에서는 RtcLink가 인스톨 된 환경인 것을 가정해 설명하고 있습니다. RtcLink의 인스톨에 대한 자세한 것은 RtcLink 인스톨 을 참조해 주십시오(일부의 샘플은 RtcLink가 없어도 동작합니다).
※이미 RtcLink를 인스톨 하고 있다면
새로운 OpenRTM-aist-Java-0.4에서는 RtcLink 0.4.0은 사용할 수 없게 되었습니다. 이미, Eclipse상에 RtcLink 플러그 인을 인스톨 하고 있는 분은 OpenRTM-aist-Java-0.4를 사용하는 경우, 반드시 RtcLink도 0.4.1에 업데이트 해주십시오.
참고:DataInPort, DataOutPort의 사용 방법을 나타낸 샘플입니다. ConsoleIn.sh와 ConsoleOut.sh를 실행하는 것으로 샘플 컴포넌트가 기동합니다. Port간을 접속하면 ConsoleIn측에서 입력한 숫자가, ConsoleOut 측에 표시됩니다. Port간은 RtcLink를 이용하는 것 외에 Connector.bat를 실행하는 것으로 접속할 수 있습니다.
DataInPort, DataOutPort의 사용 방법을 나타낸 샘플입니다. SeqIn.bat와 SeqOut.bat를 실행하는 것으로 샘플 컴포넌트가 기동해, GUI 화면이 표시됩니다. SeqIn, SeqOut 모두 이하의 형태의 DataPort를 보관 유지하고 있습니다. TimedShort, TimedLong, TimedFLoat, TimedDouble, TimedShortSeq, TimedLongSeq, TimedFLoatSeq, TimedDoubleSeq 각 Port의 출력은 랜덤으로 결정하고 있어 각 Port간을 접속하면 SeqOut측의 출력치, SeqIn측의 입력치가 각각의 GUI 화면에 표시됩니다.(Port간의 접속에는 RtcLink를 이용하십시오.)
ServicePort의 사용 방법을 나타낸 샘플입니다. 이하에 나타내는 IDL를 사용해 서비스를 정의하고 있습니다.
typedef sequence<string> EchoList;
typedef sequence<float> ValueList;
interface MyService
{
string echo(in string msg);
EchoList get_echo_history();
void set_value(in float value);
float get_value();
ValueList get_value_history();
};MyServiceConsumer.bat와 MyServiceProvider.bat를 실행하는 것으로 샘플 컴포넌트가 기동합니다. Consumer측 컴포넌트를 Activate 하면 콘솔에 이용 가능한 커멘드 리스트가 표시되기 때문에, 각 커멘드를 테스트해 보십시오.(Port간의 접속에는 RtcLink를 이용하십시오.)
RT컴포넌트의 컨피그레이션 세트의 사용 방법을 나타낸 샘플입니다. ConfigSample.ba을 실행하는 것으로 샘플 컴포넌트가 기동합니다. 컴포넌트가 정상적으로 기동되면, 컨피그레이션 세트가 미리 설정된 상태로 되어 있습니다. RtcLink를 이용해 컨피그레이션 세트를 확인해 보십시오.
.\\RTMExamples\\ConfigSample\\configsample.conf
(폴더와 폴더의 사이의 문자는'\'가 아니고,'\\'로 합니다)
RT컴포넌트 외부로부터의 입력(이벤트)에 의해 처리를 실행하는 ExecutionContext의 샘플입니다. ExtConsoleIn.bat와 ExtConsoleOut.bat를 실행하는 것으로 샘플 컴포넌트가 기동합니다. 양컴포넌트를 기동 후, ExtConnector.bat를 실행해 양컴포넌트의 Port간을 접속해 주십시오.



Port간의 접속이 성공하면, ExtConnector를 실행한 콘솔에 어느 컴포넌트의 처리를 진행시키는지 선택하는 메뉴가 표시됩니다. 각 컴포넌트는 이 콘솔에 입력된 값에 따라 처리 1주기씩 진행시켜 나갑니다.
GUI 화면을 가진 RT컴포넌트의 샘플입니다. GUIIn.bat를 실행하는 것으로 샘플 컴포넌트가 기동합니다.
(LogView 컴포넌트는 OpenRTM-aist-Java-0.4에 부속되지 않게 되었습니다)
통합 개발 환경 Eclipse의 플러그 인으로서 동작하는 RT컴포넌트의 샘플입니다. 이 컴포넌트는 2개의 TimedDouble형 DataInPort를 가지고 있어 입력된 값을 차례차례 화면상에 그래프 표시해 갈 것입니다.
LogView 디렉토리내에 있는「jp.go.aist.rtm.logview_1.0.0.jar」를 Eclipse 인스톨 디렉토리 이하의 plugins 디렉토리내에 복사하면 인스톨은 완료입니다.(Eclipse의 인스톨 방법에 대해서는,RtcLink·RtcTemplate의 인스톨등을 참조하십시오)
네임 서비스를 기동 후, Eclipse를 기동해 주십시오.(Eclipse 기동시, 혹은 화면 표시시에 컴포넌트의 등록을 실시하기 때문에 네임 서비스는 사전에 기동해 주십시오.)
LogView에게 주는 rtc.conf를 작성해 적당한 디렉토리에 둡니다. 이하의 예에서는 Eclipse를 기동하는 호스트와 같은 호스트상의 네임서버를 참조해, 컴포넌트의 이름은 루트 컨텍스트의 직하에 그대로 등록되는 설정입니다.
corba.nameservers: localhost naming.formats: %n.rtc
Eclipse가 기동하면, 상부 메뉴로부터「윈도우」「설정」을 선택해, 표시된「설정」다이얼로그에서,「LogView」를 선택해 주십시오.
그림과 같이 LogView의 설정 화면이 표시되기 때문에, 각 설정 항목을 적절히 설정합니다.
설정이 끝나면, 상부 메뉴로부터「윈도우」「뷰의 표시」「그 외」를 선택해, 표시된「뷰의 표시」화면에서,「그 외」「LogView」를 선택해 주십시오. 네임서비스뷰상에 LogView 컴포넌트가 나타납니다.
LogView 컴포넌트의 동작 확인용 컴포넌트로서 SinCosOut 컴포넌트를 준비하고 있습니다. SinCosOut 컴포넌트는 TimedDouble형의 2개의 DataOutPort를 보관 유지하고 있어 각각의 Port로부터 sin파, cos파를 출력합니다. SinCosOut.bat를 실행하는 것으로 기동할 수 있기 때문에, LogView 컴포넌트와 함께 시험해 주십시오. LogView 컴포넌트는 Y축방향의 최대치, 최소치 및 눈금의 간격과 그래프의 리드로잉 주기를 설정하는 것이 가능합니다. 화면 우측의 텍스트 박스내로 설정치를 입력해, 「Apply」버튼을 누르는 것으로 설정을 반영하는 것이 가능합니다.
# ls jdk-1_5_0_15-linux-i586-rpm.bin # sh jdk-1_5_0_15-linux-i586-rpm.bin
# ls jdk-1_5_0_15-linux-i586.bin # sh jdk-1_5_0_15-linux-i586.bin
# mkdir /usr/java # mv jdk1.5.0_15/ /usr/java/
/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에서는 디폴트로 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. $
$ 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) $
$ 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. $
deb http://ftp.jp.debian.org/debian/ etch main contrib non-free
# aptitude update
# 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
# 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) #
참고 사이트(외부 사이트):
→ Debian GNU/Linux Etch 에 Sun JDK (Java SDK) 를 인스톨
$ 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) $
# 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
## 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) #
→ Java개발 실행 환경을 구축(J2SDK-Linux편)