동작확인 (Windows)

샘플 컴포넌트의 장소

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

  • 시작 메뉴: [시작]>>[OpenRTM-aist]>>[Python]>>[components]>>[examples]
  • C:\Program Files\OpenRTM-aist\1.0\examples\Python
  • OpenRTM_aist/examples (소스로부터 빌드 했을 경우)

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

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

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

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

win_start_menu_open2_ko.png
시작 메뉴의 OpenRTM-aist를 열기

네임서버의 기동

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

win_start_menu_open_tool2_ko.png
네임서버에의 바로가기

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

win_naming_service2_ko.png
네임서버의 기동

콘솔 화면이 열리지 않는다

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

omniORBpy가 인스톨 되어 있지 않다.

openrtm.org가 제공하는 msi 인스톨러에는 omniORB가 포함되어 있습니다만, 언인스톨 을 선택하면, omniORB를 인스톨 하지 않고 OpenRTM-aist-Python을 인스톨 할 수도 있습니다.

또, 수동으로 인스톨 했을 경우에는 omniORB가 들어가 있지 않은 경우도 있기 때문에 omniORB가 인스톨 되어 있는지 확인해 주십시오.

그 외

호스트명이나 주소의 설정의 문제로, 기동이 잘 되지 않는 케이스가 있습니다. 그 경우 이용하고 있는 PC의 IP주소를 omniNames.exe에 가르쳐 주면 잘 되는 경우가 있습니다. 환경 변수 OMNIORB_USEHOSTNAME 를 이하와 같이 설정합니다 (이하는 자신의 호스트의 IP주소가 192.168.0.11인 경우의 예).

 변수명(N): OMNIORB_USEHOSTNAME
 변수치(V): 192.168.0.11

샘플 컴포넌트의 기동

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

win_start_menu_comps2_ko.png
샘플 컴포넌트 폴더

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

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

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

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

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

rtc.conf 의 설정에 문제가 있어, 기동할 수 없는 케이스가 있습니다. 샘플 컴포넌트의 인스톨 폴더(인스톨시에 아무것도 지정하지 않았던 경우 C:\Program Files\OpenRTM-aist\1.0\examples\Python\SimpleIO) 의 「rtc.conf」를 열어 설정을 확인해 주십시오. 예를 들면 corba.endpoint/corba.endpoints 등의 설정이 현재 실행중의 PC의 호스트 주소와 미스매치를 일으키고 있는 경우 등은 CORBA가 이상 종료합니다.

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

 corba.nameservers: localhost

RTSystemEditor(RTSE)의 기동

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

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로 포트끼리를 접속해, 액티브하는 것으로 테스트 할 수 있습니다.

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

ConsoleIn.py 콘솔로부터 입력된 수치를 OutPort로부터 출력한다. ConsoleOut.py와 연결해 사용
ConsoleOut.py InPort에 입력된 수치를 콘솔에 표시하는 컴포넌트. ConsoleIn.py와 연결해 사용
SeqIn.py 랜덤인 수치(Short,Long,Float,Double와 그 순서형)을 출력하는 컴포넌트. SeqOut.py와 연결해 사용
SeqOut.py InPort에 입력되는 수치(Short,Long,Float,Double와 그 순서형)을 표시. SeqIn.py와 연결해 사용
MyServiceProvider.py MyService형의 서비스를 제공하는 컴포넌트. MyServiceConsumer.py와 연결해 사용
MyServiceConsumer.py MyService형의 서비스를 제공하는 컴포넌트. MyServiceProvider.py와 연결해 사용
ConfigSample.py Configuration의 샘플. RTSystemEditor에서 Configuration를 변경해 Configuration의 변경에 대해 이해하기 위한 샘플.
TkMobileRobotSimulator.py 모바일 로봇의 간이 시뮬레이터. 로봇의 속도를 InPort로 받아 이동 후의 위치를 OutPort로부터 출력한다.
NXTRTC.py LEGO LEGO MINDSTORM에서 작성한 모바일 로봇을 제어하기 위한 샘플. InPort에서 속도를 받아 적외선 센서와 현재 위치를 각각 OutPort로부터 출력한다.
AutoControl.py 모바일 로봇용의 속도를 출력한다. 측위 센서의 데이터를 InPort로 받아 로봇의 속도를 계산해 OutPort로부터 출력한다.
Composite.py Composite용의 샘플. Motor,Controller, Sensor를 포함 하는 컴포넌트. Composite의 사용 방법을 이해하기 위한 샘플.
Motor.py Composite 컴포넌트용의 샘플. Composite의 자(子)요소로서 사용.
Controller.py Composite 컴포넌트용의 샘플. Composite의 자(子)요소로서 사용.
Sensor.py Composite 컴포넌트용의 샘플. Composite의 자(子)요소로서 사용.
Slider.py Tk를 이용한 GUI 컴포넌트의 샘플. Slider로 지정한 값을 OutPort로부터 출력한다.
TkMotorComp.py Tk를 이용한 GUI 컴포넌트의 샘플. InPort로 받은 값을 GUI로 표시한다.
TkLRFViewer.py Tk를 이용한 GUI 컴포넌트의 샘플. 레이저 레인지 센서 등에서 출력되는 데이터를 표시한다.
TkJoystickComp.py Tk를 이용한 GUI 컴포넌트의 샘플. 간이 조이스틱 컴포넌트.

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