KR100927950B1 - 로봇 스크립트를 이용한 로봇 행동 제어 시스템 및 그 로봇 - Google Patents

로봇 스크립트를 이용한 로봇 행동 제어 시스템 및 그 로봇 Download PDF

Info

Publication number
KR100927950B1
KR100927950B1 KR1020080019293A KR20080019293A KR100927950B1 KR 100927950 B1 KR100927950 B1 KR 100927950B1 KR 1020080019293 A KR1020080019293 A KR 1020080019293A KR 20080019293 A KR20080019293 A KR 20080019293A KR 100927950 B1 KR100927950 B1 KR 100927950B1
Authority
KR
South Korea
Prior art keywords
robot
script
behavior
action
hardware
Prior art date
Application number
KR1020080019293A
Other languages
English (en)
Other versions
KR20090093652A (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 KR1020080019293A priority Critical patent/KR100927950B1/ko
Publication of KR20090093652A publication Critical patent/KR20090093652A/ko
Application granted granted Critical
Publication of KR100927950B1 publication Critical patent/KR100927950B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • 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
    • 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
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Manipulator (AREA)

Abstract

본 발명은 로봇 행동 제어 시스템 및 그 로봇에 관한 것으로, 더욱 상세하게는 서비스 에이전트를 통해 로봇에게 특정 동작 서비스 수행을 명령하는데 있어 상기 서비스 에이전트가 사용자로부터 요구받은 로봇 동작 서비스에 관한 단위 행동 명령을 로봇에게 전송하고, 상기 로봇이 서비스 에이전트로부터 수신받은 단위 행동 명령에 해당되는 로봇 스크립트의 내용에 따라 자신의 행동을 제어하는, 로봇 스크립트를 이용한 로봇 행동 제어 시스템 및 그 로봇을 제공하고자 한다.
이를 위하여, 본 발명은, 로봇에 있어서, 로봇 스크립트의 내용을 저장하고 있는 로봇 스크립트 저장수단; 외부로부터 입력받은 적어도 하나의 단위 행동 명령에 대하여 상응하는 로봇 스크립트를 상기 로봇 스크립트 저장수단으로부터 추출하여 각각의 하드웨어 제어신호로 생성하기 위한 행동 명령 처리수단; 및 상기 행동 명령 처리수단에서 생성한 하드웨어 제어신호에 따라 해당 하드웨어의 동작을 제어[로봇 동작 서비스를 수행]하기 위한 행동 제어수단을 포함하되, 상기 행동 명령 처리수단은, 상기 외부로부터 입력받은 각 단위 행동 명령의 행동번호 및 파라미터에 대해 상기 로봇 스크립트 저장수단을 조회해 로봇 스크립트에서 상기 행동번호에 매칭된 다수의 스크립트 내용 중 상기 파라미터에 부합한 하드웨어, 동작변수 및 동작시간을 추출한다.
서비스 에이전트, 로봇, 동작 서비스, 단위 행동 명령, 행동번호, 파라미터, 로봇 스크립트, 행동 제어

Description

로봇 스크립트를 이용한 로봇 행동 제어 시스템 및 그 로봇{System of control robot behavior using robot scripts and its robot}
본 발명은 로봇 행동 제어 시스템 및 그 로봇에 관한 것으로, 더욱 상세하게는 서비스 에이전트를 통해 로봇에게 특정 동작 서비스 수행을 명령하는데 있어 상기 서비스 에이전트가 사용자로부터 요구받은 로봇 동작 서비스에 관한 단위 행동 명령을 로봇에게 전송하고, 상기 로봇이 서비스 에이전트로부터 수신받은 단위 행동 명령에 해당되는 로봇 스크립트의 내용에 따라 자신의 행동을 제어하는, 로봇 스크립트를 이용한 로봇 행동 제어 시스템 및 그 로봇에 관한 것이다.
최근에 지능형 로봇[일명 "URC(Ubiquitous Robotic Companion) 로봇"이라고도 함]의 기술 발전에 힘입어 인터넷을 통해 원격의 사용자가 댁내의 로봇에게 특정 동작 서비스 수행 명령을 내려 이 로봇의 행동을 제어할 수 있게 되었다.
종래기술에 따른 로봇 행동 제어 기법에서는 사용자가 원격지의 단말기에 탑재된 서비스 에이전트(Service Agent)를 통해 댁내의 로봇에게 특정 동작 서비스 수행을 명령하는 방식으로 이루어진다.
특히, 상기 종래기술에서는 사용자로부터 요구받은 로봇 동작 서비스에 관한 로봇 제어신호를 서비스 에이전트가 로봇에게 전송하고, 이에 상기 로봇이 서비스 에이전트로부터 수신받은 로봇 제어신호를 해석해 해당되는 행동을 취한다. 여기서, 로봇 제어신호는 지능형 URC 로봇에 관한 통신 프로토콜을 따르는데, 통상적으로 XML 문서를 기반으로 한다. 즉, 상기 로봇 제어신호는 XML 문서에 삽입되어져 로봇에게 제공된다.
그런데, 상기 종래기술에서는 원격지의 서비스 에이전트가 행동 제어 대상인 로봇에 구비된 소프트웨어, 하드웨어에 대한 모든 정보를 알고 있어야 하며, 이러한 로봇의 모든 정보를 참조해야지만 해당 로봇 동작 서비스에 관한 구체적인 로봇 제어신호를 만들 수 있다.
또한, 상기 종래기술에서는 로봇이 서비스 에이전트로부터 수신받은 XML 기반의 로봇 제어신호를 해석해 해당되는 행동을 취하는데, 이러한 XML 기반의 로봇 제어신호 로딩, 파싱, 읽기 등과 같은 작업을 수행해야지만 해당 동작을 취할 수 있다.
즉, 현재 지능형 URC 로봇에 관한 통신 프로토콜의 표준화가 이루어지지 않은 점, 로봇 제조사에 의해 기존 또는 신규 출시된 각 로봇이 이기종 스펙[로봇의 사양, 기능, 구동 방식 및 그 형상이 모두 제각각]으로 구성되는 점을 고려하면, 상기 서비스 에이전트에 모든 로봇의 정보를 모두 반영하기는 매우 어려운 형편이다.
또한, 현재 각 가정에 고사양 스펙[고성능 CPU, 대용량 메모리, 높은 리소스율 보유 등]을 갖는 로봇보다는 저사양 스펙을 갖는 로봇이 많은 점을 고려하면, 로봇이 서비스 에이전트로부터 수신받은 로봇 제어신호를 처리하는데 상당한 리소스, 시간이 소요되어 로봇 동작 서비스를 수행하는데 상당한 무리가 있는 형편이다.
이에, 본 발명은 상기와 같은 문제점을 해결하고 상기와 같은 요구에 부응하기 위하여 제안된 것으로, 서비스 에이전트를 통해 로봇에게 특정 동작 서비스 수행을 명령하는데 있어 상기 서비스 에이전트가 사용자로부터 요구받은 로봇 동작 서비스에 관한 단위 행동 명령을 로봇에게 전송하고, 상기 로봇이 서비스 에이전트로부터 수신받은 단위 행동 명령에 해당되는 로봇 스크립트의 내용에 따라 자신의 행동을 제어하는, 로봇 스크립트를 이용한 로봇 행동 제어 시스템 및 그 로봇을 제공하는데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기의 목적을 달성하기 위한 본 발명의 장치는, 로봇에 있어서, 로봇 스크립트의 내용을 저장하고 있는 로봇 스크립트 저장수단; 외부로부터 입력받은 적어도 하나의 단위 행동 명령에 대하여 상응하는 로봇 스크립트를 상기 로봇 스크립트 저장수단으로부터 추출하여 각각의 하드웨어 제어신호로 생성하기 위한 행동 명령 처리수단; 및 상기 행동 명령 처리수단에서 생성한 하드웨어 제어신호에 따라 해당 하드웨어의 동작을 제어[로봇 동작 서비스를 수행]하기 위한 행동 제어수단을 포함하되, 상기 행동 명령 처리수단은, 상기 외부로부터 입력받은 각 단위 행동 명령의 행동번호 및 파라미터에 대해 상기 로봇 스크립트 저장수단을 조회해 로봇 스크립트에서 상기 행동번호에 매칭된 다수의 스크립트 내용 중 상기 파라미터에 부합한 하드웨어, 동작변수 및 동작시간을 추출한다.
한편, 본 발명의 시스템은, 로봇 행동 제어 시스템에 있어서, 외부로부터 요구받은 로봇 동작 서비스에 관한 적어도 하나의 단위 행동 명령을 로봇에게 전송하기 위한 서비스 에이전트; 및 상기 서비스 에이전트로부터 수신받은 각각의 단위 행동 명령에 해당되는 로봇 스크립트의 내용에 따라 자신의 행동을 제어하기 위한 상기 로봇을 포함하되, 상기 서비스 에이전트는, 상기 로봇으로부터 실시간 또는 사전에 획득한 로봇의 현재 상황 정보 및 외부 상황 정보를 참조하여 상기 로봇 동작 서비스에 관한 다수의 단위 행동 명령을 생성한다.
삭제
삭제
상기와 같은 본 발명은 서비스 에이전트의 단위 행동 명령과 로봇의 로봇 스크립트 간 매칭을 통해 로봇 행동 제어를 손쉽게 할 수 있는 효과가 있다.
또한, 본 발명은 서로 다른 이기종 스펙을 갖는 어떠한 로봇에 대해서도 하나의 서비스 에이전트를 사용해 그 행동 제어를 할 수 있는 효과가 있다.
또한, 본 발명은 행동 제어 대상 로봇의 하드웨어 추가/변경/제거가 이루어지더라도 서비스 에이전트의 프로세스를 변경하지 않아도 되기에 서비스 에이전트와 로봇간의 상호 독립성을 보장할 수 있는 효과가 있다.
또한, 본 발명은 단순한 구조의 단위 행동 명령 및 로봇 스크립트를 사용해 로봇 행동 제어를 용이하게 할 수 있고, 그에 따라 저사양 스펙의 로봇에서도 서비스 에이전트의 명령에 따른 동작 서비스를 적은 리소스, 시간으로도 원활하게 처리할 수 있는 효과가 있다.
상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되어 있는 상세한 설명을 통하여 보다 명확해 질 것이며, 그에 따라 본 발명이 속하는 기 술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다.
도 1은 본 발명에 따른 로봇 스크립트를 이용한 로봇 행동 제어 기능이 구비된 로봇에 대한 일실시예 구성도이고, 도 2a는 본 발명에서 제시하는 로봇 동작 서비스에 관한 단위 행동 명령에 대한 일실시예 설명도이고, 도 2b는 본 발명에서 제시하는 로봇 스크립트에 대한 일실시예 구성도이고, 도 3은 본 발명에 따른 로봇 스크립트를 이용한 로봇 행동 제어 방법에 대한 일실시예 흐름도이다.
도 1에 도시된 바와 같이, 본 발명에 따른 로봇 스크립트를 이용한 로봇 행동 제어 기능이 구비된 로봇[이하 "로봇"이라 통칭함]은, 행동 명령 처리부(10), 로봇 스크립트 저장소(20), 행동 제어부(30) 및 로봇에 구비된 각종 하드웨어(40) 등을 포함한다. 한편, 상기 로봇은 네트워크(예; 인터넷 등)를 통해 서비스 에이전트(Service Agent)(90)가 탑재된 단말기(또는 서버)[미도시]에 연결된다.
도 1에서, 사용자는 서비스 에이전트(90)를 통해 로봇에게 특정 동작 서비스 수행을 명령한다. 즉, 상기 서비스 에이전트(90)가 사용자로부터 요구받은 로봇 동작 서비스에 관한 제어 정보를 로봇에게 전송하고, 이에 상기 로봇이 서비스 에이전트(90)로부터 수신받은 제어 정보에 따라 자신의 행동을 제어한다. 다른 예로서, 상기 서비스 에이전트는 원격지가 아닌 로봇 내부에 탑재될 수 있으며, 이러한 경우에 서비스 에이전트는 로봇 UI(예; 화면, 키 버튼, 마이크 등)를 통해 사용자로부터 특정 동작 서비스 수행을 명령받는다.
상기 로봇에 구비된 각종 하드웨어(40)는 마이크, 스피커, LCD, LED 등과 같은 각종 입출력 인터페이스와, 카메라, 터치센서, 위치 센서, 방향 센서 등과 같은 각종 센서와, 음성 인식기, 영상 판별기 등과 같은 각종 신호 처리기와, 로봇의 안면부, 팔, 손가락, 다리(휠) 등의 구동(모션)을 관장하는 각종 피스톤, 모터(motor) 등을 포함한다. 이러한 하드웨어 각각에 대해서 통상적으로 액츄에이터(actuator)라는 용어를 사용하기도 한다.
한편, 상기 로봇은 내부에 탑재된 프로그램(S/W), 장치(H/W)를 사용해 자신의 현재 상황(예; 어느 곳에 위치해 있는지 등) 및 외부 상황(예; 주위에 위치한 사람이 누구인지 등)을 인지할 수 있으며, 이러한 로봇이 인지한 상황 정보가 서비스 에이전트(90)로 제공되며, 이에 상기 서비스 에이전트(90)가 로봇의 현재 상황 및 외부 상황을 실시간으로 파악(획득)하고 있음을 전제로 본 발명을 설명하기로 한다. 또한, 본 발명에서는 로봇이 자신의 하드웨어를 제어해 해당 행동을 수행하는 기술은 어떠한 공지 기술을 사용해도 무방하기에 이에 대한 설명도 하기에서 생략하기로 한다.
본 발명에서는 상기 서비스 에이전트(90)가 사용자로부터 요구받은 로봇 동작 서비스에 관한 단위 행동 명령을 로봇에게 전송하고, 상기 로봇이 서비스 에이전트(90)로부터 수신받은 단위 행동 명령에 해당되는 로봇 스크립트의 내용에 따라 자신의 행동을 제어하는 기법을 제시한다. 또한, 본 발명에서는 로봇 동작 서비스에 관한 단위 행동 명령과, 로봇 스크립트를 제시한다. 그럼, 이하 도 1, 도 2a, 도 2b를 함께 참조하여 본 발명에 관해 구체적으로 설명하기로 한다.
도 2a에 도시된 바와 같이, 본 발명에서 제시하는 로봇 동작 서비스에 관한 단위 행동 명령은 행동번호 및 파라미터로 구성되며, 서비스 에이전트(90)로부터 로봇으로 전송된다.
본 발명에서는 상기 서비스 에이전트(90)가 사용자로부터 요구받은 하나의 로봇 동작 서비스에 관해 다수의 단위 행동 명령을 생성해 로봇으로 전송한다. 예컨대, 본 발명에서는 서비스 에이전트(90)가 로봇에게 특정 동작 서비스 수행 명령을 내리는데 있어 각각의 행동번호 및 파라미터로 구성된 다수의 단위 행동 명령을 순차적으로 로봇에게 전송하는 것이다.
도 2b에 도시된 바와 같이, 본 발명에서 제시하는 로봇 스크립트는 행동번호, 행동이름, 하드웨어, 동작변수 및 동작시간으로 구성되며, 로봇 스크립트 저장소(20)에 저장되어 있다.
본 발명에서는 상기 로봇이 서비스 에이전트(90)로부터 순차적으로 수신받은 각 단위 행동 명령의 행동번호 및 파라미터를 토대로 로봇 스크립트에서 해당 행동번호의 스크립트 내용 중 해당 파라미터에 부합한 하드웨어, 동작변수 및 동작시간을 사용해 자신의 행동을 순서대로 제어[즉 사용자로부터 요구받은 로봇 동작 서비스에 따른 시나리오 내용을 순서대로 수행]한다.
즉, 로봇이 수행해야 될 동작 서비스는 쓰레기 버리기, 심부름, 청소하기 등 을 의미하는데, 이러한 하나의 동작 서비스, 예를 들어 쓰레기 버리기가 사용자로부터 쓰레기 받기, 휴지통으로 이동 및 휴지통에 쓰레기 넣기 등과 같은 다수의 단위 행동 조합으로 이루어짐을 확인할 수 있다. 이러한 점에 착안해 본 발명에서는 서비스 에이전트(90)가 하나의 로봇 동작 서비스에 관한 다수의 단위 행동 명령을 로봇으로 순차적으로 전송하며, 이에 상기 로봇이 각각의 단위 행동 명령에 해당되는 로봇 스크립트 내용에 따라 해당 행동을 순서대로 수행한다.
그렇다면, 상기 로봇 스크립트에 대해 구체적으로 설명하기로 한다.
상기 로봇 스크립트의 행동번호는 서비스 에이전트(90)의 단위 행동 명령이 어떠한 행동을 로봇이 수행해야 되는지를 나타낸다.
상기 로봇 스크립트의 행동이름은 서비스 에이전트(90)의 단위 행동 명령에 따라 로봇이 현재 수행 중인 행동이 무엇인지를 사용자에게 알리는데 사용된다. 예컨대, 로봇은 서비스 에이전트로부터 수신받은 단위 행동 명령에 해당되는 로봇 스크립트의 내용에 따라 자신의 행동을 제어하면서 LCD, 스피커 등을 통해 해당 행동이름을 출력해 사용자에게 자신[로봇]이 무엇을 하는지를 통보할 수 있다.
상기 로봇 스크립트의 하드웨어는 해당 로봇 단위 행동 수행에 사용되는 하드웨어 식별정보[고유번호] 등을 의미한다.
상기 로봇 스크립트의 동작변수는 해당 하드웨어에 대한 동작변수를 의미하는데, 하드웨어가 모터인 경우에는 이 모터의 회전 속도 또는 회전 각도가, 하드웨어가 피스톤인 경우에는 이 피스톤의 변위가, 하드웨어가 LED인 경우에는 이 LED의 색깔 또는 밝기가, 하드웨어가 스피커인 경우에는 이 스피커의 출력소리가 해당 동 작변수가 된다. 물론, 로봇에 구비된 하드웨어의 종류에 따라 동작변수가 없을 수도 있다.
상기 로봇 스크립트의 동작시간은 해당 하드웨어에 대한 동작시간을 의미하는데, 하드웨어가 모터이고 그 동작변수가 속도인 경우에는 해당 동작시간에 따라 그 모터의 회전 각도가 제어되며, 하드웨어가 LED인 경우에는 해당 동작시간에 따라 그 LED의 발광시간이 제어된다.
그럼, 도 3을 참조해 본 발명에 따른 로봇 스크립트를 이용한 로봇 행동 제어 방법에 대한 처리 플로우 중에서, 서비스 에이전트(90)에서 이루어지는 과정을 먼저 설명하기로 한다.
상기 서비스 에이전트(90)는 사용자로부터 특정 로봇 동작 서비스를 요구받은 경우에 로봇으로부터 실시간 또는 사전에 획득한 로봇의 현재 상황 정보 및 외부 상황 정보를 참조해 상기 로봇 동작 서비스에 관한 다수의 단위 행동 명령, 즉 각각의 행동번호 및 파라미터로 구성된 다수의 단위 행동 명령을 생성한다(301, 302). 여기서, 서비스 에이전트(90)는 해당 로봇 동작 서비스를 수행할 대상 로봇의 하드웨어 스펙 등에 대해서는 전혀 모른 상태에서 단위 행동 명령을 생성하는데, 특히 단위 행동 명령 중 파라미터는 어떠한 로봇에도 공통적으로 적용될 수 있는 값(예; 목표위치(거리, 각도), 움직임 속도 등)을 갖는다.
그런 후, 상기 서비스 에이전트(90)는 상기 생성한 각 행동번호 및 파라미터로 구성된 다수의 단위 행동 명령을 순차적으로 상기 로봇으로 전송한다(303).
다음으로, 상기 로봇에서 이루어지는 과정을 설명하기로 한다.
상기 로봇의 행동 명령 처리부(10)는 서비스 에이전트(90)로부터 순차적으로 수신받은 각 단위 행동 명령의 행동번호 및 파라미터에 대해 로봇 스크립트 저장소(20)를 조회해 로봇 스크립트에서 상기 행동번호에 매칭된 다수의 스크립트 내용 중 상기 파라미터에 부합한 하드웨어, 동작변수 및 동작시간을 추출한다(311, 312, 313). 앞서 언급한 바와 같이 서비스 에이전트(90)가 보낸 단위 행동 명령 중 파라미터는 로봇에 공통적으로 적용될 수 있는 값(예; 목표위치(거리, 각도), 움직임 속도 등)을 갖으며, 이러한 점을 토대로 본 발명에서의 단위 행동 명령의 파라미터는 로봇 스크립트의 동작변수 및 동작시간과 반드시 일치하는 것은 아니다. 즉, 로봇의 이기종 스펙에 따라 로봇에 구비된 하드웨어는 서로 상이하며, 특히 그 하드웨어 동작 방식 등도 상이함을 알 수 있다. 따라서 본 발명에서는 상기 행동 명령 처리부(10)가 서비스 에이전트(90)로부터 수신받은 단위 행동 명령의 파라미터에 대해 자신[로봇]의 행동 제어가 가능한 로봇 스크립트의 동작변수 및 동작시간을 추출하는 것이다.
그런 후, 상기 행동 명령 처리부(10)는 로봇 스크립트에서 추출한 하드웨어, 동작변수 및 동작시간을 로봇 내부적으로 인식 가능한 하드웨어 제어신호로 처리해 행동 제어부(30)로 전달한다(314).
그러면, 상기 로봇의 행동 제어부(30)는 행동 명령 처리부(10)로부터 수신받은 각각의 하드웨어 제어신호를 사용해 해당 하드웨어의 동작을 순서대로 제어한다(315). 이렇게 함으로써, 서비스 에이전트(90)를 통해 사용자로부터 요구받은 로봇 동작 서비스에 따른 시나리오 내용이 로봇에 의해 순서대로 수행되는 것이다.
이하, 본 발명에 대한 구체적인 예시를 소개하기로 한다.
첫 번째 예시로서 특정인에게 메시지를 전달하는 로봇 동작 서비스를 설명한다. 첫 번째 예시에서는 서비스 에이전트가 사용자의 음성 명령을 인식할 수 있고, 로봇의 위치와 방향을 알 수 있고, 로봇의 카메라를 통해 사람을 식별할 수 있다고 하자.
먼저, 서비스 에이전트에서는 사용자로부터 "로봇에게 홍길동을 찾아서 XXX 메시지를 전달하라고 해라"와 같은 음성 명령을 인식한다. 그런 후, 서비스 에이전트에서는 이와 같은 로봇 동작 서비스 수행 명령을 로봇에게 내리기 위해 해당 단위 행동 명령을 생성해 로봇에게 전송한다.
즉, 서비스 에이전트에서는 지도 정보(map)와 카메라를 사용해 "홍길동 찾기"를 로봇에게 수행시키기 위한 다음의 [표 1]과 같은 탐색 행동 명령을 생성해 로봇에게 전송한다.
Figure 112008015338057-pat00001
상기 [표 1]에서, "1"은 단위 행동 명령의 행동번호로서 로봇 스크립트의 행동이름 "이동"에 매칭되며, "목표 위치(거리, 방향)"은 단위 행동 명령의 파라미터로서 현재 로봇의 위치를 기준으로 이동할 목표점의 상대적인 위치를 나타낸다. 여기서, "(거리, 방향)"은 극좌표계로 표현되고, 그 예로서 좌측 전방을 향해 로봇 이동을 위한 (0.5m, 45°), 현재 위치에서 오른쪽으로 로봇 회전을 위한 (0.0m, -90°) 등을 들 수 있다.
그러면, 상기 로봇은 서비스 에이전트로부터 수신받은 [표 1]과 같은 단위 행동 명령을 토대로 다음의 [표 2] 또는 [표 3]과 같은 로봇 스크립트의 내용에 따라 해당 행동을 제어(수행)한다.
다음의 [표 2]는 로봇이 "휠 타입(wheel type)"인 경우의 로봇 스크립트를, 다음의 [표 3]은 로봇이 "휴머노이드(humanoid)"인 경우의 로봇 스크립트를 각각 나타낸다.
Figure 112008015338057-pat00002
Figure 112008015338057-pat00003
상기 [표 2]와 [표 3]을 통해 확인할 수 있듯이, 본 발명에서는 로봇의 스펙이 이기종이더라도 그 로봇에 탑재되는 로봇 스크립트가 서로 동일함을 알 수 있다. 이는 서로 다른 로봇들이 동일한 로봇 스크립트를 사용해 서비스 에이전트로부터 받은 단위 행동 명령이 무엇인지를 인식하는 것이며, 실제로 각 로봇에서는 자신의 하드웨어 스펙 등에 따라 해당 행동을 서로 다른 방식으로 제어하는 것이다.
다음으로, 서비스 에이전트에서는 로봇의 카메라를 통해 홍길동이 포착됨에 따라 사전에 녹음된 XXX 메시지를 이 홍길동에게 전달하라고 로봇에게 수행시키기 위한 메시지 전달 행동 명령을 생성해 로봇에게 전송한다.
그러면, 상기 로봇은 서비스 에이전트로부터 수신받은 메시지 전달 행동 명령을 토대로 로봇 스크립트의 해당 내용에 따라 해당 행동, 예컨대 사전에 녹음된 XXX 메시지를 홍길동 앞에서 재생하게 된다.
두 번째 예시로서 쓰레기 버리기를 시키는 로봇 동작 서비스를 설명한다. 두 번째 예시에서는 서비스 에이전트가 사용자의 음성 명령을 인식할 수 있고, 로봇의 위치와 방향을 알 수 있고, 로봇을 통해 휴지통의 위치를 알 수 있다고 하자.
먼저, 서비스 에이전트에서는 사용자로부터 "로봇에게 이 쓰레기를 휴지통에 버리라고 해라"와 같은 음성 명령을 인식한다. 그런 후, 서비스 에이전트에서는 이와 같은 로봇 동작 서비스 수행 명령을 로봇에게 내리기 위해 해당 단위 행동 명령을 생성해 로봇에게 전송한다.
즉, 서비스 에이전트에서는 하나의 쓰레기 버리기 로봇 동작 서비스 수행 명령을 위한 단위 행동 명령으로서 쓰레기 잡기 단위 행동 명령, 휴지통으로 이동 단위 행동 명령 및 쓰레기 휴지통 넣기 단위 행동 명령을 다음의 [표 4] 내지 [표 6]과 같이 각각 생성해 로봇에게 전송한다.
Figure 112008015338057-pat00004
상기 [표 4]에서, "3"은 단위 행동 명령의 행동번호로서 로봇 스크립트의 행동이름 "잡기"에 매칭되며, "물체 위치(거리, 방향)"은 단위 행동 명령의 파라미터로서 현재 로봇의 위치를 기준으로 잡을 쓰레기의 상대적인 위치를 나타낸다. 예컨대, 쓰레기 잡기 단위 행동 명령은 로봇에게 사용자가 주는 쓰레기를 잡으라는 명령이다.
Figure 112008015338057-pat00005
상기 [표 5]에서, "1"은 단위 행동 명령의 행동번호로서 로봇 스크립트의 행동이름 "이동"에 매칭되며, "목표 위치(거리, 방향)"은 단위 행동 명령의 파라미터로서 현재 로봇의 위치를 기준으로 이동할 휴지통의 상대적인 위치를 나타낸다. 예컨대, 휴지통으로 이동 단위 행동 명령은 로봇에게 휴지통으로 이동하라는 명령이다.
Figure 112008015338057-pat00006
상기 [표 6]에서, "2"는 단위 행동 명령의 행동번호로서 로봇 스크립트의 행동이름 "놓기"에 매칭되며, "놓을 위치(거리, 방향)"은 단위 행동 명령의 파라미터로서 현재 로봇의 위치를 기준으로 쓰레기를 놓을 상대적인 위치를 나타낸다. 예컨대, 쓰레기 휴지통 넣기 단위 행동 명령은 로봇에게 쓰레기를 휴지통에 넣으라는 명령이다.
그러면, 상기 로봇은 서비스 에이전트로부터 순차적으로 수신받은 [표 4] 내지 [표 6]과 같은 단위 행동 명령을 토대로 다음의 [표 7] 또는 [표 8]과 같은 로봇 스크립트의 내용에 따라 해당 행동을 제어(수행)한다.
다음의 [표 7]은 로봇이 "바스켓 타입(basket type)"인 경우의 로봇 스크립트를, 다음의 [표 8]은 로봇이 "메뉴퓰레이터 타입(manipulator type)"인 경우의 로봇 스크립트를 각각 나타낸다. 여기서, 바스켓 타입 로봇은 사용자가 로봇에게 쓰레기를 쥐어주고서 휴지통에 넣어줘야 되는 타입의 로봇을 의미하며, 메뉴퓰레이터 타입 로봇은 로봇이 집게 형태의 팔로 스스로 쓰레기를 잡고서 휴지통에 넣는 타입의 로봇을 의미한다.
Figure 112008015338057-pat00007
Figure 112008015338057-pat00008
한편, 전술한 바와 같은 본 발명의 방법은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체(정보저장매체)에 저장되고, 컴퓨터에 의하여 판독되고 실행됨으로써 본 발명의 방법을 구현한다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
도 1은 본 발명에 따른 로봇 스크립트를 이용한 로봇 행동 제어 기능이 구비된 로봇에 대한 일실시예 구성도이고,
도 2a는 본 발명에서 제시하는 로봇 동작 서비스에 관한 단위 행동 명령에 대한 일실시예 설명도이고,
도 2b는 본 발명에서 제시하는 로봇 스크립트에 대한 일실시예 구성도이고,
도 3은 본 발명에 따른 로봇 스크립트를 이용한 로봇 행동 제어 방법에 대한 일실시예 흐름도이다.
* 도면의 주요 부분에 대한 부호 설명
10 : 행동 명령 처리부 20 : 로봇 스크립트 저장소
30 : 행동 제어부 40 : 로봇에 구비된 각종 하드웨어
90 : 서비스 에이전트

Claims (16)

  1. 로봇에 있어서,
    로봇 스크립트의 내용을 저장하고 있는 로봇 스크립트 저장수단;
    외부로부터 입력받은 적어도 하나의 단위 행동 명령에 대하여 상응하는 로봇 스크립트를 상기 로봇 스크립트 저장수단으로부터 추출하여 각각의 하드웨어 제어신호로 생성하기 위한 행동 명령 처리수단; 및
    상기 행동 명령 처리수단에서 생성한 하드웨어 제어신호에 따라 해당 하드웨어의 동작을 제어[로봇 동작 서비스를 수행]하기 위한 행동 제어수단을 포함하되,
    상기 행동 명령 처리수단은,
    상기 외부로부터 입력받은 각 단위 행동 명령의 행동번호 및 파라미터에 대해 상기 로봇 스크립트 저장수단을 조회해 로봇 스크립트에서 상기 행동번호에 매칭된 다수의 스크립트 내용 중 상기 파라미터에 부합한 하드웨어, 동작변수 및 동작시간을 추출하는 것을 특징으로 하는 로봇 스크립트를 이용한 로봇 행동 제어 기능이 구비된 로봇.
  2. 제 1 항에 있어서,
    상기 단위 행동 명령은,
    행동번호 및 파라미터로 이루어진 것을 특징으로 하는 로봇 스크립트를 이용한 로봇 행동 제어 기능이 구비된 로봇.
  3. 제 1 항에 있어서,
    상기 로봇 스크립트는,
    행동번호, 행동이름, 하드웨어, 동작변수 및 동작시간으로 이루어진 것을 특징으로 하는 로봇 스크립트를 이용한 로봇 행동 제어 기능이 구비된 로봇.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 행동 명령 처리수단은,
    상기 외부로부터 입력받은 각 단위 행동 명령의 파라미터에 대해 로봇의 행동 제어가 가능한 해당 로봇 스크립트의 동작변수 및 동작시간을 추출하는 것을 특징으로 하는 로봇 스크립트를 이용한 로봇 행동 제어 기능이 구비된 로봇.
  6. 제 1 항 내지 제 3 항, 제 5 항 중 어느 한 항에 있어서,
    상기 행동 제어수단은,
    상기 행동 명령 처리수단으로부터 순차적으로 수신받은 각각의 하드웨어 제어신호를 사용해 해당 하드웨어의 동작을 순서대로 제어하는 것을 특징으로 하는 로봇 스크립트를 이용한 로봇 행동 제어 기능이 구비된 로봇.
  7. 로봇 행동 제어 시스템에 있어서,
    외부로부터 요구받은 로봇 동작 서비스에 관한 적어도 하나의 단위 행동 명령을 로봇에게 전송하기 위한 서비스 에이전트; 및
    상기 서비스 에이전트로부터 수신받은 각각의 단위 행동 명령에 해당되는 로봇 스크립트의 내용에 따라 자신의 행동을 제어하기 위한 상기 로봇을 포함하되,
    상기 서비스 에이전트는,
    상기 로봇으로부터 실시간 또는 사전에 획득한 로봇의 현재 상황 정보 및 외부 상황 정보를 참조하여 상기 로봇 동작 서비스에 관한 다수의 단위 행동 명령을 생성하는 것을 특징으로 하는 로봇 스크립트를 이용한 로봇 행동 제어 시스템.
  8. 제 7 항에 있어서,
    상기 로봇은,
    상기 서비스 에이전트로부터 순차적으로 수신받은 각 단위 행동 명령의 행동번호 및 파라미터를 토대로 로봇 스크립트에서 해당 행동번호의 스크립트 내용 중 해당 파라미터에 부합한 하드웨어, 동작변수 및 동작시간을 사용해 자신의 행동을 순서대로 제어하는 것을 특징으로 하는 로봇 스크립트를 이용한 로봇 행동 제어 시스템.
  9. 제 7 항에 있어서,
    상기 로봇은,
    상기 로봇 스크립트의 내용을 저장하고 있는 로봇 스크립트 저장수단;
    상기 서비스 에이전트로부터 수신받은 각각의 단위 행동 명령에 대하여 상응하는 로봇 스크립트를 상기 로봇 스크립트 저장수단으로부터 추출하여 각각의 하드웨어 제어신호로 생성하기 위한 행동 명령 처리수단; 및
    상기 행동 명령 처리수단에서 생성한 하드웨어 제어신호에 따라 해당 하드웨어의 동작을 제어[로봇 동작 서비스를 수행]하기 위한 행동 제어수단
    을 포함하는 로봇 스크립트를 이용한 로봇 행동 제어 시스템.
  10. 삭제
  11. 제 7 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 서비스 에이전트는,
    각각의 행동번호 및 파라미터로 이루어진 다수의 단위 행동 명령을 생성하되, 상기 각 단위 행동 명령을 순차적으로 상기 로봇에게 전송하는 것을 특징으로 하는 로봇 스크립트를 이용한 로봇 행동 제어 시스템.
  12. 제 7 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 서비스 에이전트는,
    상기 로봇과 네트워크를 통해 연결되거나 상기 로봇 내부에 탑재된 것을 특징으로 하는 로봇 스크립트를 이용한 로봇 행동 제어 시스템.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
KR1020080019293A 2008-02-29 2008-02-29 로봇 스크립트를 이용한 로봇 행동 제어 시스템 및 그 로봇 KR100927950B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080019293A KR100927950B1 (ko) 2008-02-29 2008-02-29 로봇 스크립트를 이용한 로봇 행동 제어 시스템 및 그 로봇

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080019293A KR100927950B1 (ko) 2008-02-29 2008-02-29 로봇 스크립트를 이용한 로봇 행동 제어 시스템 및 그 로봇

Publications (2)

Publication Number Publication Date
KR20090093652A KR20090093652A (ko) 2009-09-02
KR100927950B1 true KR100927950B1 (ko) 2009-11-23

Family

ID=41302114

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080019293A KR100927950B1 (ko) 2008-02-29 2008-02-29 로봇 스크립트를 이용한 로봇 행동 제어 시스템 및 그 로봇

Country Status (1)

Country Link
KR (1) KR100927950B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101021836B1 (ko) 2008-10-09 2011-03-17 한국전자통신연구원 동적 행위 바인딩을 통한 다수 로봇의 협업 구현 시스템 및그 구현 방법
KR101384242B1 (ko) 2010-12-31 2014-04-09 강원대학교산학협력단 내부 환경을 동적으로 재구성하는 로봇 장치 및 재구성 방법
KR101457947B1 (ko) 2013-06-27 2014-11-07 한국과학기술원 사용자 중심의 모듈화를 통한 로봇 시스템, 로봇 시스템 개발 및 제어 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8588973B2 (en) 2009-12-18 2013-11-19 Electronics And Telecommunications Research Institute Apparatus and method for executing robot task using robot model definition
JP5202603B2 (ja) 2009-12-18 2013-06-05 韓國電子通信研究院 知能型サービスロボット環境におけるロボットサービスロード方法およびそのためのサービスロード装置
KR101220428B1 (ko) * 2010-09-10 2013-01-10 한국과학기술원 분산 실시간 제어 소프트웨어가 구비된 지능 로봇용 다중 프로세서
KR102671056B1 (ko) * 2021-12-16 2024-05-29 류장근 로봇 프로세스 자동화를 위한 rpa 봇 관리 방법, 장치 및 프로그램

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000010614A (ja) 1998-06-23 2000-01-14 Nippon Telegr & Teleph Corp <Ntt> ユーザインタフェース利用ロボット操作方法及びシステム装置並びにそのプログラムを記録した記録媒体
JP2002337079A (ja) 2001-05-11 2002-11-26 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP2003285285A (ja) 2002-03-27 2003-10-07 Nec Corp ソフトウェアエージェントを有するロボット装置及びその制御方法とプログラム
KR20070061078A (ko) * 2005-12-08 2007-06-13 한국전자통신연구원 서비스 로봇과 사람 사이의 동작기반 인터페이스 시스템 및방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000010614A (ja) 1998-06-23 2000-01-14 Nippon Telegr & Teleph Corp <Ntt> ユーザインタフェース利用ロボット操作方法及びシステム装置並びにそのプログラムを記録した記録媒体
JP2002337079A (ja) 2001-05-11 2002-11-26 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP2003285285A (ja) 2002-03-27 2003-10-07 Nec Corp ソフトウェアエージェントを有するロボット装置及びその制御方法とプログラム
KR20070061078A (ko) * 2005-12-08 2007-06-13 한국전자통신연구원 서비스 로봇과 사람 사이의 동작기반 인터페이스 시스템 및방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101021836B1 (ko) 2008-10-09 2011-03-17 한국전자통신연구원 동적 행위 바인딩을 통한 다수 로봇의 협업 구현 시스템 및그 구현 방법
KR101384242B1 (ko) 2010-12-31 2014-04-09 강원대학교산학협력단 내부 환경을 동적으로 재구성하는 로봇 장치 및 재구성 방법
KR101457947B1 (ko) 2013-06-27 2014-11-07 한국과학기술원 사용자 중심의 모듈화를 통한 로봇 시스템, 로봇 시스템 개발 및 제어 방법

Also Published As

Publication number Publication date
KR20090093652A (ko) 2009-09-02

Similar Documents

Publication Publication Date Title
KR100927950B1 (ko) 로봇 스크립트를 이용한 로봇 행동 제어 시스템 및 그 로봇
US9079313B2 (en) Natural human to robot remote control
US20150012132A1 (en) Enhancing Sensor Data by Coordinating and/or Correlating Data Attributes
US20090299751A1 (en) Robot apparatus and method for registering shortcut command thereof
CA2934607C (en) Method for controlling operation of an agricultural machine and system
KR20150114983A (ko) 비접촉 제스쳐 제어 방법 및 전자 단말 장치
JP2011201002A (ja) ロボット装置、ロボット装置の遠隔制御方法及びプログラム
CN109048932A (zh) 一种智能服务机器人系统
KR102549758B1 (ko) 오브젝트 제어 방법 및 장치, 저장 매체 및 전자 장치
JP6932852B2 (ja) データ通信方法及びヒューマンコンピュータインタラクションシステム
US9399289B2 (en) Robot control apparatus and robot system
CN111319044A (zh) 物品抓取方法、装置、可读存储介质及抓取机器人
AU2010290258A1 (en) Apparatus and method for remote control in a short-range network, and system supporting the same
KR101760881B1 (ko) 원격 단말기 및 이를 이용한 로봇 교시방법
US10609294B2 (en) Systems and methods for sampling images
CN112114969A (zh) 数据处理方法、装置、电子设备和存储介质
CN111225554B (zh) 散装目标抓取、装配方法、装置、控制器和系统
CN116901110A (zh) 移动机器人控制方法、装置、电子设备及存储介质
KR20210032220A (ko) 툴 체인저 및 이를 포함하는 툴 체인지 시스템
KR101482209B1 (ko) 네트워크 로봇 서비스 제공 방법
JP5358989B2 (ja) モータ駆動用通信システム
WO2021057093A1 (zh) 机器人的控制方法及装置、存储介质、处理器
KR20070055541A (ko) 사용자와 타깃 디바이스 사이의 인터페이스로서 사용되는디바이스
KR101186192B1 (ko) 센서 스크립트를 이용한 센서 정보 인식 장치 및 그 방법과그를 이용한 로봇
CN103862477A (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: 20121106

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131105

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161108

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171110

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20181031

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190903

Year of fee payment: 11