KR101342827B1 - Method and system for developing, verifying and providing robot contents and application using cloud platform - Google Patents

Method and system for developing, verifying and providing robot contents and application using cloud platform Download PDF

Info

Publication number
KR101342827B1
KR101342827B1 KR1020120026966A KR20120026966A KR101342827B1 KR 101342827 B1 KR101342827 B1 KR 101342827B1 KR 1020120026966 A KR1020120026966 A KR 1020120026966A KR 20120026966 A KR20120026966 A KR 20120026966A KR 101342827 B1 KR101342827 B1 KR 101342827B1
Authority
KR
South Korea
Prior art keywords
robot
content
application
cloud platform
target
Prior art date
Application number
KR1020120026966A
Other languages
Korean (ko)
Other versions
KR20130104960A (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 KR1020120026966A priority Critical patent/KR101342827B1/en
Publication of KR20130104960A publication Critical patent/KR20130104960A/en
Application granted granted Critical
Publication of KR101342827B1 publication Critical patent/KR101342827B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits

Abstract

일 실시예에 따른 클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 제공하는 방법은 적어도 하나의 로봇을 위한 검증된 어플리케이션들 및 검증된 로봇 컨텐츠들과 관련된 정보를 포함하는 데이터베이스를 유지하는 단계; 대상 로봇으로부터 대상 로봇의 로봇 특성 및 대상 로봇의 하드웨어 특성을 포함하는 정보를 수신하는 단계; 데이터베이스로부터 대상 로봇의 정보에 대응되는 어플리케이션 및 로봇 컨텐츠를 선택하는 단계; 및 선택된 어플리케이션 및 로봇 컨텐츠를 앱 스토어를 통해 사용자 단말에게 제공하는 단계를 포함한다. According to an embodiment, a method of providing robot content and an application using a cloud platform may include maintaining a database including verified applications for at least one robot and information related to the verified robot contents; Receiving information including a robot characteristic of the target robot and a hardware characteristic of the target robot from the target robot; Selecting an application and robot content corresponding to information of the target robot from a database; And providing the selected application and the robot content to the user terminal through the app store.

Figure R1020120026966
Figure R1020120026966

Description

클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 방법 및 그 시스템{METHOD AND SYSTEM FOR DEVELOPING, VERIFYING AND PROVIDING ROBOT CONTENTS AND APPLICATION USING CLOUD PLATFORM}METHOOD AND SYSTEM FOR DEVELOPING, VERIFYING AND PROVIDING ROBOT CONTENTS AND APPLICATION USING CLOUD PLATFORM}

아래의 실시예들은 클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 방법 및 그 시스템에 관한 것이다.The following embodiments relate to a method and system for developing, verifying, and providing robot content and applications using a cloud platform.

종래의 로봇 산업은 주로 산업용 로봇을 위주로 하였으나, 최근 로봇 기술의 발전, 로봇 이용에 대한 대중의 관심 등을 통해 다양한 기능을 수행하는 로봇들이 늘어나고 있다. 하지만, 로봇들은 팔이 있는 로봇이냐, 다리 또는 바퀴가 있고 모니터가 없는 로봇이냐 등과 같은 로봇 특성이 서로 다르고, 각 로봇에서 사용하는 운영 체제 및 각 로봇에 구비된 하드웨어의 특징들이 서로 다르다. 특히 로봇은 다양한 입출력 보드들의 선택적 사용, 1개 이상의 프로세서 보드의 사용, 프로세서 보드에 리눅스, 윈도우, 실시간 운영체제, 임베디드 리눅스 등의 다양한 운영체제 및 ROS, OPRoS, OpenRTM, OROCOS와 같은 미들웨어가 작동될 수 있다. 따라서, 로봇마다 필요로 하거나, 구동 가능한 어플리케이션 및 로봇 컨텐츠들은 같은 기능을 하더라도 프로세서 보드, 운영체제, 미들웨어 또는 로봇 특성 등에 따라 서로 달라질 수 밖에 없다. The conventional robot industry mainly focused on industrial robots, but recently, robots that perform various functions through the development of robot technology and public interest in the use of robots are increasing. However, robots have different robot characteristics such as robots with arms, robots with legs or wheels, monitors without monitors, and the like, and operating systems used by each robot and hardware features of each robot are different. In particular, the robot can be selectively used with various input / output boards, one or more processor boards, various operating systems such as Linux, Windows, real-time operating system, embedded Linux, and middleware such as ROS, OPRoS, OpenRTM, OROCOS. . Therefore, even if each robot needs or can be driven, the application and the robot contents may have different functions depending on the processor board, the operating system, the middleware, or the characteristics of the robot even if they have the same function.

또한, 다양한 로봇들을 위한 어플리케이션 및 로봇 컨텐츠를 개발하더라도 해당 로봇에 직접 다운로드하여 적합한지 여부를 검증(혹은 테스트)하는 것은 로봇의 안정적 동작, 및 동작 환경 설정을 위한 많은 시간과 비용을 필요로 한다. 여러 프로세서 보드와 이종 운영체제가 필요한 로봇의 경우, 어플리케이션 및 로봇 컨텐츠 개발자 모두가 이러한 로봇 시스템을 구매하는 것은 매우 어렵다. 그렇기 때문에 기존 클라우드 시스템에서 제공하는 가상 기계 및 이종 운영체제들을 활용하여 보다 쉽게 어플리케이션 및 로봇 컨텐츠를 개발 및 검증하여 제공하는 방법이 필요하다. 즉, 대상 로봇을 위한 어플리케이션 및 로봇 컨텐츠의 개발 시에 최적의 개발 및 검증 환경을 제공하는 동시에, 대상 로봇을 위한 최적의 어플리케이션 및 로봇 컨텐츠를 활용 및 제공할 수 있는 방법이 요구된다.In addition, even when developing applications and robot contents for various robots, verifying (or testing) whether they are suitable by downloading directly to the robots requires a lot of time and money for stable operation of the robots and setting the operation environment. For robots that require multiple processor boards and heterogeneous operating systems, it is very difficult for both application and robot content developers to purchase these robotic systems. Therefore, there is a need for a method of easily developing, verifying and providing application and robot contents by using virtual machines and heterogeneous operating systems provided by existing cloud systems. In other words, there is a need for a method for providing an optimal development and verification environment when developing applications and robot contents for a target robot, and at the same time utilizing and providing an optimal application and robot contents for a target robot.

본 발명의 일 실시예는 대상 로봇의 로봇 특성 및 대상 로봇의 하드웨어 특성을 이용하여 대상 로봇에게 최적의 어플리케이션 및 로봇 컨텐츠를 제공할 수 있다. An embodiment of the present invention may provide an optimal application and robot contents to a target robot by using the robot characteristics of the target robot and the hardware characteristics of the target robot.

본 발명의 일 실시예는 클라우드 플랫폼을 이용하여 어플리케이션 및 로봇 컨텐츠의 개발 및 검증을 위한 동작 환경 및 라이브러리를 제공함으로써 로봇의 다양한 운영 체제와 미들웨어가 동작되는 프로세서 보드들을 실제로 제작하지 않고도 제작된 어플리케이션 및 로봇 컨텐츠를 용이하게 개발 및 검증할 수 있다. An embodiment of the present invention provides an operating environment and a library for the development and verification of applications and robot contents using a cloud platform, without the actual production of processor boards operating various operating systems and middleware of the robot and Robot content can be easily developed and verified.

본 발명의 일 실시예는 다른 로봇에 의해 수집된, 다른 로봇과 관련된 정보를 저장, 가공 및 제공함으로써 서로 다른 로봇들 간에 서로 정보를 공유할 수 있다. An embodiment of the present invention may share information with each other between different robots by storing, processing, and providing information related to other robots collected by other robots.

또한, 본 발명의 일 실시예는 클라우드 플랫폼에서 개발 및 검증된 어플리케이션 및 로봇 컨텐츠를 검증 결과와 함께 앱 스토어에 보내줌으로써 앱 스토어 차원의 검증을 좀 더 용이하게 할 수 있다.In addition, an embodiment of the present invention can facilitate the app store level verification by sending the application and robot content developed and verified in the cloud platform to the app store along with the verification result.

일 실시예에 따른 클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 방법은 적어도 하나의 로봇을 위한 검증된 어플리케이션들 및 검증된 로봇 컨텐츠들과 관련된 정보를 포함하는 데이터베이스를 유지하는 단계; 대상 로봇으로부터 상기 대상 로봇의 로봇 특성 및 상기 대상 로봇의 하드웨어 특성을 포함하는 정보를 수신하는 단계; 상기 데이터베이스로부터 상기 대상 로봇의 상기 정보에 대응되는 어플리케이션 및 로봇 컨텐츠를 선택하는 단계; 및 상기 선택된 어플리케이션 및 로봇 컨텐츠를 상기 사용자 단말에게 제공하는 단계를 포함한다. According to an embodiment, a method of developing, verifying, and providing robot contents and applications using a cloud platform may include maintaining a database including verified applications for at least one robot and information related to the verified robot contents. ; Receiving information including a robot characteristic of the target robot and a hardware characteristic of the target robot from a target robot; Selecting an application and robot content corresponding to the information of the target robot from the database; And providing the selected application and robot content to the user terminal.

상기 클라우드 플랫폼에 의해 제공된 편집기를 통해 제작된 어플리케이션 및 로봇 컨텐츠를 수신하는 단계; 및 상기 수신한 어플리케이션 및 로봇 컨텐츠를 검증 도구 및 시뮬레이터를 이용하여 검증하는 단계를 더 포함할 수 있다. Receiving application and robot content produced through an editor provided by the cloud platform; And verifying the received application and the robot content by using a verification tool and a simulator.

상기 제작된 어플리케이션 및 로봇 컨텐츠에 대한 검증 결과, 상기 제작된 어플리케이션 및 로봇 컨텐츠의 성능, 상기 검증된 어플리케이션과 관련된 하드웨어 특성 및 상기 검증된 로봇 컨텐츠와 관련된 로봇 특성을 포함하는 정보를 상기 데이터베이스에 저장하는 단계를 더 포함할 수 있다. Storing information in the database including a verification result of the produced application and robot content, performance of the produced application and robot content, hardware characteristics related to the verified application, and robot characteristics related to the verified robot content It may further comprise a step.

상기 클라우드 플랫폼은 상기 검증 도구에게 상기 제작된 어플리케이션과 관련된 라이브러리를 제공하고, 상기 시뮬레이터에게 상기 제작된 어플리케이션 및 상기 제작된 컨텐츠 각각을 위한 동작 환경을 제공할 수 있다. The cloud platform may provide the verification tool with a library related to the produced application, and provide the simulator with an operating environment for each of the produced application and the produced content.

상기 정보에 대응되는 어플리케이션 및 로봇 컨텐츠를 선택하는 단계는 상기 대상 로봇의 하드웨어 특성을 기초로, 상기 대상 로봇을 위한 어플리케이션을 선택하고, 상기 대상 로봇의 로봇 특성을 기초로, 상기 대상 로봇을 위한 로봇 컨텐츠를 선택하는 단계를 포함할 수 있다. The selecting of the application and the robot content corresponding to the information may include selecting an application for the target robot based on hardware characteristics of the target robot, and based on the robot characteristic of the target robot, the robot for the target robot. And selecting content.

상기 대상 로봇과 구분되는 다른 로봇 혹은 앱 스토어로부터 상기 다른 로봇과 관련된 정보를 수신하는 단계; 및 상기 다른 로봇과 관련된 정보를 저장하는 단계를 더 포함할 수 있다. Receiving information related to the other robot from another robot or an app store separated from the target robot; And storing information related to the other robot.

상기 다른 로봇과 관련된 정보는 상기 다른 로봇의 주행 경로에 대한 정보 및 상기 다른 로봇이 경험한 주변 환경에 대한 정보를 포함할 수 있다. The information related to the other robot may include information about a driving route of the other robot and information about the surrounding environment experienced by the other robot.

상기 다른 로봇과 관련된 정보를 가공하는 단계; 및 상기 가공된 정보를 상기 앱 스토어에 업로드하는 단계를 더 포함할 수 있다. Processing information associated with the other robot; And uploading the processed information to the app store.

일 실시예에 따른 클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 시스템은 대상 로봇을 위한 어플리케이션 및 컨텐츠를 제작하기 위한 편집기; 상기 편집기를 통해 제작된 어플리케이션 및 로봇 컨텐츠를 검증하는 검증 도구 및 시뮬레이터; 및 상기 검증 도구에게 상기 제작된 어플리케이션과 관련된 라이브러리를 제공하고, 상기 시뮬레이터에게 상기 제작된 어플리케이션 및 상기 제작된 컨텐츠 각각을 위한 동작 환경을 제공하는 클라우드 플랫폼을 포함하고, 상기 대상 로봇은 상기 대상 로봇의 로봇 특성 및 상기 대상 로봇의 하드웨어 특성에 기초하여 선택된 어플리케이션 및 로봇 컨텐츠를 앱 스토어로부터 다운로드한다. According to an embodiment, a system for developing, verifying, and providing a robot content and an application using a cloud platform may include an editor for producing an application and content for a target robot; Verification tool and simulator for verifying the application and the robot content produced by the editor; And a cloud platform for providing the verification tool with a library related to the produced application, and providing the simulator with an operating environment for each of the produced application and the produced content, wherein the target robot is configured to include the target robot. The selected application and the robot content are downloaded from the app store based on the robot characteristics and the hardware characteristics of the target robot.

상기 제작된 어플리케이션 및 로봇 컨텐츠에 대한 검증 결과, 상기 제작된 어플리케이션 및 로봇 컨텐츠의 성능, 상기 검증된 어플리케이션과 관련된 하드웨어 특성 및 상기 검증된 로봇 컨텐츠와 관련된 로봇 특성을 포함하는 정보를 저장하는 데이터베이스를 더 포함할 수 있다. And a database for storing information including a result of verification of the produced application and robot content, performance of the produced application and robot content, hardware characteristics related to the verified application, and robot characteristics related to the verified robot content. It may include.

상기 클라우드 플랫폼은 상기 데이터베이스로부터 상기 대상 로봇의 상기 정보에 대응되는 어플리케이션 및 로봇 컨텐츠를 선택할 수 있다.The cloud platform may select an application and robot content corresponding to the information of the target robot from the database.

상기 클라우드 플랫폼은 상기 대상 로봇의 하드웨어 특성을 기초로 상기 대상 로봇을 위한 어플리케이션을 선택하고, 상기 대상 로봇의 특성을 기초로 상기 대상 로봇을 위한 로봇 컨텐츠를 선택할 수 있다. The cloud platform may select an application for the target robot based on the hardware characteristics of the target robot, and select the robot content for the target robot based on the characteristics of the target robot.

상기 클라우드 플랫폼은 상기 검증 도구에게 상기 제작된 어플리케이션과 관련된 라이브러리를 제공하고, 상기 시뮬레이터에게 상기 제작된 어플리케이션 및 상기 제작된 컨텐츠 각각을 위한 동작 환경을 제공할 수 있다. The cloud platform may provide the verification tool with a library related to the produced application, and provide the simulator with an operating environment for each of the produced application and the produced content.

상기 클라우드 플랫폼은 상기 대상 로봇과 구분되는 다른 로봇으로부터 수신된 상기 다른 로봇과 관련된 정보를 저장할 수 있다. The cloud platform may store information related to the other robot received from another robot distinguished from the target robot.

상기 다른 로봇과 관련된 정보는 상기 다른 로봇의 주행 경로에 대한 정보 및 상기 다른 로봇이 경험한 주변 환경에 대한 정보를 포함할 수 있다. The information related to the other robot may include information about a driving route of the other robot and information about the surrounding environment experienced by the other robot.

상기 클라우드 플랫폼은 상기 다른 로봇과 관련된 정보를 가공하여 상기 앱 스토어에 업로드할 수 있다.The cloud platform may process the information related to the other robot and upload it to the app store.

일 실시예에 따르면, 대상 로봇의 로봇 특성 및 대상 로봇의 하드웨어 특성에 대응되는 어플리케이션 및 로봇 컨텐츠를 선택하여 제공함으로써 대상 로봇에게 최적의 어플리케이션 및 로봇 컨텐츠를 제공할 수 있다. According to an embodiment of the present disclosure, the application and robot contents corresponding to the robot characteristics of the target robot and the hardware characteristics of the target robot may be selected and provided to provide the optimum application and the robot contents to the target robot.

일 실시예에 따르면, 클라우드 플랫폼을 이용하여 어플리케이션 및 로봇 컨텐츠의 검증을 위한 동작 환경 및 라이브러리를 제공함으로써 로봇 각각이 대용량의 메모리 혹은 프로세서를 구비하지 않고도 제작된 어플리케이션 및 로봇 컨텐츠를 용이하게 검증할 수 있다. According to an embodiment, the cloud platform provides an operating environment and a library for verifying applications and robot contents, so that each robot can easily verify the produced application and robot contents without having a large memory or a processor. have.

또한, 일 실시예에 따르면, 클라우드 플랫폼이 다른 로봇에 의해 수집된 주행 경로 및 주변 환경 등에 대한 정보를 저장, 가공 및 제공함으로써 서로 다른 로봇들 간에 정보를 공유할 수 있다.In addition, according to an embodiment, the cloud platform may share information between different robots by storing, processing, and providing information about a driving route and surrounding environment collected by other robots.

도 1을 일 실시예에 따른 (로봇) 클라우드 플랫폼을 나타낸 도면이다.
도 2는 일 실시예에 따른 클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 방법이 구현되는 시스템 환경을 나타낸 도면이다.
도 3은 일 실시예에 따른 클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 방법을 나타낸 플로우차트이다.
도 4는 일 실시예에 따른 클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 방법에서 검증을 수행하는 과정을 나타낸 플로우차트이다.
도 5는 일 실시예에 따른 클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 방법에서 다른 로봇 및 대상 로봇에 의해 수집된 정보를 앱 스토어, 클라우드 플랫폼, 서버 혹은 로봇으로부터 제공 받거나 앱 스토어, 클라우드 플랫폼, 서버 혹은 로봇으로 제공하는 과정을 나타낸 플로우차트이다.
도 6은 일 실시예에 따른 클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 시스템의 블록도이다.
1 is a diagram illustrating a (robot) cloud platform according to an embodiment.
2 is a diagram illustrating a system environment in which a method for developing, verifying, and providing a robot content and an application using a cloud platform is implemented.
3 is a flowchart illustrating a method of developing, verifying, and providing a robot content and an application using a cloud platform according to an exemplary embodiment.
4 is a flowchart illustrating a process of performing verification in a method of developing, verifying, and providing a robot content and an application using a cloud platform according to an exemplary embodiment.
FIG. 5 is a view showing information collected by other robots and target robots from an app store, a cloud platform, a server, or a robot in a method of developing, verifying, and providing robot contents and applications using a cloud platform according to an embodiment; This is a flowchart showing the process of providing to a store, cloud platform, server, or robot.
6 is a block diagram of a system for developing, verifying and providing robot content and applications using a cloud platform according to an embodiment.

이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to or limited by the embodiments. Also, like reference numerals in the drawings denote like elements.

도 1을 일 실시예에 따른 (로봇) 클라우드 플랫폼을 나타낸 도면이다.1 is a diagram illustrating a (robot) cloud platform according to an embodiment.

(로봇) 클라우드 플랫폼은 일반 클라우드 플랫폼에서 클라우드 어플리케이션(cloud application)에 해당 되며, 클라우드 서비스로써 플랫폼 서비스를 제공한다. The (robot) cloud platform corresponds to a cloud application in a general cloud platform, and provides a platform service as a cloud service.

일 실시예에 따르면, 사용자는 클라우드 플랫폼 서비스를 통하여 로봇 컨텐츠와 어플리케이션을 개발하여 검증 및 제공할 수 있다. 또한, 사용자는 클라우드 플랫폼 서비스에서 제공하는 ROS, OPRoS, RTM과 같은 미들웨어들을 활용하여 컨텐츠와 어플리케이션을 개발함으로써 이식성을 높일 수 있는 서비스 API(Application Programming Interface)를 제공할 수 있다.According to an embodiment, a user may develop, verify, and provide robot content and an application through a cloud platform service. In addition, a user may provide a service API (Application Programming Interface) that can increase portability by developing contents and applications using middleware such as ROS, OPRoS, and RTM provided by a cloud platform service.

즉, 서비스 API를 사용하여 컨텐츠 혹은 어플리케이션을 개발하면 미들웨어의 종류에 관계없이 소프트웨어가 동작되므로 많은 편리성이 제공될 수 있다. 또한, 개발된 컨텐츠 혹은 응용 S/W는 클라우드 플랫폼 서비스를 활용하여 동작할 수 있다. That is, when a content or an application is developed using a service API, software may operate regardless of the kind of middleware, thereby providing a lot of convenience. In addition, the developed content or application software can operate using cloud platform services.

결국, 클라우드 플랫폼 서비스는 컨텐츠 혹은 응용 S/W가 하나 이상의 미들웨어들을 활용하더라도 이를 일반 클라우드 플랫폼의 가상 자원들을 활용하여 관련 미들웨어들이 동작할 수 있도록 함으로써 상호 동작이 가능하도록 하여 준다. After all, even if the content or application S / W utilizes one or more middlewares, the cloud platform service enables interoperability by allowing related middlewares to operate using virtual resources of the general cloud platform.

만약, 일 실시예와 같이 클라우드 서비스 플랫폼을 사용하지 않는다면 실제로 H/W를 구성해야 하기 때문에 시간과 비용이 많이 소모될 뿐만 아니라, 여러 미들웨어가 다양한 H/W를 쉽게 활용할 수 있도록 device API를 제공해야 한다. If you do not use the cloud service platform as in one embodiment, it is not only time-consuming and expensive because you actually need to configure H / W, and also provide a device API so that various middlewares can easily use various H / W. do.

여기서, device API는 로봇의 실제 H/W를 제어하거나 시뮬레이션의 가상 H/W를 제어하기 위한 API이다. 이 device API로 인하여 어플리케이션은 소스 코드를 변경함이 없이 H/W를 제어하거나 시뮬레이션을 활용할 수 있으며, 또한 클라우드 플랫폼 서비스는 미들웨어 간 데이터 교환을 위하여 브릿지 기능을 제공할 수 있다. Here, the device API is an API for controlling the actual hardware of the robot or the virtual hardware of the simulation. This device API allows applications to control hardware or utilize simulation without changing source code, and cloud platform services can also provide bridge functions for data exchange between middleware.

클라우드 플랫폼 서비스는 이러한 브릿지 기능을 통하여 미들웨어 간의 상태 혹은 미들웨어에서 발생한 데이터를 다른 미들웨어로 전송하여 관련 응용 S/W가 알맞게 동작하도록 한다. 또한 클라우드 플랫폼 서비스는 제공하는 H/W 모듈과 가상 H/W 모듈을 활용하여 임베디드(embedded) S/W를 개발하게 도와준다. 이를 통하여 사용자는 임베디드 어플리케이션을 쉽게 개발할 수 있게 한다.Through this bridge function, the cloud platform service transmits the state between middleware or data generated from the middleware to other middleware so that the related application software operates properly. In addition, cloud platform service helps to develop embedded S / W by utilizing provided H / W module and virtual H / W module. This makes it easy for users to develop embedded applications.

또한, 클라우드 플랫폼 서비스는 ROS, OPRoS, openRTM의 응용 S/W를 쉽게 개발할 수 있도록 개발 도구를 제공하며, 컨텐츠 및 서비스 응용 S/W를 쉽게 개발할 수 있도록 서비스 개발 도구 또한 제공할 수 있다. 이렇게 개발된 컨텐츠 및 응용 S/W는 클라우드 서비스 플랫폼에서 제공하는 시뮬레이션 및 환경 모델을 통하여 검증할 수 있고, 또한 실제 클라우드 서비스 플랫폼에 연결된 실제 로봇 시스템에 다운로드되어 검증될 수 있다.
In addition, cloud platform services can provide development tools to easily develop application software of ROS, OPRoS, and openRTM, and can also provide service development tools to easily develop content and service application software. The developed contents and application software can be verified through simulation and environment models provided by the cloud service platform, and can also be downloaded and verified on the real robot system connected to the real cloud service platform.

도 2는 일 실시예에 따른 클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 방법이 구현되는 시스템 환경을 나타낸 도면이다. 2 is a diagram illustrating a system environment in which a method for developing, verifying, and providing a robot content and an application using a cloud platform is implemented.

도 2을 참조하면, 일 실시예에 따른 클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 방법이 구현되는 시스템은 편집기(Editor)(210), 클라우드 플랫폼(Cloud Platform)(220), 검증 도구 및 시뮬레이터(230), 대상 로봇(240), 앱 스토어(App Store)(250) 및 다른 로봇들(260)을 포함한다. Referring to FIG. 2, a system in which a method for developing, verifying, and providing robot contents and applications using a cloud platform according to an embodiment is implemented may include an editor 210 and a cloud platform 220. , Verification tool and simulator 230, target robot 240, app store 250, and other robots 260.

편집기(Editor)(210)는 클라우드 플랫폼(220)이 제공하는 편집기로서, 사용자가 편집기(210)를 이용하여 편집한 어플리케이션(혹은 컴포넌트) 및 로봇 컨텐츠를 편집하고, 컴파일(Compile)하여 링크(Link)시킨다. 편집기(210)는 결과물에 대한 검증을 위하여 제작된 어플리케이션(혹은 컴포넌트) 및 로봇 컨텐츠를 검증 도구 및 시뮬레이터(230)에게 제공한다. The editor 210 is an editor provided by the cloud platform 220. The editor 210 edits, compiles and links an application (or component) and robot content edited by the user using the editor 210. ) The editor 210 provides the verification tool and the simulator 230 with the application (or component) and the robot content, which are manufactured for verification of the result.

클라우드 플랫폼(Cloud Platform)(220)은 시험 및 검증 도구(233)에게 제작된 어플리케이션과 관련된 라이브러리를 제공하고, 시뮬레이터(236)에게 제작된 어플리케이션 및 제작된 컨텐츠 각각을 위한 동작 환경을 제공할 수 있다. 특히, 시뮬레이터(236)를 통해 검증할 경우, 클라우드 플랫폼(220)은 로봇의 가상 H/W 모듈과 동작 환경(예를 들어, 프로세서 보드, 운영체제, 미들웨어 등의 장착 여부 등) 및 다양한 환경 모델을 제공하여 어플리케이션 등의 동작을 검증하고, 시뮬레이터(236)로부터 어플리케이션의 한계점에 대한 정보를 제공받을 수 있다. The cloud platform 220 may provide the test and verification tool 233 with a library related to the produced application, and provide the simulator 236 with an operating environment for each of the produced application and the produced content. . In particular, when verifying through the simulator 236, the cloud platform 220 is a virtual hardware module and operating environment of the robot (for example, whether the processor board, operating system, middleware, etc.) and various environmental models By verifying the operation of the application, such as by providing, the simulator 236 may be provided with information on the limits of the application.

예를 들어, 제작된 어플리케이션이 리눅스, 윈도우, 실시간 운영 체제 중 어느 하나의 운영 체제인 경우, 클라우드 플랫폼(220)은 해당 운영 체제에서 어플리케이션을 실행하기 위해 필요한 관련 라이브러리 및 동작 환경을 제공할 수 있다. For example, if the produced application is an operating system of any one of Linux, Windows, and a real-time operating system, the cloud platform 220 may provide a related library and an operating environment required for executing the application in the corresponding operating system. .

여기서, 어플리케이션은 로봇에서 동작하는 S/W 모듈을 통칭하는 의미로 사용될 수 있다. Here, the application may be used as a generic name for the S / W module operating in the robot.

또한, 클라우드 플랫폼(220)은 로봇 컨텐츠가 리눅스, 윈도우, 실시간 운영 체제, 혹은 리눅스+ 윈도우, 윈도우+실시간 운영 체제, .. , 리눅스+윈도우+실시간 운영 체제 등과 같은 혼합형 환경에서 동작하는 경우에 로봇 컨텐츠의 동작을 검증할 수 있는 동작 환경을 제공할 수 있다. 이 밖에도, 리눅스 및 윈도우에서는 ROS, OPRoS, openRTM과 같은 미들웨어가 동작할 수 있으며, 실시간 운영 체제에서는 OPRoS, openRTM, OROCOS와 같은 미들웨어가 동작될 수 있다. 이러한 연관성을 고려하면, 굉장히 많은 조합들이 생성될 수 있다. In addition, the cloud platform 220 is a robot when the robot content is operating in a mixed environment, such as Linux, Windows, real-time operating system, or Linux + Windows, Windows + real-time operating system, ..., Linux + Windows + real-time operating system, etc. An operation environment for verifying the operation of the content may be provided. In addition, middleware such as ROS, OPRoS, and openRTM may operate in Linux and Windows, and middleware such as OPRoS, openRTM, and OROCOS may operate in a real-time operating system. Given this association, a great many combinations can be created.

클라우드 플랫폼(220)은 대상 로봇(240)에게 직접 정보를 요청하여 대상 로봇(240)으로부터 직접 대상 로봇의 로봇 특성 및 하드웨어 특성을 포함하는 정보를 수신할 수도 있다. The cloud platform 220 may directly request information from the target robot 240 to receive information including the robot characteristics and hardware characteristics of the target robot directly from the target robot 240.

검증 도구 및 시뮬레이터(230)는 편집기(Editor)(210)에 의해 제작된 어플리케이션(혹은 컴포넌트) 및 로봇 컨텐츠를 검증할 수 있다. 검증 도구 및 시뮬레이터(230)는 시험 및 검증 도구(233) 및 시뮬레이터(236)를 포함할 수 있다. 시험 및 검증 도구(233)는 편집기(220)에 의해 제작된 어플리케이션(혹은 컴포넌트) 및 로봇 컨텐츠 자체가 정상적으로 동작하는지 여부를 시험 및 검증한다. 시뮬레이터(236)는 제작된 어플리케이션(혹은 컴포넌트) 및 로봇 컨텐츠가 주어진 특정 환경에서 정확히 동작하는지 여부를 검증한다. 실제로 동일한 어플리케이션이라 하더라도 운영 체제, 하드웨어 특성 혹은 로봇 특성 등에 의해 정상적으로 구동될 수도 있고, 아닐 수도 있기 때문이다. The verification tool and simulator 230 may verify the application (or component) and robot content produced by the editor 210. Verification tool and simulator 230 may include test and verification tool 233 and simulator 236. The test and verification tool 233 tests and verifies whether the application (or component) produced by the editor 220 and the robot content itself operate normally. The simulator 236 verifies whether the produced application (or component) and robotic content operate correctly in a given specific environment. In fact, even the same application may or may not be normally driven by the operating system, hardware characteristics, or robot characteristics.

검증 도구 및 시뮬레이터(230)는 검증된 어플리케이션(혹은 컴포넌트) 및 로봇 컨텐츠를 클라우드 플랫폼(Cloud Platform)(220)에게 제공할 수 있다. The verification tool and simulator 230 may provide the verified application (or component) and robot content to the cloud platform 220.

뿐만 아니라, 검증 도구 및 시뮬레이터(230)는 제작된 어플리케이션 및 로봇 컨텐츠에 대한 검증 결과, 제작된 어플리케이션 및 로봇 컨텐츠의 성능, 검증된 어플리케이션과 관련된 하드웨어 특성 및 검증된 로봇 컨텐츠와 관련된 로봇 특성을 포함하는 정보를 제공할 수 있다. 이에 따라, 클라우드 플랫폼(220)은 상술한 정보들을 데이터베이스에 저장할 수 있다.In addition, the verification tool and simulator 230 includes verification results of the produced application and the robot content, performance of the produced application and the robot content, hardware characteristics related to the verified application, and robot characteristics related to the verified robot content. Information can be provided. Accordingly, the cloud platform 220 may store the above information in a database.

검증 도구 및 시뮬레이터(230)가 상술한 검증 결과, 성능, 하드웨어 특성 및 로봇 특성을 함께 제공함으로써 사용자는 사용(제작)하고자 하는 로봇의 하드웨어 특성 및 로봇 특성에 따라 필요한 로봇 컨텐츠 혹은 어플리케이션을 다운로드하여 새로운 컴포넌트 혹은 컨텐츠를 제작할 수 있다. 물론, 제작된 새로운 컴포넌트 및 컨텐츠는 다시 검증 도구 및 시뮬레이터(230)에 의해 검증을 거친 후, 클라우드 플랫폼(220)에 업로드 될 수 있다. By providing the verification result, performance, hardware characteristics, and robot characteristics together with the verification tool and simulator 230, the user can download necessary robot contents or applications according to the hardware characteristics and robot characteristics of the robot to be used (manufactured). You can create components or content. Of course, new components and contents produced may be uploaded to the cloud platform 220 after being verified by the verification tool and simulator 230 again.

일 실시예에 따른 클라우드 플랫폼(220)에서는 편집기(210)를 통한 어플리케이션 혹은 로봇 컨텐츠의 제작 시에 운영체제뿐만 아니라 로봇에서 사용하는 미들웨어(Middleware)(예를 들어, ROS, OPRoS, OpenRTM, OROCOS)도 한 개 이상을 복합적으로 선택하도록 할 수 있다. 검증 도구 및 시뮬레이터(230)는 복합적으로 선택된 미들웨어에 의해 제작된 어플리케이션 혹은 컨텐츠를 검증할 수 있다. In the cloud platform 220 according to an embodiment, not only the operating system but also middleware (for example, ROS, OPRoS, OpenRTM, OROCOS) used by the robot when the application or the robot content is produced through the editor 210. You can choose more than one combination. The verification tool and the simulator 230 may verify an application or content produced by the middleware selected in combination.

이와 같이 클라우드 플랫폼(220)을 사용하는 경우, 저렴한 비용으로 다양한 어플리케이션 및 로봇 컨텐츠를 개발할 수 있으며, 기존의 모든 미들웨어들을 조합하여 다양한 어플리케이션 및 로봇 컨텐츠를 개발할 수 있다. As such, when the cloud platform 220 is used, various applications and robot contents may be developed at low cost, and various applications and robot contents may be developed by combining all existing middleware.

또한, 클라우드 플랫폼(220)에서 개발된 어플리케이션 혹은 로봇 컨텐츠는 검증 도구 및 시뮬레이터(230)를 통해 검증된 후, 실제 대상 로봇에 다운로드 되어 검증될 수도 있다. 이러한 검증을 거침으로서 대상 로봇에 대한 어플리케이션 혹은 로봇 컨텐츠의 실제 성능 및 안정성에 대한 결과를 파악할 수 있다. 여기서, 대상 로봇은 필요할 경우, 어플리케이션 혹은 로봇 컨텐츠 및 해당 검증 결과를 직접 클라우드 플랫폼(220)에게 업로드할 수 있다.In addition, the application or robot content developed in the cloud platform 220 may be verified by the verification tool and the simulator 230, and then downloaded to the actual target robot and verified. Through this verification, it is possible to grasp the results of the actual performance and stability of the application or robot content for the target robot. Here, if necessary, the target robot may directly upload the application or robot contents and the verification result to the cloud platform 220.

뿐만 아니라, 대상 로봇(240)은 필요한 어플리케이션 및 로봇 컨텐츠를 직접 클라우드 플랫폼(220)으로부터 다운로드 할 수도 있다.In addition, the target robot 240 may download the necessary application and robot content directly from the cloud platform 220.

즉, 대상 로봇(240)에 대한 정보가 명확하지 않다면, 클라우드 플랫폼(220)은 실제 대상 로봇(240)에게 해당 정보를 요청하고, 이를 업로드 받아 활용함으로써 새로운 어플리케이션 및 로봇 컨텐츠를 개발할 수 있다. That is, if the information on the target robot 240 is not clear, the cloud platform 220 may request a corresponding information from the actual target robot 240, upload and use the information, and develop new applications and robot contents.

이때, 편집기(210) 또는 검증 도구 및 시뮬레이터(230)는 도 1과 같이 클라우드 플랫폼(120) 내에 포함될 수도 있고, 도 2와 같이 클라우드 플랫폼(220)과 별개로 구성될 수도 있다. In this case, the editor 210 or the verification tool and the simulator 230 may be included in the cloud platform 120 as shown in FIG. 1, or may be configured separately from the cloud platform 220 as shown in FIG. 2.

대상 로봇(240)이 대상 로봇(240)의 로봇 특성 및 하드웨어 특성을 포함하는 정보를 전송하면, 클라우드 플랫폼(220)은 데이터베이스 등으로부터 대상 로봇(240)의 해당 정보에 대응되는 어플리케이션 및 로봇 컨텐츠(들)을 선택하여 앱 스토어(250)를 통해 대상 로봇(240)에게 제공할 수 있다.When the target robot 240 transmits information including robot characteristics and hardware characteristics of the target robot 240, the cloud platform 220 may transmit an application and robot content corresponding to the corresponding information of the target robot 240 from a database or the like. ) May be selected and provided to the target robot 240 through the app store 250.

여기서, 대상 로봇(240)의 '로봇 특성'은 예를 들어, 대상 로봇(240)이 모니터만 있는 로봇인지 혹은 바퀴와 팔은 있지만 다리가 없는 로봇인지, 모니터만을 구비한 로봇인지 등과 같은 해당 로봇의 구조 혹은 구성과 관련된 특성 및 대상 로봇(240)이 윈도우 운영 체제에서 운영 가능한 로봇인지, 리눅스와 윈도우 동시에 운영 가능한 로봇인지 프로세서 보드가 몇 개 있는지, 해당 프로세서 보드에 동작하는 운영 체제와 미들웨어의 종류, 현재 기본적으로 사용하고 있는 어플리케이션들의 기능 및 구성과 컨텐츠의 집합 등과 같은 운영 체제 측면에서의 특성을 의미한다. Here, the 'robot characteristics' of the target robot 240 is, for example, whether the target robot 240 is a robot with only a monitor or a robot with wheels and arms but no legs, or a robot with only a monitor. Characteristics related to the structure or configuration of the target robot 240 is a robot that can operate in the Windows operating system, Linux and Windows can be operated at the same time the number of processor boards, the type of operating system and middleware operating on the processor board It refers to the characteristics of the operating system, such as the function and configuration of the applications currently being used and the collection of contents.

또한, 대상 로봇(240)의 '하드웨어 특성'은 예를 들어, 대상 로봇의 암(arm) 장력은 얼마인지, 로봇 팔의 회전 각도는 얼마인지, 구비된 프로세서 보드의 성능 및 메모리의 용량 등은 어떠한지, 입출력 모듈의 종류(예, 이동용 모터의 수와 규격, 조작용 모터의 수와 규격, 카메라의 종류와 규격, 레이저/초음파/적외선 센서의 수와 규격 등) 등과 같은 대상 로봇을 구성하는 하드웨어 각각의 특성을 의미한다. In addition, the 'hardware characteristic' of the target robot 240 is, for example, how much the arm tension of the target robot, how much the rotation angle of the robot arm, the performance of the provided processor board and the capacity of the memory, etc. Hardware that configures the target robot, such as the type of input / output module (e.g., the number and size of mobile motors, the number and size of operating motors, the type and size of cameras, the number and size of laser / ultrasonic / infrared sensors, etc.) Each characteristic means.

앱 스토어(App Store)(250)는 로봇과 관련된 다양한 어플리케이션 및 로봇 컨텐츠를 제공할 수 있다. 앱 스토어(250)를 통해 각 로봇이 필요로 하는 어플리케이션 및 로봇 컨텐츠에 대한 교환, 매매 또한 가능하다. 앱 스토어(250)는 클라우드 플랫폼(220)으로부터 다양한 어플리케이션 및 로봇 컨텐츠를 제공받을 수 있다. The app store 250 may provide various applications and robot contents related to the robot. The app store 250 may also exchange and trade applications and robot contents required by each robot. The app store 250 may receive various application and robot contents from the cloud platform 220.

다른 로봇들(260)은 자신이 경험한 주변 환경에 대한 정보 및 주행 경로 등과 같은 다른 로봇과 관련된 정보를 클라우드 플랫폼(220)에게 제공할 수 있다. 클라우드 플랫폼(220)은 다른 로봇들(260)이 제공한 정보를 가공하여 앱 스토어(250)를 통해 또는 직접 대상 로봇(240) 또는 그 밖의 로봇들에게 제공할 수 있다.
The other robots 260 may provide the cloud platform 220 with information related to other robots, such as information about a surrounding environment and a driving route that they have experienced. The cloud platform 220 may process information provided by the other robots 260 and provide it to the target robot 240 or other robots through the app store 250 or directly.

도 3은 일 실시예에 따른 클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 방법을 나타낸 플로우차트이다. 3 is a flowchart illustrating a method of developing, verifying, and providing a robot content and an application using a cloud platform according to an exemplary embodiment.

도 3를 참조하면, 클라우드 플랫폼은 적어도 하나의 로봇을 위한 검증된 어플리케이션들 및 검증된 로봇 컨텐츠들과 관련된 정보를 포함하는 데이터베이스를 유지한다(310).Referring to FIG. 3, the cloud platform maintains 310 a database containing information related to verified applications and verified robot content for at least one robot.

클라우드 플랫폼은 대상 로봇으로부터 대상 로봇의 로봇 특성 및 대상 로봇의 하드웨어 특성을 포함하는 정보를 수신한다(320).The cloud platform receives the information including the robot characteristics of the target robot and the hardware characteristics of the target robot from the target robot (320).

클라우드 플랫폼은 데이터베이스에 대상 로봇의 정보에 대응되는 어플리케이션 및 로봇 컨텐츠가 존재하는지 여부를 판단할 수 있다(330).The cloud platform may determine whether an application and robot content corresponding to the information of the target robot exist in the database (330).

만약, 330에서 데이터베이스에 대상 로봇의 정보에 대응되는 어플리케이션 및 로봇 컨텐츠가 존재하면, 클라우드 플랫폼은 데이터베이스로부터 대상 로봇의 해당 정보(여기서는 대상 로봇의 로봇 특성 및 대상 로봇의 하드웨어 특성을 포함하는 정보)에 대응되는 어플리케이션 및 로봇 컨텐츠를 선택한다(340). 이때, 클라우드 플랫폼은 대상 로봇의 하드웨어 특성을 기초로, 대상 로봇을 위한 어플리케이션을 선택하고, 대상 로봇의 로봇 특성을 기초로, 대상 로봇을 위한 로봇 컨텐츠를 선택할 수 있다.If there is an application and robot content corresponding to the information of the target robot in the database at 330, the cloud platform stores information on the corresponding information of the target robot (in this case, information including the robot characteristic of the target robot and the hardware characteristic of the target robot) from the database. The corresponding application and robot content are selected (340). In this case, the cloud platform may select an application for the target robot based on the hardware characteristics of the target robot, and select the robot content for the target robot based on the robot characteristics of the target robot.

반면에, 330에서 데이터베이스에 대상 로봇의 정보에 대응되는 어플리케이션 및 로봇 컨텐츠가 존재하지 않으면, 클라우드 플랫폼은 데이터베이스로부터 필요한 어플리케이션 및 로봇 컨텐츠의 일부를 선택한다(350). 그 후, 클라우드 플랫폼은 편집기를 활용하여 데이터베이스에 존재하지 않는, 대상 로봇의 정보에 대응되는 어플리케이션 및 로봇 컨텐츠를 개발한다(360).On the other hand, if there is no application and robot content corresponding to the information of the target robot in the database at 330, the cloud platform selects a portion of the required application and robot content from the database (350). Thereafter, the cloud platform uses an editor to develop an application and robot content corresponding to the information of the target robot, which does not exist in the database (360).

이후, 클라우드 플랫폼은 340에서 선택된 혹은 360에서 개발된 어플리케이션 및 로봇 컨텐츠를 동작 환경과 다양한 주변 환경 정보를 활용하여 클라우드 플랫폼에서 검증한다(370).Thereafter, the cloud platform verifies the application and robot content selected in 340 or 360 in the cloud platform using operating environment and various surrounding environment information (370).

클라우드 플랫폼은 검증이 완료되었는지 여부를 판단(380)하고, 검증이 완료(OK)되었다면, 선택된 어플리케이션 및 로봇 컨텐츠를 앱 스토어를 통해 대상 로봇에게 제공한다(390). 반면에, 380에서 검증이 완료되지 않았다면, 클라우드 플랫폼은 350으로 가서 다시 필요한 어플리케이션 및 로봇 컨텐츠 일부를 선택한다.
The cloud platform determines whether the verification is completed (380), and if the verification is completed (OK), and provides the selected application and robot content to the target robot through the app store (390). On the other hand, if the verification is not complete at 380, the cloud platform goes to 350 and selects some of the necessary application and robot content again.

도 4는 일 실시예에 따른 클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 방법에서 검증을 수행하는 과정을 나타낸 플로우차트이다. 4 is a flowchart illustrating a process of performing verification in a method of developing, verifying, and providing a robot content and an application using a cloud platform according to an exemplary embodiment.

클라우드 플랫폼은 클라우드 플랫폼에 의해 제공된 편집기를 통해 제작되거나,앱 스토어 등에 의해 제공된 어플리케이션 및 로봇 컨텐츠를 수신한다(410). 410 단계에서는 제작된 어플리케이션과 로봇 콘텐츠, 앱스토어 혹은 개발자가 보관하고 있는 어플리케이션을 활용하여 이후 새롭게 제작된 어플리케이션 및 컨텐츠를 검증하거나 기존의 어플리케이션 및 컨텐츠를 검증할 수 있다.The cloud platform receives an application and robot content provided through an editor provided by the cloud platform or provided by an app store or the like (410). In step 410, the newly created application and the content may be verified or the existing application and the content may be verified using the produced application and the robot content, the app store, or the application stored by the developer.

클라우드 플랫폼은 제공된 어플리케이션 및 로봇 컨텐츠를 대상 로봇에 활용할 수 있도록 편집기를 통해 새로운 어플리케이션 및 컨텐츠로 개발하여 재가공한다(420).The cloud platform develops and reprocesses new applications and contents through an editor so as to utilize the provided applications and robot contents in the target robot (420).

클라우드 플랫폼은 재가공한 어플리케이션 및 로봇 컨텐츠를 검증 도구 및 시뮬레이터를 이용하여 검증할 것인지 판단한다(430).The cloud platform determines whether to verify the reprocessed application and robot content using a verification tool and a simulator (430).

만약, 430에서 검증한다고 판단되면, 클라우드 플랫폼은 검증 도구 및 시뮬레이터 기반으로 제공되는 각종 동작 환경과 주변 환경을 활용하여 재가공한 어플리케이션 및 컨텐츠를 검증한다(440). 반면에, 430에서 검증이 필요하지 않다고 판단되면, 클라우드 플랫폼은 바로 450의 동작을 수행하게 된다. If it is determined at 430, the cloud platform verifies the reprocessed application and content using various operating environments and surroundings provided based on the verification tool and the simulator (440). On the other hand, if it is determined that no verification is required at 430, the cloud platform immediately performs operation of 450.

이때, 클라우드 플랫폼은 검증 도구에게 제작된 어플리케이션과 관련된 라이브러리를 제공하고, 시뮬레이터에게 제작된 어플리케이션 및 제작된 컨텐츠 각각을 위한 동작 환경을 제공할 수 있다. In this case, the cloud platform may provide the verification tool with a library related to the produced application, and provide the simulator with an operating environment for each of the produced application and the produced content.

특히, 시뮬레이터를 통해 검증할 경우, 클라우드 플랫폼은 다양한 환경 모델을 제공하여 어플리케이션 등의 동작을 검증하고, 시뮬레이터로부터 어플리케이션의 한계점 등에 대한 정보를 제공받을 수 있다. In particular, when verifying through a simulator, the cloud platform may provide various environment models to verify the operation of an application and the like, and may receive information about the limitations of the application from the simulator.

예를 들어, 제작된 어플리케이션이 리눅스, 윈도우, 실시간 운영 체제 중 어느 하나의 운영 체제인 경우, 클라우드 플랫폼은 해당 운영 체제에서 어플리케이션을 실행하기 위해 필요한 관련 라이브러리 및 동작 환경을 제공할 수 있다. For example, if the produced application is an operating system of Linux, Windows, or a real-time operating system, the cloud platform may provide a related library and an operating environment for running the application on the operating system.

또한, 클라우드 플랫폼은 로봇 컨텐츠가 리눅스, 윈도우, 실시간 운영 체제, 혹은 리눅스+ 윈도우, 윈도우+실시간 운영 체제, ... , 리눅스+윈도우+실시간 운영 체제 등과 같은 혼합형 환경에서 동작하는 경우에 로봇 컨텐츠의 동작을 검증할 수 있는 동작 환경을 제공할 수 있다. In addition, the cloud platform can be used when the robot content operates in a mixed environment such as Linux, Windows, real-time operating system, or Linux + Windows, Windows + real-time operating system, ..., Linux + Windows + real-time operating system. It can provide an operating environment that can verify the operation.

클라우드 플랫폼은 재가공한 어플리케이션 및 로봇 컨텐츠에 대한 검증 여부, 검증 결과, 제작된 어플리케이션 및 로봇 컨텐츠의 성능, 검증된 어플리케이션과 관련된 하드웨어 특성 및 검증된 로봇 컨텐츠와 관련된 로봇 특성을 포함하는 정보를 데이터베이스에 저장한다(450).The cloud platform stores information in the database, including whether or not the reprocessed application and robot content have been verified, the verification results, the performance of the produced application and robot content, hardware characteristics related to the verified application, and robot characteristics related to the verified robot content. (450).

이후, 클라우드 플랫폼은 검증이 완료되면, 동작을 종료하고, 검증이 계속 필요하다고 판단되면, 420으로 가서 이후의 동작을 반복하게 된다.
Thereafter, when the verification is completed, the cloud platform ends the operation, and if it is determined that the verification is still necessary, the cloud platform goes to 420 and repeats the subsequent operation.

도 5는 일 실시예에 따른 클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 제공하는 방법에서 다른 로봇 및 대상 로봇에 의해 수집된 정보를 앱 스토어, 클라우드 플랫폼, 서버 혹은 로봇으로부터 제공 받거나 앱 스토어, 클라우드 플랫폼, 서버 혹은 로봇으로 제공하는 과정을 나타낸 플로우차트이다.FIG. 5 is a diagram illustrating a method for providing robot contents and applications using a cloud platform according to an embodiment, wherein information collected by other robots and target robots is provided from an app store, a cloud platform, a server, or a robot, or an app store or a cloud platform , A flowchart showing the process of providing a server or robot.

클라우드 플랫폼은 대상 로봇과 구분되는 다른 로봇으로부터 다른 로봇과 관련된 정보 혹은 과거 대상 로봇이 저장한 정보를 수신(510)한 후, 수신된 정보를 저장한다. The cloud platform receives 510 information related to another robot or information stored by a past target robot from another robot distinguished from the target robot, and then stores the received information.

여기서, 다른 로봇과 관련된 정보 혹은 혹은 과거의 대상 로봇이 저장한 정보는 관련 로봇의 주행 경로에 대한 정보 및 관련 로봇이 경험한 주변 환경에 대한 정보, 인식된 객체 정보, 인식된 사람/얼굴 정보를 포함할 수 있다. Here, the information related to another robot or the information stored by the target robot in the past may include information about the driving path of the related robot, information about the surrounding environment experienced by the related robot, recognized object information, and recognized person / face information. It may include.

이 후, 클라우드 플랫폼은 510에서 수신한 정보를 클라우드 플랫폼에서 제공하는 편집기에 의해 가공한다(520).Thereafter, the cloud platform processes the information received at 510 by an editor provided by the cloud platform (520).

클라우드 플랫폼은 가공된 정보를 활용하여 시뮬레이션을 통하여 검증(530)한 후, 검증 결과를 확인한다(540).The cloud platform verifies 530 through the simulation using the processed information and then verifies the verification result (540).

만약, 540에서 검증 결과가 성공이라고 판단되면, 클라우드 플랫폼은 가공된 정보를 앱 스토어에 업로드 하거나 혹은 클라우드 플랫폼 자체에 저장할 수 있다(550). 반면에, 540에서 검증 결과가 성공이 아니라고 판단되면, 클라우드 플랫폼은 520으로 가서 520 및 이후의 동작을 수행할 수 있다. If it is determined in 540 that the verification result is successful, the cloud platform may upload the processed information to the app store or store it in the cloud platform itself (550). On the other hand, if it is determined that the verification result is not successful at 540, the cloud platform may go to 520 and perform operations 520 and subsequent.

예를 들어, 임의의 로봇 X가 A 영역에서 동작을 하다가 A 영역에 대한 로봇 X와 관련된 정보를 획득하면, 로봇 X는 해당 정보를 클라우드 플랫폼(또는 클라우드 플랫폼 내에 할당된 자신의 영역 혹은 관련 로봇군)에 저장할 수 있다. 또한, 로봇 X은 B 영역에서 동작하다가 역시 B 영역에 대한 로봇 X와 관련된 정보를 획득하면, 역시 해당 정보를 클라우드 플랫폼에 저장할 수 있다. For example, if any robot X operates in area A and acquires information related to robot X for area A, the robot X sends the information to the cloud platform (or its own area or related robot group assigned within the cloud platform). ) Can be stored. In addition, when the robot X operates in the B area and also obtains information related to the robot X for the B area, the robot X may also store the information in the cloud platform.

로봇이 정보를 획득하는 영역 A에는 방, 거리의 일정 영역, 빌딩, 홈(Home), 그 밖의 임의의 장소 등 포함될 수 있다. The area A from which the robot obtains information may include a room, a certain area of a street, a building, a home, or any other place.

이때, 로봇 X와 관련된 정보는 로봇 X가 경험하는 주변 환경에 대한 정보 및 해당 영역에서의 로봇 X의 주행 경로에 대한 정보 등을 포함할 수 있다. 여기서, 주변 환경에 대한 정보로는 로봇 X가 경험한 방, 집, 빌딩 등의 구조(예를 들어, ㄱ 자 구조의 빌딩, 혹은 ㄷ 자 형태의 집 등) 및 해당 영역에 비치된 물건들의 위치(예를 들어, 침대, 책장, 책상, 의자, 테이블, 창문 콘센트 등의 위치, 화병, TV 등의 위치 등)를 들 수 있다. In this case, the information related to the robot X may include information about the surrounding environment experienced by the robot X and information about a driving route of the robot X in the corresponding area. Here, the information about the surrounding environment includes the structure of the room, house, building, etc. (for example, a-shaped building, or c-shaped house, etc.) experienced by the robot X, and locations of objects stored in the area. (For example, the position of a bed, a bookcase, a desk, a chair, a table, a window outlet, a position of a vase, a TV, etc.) is mentioned.

또한, 로봇 X의 주행 경로에 대한 정보는 로봇 X가 기존에 서비스들을 수행하기 위해 해당 영역에서 주행(이용)한 경로들에 대한 정보를 의미한다. In addition, the information on the driving route of the robot X means information on the routes that the robot X has traveled (used) in the corresponding area to perform services.

이때, 다른 로봇 Y가 A 영역 내에서 동작한다고 하면, 로봇 Y는 클라우드 플랫폼에 저장된 A 영역에 대한 정보를 가져와서 사용할 수 있다. 이에 따라, 로봇 Y는 A 영역에 대한 다양한 정보를 빠른 시간 내에 획득할 수 있다. In this case, if another robot Y operates in the area A, the robot Y may obtain and use information on the area A stored in the cloud platform. Accordingly, the robot Y can acquire various information about the area A in a short time.

일반적으로 대부분의 로봇들이 일정 영역에 대한 주행 정보 등을 자신의 메모리에 저장하거나, 프로세서 등에 의해 주행 경로를 파악하는 데에 많은 시간, 프로세서 용량 및 전력을 소비하고 있다. 하지만, 일 실시예에 따르면, 다른 로봇에 의해 획득된 주행 경로에 대한 정보 및 다른 로봇이 경험한 주변 환경에 대한 정보 등을 클라우드 플랫폼으로부터 바로 제공받아 사용할 수 있으므로, 이러한 문제점들을 용이하게 해결할 수 있다. In general, most robots spend a lot of time, processor capacity, and power in storing driving information of a certain area in their memory or determining a driving route by a processor. However, according to an embodiment, since the information on the driving route obtained by the other robot and the information about the surrounding environment experienced by the other robot can be directly received from the cloud platform, these problems can be easily solved. .

또한, 대부분의 경우, 로봇들은 주행 경로에 대한 정보 및 주변 환경에 대한 정보 등을 자신의 메모리 등에 저장하기 때문에 해당 로봇이 고장이 나면 그 로봇이 저장되어 있는 정보를 활용하기 어렵다. 하지만, 일 실시예에서는 로컬 로봇이 저장한 다양한 정보들을 클라우드 플랫폼에 저장하고, 클라우드 플랫폼은 해당 정보를 용도에 따라 편집 및 가공함으로써 추후 다른 로봇이 편리하게 사용할 수 있도록 한다. In addition, in most cases, since the robot stores information on the driving route and information on the surrounding environment, etc., it is difficult to use the information stored in the robot when the robot fails. However, in one embodiment, a variety of information stored by the local robot is stored in the cloud platform, the cloud platform to edit and process the information according to the use so that other robots can be used conveniently later.

이와 같이 클라우드 플랫폼은 막대한 저장 공간을 활용하여 로봇들에 필요한 정보들을 저장하고, 해당 정보들을 편집하여 새로운 형태의 정보(환경 모델 및 최적 이동 경로)로 가공하여 저장하거나 앱 스토어에 업로드 하여 다른 로봇들로 하여금 편리하게 사용하도록 할 수 있다. As such, the cloud platform utilizes huge storage space to store the information necessary for robots, edit the information, process it into new forms of information (environmental model and optimal travel path), or store it and upload it to the App Store. You can make it convenient to use.

일 실시예에 따르면, 해당 정보를 필요로 하는 로봇은 앱 스토어 등을 통해 관련 정보를 구입하고, 클라우드 플랫폼 혹은 클라우드 플랫폼에서 제공하는 편집기 등을 통해 해당 정보를 자신에게 맞도록 수정하여 사용할 수 있다.
According to an embodiment, the robot that needs the information may purchase the relevant information through an app store or the like, and modify the information to suit its own user through an editor provided by the cloud platform or the cloud platform.

도 6은 일 실시예에 따른 클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 시스템의 블록도이다. 6 is a block diagram of a system for developing, verifying and providing robot content and applications using a cloud platform according to an embodiment.

도 6을 참조하면, 일 실시예에 따른 시스템(600)은 편집기(610), 검증 도구 및 시뮬레이터(620), 클라우드 플랫폼(630) 및 데이터베이스(640)를 포함할 수 있다. Referring to FIG. 6, a system 600 according to an embodiment may include an editor 610, a verification tool and simulator 620, a cloud platform 630, and a database 640.

편집기(610)는 대상 로봇을 위한 어플리케이션 및 컨텐츠를 제작하기 위한 것으로서, 클라우드 플랫폼(630)에 의해 제공될 수 있다. 편집기(610)는 대상 로봇을 위한 어플리케이션 및 컨텐츠에 대한 편집, 컴파일 및 링크 등을 수행할 수 있다. 편집기(610)는 수행된 결과를 클라우드 플랫폼(630)에게 직접 전달할 수도 있다. The editor 610 is for producing an application and content for a target robot and may be provided by the cloud platform 630. The editor 610 may edit, compile, and link an application and content for the target robot. The editor 610 may deliver the performed result directly to the cloud platform 630.

검증 도구 및 시뮬레이터(620)는 편집기(610)를 통해 제작된 어플리케이션 및 로봇 컨텐츠를 검증한다. The verification tool and the simulator 620 verify the application and robot content produced by the editor 610.

클라우드 플랫폼(630)은 검증 도구(620)에게 제작된 어플리케이션과 관련된 라이브러리를 제공하고, 시뮬레이터(620)에게 제작된 어플리케이션 및 제작된 컨텐츠 각각을 위한 동작 환경을 제공한다. The cloud platform 630 provides the verification tool 620 with a library related to the produced application, and provides the simulator 620 with an operating environment for each of the produced application and the produced content.

클라우드 플랫폼(630)은 데이터베이스로부터 대상 로봇의 해당 정보에 대응되는 어플리케이션 및 로봇 컨텐츠를 선택할 수 있다. The cloud platform 630 may select an application and robot content corresponding to the corresponding information of the target robot from the database.

보다 구체적으로, 클라우드 플랫폼(630)은 대상 로봇의 하드웨어 특성을 기초로 대상 로봇을 위한 어플리케이션을 선택하고, 대상 로봇의 특성을 기초로 대상 로봇을 위한 로봇 컨텐츠를 선택할 수 있다. More specifically, the cloud platform 630 may select an application for the target robot based on the hardware characteristics of the target robot, and select the robot content for the target robot based on the characteristics of the target robot.

클라우드 플랫폼(630)은 검증 도구(620)에게, 제작된 어플리케이션과 관련된 라이브러리를 제공하고, 시뮬레이터(620)에게 제작된 어플리케이션 및 제작된 컨텐츠 각각을 위한 동작 환경을 제공할 수 있다. The cloud platform 630 may provide the verification tool 620 with a library related to the produced application, and provide the simulator 620 with an operating environment for each of the produced application and the produced content.

이에 따라, 대상 로봇은 대상 로봇의 로봇 특성 및 대상 로봇의 하드웨어 특성에 기초하여 클라우드 플랫폼(630)에 의해 선택된 어플리케이션 및 로봇 컨텐츠를 앱 스토어로부터 다운로드 할 수 있다. Accordingly, the target robot may download an application and robot content selected by the cloud platform 630 from the app store based on the robot characteristics of the target robot and the hardware characteristics of the target robot.

클라우드 플랫폼(630)은 대상 로봇과 구분되는 다른 로봇으로부터 수신된 다른 로봇과 관련된 정보를 데이터베이스(640) 등에 저장할 수 있다. 여기서, 다른 로봇과 관련된 정보는 다른 로봇의 주행 경로에 대한 정보 및 다른 로봇이 경험한 주변 환경에 대한 정보를 포함할 수 있다. The cloud platform 630 may store information related to another robot received from another robot distinguished from the target robot from the database 640 or the like. Here, the information related to the other robot may include information about the driving route of the other robot and information about the surrounding environment experienced by the other robot.

클라우드 플랫폼(630)은 다른 로봇과 관련된 정보를 가공하여 앱 스토어에 업로드할 수 있다. The cloud platform 630 may process information related to another robot and upload it to the app store.

데이터베이스(640)는 편집기(610)에 의해 제작된 어플리케이션 및 로봇 컨텐츠에 대한 검증 도구 및 시뮬레이터(620)의 검증 결과, 제작된 어플리케이션 및 로봇 컨텐츠의 성능, 검증된 어플리케이션과 관련된 하드웨어 특성 및 검증된 로봇 컨텐츠와 관련된 로봇 특성을 포함하는 정보를 저장할 수 있다.
The database 640 includes the verification results of the verification tool and the simulator 620 for the application and the robot content produced by the editor 610, the performance of the produced application and the robot content, the hardware characteristics related to the verified application, and the verified robot. Information including robot characteristics related to the content may be stored.

상술한 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The above-described methods may be embodied in the form of program instructions that can be executed by various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가지 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. This is possible.

그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be construed as being limited to the embodiments described, but should be determined by equivalents to the appended claims, as well as the appended claims.

210: 편집기(Editor)
220: 클라우드 플랫폼(Cloud Platform)
230: 검증 도구 및 시뮬레이터
240: 대상 로봇
250: 앱 스토어(App Store)
260: 다른 로봇들
210: Editor
220: cloud platform
230: Validation Tool and Simulator
240: target robot
250: App Store
260: other robots

Claims (16)

적어도 하나의 로봇을 위한 검증된 어플리케이션 및 검증된 로봇 컨텐츠를 포함하는 데이터베이스를 유지하는 단계;
대상 로봇으로부터 상기 대상 로봇의 로봇 특성 및 상기 대상 로봇의 하드웨어 특성을 포함하는 정보를 수신하는 단계;
상기 데이터베이스로부터 상기 대상 로봇의 상기 정보에 대응되는 어플리케이션 및 로봇 컨텐츠를 선택하는 단계; 및
상기 선택된 어플리케이션 및 로봇 컨텐츠를 사용자 단말에게 제공하는 단계
를 포함하는 클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 방법.
Maintaining a database containing verified applications for at least one robot and verified robot content;
Receiving information including a robot characteristic of the target robot and a hardware characteristic of the target robot from a target robot;
Selecting an application and robot content corresponding to the information of the target robot from the database; And
Providing the selected application and robot content to a user terminal;
Method for developing, verifying and providing robot content and applications using a cloud platform comprising a.
제1항에 있어서,
상기 클라우드 플랫폼에 의해 제공된 편집기를 통해 제작된 어플리케이션 및 로봇 컨텐츠를 수신하는 단계; 및
상기 수신한 어플리케이션 및 로봇 컨텐츠를 검증 도구 및 시뮬레이터를 이용하여 검증하는 단계
를 더 포함하는 클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 방법.
The method of claim 1,
Receiving application and robot content produced through an editor provided by the cloud platform; And
Verifying the received application and robot content using a verification tool and a simulator
Method for developing, verifying and providing robot content and applications using a cloud platform further comprising.
제2항에 있어서,
상기 제작된 어플리케이션 및 로봇 컨텐츠에 대한 검증 결과, 상기 제작된 어플리케이션 및 로봇 컨텐츠의 성능, 상기 검증된 어플리케이션과 관련된 하드웨어 특성 및 상기 검증된 로봇 컨텐츠와 관련된 로봇 특성을 포함하는 정보를 상기 데이터베이스에 저장하는 단계
를 더 포함하는 클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 방법.
3. The method of claim 2,
Storing information in the database including a verification result of the produced application and robot content, performance of the produced application and robot content, hardware characteristics related to the verified application, and robot characteristics related to the verified robot content step
Method for developing, verifying and providing robot content and applications using a cloud platform further comprising.
제2항에 있어서,
상기 클라우드 플랫폼은,
상기 검증 도구에게 상기 제작된 어플리케이션과 관련된 라이브러리를 제공하고, 상기 시뮬레이터에게 상기 제작된 어플리케이션 및 상기 제작된 컨텐츠 각각을 위한 동작 환경을 제공하는
클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 방법.
3. The method of claim 2,
The cloud platform,
Providing the verification tool with a library associated with the produced application and providing the simulator with an operating environment for each of the produced application and the produced content
How to develop, verify and deliver robotic content and applications using cloud platforms.
제1항에 있어서,
상기 정보에 대응되는 어플리케이션 및 로봇 컨텐츠를 선택하는 단계는,
상기 대상 로봇의 하드웨어 특성을 기초로, 상기 대상 로봇을 위한 어플리케이션을 선택하는 단계; 및
상기 대상 로봇의 로봇 특성을 기초로, 상기 대상 로봇을 위한 로봇 컨텐츠를 선택하는 단계
를 포함하는 클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 방법.
The method of claim 1,
Selecting the application and the robot content corresponding to the information,
Selecting an application for the target robot based on the hardware characteristics of the target robot; And
Selecting robot content for the target robot based on the robot characteristic of the target robot;
Method for developing, verifying and providing robot content and applications using a cloud platform comprising a.
제1항에 있어서,
상기 대상 로봇과 구분되는 다른 로봇 혹은 앱 스토어로부터 상기 다른 로봇과 관련된 정보를 수신하는 단계; 및
상기 다른 로봇과 관련된 정보를 저장하는 단계
를 더 포함하는 클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 방법.
The method of claim 1,
Receiving information related to the other robot from another robot or an app store separated from the target robot; And
Storing information related to the other robot
Method for developing, verifying and providing robot content and applications using a cloud platform further comprising.
제6항에 있어서,
상기 다른 로봇과 관련된 정보는,
상기 다른 로봇의 주행 경로에 대한 정보 및 상기 다른 로봇이 경험한 주변 환경에 대한 정보를 포함하는
클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 방법.
The method according to claim 6,
Information related to the other robot,
And information about the driving route of the other robot and the surrounding environment experienced by the other robot.
How to develop, verify and deliver robotic content and applications using cloud platforms.
제6항에 있어서,
상기 다른 로봇과 관련된 정보를 가공하는 단계; 및
상기 가공된 정보를 상기 앱 스토어에 업로드하는 단계
를 더 포함하는 클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 방법.
The method according to claim 6,
Processing information associated with the other robot; And
Uploading the processed information to the app store
Method for developing, verifying and providing robot content and applications using a cloud platform further comprising.
대상 로봇을 위한 어플리케이션 및 컨텐츠를 제작하기 위한 편집기;
상기 편집기를 통해 제작된 어플리케이션 및 로봇 컨텐츠를 검증하는 검증 도구 및 시뮬레이터; 및
상기 검증 도구에게 상기 제작된 어플리케이션과 관련된 라이브러리를 제공하고, 상기 시뮬레이터에게 상기 제작된 어플리케이션 및 상기 제작된 컨텐츠 각각을 위한 동작 환경을 제공하는 클라우드 플랫폼
을 포함하고,
상기 대상 로봇은
상기 대상 로봇의 로봇 특성 및 상기 대상 로봇의 하드웨어 특성에 기초하여 선택된 어플리케이션 및 로봇 컨텐츠를 앱 스토어로부터 다운로드 하는
클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 시스템.
An editor for producing an application and content for a target robot;
Verification tool and simulator for verifying the application and the robot content produced by the editor; And
A cloud platform that provides the verification tool with a library associated with the produced application and provides the simulator with an operating environment for each of the produced application and the produced content.
/ RTI >
The target robot
Downloading the selected application and robot contents from an app store based on the robot characteristics of the target robot and the hardware characteristics of the target robot;
A system for developing, verifying, and providing robotic content and applications using cloud platforms.
제9항에 있어서,
상기 제작된 어플리케이션 및 로봇 컨텐츠에 대한 검증 결과, 상기 제작된 어플리케이션 및 로봇 컨텐츠의 성능, 상기 검증된 어플리케이션과 관련된 하드웨어 특성 및 상기 검증된 로봇 컨텐츠와 관련된 로봇 특성을 포함하는 정보를 저장하는 데이터베이스
를 더 포함하는 클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 시스템.
10. The method of claim 9,
A database storing information including a verification result of the produced application and robot content, performance of the produced application and robot content, hardware characteristics related to the verified application, and robot characteristics related to the verified robot content
System for developing, verifying and providing robot content and applications using a cloud platform further comprising.
제10항에 있어서,
상기 클라우드 플랫폼은,
상기 데이터베이스로부터 상기 대상 로봇의 상기 정보에 대응되는 어플리케이션 및 로봇 컨텐츠를 선택하는
클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 시스템.
The method of claim 10,
The cloud platform,
Selecting an application and robot content corresponding to the information of the target robot from the database;
A system for developing, verifying, and providing robotic content and applications using cloud platforms.
제9항에 있어서,
상기 클라우드 플랫폼은,
상기 대상 로봇의 하드웨어 특성을 기초로 상기 대상 로봇을 위한 어플리케이션을 선택하고, 상기 대상 로봇의 특성을 기초로 상기 대상 로봇을 위한 로봇 컨텐츠를 선택하는
클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 시스템.
10. The method of claim 9,
The cloud platform,
Selecting an application for the target robot based on hardware characteristics of the target robot, and selecting robot content for the target robot based on the characteristics of the target robot;
A system for developing, verifying, and providing robotic content and applications using cloud platforms.
제9항에 있어서,
상기 클라우드 플랫폼은,
상기 검증 도구에게 상기 제작된 어플리케이션과 관련된 라이브러리를 제공하고, 상기 시뮬레이터에게 상기 제작된 어플리케이션 및 상기 제작된 컨텐츠 각각을 위한 동작 환경을 제공하는
클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 시스템.
10. The method of claim 9,
The cloud platform,
Providing the verification tool with a library associated with the produced application and providing the simulator with an operating environment for each of the produced application and the produced content
A system for developing, verifying, and providing robotic content and applications using cloud platforms.
제9항에 있어서,
상기 클라우드 플랫폼은,
상기 대상 로봇과 구분되는 다른 로봇으로부터 수신된 상기 다른 로봇과 관련된 정보를 저장하는
클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 시스템.
10. The method of claim 9,
The cloud platform,
Storing information related to the other robot received from another robot distinguished from the target robot;
A system for developing, verifying, and providing robotic content and applications using cloud platforms.
제14항에 있어서,
상기 다른 로봇과 관련된 정보는,
상기 다른 로봇의 주행 경로에 대한 정보 및 상기 다른 로봇이 경험한 주변 환경에 대한 정보를 포함하는
클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 시스템.
15. The method of claim 14,
Information related to the other robot,
And information about the driving route of the other robot and the surrounding environment experienced by the other robot.
A system for developing, verifying, and providing robotic content and applications using cloud platforms.
제14항에 있어서,
상기 클라우드 플랫폼은,
상기 다른 로봇과 관련된 정보를 가공하여 상기 앱 스토어에 업로드하는
클라우드 플랫폼을 이용하여 로봇 컨텐츠 및 어플리케이션을 개발, 검증 및 제공하는 시스템.
15. The method of claim 14,
The cloud platform,
Processing information related to the other robots and uploading the information to the app store
A system for developing, verifying, and providing robotic content and applications using cloud platforms.
KR1020120026966A 2012-03-16 2012-03-16 Method and system for developing, verifying and providing robot contents and application using cloud platform KR101342827B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120026966A KR101342827B1 (en) 2012-03-16 2012-03-16 Method and system for developing, verifying and providing robot contents and application using cloud platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120026966A KR101342827B1 (en) 2012-03-16 2012-03-16 Method and system for developing, verifying and providing robot contents and application using cloud platform

Publications (2)

Publication Number Publication Date
KR20130104960A KR20130104960A (en) 2013-09-25
KR101342827B1 true KR101342827B1 (en) 2013-12-17

Family

ID=49453706

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120026966A KR101342827B1 (en) 2012-03-16 2012-03-16 Method and system for developing, verifying and providing robot contents and application using cloud platform

Country Status (1)

Country Link
KR (1) KR101342827B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105215987A (en) * 2015-10-12 2016-01-06 安徽埃夫特智能装备有限公司 A kind of industrial robot technique cloud system and method for work thereof
KR20160087168A (en) 2015-01-13 2016-07-21 서울시립대학교 산학협력단 System and method for control robot based cloud knowledge sharing

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102063181B1 (en) * 2018-02-12 2020-03-02 한국과학기술연구원 Robot service providing system based on cloud computing and method for providing robot service using the same
CN117032845A (en) * 2023-10-10 2023-11-10 机器时代(北京)科技有限公司 Robot application ecosystem

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100988597B1 (en) 2008-01-14 2010-10-18 주식회사 유진로봇 Robot content authoring system having user Friendly form in web environments

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100988597B1 (en) 2008-01-14 2010-10-18 주식회사 유진로봇 Robot content authoring system having user Friendly form in web environments

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160087168A (en) 2015-01-13 2016-07-21 서울시립대학교 산학협력단 System and method for control robot based cloud knowledge sharing
KR101692602B1 (en) * 2015-01-13 2017-01-03 서울시립대학교 산학협력단 System and method for control robot based cloud knowledge sharing
CN105215987A (en) * 2015-10-12 2016-01-06 安徽埃夫特智能装备有限公司 A kind of industrial robot technique cloud system and method for work thereof

Also Published As

Publication number Publication date
KR20130104960A (en) 2013-09-25

Similar Documents

Publication Publication Date Title
US9671786B2 (en) Method and system for robot generation
KR101342827B1 (en) Method and system for developing, verifying and providing robot contents and application using cloud platform
CA2838761A1 (en) A non-programmer method for creating simulation-enabled 3d robotic models for immediate robotic simulation, without programming intervention
KR102010030B1 (en) Method and system for providing mixed reality service
Kamaludeen et al. Guideline-based approach for IoT home application development
CN107608663A (en) A kind of development approach and device of Mobile solution plug-in unit and Mobile solution
JP2015141620A (en) Application test system, method, and program
Rottmann et al. Ros-mobile: An android application for the robot operating system
Ramakrishna et al. Anti-carla: An adversarial testing framework for autonomous vehicles in carla
CN108959805B (en) Automatic-driving hardware-in-loop simulation cloud platform and method
Kolomvatsos et al. An experiment description language for supporting mobile IoT applications
KR102113757B1 (en) Web-Based Robot Programming System and Method
Choi et al. Development of robot scenario script language and tool for non-expert
Neumeier et al. Yet another driving simulator openrouts3d: The driving simulator for teleoperated driving
EP3605250A1 (en) Information processing device and information processing method, computer program, and program manufacturing method
Zawadniak et al. Micromouse 3D simulator with dynamics capability: a Unity environment approach
CN102597952A (en) Software library reconstruction device, software library reconstruction method, and navigation device using this software library reconstruction method
Brown et al. Android control application for Nao humanoid robot
Ardiyanto et al. Rt components for using morse realistic simulator for robotics
Jusuf Auto-navigation for robots. implementation of ros
Ferrati et al. Ascari: A component based simulator for distributed mobile robot systems
WO2022118656A1 (en) Device and method for simulating mobile robot at work site
Foote et al. Precisely Groovy [ROS Topics]
KR20120077681A (en) Intelligent robot apparatus and method for adaptively customizing according to a command
Hajjaj et al. Developing portable HRI framework for open-source outdoor robots, through Selective Compartmentalization

Legal Events

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

Payment date: 20160927

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171026

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190104

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190925

Year of fee payment: 7