RtcLink는 네트워크상에 존재하는 RT컴퍼넌트의 조작을 실시하기 때문에(위해)의 GUI 툴입니다. RT컴퍼넌트의 액티브화·비액티브화(Activate/Deactivate)를 실시하거나 포토간의 접속을 실시할 수 있습니다. 시스템 개발툴로서 OpenRTM-aist-0.2.0 에 부속되어 있던 RtcLink는 wxPython라고 하는 툴 킷을 사용해 실장되고 있었습니다. OpenRTM-aist-0.4.0에서는 이것을 통합 개발 환경 플랫폼 Eclipse의 plug-in 로서 실장 다시 했습니다.
여기에서는, RT컴퍼넌트의 묘화 편집에 대해 설명해 갈 것입니다. ( 「편집」은 아니고 「묘화 편집」이라고 굳이 하고 있는 것은, 여기서 설명되는 작업은 묘화의 편집이며, 시스템에 대한 영향은 전혀 없기 때문입니다. )
여기에서는, RtcLink의 설정 화면에 붙어 설명합니다. RtcLink의 설정 화면은, 메뉴의[윈도우]-[preferences…]-[RtcLink]로 표시할 수 있습니다.
접속 주기란, RtcLink가 시스템의 정보를 수집해 표시에 반영하는 주기의 일입니다.] 접속 주기는, 네임서비스뷰와 시스템 에디터의 2개가 있습니다. 단위는 밀리 세컨드로, 0을 지정했을 경우에는, 동기는 행해지지 않습니다.
표시색 설정 화면에서는, 시스템 에디터에서 표시되는 RT컴퍼넌트와 ExecutionContext 상태의 색을 설정할 수 있습니다. 각각의 상태의 의미에 대해서는, 시스템 에디터의 RT컴퍼넌트의 표시를 봐 주세요.
RtcLink에는, 이하와 같은 기능이 있습니다.
RtcLink를 사용해 시스템을 구축하는 순서는 대체로 이하와 같습니다.
통상은 시스템 전체로 1개소의 네임서버를 사용하도록(듯이) 설정한 다음 RT컴퍼넌트를 기동합니다.
이러한 RT컴퍼넌트를, 시스템 에디터에 드래그 앤드 드롭 해, RT컴퍼넌트의 적절한 포토끼리를 RtcLink를 사용해 접속합니다.
이러한 사용법 이외에, RT컴퍼넌트를 작성 후에 디버그등에서도 사용할 수도 있습니다.


시스템 에디터에서는, RT컴퍼넌트를 선택해, 「Activate」, 「Deactivate」, 「Reset」, 「Finalize」, 「Exit」, 「Start」, 「Stop」를 실행할 수 있습니다. 또, 네임서비스뷰에서도 같이 조작을 실행할 수 있습니다.
이러한 액션의 의미는 이하대로입니다.
| 액션명 | 실행 대상 | 의미 |
| Activate | 1번째의 ExecutionContext | Active화한다 |
| Deactivate | 〃 | 비Active화한다 |
| Reset | 〃 | Reset 한다 |
| Finalize | RT컴퍼넌트 | Finalize 한다 |
| Exit | 〃 | Exit 한다 |
| Start | 1번째의 ExecutionContext | Start 한다 |
| Stop | 〃 | Stop 한다 |
또, 툴바와 콘텍스트 메뉴로부터, 시스템 에디터에 포함되는 모든 RT컴퍼넌트에Activate, Deactivate, Start, Stop를 실행할 수 있습니다.
All계의 액션은, 1번째 이외의 ExecutionContext에 대해서도 행해집니다. Activate나Start를 화면내의 RT컴퍼넌트에 1개씩 갔을 경우와 결과가 다른 것에 주의해 주세요.
시스템 에디터에서는, RT컴퍼넌트의 포토간을 접속할 수 있습니다. 포토간을 접속하려면 , 포토와 포토를 드러그&드롭으로 잇습니다.
필요한 조건을 채울 수 없는 접속의 경우에는, 드러그&드롭의 접속시에 금지 마크가 표시되어 드러그&드롭을 실시할 수 없습니다.
데이터포트의 접속으로, 「InPort」와「OutPort」를 접속합니다. 이러한 사이를 드러그&드롭으로 이으면 이하의 다이얼로그가 표시됩니다.
| 항목 | 프로파일명 | 개요 |
| 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의 때만 지정 가능. |
서비스 포토간의 접속에서는, 「ServicePort」와 「ServicePort」를 접속합니다. 이러한 사이를 드러그&드롭으로 이으면 이하의 다이얼로그가 표시됩니다.
포토간의 접속을 절단 하려면 , 접속을 선택해 Delete 버튼을 압하하는지, 콘텍스트 메뉴에 표시되는 Delete를 압하합니다.
시스템 에디터로 구축한 시스템은 세이브할 수 있습니다. 세이브하려면 , 메뉴의[파일]혹은 에디터를 오른쪽 클릭해 「Save…」를 선택합니다. ( 「SaveAs…」에서는, 세이브하는 파일을 임의 선택할 수 있습니다)
세이브한 시스템 에디터를 오픈하려면 , 에디터를 오른쪽 클릭해 「Open」를 선택합니다.
또, 복원 후는 자동적으로 All Activate가 실행됩니다. 복원에 실패했을 경우에는, 에러 내용이 표시됩니다. 또, RtcLink는 에러 발생시라도, 할 수 있는 한 복원을 시도합니다.
RtcLink에는, GUI로부터는 아니게 콘솔에서, 시스템을 복원하는 기능도 가지고 있습니다. 콘솔 복원을 실시하려면 , 별도 배포되고 있는 RtcLink의 콘솔 복원 패키지의 「ConsoleRestore」폴더에 있는, 「run.bat」를 세이브 파일을 지정해 실행합니다.
C:\tmp\RtcLink\ConsoleRestore > run.bat C:\tmp\save.rtclink
RtcLink는, 이하의 라이브러리를 사용해 개발되었습니다. 이러한 프로젝트의 개발과 설계와 관계된 분들에게 감사합니다.
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의 뷰(View)나 에디터(Editor) 마다의 조작 방법을 설명합니다.
네임서버에 접속하려면 , 네임서비스뷰의 상부에 존재하는 버튼을 압하하는지, 콘텍스트 메뉴에서 「Add Name Server」를 선택합니다.
접속한 네임서버에 컴퍼넌트가 등록되어 있으면, 이하와 같이 등록 내용이 트리 형식에서 표시됩니다.
| 아이콘 | 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」로 이동합니다.
이동 후는, 「Go Back」로 1 계층상에 오를 수 있습니다. 또, 「Go Home」로 최상위의 계층으로 돌아옵니다.
네임서비스뷰에서는, 네임서버에 등록되어 있는 문맥이나 오브젝트의 삭제를 실시할 수 있습니다. (추가를 실시할 수 없습니다) 문맥이나 오브젝트를 삭제하려면 , 콘텍스트 메뉴에서 「Delete from Name Service」버튼을 압하합니다. 네임 서비스상에서 RT컴퍼넌트의 엔트리를 삭제해도, RT컴퍼넌트 자체가 삭제되거나 종료하거나 할 것은 없습니다.
또, 등록되어 있는 네임서버에 대해서도와 같이 삭제할 수 있습니다.밑그림의 테두리로 둘러싸인 뷰가 콘피규레이션뷰입니다.
콘피그레이션뷰에서는, 선택된 RTC의 configuration를 표시/편집할 수 있습니다. 좌측으로 CofigurationSet의 리스트가 표시되어 우측으로 ConfigurationSet내의 프롭퍼티가 표시됩니다.
콘피그레이션뷰로 편집중의 정보는, 9.의 적용 버튼이 압하될 때까지 적용되지 않습니다. 또, 수정중(미적용)의 정보는 붉게 표시됩니다.
밑그림의 테두리로 둘러싸인 부분이 프로파티뷰입니다.
표시되는 아이콘의 의미는 이하대로입니다.
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 |
밑그림의 테두리로 둘러싸인 부분이 시스템 에디터(SystemEditor)입니다.
시스템 에디터에서는, RT컴퍼넌트 상태가 리얼타임에 표시됩니다. 또 포토간의 접속이나, RT컴퍼넌트 상태를 변경하는 것으로 시스템 구축, 동작 검증을 실시할 수 있습니다.
새로운 시스템 에디터를 열려면 , 툴바의 「Open New System Editor」버튼을 압하하는지, 도구모음의[파일]-[ Open New System Editor]를 선택합니다.
RTC를 시스템 에디터에 배치하려면 , 네임서비스뷰로부터 RT컴퍼넌트를 드러그&드롭 합니다.
시스템 에디터에 배치된 RT컴퍼넌트는 구형으로 표시되어 포토는 그 구형의 주위에 표시됩니다. 또, 각각의 상태가 색으로 표현됩니다.
아이콘과 상태색 일람은 이하대로입니다.
| 상태 | 색 | 변경가능 |
| CREATED | ■(흰색) | ○ |
| INACTIVE | ■(파랑) | ○ |
| ACTIVE | ■(초록) | ○ |
| ERROR | ■(빨강) | ○ |
| UNKNOWN | ■(흑) | ○ |
| 상태 | 색 | 변경가능 |
| RUNNING | □(흑) | × |
| STOPPED | □(회색) | × |
| 상태 | 색 | 변경가능 |
| 미접속 | ■(파랑) | × |
| 접속 있어 | ■(초록) | × |
| 상태 | 색 | 변경가능 |
| 미접속 | ■(파랑) | × |
| 접속 있어 | ■(초록) | × |
| 상태 | 색 | 변경가능 |
| 미접속 | ■(파랑) | × |
| 접속 있어 | ■(물색) | × |