KR20110064895A - 로봇 시스템의 행위 기반 태스크 구현 방법 - Google Patents

로봇 시스템의 행위 기반 태스크 구현 방법 Download PDF

Info

Publication number
KR20110064895A
KR20110064895A KR1020090121666A KR20090121666A KR20110064895A KR 20110064895 A KR20110064895 A KR 20110064895A KR 1020090121666 A KR1020090121666 A KR 1020090121666A KR 20090121666 A KR20090121666 A KR 20090121666A KR 20110064895 A KR20110064895 A KR 20110064895A
Authority
KR
South Korea
Prior art keywords
behavior
action
implemented
extension
implementing
Prior art date
Application number
KR1020090121666A
Other languages
English (en)
Other versions
KR101277275B1 (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 KR1020090121666A priority Critical patent/KR101277275B1/ko
Priority to JP2010271512A priority patent/JP2011121167A/ja
Priority to US12/961,548 priority patent/US20110137460A1/en
Publication of KR20110064895A publication Critical patent/KR20110064895A/ko
Application granted granted Critical
Publication of KR101277275B1 publication Critical patent/KR101277275B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33053Modular hardware, software, easy modification, expansion, generic, oop

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Fuzzy Systems (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Theoretical Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Manipulator (AREA)

Abstract

로봇 시스템에서 행위 기반으로 태스크를 구현할 수 있는 행위 기반 태스크 구현 방법이 제공된다. 행위 기반 태스크 구현 방법은, 다수의 컴포넌트들 중에서 하나 이상의 컴포넌트로부터 하나 이상의 기본 행위를 구현하는 단계, 하나 이상의 기본 행위로부터 확장 가능 행위를 구현하는 단계 및 확장 가능 행위로부터 확장 행위를 구현하는 단계를 포함한다.
행위 기반, 태스크, 로봇

Description

로봇 시스템의 행위 기반 태스크 구현 방법{Task implementation method based on behavior in robot system}
본 실시예는 로봇 시스템의 제어 구조에 관한 것으로서, 보다 상세하게는 로봇 시스템의 행위 기반 태스크 구현 방법에 관한 것이다.
본 발명은 지식경제부의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 09IC1400, 과제명: RUPI-클라이언트 기술 개발].
로봇 시스템은 다양한 환경에서 사용자가 원하는 서비스를 제공하기 위해서 수많은 하드웨어와 소프트웨어 모듈을 필요로 하고, 이를 유기적으로 동작시키기 위해서는 효율적인 제어구조를 필요로 한다.
또한, 종래의 로봇 시스템이 단순한 태스크, 예컨대 로봇 시스템의 응용 프로그램만을 수행하던 것에 비하여, 현대의 지능형 로봇은 복잡한 환경에서 다양한 서비스를 제공해야 하며 이를 위해서는 복잡한 태스크를 성공적으로 수행하여야만 한다.
이렇게 로봇 시스템이 다양하고 복잡한 태스크를 수행하기 위해서는 하드웨 어적인 향상 이외에 소프트웨어적인 제어구조의 개선이 필요하다. 이에 따라 로봇 시스템의 제어구조에 대한 연구가 활발히 진행되어 왔다.
종래의 로봇 시스템 제어구조는 Sense-Plan-Act를 기반으로 하는 SPA 구조가 있다. SPA 구조는 인지(sense), 계획(plan), 수행(act)의 세 부분으로 분류된 제어 구조에 따라 로봇 시스템을 순차적으로 제어한다.
예컨대, SPA 구조의 인식에서는 센서(sensor)로부터 모든 정보를 수집하고, 계획에서는 수집된 정보를 바탕으로 월드모델(world model)을 생성하고 수행에 대한 계획을 수립하고, 계획에서 전달된 명령대로 행동을 수행한다.
이러한 SPA 구조는 복잡한 태스크에 대해 최적화가 가능하지만, 시스템 복잡도에 따른 느린 응답시간과 외부환경, 즉 로봇 시스템의 하드웨어 구성에 의존하는 문제점을 가지고 있다.
이러한 문제를 해결하기 위하여 포섭구조(subsumption architecture)를 기반으로 하는 행위 기반 제어구조가 제안되었으나, 이는 복잡한 태스크를 수행할 수 없는 문제점을 가지고 있다.
본 발명이 해결하고자 하는 과제는, 행위 기반으로 로봇 시스템의 태스크를 구현하되, 로봇 시스템의 하드웨어 구성에 의존하지 않으면서 확장 및 재사용이 가능한 행위를 기반으로 로봇 시스템의 태스크를 구현하는 방법을 제공하고자 하는데 있다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 행위 기반 태스크 구현 방법은, 다수의 컴포넌트들 중에서 하나 이상의 컴포넌트로부터 하나 이상의 기본 행위를 구현하는 단계, 하나 이상의 기본 행위로부터 확장 가능 행위를 구현하는 단계 및 확장 가능 행위로부터 확장 행위를 구현하는 단계를 포함한다.
상기 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 행위 기반 태스크 구현 방법은, 최초 개발자에 의해 구현된 로봇 시스템의 다수의 행위들 중에서 개발하고자 하는 태스크에 해당하는 하나 이상의 행위를 추출하는 단계 및 추출된 하나 이상의 행위를 재구성하여 로봇 시스템의 태스크를 구현하는 단계를 포함한다.
본 발명에 따른 로봇 시스템의 행위 기반 태스크 구현 방법에 따르면, 로봇의 행위를 기반으로 하여 응용 프로그램, 즉 로봇 시스템의 태스크를 구현하되, 행위 계층에 재사용 및 확장이 가능한 확장 가능 행위를 추가시킴으로써, 복잡한 태스크의 개발 기간을 단축시키고, 유지 보수를 효율적으로 할 수 있게 하는 효과가 있다.
또한, 차기의 개발자가 미리 구현된 행위 계층을 재사용하여 로봇 시스템의 태스크를 구현할 수 있도록 할 수 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시 예에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 실시 예를 예시하는 첨부도면 및 첨부도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명에 따른 로봇 시스템의 제어 계층 구조를 나타내는 도면이다.
도 1을 참조하면, 로봇 시스템(이하, 로봇)의 제어 계층 구조는 하드웨어 계층(10), 컴포넌트 계층(20), 행위 계층(30) 및 태스크(또는, 응용 프로그램) 계층(40)을 포함할 수 있다.
하드웨어 계층(10)은 로봇 시스템(이하, 로봇)의 다수의 하드웨어들로 구성될 수 있다. 예컨대, 하드웨어 계층(10)에는 로봇의 이동을 위한 바퀴(또는, 다리), 로봇 팔, 카메라, 터치 센서 또는 초음파 센서 등을 포함하는 센서 등과 같은 로봇을 구성하는 다수의 하드웨어들을 포함할 수 있다.
컴포넌트 계층(20)은 다수의 하드웨어들 각각의 동작을 제어하기 위한 다수의 컴포넌트들로 구성될 수 있다.
예컨대, 다수의 하드웨어들 각각에는 임베디드 소프트웨어나 펌웨어 등이 구현(또는, 탑재)되어 있으며, 컴포넌트 계층(20)의 다수의 컴포넌트들 각각은 다수의 하드웨어들 각각으로부터 제공되는 에이피아이(Application Program Interface; API)를 이용하여 구현될 수 있다.
다수의 컴포넌트들 각각은 컴포넌트 개발자에 의해 프로그래밍 되어 구현될 수 있으며, 로봇의 다수의 하드웨어들 각각에 종속적으로 구현될 수 있다.
행위 계층(30)은 기본 행위(31), 확장 가능 행위(33) 및 확장 행위(35)로 구성될 수 있다.
예컨대, 개발자는 이미 구현된 다수의 컴포넌트들 중에서 하나 이상의 컴포넌트를 이용하여 로봇의 다수의 행위들을 구현할 수 있다.
이때, 개발자는 하나 이상의 컴포넌트로부터 행위 계층(30)의 기본 행위(31)를 구현할 수 있고, 구현된 기본 행위(31) 또는 이에 하나 이상의 컴포넌트를 조합하여 확장 가능 행위(33)를 구현할 수 있으며, 확장 가능 행위(33) 또는 이에 기본 행위(31) 또는 하나 이상의 컴포넌트를 조합하여 확장 행위(35)를 구현할 수 있다.
여기서, 기본 행위(31)는 행위 계층(30)의 가장 기본이 되는 행위로써, 더 이상 확장할 필요가 없는 행위이다. 기본 행위(31)는 하나 이상의 컴포넌트로부터 장치 추상화를 통해 구현될 수 있다.
또한, 기본 행위(31)는 이전에 하나 이상의 컴포넌트로부터 구현된 기본 행위로부터 구현될 수도 있다. 즉, 개발자는 이미 구현된 하나 이상의 기본 행위를 조합하여 새로운 기본 행위를 구현할 수도 있다.
확장 가능 행위(33)는 개발자의 구현 의도 또는 로봇의 구성에 따라 각각 다르게 구현될 수 있는 행위이다. 이러한 확장 가능 행위(33)는 차기 개발자가 로봇 태스크, 예컨대 로봇의 응용 프로그램을 쉽게 개발할 수 있도록 하기 위하여 확장성을 가지는 것이 바람직하다. 확장 가능 행위(33)의 확장성은 추후 도면을 참조하여 상세히 설명한다.
확장 행위(35)는 확장 가능 행위(33)로부터 구현될 수 있으며, 실시예에 따 라 확장 가능 행위(33)와 다른 행위들, 즉 하나 이상의 기본 행위(31)의 조합 또는 확장 가능 행위(33)와 하나 이상의 컴포넌트의 조합으로부터 구현될 수 있다.
태스크 계층(40)은 행위 계층(30)의 다수의 행위들, 즉 기본 행위(31), 확장 가능 행위(33) 및 확장 행위(35)로부터 구현된 로봇의 태스크, 즉 로봇 응용 프로그램으로 구성될 수 있다.
태스크 계층(40)의 태스크는 개발자의 의도에 따라 다양하게 구현될 수 있는데, 로봇이 사용자의 명령으로부터 수행하는 다양한 작업들을 하나 또는 그 이상의 태스크로 구현될 수 있다.
태스크는 행위 계층(30)의 다수의 행위들로부터 구현될 수 있으며, 이에 따라 개발자는 로봇의 하드웨어 특성을 고려하지 않고도 태스크를 구현할 수도 있다.
상술된 컴포넌트 계층(20)의 다수의 컴포넌트들, 행위 계층(30)의 다수의 행위들 및 태스크 계층(40)의 하나 이상의 태스크는 다양한 프로그래밍 언어, 예컨대 C++, Java 등을 이용하여 구현될 수 있다.
도 2는 본 발명의 일 실시예에 따른 로봇의 태스크를 구현하는 순서도이고, 도 3은 도 2의 순서도에 따라 구현된 태스크를 포함하는 로봇의 제어 계층 구조의 일예를 나타내는 도면이다.
도 1 내지 도 3을 참조하면, 개발자는 하드웨어 계층(10)의 다수의 하드웨어들 각각으로부터 다수의 컴포넌트들을 구현할 수 있다(S10).
예컨대, 개발자는 로봇의 다수의 하드웨어들 각각으로부터 주행을 구동하고 제어하는 네비게이션(Navigation) 컴포넌트(111)를 구현할 수 있다.
또한, 개발자는 로봇의 다수의 하드웨어들 각각으로부터 텍스트를 음성으로 변환해주는 텍스트-스피치(Text to Speech; 이하 티티에스(TTS)) 컴포넌트(113)를 구현할 수 있다.
또한, 개발자는 로봇의 다수의 하드웨어들 각각으로부터 로봇 팔의 움직임을 제어하는 스윙-암(Swing Arm) 컴포넌트(115)를 구현할 수 있다.
즉, 개발자는 다수의 컴포넌트들을 구현함으로써 로봇의 물리적 액츄에이터 또는 센서 등을 구동하고 제어할 수 있다.
여기서, 개발자는 다수의 컴포넌트들만을 구현하는 컴포넌트 개발자일 수 있고, 추후에 서술될 행위 계층(30)의 다수의 행위들 또는 태스크 계층(40)의 태스크를 구현하는 응용 개발자일 수도 있다.
본 실시예에서는 하나의 예로써 개발자가 다수의 컴포넌트들뿐만 아니라 다수의 행위들과 하나 이상의 태스크를 개발하는 예를 들어 설명한다. 그러나, 본 발명은 이에 제한되지는 않으며, 다수의 컴포넌트들을 구현하는 개발자와 다수의 행위들 및 하나 이상의 태스크를 구현하는 개발자는 다르게 구성될 수도 있다.
다수의 컴포넌트들이 구현되면, 개발자는 구현된 다수의 컴포넌트들 중에서 하나 이상의 컴포넌트로부터 행위 계층(30)의 다수의 행위들을 구현할 수 있다.
개발자는 하나 이상의 컴포넌트로부터 로봇의 기본 행위(31)를 구현할 수 있다(S20).
예컨대, 개발자는 구현된 네비게이션 컴포넌트(111)로부터 로봇을 지정 위치까지 이동시키기 위한 행위, 즉 고투랜드마크(GotoLandmark) 행위(121)를 구현할 수 있다.
또한, 개발자는 구현된 티티에스 컴포넌트(113)로부터 로봇이 음성을 출력하는 스피커(Speaker) 행위(125)를 구현할 수 있다.
또한, 개발자는 구현된 기본 행위, 예컨대 고투랜드마크 행위(121)로부터 다른 기본 행위, 예컨대 로봇을 사용자의 위치로 이동시키기 위한 고투유저(GotoUser) 행위(123)를 구현할 수 있다.
하나 이상의 컴포넌트로부터 로봇의 하나 이상의 기본 행위(31)가 구현되면, 개발자는 하나 이상의 기본 행위(31)로부터 로봇의 확장 가능 행위(33)를 구현할 수 있다(S30).
확장 가능 행위(33)는 앞서 설명한 바와 같이 확장성을 가지도록 구현될 수 있으며, 개발자 또는 로봇의 종류에 따라 다르게 구현될 수 있다.
예컨대, 개발자는 구현된 고투랜드마크 행위(121) 또는 고투유저 행위(123)로부터 로봇이 심부름을 수행할 수 있는 에런드(Errands) 행위(131)를 구현할 수 있다.
에런드 행위(131)는 확장성을 가지는 행위로써 개발자에 의해 다양한 행위로 확장될 수 있다.
도 4는 도 3의 확장 가능 행위의 개념도이다.
도 3 및 도 4를 참조하면, 개발자는 하나 이상의 기본 행위(31)로부터 확장 가능한 에런드 행위(131)를 구현하되, 확장성을 위하여 에런드 행위(131)에 하나 이상의 확장 포인트(133_1, 133_2, 133_3)를 지정할 수 있다.
예컨대, 개발자는 에런드 행위(131)의 시작 시점, 즉 로봇이 에런드 행위(131)를 시작하기 직전의 시점에 제1 확장 포인트(133_1)를 지정할 수 있다.
또한, 개발자는 에런드 행위(131)의 중간 시점, 즉 로봇이 에런드 행위(131)를 수행하여 지정 위치에 도착한 후 사용자 명령을 수행하기 직전의 시점에 제2 확장 포인트(133_2)를 지정할 수 있다.
또한, 개발자는 에런드 행위(131)의 종료 시점, 즉 로봇이 에런드 행위(131)를 수행한 후 사용자의 위치에 복귀한 직후의 시점에 제3 확장 포인트(133_3)를 지정할 수 있다.
다시 도 1 내지 도 3을 참조하면, 에런드 행위(131)에 다수의 확장 포인트들(133_1, 133_2, 133_3)이 지정되면, 개발자는 각각의 확장 포인트(133_1, 133_2, 133_3)에 확장 요소를 추가함으로써 확장 행위(35)를 구현할 수 있다(S40).
도 5는 도 3의 확장 행위의 개념도이다.
도 3 및 도 5를 참조하면, 개발자는 에런드 행위(131)의 제1 확장 포인트(133_1) 내지 제3 확장 포인트(133_3) 각각에 제1 확장자(143_1) 내지 제3 확장자(143_3)를 추가함으로써 로봇의 확장 행위(35)를 구현할 수 있다.
여기서, 개발자에 의해 에런드 행위(131)의 제1 확장 포인트(133_1)에 추가되는 제1 확장자(143_1)는 사용자의 명령 정보와 사용자의 위치 정보를 포함할 수 있다.
또한, 개발자에 의해 에런드 행위(131)의 제2 확장 포인트(133_2)에 추가되는 제2 확장자(143_2)는 지정 위치에서의 로봇 동작 정보를 포함할 수 있다.
또한, 개발자에 의해 에런드 행위(131)의 제3 확장 포인트(133_3)에 추가되는 제3 확장자(143_3)는 사용자 위치에서의 로봇 동작 정보를 포함할 수 있다.
즉, 개발자는 확장 가능한 에런드 행위(131)의 제1 확장 포인트(133_1) 내지 제3 확장 포인트(133_3) 각각에 제1 확장자(143_1) 내지 제3 확장자(143_3)를 각각 추가함으로써 로봇의 서빙 동작, 즉 커피 서브 행위(141)을 구현할 수 있다.
이에, 로봇은 사용자로부터의 커피 심부름 명령에 따라 지정 위치, 즉 커피가 있는 위치로 이동하여 커피가 들어있는 컵을 잡고, 이를 사용자에게 서빙하는 동작을 수행할 수 있다.
한편, 제1 확장자(143_1) 내지 제3 확장자(143_3)는 다수의 컴포넌트들, 예컨대 개발자에 의해 구현된 스윙-암 컴포넌트(115)와 네비게이션 컴포넌트(111) 및 하나 이상의 기본 행위(31), 예컨대 스피커 행위(125)의 조합으로부터 구현될 수 있다.
본 실시예에서는 하나의 예로써, 개발자가 에런드 행위(131)로부터 확장된 커피 서브(Coffee Serve) 행위(141)를 구현하는 것을 설명하나, 본 발명은 이에 제한되지는 않는다.
다시 도 1 내지 도 3을 참조하면, 확장자의 추가에 의해 확장 행위(35)가 구현되면, 개발자는 확장 행위(35)로부터 태스크, 즉 로봇의 응용 프로그램을 구현할 수 있다(S50).
본 실시예에서 개발자는 확장 행위(35), 즉 커피 서브 행위(141)로부터 홈 서비스(Home Service) 태스크(151)를 구현할 수 있다.
하나의 태스크, 즉 홈 서비스 태스크(151)는 하나 이상의 확장 행위(35)를 포함할 수 있다. 즉, 본 발명의 홈 서비스 태스크(151)는 도 3에 도시된 커피 서브 행위(141)뿐만 아니라 개발자에 의해 에런드 행위(131)로부터 확장된 다양한 확장 행위들을 포함할 수도 있다.
개발자는 홈 서비스 태스크(151)를 구현하되, 확장 행위(35)뿐만 아니라 확장 가능 행위(33)와 기본 행위(31)를 조합하여 구현할 수도 있다.
한편, 최초 개발자(또는, 이전 개발자)에 의해 컴포넌트 계층(20)의 다수의 컴포넌트들 또는 행위 계층(30)의 다수의 행위들이 구현된 상태에서, 개발자는 구현된 다수의 컴포넌트들 또는 다수의 행위들을 재구성하여 로봇의 태스크를 구현할 수도 있다.
도 6은 본 발명의 다른 실시예에 따른 로봇의 태스크를 구현하는 순서도이다.
도 1, 도 3 및 도 6을 참조하면, 최초 개발자가 다수의 컴포넌트들 또는 다수의 행위들을 구현한 경우에, 차기 개발자(이하, 개발자)는 이미 구현된 다수의 컴포넌트들 또는 다수의 행위들을 검색하여 개발하고자 하는 로봇의 태스크에 적합한 하나 이상의 컴포넌트 또는 행위를 추출할 수 있다(S110).
개발자는 추출된 하나 이상의 컴포넌트 또는 하나 이상의 행위를 재구성할 수 있으며, 확장 가능한 행위를 확장하여 재구성할 수도 있다(S120).
최초 개발자가 다수의 컴포넌트들을 이미 구현한 경우에, 개발자는 다수의 컴포넌트들 중에서 하나 이상의 컴포넌트를 조합하는 재구성을 통해 로봇의 하나 이상의 기본 행위(31)를 구현할 수 있다.
예컨대, 개발자는 이미 구현된 네비게이션 컴포넌트(111)로부터 고투랜드마크 행위(121)를 구현할 수 있고, 티티에스 컴포넌트(113)로부터 스피커 행위(125)를 구현할 수 있다. 또한, 개발자는 고투랜드마크 행위(121)로부터 고투유저 행위(123)를 구현할 수 있다.
이어, 개발자는 구현된 하나 이상의 기본 행위(31)로부터 앞서 설명한 바와 같이 확장 가능 행위(33) 및 확장 행위(35)를 구현할 수 있다.
또한, 최초 개발자가 다수의 컴포넌트들과 하나 이상의 기본 행위(31)를 이미 구현한 경우에, 개발자는 다수의 컴포넌트들 중에서 하나 이상의 컴포넌트 또는 하나 이상의 기본 행위(31)를 조합하는 재구성을 통해 로봇의 확장 가능 행위(33)를 구현할 수 있다.
예컨대, 개발자는 이미 구현된 고투랜드마크 행위(121), 고투유저 행위(123) 및 스피커 행위(125) 중에서 고투랜드마크 행위(121) 및 고투유저 행위(123)를 조합하여 에런드 행위(131)를 구현할 수 있다.
이어, 개발자는 구현된 확장 가능 행위(33)로부터 앞서 설명한 바와 같이 확장 행위(35)를 구현할 수 있다.
또한, 최초 개발자가 다수의 컴포넌트들과 하나 이상의 기본 행위(31) 및 확장 가능 행위(33)를 구현한 경우에, 개발자는 다수의 컴포넌트들 중에서 하나 이상의 컴포넌트 또는 하나 이상의 기본 행위(31) 또는 확장 가능 행위(33)를 조합하는 재구성을 통해 로봇의 확장 행위(35)를 구현할 수 있다.
예컨대, 개발자는 이미 구현된 에런드 행위(131)로부터 확장된 행위, 즉 커피 서브 행위(141)를 구현할 수 있다. 커피 서브 행위(141)는 앞서 설명한 바와 같이, 에런드 행위(131)의 하나 이상의 확장 포인트에 확장자를 추가하여 구현될 수 있다.
개발자가 이미 구현된 컴포넌트 또는 행위를 이용하여 행위 계층(30)을 구현한 후, 행위 계층(30)의 다수의 행위들로부터 태스크를 구현할 수 있다(S130).
도 7은 도 1 내지 도 6에 의해 구현된 태스크를 이용한 로봇의 제어 방법에 대한 순서도이다. 본 실시예에서는 설명의 편의를 위하여 로봇이 사용자로부터의 커피 서브 명령을 수행하는 예를 들어 설명하며, 이에 따라 도 7과 함께 앞서 설명된 도 3이 참조되어 설명될 것이다.
도 1, 도 3 및 도 7을 참조하면, 로봇 시스템은 홈 서비스 태스크(151)를 실행시키고, 홈 서비스 태스크(151)는 사용자의 명령을 인식하기 위해 대기할 수 있다(S210).
사용자가 음성 또는 텍스트를 이용하여 로봇에게 커피 심부름 명령을 전송하면, 로봇은 사용자의 커피 심부름 명령을 태스크를 통해 인식할 수 있다(S220).
사용자의 명령이 인식된 후, 로봇은 홈 서비스 태스크(151)에 의해 행위 계층(30)의 다수의 행위들, 즉 기본 행위(31), 확장 가능 행위(33) 및 확장 행위(35)를 실행시킬 수 있다(S230).
이어, 실행되는 다수의 행위들에 의해 컴포넌트 계층(20)의 다수의 컴포넌트들이 실행되고(S240), 이에 따라 로봇은 커피가 있는 위치로 이동하여 커피가 들어 있는 컵을 잡고, 이를 사용자에게 서빙하는 동작을 수행하여 사용자의 커피 심부름 명령을 수행할 수 있다(S250).
본 발명의 내용은 도면에 도시된 일 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명에 따른 로봇 시스템의 제어 계층 구조를 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 로봇의 태스크를 구현하는 순서도이다.
도 3은 도 2의 순서도에 따라 구현된 태스크를 포함하는 로봇의 제어 계층 구조의 일예를 나타내는 도면이다.
도 4는 도 3의 확장 가능 행위의 개념도이다.
도 5는 도 3의 확장 행위의 개념도이다.
도 6은 본 발명의 다른 실시예에 따른 로봇의 태스크를 구현하는 순서도이다.
도 7은 도 1 내지 도 6에 의해 구현된 태스크를 이용한 로봇의 제어 방법에 대한 순서도이다.

Claims (15)

  1. 로봇 시스템의 행위 기반 태스크 구현 방법에 있어서,
    다수의 컴포넌트들 중에서 하나 이상의 컴포넌트로부터 하나 이상의 기본 행위를 구현하는 단계;
    상기 하나 이상의 기본 행위로부터 확장 가능 행위를 구현하는 단계; 및
    상기 확장 가능 행위로부터 확장 행위를 구현하는 단계를 포함하는 행위 기반 태스크 구현 방법.
  2. 청구항 1에 있어서,
    상기 확장 행위로부터 상기 로봇 시스템의 상기 태스크를 구현하는 단계를 더 포함하는 행위 기반 태스크 구현 방법.
  3. 청구항 1에 있어서,
    상기 기본 행위, 상기 확장 가능 행위 및 상기 확장 행위의 조합으로부터 상기 로봇 시스템의 상기 태스크를 구현하는 단계를 더 포함하는 행위 기반 태스크 구현 방법.
  4. 청구항 1에 있어서,
    상기 확장 가능 행위를 구현하는 단계는, 상기 하나 이상의 기본 행위로부터 상기 확장 가능 행위를 구현하되, 상기 확장 가능 행위에 하나 이상의 확장 포인트를 지정하는 행위 기반 태스크 구현 방법.
  5. 청구항 4에 있어서,
    상기 확장 행위를 구현하는 단계는, 상기 확장 가능 행위의 상기 하나 이상의 확장 포인트에 확장자를 추가하는 행위 기반 태스크 구현 방법.
  6. 청구항 5에 있어서,
    상기 확장자는 상기 다수의 컴포넌트들 또는 상기 하나 이상의 기본 행위로부터 구현되는 행위 기반 태스크 구현 방법.
  7. 청구항 1에 있어서,
    상기 다수의 컴포넌트들 각각은 상기 로봇 시스템의 다수의 하드웨어들 각각을 제어하기 위해 구현되는 행위 기반 태스크 구현 방법.
  8. 로봇 시스템의 행위 기반 태스크 구현 방법에 있어서,
    최초 개발자에 의해 구현된 상기 로봇 시스템의 다수의 행위들 중에서 개발하고자 하는 상기 태스크에 해당하는 하나 이상의 행위를 추출하는 단계; 및
    추출된 상기 하나 이상의 행위를 재구성하여 상기 로봇 시스템의 상기 태스크를 구현하는 단계를 포함하는 행위 기반 태스크 구현 방법.
  9. 청구항 8에 있어서,
    상기 다수의 행위들은 다수의 컴포넌트들로부터 구현된 하나 이상의 기본 행위를 포함하고,
    상기 태스크를 구현하는 단계는,
    상기 하나 이상의 기본 행위로부터 확장 가능 행위를 구현하는 단계 및
    상기 확장 가능 행위로부터 확장 행위를 구현하는 단계; 및
    상기 기본 행위, 상기 확장 가능 행위 및 상기 확장 행위 중에서 하나 이상의 행위를 추출하여 상기 태스크를 구현하는 행위 기반 태스크 구현 방법.
  10. 청구항 9에 있어서,
    상기 확장 가능 행위를 구현하는 단계는, 상기 하나 이상의 기본 행위로부터 상기 확장 가능 행위를 구현하되, 상기 확장 가능 행위에 하나 이상의 확장 포인트를 지정하는 행위 기반 태스크 구현 방법.
  11. 청구항 10에 있어서,
    상기 확장 행위를 구현하는 단계는, 상기 확장 가능 행위의 상기 하나 이상의 확장 포인트에 확장자를 추가하는 행위 기반 태스크 구현 방법.
  12. 청구항 11에 있어서,
    상기 확장자는 상기 최초 개발자로부터 구현된 상기 다수의 컴포넌트들 또는 상기 하나 이상의 기본 행위로부터 구현되는 행위 기반 태스크 구현 방법.
  13. 청구항 8에 있어서,
    상기 다수의 행위들은 다수의 컴포넌트들로부터 구현된 하나 이상의 기본 행위와, 상기 하나 이상의 기본 행위로부터 구현된 확장 가능 행위를 포함하고,
    상기 태스크를 구현하는 단계는,
    상기 확장 가능 행위로부터 확장 행위를 구현하는 단계; 및
    상기 기본 행위, 상기 확장 가능 행위 및 상기 확장 행위 중에서 하나 이상의 행위를 추출하여 상기 태스크를 구현하는 행위 기반 태스크 구현 방법.
  14. 청구항 13에 있어서,
    상기 확장 가능 행위는 하나 이상의 확장 포인트를 포함하고,
    상기 확장 행위를 구현하는 단계는, 상기 확장 가능 행위의 상기 하나 이상의 확장 포인트에 확장자를 추가하는 행위 기반 태스크 구현 방법.
  15. 청구항 14에 있어서,
    상기 확장자는 상기 최초 개발자로부터 구현된 상기 다수의 컴포넌트들 또는 상기 하나 이상의 기본 행위로부터 구현되는 행위 기반 태스크 구현 방법.
KR1020090121666A 2009-12-09 2009-12-09 로봇 시스템의 행위 기반 태스크 구현 방법 KR101277275B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020090121666A KR101277275B1 (ko) 2009-12-09 2009-12-09 로봇 시스템의 행위 기반 태스크 구현 방법
JP2010271512A JP2011121167A (ja) 2009-12-09 2010-12-06 ロボットシステムの行為に基づくタスク実現方法
US12/961,548 US20110137460A1 (en) 2009-12-09 2010-12-07 Task implementation method based on behavior in robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090121666A KR101277275B1 (ko) 2009-12-09 2009-12-09 로봇 시스템의 행위 기반 태스크 구현 방법

Publications (2)

Publication Number Publication Date
KR20110064895A true KR20110064895A (ko) 2011-06-15
KR101277275B1 KR101277275B1 (ko) 2013-06-20

Family

ID=44082797

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090121666A KR101277275B1 (ko) 2009-12-09 2009-12-09 로봇 시스템의 행위 기반 태스크 구현 방법

Country Status (3)

Country Link
US (1) US20110137460A1 (ko)
JP (1) JP2011121167A (ko)
KR (1) KR101277275B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210060203A (ko) * 2019-11-18 2021-05-26 한국전자통신연구원 마이크로서비스 구조 재구성 방법 및 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI486965B (zh) * 2012-10-03 2015-06-01 Pixart Imaging Inc 使用於存取裝置與控制裝置之間之一傳輸埠的通訊方法以及存取裝置
KR20170071443A (ko) * 2015-12-15 2017-06-23 성균관대학교산학협력단 군집 로봇의 행위 기반 분산 제어 시스템 및 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07104695B2 (ja) * 1984-01-18 1995-11-13 富士通株式会社 ロボツト制御装置
JP2820639B2 (ja) * 1995-05-22 1998-11-05 中小企業事業団 ロボットの制御方法及びロボットシステム
JP3995348B2 (ja) * 1998-09-03 2007-10-24 リコーエレメックス株式会社 ロボットシステム
JP4039595B2 (ja) * 1998-09-03 2008-01-30 リコーエレメックス株式会社 ロボットシステム
US7594166B1 (en) * 1999-05-20 2009-09-22 Microsoft Corporation Dynamic web page behaviors
JP2001322079A (ja) * 2000-05-15 2001-11-20 Sony Corp 脚式移動ロボット及びその動作教示方法
JP2002127059A (ja) * 2000-10-20 2002-05-08 Sony Corp 行動制御装置および方法、ペットロボットおよび制御方法、ロボット制御システム、並びに記録媒体
US6456901B1 (en) * 2001-04-20 2002-09-24 Univ Michigan Hybrid robot motion task level control system
US6889118B2 (en) * 2001-11-28 2005-05-03 Evolution Robotics, Inc. Hardware abstraction layer for a robot
JP4556787B2 (ja) * 2005-06-30 2010-10-06 株式会社ジェイテクト プログラマブルコントローラの編集装置
JP2007125621A (ja) 2005-08-10 2007-05-24 Toshiba Corp 行動計画装置、行動計画方法および行動計画プログラム
JP4839487B2 (ja) 2007-12-04 2011-12-21 本田技研工業株式会社 ロボット及びタスク実行システム
WO2009123650A1 (en) * 2008-04-02 2009-10-08 Irobot Corporation Robotics systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210060203A (ko) * 2019-11-18 2021-05-26 한국전자통신연구원 마이크로서비스 구조 재구성 방법 및 장치

Also Published As

Publication number Publication date
KR101277275B1 (ko) 2013-06-20
JP2011121167A (ja) 2011-06-23
US20110137460A1 (en) 2011-06-09

Similar Documents

Publication Publication Date Title
KR102235947B1 (ko) Gpos 연동형 실시간 로봇 제어 시스템 및 이를 이용한 실시간 디바이스 제어 시스템
JP2009509787A (ja) 人型ロボットのための拡張可能なタスクエンジンフレームワーク
Kim et al. Service robot for the elderly
Ellekilde et al. Robwork: A flexible toolbox for robotics research and education
JP5162530B2 (ja) ロボットのタスクモデルの生成及び実行方法と装置
Guzmán et al. PELEA: a domain-independent architecture for planning, execution and learning
Foukarakis et al. Combining finite state machine and decision-making tools for adaptable robot behavior
Doukas et al. A real-time-linux-based framework for model-driven engineering in control and automation
KR101277275B1 (ko) 로봇 시스템의 행위 기반 태스크 구현 방법
Ciccozzi et al. Engineering the software of robotic systems
Steck et al. Towards quality of service and resource aware robotic systems through model-driven software development
Fernández-Madrigal et al. A software engineering approach for the development of heterogeneous robotic applications
Ng-Thow-Hing et al. Cognitive map architecture
KR20200040088A (ko) 로봇 제어 방법 및 장치
Tira-Thompson et al. The Tekkotsu robotics development environment
KR100836739B1 (ko) 로봇 디바이스 논리적-물리적 연결의 맵핑 장치 및 방법
Pohl et al. MAkE-able: Memory-centered and Affordance-based Task Execution Framework for Transferable Mobile Manipulation Skills
Atkinson et al. Towards a Deep, Domain Specific Modeling Framework for Robot Applications.
Stampfer et al. Dynamic state charts: composition and coordination of complex robot behavior and reuse of action plots
Meriçli et al. An interactive approach for situated task teaching through verbal instructions
Wigand et al. Model-driven scheduling of real-time tasks for robotics systems
Muecke et al. A distributed, heterogeneous, target-optimized operating system for a multi-robot search and rescue application
Friedmann et al. Reusable architecture and tools for teams of lightweight heterogeneous robots
Jawawi et al. Early-life cycle reuse approach for component-based software of autonomous mobile robot system
Trojanek et al. Design of asynchronously stimulated robot behaviours

Legal Events

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

Payment date: 20170314

Year of fee payment: 4

R401 Registration of restoration
FPAY Annual fee payment

Payment date: 20180614

Year of fee payment: 6