KR102144891B1 - 휴머노이드 로봇 개발 프레임워크 시스템 - Google Patents

휴머노이드 로봇 개발 프레임워크 시스템 Download PDF

Info

Publication number
KR102144891B1
KR102144891B1 KR1020180125870A KR20180125870A KR102144891B1 KR 102144891 B1 KR102144891 B1 KR 102144891B1 KR 1020180125870 A KR1020180125870 A KR 1020180125870A KR 20180125870 A KR20180125870 A KR 20180125870A KR 102144891 B1 KR102144891 B1 KR 102144891B1
Authority
KR
South Korea
Prior art keywords
robot
display device
control module
tablet
application
Prior art date
Application number
KR1020180125870A
Other languages
English (en)
Other versions
KR20200045168A (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 KR1020180125870A priority Critical patent/KR102144891B1/ko
Publication of KR20200045168A publication Critical patent/KR20200045168A/ko
Application granted granted Critical
Publication of KR102144891B1 publication Critical patent/KR102144891B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템은, 로봇 운영체제(Operating System, OS)와 연결 가능하고, 상기 로봇 운영체제에 의해 제공되는 기능을 로봇에서 구현되도록 상기 기능을 재정의하며, 상기 재정의된 기능을 이용하여 상기 로봇을 제어하는 로봇 제어 모듈, 상기 로봇과 연결된 디스플레이 장치를 통한 사용자 인터페이스를 제어하는 디스플레이 장치 제어 모듈 및 상기 로봇 또는 상기 디스플레이 장치가 감지한 이벤트에 따라 실행되는 어플리케이션을 제어하는 통합 제어 모듈을 포함한다.

Description

휴머노이드 로봇 개발 프레임워크 시스템{HUMANOID ROBOT DEVELOPMNET FRAMEWORK SYSTEM}
본 발명은 휴머노이드 로봇 개발 프레임워크 시스템에 관한 것으로, 보다 자세하게는 휴머노이드 로봇의 비즈니스 로직 및 로봇이 포함하는 태블릿을 통한 사용자 인터랙션을 제어하고, 휴머노이드 어플리케이션 개발에 필요한 프레임워크를 제공할 수 있는 개발 프레임워크 시스템에 관한 것이다.
최근 4차 산업혁명과 함께 노동을 보조하거나 혹은 커뮤니케이션이 가능한 휴머노이드 로봇에 대한 관심이 대두되고 있으며, 여러 가지 형태의 휴머노이드 로봇이 출시되고 있다. 아울러, 인간과의 원활한 의사 소통을 위해 태블릿(tablet)을 장착한 휴머노이드 로봇이 개발되어 왔으며, 태블릿을 통해 로봇의 조작, 이동 등의 물리적인 기능 외에도 정보 획득, 인간과의 대화 등 지능적인 기능까지 수행할 수 있다.
이러한 로봇의 기술 개발을 위해, 개발자들은 어플리케이션을 자유롭게 개발할 수 있도록 로봇 운영체제(Operating System, OS)를 오픈 소스로 공개하고 있다.
그러나, 태블릿을 포함하는 휴머노이드 로봇의 경우, 태블릿 내 화면을 구성을 위한 개발방법론이 정의 되어 있지 않을 뿐만 아니라, 태블릿을 통한 사용자 인터랙션과 로봇 모션의 개발이 개별적으로 이루어져, 휴머노이드 로봇과 사용자 간의 자연스러운 인터랙션을 구성하기 쉽지 않다는 문제점이 있다.
또한, 휴머노이드 로봇에 대한 통합된 개발 방식이 없기 때문에, 개발자마다 각기 다른 형태로 프로그래밍되어 타인이 작성한 소스를 살펴볼 때에도 프로그래밍 소스를 파악하기 어려우며, 프로그래밍 소스를 파악하더라도 태블릿을 통한 비즈니스 로직(어플리케이션)과 로봇의 제어부가 혼재되어 있어, 이를 통한 개발이 쉽지 않다는 문제점이 있다.
뿐만 아니라, 일부 휴머노이드 로봇의 경우, 하드웨어가 재가동되는 시점에서 적재되어 있던 로그도 함께 사라져, 어떠한 에러로 인해 재가동되었는지, 동일한 현상이 반복되더라도 원인에 대해 확인이 어려운 문제점이 있다.
따라서, 로봇과의 직접적인 인터랙션과 로봇이 가지는 태블릿을 통한 인터랙션 모두를 포괄할 수 있는 소프트웨어 프레임워크의 개발이 요구되며, 본 발명은 이에 관한 것이다.
한국등록특허공보 제10-1197245호(2012.11.05.)
본 발명이 해결하고자 하는 기술적 과제는 로봇과 로봇이 포함하는 디스플레이 장치와의 자연스러운 인터랙션을 위해 로봇과 디스플레이 장치를 포괄하여 개발하고 제어할 수 있는 프레임워크를 제공하는 것을 목적으로 한다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는 로봇의 운영체제와 응용 어플리케이션을 개발할 수 있는 독립적인 프레임워크를 제공하는 것을 목적으로 한다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템은, 로봇 운영체제(Operating System, OS)와 연결 가능하고, 상기 로봇 운영체제에 의해 제공되는 기능을 로봇에서 구현되도록 상기 기능을 재정의하며, 상기 재정의된 기능을 이용하여 상기 로봇을 제어하는 로봇 제어 모듈, 상기 로봇과 연결된 디스플레이 장치를 통한 사용자 인터페이스를 제어하는 디스플레이 장치 제어 모듈 및 상기 로봇 또는 상기 디스플레이 장치가 감지한 이벤트에 따라 실행되는 어플리케이션을 제어하는 통합 제어 모듈을 포함한다.
일 실시예에 따르면, 상기 통합 제어 모듈은, 상기 로봇 또는 상기 디스플레이 장치에서 실행 가능한 어플리케이션을 개발할 수 있는 어플리케이션 개발 환경을 제공할 수 있다.
일 실시예에 따르면, 상기 로봇 제어 모듈은, 상기 로봇 또는 상기 디스플레이 장치와의 세션 연결을 관리하는 세션 연결부를 더 포함할 수 있다.
일 실시예에 따르면, 상기 디스플레이 장치 제어 모듈은, 상기 디스플레이 장치에 표시되는 적어도 두 개 이상의 선택 영역을 그루핑(grouping)하고, 그루핑 결과에 따라 상기 선택 영역의 활성 상태를 제어하는 버튼 제어부를 더 포함할 수 있다.
일 실시예에 따르면, 상기 디스플레이 장치 제어 모듈은, 상기 디스플레이 장치를 통한 사용자 입력 신호을 감지하고, 상기 사용자 입력 신호와 대응되는 이벤트에 따라 상기 디스플레이 장치의 동작을 제어하는 동작 제어부를 더 포함할 수 있다.
일 실시예에 따르면, 상기 디스플레이 장치 제어 모듈은, 상기 디스플레이 장치로부터 출력되는 사운드를 제어하는 사운드 제어부를 더 포함할 수 있다.
일 실시예에 따르면, 상기 통합 제어 모듈은, 개발 중인 적어도 하나 이상의 어플리케이션을 분류하고 관리하는 어플리케이션 제어부를 더 포함할 수 있다.
일 실시예에 따르면, 상기 어플리케이션 제어부는, 상기 개발 중인 어플리케이션에 따라 상기 디스플레이 장치에 표시되는 화면의 전환할 수 있다.
일 실시예에 따르면, 상기 세션 연결부의 세션 연결 여부에 따라, 로컬 모드 또는 운영 모드 중 하나의 모드를 실행하는 개발 환경 관리부를 더 포함할 수 있다.
일 실시예에 따르면, 상기 통합 제어 모듈은, 개발된 어플리케이션의 해상도를 상기 디스플레이 장치의 해상도로 변환하는 해상도 변환부를 더 포함할 수 있다.
일 실시예에 따르면, 상기 통합 제어 모듈은, 상기 디스플레이 장치에 표시되는 이미지를 미리 로딩하고, 상기 이미지의 사이즈에 따라 상기 이미지를 페이드인(fade-in) 또는 페이드아웃(fade-out) 방식으로 상기 디스플레이 장치에 표시하는 이미지 로딩부를 더 포함할 수 있다.
일 실시예에 따르면, 상기 통합 제어 모듈은, 상기 로봇 또는 상기 디스플레이 장치와의 세션 연결에 따라 발생하는 로그를 주기적으로 기록하는 로그 기록부를 더 포함할 수 있다.
본 발명의 또 다른 실시예에 따른 로봇 제어 방법은, 로봇 또는 디스플레이 장치에 설치된 어플리케이션의 실행에 따라 상기 어플리케이션 내에 포함된 이미지를 로딩하는 단계, 상기 로딩된 이미지를 이용하여 제1화면을 상기 디스플레이 장치에 표시하는 단계 및 상기 어플리케이션과 연계된 비즈니스 로직(Business logic)을 기초로 상기 로봇 또는 상기 디스플레이 장치가 동작하는 단계를 포함한다.
일 실시예에 따르면, 상기 이미지를 로딩하는 단계는, 상기 이미지를 로딩하는 단계는, 상기 어플리케이션의 실행에 따라 상기 로봇과 세션을 연결하는 단계 및 상기 어플리케이션의 로그를 주기적으로 저장하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 상기 세션을 연결하는 단계 이후에, 상기 로봇 또는 상기 디스플레이 장치와 사용자 간의 인터랙션이 종료되면, 상기 디스플레이 장치로 제2 화면을 표시하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 실시예에 따르면, 로봇 제어 방법을 컴퓨터에서 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램을 포함한다.
본 발명에 의하면, 로컬 개발 환경과 운영 환경을 구분 관리하여 로컬 서버에서 라이브러리를 이용하여 소프트웨어 개발 및 디버깅을 할 수 있다는 효과가 있다.
또한, 로봇 및 로봇이 포함하는 디스플레이 장치에 설치 가능한 응용 어플리케이션을 개발하는 과정에서 공통되는 기능을 제공하여 중복되는 요소를 제거할 수 있으며, 공통되는 기능을 모듈화하여 추후 다른 어플리케이션을 개발하는 과정에서 재사용할 수 있다는 효과가 있다.
또한, 분리되어 있는 로봇 운영체제와 디스플레이 장치의 운영체제를 통합하여, 디스플레이 장치 내 화면 구성과 로봇의 모션을 자연스럽게 연결할 수 있다는 효과가 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템을 포함하는 전체 구성을 간략하게 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템을 포함하는 전체 구성을 기능을 기준으로 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템을 구성 요소들을 기준으로 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템의 구성을 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 디스플레이 장치 모듈의 기능을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 통합 제어 모듈의 기능을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템을 이용하여 로봇을 제어하는 방법의 흐름을 나타낸 순서도이다.
도 8 및 도 9는 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템을 이용한 로봇 및 디스플레이 장치의 비즈니스 로직을 나타낸 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
본 명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
도 1은 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템(100)을 포함하는 전체 구성을 간략하게 나타낸 도면이다.
도 1을 참조하면, 본 발명의 로봇 개발 프레임워크 시스템(100, 개발 프레임워크)이 운영되는 전체 시스템은, 개발 프레임워크 시스템(100), 태블릿(200) 및 로봇(300)으로 구성됨을 확인할 수 있다.
일반적으로, 태블릿(200)을 포함하는 로봇(300)의 어플리케이션 개발은 태블릿(200)과 로봇(300)을 별도의 구성으로 인식하고 각기 다르게 개발되어 왔다. 그에 따라, 태블릿(200)을 통한 사용자 인터랙션 수신 시, 로봇(300)의 움직임이 자연스럽게 연결되지 않으며, 이러한 동작 과정들에 대한 정의도 개발자마다 서로 달라 개발 과정에서 혼선을 주게 된다.
그에 따라, 개발 프레임워크(100)는 태블릿(200) 및 로봇(300)를 통합하여 개발할 수 있는 개발 환경을 개발자에게 제공하며, 개발자는 개발 프레임워크(100)를 이용하여 로봇(300)의 동작과 태블릿(200)을 통한 사용자 인터랙션이 자연스럽게 연결 및 제어되도록 어플리케이션을 개발할 수 있다.
태블릿(200)은 사용자의 터치 입력을 인식할 수 있는 디스플레이 장치로서, 터치 패널을 포함할 수 있다. 또한, 태블릿(200)는 사용자의 터치뿐만 아니라 스타일러스(stylus)와 같은 전자 펜에 의한 입력을 인식할 수도 있는 등, 태블릿(200) 내 영상을 표시하는 영역에서 발생하는 다양한 입력을 인식할 수 있는 센싱 수단들을 포함할 수 있다. 한편, 태블릿(200)외에도 로봇(300)에 장착될 수 있는 다양한 디스플레이 장치들이 대체될 수 있다.
로봇(300)은 바람직하게는 사람과 유사한 모습과 기능을 사람과 유사한 모습과 기능을 가진 기계 장치를 의미하며, 사람과 같이 물체를 인식하고, 사람과 같이 두 팔과 두 다리, 머리를 포함하여 움직일 수 있는 지능형 기계 장치일 수 있다.
또한, 로봇(300)은 로봇(300)의 전면에 물리적으로 연결되어 있는 태블릿(200)을 구비하여, 태블릿(200)을 통해 사용자와 로봇(300) 간의 소통을 할 수 있다.
도 2는 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템을 포함하는 전체 구성을 기능을 기준으로 나타낸 도면이다.
도 2를 참조하면, 먼저, 어플리케이션(1, Application)은 사용자가 사용하는 프로그램으로써, 태블릿(200)를 포함하는 로봇(300)을 통해 수행할 수 있는 다양한 종류의 프로그램일 수 있다.
예를 들어, 사용자는 태블릿(200)를 터치하거나 로봇(300)과 대화하여, 게임, 음악 등의 엔터테인먼트(Entertainment), 단어 학습 등의 교육(Education), 지도 안내 가이드(Guide) 및 예약 확인 등의 리셉션(Reception)과 같은 다양한 종류의 어플리케이션(1, Application)을 이용할 수 있다.
다음으로, 개발 프레임워크(100)는 개발자가 어플리케이션(1)을 개발할 수 있는 개발 환경을 제공하는 모듈로서, 태블릿(200) 및 로봇(300)에서 수행 가능한 다양한 기능들을 통합 제어할 수 있다.
예를 들어, 개발자는 개발 프레임워크(100)를 통해 태블릿(200)에 출력되는 사용자 인터페이스(User Interface, UI)의 구성, 버튼 선택 및 화면 전환 등을 정의할 수 있으며, 사용자 입력에 따른 로봇(300)의 이벤트(움직임, 대화)를 정의할 수 있다.
다음으로, 로봇 APIs(2, Application Programming Interface)는 로봇(300)을 사용할 수 있도록 만들어진 인터페이스로, 기능으로서, 개발자는 로봇 APIs(2)를 통해 로봇(300) 또는 로봇(300)이 포함하는 태블릿(200)가 수행할 수 있는 다양한 기능들에 대한 API를 제공받아 이를 재정의하거나 제어할 수 있다.
예를 들어, 로봇 APIs(2)는 로봇(300)의 모션(Motion)을 제어하기 위한 인터페이스, 태블릿(Tablet)과 같은 태블릿(200)를 제어하기 위한 인터페이스, 로봇(300) 터치(Touch) 또는 카메라를 통한 로봇(300)의 비전(Vision)을 인식하고 그에 따른 이벤트를 제어하기 위한 인터페이스 등을 포함할 수 있다.
마지막으로, 로봇 하드웨어(3)는 로봇(300)의 물리적인 동작을 구동하는 장치로, 개발 프레임워크(100) 내의 정의에 따라 사용자가 어플리케이션(1)을 이용하게 되면, 로봇(300)이 그에 대응되는 동작을 수행할 수 있다.
예를 들어, 로봇 하드웨어(3)를 구성하는 요소는 로봇(300)의 동작에 따른 알림을 사용자에게 표시할 수 있는 LED 조명, 로봇(300)의 이동을 구현할 수 있는 액츄에이터(Actuator), 사용자의 얼굴 또는 전방의 장애물을 인식할 수 있는 카메라(Camera), 사용자와 대화하거나 정보를 제공할 수 있는 스피커(Speaker) 등을 포함할 수 있다.
이와 같이, 로봇(300) 및 로봇(300)이 포함하는 태블릿(200)에서 수행 가능한 어플리케이션을 개발하기 위한 환경이, 개발 프레임워크(100)를 통해 제작된 어플리케이션(1) 및 로봇 APIs(2)으로 분리되어 있고, 개발 프레임워크(100) 내에서 태블릿(200)와 로봇(300)의 기능을 정의할 수 있기 때문에, 개발자는 보다 편리하게 어플리케이션을 개발할 수 있다.
도 3은 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템(100)을 구성 요소들을 기준으로 나타낸 도면으로, 도 3을 참조하면, 개발 프레임워크(100)는 로봇 제어 모듈(10), 디스플레이 장치 제어 모듈(20) 및 통합 제어 모듈(30)을 포함함을 확인할 수 있으며, 본 발명의 목적을 달성하기 위한 부가적인 구성을 더 포함할 수 있다.
도 3을 참조하면, 로봇 제어 모듈(10)은 로봇 운영체제(OS)로부터 로봇(300)의 움직임, 대화, 데이터 저장 등에 대한 기능을 수행할 수 있는 API를 제공받고 이를 개발 프레임워크(100)의 개발 환경에 맞게 재정의할 수 있으며, 이를 위해 로봇 운영체제(OS)와 세션을 연결할 수 있다.
이와 같이, 로봇 제어 모듈(10)은 재정의된 기능을 통해 로봇(200)이 수행할 수 있는 다양한 기능과 서비스를 정의할 수 있다. 예를 들어, 로봇 제어 모듈(10)은 로봇(300)과 통신하기 위한 통신 기능(connect), 로봇(300) 주변의 사운드를 인식하는 기능(audio)을 재정의하거나 로봇(300)의 메모리에 저장된 정보를 불러올 수 있으며(memory), 사용자에게 제공하는 정보 또는 사용자 질문에 따른 대답을 출력할 수 있는 스피커의 출력이나 TTS(Text-to-Speech) 기능을 제어할 수 있다.
디스플레이 장치 제어 모듈(20)은 로봇(300)에 장착된 태블릿(200) 내에서 수행되는 다양한 기능들을 정의하고, 태블릿(200)를 통한 사용자 인터페이스를 제어할 수 있다. 보다 구체적으로, 디스플레이 장치 제어 모듈(20)은 태블릿(200)에 출력되는 사용자 선택 영역(UI 선택 버튼)을 제어할 수 있다. 예를 들어, 디스플레이 장치 제어 모듈(20)은 사용자 입력에 대응되는 적어도 하나 이상의 기능을 제어하거나(function, event), 태블릿(200)에 출력되는 사용자 선택 영역을 그룹화하고(group), 그룹화된 선택 영역의 활성화 상태를 제어할 수 있으며(status, reset), 사용자의 태블릿(200) 터치에 따른 사운드가 출력되도록 제어할 수 있다(sound).
통합 제어 모듈(30)은 태블릿(200) 또는 로봇(300)이 감지한 이벤트에 따라 실행되는 어플리케이션을 제어하고, 태블릿(200) 또는 로봇(300)에서 실행 가능한 어플리케이션을 개발할 수 있는, 어플리케이션 개발 환경을 제공할 수 있다. 예를 들어, 통합 제어 모듈(30)은 개발자가 개발 중인 여러 가지의 어플리케이션을 구분할 수 있으며(앱컨트롤러), 사용자 입력에 따라 태블릿(200)에 출력되는 화면을 전환시킬 수 있으며(화면전환), 출력 가능한 이미지를 미리 로딩하여 화면 전환을 보조할 수 있다(프리로딩). 또한, 각각의 어플리케이션을 개발하는 개발 환경을 구분시키고(개발환경구분), 개발 중인 어플리케이션의 해상도를 태블릿(200)의 해상도에 맞게 조절하고(동적 UI), 개발 중인 어플리케이션에 대한 로그, 로그 레벨(log, warn, error)를 비휘발성 메모리에 주기적으로 기록하여(logging) 개발자의 개발 편의를 도모할 수 있다.
지금까지 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템(100)을 포함하는 전체 구성에 대하여 설명하였으며, 이하에서는 태블릿(200)와 로봇(300)에서 수행 가능한 어플리케이션을 효율적으로 개발하기 위해 개발 프레임워크(100) 내에서 정의하고 제어할 수 있는 구성 요소들에 대하여 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템(100)의 구성을 나타낸 도면이다.
도 4를 참조하면, 로봇 제어 모듈(10)은 세션 연결부(11), 오디오 입출력부(12), 메모리부(13) 및 TTS부(14)를 포함할 수 있으며, 기타 로봇(300)의 동작을 정의하거나 제어하기 위한 부가적인 구성을 더 포함할 수 있다.
세션 연결부(11)는 로봇(300) 또는 태블릿(200)와의 세션 연결을 관리할 수 있다. 예를 들어, 소정 시간 동안 사용자의 입력 신호를 수신하지 않았던 태블릿(200)가 사용자의 클릭을 감지하는 경우, 태블릿(200) 또는 로봇(300)과의 세션 연결을 수행하여, 개발을 위한 API를 제공받거나, 사용자 입력 신호에 따른 제어 정보를 제공받을 수 있다.
오디오 입출력부(12)는 세션 연결부(11)를 통해 세션이 연결된 로봇(300), 보다 구체적으로는 로봇 운영체제(OS)로부터 로봇(300)의 오디오 기능을 활용할 수 있는 API를 제공받아 이를 재정의할 수 있다.
또한, 메모리부(13)도 로봇 운영체제(OS)로부터 로봇(300) 내 저장된 다양한 정보(예. 식별 번호, 구성 요소, 이동 시간, 이동 거리, 배터리 등)을 활용할 수 있는 API를 제공 받아 이를 재정의할 수 있으며, 이는 로봇(300)이 이전에 이동한 공간을 이동하거나 물품을 탐색하는 등 다양한 이벤트를 수행하는 과정에서 활용될 수 있다.
TTS부(14)는 로봇(300)이 기 저장된 텍스트를 오디오로 출력하도록 제어할 수 있다. 예를 들어, TTS부(14)는 사용자의 질문에 대한 답변이나 로봇(300)의 현재 동작, 상태에 대한 텍스트 정보를 음성으로 출력하도록 제어할 수 있다.
다음으로, 디스플레이 장치 제어 모듈(20)은 버튼 제어부(21), 동작 제어부(22) 및 사운드 제어부(23)를 포함할 수 있으며, 기타 태블릿(200) 내 설치된 어플리케이션의 동작 과정을 정의하거나 제어하기 위한 부가적인 구성을 더 포함할 수 있다.
버튼 제어부(21)는 태블릿(200)에 표시되는 적어도 두 개 이상의 선택 영역을 그루핑(grouping)하고, 그루핑 결과에 따라 태블릿(200) 내 화면 선택 영역의 활성 상태를 제어할 수 있다. 보다 구체적으로, 버튼 제어부(21)는 태블릿(200)의 화면에 표시된 각각의 선택 버튼들을 특성 별로 그룹화할 수 있으며, 그에 따라 각각의 선택 버튼들을 활성화/비활성화 처리할 수 있다.
예를 들어, 사용자와 태블릿(200) 간의 인터랙션 과정에서 "길 안내를 시작하겠습니까"에 대한 사용자 응답을 수신하기 위해 태블릿(200)에 "예(Yes), 아니요(No)"와 같은 선택 버튼이 출력될 수 있으며, 버튼 제어부(21)는 "예(Yes), 아니요(No)" 2개의 선택 버튼이 동시에 클릭될 수 없도록 정의할 수 있다. 이와 반대로, 사용자가 여러 가지 조건을 만족하는 물건 또는 음식점에 대한 정보를 얻고자 하는 경우, 태블릿(200)에 복수 개의 선택 버튼이 출력될 수 있으며, 버튼 제어부(21)는 복수 개의 선택 버튼 중에서 두 개 이상의 선택 버튼을 클릭할 수 있도록 정의할 수도 있다.
한편, 버튼 제어부(21)는 현재 태블릿(200)에 출력된 선택 버튼들이 사용 가능한지 확인할 수 있도록 제어하는 버튼 상태 확인부(21a)와 선택 버튼들의 활성화/비활성화 상태를 초기화할 수 있도록 제어하는 버튼 리셋부(21b)를 더 포함할 수 있다. 예를 들어, 버튼 상태 확인부(21a)는 사용자에 의해 선택 버튼이 클릭되었는지 확인하고, 클릭된 선택 버튼을 활성화하도록 정의할 수 있으며, 버튼 리셋부(21b)는 태블릿(200)에 사용자의 입력 신호가 소정 시간 동안 감지되지 않는 경우, 전체 선택 버튼을 활성화하도록 정의할 수 있다.
동작 제어부(22)는 태블릿(200)를 통한 사용자 입력 신호를 감지하고, 사용자 입력 신호와 대응되는 이벤트에 따라, 디스플레이 장치의 동작을 제어할 수 있으며, 로봇(300) 또는 태블릿(200)가 수행하는 기능에 따라 다기능 제어부(22a)와 이벤트 제어부(22b)를 포함할 수 있다. 보다 구체적으로, 다기능 제어부(22a)는 로봇(300)과 태블릿(200)가 동시에 동작하도록 제어할 수 있으며, 이벤트 제어부(22b)는 로봇(300) 또는 태블릿(200) 중 하나의 장치가 동작하도록 제어할 수 있다.
도 5는 본 발명의 일 실시예에 따른 디스플레이 장치 제어 모듈(20)의 기능을 설명하기 위한 도면으로, 도 5를 참조하면, 사용자가 태블릿(200)를 통해 선택 버튼을 클릭하고, 예를 들어 선택 버튼이 사용자에게 음성 및 텍스트로 정보를 제공하는 기능일 때, 다기능 제어부(22a)는 태블릿(200)에서는 화면을 전환하여 텍스트 정보를 출력하고, 로봇(300)에서는 음성으로 정보를 제공하도록 정의할 수 있다. 이와 반대로, 선택 버튼이 사용자의 다음 선택을 필요로 하는 단계로 넘어가는 것을 의미하는 경우, 이벤트 제어부(22b)는 태블릿(200)가 화면을 전환할 수 있도록 제어할 수 있다.
다시 도 4를 참조하면, 사운드 제어부(23)는 태블릿(200)로부터 출력되는 사운드를 제어할 수 있다. 예를 들어, 사운드 제어부(23)는 사용자가 선택 버튼을 클릭함에 따라 사용자에게 클릭되었음을 알릴 수 있는 사운드 효과가 출력되도록 정의할 수 있으며, 선택 버튼의 이미지에 따라 다양한 사운드 효과(예. 물방울 버튼 선택 - 물방울 떨어지는 소리)가 출력될 수 있도록 정의할 수 있다.
마지막으로, 통합 제어 모듈(30)은 어플리케이션 제어부(31), 개발 환경 관리부(32), 해상도 변환부(33), 이미지 로딩부(34) 및 로그 기록부(35)를 포함할 수 있으며, 기타 어플리케이션을 개발하기 위한 부가적인 구성을 더 포함할 수 있다.
아울러, 도 6은 본 발명의 일 실시예에 따른 통합 제어 모듈(30)의 기능을 설명하기 위한 도면으로, 도 4 및 도 6을 참조하면, 개발 프레임워크(100)는 태블릿(200) 또는 로봇(300)이 감지한 이벤트를 확인하고(예. 태블릿(200) 클릭, 로봇(300) 인터랙션), 이벤트에 따른 태블릿(200) 또는 로봇(300)의 기능을 통합 제어할 수 있다.
보다 구체적으로, 개발 프레임워크(200)를 통해 개발자가 적어도 하나 이상의 어플리케이션을 개발할 수 있는 바, 어플리케이션 제어부(31)는 각각의 어플리케이션을 분류하고 관리할 수 있다. 또한, 어플리케이션은 적어도 하나 이상의 화면으로 구성될 수 있기 때문에, 어플리케이션 제어부(31)는 태블릿(200)에 표시되는 화면이 개발 환경에 따라 전환될 수 있도록 정의할 수 있다(도 6의 "화면 전환" 참조).
개발 환경 관리부(32)는 세션 연결부(11)를 통한 태블릿(200) 또는 로봇(300)과의 세션 연결에 따라 개발자의 개발 환경 모드를 구분할 수 있다. 보다 구체적으로, 개발 환경 관리부(32)는 세션 연결을 하지 않은 로컬 개발 환경 모드와 세션 연결한 운영 환경 모드를 포함할 수 있다.
로컬 개발 환경 모드는 개발 프레임워크(100)가 로봇 운영체제(OS)와 접속하지 않고 온전히 개발 프레임워크(100) 내 라이브러리만으로 어플리케이션의 개발을 수행하는 모드이며, 운영 환경 모드는 로봇 운영체제(OS)와 접속하여 어플리케이션이 구동하는 과정에서 발생하는 에러 로그를 인식할 수 있는 디버깅용 로그를 태블릿(200)에 출력할 수 있는 모드이다. 이와 같이, 개발 환경 관리부(32)가 각각의 환경을 구분함에 따라, 개발자는 어플리케이션 개발을 용이하게 할 수 있다.
또한, 개발 환경 관리부(32)는 로그 및 로그 레벨들을 태블릿(200)의 화면에 출력할 수 있는 시간을 설정하여 개발 프레임워크(100)를 통한 운영이 올바르게 되고 있는 지 확인할 수 있다.
해상도 변환부(33)는 개발된 어플리케이션의 해상도를 태블릿(200)의 해상도로 변환할 수 있다(도 6의 "동적 UI" 참조). 보다 구체적으로, 로봇 운영체제(OS)의 버전(Version)에 따라 이와 연결된 태블릿(200)의 해상도가 다르기 때문에, 해상도 변환부(33)를 통해 개발된 어플리케이션의 해상도를 현재 세션 연결된 로봇 운영체제(OS)의 버전에 맞게 변환할 수 있다. 예를 들어, 로봇 운영체제(OS)의 버전이 1.7일 때, 태블릿(200)의 해상도가 1280*900, 로봇 운영체제(OS)의 버전이 1.8일 때, 태블릿(200)의 해상도가 800*600이고, 개발자가 1.7 버전에 맞는 1280*900 화면 사이즈의 어플리케이션을 개발하고 있다면, 해상도 변환부(33)가 1280*900 화면 사이즈를 800*600으로 변환하여, 태블릿(200)에서 해당 어플리케이션이 호환될 수 있도록 제어할 수 있다.
이미지 로딩부(34)는 태블릿(200)에 표시될 예정인 다양한 사이즈의 이미지를 미리 로딩하고, 이미지의 사이즈에 따라 태블릿(200)에 출력되는 방식을 정의할 수 있다(도 6의 "프리로딩" 참조). 여기서 이미지는 개발된 어플리케이션에서 사용자가 태블릿(200)를 통해 육안으로 볼 수 있는 UI들을 의미할 수 있다.
보다 구체적으로, 이미지의 사이즈가 큰 경우, 다음 화면으로 전환되기 위한 소정의 시간이 소요되기 때문에, 이미지 로딩부(34)는 이미지를 미리 로딩하여 이미지 사이즈가 큰 화면으로 전환될 때, 이를 페이드인(fade-in) 또는 페이드아웃(fade-out) 방식으로 태블릿(200)에 표시할 수 있으며, 그에 따라 태블릿(200)가 사용자 터치에 따른 화면 전환을 즉각 수행할 수 있도록 정의할 수 있다.
로그 기록부(35)는 태블릿(200) 또는 로봇(300)과의 세션 연결에 따라 발생하는 로그를 주기적으로 기록할 수 있다(도 6의 "로깅" 참조). 개발 프레임워크(100)와 로봇(300)이 연결되고 어플리케이션이 구동되는 과정에서 로그 레벨 별로 로그가 기록되지만, 로봇(300)의 전원이 꺼지는 경우 기록되었던 모든 로그가 함께 사라지게 된다. 특히, 로봇(300)이 어떠한 에러에 의하여 종료되는 경우, 발생했던 에러를 확인하기 어렵기 때문에, 로그 기록부(35)가 주기적으로 로그를 비휘발성 기록매체에 기록하도록 정의하여 로봇(300)을 재 시작하였을 때 로그를 확인할 수 있도록 제어할 수 있다.
지금까지 본 발명의 일 실시예에 따른 개발 프레임워크(100)를 기능 별로 구분한 구성 요소들에 대하여 설명하였다. 본 발명에 따르면, 어플리케이션을 개발하는 과정에서 태블릿(200)와 로봇(300)에서 수행할 수 있는 기능을 모듈화하여 추후 다른 어플리케이션을 개발하는 과정에서 본 발명의 개발 프레임워크(100)를 재사용할 수 있다는 효과가 있다
이하에서는 개발 프레임워크(100)를 통해 정의한 태블릿(200) 및 이를 포함하는 로봇(300)의 제어 방법에 대하여 설명하도록 한다.
도 7은 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템(100)을 이용하여 로봇(300)을 제어하는 방법의 흐름을 나타낸 순서도이다.
도 7을 참조하면, 사용자가 태블릿(200)를 통해 선택 버튼을 터치(예. 클릭, 슬라이드)하게 되면, 사용자 입력 신호가 개발 프레임워크(100)의 디스플레이 장치 제어 모듈(20)로 전달된다(S101).
디스플레이 장치 제어 모듈(20)은 사용자의 입력 신호를 확인하고(S102), 사용자 입력 신호와 대응되는 이벤트를 식별한다. 예를 들어, 디스플레이 장치 제어 모듈(20)은 해당 입력 신호가 디스플레이 장치(20)의 화면을 전환하는 것인지, 로봇(300)의 움직임, 발화를 필요로 하는 것인지 식별할 수 있다.
디스플레이 장치 제어 모듈(20)에 의한 이벤트 식별이 완료되면, 로봇 운영체제(0S)와 세션을 연결한다(S103). 이는 사용자의 입력 신호가 로봇(300)의 움직임을 필요로 하는 경우나, 태블릿(200)를 통한 로봇(300)의 구동이 처음으로 개시되었을 때 수행될 수 있다.
개발 프레임워크(100)에 의해 개발된 어플리케이션은 로봇 운영체제(0S)로 사용자 입력 신호를 의미하는 이벤트를 송신하고(S104), 로봇 운영체제(0S)으로부터 해당 이벤트에 대응되는 로봇(300) 또는 태블릿(200)의 제어 정보를 수신한다(S105). 예를 들어, 로봇 운영체제(OS)는 사용자가 태블릿(200) 내 어떠한 버튼을 왼쪽으로 슬라이드 하는 이벤트(사용자 입력 신호)를 감지하면, 태블릿(200) 내 화면이 이전 화면으로 돌아간다는 제어 정보를 가질 수 있다. 즉, 사용자 입력 신호를 의미하는 이벤트를 송신함으로써, 로봇(300) 또는 태블릿(200)가 기본적으로 어떠한 방식으로 동작 또는 제어 되었는지 확인할 수 있다.
사용자 입력 신호에 따른 기본적인 동작 또는 제어 방식이 확인되면, 확인된 방식에서 개발자들이 개발한 비즈니스 로직(logic)이 추가되고(S106), 그에 따라 로봇(300)이 실행되거나 태블릿(200)의 화면이 전환된다(S107). 예를 들어, 사용자가 태블릿(200) 내 어떠한 버튼을 왼쪽으로 슬라이드 한 경우, 태블릿(200)가 이전 화면으로 전환될 뿐만 아니라, 로봇(300)이 왼쪽 팔을 들어올리는 것과 같은 움직임을 구현할 수 있다. 즉, 로봇(300)이 이동하는 비즈니스 로직이 추가될 수 있으며, 이외에도 로봇(300)이 텍스트를 음성으로 출력하거나, 태블릿(200)의 화면 구성이 추가되는 등 다양한 비즈니스 로직이 추가될 수 있다.
한편, 앞서 설명한 흐름도는 개발 프레임워크(100)를 통해 개발된 어플리케이션에 따라 로봇(300) 또는 태블릿(200)가 동작되는 과정이며, 이하에서는 이러한 어플리케이션을 개발하기 위해 정의된 개발 프레임워크(100)의 환경에 대하여 설명하도록 한다.
도 8 및 도 9는 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템(100)을 이용한 로봇(300) 및 태블릿(200)의 비즈니스 로직을 나타낸 순서도이다.
먼저 도 8을 참조하면, 사용자가 태블릿(200)를 통해 터치를 하거나, 로봇(300)에게 대화를 시도하는 등의 어플리케이션 시작 신호를 제공하면, 해당 어플리케이션이 처음 실행되는 것인지 확인한다.
그에 따라, 해당 어플리케이션이 처음 실행되는 경우 어플리케이션에 포함된 적어도 하나 이상의 이미지를 미리 로딩하고, 로봇 운영체제(OS)와 세션을 연결한다.
이 후, 어플리케이션 시작에 따라 태블릿(200)의 화면 전환이 수행되며, 개발자가 개발한 어플리케이션 비즈니스 로직에 따라 태블릿(200)와 로봇(300)이 동작한다. 예를 들어, 태블릿(200)에 사용자가 클릭할 수 있는 첫 번째 제1 화면이 표시될 수 있으며, 이와 동시에 로봇(300)이 특정 지점으로 이동하거나, 로봇(300)의 LED 조명이 반짝일 수 있으며, 텍스트를 음성으로 발화할 수 있다.
한편, 이러한 동작의 종료도 비즈니스 로직에 정의되어 있을 수 있다. 예를 들어, 화면 표시는, 사용자의 버튼 클릭을 감지하거나, 소정시간 동안 사용자의 버튼 클릭을 감지하지 못한 경우에 비즈니스 로직의 종료로 판단할 수 있으며, 로봇(300)의 모션은, 정의된 모션이 완료되는 경우 비즈니스 로직의 종료로 판단할 수 있으며, 음성발화는, 기 저장된 텍스트를 모두 발화하거나, 사용자의 음성이 일정 시간 동안 감지되지 않은 경우 비즈니스 로직의 종료로 판단할 수 있다.
비즈니스 로직에 따른 태블릿(200) 또는 로봇(300)의 동작이 종료되면, 사용자와의 다음 인터랙션을 위한 이벤트를 발생시킬 수 있다. 예를 들어, 로봇(300)이 이동하여 사용자를 특정 위치로의 안내를 수행한 후, 사용자에게 추가로 질문 사항이 있는 지에 대한 선택 버튼을 태블릿(200)에 띄우는 이벤트(다음 제2 화면 표시) 등, 어플리케이션 동작에 맞는 다양한 이벤트가 진행될 수 있다.
다음으로, 도 9를 참조하면, 디스플레이 장치 제어 모듈(20)를 통해 수행되었던 선택 영역 처리 과정이 다음과 같이 정의될 수 있다.
사용자의 버튼 선택과 관련하여, 사용자가 태블릿(200)의 선택 영역 터치하면, 선택 영역에 대응되는 사운드 효과가 발생한다. 이와 동시에, 선택 영역에 대응되는 기능이 태블릿(200)의 화면 전환을 의미하여, 화면이 전환된 경우, 각각의 선택 영역의 활성화/비활성화 여부에 따라 선택된 버튼이 태블릿(200)에 표시된다. 또한, 선택 영역에 대응되는 기능이 처리된 이 후, 리셋 버튼을 통해, 이전에 터치되었던 선택 영역들이 다시 활성화 상태로 변경된다.
또한, 사용자가 태블릿(200)의 선택 영역 중 하나의 선택 영역을 터치하면, 나머지 터치 영역들, 버튼들이 선택되지 않도록 제어된다.
또한, 어플리케이션의 로그 처리와 관련하여, 어플리케이션이 처음 시작된 경우, 로깅 스크립트(logging script)이 실행되어 어플리케이션 진행에 따른 로그 레벨이 지속적으로 기록될 수 있으며, 어플리케이션이 재시작된 경우에도 스크립트 실행 여부를 확인하고, 주기적으로 로그 파일을 별도로 저장할 수 있다.
지금까지 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템(100)을 이용한 로봇(300) 및 태블릿(200)의 비즈니스 로직에 대하여 설명하였다. 본 발명에 따르면, 어플리케이션과 로봇 운영체제(OS)과 분리되며, 독립적으로 응용 어플리케이션을 개발할 수 있는 개발 프레임워크(100)를 모듈화하여, 추후에 다른 어플리케이션을 개발하는 과정에서도 본 발명의 개발 프레임워크(100)이 용이하게 활용될 수 있다.
한편, 본 발명은 또한 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 마그네틱 저장 매체, 광학적 판독 매체 등 모든 저장매체를 포함한다. 또한, 본 발명에서 사용되는 메시지의 데이터 포맷을 기록 매체에 기록하는 것이 가능하다.
이상 첨부된 도면을 참조하여 본 발명의 실시 예들을 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100: 로봇 개발 프레임워크 시스템
10: 로봇 제어 모듈
11: 세션 연결부 12: 오디오 입출력부
13: 메모리부 14: TTS 부
20: 디스플레이 장치 제어 모듈
21: 버튼 제어부
21a: 버튼 상태 확인부 21b: 버튼 리셋부
22: 동작 제어부
22a: 다기능 제어부 22b: 이벤트 제어부
23: 사운드 제어부
30: 통합 제어 모듈
31: 어플리케이션 제어부 32: 개발 환경 관리부
33: 해상도 변환부 34: 이미지 로딩부
35: 로그 기록부
200: 디스플레이 장치
300: 로봇

Claims (16)

  1. 로봇 운영체제(Operating System, OS)와 연결 가능하고, 상기 로봇 운영체제에 의해 제공되는 기능을 로봇에서 구현되도록 상기 기능을 재정의하며, 상기 재정의된 기능을 이용하여 상기 로봇을 제어하는 로봇 제어 모듈;
    상기 로봇과 연결된 디스플레이 장치를 통한 사용자 인터페이스를 제어하는 디스플레이 장치 제어 모듈; 및
    상기 로봇 또는 상기 디스플레이 장치가 감지한 이벤트에 따라 실행되는 어플리케이션을 제어하는 통합 제어 모듈;
    을 포함하는 로봇 개발 프레임워크 시스템.
  2. 제1항에 있어서,
    상기 통합 제어 모듈은,
    상기 로봇 또는 상기 디스플레이 장치에서 실행 가능한 어플리케이션을 개발할 수 있는 어플리케이션 개발 환경을 제공하는, 로봇 개발 프레임워크 시스템.
  3. 제1항에 있어서,
    상기 로봇 제어 모듈은,
    상기 로봇 또는 상기 디스플레이 장치와의 세션 연결을 관리하는 세션 연결부;
    를 포함하는 로봇 개발 프레임워크 시스템.
  4. 제1항에 있어서,
    상기 디스플레이 장치 제어 모듈은,
    상기 디스플레이 장치에 표시되는 적어도 두 개 이상의 선택 영역을 그루핑(grouping)하고, 그루핑 결과에 따라 상기 선택 영역의 활성 상태를 제어하는 버튼 제어부;
    를 포함하는 로봇 개발 프레임워크 시스템.
  5. 제1항에 있어서,
    상기 디스플레이 장치 제어 모듈은,
    상기 디스플레이 장치를 통한 사용자 입력 신호을 감지하고, 상기 사용자 입력 신호와 대응되는 이벤트에 따라 상기 디스플레이 장치의 동작을 제어하는 동작 제어부;
    를 포함하는 로봇 개발 프레임워크 시스템.
  6. 제1항에 있어서,
    상기 디스플레이 장치 제어 모듈은,
    상기 디스플레이 장치로부터 출력되는 사운드를 제어하는 사운드 제어부;
    를 포함하는 로봇 개발 프레임워크 시스템.
  7. 제1항에 있어서,
    상기 통합 제어 모듈은,
    개발 중인 적어도 하나 이상의 어플리케이션을 분류하고 관리하는 어플리케이션 제어부;
    를 포함하는 로봇 개발 프레임워크 시스템.
  8. 제7항에 있어서,
    상기 어플리케이션 제어부는,
    상기 개발 중인 어플리케이션에 따라 상기 디스플레이 장치에 표시되는 화면을 전환하는, 로봇 개발 프레임워크 시스템.
  9. 제3항에 있어서,
    상기 통합 제어 모듈은,
    상기 세션 연결부의 세션 연결 여부에 따라, 로컬 모드 또는 운영 모드 중 하나의 모드를 실행하는 개발 환경 관리부;
    를 포함하는 로봇 개발 프레임워크 시스템.
  10. 제2항에 있어서,
    상기 통합 제어 모듈은,
    개발된 어플리케이션의 해상도를 상기 디스플레이 장치의 해상도로 변환하는 해상도 변환부;
    를 포함하는 로봇 개발 프레임워크 시스템.
  11. 제2항에 있어서,
    상기 통합 제어 모듈은,
    상기 디스플레이 장치에 표시되는 이미지를 미리 로딩하고, 상기 이미지의 사이즈에 따라 상기 이미지를 페이드인(fade-in) 또는 페이드아웃(fade-out) 방식으로 상기 디스플레이 장치에 표시하는 이미지 로딩부;
    를 포함하는 로봇 개발 프레임워크 시스템.
  12. 제2항에 있어서,
    상기 통합 제어 모듈은,
    상기 로봇 또는 상기 디스플레이 장치와의 세션 연결에 따라 발생하는 로그를 주기적으로 기록하는 로그 기록부;
    를 포함하는 로봇 개발 프레임워크 시스템.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
KR1020180125870A 2018-10-22 2018-10-22 휴머노이드 로봇 개발 프레임워크 시스템 KR102144891B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180125870A KR102144891B1 (ko) 2018-10-22 2018-10-22 휴머노이드 로봇 개발 프레임워크 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180125870A KR102144891B1 (ko) 2018-10-22 2018-10-22 휴머노이드 로봇 개발 프레임워크 시스템

Publications (2)

Publication Number Publication Date
KR20200045168A KR20200045168A (ko) 2020-05-04
KR102144891B1 true KR102144891B1 (ko) 2020-08-14

Family

ID=70732819

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180125870A KR102144891B1 (ko) 2018-10-22 2018-10-22 휴머노이드 로봇 개발 프레임워크 시스템

Country Status (1)

Country Link
KR (1) KR102144891B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013168188A (ja) * 2013-06-04 2013-08-29 Denso Wave Inc ロボット制御のログ取得システム
KR101758698B1 (ko) * 2010-09-14 2017-07-18 대우조선해양 주식회사 조작반 일체형 로봇 제어기를 갖는 로봇 시스템

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100094009A (ko) * 2009-02-18 2010-08-26 (주)시뮬레이션연구소 모듈화된 프레임워크를 이용한 통합 로봇 소프트웨어 플랫폼
KR20110065183A (ko) * 2009-12-09 2011-06-15 삼성중공업 주식회사 로봇 시스템 제어 방법 및 장치
KR101197245B1 (ko) 2010-09-03 2012-11-05 한국과학기술연구원 로봇 동작을 제어하는 프레임워크 시스템 및 이를 이용한 로봇의 동작 제어 방법
KR101344727B1 (ko) * 2012-03-02 2014-01-16 주식회사 유진로봇 지능형 로봇 제어 장치 및 방법
KR102332752B1 (ko) * 2014-11-24 2021-11-30 삼성전자주식회사 지도 서비스를 제공하는 전자 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101758698B1 (ko) * 2010-09-14 2017-07-18 대우조선해양 주식회사 조작반 일체형 로봇 제어기를 갖는 로봇 시스템
JP2013168188A (ja) * 2013-06-04 2013-08-29 Denso Wave Inc ロボット制御のログ取得システム

Also Published As

Publication number Publication date
KR20200045168A (ko) 2020-05-04

Similar Documents

Publication Publication Date Title
US8942849B2 (en) Humanoid robot equipped with a natural dialogue interface, method for controlling the robot and corresponding program
KR102298947B1 (ko) 음성 데이터 처리 방법 및 이를 지원하는 전자 장치
KR101548524B1 (ko) 사용자 인터페이스 디스플레이 상의 교육 애니메이션들의 렌더링
US10008196B2 (en) Methods and systems of handling a dialog with a robot
US11548147B2 (en) Method and device for robot interactions
CN101253548B (zh) 将语音引擎训练结合入交互式用户教学***的方法
JP2019161638A (ja) スマートテレビの制御モード切替方法、設備及びコンピュータプログラム
US20150290807A1 (en) System and method for generating contextual behaviours of a mobile robot executed in real time
Rietz et al. WoZ4U: an open-source wizard-of-oz interface for easy, efficient and robust HRI experiments
KR102469712B1 (ko) 전자 장치 및 이의 자연어 생성 방법
KR20210040856A (ko) 스마트 백미러의 인터랙션 방법, 장치, 전자기기와 저장매체
KR102144891B1 (ko) 휴머노이드 로봇 개발 프레임워크 시스템
KR102380717B1 (ko) 사용자 발화를 처리하는 전자 장치 및 이 전자 장치의 제어 방법
US10853029B2 (en) Computerized system including rules for a rendering system accessible to non-literate users via a touch screen
Gris et al. Virtual agent interaction framework (VAIF): a tool for rapid development of social agents
Green et al. Task-oriented Dialogue for CERO: a User-centered Approach
Besari et al. Preliminary design of interactive visual mobile programming on educational robot ADROIT V1
US20230234221A1 (en) Robot and method for controlling thereof
JP2023147653A (ja) システム、インタフェース装置及びプログラム等
KR20230066710A (ko) 인공지능 기반 스토리 생성 시스템의 인터페이스 제공 방법
US20220253208A1 (en) An interactive touch screen panel and methods for collaborating on an interactive touch screen panel
Hacker et al. Interacting with Robots-Tooling and Framework for Advanced Speech User Interfaces
KR20240027292A (ko) 정보를 출력하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치
US20210065677A1 (en) System and method for interactive virtual assistant generation for assemblages
Rosdi Check for updates One Hand Braille Assistive for Computer Application Alif Aiman Bin Rosdi, Farah Amira Binti Fazlur, Kum Shou Shun, Ting Kwong Jian, Vickneswari Durairajah), and Suresh Gobee

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant