동작확인 (Linux)

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

  • /usr/share/OpenRTM-aist/examples/python
  • /usr/local/share/OpenRTM-aist/examples/python

소스로부터 빌드 했을 경우는 소스 디렉토리 이하의

  • OpenRTM_aist/examples/<샘플 컴퍼넌트 세트명>

에도 있습니다.

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

샘플 컴퍼넌트 세트 SimpleIO

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

이후, 간단을 위해 샘플은 /usr/share/OpenRTM-aist/examples/python 이하에 있는 것으로 설명을 기술합니다.

샘플을 사용한 테스트

네임서버를 기동

우선, 컴퍼넌트의 참조를 등록하기 위한 네임서버를 기동합니다. Linux등의 패키지로 omniORBpy를 인스톨 했을 경우, 이미 시스템의 서비스로서 네임서버(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

 omniNames가 기동하고 있지 않는 경우, rtm-naming 커멘드로 네임서버를 기동합니다.

 $ rtm-naming
 Starting omniORB omniNames: ubuntu910:2809
 
 Thu Dec  3 18:52:14 2009:
 
 Starting omniNames for the first time.
 Wrote initial log file.
 Read log file successfully.
 Root context is  IOR:010000002b00000049444c3a6f6d672e6f72672f436f734e616d696e672f4e616d696e67436f6e746578744578743a312e30000001000000000000007400000001010200100000003139322e3136382e3130302e31323500942600000b0000004e616d6553657276696365000300000000000000080000000100000000545441010000001c0000000100000001000100010000000100010509010100010000000901010003545441080000004e8a174b01000fef
 Checkpointing Phase 1: Prepare.
 Checkpointing Phase 2: Commit.
 Checkpointing completed.

rtc.conf 의 작성

테스트를 위한 RTC 컨피그레이션 파일 rtc.conf를 작성하고 배치합니다. 우선 적당한 작업 디렉토리를 만듭니다. 여기에서는 편의상 홈 디렉토리 아래에 RTCwork 라고 하는 디렉토리를 작업 디렉토리로 해두기로 하겠습니다. 작업 디렉토리 RTCwork에 다음과 같은 내용의 파일 rtc.conf를 작성합니다.

~/RTCWork/rtc.conf로 새롭게 작성해 주십시오.

 $ cd ~/RTCwork
 $ vi rtc.conf

작성하는 파일의 내용은 이하와 같이 됩니다.

 corba.nameservers: localhost
 naming.formats: %h.host_cxt/%n.rtc
 logger.enable: NO
 example.ConsoleOut.config_file: consout.conf
 example.ConsoleIn.config_file: consin.conf
rtc.conf

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

ConsoleIn 컴퍼넌트의 기동

터미널을 기동하고 다음과 같이 앞에서 작성한 rtc.conf를 참조시키는 형태로 ConsoleIn.py를 기동합니다.

 $ python /usr/share/OpenRTM-aist/examples/python/SimpleIO/ConsoleIn.py -f ~/RTCwork/rtc.conf 
 comp_args: ConsoleIn
 

스스로 빌드·인스톨 했을 경우는,

 $ python <source_dir>/OpenRTM_aist/examples/SimpleIO/ConsoleIn.py -f ~/RTCwork/rtc.conf

으로 ConsoleIn 컴퍼넌트를 기동합니다.

ConsoleOut 컴퍼넌트의 기동

터미널을 기동하고 방금전 작성한 rtc.conf를 참조하는 형태로 ConsoleOut.py를 기동합니다.

 $ python /usr/share/OpenRTM-aist/examps/python/SimpleIO/ConsoleOut.py -f ~/RTCwork/rtc.conf
 comp_args: ConsoleOut

스스로 빌드·인스톨 했을 경우도

 $ python <source_dir>/OpenRTM_aist/examples/SimpleIO/ConsoleOut.py -f ~/RTCwork/rtc.conf

으로 ConsoleOut 컴퍼넌트를 기동합니다.

RTSystemEditor 의 기동

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

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

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

네임서버의 참조와 확인

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

 localhost
 또는
 localhost:2809

라고 입력합니다.(omniNames의 디폴트의 포트 번호는 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-Python이 정상적으로 인스톨되어 있는 지를 확인할 수 있었습니다.

Download

latest Releases : 2.0.0-RELESE

2.0.0-RELESE Download page

Number of Projects

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