RtcLink

RtcLink란

RtcLink는 네트워크상에 존재하는 RT컴퍼넌트의 조작을 실시하기 때문에(위해)의 GUI 툴입니다. RT컴퍼넌트의 액티브화·비액티브화(Activate/Deactivate)를 실시하거나 포토간의 접속을 실시할 수 있습니다.  시스템 개발툴로서 OpenRTM-aist-0.2.0 에 부속되어 있던 RtcLink는 wxPython라고 하는 툴 킷을 사용해 실장되고 있었습니다. OpenRTM-aist-0.4.0에서는 이것을 통합 개발 환경 플랫폼 Eclipse의 plug-in 로서 실장 다시 했습니다.

RT컨포넌트의 묘사 편집

RT컴퍼넌트의 묘화 편집

여기에서는, RT컴퍼넌트의 묘화 편집에 대해 설명해 갈 것입니다. ( 「편집」은 아니고 「묘화 편집」이라고 굳이 하고 있는 것은, 여기서 설명되는 작업은 묘화의 편집이며, 시스템에 대한 영향은 전혀 없기 때문입니다. )

컴퍼넌트 블록의 크기의 변경과 이동

블록을 이동하려면 , 선택 후 드러그 해 움직입니다. 블록의 크기를 변경하려면 , 블록을 선택하는 것으로 표시되는 핸들을 드러그 해 움직입니다.
rtc-link28.png

또, 선택된 블록의 위치와 크기가 상태 바에 표시됩니다.
rtc-link29.png

블록의 회전

블록을 선택해, 마우스안버튼 (혹은 휠)을 크리 쿠 하는 것으로, 수평의 방향에 회전합니다. Shift 키를 누르면서 마우스안버튼(혹은 휠)을 클릭하는 것으로, 수직의 방향에 회전합니다. 각각 같은 조작을 반복해 실시하는 것으로 반대의 수평의 향해, 반대의 수직의 방향에 변경할 수 있어 상하 좌우의 방향에 조작할 수 있습니다.
rtc-link30.png

블록의 삭제

블록을 삭제하려면 , 블록을 선택해 Delete 버튼을 압하하는지, context menu로부터 Delete를 압하해 주세요.
rtc-link31.png

포토간의 접속선을 이동한다

접속선을 이동하려면 , 접속선을 선택해 표시되는 핸들을 이동합니다. 수직선은 좌우에, 수평선은 상하로 이동할 수 있습니다.
rtc-link32.png

RtcLink의 설정

여기에서는, RtcLink의 설정 화면에 붙어 설명합니다. RtcLink의 설정 화면은, 메뉴의[윈도우]-[preferences…]-[RtcLink]로 표시할 수 있습니다.

접속 주기

접속 주기란, RtcLink가 시스템의 정보를 수집해 표시에 반영하는 주기의 일입니다.] 접속 주기는, 네임서비스뷰와 시스템 에디터의 2개가 있습니다. 단위는 밀리 세컨드로, 0을 지정했을 경우에는, 동기는 행해지지 않습니다.


rtc-link44.png

표시색

표시색 설정 화면에서는, 시스템 에디터에서 표시되는 RT컴퍼넌트와 ExecutionContext 상태의 색을 설정할 수 있습니다. 각각의 상태의 의미에 대해서는, 시스템 에디터의 RT컴퍼넌트의 표시를 봐 주세요.


rtc-link45.png

RtcLink개요

RtcLink

RtcLink는, RT컴퍼넌트를 리얼타임에 GUI상에서 조작할 수 있습니다. → 인스톨 방법은이쪽 에 있습니다.

RtcLink의 기본 기능

RtcLink에는, 이하와 같은 기능이 있습니다.

네임서버 접속/편집
네임서버에 접속해, 등록되어 있는 컴퍼넌트를 NameServiceView에 트리 형식에서 표시합니다.
컴퍼넌트 프로파일 표시 기능
선택한 컴퍼넌트의 프로파일 정보를 프롭퍼티 View에 표시합니다.
컴퍼넌트 Configuration 표시/편집
선택한 컴퍼넌트의 Configuratioin 정보를 ConfigurationView에 표시해 편집할 수 있습니다.
컴퍼넌트 기본 조작
선택한 컴퍼넌트의 액티브화·비액티브화·리셋트·종료등 조작을 실시하는 것이 성과안소.
시스템 구축
시스템 에디터상에서 컴퍼넌트를 접속해 시스템을 구축할 수 있습니다.
시스템 보존/재구축 기능
시스템 에디터의 내용을 보존하거나 그것을 읽어들여 시스템을 재구축 할 수 있습니다.

RtcLink를 사용한 시스템 구축의 흐름

RtcLink를 사용해 시스템을 구축하는 순서는 대체로 이하와 같습니다.

1.컴퍼넌트를 기동
시스템에 필요한 RT컴퍼넌트를 기동합니다.

통상은 시스템 전체로 1개소의 네임서버를 사용하도록(듯이) 설정한 다음 RT컴퍼넌트를 기동합니다.

2.RtcLink를 네임서버에 접속
RtcLink를 기동하고, NameServiceView로부터 RT컴퍼넌트 기동시로 설정한 네임서버에 접속합니다.
3.시스템 에디터상에서 편집
기동하고 있는 RT컴퍼넌트는 네임서버상에 등록되어 RtcLink의 NameServiceView에서 볼 수 있습니다.

이러한 RT컴퍼넌트를, 시스템 에디터에 드래그 앤드 드롭 해, RT컴퍼넌트의 적절한 포토끼리를 RtcLink를 사용해 접속합니다.

4.컴퍼넌트의 기동(액티브화)
RT컴퍼넌트끼리의 접속이 완료하면, RT컴퍼넌트를 액티브화해 시스템을 기동합니다.
RT컴퍼넌트를 1개씩 액티브화할 수도 있고, 메뉴 버튼의 일괄 액티브화 버튼으로 일제히 액티브화할 수도 있습니다.
5.시스템의 보존
완성한 시스템은 XML 형식의 파일로 접속 정보등을 보존합니다.
6.시스템의 복원
보존한 시스템 구성 정보의 파일을 읽어들여 접속 정보를 복원해 시스템을 다시 같은 상태로 기동합니다.

이러한 사용법 이외에, RT컴퍼넌트를 작성 후에 디버그등에서도 사용할 수도 있습니다.

RtcLink의 기동

 Eclipse를 기동 해, 메뉴로부터윈도우(W)→퍼스펙티브를 여는(O)→그 외(O)를 선택하면, 다음과 같은 퍼스펙티브 선택 화면이 나타납니다.
EclipsePluginInstall4.png

퍼스펙티브 일람에 있는 RtcLink를 선택하면, 다음과 같은 화면이 나타나 RtcLink가 기동됩니다.
EclipsePluginInstall5.png


RtcLink를 이용한 RT컴포넌트의 조작

RtcLink를 이용한 RT컴퍼넌트의 조작

RT컴퍼넌트 상태를 변경한다

시스템 에디터에서는, RT컴퍼넌트를 선택해, 「Activate」, 「Deactivate」, 「Reset」, 「Finalize」, 「Exit」, 「Start」, 「Stop」를 실행할 수 있습니다. 또, 네임서비스뷰에서도 같이 조작을 실행할 수 있습니다.


rtc-link33.png
네임서비스뷰(왼쪽)와 시스템 에디터( 오른쪽)로부터 상태를 변경하는


이러한 액션의 의미는 이하대로입니다.

액션명 실행 대상 의미
Activate 1번째의 ExecutionContext Active화한다
Deactivate 〃 비Active화한다
Reset 〃 Reset 한다
Finalize RT컴퍼넌트 Finalize 한다
Exit 〃 Exit 한다
Start 1번째의 ExecutionContext Start 한다
Stop 〃 Stop 한다

또, 툴바와 콘텍스트 메뉴로부터, 시스템 에디터에 포함되는 모든 RT컴퍼넌트에Activate, Deactivate, Start, Stop를 실행할 수 있습니다.

rtc-link34.png
툴바 버튼:전컴퍼넌트를 일괄 조작 가능


All계의 액션은, 1번째 이외의 ExecutionContext에 대해서도 행해집니다. Activate나Start를 화면내의 RT컴퍼넌트에 1개씩 갔을 경우와 결과가 다른 것에 주의해 주세요.

포토간을 접속한다

시스템 에디터에서는, RT컴퍼넌트의 포토간을 접속할 수 있습니다. 포토간을 접속하려면 , 포토와 포토를 드러그&드롭으로 잇습니다.

rtc-link35.png

드러그&드롭 종료후, 접속에 필요한 정보의 입력을 재촉하는 다이얼로그가 표시됩니다.
rtc-link36.png

이 다이얼로그에서는, ConnectorProfile를 작성합니다. ConnectorProfile는, 각각의 포토가 필요로 하는 조건을 채우도록(듯이) 작성하지 않으면 안됩니다, 이 다이얼로그에서는 자동적으로 필요한 조건을 채우는 값만을 입력할 수 있게 되어 있습니다.

필요한 조건을 채울 수 없는 접속의 경우에는, 드러그&드롭의 접속시에 금지 마크가 표시되어 드러그&드롭을 실시할 수 없습니다.

rtc-link37.png
\
포토간의 접속에는, 데이터포트 간접속과 서비스 포토 간접속이 있습니다.

데이터포트 간접속

데이터포트의 접속으로, 「InPort」와「OutPort」를 접속합니다. 이러한 사이를 드러그&드롭으로 이으면 이하의 다이얼로그가 표시됩니다.

rtc-link38.png

다이얼로그의 항목과 조건은 이하대로입니다.

항목 프로파일명 개요
Data Type dataport.data_type 포토가 사용하는 데이터형.
Interface Type dataport.interface_type 데이터포트가 사용하는 인터페이스 타입.디폴트에서는 CORBA_Any만 사용 가능.
Dataflow Type dataport.dataflow_type 데이터 플로우형.Push형과 Pull형이 있다.
Subscription Type dataport.subscription_type 예약 구독형.Push형때만 의미를 가진다.New, Periodic, Flush형이 있다.
Push Rate(Hz) dataport.push_interval Subscription Type 가 Periodic 때의 데이터 송신 주기. Subscription Type가Periodic의 때만 지정 가능.
이러한 항목에 대해서, RtcLink는 지정 가능한 값을, 각각의 포토의 값리스트로부터 문자열의 매칭을 실시해 작성합니다. 이 때문에, 쌍방의 포토에 대해서 ANY 밖에 지정되어 있지 않은 듯한 경우에는, 입력 가능한 값을 판단할 수 없습니다. 이 때문에 쌍방의 포토에 ANY가 포함되어 있는 경우에, RtcLink는 임의의 문자열을 입력할 수 있도록 하고 있습니다. 임의의 문자열이 입력 가능한 항목에는, 「임의 입력가능」이라고 표시됩니다.

서비스 포토 간접속

서비스 포토간의 접속에서는, 「ServicePort」와 「ServicePort」를 접속합니다. 이러한 사이를 드러그&드롭으로 이으면 이하의 다이얼로그가 표시됩니다.


rtc-link39.png

서비스 포토의 경우, 필수가 되는 접속의 조건은 없습니다. 그러나, ServicePort간으로의 PortInterfaceProfile가 완전하게 매칭 하지 않는 경우, 접속 다이얼로그에서 경고를 표시합니다. 여기서 말하는 완전한 매칭이란, PortInterfaceProfile의 「type」가 같고, 「polarity」가 서로 PROVIDED와 REQUIred가 되어 있는 것. 또 남아 없고 (PortInterfaceProfile은 각각의 포토에 복수 존재한다) 모든 PortInterfaceProfile가 매칭 하는 것을 가리키고 있습니다.

포토간의 접속을 절단 한다

포토간의 접속을 절단 하려면 , 접속을 선택해 Delete 버튼을 압하하는지, 콘텍스트 메뉴에 표시되는 Delete를 압하합니다.


rtc-link40.png

시스템을 세이브한다

시스템 에디터로 구축한 시스템은 세이브할 수 있습니다. 세이브하려면 , 메뉴의[파일]혹은 에디터를 오른쪽 클릭해 「Save…」를 선택합니다. ( 「SaveAs…」에서는, 세이브하는 파일을 임의 선택할 수 있습니다)


rtc-link41.png

세이브한 시스템을 오픈한다

세이브한 시스템 에디터를 오픈하려면 , 에디터를 오른쪽 클릭해 「Open」를 선택합니다.

rtc-link42.png

오픈 후는, RtcLink는 리모트의 시스템을 정으로서 최신의 정보로 갱신을 실시합니다. 세이브 내용을 시스템에 복원하려면 , 다음의 마디로 설명하는 「Open and Restore…」를 사용해 주세요.

세이브한 시스템을 오픈 및 복원한다

세이브한 시스템 에디터를 오픈 및 복원하려면 , 에디터를 오른쪽 클릭해 「Open and Restore…」를 선택합니다.
rtc-link43.png
\
시스템에 복원되는 것은 이하의 내용입니다.
  • 포토간의 접속
  • configuration 정보

또, 복원 후는 자동적으로 All Activate가 실행됩니다. 복원에 실패했을 경우에는, 에러 내용이 표시됩니다. 또, RtcLink는 에러 발생시라도, 할 수 있는 한 복원을 시도합니다.

세이브한 시스템을 복원한다(콘솔)

RtcLink에는, GUI로부터는 아니게 콘솔에서, 시스템을 복원하는 기능도 가지고 있습니다. 콘솔 복원을 실시하려면 , 별도 배포되고 있는 RtcLink의 콘솔 복원 패키지의 「ConsoleRestore」폴더에 있는, 「run.bat」를 세이브 파일을 지정해 실행합니다.

 C:\tmp\RtcLink\ConsoleRestore > run.bat C:\tmp\save.rtclink 

기타 / 사례

그 외

FAQ

 이쪽(을)를 참조해 주세요.

사례

 RtcLink는, 이하의 라이브러리를 사용해 개발되었습니다. 이러한 프로젝트의 개발과 설계와 관계된 분들에게 감사합니다.

Apache Jakarta Commons Lang 2.2

Apache Jakarta Commons Lang
Copyright 2001-2006 The Apache Software Foundation
This product includes software developed by
The Apache Software Foundation http://www.apache.org/

조작 화면

RtcLink 조작 화면

RtcLink는, Eclipse의 용어로 뷰(View)나 에디터(Editor)로 불리는 몇개의 서브 윈도우로부터 구성됩니다.
네임서비스뷰(NameServiceView)
RT컴퍼넌트가 등록되어 있는 네임 서비스의 내용을 트리 표시합니다.
콘피그레이션뷰(ConfigurationView)
선택되고 있는 RT컴퍼넌트의 configuration 정보를 표시/편집합니다.
프로파티뷰(PropertyView)
선택되고 있는 RT컴퍼넌트의 프로파일 정보를 표시합니다.
시스템 에디터(SystemEditor)
RT컴퍼넌트 상태를 그래피컬하게 표시해, 포토 접속등을 실시해 시스템을 구축합니다.

이하, RtcLink의 뷰(View)나 에디터(Editor) 마다의 조작 방법을 설명합니다.

네임서비스뷰(NameServiceView)

밑그림의 테두리로 둘러싸인 부분이 네임서비스뷰입니다.
rtc-link7.png

OpenRTM-aist에서는 RTC를 관리·공개하기 위해서 네임 서비스가 사용되고 있어 네임서비스뷰에서는, 이 내용을 표시/편집할 수 있습니다.

네임서버에의 접속

네임서버에 접속하려면 , 네임서비스뷰의 상부에 존재하는 버튼을 압하하는지, 콘텍스트 메뉴에서 「Add Name Server」를 선택합니다.

rtc-link8.png

네임서버 접속 다이얼로그에서는, IP주소 및 포토 번호를 입력합니다. (포토 번호가 생략 되었을 경우에는, omniORB의 네임 서비스의 디폴트 포토의 2809번 포토가 사용됩니다.)
rtc-link9.png

※Eclipse의(재) 기동시에는 마지막에 접속한 주소에 자동적으로 접속합니다. 존재하지 않는 경우에는, 로컬 호스트의 2809번에 접속을 시도합니다.

네임서버를 뷰로부터 삭제한다

접속하고 있는 네임서버를 화면으로부터 삭제하려면 , 네임서버를 선택해 「Delete from View」버튼을 압하합니다.
rtc-link10.png

네임서버의 내용을 표시한다

접속한 네임서버에 컴퍼넌트가 등록되어 있으면, 이하와 같이 등록 내용이 트리 형식에서 표시됩니다.

rtc-link11.png

각 아이콘의 의미는 이하대로입니다.

아이콘 kind 의미
icon1.png
host_cxt 호스트 문맥
icon2.png
mgr_cxt 매니저 문맥
icon3.png
cate_cxt 카테고리 문맥
icon4.png
mod_cxt 모듈 문맥
icon5.png
상기 이외 상기 이외의 문맥
icon6.png
rtc RT컴퍼넌트
없음 -- RT컴퍼넌트 이외의 오브젝트
icon8.png
-- 등록되어 있지만, 실체가 없는 좀비 오브젝트

네임서비스뷰는, 접속처의 각 네임서버를 항상 감시해 표시의 동기·코우신을 실시하고 있습니다. (감시의 주기는, 설정 화면의 접속 주기의 항목으로 변경할 수 있습니다) 또, 명시적으로 네임서버의 내용을 재취득하는 경우에는 리프레쉬를 실시할 수 있습니다. 리프레쉬를 실시하려면 , 네임서비스뷰의 상부에 존재하는 버튼을 압하하는지, context menu에서 「Refresh」를 선택합니다.

네임서비스뷰의 표시 범위를 변경한다

네임서비스뷰에서는, RTC의 수가 많아지는 것에 의해서 조작하는 범위가 번잡화하는 것을 막기 위해서, 표시 루트의 위치를 이동하는 기능이 있습니다. 표시 루트를 이동하려면 , 이동하는 앞을 선택해, 「Go Into」로 이동합니다.


rtc-link13.png
표시 루트 변경


rtc-link14.png
표시 루트 변경예


이동 후는, 「Go Back」로 1 계층상에 오를 수 있습니다. 또, 「Go Home」로 최상위의 계층으로 돌아옵니다.

네임 트리의 내용의 편집

네임서비스뷰에서는, 네임서버에 등록되어 있는 문맥이나 오브젝트의 삭제를 실시할 수 있습니다. (추가를 실시할 수 없습니다) 문맥이나 오브젝트를 삭제하려면 , 콘텍스트 메뉴에서 「Delete from Name Service」버튼을 압하합니다. 네임 서비스상에서 RT컴퍼넌트의 엔트리를 삭제해도, RT컴퍼넌트 자체가 삭제되거나 종료하거나 할 것은 없습니다.

또, 등록되어 있는 네임서버에 대해서도와 같이 삭제할 수 있습니다.
rtc-link15.png

콘피그레이션뷰(ConfigurationView)

밑그림의 테두리로 둘러싸인 뷰가 콘피규레이션뷰입니다.

rtc-link16.png
콘피그레이션뷰(ConfigurationView)


콘피그레이션뷰에서는, 선택된 RTC의 configuration를 표시/편집할 수 있습니다. 좌측으로 CofigurationSet의 리스트가 표시되어 우측으로 ConfigurationSet내의 프롭퍼티가 표시됩니다.


rtc-link17.png

  1. 선택되고 있는 컴퍼넌트명.
  2. 선택되고 있는 ConfigurationSet명.
  3. 액티브하게 되어 있는 ConfigurationSet. 또, 액티브한 ConfigurationSet를 변경할 수 있다.
  4. ConfigurationSet의 리스트.
  5. 좌측에서 선택되고 있는 ConfigurationSet의 프롭퍼티의 이름.
  6. 좌측에서 선택되고 있는 ConfigurationSet의 프롭퍼티의 값.
  7. ConfigurationSet를 추가/삭제하는 버튼.
  8. 프롭퍼티를 추가/삭제하는 버튼.
  9. 변경 내용을 적용/캔슬하는 버튼.

콘피그레이션뷰로 편집중의 정보는, 9.의 적용 버튼이 압하될 때까지 적용되지 않습니다. 또, 수정중(미적용)의 정보는 붉게 표시됩니다.


rtc-link18.png

콘피그레이션뷰에 표시되는 정보는, RT컴퍼넌트 선택시에 최신의 정보를 캐쉬해 표시하고 있습니다(configuration의 편집에 대비하기 위해). 어느 RT컴퍼넌트를 선택한 채로, 외(의 RtcLink등)로부터 컨피귤레이션이 변경되면, 컨피귤레이션 정보의 부정합이 생기기 때문에 주의해 주세요. RtcLink는 컨피귤레이션의 편집 결과의 적용시에는, 이전의 정보로 관계없이 완전하게 덧쓰기의 것으로 주의해 주세요.

프로파티뷰(PropertyView)

밑그림의 테두리로 둘러싸인 부분이 프로파티뷰입니다.

rtc-link20.png
프로파티뷰(PropertyView)


표시되는 아이콘의 의미는 이하대로입니다.

prof_icon1.png
RTC InstanceName, TypeName, Description, Vender, Category, State((※1번째의 ExecutionContext의 LifeCycleState를 기본으로 해 표시된다))
prof_icon2.png
ExecutionContext State, Kind, Rate
prof_icon3.png
ServicePort Name, 프롭퍼티 정보의 리스트
prof_icon4.png
Outport Name, 프롭퍼티 정보의 리스트
prof_icon5.png
Inport Name, 프롭퍼티 정보의 리스트
prof_icon5.png
PrtInterfaceProfile InterfaceName, TypeName, PortInterfacePolarity
덧붙여 OMG RTC의 사양에서는, RTC의 LifeCycleState는 ExecutionContext 마다 존재합니다. 즉 상태는 복수 존재합니다만, RtcLink에서는 1번째의 ExecutionContext만을 사용해 STATE를 표시합니다.

시스템 에디터(SystemEditor)

밑그림의 테두리로 둘러싸인 부분이 시스템 에디터(SystemEditor)입니다.


rtc-link22.png
시스템 에디터(SystemEditor)


시스템 에디터에서는, RT컴퍼넌트 상태가 리얼타임에 표시됩니다. 또 포토간의 접속이나, RT컴퍼넌트 상태를 변경하는 것으로 시스템 구축, 동작 검증을 실시할 수 있습니다.


rtc-link23.png
시스템 에디터(SystemEditor)


시스템 에디터를 여는

새로운 시스템 에디터를 열려면 , 툴바의 「Open New System Editor」버튼을 압하하는지, 도구모음의[파일]-[ Open New System Editor]를 선택합니다.

rtc-link24.png
툴바로부터 Open New System Editor를 선택



rtc-link25.png
파일 메뉴로부터 Open New System Editor를 선택


RTC를 시스템 에디터에 배치한다

RTC를 시스템 에디터에 배치하려면 , 네임서비스뷰로부터 RT컴퍼넌트를 드러그&드롭 합니다.


rtc-link26.png
컴퍼넌트를 시스템 에디터에 배치하는


RT컴퍼넌트의 표시

시스템 에디터에 배치된 RT컴퍼넌트는 구형으로 표시되어 포토는 그 구형의 주위에 표시됩니다. 또, 각각의 상태가 색으로 표현됩니다.


rtc-link27.png
RT컴퍼넌트 표시의 예


아이콘과 상태색 일람은 이하대로입니다.

  • 컴퍼넌트 상태
    • RT컴퍼넌트
      box_icon.png
상태 색 변경가능
CREATED ■(흰색) ○
INACTIVE ■(파랑) ○
ACTIVE ■(초록) ○
ERROR ■(빨강) ○
UNKNOWN ■(흑) ○
    • ExecutionContext(RTC의 외주선)
상태 색 변경가능
RUNNING □(흑) ×
STOPPED □(회색) ×
    • InPort
      in_p_icon.png
상태 색 변경가능
미접속 ■(파랑) ×
접속 있어 ■(초록) ×
    • OutPort
      out_p_icon.png
상태 색 변경가능
미접속 ■(파랑) ×
접속 있어 ■(초록) ×
    • ServicePort
      svc_icon.png
상태 색 변경가능
미접속 ■(파랑) ×
접속 있어 ■(물색) ×