KR102144891B1 - Humanoid robot developmnet framework system - Google Patents

Humanoid robot developmnet framework system 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
Korean (ko)
Other versions
KR20200045168A (en
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/en
Publication of KR20200045168A publication Critical patent/KR20200045168A/en
Application granted granted Critical
Publication of KR102144891B1 publication Critical patent/KR102144891B1/en

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)와 연결 가능하고, 상기 로봇 운영체제에 의해 제공되는 기능을 로봇에서 구현되도록 상기 기능을 재정의하며, 상기 재정의된 기능을 이용하여 상기 로봇을 제어하는 로봇 제어 모듈, 상기 로봇과 연결된 디스플레이 장치를 통한 사용자 인터페이스를 제어하는 디스플레이 장치 제어 모듈 및 상기 로봇 또는 상기 디스플레이 장치가 감지한 이벤트에 따라 실행되는 어플리케이션을 제어하는 통합 제어 모듈을 포함한다.The robot development framework system according to an embodiment of the present invention can be connected to a robot operating system (OS), redefine the function so that the function provided by the robot operating system is implemented in the robot, and the redefined A robot control module that controls the robot using a function, a display device control module that controls a user interface through a display device connected to the robot, and an integration that controls an application executed according to an event detected by the robot or the display device. Includes a control module.

Description

휴머노이드 로봇 개발 프레임워크 시스템{HUMANOID ROBOT DEVELOPMNET FRAMEWORK SYSTEM}Humanoid robot development framework system {HUMANOID ROBOT DEVELOPMNET FRAMEWORK SYSTEM}

본 발명은 휴머노이드 로봇 개발 프레임워크 시스템에 관한 것으로, 보다 자세하게는 휴머노이드 로봇의 비즈니스 로직 및 로봇이 포함하는 태블릿을 통한 사용자 인터랙션을 제어하고, 휴머노이드 어플리케이션 개발에 필요한 프레임워크를 제공할 수 있는 개발 프레임워크 시스템에 관한 것이다.The present invention relates to a humanoid robot development framework system, and in more detail, a development framework capable of controlling the business logic of a humanoid robot and user interaction through a tablet included in the robot, and providing a framework required for humanoid application development. It's about the system.

최근 4차 산업혁명과 함께 노동을 보조하거나 혹은 커뮤니케이션이 가능한 휴머노이드 로봇에 대한 관심이 대두되고 있으며, 여러 가지 형태의 휴머노이드 로봇이 출시되고 있다. 아울러, 인간과의 원활한 의사 소통을 위해 태블릿(tablet)을 장착한 휴머노이드 로봇이 개발되어 왔으며, 태블릿을 통해 로봇의 조작, 이동 등의 물리적인 기능 외에도 정보 획득, 인간과의 대화 등 지능적인 기능까지 수행할 수 있다. Along with the 4th Industrial Revolution, interest in humanoid robots that can assist labor or communicate with each other is emerging, and various types of humanoid robots are being released. In addition, humanoid robots equipped with a tablet have been developed for smooth communication with humans.In addition to physical functions such as manipulation and movement of the robot through the tablet, intelligent functions such as information acquisition and dialogue with humans have also been developed. Can be done.

이러한 로봇의 기술 개발을 위해, 개발자들은 어플리케이션을 자유롭게 개발할 수 있도록 로봇 운영체제(Operating System, OS)를 오픈 소스로 공개하고 있다.For the technology development of such a robot, developers are releasing a robot operating system (OS) as open source so that they can freely develop applications.

그러나, 태블릿을 포함하는 휴머노이드 로봇의 경우, 태블릿 내 화면을 구성을 위한 개발방법론이 정의 되어 있지 않을 뿐만 아니라, 태블릿을 통한 사용자 인터랙션과 로봇 모션의 개발이 개별적으로 이루어져, 휴머노이드 로봇과 사용자 간의 자연스러운 인터랙션을 구성하기 쉽지 않다는 문제점이 있다.However, in the case of a humanoid robot including a tablet, a development methodology for configuring the screen in the tablet is not defined, and user interaction through the tablet and the development of the robot motion are made separately, so that natural interaction between the humanoid robot and the user. There is a problem that it is not easy to configure.

또한, 휴머노이드 로봇에 대한 통합된 개발 방식이 없기 때문에, 개발자마다 각기 다른 형태로 프로그래밍되어 타인이 작성한 소스를 살펴볼 때에도 프로그래밍 소스를 파악하기 어려우며, 프로그래밍 소스를 파악하더라도 태블릿을 통한 비즈니스 로직(어플리케이션)과 로봇의 제어부가 혼재되어 있어, 이를 통한 개발이 쉽지 않다는 문제점이 있다. In addition, since there is no integrated development method for humanoid robots, it is difficult to grasp the programming source even when it is programmed in different forms for each developer, and even when looking at the source created by others. There is a problem that development through this is not easy because the control unit of the robot is mixed.

뿐만 아니라, 일부 휴머노이드 로봇의 경우, 하드웨어가 재가동되는 시점에서 적재되어 있던 로그도 함께 사라져, 어떠한 에러로 인해 재가동되었는지, 동일한 현상이 반복되더라도 원인에 대해 확인이 어려운 문제점이 있다.In addition, in the case of some humanoid robots, the log that was loaded at the time when the hardware is restarted disappears together, and there is a problem in which it is difficult to determine the cause of the restart due to any error and even if the same phenomenon is repeated.

따라서, 로봇과의 직접적인 인터랙션과 로봇이 가지는 태블릿을 통한 인터랙션 모두를 포괄할 수 있는 소프트웨어 프레임워크의 개발이 요구되며, 본 발명은 이에 관한 것이다.Accordingly, it is required to develop a software framework that can encompass both direct interaction with the robot and interaction through a tablet of the robot, and the present invention relates to this.

한국등록특허공보 제10-1197245호(2012.11.05.)Korean Registered Patent Publication No. 10-1197245 (2012.11.05.)

본 발명이 해결하고자 하는 기술적 과제는 로봇과 로봇이 포함하는 디스플레이 장치와의 자연스러운 인터랙션을 위해 로봇과 디스플레이 장치를 포괄하여 개발하고 제어할 수 있는 프레임워크를 제공하는 것을 목적으로 한다.An object of the present invention is to provide a framework for developing and controlling a robot and a display device for natural interaction between a robot and a display device included in the robot.

본 발명이 해결하고자 하는 또 다른 기술적 과제는 로봇의 운영체제와 응용 어플리케이션을 개발할 수 있는 독립적인 프레임워크를 제공하는 것을 목적으로 한다.Another technical problem to be solved by the present invention is to provide an independent framework for developing an operating system and application application of a robot.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems that are not mentioned will be clearly understood by those skilled in the art from the following description.

본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템은, 로봇 운영체제(Operating System, OS)와 연결 가능하고, 상기 로봇 운영체제에 의해 제공되는 기능을 로봇에서 구현되도록 상기 기능을 재정의하며, 상기 재정의된 기능을 이용하여 상기 로봇을 제어하는 로봇 제어 모듈, 상기 로봇과 연결된 디스플레이 장치를 통한 사용자 인터페이스를 제어하는 디스플레이 장치 제어 모듈 및 상기 로봇 또는 상기 디스플레이 장치가 감지한 이벤트에 따라 실행되는 어플리케이션을 제어하는 통합 제어 모듈을 포함한다.The robot development framework system according to an embodiment of the present invention can be connected to a robot operating system (OS), redefine the function so that the function provided by the robot operating system is implemented in the robot, and the redefined A robot control module that controls the robot using a function, a display device control module that controls a user interface through a display device connected to the robot, and an integration that controls an application executed according to an event detected by the robot or the display device. Includes a control module.

일 실시예에 따르면, 상기 통합 제어 모듈은, 상기 로봇 또는 상기 디스플레이 장치에서 실행 가능한 어플리케이션을 개발할 수 있는 어플리케이션 개발 환경을 제공할 수 있다.According to an embodiment, the integrated control module may provide an application development environment capable of developing an application executable in the robot or the display device.

일 실시예에 따르면, 상기 로봇 제어 모듈은, 상기 로봇 또는 상기 디스플레이 장치와의 세션 연결을 관리하는 세션 연결부를 더 포함할 수 있다.According to an embodiment, the robot control module may further include a session connection unit that manages a session connection with the robot or the display device.

일 실시예에 따르면, 상기 디스플레이 장치 제어 모듈은, 상기 디스플레이 장치에 표시되는 적어도 두 개 이상의 선택 영역을 그루핑(grouping)하고, 그루핑 결과에 따라 상기 선택 영역의 활성 상태를 제어하는 버튼 제어부를 더 포함할 수 있다.According to an embodiment, the display device control module further includes a button controller configured to group at least two or more selection regions displayed on the display device and control an active state of the selection region according to a grouping result. can do.

일 실시예에 따르면, 상기 디스플레이 장치 제어 모듈은, 상기 디스플레이 장치를 통한 사용자 입력 신호을 감지하고, 상기 사용자 입력 신호와 대응되는 이벤트에 따라 상기 디스플레이 장치의 동작을 제어하는 동작 제어부를 더 포함할 수 있다. According to an embodiment, the display device control module may further include an operation controller configured to detect a user input signal through the display device and control an operation of the display device according to an event corresponding to the user input signal. .

일 실시예에 따르면, 상기 디스플레이 장치 제어 모듈은, 상기 디스플레이 장치로부터 출력되는 사운드를 제어하는 사운드 제어부를 더 포함할 수 있다.According to an embodiment, the display device control module may further include a sound control unit that controls sound output from the display device.

일 실시예에 따르면, 상기 통합 제어 모듈은, 개발 중인 적어도 하나 이상의 어플리케이션을 분류하고 관리하는 어플리케이션 제어부를 더 포함할 수 있다.According to an embodiment, the integrated control module may further include an application control unit for classifying and managing at least one application under development.

일 실시예에 따르면, 상기 어플리케이션 제어부는, 상기 개발 중인 어플리케이션에 따라 상기 디스플레이 장치에 표시되는 화면의 전환할 수 있다.According to an embodiment, the application controller may switch a screen displayed on the display device according to the application under development.

일 실시예에 따르면, 상기 세션 연결부의 세션 연결 여부에 따라, 로컬 모드 또는 운영 모드 중 하나의 모드를 실행하는 개발 환경 관리부를 더 포함할 수 있다.According to an embodiment, depending on whether the session connection unit is connected to a session, it may further include a development environment management unit that executes one of a local mode or an operation mode.

일 실시예에 따르면, 상기 통합 제어 모듈은, 개발된 어플리케이션의 해상도를 상기 디스플레이 장치의 해상도로 변환하는 해상도 변환부를 더 포함할 수 있다.According to an embodiment, the integrated control module may further include a resolution converter configured to convert the resolution of the developed application into the resolution of the display device.

일 실시예에 따르면, 상기 통합 제어 모듈은, 상기 디스플레이 장치에 표시되는 이미지를 미리 로딩하고, 상기 이미지의 사이즈에 따라 상기 이미지를 페이드인(fade-in) 또는 페이드아웃(fade-out) 방식으로 상기 디스플레이 장치에 표시하는 이미지 로딩부를 더 포함할 수 있다.According to an embodiment, the integrated control module preloads an image displayed on the display device, and the image is fade-in or fade-out according to the size of the image. An image loading unit to be displayed on the display device may be further included.

일 실시예에 따르면, 상기 통합 제어 모듈은, 상기 로봇 또는 상기 디스플레이 장치와의 세션 연결에 따라 발생하는 로그를 주기적으로 기록하는 로그 기록부를 더 포함할 수 있다.According to an embodiment, the integrated control module may further include a log recording unit that periodically records a log generated according to a session connection with the robot or the display device.

본 발명의 또 다른 실시예에 따른 로봇 제어 방법은, 로봇 또는 디스플레이 장치에 설치된 어플리케이션의 실행에 따라 상기 어플리케이션 내에 포함된 이미지를 로딩하는 단계, 상기 로딩된 이미지를 이용하여 제1화면을 상기 디스플레이 장치에 표시하는 단계 및 상기 어플리케이션과 연계된 비즈니스 로직(Business logic)을 기초로 상기 로봇 또는 상기 디스플레이 장치가 동작하는 단계를 포함한다.A method of controlling a robot according to another embodiment of the present invention includes loading an image included in the application according to the execution of an application installed on the robot or a display device, and displaying a first screen using the loaded image. And operating the robot or the display device based on business logic associated with the application.

일 실시예에 따르면, 상기 이미지를 로딩하는 단계는, 상기 이미지를 로딩하는 단계는, 상기 어플리케이션의 실행에 따라 상기 로봇과 세션을 연결하는 단계 및 상기 어플리케이션의 로그를 주기적으로 저장하는 단계를 더 포함할 수 있다.According to an embodiment, the loading of the image further comprises: connecting the robot and the session according to the execution of the application, and periodically storing the log of the application. can do.

일 실시예에 따르면, 상기 세션을 연결하는 단계 이후에, 상기 로봇 또는 상기 디스플레이 장치와 사용자 간의 인터랙션이 종료되면, 상기 디스플레이 장치로 제2 화면을 표시하는 단계를 더 포함할 수 있다.According to an embodiment, after the step of connecting the session, when the interaction between the robot or the display device and the user is ended, displaying a second screen on the display device may be further included.

본 발명의 또 다른 실시예에 따르면, 로봇 제어 방법을 컴퓨터에서 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램을 포함한다.According to another embodiment of the present invention, a computer program stored in a medium is included to execute a method of controlling a robot in a computer.

본 발명에 의하면, 로컬 개발 환경과 운영 환경을 구분 관리하여 로컬 서버에서 라이브러리를 이용하여 소프트웨어 개발 및 디버깅을 할 수 있다는 효과가 있다.According to the present invention, there is an effect that software development and debugging can be performed using a library in a local server by separately managing a local development environment and an operating environment.

또한, 로봇 및 로봇이 포함하는 디스플레이 장치에 설치 가능한 응용 어플리케이션을 개발하는 과정에서 공통되는 기능을 제공하여 중복되는 요소를 제거할 수 있으며, 공통되는 기능을 모듈화하여 추후 다른 어플리케이션을 개발하는 과정에서 재사용할 수 있다는 효과가 있다.In addition, by providing a common function in the process of developing application applications that can be installed on the robot and the display device included in the robot, redundant elements can be eliminated, and common functions are modularized and reused in the process of developing other applications in the future. There is an effect that you can do it.

또한, 분리되어 있는 로봇 운영체제와 디스플레이 장치의 운영체제를 통합하여, 디스플레이 장치 내 화면 구성과 로봇의 모션을 자연스럽게 연결할 수 있다는 효과가 있다. In addition, by integrating the separate robot operating system and the operating system of the display device, there is an effect that the screen composition in the display device and the motion of the robot can be naturally connected.

본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템을 포함하는 전체 구성을 간략하게 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템을 포함하는 전체 구성을 기능을 기준으로 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템을 구성 요소들을 기준으로 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템의 구성을 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 디스플레이 장치 모듈의 기능을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 통합 제어 모듈의 기능을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템을 이용하여 로봇을 제어하는 방법의 흐름을 나타낸 순서도이다.
도 8 및 도 9는 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템을 이용한 로봇 및 디스플레이 장치의 비즈니스 로직을 나타낸 순서도이다.
1 is a view schematically showing the overall configuration including a robot development framework system according to an embodiment of the present invention.
2 is a view showing an overall configuration including a robot development framework system according to an embodiment of the present invention based on functions.
3 is a diagram illustrating a robot development framework system according to an embodiment of the present invention based on components.
4 is a diagram showing the configuration of a robot development framework system according to an embodiment of the present invention.
5 is a diagram for explaining a function of a display device module according to an embodiment of the present invention.
6 is a view for explaining the function of the integrated control module according to an embodiment of the present invention.
7 is a flow chart showing a flow of a method of controlling a robot using a robot development framework system according to an embodiment of the present invention.
8 and 9 are flowcharts illustrating business logic of a robot and a display device using a robot development framework system according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention, and a method of achieving them will be apparent with reference to the embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments to be posted below, but may be implemented in various different forms, and only these embodiments make the posting of the present invention complete, and common knowledge in the technical field to which the present invention pertains. It is provided to fully inform the scope of the invention to those who have it, and the invention is only defined by the scope of the claims. The same reference numerals refer to the same elements throughout the specification.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used in the present specification may be used with meanings that can be commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless explicitly specifically defined. The terms used in this specification are for describing exemplary embodiments and are not intended to limit the present invention. In this specification, the singular form also includes the plural form unless otherwise specified in the phrase.

본 명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.As used herein, "comprises" and/or "comprising" refers to the recited component, step, operation, and/or element, of one or more other elements, steps, operations, and/or elements. It does not exclude presence or addition.

도 1은 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템(100)을 포함하는 전체 구성을 간략하게 나타낸 도면이다.1 is a diagram schematically showing the overall configuration including a robot development framework system 100 according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 로봇 개발 프레임워크 시스템(100, 개발 프레임워크)이 운영되는 전체 시스템은, 개발 프레임워크 시스템(100), 태블릿(200) 및 로봇(300)으로 구성됨을 확인할 수 있다.Referring to FIG. 1, it can be seen that the entire system in which the robot development framework system 100 (development framework) of the present invention is operated is composed of a development framework system 100, a tablet 200, and a robot 300. have.

일반적으로, 태블릿(200)을 포함하는 로봇(300)의 어플리케이션 개발은 태블릿(200)과 로봇(300)을 별도의 구성으로 인식하고 각기 다르게 개발되어 왔다. 그에 따라, 태블릿(200)을 통한 사용자 인터랙션 수신 시, 로봇(300)의 움직임이 자연스럽게 연결되지 않으며, 이러한 동작 과정들에 대한 정의도 개발자마다 서로 달라 개발 과정에서 혼선을 주게 된다. In general, application development of the robot 300 including the tablet 200 recognizes the tablet 200 and the robot 300 as separate configurations, and has been developed differently. Accordingly, when receiving a user interaction through the tablet 200, the movement of the robot 300 is not naturally connected, and the definition of such operation processes is also different for each developer, causing confusion during the development process.

그에 따라, 개발 프레임워크(100)는 태블릿(200) 및 로봇(300)를 통합하여 개발할 수 있는 개발 환경을 개발자에게 제공하며, 개발자는 개발 프레임워크(100)를 이용하여 로봇(300)의 동작과 태블릿(200)을 통한 사용자 인터랙션이 자연스럽게 연결 및 제어되도록 어플리케이션을 개발할 수 있다.Accordingly, the development framework 100 provides the developer with a development environment in which the tablet 200 and the robot 300 can be integrated and developed, and the developer uses the development framework 100 to operate the robot 300 It is possible to develop an application so that user interaction through the tablet 200 and the tablet 200 are naturally connected and controlled.

태블릿(200)은 사용자의 터치 입력을 인식할 수 있는 디스플레이 장치로서, 터치 패널을 포함할 수 있다. 또한, 태블릿(200)는 사용자의 터치뿐만 아니라 스타일러스(stylus)와 같은 전자 펜에 의한 입력을 인식할 수도 있는 등, 태블릿(200) 내 영상을 표시하는 영역에서 발생하는 다양한 입력을 인식할 수 있는 센싱 수단들을 포함할 수 있다. 한편, 태블릿(200)외에도 로봇(300)에 장착될 수 있는 다양한 디스플레이 장치들이 대체될 수 있다. The tablet 200 is a display device capable of recognizing a user's touch input, and may include a touch panel. In addition, the tablet 200 can recognize not only a user's touch but also an input by an electronic pen such as a stylus, etc., which can recognize various inputs occurring in an area displaying an image in the tablet 200. It may include sensing means. Meanwhile, in addition to the tablet 200, various display devices that may be mounted on the robot 300 may be replaced.

로봇(300)은 바람직하게는 사람과 유사한 모습과 기능을 사람과 유사한 모습과 기능을 가진 기계 장치를 의미하며, 사람과 같이 물체를 인식하고, 사람과 같이 두 팔과 두 다리, 머리를 포함하여 움직일 수 있는 지능형 기계 장치일 수 있다.The robot 300 preferably refers to a mechanical device having a human-like appearance and function and a human-like appearance and function, and recognizes an object like a person, and includes two arms, two legs, and a head like a person. It can be an intelligent mechanical device that can move.

또한, 로봇(300)은 로봇(300)의 전면에 물리적으로 연결되어 있는 태블릿(200)을 구비하여, 태블릿(200)을 통해 사용자와 로봇(300) 간의 소통을 할 수 있다.In addition, the robot 300 may have a tablet 200 physically connected to the front of the robot 300, and communicate between the user and the robot 300 through the tablet 200.

도 2는 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템을 포함하는 전체 구성을 기능을 기준으로 나타낸 도면이다.2 is a view showing an overall configuration including a robot development framework system according to an embodiment of the present invention based on functions.

도 2를 참조하면, 먼저, 어플리케이션(1, Application)은 사용자가 사용하는 프로그램으로써, 태블릿(200)를 포함하는 로봇(300)을 통해 수행할 수 있는 다양한 종류의 프로그램일 수 있다.Referring to FIG. 2, first, the application 1 is a program used by a user, and may be various types of programs that can be executed by the robot 300 including the tablet 200.

예를 들어, 사용자는 태블릿(200)를 터치하거나 로봇(300)과 대화하여, 게임, 음악 등의 엔터테인먼트(Entertainment), 단어 학습 등의 교육(Education), 지도 안내 가이드(Guide) 및 예약 확인 등의 리셉션(Reception)과 같은 다양한 종류의 어플리케이션(1, Application)을 이용할 수 있다. For example, the user touches the tablet 200 or communicates with the robot 300, such as entertainment such as games and music, education such as word learning, guidance guide and reservation confirmation, etc. You can use various kinds of applications (1, Application) such as reception of.

다음으로, 개발 프레임워크(100)는 개발자가 어플리케이션(1)을 개발할 수 있는 개발 환경을 제공하는 모듈로서, 태블릿(200) 및 로봇(300)에서 수행 가능한 다양한 기능들을 통합 제어할 수 있다. Next, the development framework 100 is a module that provides a development environment in which a developer can develop the application 1, and can integrally control various functions that can be performed by the tablet 200 and the robot 300.

예를 들어, 개발자는 개발 프레임워크(100)를 통해 태블릿(200)에 출력되는 사용자 인터페이스(User Interface, UI)의 구성, 버튼 선택 및 화면 전환 등을 정의할 수 있으며, 사용자 입력에 따른 로봇(300)의 이벤트(움직임, 대화)를 정의할 수 있다.For example, the developer can define the configuration of a user interface (UI) output to the tablet 200 through the development framework 100, button selection and screen switching, and the like, and a robot ( 300) of events (motion, conversation) can be defined.

다음으로, 로봇 APIs(2, Application Programming Interface)는 로봇(300)을 사용할 수 있도록 만들어진 인터페이스로, 기능으로서, 개발자는 로봇 APIs(2)를 통해 로봇(300) 또는 로봇(300)이 포함하는 태블릿(200)가 수행할 수 있는 다양한 기능들에 대한 API를 제공받아 이를 재정의하거나 제어할 수 있다.Next, the robot APIs (2, Application Programming Interface) is an interface made to use the robot 300, as a function, and the developer is the robot 300 or the tablet included in the robot 300 through the robot APIs (2). It is possible to redefine or control APIs for various functions that 200 can perform.

예를 들어, 로봇 APIs(2)는 로봇(300)의 모션(Motion)을 제어하기 위한 인터페이스, 태블릿(Tablet)과 같은 태블릿(200)를 제어하기 위한 인터페이스, 로봇(300) 터치(Touch) 또는 카메라를 통한 로봇(300)의 비전(Vision)을 인식하고 그에 따른 이벤트를 제어하기 위한 인터페이스 등을 포함할 수 있다.For example, the robot APIs (2) is an interface for controlling the motion of the robot 300, an interface for controlling the tablet 200 such as a tablet, and the robot 300 touch or It may include an interface for recognizing the vision of the robot 300 through the camera and controlling an event according thereto.

마지막으로, 로봇 하드웨어(3)는 로봇(300)의 물리적인 동작을 구동하는 장치로, 개발 프레임워크(100) 내의 정의에 따라 사용자가 어플리케이션(1)을 이용하게 되면, 로봇(300)이 그에 대응되는 동작을 수행할 수 있다.Finally, the robot hardware 3 is a device that drives the physical operation of the robot 300, and when the user uses the application 1 according to the definition in the development framework 100, the robot 300 Corresponding operations can be performed.

예를 들어, 로봇 하드웨어(3)를 구성하는 요소는 로봇(300)의 동작에 따른 알림을 사용자에게 표시할 수 있는 LED 조명, 로봇(300)의 이동을 구현할 수 있는 액츄에이터(Actuator), 사용자의 얼굴 또는 전방의 장애물을 인식할 수 있는 카메라(Camera), 사용자와 대화하거나 정보를 제공할 수 있는 스피커(Speaker) 등을 포함할 수 있다. For example, elements constituting the robot hardware 3 include LED lighting that can display a notification according to the operation of the robot 300 to the user, an actuator that can implement the movement of the robot 300, and the user's It may include a camera capable of recognizing a face or an obstacle in front, a speaker capable of communicating with a user or providing information, and the like.

이와 같이, 로봇(300) 및 로봇(300)이 포함하는 태블릿(200)에서 수행 가능한 어플리케이션을 개발하기 위한 환경이, 개발 프레임워크(100)를 통해 제작된 어플리케이션(1) 및 로봇 APIs(2)으로 분리되어 있고, 개발 프레임워크(100) 내에서 태블릿(200)와 로봇(300)의 기능을 정의할 수 있기 때문에, 개발자는 보다 편리하게 어플리케이션을 개발할 수 있다.In this way, the environment for developing an application that can be executed on the robot 300 and the tablet 200 included in the robot 300 is an application (1) and robot APIs (2) produced through the development framework 100 It is separated by, and since the functions of the tablet 200 and the robot 300 can be defined within the development framework 100, the developer can develop an application more conveniently.

도 3은 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템(100)을 구성 요소들을 기준으로 나타낸 도면으로, 도 3을 참조하면, 개발 프레임워크(100)는 로봇 제어 모듈(10), 디스플레이 장치 제어 모듈(20) 및 통합 제어 모듈(30)을 포함함을 확인할 수 있으며, 본 발명의 목적을 달성하기 위한 부가적인 구성을 더 포함할 수 있다.3 is a diagram showing a robot development framework system 100 according to an embodiment of the present invention based on components. Referring to FIG. 3, the development framework 100 is a robot control module 10, a display It can be seen that the device control module 20 and the integrated control module 30 are included, and an additional configuration for achieving the object of the present invention may be further included.

도 3을 참조하면, 로봇 제어 모듈(10)은 로봇 운영체제(OS)로부터 로봇(300)의 움직임, 대화, 데이터 저장 등에 대한 기능을 수행할 수 있는 API를 제공받고 이를 개발 프레임워크(100)의 개발 환경에 맞게 재정의할 수 있으며, 이를 위해 로봇 운영체제(OS)와 세션을 연결할 수 있다. Referring to FIG. 3, the robot control module 10 receives an API capable of performing functions for movement, conversation, and data storage of the robot 300 from the robot operating system (OS), and the development framework 100 It can be redefined according to the development environment, and for this, the robot operating system (OS) and session can be connected.

이와 같이, 로봇 제어 모듈(10)은 재정의된 기능을 통해 로봇(200)이 수행할 수 있는 다양한 기능과 서비스를 정의할 수 있다. 예를 들어, 로봇 제어 모듈(10)은 로봇(300)과 통신하기 위한 통신 기능(connect), 로봇(300) 주변의 사운드를 인식하는 기능(audio)을 재정의하거나 로봇(300)의 메모리에 저장된 정보를 불러올 수 있으며(memory), 사용자에게 제공하는 정보 또는 사용자 질문에 따른 대답을 출력할 수 있는 스피커의 출력이나 TTS(Text-to-Speech) 기능을 제어할 수 있다.In this way, the robot control module 10 may define various functions and services that the robot 200 can perform through the redefined function. For example, the robot control module 10 redefines a communication function (connect) for communicating with the robot 300, a function (audio) for recognizing sound around the robot 300, or stored in the memory of the robot 300. Information can be recalled (memory), and the output of the speaker or TTS (Text-to-Speech) function that can output information provided to the user or answers according to user questions can be controlled.

디스플레이 장치 제어 모듈(20)은 로봇(300)에 장착된 태블릿(200) 내에서 수행되는 다양한 기능들을 정의하고, 태블릿(200)를 통한 사용자 인터페이스를 제어할 수 있다. 보다 구체적으로, 디스플레이 장치 제어 모듈(20)은 태블릿(200)에 출력되는 사용자 선택 영역(UI 선택 버튼)을 제어할 수 있다. 예를 들어, 디스플레이 장치 제어 모듈(20)은 사용자 입력에 대응되는 적어도 하나 이상의 기능을 제어하거나(function, event), 태블릿(200)에 출력되는 사용자 선택 영역을 그룹화하고(group), 그룹화된 선택 영역의 활성화 상태를 제어할 수 있으며(status, reset), 사용자의 태블릿(200) 터치에 따른 사운드가 출력되도록 제어할 수 있다(sound). The display device control module 20 may define various functions performed in the tablet 200 mounted on the robot 300 and control a user interface through the tablet 200. More specifically, the display device control module 20 may control a user selection area (UI selection button) output to the tablet 200. For example, the display device control module 20 controls at least one function corresponding to a user input (function, event), or groups a user selection area output to the tablet 200 (group), and selects the grouped The activation state of the region may be controlled (status, reset), and a sound may be output according to the user's touch of the tablet 200 (sound).

통합 제어 모듈(30)은 태블릿(200) 또는 로봇(300)이 감지한 이벤트에 따라 실행되는 어플리케이션을 제어하고, 태블릿(200) 또는 로봇(300)에서 실행 가능한 어플리케이션을 개발할 수 있는, 어플리케이션 개발 환경을 제공할 수 있다. 예를 들어, 통합 제어 모듈(30)은 개발자가 개발 중인 여러 가지의 어플리케이션을 구분할 수 있으며(앱컨트롤러), 사용자 입력에 따라 태블릿(200)에 출력되는 화면을 전환시킬 수 있으며(화면전환), 출력 가능한 이미지를 미리 로딩하여 화면 전환을 보조할 수 있다(프리로딩). 또한, 각각의 어플리케이션을 개발하는 개발 환경을 구분시키고(개발환경구분), 개발 중인 어플리케이션의 해상도를 태블릿(200)의 해상도에 맞게 조절하고(동적 UI), 개발 중인 어플리케이션에 대한 로그, 로그 레벨(log, warn, error)를 비휘발성 메모리에 주기적으로 기록하여(logging) 개발자의 개발 편의를 도모할 수 있다.The integrated control module 30 is an application development environment capable of controlling an application executed according to an event detected by the tablet 200 or the robot 300 and developing an application executable on the tablet 200 or the robot 300 Can provide. For example, the integrated control module 30 can classify various applications under development by a developer (app controller), and can switch a screen output to the tablet 200 according to a user input (screen change), You can assist screen switching by preloading printable images (preloading). In addition, the development environment for developing each application is classified (development environment classification), the resolution of the application under development is adjusted to match the resolution of the tablet 200 (dynamic UI), and the log and log level for the application under development ( Log, warn, error) can be periodically recorded in non-volatile memory to facilitate developer's development.

지금까지 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템(100)을 포함하는 전체 구성에 대하여 설명하였으며, 이하에서는 태블릿(200)와 로봇(300)에서 수행 가능한 어플리케이션을 효율적으로 개발하기 위해 개발 프레임워크(100) 내에서 정의하고 제어할 수 있는 구성 요소들에 대하여 설명하도록 한다.So far, the entire configuration including the robot development framework system 100 according to an embodiment of the present invention has been described, and hereinafter, it is developed to efficiently develop applications that can be executed on the tablet 200 and the robot 300 Components that can be defined and controlled within the framework 100 will be described.

도 4는 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템(100)의 구성을 나타낸 도면이다.4 is a diagram showing the configuration of a robot development framework system 100 according to an embodiment of the present invention.

도 4를 참조하면, 로봇 제어 모듈(10)은 세션 연결부(11), 오디오 입출력부(12), 메모리부(13) 및 TTS부(14)를 포함할 수 있으며, 기타 로봇(300)의 동작을 정의하거나 제어하기 위한 부가적인 구성을 더 포함할 수 있다.4, the robot control module 10 may include a session connection unit 11, an audio input/output unit 12, a memory unit 13, and a TTS unit 14, and other operations of the robot 300 It may further include an additional configuration to define or control.

세션 연결부(11)는 로봇(300) 또는 태블릿(200)와의 세션 연결을 관리할 수 있다. 예를 들어, 소정 시간 동안 사용자의 입력 신호를 수신하지 않았던 태블릿(200)가 사용자의 클릭을 감지하는 경우, 태블릿(200) 또는 로봇(300)과의 세션 연결을 수행하여, 개발을 위한 API를 제공받거나, 사용자 입력 신호에 따른 제어 정보를 제공받을 수 있다.The session connector 11 may manage a session connection with the robot 300 or the tablet 200. For example, when a tablet 200 that has not received a user's input signal for a predetermined time detects a user's click, a session connection with the tablet 200 or the robot 300 is performed, and an API for development is provided. It may be provided, or control information according to a user input signal may be provided.

오디오 입출력부(12)는 세션 연결부(11)를 통해 세션이 연결된 로봇(300), 보다 구체적으로는 로봇 운영체제(OS)로부터 로봇(300)의 오디오 기능을 활용할 수 있는 API를 제공받아 이를 재정의할 수 있다.The audio input/output unit 12 is provided with an API for utilizing the audio function of the robot 300 from the robot 300 to which the session is connected, more specifically, the robot operating system (OS) through the session connection unit 11 and redefine it. I can.

또한, 메모리부(13)도 로봇 운영체제(OS)로부터 로봇(300) 내 저장된 다양한 정보(예. 식별 번호, 구성 요소, 이동 시간, 이동 거리, 배터리 등)을 활용할 수 있는 API를 제공 받아 이를 재정의할 수 있으며, 이는 로봇(300)이 이전에 이동한 공간을 이동하거나 물품을 탐색하는 등 다양한 이벤트를 수행하는 과정에서 활용될 수 있다.In addition, the memory unit 13 is also provided with an API that can utilize various information stored in the robot 300 (eg, identification number, component, travel time, travel distance, battery, etc.) from the robot operating system (OS) and redefine it. This can be done, and this can be utilized in the process of performing various events such as moving the space where the robot 300 has previously moved or searching for an article.

TTS부(14)는 로봇(300)이 기 저장된 텍스트를 오디오로 출력하도록 제어할 수 있다. 예를 들어, TTS부(14)는 사용자의 질문에 대한 답변이나 로봇(300)의 현재 동작, 상태에 대한 텍스트 정보를 음성으로 출력하도록 제어할 수 있다. The TTS unit 14 may control the robot 300 to output a pre-stored text as audio. For example, the TTS unit 14 may control to output an answer to a user's question or text information on the current operation and state of the robot 300 by voice.

다음으로, 디스플레이 장치 제어 모듈(20)은 버튼 제어부(21), 동작 제어부(22) 및 사운드 제어부(23)를 포함할 수 있으며, 기타 태블릿(200) 내 설치된 어플리케이션의 동작 과정을 정의하거나 제어하기 위한 부가적인 구성을 더 포함할 수 있다.Next, the display device control module 20 may include a button control unit 21, an operation control unit 22, and a sound control unit 23, and define or control an operation process of an application installed in the tablet 200. It may further include an additional configuration for.

버튼 제어부(21)는 태블릿(200)에 표시되는 적어도 두 개 이상의 선택 영역을 그루핑(grouping)하고, 그루핑 결과에 따라 태블릿(200) 내 화면 선택 영역의 활성 상태를 제어할 수 있다. 보다 구체적으로, 버튼 제어부(21)는 태블릿(200)의 화면에 표시된 각각의 선택 버튼들을 특성 별로 그룹화할 수 있으며, 그에 따라 각각의 선택 버튼들을 활성화/비활성화 처리할 수 있다. The button controller 21 may group at least two or more selection regions displayed on the tablet 200 and control an active state of the screen selection region in the tablet 200 according to the grouping result. More specifically, the button controller 21 may group each of the selection buttons displayed on the screen of the tablet 200 according to characteristics, and accordingly, may activate/deactivate each of the selection buttons.

예를 들어, 사용자와 태블릿(200) 간의 인터랙션 과정에서 "길 안내를 시작하겠습니까"에 대한 사용자 응답을 수신하기 위해 태블릿(200)에 "예(Yes), 아니요(No)"와 같은 선택 버튼이 출력될 수 있으며, 버튼 제어부(21)는 "예(Yes), 아니요(No)" 2개의 선택 버튼이 동시에 클릭될 수 없도록 정의할 수 있다. 이와 반대로, 사용자가 여러 가지 조건을 만족하는 물건 또는 음식점에 대한 정보를 얻고자 하는 경우, 태블릿(200)에 복수 개의 선택 버튼이 출력될 수 있으며, 버튼 제어부(21)는 복수 개의 선택 버튼 중에서 두 개 이상의 선택 버튼을 클릭할 수 있도록 정의할 수도 있다.For example, in the process of interaction between the user and the tablet 200, a selection button such as “Yes, No” is displayed on the tablet 200 in order to receive a user response to “Would you like to start directions?” It may be output, and the button control unit 21 may define that two selection buttons "Yes, No" cannot be clicked simultaneously. Conversely, when a user desires to obtain information on a product or restaurant that satisfies various conditions, a plurality of selection buttons may be output on the tablet 200, and the button control unit 21 is You can also define more than one selection button to be clickable.

한편, 버튼 제어부(21)는 현재 태블릿(200)에 출력된 선택 버튼들이 사용 가능한지 확인할 수 있도록 제어하는 버튼 상태 확인부(21a)와 선택 버튼들의 활성화/비활성화 상태를 초기화할 수 있도록 제어하는 버튼 리셋부(21b)를 더 포함할 수 있다. 예를 들어, 버튼 상태 확인부(21a)는 사용자에 의해 선택 버튼이 클릭되었는지 확인하고, 클릭된 선택 버튼을 활성화하도록 정의할 수 있으며, 버튼 리셋부(21b)는 태블릿(200)에 사용자의 입력 신호가 소정 시간 동안 감지되지 않는 경우, 전체 선택 버튼을 활성화하도록 정의할 수 있다.On the other hand, the button control unit 21 is a button status check unit 21a that controls to check whether the selection buttons currently output on the tablet 200 are available, and a button reset that controls to initialize the activation/deactivation states of the selection buttons. It may further include a part (21b). For example, the button status check unit 21a may determine whether the selection button is clicked by the user and define to activate the clicked selection button, and the button reset unit 21b may be input by the user to the tablet 200 If the signal is not detected for a predetermined time, it can be defined to activate the all selection button.

동작 제어부(22)는 태블릿(200)를 통한 사용자 입력 신호를 감지하고, 사용자 입력 신호와 대응되는 이벤트에 따라, 디스플레이 장치의 동작을 제어할 수 있으며, 로봇(300) 또는 태블릿(200)가 수행하는 기능에 따라 다기능 제어부(22a)와 이벤트 제어부(22b)를 포함할 수 있다. 보다 구체적으로, 다기능 제어부(22a)는 로봇(300)과 태블릿(200)가 동시에 동작하도록 제어할 수 있으며, 이벤트 제어부(22b)는 로봇(300) 또는 태블릿(200) 중 하나의 장치가 동작하도록 제어할 수 있다. The motion controller 22 may detect a user input signal through the tablet 200 and control the operation of the display device according to an event corresponding to the user input signal, and the robot 300 or the tablet 200 performs it. Depending on the function, it may include a multi-function control unit 22a and an event control unit 22b. More specifically, the multifunctional control unit 22a can control the robot 300 and the tablet 200 to operate simultaneously, and the event control unit 22b allows one of the robot 300 or the tablet 200 to operate. Can be controlled.

도 5는 본 발명의 일 실시예에 따른 디스플레이 장치 제어 모듈(20)의 기능을 설명하기 위한 도면으로, 도 5를 참조하면, 사용자가 태블릿(200)를 통해 선택 버튼을 클릭하고, 예를 들어 선택 버튼이 사용자에게 음성 및 텍스트로 정보를 제공하는 기능일 때, 다기능 제어부(22a)는 태블릿(200)에서는 화면을 전환하여 텍스트 정보를 출력하고, 로봇(300)에서는 음성으로 정보를 제공하도록 정의할 수 있다. 이와 반대로, 선택 버튼이 사용자의 다음 선택을 필요로 하는 단계로 넘어가는 것을 의미하는 경우, 이벤트 제어부(22b)는 태블릿(200)가 화면을 전환할 수 있도록 제어할 수 있다.5 is a view for explaining the function of the display device control module 20 according to an embodiment of the present invention. Referring to FIG. 5, a user clicks a selection button through the tablet 200, for example, When the selection button is a function that provides information in voice and text to the user, the multifunctional control unit 22a is defined to output text information by switching the screen on the tablet 200, and to provide information in the robot 300 by voice. can do. Conversely, when the selection button means to move to a step requiring the user's next selection, the event controller 22b may control the tablet 200 to switch the screen.

다시 도 4를 참조하면, 사운드 제어부(23)는 태블릿(200)로부터 출력되는 사운드를 제어할 수 있다. 예를 들어, 사운드 제어부(23)는 사용자가 선택 버튼을 클릭함에 따라 사용자에게 클릭되었음을 알릴 수 있는 사운드 효과가 출력되도록 정의할 수 있으며, 선택 버튼의 이미지에 따라 다양한 사운드 효과(예. 물방울 버튼 선택 - 물방울 떨어지는 소리)가 출력될 수 있도록 정의할 수 있다. Referring back to FIG. 4, the sound controller 23 may control a sound output from the tablet 200. For example, the sound control unit 23 may define to output a sound effect that can notify the user that the user has been clicked when the user clicks the selection button, and various sound effects (eg, a water droplet button selection) according to the image of the selection button -The sound of falling water droplets) can be defined to be output.

마지막으로, 통합 제어 모듈(30)은 어플리케이션 제어부(31), 개발 환경 관리부(32), 해상도 변환부(33), 이미지 로딩부(34) 및 로그 기록부(35)를 포함할 수 있으며, 기타 어플리케이션을 개발하기 위한 부가적인 구성을 더 포함할 수 있다.Finally, the integrated control module 30 may include an application control unit 31, a development environment management unit 32, a resolution conversion unit 33, an image loading unit 34 and a log recording unit 35, and other applications It may further include an additional configuration for developing.

아울러, 도 6은 본 발명의 일 실시예에 따른 통합 제어 모듈(30)의 기능을 설명하기 위한 도면으로, 도 4 및 도 6을 참조하면, 개발 프레임워크(100)는 태블릿(200) 또는 로봇(300)이 감지한 이벤트를 확인하고(예. 태블릿(200) 클릭, 로봇(300) 인터랙션), 이벤트에 따른 태블릿(200) 또는 로봇(300)의 기능을 통합 제어할 수 있다. In addition, FIG. 6 is a view for explaining the function of the integrated control module 30 according to an embodiment of the present invention. Referring to FIGS. 4 and 6, the development framework 100 is a tablet 200 or a robot. It is possible to check the event detected by the 300 (eg tablet 200 click, robot 300 interaction), and integrally control the functions of the tablet 200 or the robot 300 according to the event.

보다 구체적으로, 개발 프레임워크(200)를 통해 개발자가 적어도 하나 이상의 어플리케이션을 개발할 수 있는 바, 어플리케이션 제어부(31)는 각각의 어플리케이션을 분류하고 관리할 수 있다. 또한, 어플리케이션은 적어도 하나 이상의 화면으로 구성될 수 있기 때문에, 어플리케이션 제어부(31)는 태블릿(200)에 표시되는 화면이 개발 환경에 따라 전환될 수 있도록 정의할 수 있다(도 6의 "화면 전환" 참조). More specifically, a developer can develop at least one or more applications through the development framework 200, and the application control unit 31 may classify and manage each application. In addition, since the application may be composed of at least one screen, the application control unit 31 may define the screen displayed on the tablet 200 to be switched according to the development environment ("screen switching" in FIG. 6). Reference).

개발 환경 관리부(32)는 세션 연결부(11)를 통한 태블릿(200) 또는 로봇(300)과의 세션 연결에 따라 개발자의 개발 환경 모드를 구분할 수 있다. 보다 구체적으로, 개발 환경 관리부(32)는 세션 연결을 하지 않은 로컬 개발 환경 모드와 세션 연결한 운영 환경 모드를 포함할 수 있다. The development environment management unit 32 may classify a developer's development environment mode according to a session connection with the tablet 200 or the robot 300 through the session connection unit 11. More specifically, the development environment management unit 32 may include a local development environment mode in which a session is not connected and an operating environment mode in which a session is connected.

로컬 개발 환경 모드는 개발 프레임워크(100)가 로봇 운영체제(OS)와 접속하지 않고 온전히 개발 프레임워크(100) 내 라이브러리만으로 어플리케이션의 개발을 수행하는 모드이며, 운영 환경 모드는 로봇 운영체제(OS)와 접속하여 어플리케이션이 구동하는 과정에서 발생하는 에러 로그를 인식할 수 있는 디버깅용 로그를 태블릿(200)에 출력할 수 있는 모드이다. 이와 같이, 개발 환경 관리부(32)가 각각의 환경을 구분함에 따라, 개발자는 어플리케이션 개발을 용이하게 할 수 있다.The local development environment mode is a mode in which the development framework 100 does not connect to the robot operating system (OS) and executes application development entirely only with the library within the development framework 100, and the operating environment mode is a robot operating system (OS) and This is a mode in which a debugging log capable of recognizing an error log generated while an application is running by accessing can be output to the tablet 200. In this way, as the development environment management unit 32 classifies each environment, the developer can facilitate application development.

또한, 개발 환경 관리부(32)는 로그 및 로그 레벨들을 태블릿(200)의 화면에 출력할 수 있는 시간을 설정하여 개발 프레임워크(100)를 통한 운영이 올바르게 되고 있는 지 확인할 수 있다. In addition, the development environment management unit 32 may set a time for outputting logs and log levels on the screen of the tablet 200 to check whether the operation through the development framework 100 is correct.

해상도 변환부(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)에서 해당 어플리케이션이 호환될 수 있도록 제어할 수 있다.The resolution conversion unit 33 may convert the resolution of the developed application to the resolution of the tablet 200 (see “Dynamic UI” in FIG. 6 ). More specifically, since the resolution of the tablet 200 connected thereto is different according to the version of the robot operating system (OS), the resolution of the application developed through the resolution converter 33 is converted to the current session-connected robot operating system (OS). You can convert it to suit your version. For example, when the version of the robot operating system (OS) is 1.7, the resolution of the tablet 200 is 1280*900, and the version of the robot operating system (OS) is 1.8, the resolution of the tablet 200 is 800*600. , If the developer is developing an application with a screen size of 1280*900 for version 1.7, the resolution converter 33 converts the screen size of 1280*900 to 800*600, so that the application can be compatible with the tablet 200. So you can control it.

이미지 로딩부(34)는 태블릿(200)에 표시될 예정인 다양한 사이즈의 이미지를 미리 로딩하고, 이미지의 사이즈에 따라 태블릿(200)에 출력되는 방식을 정의할 수 있다(도 6의 "프리로딩" 참조). 여기서 이미지는 개발된 어플리케이션에서 사용자가 태블릿(200)를 통해 육안으로 볼 수 있는 UI들을 의미할 수 있다.The image loading unit 34 may preload images of various sizes to be displayed on the tablet 200, and may define a method of outputting to the tablet 200 according to the size of the image ("preloading" in FIG. 6). Reference). Here, the image may mean UIs that the user can see with the naked eye through the tablet 200 in the developed application.

보다 구체적으로, 이미지의 사이즈가 큰 경우, 다음 화면으로 전환되기 위한 소정의 시간이 소요되기 때문에, 이미지 로딩부(34)는 이미지를 미리 로딩하여 이미지 사이즈가 큰 화면으로 전환될 때, 이를 페이드인(fade-in) 또는 페이드아웃(fade-out) 방식으로 태블릿(200)에 표시할 수 있으며, 그에 따라 태블릿(200)가 사용자 터치에 따른 화면 전환을 즉각 수행할 수 있도록 정의할 수 있다.More specifically, when the size of the image is large, it takes a predetermined time to switch to the next screen, so the image loading unit 34 preloads the image and fades in when the image is converted to a screen with a larger image size. It can be displayed on the tablet 200 in a (fade-in) or fade-out manner, and accordingly, it can be defined so that the tablet 200 can immediately perform a screen change according to a user's touch.

로그 기록부(35)는 태블릿(200) 또는 로봇(300)과의 세션 연결에 따라 발생하는 로그를 주기적으로 기록할 수 있다(도 6의 "로깅" 참조). 개발 프레임워크(100)와 로봇(300)이 연결되고 어플리케이션이 구동되는 과정에서 로그 레벨 별로 로그가 기록되지만, 로봇(300)의 전원이 꺼지는 경우 기록되었던 모든 로그가 함께 사라지게 된다. 특히, 로봇(300)이 어떠한 에러에 의하여 종료되는 경우, 발생했던 에러를 확인하기 어렵기 때문에, 로그 기록부(35)가 주기적으로 로그를 비휘발성 기록매체에 기록하도록 정의하여 로봇(300)을 재 시작하였을 때 로그를 확인할 수 있도록 제어할 수 있다.The log recording unit 35 may periodically record a log generated according to a session connection with the tablet 200 or the robot 300 (see “Logging” in FIG. 6 ). While the development framework 100 and the robot 300 are connected and the application is running, logs are recorded for each log level, but when the power of the robot 300 is turned off, all the logs that have been recorded disappear together. In particular, when the robot 300 is terminated due to an error, since it is difficult to check the error that occurred, the log recording unit 35 is defined to periodically record a log in a nonvolatile recording medium, and thus the robot 300 is replayed. You can control to check the log when it starts.

지금까지 본 발명의 일 실시예에 따른 개발 프레임워크(100)를 기능 별로 구분한 구성 요소들에 대하여 설명하였다. 본 발명에 따르면, 어플리케이션을 개발하는 과정에서 태블릿(200)와 로봇(300)에서 수행할 수 있는 기능을 모듈화하여 추후 다른 어플리케이션을 개발하는 과정에서 본 발명의 개발 프레임워크(100)를 재사용할 수 있다는 효과가 있다 So far, the development framework 100 according to an embodiment of the present invention has been described with respect to the components classified by function. According to the present invention, functions that can be performed by the tablet 200 and the robot 300 are modularized in the process of developing an application, so that the development framework 100 of the present invention can be reused in the process of developing other applications later. There is an effect

이하에서는 개발 프레임워크(100)를 통해 정의한 태블릿(200) 및 이를 포함하는 로봇(300)의 제어 방법에 대하여 설명하도록 한다.Hereinafter, a control method of the tablet 200 defined through the development framework 100 and the robot 300 including the same will be described.

도 7은 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템(100)을 이용하여 로봇(300)을 제어하는 방법의 흐름을 나타낸 순서도이다.7 is a flowchart showing a flow of a method of controlling the robot 300 using the robot development framework system 100 according to an embodiment of the present invention.

도 7을 참조하면, 사용자가 태블릿(200)를 통해 선택 버튼을 터치(예. 클릭, 슬라이드)하게 되면, 사용자 입력 신호가 개발 프레임워크(100)의 디스플레이 장치 제어 모듈(20)로 전달된다(S101). Referring to FIG. 7, when a user touches (eg, clicks, slides) a selection button through the tablet 200, a user input signal is transmitted to the display device control module 20 of the development framework 100 ( S101).

디스플레이 장치 제어 모듈(20)은 사용자의 입력 신호를 확인하고(S102), 사용자 입력 신호와 대응되는 이벤트를 식별한다. 예를 들어, 디스플레이 장치 제어 모듈(20)은 해당 입력 신호가 디스플레이 장치(20)의 화면을 전환하는 것인지, 로봇(300)의 움직임, 발화를 필요로 하는 것인지 식별할 수 있다.The display device control module 20 checks the user's input signal (S102) and identifies an event corresponding to the user input signal. For example, the display device control module 20 may identify whether a corresponding input signal changes a screen of the display device 20 or requires a movement or speech of the robot 300.

디스플레이 장치 제어 모듈(20)에 의한 이벤트 식별이 완료되면, 로봇 운영체제(0S)와 세션을 연결한다(S103). 이는 사용자의 입력 신호가 로봇(300)의 움직임을 필요로 하는 경우나, 태블릿(200)를 통한 로봇(300)의 구동이 처음으로 개시되었을 때 수행될 수 있다. When the event identification by the display device control module 20 is completed, the robot operating system 0S and the session are connected (S103). This may be performed when the user's input signal requires movement of the robot 300 or when driving of the robot 300 through the tablet 200 is first started.

개발 프레임워크(100)에 의해 개발된 어플리케이션은 로봇 운영체제(0S)로 사용자 입력 신호를 의미하는 이벤트를 송신하고(S104), 로봇 운영체제(0S)으로부터 해당 이벤트에 대응되는 로봇(300) 또는 태블릿(200)의 제어 정보를 수신한다(S105). 예를 들어, 로봇 운영체제(OS)는 사용자가 태블릿(200) 내 어떠한 버튼을 왼쪽으로 슬라이드 하는 이벤트(사용자 입력 신호)를 감지하면, 태블릿(200) 내 화면이 이전 화면으로 돌아간다는 제어 정보를 가질 수 있다. 즉, 사용자 입력 신호를 의미하는 이벤트를 송신함으로써, 로봇(300) 또는 태블릿(200)가 기본적으로 어떠한 방식으로 동작 또는 제어 되었는지 확인할 수 있다.The application developed by the development framework 100 transmits an event representing a user input signal to the robot operating system 0S (S104), and the robot 300 or tablet corresponding to the event from the robot operating system 0S 200) control information is received (S105). For example, the robot operating system (OS) has control information indicating that the screen inside the tablet 200 returns to the previous screen when the user detects an event (user input signal) of sliding a button in the tablet 200 to the left. I can. That is, by transmitting an event indicating a user input signal, it is possible to check how the robot 300 or tablet 200 is operated or controlled in a basic manner.

사용자 입력 신호에 따른 기본적인 동작 또는 제어 방식이 확인되면, 확인된 방식에서 개발자들이 개발한 비즈니스 로직(logic)이 추가되고(S106), 그에 따라 로봇(300)이 실행되거나 태블릿(200)의 화면이 전환된다(S107). 예를 들어, 사용자가 태블릿(200) 내 어떠한 버튼을 왼쪽으로 슬라이드 한 경우, 태블릿(200)가 이전 화면으로 전환될 뿐만 아니라, 로봇(300)이 왼쪽 팔을 들어올리는 것과 같은 움직임을 구현할 수 있다. 즉, 로봇(300)이 이동하는 비즈니스 로직이 추가될 수 있으며, 이외에도 로봇(300)이 텍스트를 음성으로 출력하거나, 태블릿(200)의 화면 구성이 추가되는 등 다양한 비즈니스 로직이 추가될 수 있다. When the basic operation or control method according to the user input signal is confirmed, the business logic developed by the developers in the confirmed method is added (S106), and the robot 300 is executed or the screen of the tablet 200 is It is switched (S107). For example, when a user slides a button in the tablet 200 to the left, the tablet 200 not only switches to the previous screen, but also the robot 300 can implement a movement such as lifting the left arm. . That is, business logic in which the robot 300 moves may be added, and in addition, various business logic may be added, such as the robot 300 outputting text as a voice or adding a screen configuration of the tablet 200.

한편, 앞서 설명한 흐름도는 개발 프레임워크(100)를 통해 개발된 어플리케이션에 따라 로봇(300) 또는 태블릿(200)가 동작되는 과정이며, 이하에서는 이러한 어플리케이션을 개발하기 위해 정의된 개발 프레임워크(100)의 환경에 대하여 설명하도록 한다.Meanwhile, the flowchart described above is a process in which the robot 300 or the tablet 200 is operated according to the application developed through the development framework 100, and hereinafter, the development framework 100 defined to develop such an application Let's explain the environment.

도 8 및 도 9는 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템(100)을 이용한 로봇(300) 및 태블릿(200)의 비즈니스 로직을 나타낸 순서도이다.8 and 9 are flowcharts illustrating business logic of the robot 300 and the tablet 200 using the robot development framework system 100 according to an embodiment of the present invention.

먼저 도 8을 참조하면, 사용자가 태블릿(200)를 통해 터치를 하거나, 로봇(300)에게 대화를 시도하는 등의 어플리케이션 시작 신호를 제공하면, 해당 어플리케이션이 처음 실행되는 것인지 확인한다.First, referring to FIG. 8, when a user touches through the tablet 200 or provides an application start signal such as attempting a conversation to the robot 300, it is checked whether the corresponding application is executed for the first time.

그에 따라, 해당 어플리케이션이 처음 실행되는 경우 어플리케이션에 포함된 적어도 하나 이상의 이미지를 미리 로딩하고, 로봇 운영체제(OS)와 세션을 연결한다. Accordingly, when the corresponding application is executed for the first time, at least one image included in the application is preloaded, and the robot operating system (OS) and the session are connected.

이 후, 어플리케이션 시작에 따라 태블릿(200)의 화면 전환이 수행되며, 개발자가 개발한 어플리케이션 비즈니스 로직에 따라 태블릿(200)와 로봇(300)이 동작한다. 예를 들어, 태블릿(200)에 사용자가 클릭할 수 있는 첫 번째 제1 화면이 표시될 수 있으며, 이와 동시에 로봇(300)이 특정 지점으로 이동하거나, 로봇(300)의 LED 조명이 반짝일 수 있으며, 텍스트를 음성으로 발화할 수 있다.Thereafter, screen switching of the tablet 200 is performed according to the start of the application, and the tablet 200 and the robot 300 operate according to the application business logic developed by the developer. For example, the first screen that the user can click may be displayed on the tablet 200, and at the same time, the robot 300 may move to a specific point, or the LED light of the robot 300 may flash. And, the text can be spoken by voice.

한편, 이러한 동작의 종료도 비즈니스 로직에 정의되어 있을 수 있다. 예를 들어, 화면 표시는, 사용자의 버튼 클릭을 감지하거나, 소정시간 동안 사용자의 버튼 클릭을 감지하지 못한 경우에 비즈니스 로직의 종료로 판단할 수 있으며, 로봇(300)의 모션은, 정의된 모션이 완료되는 경우 비즈니스 로직의 종료로 판단할 수 있으며, 음성발화는, 기 저장된 텍스트를 모두 발화하거나, 사용자의 음성이 일정 시간 동안 감지되지 않은 경우 비즈니스 로직의 종료로 판단할 수 있다.Meanwhile, the termination of such an operation may also be defined in the business logic. For example, the screen display can be determined as the end of business logic when a user's button click is detected, or when a user's button click is not detected for a predetermined period of time, and the motion of the robot 300 is a defined motion. When this is completed, it may be determined as the end of the business logic, and the speech utterance may be determined as the end of the business logic when all pre-stored texts are uttered or when the user's voice is not detected for a certain period of time.

비즈니스 로직에 따른 태블릿(200) 또는 로봇(300)의 동작이 종료되면, 사용자와의 다음 인터랙션을 위한 이벤트를 발생시킬 수 있다. 예를 들어, 로봇(300)이 이동하여 사용자를 특정 위치로의 안내를 수행한 후, 사용자에게 추가로 질문 사항이 있는 지에 대한 선택 버튼을 태블릿(200)에 띄우는 이벤트(다음 제2 화면 표시) 등, 어플리케이션 동작에 맞는 다양한 이벤트가 진행될 수 있다.When the operation of the tablet 200 or the robot 300 according to the business logic is terminated, an event for the next interaction with the user may be generated. For example, an event in which the robot 300 moves and guides the user to a specific location, and then displays a selection button on the tablet 200 as to whether the user has additional questions (displaying the next second screen) Such as, various events suitable for the operation of the application may proceed.

다음으로, 도 9를 참조하면, 디스플레이 장치 제어 모듈(20)를 통해 수행되었던 선택 영역 처리 과정이 다음과 같이 정의될 수 있다. Next, referring to FIG. 9, a process of processing a selection area performed by the display device control module 20 may be defined as follows.

사용자의 버튼 선택과 관련하여, 사용자가 태블릿(200)의 선택 영역 터치하면, 선택 영역에 대응되는 사운드 효과가 발생한다. 이와 동시에, 선택 영역에 대응되는 기능이 태블릿(200)의 화면 전환을 의미하여, 화면이 전환된 경우, 각각의 선택 영역의 활성화/비활성화 여부에 따라 선택된 버튼이 태블릿(200)에 표시된다. 또한, 선택 영역에 대응되는 기능이 처리된 이 후, 리셋 버튼을 통해, 이전에 터치되었던 선택 영역들이 다시 활성화 상태로 변경된다.Regarding the user's button selection, when the user touches the selection area of the tablet 200, a sound effect corresponding to the selection area is generated. At the same time, the function corresponding to the selection area means switching the screen of the tablet 200, and when the screen is switched, a button selected according to activation/deactivation of each selection area is displayed on the tablet 200. In addition, after the function corresponding to the selected area is processed, the previously touched selection areas are changed to the activated state again through the reset button.

또한, 사용자가 태블릿(200)의 선택 영역 중 하나의 선택 영역을 터치하면, 나머지 터치 영역들, 버튼들이 선택되지 않도록 제어된다.In addition, when the user touches one of the selection areas of the tablet 200, the remaining touch areas and buttons are controlled so that they are not selected.

또한, 어플리케이션의 로그 처리와 관련하여, 어플리케이션이 처음 시작된 경우, 로깅 스크립트(logging script)이 실행되어 어플리케이션 진행에 따른 로그 레벨이 지속적으로 기록될 수 있으며, 어플리케이션이 재시작된 경우에도 스크립트 실행 여부를 확인하고, 주기적으로 로그 파일을 별도로 저장할 수 있다.In addition, regarding the log processing of the application, when the application is first started, a logging script is executed so that the log level according to the application progress can be continuously recorded, and even when the application is restarted, the script execution is checked. And, you can save a separate log file periodically.

지금까지 본 발명의 일 실시예에 따른 로봇 개발 프레임워크 시스템(100)을 이용한 로봇(300) 및 태블릿(200)의 비즈니스 로직에 대하여 설명하였다. 본 발명에 따르면, 어플리케이션과 로봇 운영체제(OS)과 분리되며, 독립적으로 응용 어플리케이션을 개발할 수 있는 개발 프레임워크(100)를 모듈화하여, 추후에 다른 어플리케이션을 개발하는 과정에서도 본 발명의 개발 프레임워크(100)이 용이하게 활용될 수 있다.So far, the business logic of the robot 300 and the tablet 200 using the robot development framework system 100 according to an embodiment of the present invention has been described. According to the present invention, the development framework 100, which is separated from the application and the robot operating system (OS), and can independently develop application applications, is modularized, so that the development framework of the present invention ( 100) can be easily utilized.

한편, 본 발명은 또한 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 마그네틱 저장 매체, 광학적 판독 매체 등 모든 저장매체를 포함한다. 또한, 본 발명에서 사용되는 메시지의 데이터 포맷을 기록 매체에 기록하는 것이 가능하다.Meanwhile, the present invention can also be implemented as a computer-readable code on a computer-readable recording medium. Computer-readable recording media include all storage media such as magnetic storage media and optical reading media. It is also possible to record the data format of the message used in the present invention on a recording medium.

이상 첨부된 도면을 참조하여 본 발명의 실시 예들을 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.Although the embodiments of the present invention have been described with reference to the accompanying drawings, those of ordinary skill in the art to which the present invention pertains can be implemented in other specific forms without changing the technical spirit or essential features. You can understand. Therefore, it should be understood that the embodiments described above are illustrative and non-limiting in all respects.

100: 로봇 개발 프레임워크 시스템
10: 로봇 제어 모듈
11: 세션 연결부 12: 오디오 입출력부
13: 메모리부 14: TTS 부
20: 디스플레이 장치 제어 모듈
21: 버튼 제어부
21a: 버튼 상태 확인부 21b: 버튼 리셋부
22: 동작 제어부
22a: 다기능 제어부 22b: 이벤트 제어부
23: 사운드 제어부
30: 통합 제어 모듈
31: 어플리케이션 제어부 32: 개발 환경 관리부
33: 해상도 변환부 34: 이미지 로딩부
35: 로그 기록부
200: 디스플레이 장치
300: 로봇
100: Robot Development Framework System
10: robot control module
11: Session connection 12: Audio input/output
13: memory unit 14: TTS unit
20: display device control module
21: button control
21a: button status check unit 21b: button reset unit
22: motion control unit
22a: multi-function control unit 22b: event control unit
23: sound control unit
30: integrated control module
31: application control unit 32: development environment management unit
33: resolution conversion unit 34: image loading unit
35: log register
200: display device
300: robot

Claims (16)

로봇 운영체제(Operating System, OS)와 연결 가능하고, 상기 로봇 운영체제에 의해 제공되는 기능을 로봇에서 구현되도록 상기 기능을 재정의하며, 상기 재정의된 기능을 이용하여 상기 로봇을 제어하는 로봇 제어 모듈;
상기 로봇과 연결된 디스플레이 장치를 통한 사용자 인터페이스를 제어하는 디스플레이 장치 제어 모듈; 및
상기 로봇 또는 상기 디스플레이 장치가 감지한 이벤트에 따라 실행되는 어플리케이션을 제어하는 통합 제어 모듈;
을 포함하는 로봇 개발 프레임워크 시스템.
A robot control module connectable to a robot operating system (OS), redefining the function so that a function provided by the robot operating system is implemented in the robot, and controlling the robot using the redefined function;
A display device control module for controlling a user interface through a display device connected to the robot; And
An integrated control module for controlling an application executed according to an event detected by the robot or the display device;
Robot development framework system comprising a.
제1항에 있어서,
상기 통합 제어 모듈은,
상기 로봇 또는 상기 디스플레이 장치에서 실행 가능한 어플리케이션을 개발할 수 있는 어플리케이션 개발 환경을 제공하는, 로봇 개발 프레임워크 시스템.
The method of claim 1,
The integrated control module,
A robot development framework system that provides an application development environment capable of developing an application executable on the robot or the display device.
제1항에 있어서,
상기 로봇 제어 모듈은,
상기 로봇 또는 상기 디스플레이 장치와의 세션 연결을 관리하는 세션 연결부;
를 포함하는 로봇 개발 프레임워크 시스템.
The method of claim 1,
The robot control module,
A session connection unit for managing a session connection with the robot or the display device;
Robot development framework system comprising a.
제1항에 있어서,
상기 디스플레이 장치 제어 모듈은,
상기 디스플레이 장치에 표시되는 적어도 두 개 이상의 선택 영역을 그루핑(grouping)하고, 그루핑 결과에 따라 상기 선택 영역의 활성 상태를 제어하는 버튼 제어부;
를 포함하는 로봇 개발 프레임워크 시스템.
The method of claim 1,
The display device control module,
A button controller configured to group at least two or more selection regions displayed on the display device and control an active state of the selection region according to a grouping result;
Robot development framework system comprising a.
제1항에 있어서,
상기 디스플레이 장치 제어 모듈은,
상기 디스플레이 장치를 통한 사용자 입력 신호을 감지하고, 상기 사용자 입력 신호와 대응되는 이벤트에 따라 상기 디스플레이 장치의 동작을 제어하는 동작 제어부;
를 포함하는 로봇 개발 프레임워크 시스템.
The method of claim 1,
The display device control module,
An operation controller configured to detect a user input signal through the display device and control an operation of the display device according to an event corresponding to the user input signal;
Robot development framework system comprising a.
제1항에 있어서,
상기 디스플레이 장치 제어 모듈은,
상기 디스플레이 장치로부터 출력되는 사운드를 제어하는 사운드 제어부;
를 포함하는 로봇 개발 프레임워크 시스템.
The method of claim 1,
The display device control module,
A sound control unit controlling sound output from the display device;
Robot development framework system comprising a.
제1항에 있어서,
상기 통합 제어 모듈은,
개발 중인 적어도 하나 이상의 어플리케이션을 분류하고 관리하는 어플리케이션 제어부;
를 포함하는 로봇 개발 프레임워크 시스템.
The method of claim 1,
The integrated control module,
An application control unit for classifying and managing at least one application under development;
Robot development framework system comprising a.
제7항에 있어서,
상기 어플리케이션 제어부는,
상기 개발 중인 어플리케이션에 따라 상기 디스플레이 장치에 표시되는 화면을 전환하는, 로봇 개발 프레임워크 시스템.
The method of claim 7,
The application control unit,
A robot development framework system for switching a screen displayed on the display device according to the application under development.
제3항에 있어서,
상기 통합 제어 모듈은,
상기 세션 연결부의 세션 연결 여부에 따라, 로컬 모드 또는 운영 모드 중 하나의 모드를 실행하는 개발 환경 관리부;
를 포함하는 로봇 개발 프레임워크 시스템.
The method of claim 3,
The integrated control module,
A development environment management unit executing one of a local mode or an operation mode according to whether the session connection unit is connected to a session;
Robot development framework system comprising a.
제2항에 있어서,
상기 통합 제어 모듈은,
개발된 어플리케이션의 해상도를 상기 디스플레이 장치의 해상도로 변환하는 해상도 변환부;
를 포함하는 로봇 개발 프레임워크 시스템.
The method of claim 2,
The integrated control module,
A resolution conversion unit converting the resolution of the developed application into the resolution of the display device;
Robot development framework system comprising a.
제2항에 있어서,
상기 통합 제어 모듈은,
상기 디스플레이 장치에 표시되는 이미지를 미리 로딩하고, 상기 이미지의 사이즈에 따라 상기 이미지를 페이드인(fade-in) 또는 페이드아웃(fade-out) 방식으로 상기 디스플레이 장치에 표시하는 이미지 로딩부;
를 포함하는 로봇 개발 프레임워크 시스템.
The method of claim 2,
The integrated control module,
An image loading unit that preloads an image displayed on the display device and displays the image on the display device in a fade-in or fade-out manner according to the size of the image;
Robot development framework system comprising a.
제2항에 있어서,
상기 통합 제어 모듈은,
상기 로봇 또는 상기 디스플레이 장치와의 세션 연결에 따라 발생하는 로그를 주기적으로 기록하는 로그 기록부;
를 포함하는 로봇 개발 프레임워크 시스템.
The method of claim 2,
The integrated control module,
A log recording unit that periodically records a log generated according to a session connection with the robot or the display device;
Robot development framework system comprising a.
삭제delete 삭제delete 삭제delete 삭제delete
KR1020180125870A 2018-10-22 2018-10-22 Humanoid robot developmnet framework system KR102144891B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180125870A KR102144891B1 (en) 2018-10-22 2018-10-22 Humanoid robot developmnet framework system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180125870A KR102144891B1 (en) 2018-10-22 2018-10-22 Humanoid robot developmnet framework system

Publications (2)

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

Family

ID=70732819

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180125870A KR102144891B1 (en) 2018-10-22 2018-10-22 Humanoid robot developmnet framework system

Country Status (1)

Country Link
KR (1) KR102144891B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013168188A (en) * 2013-06-04 2013-08-29 Denso Wave Inc Robot control log acquiring system
KR101758698B1 (en) * 2010-09-14 2017-07-18 대우조선해양 주식회사 Robot system with robot controller combined with teach pedant

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100094009A (en) * 2009-02-18 2010-08-26 (주)시뮬레이션연구소 Integrated robot software platform with framework module
KR20110065183A (en) * 2009-12-09 2011-06-15 삼성중공업 주식회사 Method and apparatus for controlling robot system
KR101197245B1 (en) 2010-09-03 2012-11-05 한국과학기술연구원 Framework system for controlling robot motion and control method using the same
KR101344727B1 (en) * 2012-03-02 2014-01-16 주식회사 유진로봇 Apparatus and method for controlling intelligent robot
KR102332752B1 (en) * 2014-11-24 2021-11-30 삼성전자주식회사 Map service providing apparatus and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101758698B1 (en) * 2010-09-14 2017-07-18 대우조선해양 주식회사 Robot system with robot controller combined with teach pedant
JP2013168188A (en) * 2013-06-04 2013-08-29 Denso Wave Inc Robot control log acquiring system

Also Published As

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

Similar Documents

Publication Publication Date Title
AU2018202162B2 (en) Methods and systems of handling a dialog with a robot
US8942849B2 (en) Humanoid robot equipped with a natural dialogue interface, method for controlling the robot and corresponding program
KR102298947B1 (en) Voice data processing method and electronic device supporting the same
KR101548524B1 (en) Rendering teaching animations on a user-interface display
CN100530085C (en) Method and apparatus for implementing a virtual push-to-talk function
US11548147B2 (en) Method and device for robot interactions
JP2019161638A (en) Method for switching control modes of smart tv, equipment and computer program
JP6319772B2 (en) Method and system for generating contextual behavior of a mobile robot performed in real time
CN110090444A (en) Behavior record creation method, device, storage medium and electronic equipment in game
Rietz et al. WoZ4U: an open-source wizard-of-oz interface for easy, efficient and robust HRI experiments
KR102469712B1 (en) Electronic device and Method for generating Natural Language thereof
KR20210040856A (en) Interactive method of smart rearview mirror, apparatus, electronic device and storage medium
KR102144891B1 (en) Humanoid robot developmnet framework system
KR102380717B1 (en) Electronic apparatus for processing user utterance and controlling method thereof
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 (en) System, interface apparatus, program, and the like
KR20230066710A (en) method of providing interface for AI-based story generation system
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 (en) Operating method for electronic apparatus for outputting information and electronic apparatus supporting thereof
US20210065677A1 (en) System and method for interactive virtual assistant generation for assemblages

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