KR100906121B1 - 이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 계층 구조 및 이의 구조화 방법 - Google Patents

이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 계층 구조 및 이의 구조화 방법 Download PDF

Info

Publication number
KR100906121B1
KR100906121B1 KR1020070107832A KR20070107832A KR100906121B1 KR 100906121 B1 KR100906121 B1 KR 100906121B1 KR 1020070107832 A KR1020070107832 A KR 1020070107832A KR 20070107832 A KR20070107832 A KR 20070107832A KR 100906121 B1 KR100906121 B1 KR 100906121B1
Authority
KR
South Korea
Prior art keywords
module
interfaces
robot system
address
routing
Prior art date
Application number
KR1020070107832A
Other languages
English (en)
Other versions
KR20090041997A (ko
Inventor
박홍성
이광국
김성훈
최선희
Original Assignee
강원대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 강원대학교산학협력단 filed Critical 강원대학교산학협력단
Priority to KR1020070107832A priority Critical patent/KR100906121B1/ko
Publication of KR20090041997A publication Critical patent/KR20090041997A/ko
Application granted granted Critical
Publication of KR100906121B1 publication Critical patent/KR100906121B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 계층 구조가 제공된다. 본 발명의 일 실시예에 따른 이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 계층 구조는 다양한 인터페이스(interface)들을 수용하며, 인터페이스들의 추상화가 이루어지는 네트워크 인터페이스 계층(NIL); 인터페이스들의 추상화를 통해 일반화된 메시지 포맷을 가지며, 데이터를 처리하기 위한 데이터 엔티티(Data Entity)와 모듈간의 라우팅 정보 및 주소할당 기능을 수행하는 관리 엔티티(Management Entity)로 구성된 네트워크 적응 계층(NAL); 및 네트워크 적응 계층(NAL)과 로봇의 어플리케이션을 위한 프로그램이 등록되는 어플리케이션 계층(Application Layer)을 포함한다.
또한, 본 발명의 일 실시예에 따른 이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 소프트웨어의 계층 구조화 방법은 다양한 인터페이스(interface)들을 수용하며, 인터페이스들의 추상화가 이루어지는 네트워크 인터페이스 계층(NIL) 단계; 인터페이스들의 추상화를 통해 일반화된 메시지 포맷을 가지며, 데이터를 처리하기 위한 데이터 엔티티(Data Entity)와 모듈간의 라우팅 정보 및 주소할당 기능을 수행하는 관리 엔티티(Management Entity)로 구성된 네트워크 적응 계층(NAL) 단계; 및 네트워크 적응 계층(NAL)과 로봇의 어플리케이션을 위한 프로그램이 등록되는 어플리케이션 계층(Application Layer) 단계를 포함한다.
모듈, 지능형로봇시스템, 주소할당, 라우팅, 장치 추상화, 인터페이스

Description

이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 계층 구조 및 이의 구조화 방법{Layer structure for module-based intellectual robot-system comprising various interfaces and structure method thereof}
본 발명은 이종(異種) 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 계층 구조 및 이의 구조화 방법에 관한 것으로, 더욱 상세하게는, 지능형로봇시스템이 복수개의 모듈들로 구성될 수 있음을 설명하고 이러한 모듈 기반 지능형로봇시스템을 구성하는 복수개의 이종 네트워크 인터페이스들을 추상화하고 모듈간의 일반화된 메시지 형식을 통해 통신을 수행하기 위한 새로운 지능형로봇시스템의 소프트웨어 계층 구조 및 이의 구조화 방법에 관한 것이다.
또한 지능형로봇시스템에서 이종 인터페이스로 연결된 각각의 모듈들을 식별할 수 있는 주소할당방식을 정의하고, 모듈 간 데이터 전송을 위해 다양한 인터페이스들의 대역폭과 최대전송단위를 고려한 효율적인 라우팅 방식에 관한 것이다.
종래의 산업용 로봇과는 다르게 지능형 로봇은 사용자에게 보다 다양한 서비 스를 제공하기 위해 주행, 센싱 및 프로세싱 등의 다양한 기능들을 능동적으로 수행해야 한다. 만일 여기서 센싱 기능이 보완되는 경우 정확한 상황 인지를 바탕으로 보다 능동적으로 행동할 수 있으며 프로세싱의 제약이 극복됨으로써 로봇의 기능이 확장되고 다양한 서비스를 가능하게 함으로써 로봇의 지능은 더 높아질 수 있게 된다. 따라서 로봇이 사물이나 사람을 인식하거나 로봇의 위치인식을 위해서는 다양한 센서 및 영상장비들 뿐만 아니라, 로봇이 상황에 적합한 행동을 취하기 위한수많은 액츄에이터들로 구성될 수 있다. 이처럼 다양한 센서, 액츄에이터 및 영상장비들이 물리적으로 분산된 시스템 구조를 갖는 지능형 로봇은 하나의 프로세서를 통해 연결될 수 있는 I/O 포트의 수가 제한되기 때문에 하드웨어 부품처럼 특정 기능을 제공하는 목적으로 구성되는 하드웨어 시스템 단위를 의미하는 여러 개의 모듈로 구성될 수 있다. 실제로 모듈 기반의 지능형로봇시스템은 영상정보를 전달하기 위한 IEEE 1394 A/B, 외부망과 연동을 위한 이더넷(Ethernet), 로봇의 실시간 제어 및 센서들의 센싱 정보를 위한 CAN 2.0 A/B, 대용량 데이터를 전송하기 위한 USB 1.1/2.0 및 센서들을 위한 RS232C 등과 같은 다양한 이종 네트워크 인터페이스들을 수용할 수 있으며 각 모듈들은 이러한 인터페이스들을 통해 다양한 형태로 연결될 수 있다. 따라서 네트워크 종류에 제한을 받지 않으면서 원하는 목적지 모듈까지 데이터를 전송하기 위해서는 현재 로봇을 구성하는 네트워크들을 통합할 수 있는 소프트웨어 구조가 필요하다.
네트워크 프로토콜이 다른 환경에서 네트워크를 통합하는 방법에는 이종 네트워크 간 브릿지를 이용하는 방법이 존재한다. 이 방법은 이종 네트워크 간 프로 토콜의 데이터 전달을 브릿지에서 처리하는 방법으로 각 네트워크의 특징이 그대로 유지되는 이점을 갖는다. 하지만 이와 같은 방법은 네트워크가 루프를 이루게 된다면 목적지를 찾을 수 없고, 해당 시스템이 여러 종류의 인터페이스들을 지원한다면 그만큼의 브릿지가 필요한 단점을 갖는다.
종래의 이종 인터페이스들을 갖는 모듈 기반 지능형로봇시스템에서는 복수 개의 이종 인터페이스들 간의 결합을 중재하는 프로토콜이 구현된 예가 없기 때문에 모듈간의 경로 관리 및 유지가 어려운데다 메시지의 형태가 전송에 관여하는 네트워크의 인터페이스에 종속적이므로 모듈간의 일반화된 통신을 수행하기 어렵다는 단점이 있다.
따라서, 네트워크 종류에 제한을 받지 않으면서 원하는 목적지 모듈까지 데이터를 전송하기 위해서는 현재 로봇을 구성하는 네트워크들을 통합할 수 있도록 하기 위한 새로운 방안이 요구되고 있다.
본 발명이 이루고자 하는 기술적 과제는, 복수개의 이종 네트워크 인터페이스들로 구성된 지능형 로봇이 모듈 기반으로 구성될 수 있음을 설명하고 이러한 모듈 기반 지능형로봇시스템을 구성하는 복수개의 이종 네트워크 인터페이스들을 추상화하고 모듈간의 일반화된 메시지 형식을 통해 통신을 수행하기 위한 새로운 지능형로봇시스템의 계층 구조 및 이의 구조화 방법에 관한 것이다.
본 발명의 또 다른 목적은 지능형로봇시스템에서 이종 인터페이스로 연결된 각각의 모듈들을 식별할 수 있는 주소할당방식을 정의하고, 모듈 간 데이터 전송을 위해 다양한 인터페이스들의 대역폭과 최대전송단위를 고려한 효율적인 라우팅 방식을 제공하는 것이다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해되어질 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 계층 구조는 다양한 인터페이스(interface)들을 수용하며, 인터페이스들의 추상화가 이루어지는 네트워크 인터페이스 계층(NIL); 인터페이스들의 추상화를 통해 일반화된 메시지 포맷을 가지며, 데이터를 처리하기 위한 데이터 엔티티(Data Entity)와 모듈간의 라우팅 정보 및 주소할당 기능을 수행하는 관리 엔티티(Management Entity)로 구성된 네트워크 적응 계층(NAL); 및 네트워크 적응 계층(NAL)과 로봇의 어플리케이션을 위한 프로그램이 등록되는 어플리케이션 계층(Application Layer)을 포함한다.
이 때, 네트워크 인터페이스 계층은 OSI 표준규약을 따르는 모든 네트워크 프로토콜이 적용되는 것이 바람직하다.
여기서 네트워크 적응 계층의 관리 엔티티는 모듈의 주소 정보와 메시지 정보에 필요한 변수들을 관리하는 모듈 정보 테이블 및 모듈간의 라우팅 정보를 저장하는 라우팅 테이블로 이루어지는 것이 가능하다.
이러한 라우팅 테이블은 목적지 모듈의 주소형에 따르는 목적지 모듈 주소, 목적지 모듈로 가기 위한 채널 번호를 나타내는 포워딩 채널, 목적지 모듈로 데이터를 전송하는데 있어 요구되는 홉 수, 목적지 모듈에 대한 경로 상태 및 목적지 모듈로 가기 위한 인터페이스들의 정보를 나타내는 인터페이스 리스트로 구성되는 것이 좋을 수 있다.
그리고 일반화된 메시지 포맷은 일반화된 통신을 수행하는 헤더 부분과 모듈 간의 약속된 기능을 수행하는 페이로드 부분으로 구성될 수 있다.
이 때, 일반화된 메시지 포맷의 헤더 부분은 데이터형 메시지와 명령형 메시지를 구분하는 제어필드, 목적지 모듈 주소, 근원지 모듈 주소 및 메시지에 해당되는 ID를 나타내는 시퀀스 번호로 이루어질 수 있다.
여기에 제어필드는 메시지 타입, 프로토콜 버전, 목적지 모듈 주소형, 근원지 모듈 주소형 및 예약 필드로 구성되는 것이 가능하다.
또한, 본 발명의 일 실시예에 따른 이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 계층 구조화 방법은 다양한 인터페이스(interface)들을 수용하며, 인터페이스들의 추상화가 이루어지는 네트워크 인터페이스 계층(NIL) 단계; 인터페이스들의 추상화를 통해 일반화된 메시지 포맷을 가지며, 데이터를 처리하기 위한 데이터 엔티티(Data Entity)와 모듈간의 라우팅 정보 및 주소할당 기능을 수행하는 관리 엔티티(Management Entity)로 구성된 네트워크 적응 계층(NAL) 단계; 및 네트워크 적응 계층(NAL)과 로봇의 어플리케이션을 위한 프로그램이 등록되는 어플리케이션 계층(Application Layer) 단계를 포함한다.
이 때, 네트워크 적응 계층(NAL) 단계의 라우팅 방식은 링크 스테이트(Link state) 방식 또는 거리 벡터(Distance vector) 방식이 적용될 수 있다.
또한, 라우팅 방식은 대역폭 및 최대전송단위를 변수로 적용되는 라우팅 메트릭을 이용하여 가장 빠르게 보낼 수 있는 라우팅 경로를 검색하는 것이 바람직하다.
상기와 같은 본 발명의 이종 인터페이스를 통해 구성된 모듈 기반의 지능형 로봇의 소프트웨어 구조에 따르면, 다양한 이종 인터페이스들을 추상화시킴으로써, 네트워크 인터페이스의 종류의 특성과 관계없이 상위 어플리케이션 개발자가 자유롭게 네트워크를 사용할 수 있다는 장점이 있다.
또한 모듈간의 일반화된 통신 방법을 통해 경로 관리 및 유지가 용이해지며 대역폭과 최대전송단위가 각각 다른 이종 인터페이스에 대해서 효율적인 라우팅을 수행할 수 있다는 등의 추가적인 장점도 있다.
그리고 이종 인터페이스를 통한 복수 개의 경로 정보를 통해 관리 및 유지가 될 때 한 경로가 물리적으로 손상되어도 다른 경로를 통해 데이터를 전달할 수 있는 결함허용 측면에서도 추가적인 장점이 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있을 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것으로, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 모듈 기반의 지능형로봇시스템에서 네트워크 인터페이스를 추상화하는 네트워크 인터페이스 계층의 구조도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 계층 구조는 공통된 인터페이스를 통해 채널로 추상화된 네트워크 인터페이스 계층(Network interface layer:NIL)(100)을 보여준다.
이 때, 네트워크 인터페이스 계층(100)은 데이터를 처리하기 위한 NIL 데이터 엔티티(NIL Data Entity)(160)와 네트워크 인터페이스들을 채널로 추상화하기 위한 NIL 관리 엔티티(NIL Management Entity)(150)로 나누는 것이 좋다.
또한 NIL 관리 엔티티(NIL Management Entity)(150) 이하 네트워크 추상 인터페이스(Network Abstraction Interface)(130)는 채널로 추상화 된 디바이스들에 대한 공통된 인터페이스를 정의할 수 있으며, 이들은 상위계층에 하드웨어와의 통신 기능을 제공하기 위해 열기(open), 읽기(read), 쓰기(write), 닫기(close), 컨트롤(control) 등의 공통된 인터페이스를 가지도록 하는 것이 바람직하다.
상위 계층에서 받은 사용자 명령은 공통된 인터페이스를 통해 실제 물리적인 장치에게 원시 데이터 형태로 전달되고 이는 해당 네트워크 인터페이스의 의존적인 드라이버 및 운영체제 상에서 제공되는 API등을 통해 이웃 모듈이나 현재 모듈이 갖는 디바이스들에게 전달될 수 있다.
이처럼 지능형로봇시스템의 모듈이 다양한 이종 네트워크 인터페이스들을 갖는 경우 이들 간의 투명성 있는 데이터 전송을 위해 네트워크 인터페이스들을 단일 네트워크로 취급하는 추상화 과정이 필요하다.
이를 위해 모듈 내부에서 통신을 위한 ‘채널’이란 단위로 이종 인터페이스들을 추상화 할 수 있다. 즉, 모듈 구동 시 이러한 인터페이스들을 등록할 수 있도록 하고, 이들을 채널로써 구분하여 각 채널들이 공통된 인터페이스를 갖는 하나의 계층을 형성하도록 함으로써, 상위 계층의 개발자에게는 네트워크의 투명성을 제공할 수 있게 되는 것이다.
복수 개의 모듈로 구성되는 지능형로봇시스템은 각 모듈간의 일반화된 통신 기능을 수행하기 위해 일반화된 메시지 포맷이 정의되는 것이 바람직하다. 메시지는 <표 1>과 같이 일반적으로 헤더와 페이로드로 구성될 수 있다.
여기서 헤더는 모듈간의 일반화된 통신을 수행하기 위해 존재하며 페이로드 부분에는 모듈들이 미리 약속된 기능을 수행하기 위한 추가적인 명령 포맷이나 데이터가 위치하는 것이 가능하다.
1 byte 1 or 2 bytes 1 or 2 bytes 1 byte variable(가변)
제어 필드 목적지 모듈 주소 근원지 모듈 주소 시퀀스 번호
헤더 부분 페이로드 부분
제어 필드는 1바이트로 구성되는 것이 바람직하며, 상세한 정보는 아래의 <표 2>에서 보이는 것과 같다.
우선 메시지 타입은 데이터 또는 명령을 구분하기 위해 존재하는 필드이다. 그리고 2-3 번째 비트의 프로토콜 버전은 현재 정의된 통신 방법의 프로토콜 버전을 나타낼 수 있다. 다음으로 4번째 비트의 목적지 모듈 주소형은 목적지 모듈의 주소가 숏타입(Short type)인지 롱타입(Long type)인지 구분하기 위해 사용될 수 있으며, 5번째 비트는 근원지 모듈의 주소가 숏타입(Short type)인지 롱타입(Long type)인지 구분하기 위해 사용될 수 있다. 마지막으로 6-7번째 비트는 예약필드로 사용하지 않는 것이 좋다.
0-1st bits 2-3rd bits 4th bit 5th bit 6-7th bits
메시지 타입 프로토콜 버전 목적지 모듈 주소형 근원지 모듈 주소형 예약필드
<표 1>에서 목적지 모듈의 주소는 주소형에 따른 목적지 모듈의 주소를 나타내며 근원지 모듈의 주소는 주소형에 따른 근원지 모듈의 주소를 나타낼 수 있다.
마지막으로 시퀀스 번호는 메시지에 해당하는 ID로 매 메시지 전송마다 1씩 증가하며 근원지 모듈 주소와 쌍을 이루어 메시지의 유일성을 보장하는데 사용될 수 있다.
데이터형 메시지와 명령형 메시지는 제어 필드의 메시지 타입에 따라 구분할 수 있다.
우선 데이터형 메시지의 경우, <표 3>과 같이 헤더 부분을 제외한 페이로드 부분에는 상위 어플리케이션에서 내려온 데이터의 전체가 위치할 수 있다.
1 byte 1 or 2 bytes 1 or 2 bytes 1 byte variable(가변)
제어 필드 목적지 모듈 주소 근원지 모듈 주소 시퀀스 번호 데이터 부분
헤더 부분 페이로드 부분
이와는 달리 명령형 메시지의 경우는 아래의 <표 4>와 같은 메시지 포맷을 가질 수 있다. 여기서 페이로드의 첫 바이트 부분은 명령의 식별을 위해 사용될 수 있으며, 이하 바이트에 대해서는 해당 명령에 따라 가변적으로 변할 수 있다.
1 byte 1 or 2 bytes 1 or 2 bytes 1 byte 1 byte variable(가변)
제어 필드 목적지 모듈 주소 근원지 모듈 주소 시퀀스 번호 명령 식별자 명령형 메시지 페이로드
헤더 부분 페이로드 부분
다양한 네트워크 인터페이스로 구성된 모듈 기반의 지능형로봇시스템은 IP 기반일 수도 있고 Non-IP 기반일 수도 있기 때문에 이러한 모든 모듈에 대해 대응을 하기 위해서는 모듈간의 식별을 위한 새로운 주소 포맷을 만드는 것이 바람직하다.
새로운 주소 포맷은 많은 크기를 차지하게 될 때 모듈 간 메시지 전송 시 오버헤드가 될 수 있고, 크기가 작으면 확장성에서 문제가 될 수 있으므로 이를 적절히 고려한 주소할당 체계가 필요하다.
예를 들어 주소의 크기가 8비트(1바이트)일 경우, 로봇 시스템 내부에 255개 이상의 모듈이 들어가는 것이 불가능할 수 있으며, 주소의 크기가 16비트(2바이트)일 경우에는 로봇 시스템에서 사용하기에는 불필요하게 큰 주소가 될 수 있기 때문에 적절하게 주소의 크기를 할당하는 것이 바람직할 수 있다.
따라서 로봇 시스템에 적합한 상황에 따라서 동작이 가능하도록 주소는 숏타입(Short type)(8비트)과 롱타입(Long type)(16비트)으로 나누어 구성하는 것이 좋다.
이 때, 숏타입(Short type)에서 구분할 수 있는 주소는 약 240개이고, 롱타입(Long type)의 경우에는 약 65,000개의 주소를 구분할 수 있다.
또한 본 발명의 일 실시예에 따르면 주소의 필드를 1 또는 2바이트로 구분지었지만, 본 발명이 반드시 이에 한정되는 것이 아니라 동일한 포맷을 통해 4바이트까지 확장하는 것이 가능하다.
지능형로봇시스템에서 모듈은 잘 알려진 모듈과 잘 알려지지 않은 모듈로 구분할 수 있다. 따라서 이미 알려진 모듈의 경우는 주소를 정적으로 지정할 필요가 있으며, 그렇지 않은 경우에 대해서는 주소를 동적으로 지정할 필요가 있다.
정적인 주소 할당에서는 모듈들이 각 기능에 맞게 정적으로 지정될 수 있다. 이와 같은 주소 할당방식을 사용하는 경우 모듈 간의 구분을 통해 모듈들을 쉽게 제어하는 것이 가능하다. 이러한 정적인 주소 할당의 지정 예는 아래의 <표 5>와 같다.
모듈 이름 주 소 그룹 브로드캐스팅
Short 형 Long 형 Short 형 Long 형
모바일 모듈 0x10 - 0x1E 0x8010 - 0x801E 0x1F 0x801F
초음파 모듈 0x20 - 0x2E 0x8020 - 0x802E 0x2F 0x802F
매니퓰레이터 모듈 0x30 - 0x3E 0x8030 - 0x803E 0x3F 0x803F
비젼 모듈 0x40 - 0x4E 0x8040 - 0x804E 0x4F 0x804F
프로세스 모듈 0x50 - 0x5E 0x8050 - 0x805E 0x5F 0x805F
알려지지 않은 모듈 0x60 - 0xEE에 정의 0x8060 - 0x80EE에 정의
브로드캐스트 주소 0xFF 0xFFFF
이 때, 지능형로봇시스템을 구성하는 모듈을 정적으로 지정할 때는 각 기능에 맞게 주소를 지정해야 하는 번거로움을 겪어야 한다. 따라서 로봇 시스템은 각 모듈들에 대해서 주소를 자동적으로 설정할 수 있는 동적인 주소 할당 방식을 갖는 것이 좋을 수 있다.
이처럼 로봇 시스템을 구성하는 모듈들에 전원이 인가되었을 때, 숏타입(Short type) 또는 롱타입(Long type)에 따라 랜덤하게 주소를 생성하고, 로봇 시스템의 내부에서 브로드캐스팅을 수행함으로써 해당 주소의 사용을 알리는 것이 가능하게 된다. 만약에 로봇 시스템 내부에서 주소를 설정한 모듈이 이미 같은 주소를 사용하고 있을 때에는, 다시 랜덤하게 주소를 생성하여 동일한 방식으로 브로드캐스팅을 수행하도록 하는 것이 바람직하다. 이러한 과정과 같은 주소 충돌 알고리즘을 수행하여 로봇 시스템을 구성하는 각 모듈들은 유일한 주소를 가질 수 있게 된다.
도 2는 이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템의 내부 개념도이다.
도 2를 참조하면, 모듈 기반의 지능형로봇시스템은 다양한 네트워크 인터페이스를 통해 연결될 수 있다. 예를 들면 로봇 내부에서 전반적인 연산을 책임지는 프로세스 모듈(10)의 경우 이더넷을 통해 오른쪽 팔 모듈(40)과 왼쪽 팔 모듈(30)에 연결되며 IEEE 1394를 통해 비젼 모듈(20)과 로봇의 하부 구조를 이루는 매니퓰레이터 모듈(60,70)과 CAN 버스를 통해 연결되어 있음을 알 수 있다.
이러한 복수 개의 모듈로 구성되는 지능형로봇시스템은 모듈 간의 라우팅을 수행하기 위해 유선에서 사용되는 동적 라우팅 방식을 사용한다. 동적 라우팅 방식은 크게 링크 스테이트(Link State) 방식과 거리 벡터(Distance Vector) 방식으로 나눌 수 있는데, 로봇 시스템을 위한 라우팅 알고리즘은 작은 규모의 네트워크에 적합한 거리벡터(Distance Vector) 방식을 사용하는 것이 바람직하다.
여기서, 거리 벡터(Distance Vector) 방식은 거리(Distance)와 방향(Direction)을 벡터로 가지며, 정기적으로 각 모듈이 전체 라우팅 테이블을 브로드캐스팅하여 모든 이웃 모듈에게 라우팅 업데이트 정보를 보내는 알고리즘을 사용할 수 있는데, 이 때 사용되는 알고리즘은 새롭게 참여한 모듈이 라우트 정보 요청(Route Information Request) 메시지를 브로드캐스팅하거나 또는 라우트 정보 요청(Route Information Request)을 수신한 모듈이 라우트 정보 응답(Route Information Response) 메시지를 브로드캐스팅하는 시퀀스를 갖는 것이 좋을 수 있다.
지능형로봇시스템을 구성하는 임의의 모듈은 정적 및 동적인 방식을 통해 주소를 할당 받은 후, 현재 자신의 주소 정보와 라우트 정보 요청(Route Information Request)임을 알리는 명령어를 통해 현재 자신의 모듈과 이웃하고 있는 모듈들에게 브로드캐스팅을 할 수 있다.
이 때, 메시지는 헤더 부분에 목적지 모듈을 위해 숏타입(Short type)인 경우 0xFF를, 롱타입(Long type)인 경우 0xFFFF를 설정하는 것이 바람직하다. 근원지 모듈의 정보 및 시퀀스 번호의 정보는 현재 모듈이 유지하고 있는 정보를 넣는 것이 좋다. 마지막으로 페이로드 부분은 라우트 정보 요청(Route Information Request) 임을 알리는 식별자를 넣는 것이 좋을 수 있다.
이렇게 완성된 메시지는 추상화된 인터페이스들을 등록하고 있는 네트워크 인터페이스 계층(100)으로 데이터가 전달되는 것이 바람직하다. 이 때, 데이터는 모든 채널로 전송되며, 각 채널에 해당하는 통신 인터페이스들은 상위 계층으로부터 내려온 데이터를 페이로드로 취급하기 때문에 각 인터페이스가 갖는 프로토콜 헤더를 붙여 전송할 수 있다. 이 때, 라우트 정보 요청(Route Information Request)는 브로드캐스팅형 메시지이지만 오직 이웃하는 모듈에게만 전송되도록 하는 것이 바람직하다.
상기 과정을 통해 라우트 정보 요청(Route Information Request) 메시지를 수신하는 지능형로봇시스템내의 모듈들은 새롭게 참여한 모듈의 존재를 인식하게 되며 자신이 갖는 라우팅 테이블(230)에 이웃 모듈의 정보를 저장하는 것이 가능하다.
이후 해당 모듈은 현재 자신의 모듈이 갖는 라우팅 테이블(230)의 정보를 라우트 정보 응답(Route Information Response)을 통해 로봇 시스템 내부에 있는 모든 모듈에게 브로드캐스팅을 할 수 있다. 이 메시지의 헤더 부분에는 목적지 모듈을 위해 숏타입(Short type)인 경우 0xFF를, 롱타입(Long type)인 경우 0xFFFF를 설정하는 것이 바람직하다. 근원지 모듈의 정보 및 시퀀스 번호의 정보는 현재 모듈이 유지하고 있는 정보를 넣는 것이 좋을 수 있다. 마지막으로 페이로드 부분은 <표 6>과 같이 라우트 정보 응답(Route Information Response) 임을 알리는 식별자를 넣고, 다음으로 현재 모듈이 갖는 라우팅 테이블의 엔트리 개수와 테이블 상에서 유지되는 목적지 모듈의 주소(1바이트 혹은 2바이트), 해당 목적지 모듈까지의 라우팅 코스트 및 해당 채널의 인터페이스의 종류 등을 포함시키는 것이 바람직하다.
4, 5 or 6 bytes 1 byte 1 byte 1 or 2 bytes 1 or 2 bytes 1 byte ...
라우팅 필드 명령 식별자 라우팅 엔트리 개수 첫 번째 엔트리 주소 첫 번째 엔트리코스트 인터페이스 종류 ...
헤더 부분 페이로드 부분
이후 완성된 메시지는 추상화된 인터페이스들이 등록되어 있는 네트워크 인터페이스 계층(100)으로 데이터가 전달되는 것이 바람직하다. 이 때 데이터는 모든 채널로 전송될 수 있으며, 각 채널에 해당하는 통신 인터페이스들은 상위 계층으로부터 내려온 데이터를 페이로드로 취급하기 때문에 각 인터페이스가 갖는 프로토콜 헤더를 붙여 전송을 할 수 있다.
라우트 정보 응답(Route Information Response)은 브로드캐스팅형 메시지이므로 해당 메시지는 연결된 모든 이웃 모듈에게 전달되는 것이 가능하다. 이후 상기 메시지를 수신하는 이웃 모듈은 메시지 페이로드에 포함된 라우팅 정보를 바탕으로 자신의 라우팅 테이블(230)을 갱신할 수 있다.
여기서 라우트 정보 응답(Route Information Response)은 동일한 모듈에서 여러개의 임의의 채널로부터 수신되기 때문에 라우팅 테이블(230)은 채널 정보를 달리해서 복수 개의 라우팅 정보를 유지할 수 있다.
데이터는 네트워크 인터페이스 계층(100)의 임의의 채널로부터 수신되기 때문에, 라우팅 테이블(230)이 갱신되는 경우 데이터가 어떤 채널로 도착했는지 알 수 있다. 따라서 라우팅 테이블(230)에 해당 목적지 모듈의 정보와 포워딩을 하기 위한 채널 정보 및 메시지 내에 포함되어 있는 코스트 정보 및 해당 채널의 인터페이스를 통해 해당 모듈까지의 코스트 정보까지 유지할 수 있다.
라우트 정보 응답(Route Information Response)을 처리한 모듈은 라우팅 테이블(230)이 갱신되었을 때, 최신의 라우팅 정보를 다시 이웃 모듈에게 전달하는 것이 바람직하다. 이 때 페이로드에 포함된 라우팅 엔트리 코스트 정보와 해당 채널의 인터페이스 정보는 갱신되는 것이 바람직하다.
브로드캐스팅 이후 동일한 채널로부터 중복 수신되는 메시지는 메시지의 유일성을 보장하는 시퀀스 번호와 근원지 모듈의 주소를 브로드캐스트 캐시로 이용하여 처리함으로써 메시지의 중복 수신을 막을 수 있도록 하는 것이 좋다.
이러한 라우트 정보 요청(Route Information Request) 메시지와 라우트 정보 응답(Route Information Response) 메시지를 수신하는 모듈들은 라우팅 테이블(230)을 갱신할 수 있다. 이와 같이 지능형로봇시스템에서 생성 및 유지되는 라우팅 테이블(230)은 <표 7>과 같이 구성될 수 있다.
항목 크기 테이블 설명
목적지 모듈주소 1 or 2bytes 목적지 모듈의 주소형에 따른 주소
포워딩 채널 1byte 목적지 모듈로 가기 위한 채널 번호
홉 수 1byte 목적지 모듈로 데이터를 전송하는데 드는 홉 수
경로 상태 1byte 목적지 모듈에 대한 경로의 상태
인터페이스 리스트 가변 목적지 모듈로 가기 위한 인터페이스들의 정보
이러한 라우팅 테이블(230)을 이용하여 목적지 모듈로 가기 위해 사용해야 하는 채널이 어떤 채널인지 알 수 있기 때문에 데이터를 원하는 목적지 모듈까지 전송할 수 있게 된다.
지능형로봇시스템에서는 복수 개의 이종 인터페이스들을 통해 각 모듈들이 연결될 수 있기 때문에 각 모듈간의 다중 경로가 형성될 수 있다. 따라서 라우팅을 효율적으로 수행하려면 인터페이스에 따른 대역폭과 최대전송단위 등을 고려하는 것이 바람직할 수 있다. 본 발명에 따르면 라우팅 메트릭은 대역폭과 최대 전송 단위 등을 메트릭으로 사용할 수 있다.
여기서 대역폭은 연결된 링크의 수용할 수 있는 바이트 능력을 말하며, 이는 현재 회선에서 사용되는 유효 대역폭을 고려할 수 있다. 다음으로 최대 전송 단위(Maximum Transmission Unit, MTU)는 해당 경로에서 보낼 수 있는 최대 바이트수를 말한다.
이렇게 고려된 라우팅 메트릭은 [식 1]을 통해 라우팅 코스트를 계산할 수 있다.여기서 n은 목적지 모듈로 가기 위해 몇 개의 모듈을 통과해야하는가를 의미하며 이 정보는 라우팅 테이블의 홉 수 정보와 동일하다. 또한 라우팅 테이블은 해당 채널을 통해 거치는 인터페이스들의 모든 정보를 저장하고 있기 때문에 해당 수식을 통해 각 인터페이스에 대한 대역폭과 최대전송단위를 고려하여 라우팅 코스트를 계산할 수 있다. 여기서 Di는 수신된 메시지의 바이트 수이며 Mi는 현재 인터페이스가 갖는 최대전송단위이고 Bi는 현재 인터페이스가 갖는 대역폭을 의미한다. 마지막으로 ci는 비례계수로써 각 인터페이스의 메시지 지연에 따른 상대적인 차이를 의미한다.
[식 1]
Figure 112007076540317-pat00001
결국 모듈간의 다중 경로가 형성된다 해도 각 인터페이스에 대한 라우팅 메트릭을 상기 [식 1]을 통해 각 링크에 대한 코스트를 계산할 수 있기 때문에 라우트 정보 요청/응답 과정 이후, 형성된 라우팅 테이블(230)을 통해 가장 빠르게 보낼 수 있는 라우팅 경로를 찾을 수 있게 된다.
각 네트워크 인터페이스의 대역폭과 최대전송단위의 예는 아래 <표 8>과 같다.
번호 인터페이스 대역폭(bps) 최대전송단위(byte)
1 UBS 1.1 12000000 1023
2 USB 2.0 480000000 1024
3 IEEE 1394a 400000000 4096
4 IEEE 1394b 800000000 8192
5 CAN 2.0 1000000 8
6 이더넷(Ethernet) 100000000 1500
7 RS232C 19200 유저가 정의
또한 임의의 모듈이 이렇게 다중 경로를 형성할 경우 하나의 경로가 물리적으로 손실되더라도 2차 경로를 통해 계속 데이터를 전송할 수 있기 때문에 부분적인 결함을 허용할 수 있다.
도 3은 이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 소프트웨어를 나타낸 구조도이다.
도 3을 참조하면, 해당 소프트웨어 구조는 크게 3계층으로 나눌 수 있다.
최하위 계층에는 다양한 인터페이스들을 수용하는 네트워크 인터페이스 계층(100)이 존재하는 것이 바람직하다. 이 계층에서는 공통된 인터페이스를 통해 각각의 이종 인터페이스들이 제한없이 동작할 수 있도록 네트워크 인터페이스에 대한 추상화가 이루어질 수 있다. 따라서 각각의 인터페이스들은 채널이라는 가상의 단위로 추상화됨으로써 상위 계층의 접근을 허용하는 것이 가능하다.
또한, 네트워크 적응 계층(Network application layer ; NAL)(200)은 일반화된 메시지 포맷을 가지며, 데이터를 처리하기 위한 NAL 데이터 엔티티(NAL Data Entity)(210)와 모듈 간의 라우팅 정보 및 주소할당을 기능을 위한 NAL 관리 엔티티(NAL Management Entity)(220)로 나눌 수 있다.
이러한 네트워크 적응 계층(200)은 각 모듈 간의 식별을 위한 주소할당 기능(addressing) 및 모듈간의 데이터 전송을 위한 라우팅 기능을 수행할 수 있기 때문에, 해당 모듈의 주소 정보와 메시지 정보에 필요한 변수들을 관리하는 모듈 정보 테이블(Module Information Table)(240) 및 라우팅 정보를 저장하는 라우팅 테이블(Routing Table)(230)을 구비하는 것이 가능하다.
마지막으로 최상위 어플리케이션 계층(Application Layer)(300)는 실제 로봇의 어플리케이션을 위한 프로그램이 등록되는 계층을 의미한다.
이하 본 발명에 따른 모듈 기반의 지능형로봇시스템에서 이종 네트워크 인터페이스들이 로봇 시스템 내부에서 어떻게 라우팅을 수행하는지 실시예를 들어 상세하게 알아보기로 한다.
[실시예 1]
도 4를 참조하면, 디스플레이 모듈(420)의 어플리케이션 계층에서 내려오는 ‘센서 모듈(430)로부터 온도를 읽어 들여라’라는 메시지를 전달하는 한 예를 보이고 있다. 여기서는 모든 모듈이 정적으로 주소를 할당 받았다고 가정한다. 디스플레이 모듈(420)에서는 정적으로 할당된 원격지 센서 모듈(430)의 주소를 알고 라우팅 서비스를 통해 해당 모듈로 가는 라우팅 정보를 얻는다.
본 발명의 일 실시예에서는 디스플레이 모듈(420)이 종단에 위치하므로 메시지 정보가 원격인 것이 판명되면, 이어진 IEEE1394 인터페이스를 통해 브레인 모듈(410)로 전송된다. 브레인 모듈(410)의 네트워크 적응 계층에서는 IEEE1394로부터 올라온 메시지를 라우팅 서비스를 통해 자신의 모듈 메시지가 아님을 확인하고, 센서 모듈(430)을 위한 인터페이스인 이더넷(Ethernet) 인터페이스로 메시지를 전송하게 된다. 이를 받은 센서 모듈(430)의 네트워크 계층에서는 해당 메시지가 자신의 모듈임을 확인하게 되며 어플리케이션 계층으로 해당 정보를 올린다.
[실시예 2]
본 발명에서는 이러한 다중 경로에 대해 효율적인 전송의 한 예를 보여주기 위해 모듈 기반의 퍼스널 로봇의 구조를 제시하였다.
도 5를 참조하면, 다중 경로에서 메시지를 효율적으로 전송하는 예를 보여준다. 만일 비젼 모듈(520)에서 디스플레이 모듈(550)로 동영상을 보낸다고 할 때, 브레인 모듈(510)과 메인 컨트롤 모듈(500)을 통해 다중 경로가 형성되어 있는 것을 볼 수 있다. 이를 단순하게 표현하면 비젼 모듈(520)은 디스플레이 모듈(550)까지 브레인 모듈(510)을 경유한 IEEE1394-IEEE1394의 1번 경로와 메인 컨트롤 모듈(500)을 경유한 USB-IEEE1394의 2번 경로를 갖는다. 대역폭과 최대전송단위를 통해 Cost 정보를 계산하면 2번 경로가 1번 경로보다 느린 것을 알 수 있다. 그 이유는 IEEE1394로 구성된 1번 경로는 USB(12Mbps)로 구성된 2번 경로보다 빠르기 때문이다. 따라서 데이터 전송에 있어서 1번 경로가 2번 경로보다 속도 면에서 유리하다고 할 수 있다.
이상, 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해되어야만 한다.
도 1은 본 발명의 일 실시예에 따른 모듈 기반의 지능형로봇시스템에서 네트워크 인터페이스를 추상화하는 네트워크 인터페이스 계층의 구조도이다.
도 2는 이종 네트워크 인터페이스를 통해 구성된 모듈 기반의 지능형로봇시스템 내부 개념도이다.
도 3은 모듈 기반의 지능형로봇시스템을 위한 소프트웨어 구조도이다.
도 4는 모듈 기반의 지능형로봇시스템을 라우팅을 통해 원격 모듈로 메시지를 전송하는 라우팅 개념도이다.
도 5는 다중 경로를 허용하는 모듈 기반 지능형로봇시스템에서 최적 경로 구축을 위한 라우팅 개념도이다.
<도면의 주요 부분에 대한 부호의 설명>
10 : 프로세스(process) 모듈 20 : 비젼(vision) 모듈
30 : 왼쪽 팔 모듈 40 : 오른쪽 팔 모듈
50 : 울트라소닉(ultrasonic) 모듈
60, 70 : 매니퓰레이터 모듈
100 : 네트워크 인터페이스 계층(NIL)
110 : 매개체(Physical Mediums) / 장치 드라이버(Device Drivers)
130 : 네트워크 추상 인터페이스(Network Abstraction Interface)
140 : 채널 테이블(channel table)
150 : NIL 관리 엔티티(NIL Management Entity)
160 : NIL 데이터 엔티티(NIL Data Entity)
170 : NIL과 상위 계층간의 인터페이스
200 : 네트워크 적응 계층(NAL)
210 : NAL 데이터 엔티티(NAL Data Entity)
220 : NAL 관리 엔티티(NAL Management Entity)
230 : 라우팅 테이블
240 : 모듈 정보 테이블
300 : 어플리케이션 계층(Application layer)
410, 510 : 브레인(brain) 모듈
420, 550 : 디스플레이(display) 모듈
430, 560 : 센서(sensor) 모듈
500 : 메인 컨트롤(main control) 모듈
520 : 비젼(vision) 모듈
530 : 왼팔(left arm) 모듈
540 : 오른팔(right arm) 모듈

Claims (10)

  1. 다양한 인터페이스(interface)들을 수용하며, 상기 인터페이스들의 추상화가 이루어지는 네트워크 인터페이스 계층(NIL);
    상기 인터페이스들의 추상화를 통해 일반화된 메시지 포맷을 가지며, 데이터를 처리하기 위한 데이터 엔티티(Data Entity)와 모듈간의 라우팅 정보 및 주소할당 기능을 수행하는 관리 엔티티(Management Entity)로 구성된 네트워크 적응 계층(NAL); 및
    상기 네트워크 적응 계층(NAL)과 로봇의 어플리케이션을 위한 프로그램이 등록되는 어플리케이션 계층(Application Layer)을 포함하되,
    상기 관리 엔티티는 상기 모듈의 주소 정보와 메시지 정보에 필요한 변수들을 관리하는 모듈 정보 테이블과, 상기 모듈간의 라우팅 정보를 저장하는 라우팅 테이블로 이루어진 것을 특징으로 하는 이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 계층구조.
  2. 제 1 항에 있어서,
    상기 네트워크 인터페이스 계층은 OSI 표준규약을 따르는 모든 네트워크 프로토콜이 적용되는 것을 특징으로 하는 이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 계층구조.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 라우팅 테이블은,
    목적지 모듈의 주소형에 따르는 목적지 모듈 주소;
    상기 목적지 모듈로 가기 위한 채널 번호를 나타내는 포워딩 채널;
    상기 목적지 모듈로 데이터를 전송하는데 있어 요구되는 홉 수;
    상기 목적지 모듈에 대한 경로 상태; 및
    상기 목적지 모듈로 가기 위한 인터페이스들의 정보를 나타내는 인터페이스 리스트로 구성되는 것을 특징으로 하는 이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 계층구조.
  5. 제 1 항에 있어서,
    상기 일반화된 메시지 포맷은 일반화된 통신을 수행하는 헤더 부분과 상기 모듈 간의 약속된 기능을 수행하는 페이로드 부분으로 구성되는 것을 특징으로 하는 이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 계층구조.
  6. 제 5 항에 있어서,
    상기 일반화된 메시지 포맷의 헤더 부분은,
    데이터형 메시지와 명령형 메시지를 구분하는 제어필드;
    목적지 모듈 주소;
    근원지 모듈 주소; 및
    메시지에 해당되는 ID를 나타내는 시퀀스 번호로 구성되는 것을 특징으로 하는 이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 계층구조.
  7. 제 6 항에 있어서,
    상기 제어필드는 메시지 타입, 프로토콜 버전, 목적지 모듈 주소형, 근원지 모듈 주소형 및 예약 필드로 구성되는 것을 특징으로 하는 이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 계층구조.
  8. 다양한 인터페이스(interface)들을 수용하며, 상기 인터페이스들의 추상화가 이루어지는 네트워크 인터페이스 계층(NIL) 단계;
    상기 인터페이스들의 추상화를 통해 일반화된 메시지 포맷을 가지며, 데이터를 처리하기 위한 데이터 엔티티(Data Entity)와 모듈간의 라우팅 정보 및 주소할당 기능을 수행하는 관리 엔티티(Management Entity)로 구성된 네트워크 적응 계층(NAL) 단계; 및
    상기 네트워크 적응 계층(NAL)과 로봇의 어플리케이션을 위한 프로그램이 등록되는 어플리케이션 계층(Application Layer) 단계를 포함하되,
    상기 관리 엔티티는 상기 모듈의 주소 정보와 메시지 정보에 필요한 변수들을 관리하는 모듈 정보 테이블과, 상기 모듈간의 라우팅 정보를 저장하는 라우팅 테이블로 이루어진 것을 특징으로 하는 이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 계층 구조화 방법.
  9. 제 8 항에 있어서,
    상기 네트워크 적응 계층(NAL) 단계의 라우팅 방식은 링크 스테이트(Link state) 방식 또는 거리 벡터(Distance vector) 방식이 적용되는 것을 특징으로 하는 이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 계층 구조화 방법.
  10. 제 9 항에 있어서,
    상기 라우팅 방식은 대역폭 및 최대전송단위가 변수로 적용되는 라우팅 메트릭을 이용하여 가장 빠르게 보낼 수 있는 라우팅 경로를 검색하는 것을 특징으로 하는 이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 계층 구조화 방법.
KR1020070107832A 2007-10-25 2007-10-25 이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 계층 구조 및 이의 구조화 방법 KR100906121B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070107832A KR100906121B1 (ko) 2007-10-25 2007-10-25 이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 계층 구조 및 이의 구조화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070107832A KR100906121B1 (ko) 2007-10-25 2007-10-25 이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 계층 구조 및 이의 구조화 방법

Publications (2)

Publication Number Publication Date
KR20090041997A KR20090041997A (ko) 2009-04-29
KR100906121B1 true KR100906121B1 (ko) 2009-07-07

Family

ID=40764924

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070107832A KR100906121B1 (ko) 2007-10-25 2007-10-25 이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 계층 구조 및 이의 구조화 방법

Country Status (1)

Country Link
KR (1) KR100906121B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011129115A (ja) 2009-12-18 2011-06-30 Korea Electronics Telecommun 異機種ロボットの協業のためのコンポーネント連動装置およびそれに伴う方法
WO2017052060A1 (ko) * 2015-09-21 2017-03-30 주식회사 레인보우 계층적 아키텍처를 갖는 실시간 디바이스 제어 시스템 및 이를 이용한 실시간 로봇 제어 시스템
KR102235166B1 (ko) 2015-09-21 2021-04-02 주식회사 레인보우로보틱스 실시간 로봇 시스템, 로봇 시스템 제어 장치 및 로봇 시스템 제어 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050108518A (ko) * 2004-05-12 2005-11-17 한국생산기술연구원 개방형 분산처리구조의 로봇 제어 소프트웨어구조
KR20070071473A (ko) * 2005-12-30 2007-07-04 한국생산기술연구원 모듈 기반 퍼스널 로봇의 폴트 톨러런트 지원을 위한네트워크 연결 유지 관리 시스템과 네트워크 연결 유지관리 방법 및 이를 기록한 기록매체

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050108518A (ko) * 2004-05-12 2005-11-17 한국생산기술연구원 개방형 분산처리구조의 로봇 제어 소프트웨어구조
KR20070071473A (ko) * 2005-12-30 2007-07-04 한국생산기술연구원 모듈 기반 퍼스널 로봇의 폴트 톨러런트 지원을 위한네트워크 연결 유지 관리 시스템과 네트워크 연결 유지관리 방법 및 이를 기록한 기록매체

Also Published As

Publication number Publication date
KR20090041997A (ko) 2009-04-29

Similar Documents

Publication Publication Date Title
JP7289332B2 (ja) 電子制御ユニット、フレーム生成方法及びプログラム
CN106789667B (zh) 一种数据转发方法、相关设备及系统
US9215175B2 (en) Computer system including controller and plurality of switches and communication method in computer system
US9225641B2 (en) Communication between hetrogenous networks
US7058055B2 (en) Method of device-to-device communications in hybrid distributed device control networks
CN104350725B (zh) 通过软件定义网络进行信息中心网络的无缝集成和独立演进方法
JP4224620B2 (ja) スイッチングノードのスタック内のスイッチングノードのリモート制御
US8514856B1 (en) End-to-end fibre channel over ethernet
JP5837989B2 (ja) コントローラでネットワークハードウェアアドレス要求を管理するためのシステム及び方法
CN105791214B (zh) 一种RapidIO报文和以太网报文之间的转换方法和设备
US20060034302A1 (en) Inter-fabric routing
EP1445919A2 (en) Dual-mode virtual network addressing
CN104303467A (zh) 集成的异构的软件定义的网络
JP2003244148A (ja) データ通信システム、データ通信管理装置、および方法、並びにコンピュータ・プログラム
US7082138B2 (en) Internal communication protocol for data switching equipment
JP2004242194A (ja) Rprネットワークシステム
BRPI0716058A2 (pt) mÉtodos para transmitir mensagens entre uma rede de Área pessoal e uma rede de protocolo de internet, de comunicaÇço entre um cliente em uma rede de Área pessoal e um cliente de protocolo de internet localizado externo a dita rede de Área pessoal, e, ponto de conexço para conectar uma rede de Área pessoal com uma rede de protocolo de internet
CN110098988B (zh) 用于处理因特网协议包的方法和系统
JPWO2004073262A1 (ja) Rpr装置
CN113711544A (zh) 用于在自动化网络中对电报进行路由的方法、数据结构、自动化网络和网络分配器
CN105812257A (zh) 业务链路由管理系统及其使用方法
KR100906121B1 (ko) 이종 인터페이스들로 구성된 모듈 기반의 지능형로봇시스템을 위한 계층 구조 및 이의 구조화 방법
CN105052106A (zh) 用于接收和传输互联网协议(ip)数据包的方法和系统
JP5029612B2 (ja) パケットリングネットワークシステム、パケット転送方法およびインタリンクノード
CN112532563B (zh) 报文的发送方法和装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130410

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140320

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee