KR20190043940A - 전자 장치 및 그의 서비스 제공 방법 - Google Patents

전자 장치 및 그의 서비스 제공 방법 Download PDF

Info

Publication number
KR20190043940A
KR20190043940A KR1020170136057A KR20170136057A KR20190043940A KR 20190043940 A KR20190043940 A KR 20190043940A KR 1020170136057 A KR1020170136057 A KR 1020170136057A KR 20170136057 A KR20170136057 A KR 20170136057A KR 20190043940 A KR20190043940 A KR 20190043940A
Authority
KR
South Korea
Prior art keywords
robot
task
service
electronic device
information
Prior art date
Application number
KR1020170136057A
Other languages
English (en)
Other versions
KR102402044B1 (ko
Inventor
이가은
고세린
손민식
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020170136057A priority Critical patent/KR102402044B1/ko
Priority to PCT/KR2018/009584 priority patent/WO2019078469A1/ko
Priority to US16/754,032 priority patent/US20200326685A1/en
Publication of KR20190043940A publication Critical patent/KR20190043940A/ko
Application granted granted Critical
Publication of KR102402044B1 publication Critical patent/KR102402044B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4011Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0003Home robots, i.e. small robots for domestic use
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • H04L67/32
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • A47L2201/06Control of the cleaning action for autonomous devices; Automatic detection of the surface condition before, during or after cleaning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34348Coordination of operations, different machines, robots execute different tasks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y10/00Economic sectors
    • G16Y10/75Information technology; Communication
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/30Control
    • G16Y40/35Management of things, i.e. controlling in accordance with a policy or in order to achieve specified objectives

Abstract

전자 장치가 개시된다. 본 전자 장치는 네트워크에 연결된 통신부 및 네트워크를 통해 연결된 타 전자 장치 중 하나로부터 서비스가 요청되면, 서비스와 상이한 서비스를 제공하는 로봇들 중에서 서비스에 요구되는 동작을 수행 가능한 로봇을 통신부를 통해 검색하고, 검색된 로봇의 동작을 제어하여 서비스를 제공하는 프로세서를 포함한다.

Description

전자 장치 및 그의 서비스 제공 방법 { ELECTRONIC APPARATUS AND SERVICE PROVIDING METHOD THEREOF }
본 발명은 전자 장치 및 그의 서비스 제공 방법에 관한 것으로, 더욱 상세하게는 사물 인터넷 환경에서 로봇을 제어하는 전자 장치 및 그의 서비스 제공 방법에 관한 것이다.
전자 기술이 발달함에 따라 홈 네트워크나 사물 인터넷 등과 같은 네트워크 환경이 증가하게 되었다. 특히,각종 사물에 센서와 통신 기능을 내장하여 인터넷에 연결하는 사물 인터넷(Internet of Things, IoT) 기술에 대한 관심이 최근에 크게 증대하였다. 여기서 사물이란 가전제품, 모바일 장비, 웨어러블 컴퓨터, 로봇 등 다양한 시스템일 수 있다. 사물 인터넷에 연결되는 사물들은 자신을 구별할 수 있는 유일한 아이피(IP)를 가지고 인터넷으로 연결되어야 하며, 외부 환경으로부터 데이터 취득을 위해 센서를 내장할 수 있다.
한편, 기계 및 전자 분야의 발전으로, 로봇 분야의 기술도 빠르게 발전하고 있다. 최근에는 청소기 로봇, 학습용 로봇 등을 구비한 가정이 늘어나고 있으며, 인간의 신체와 유사한 모습을 갖춘 휴머노이드 로봇에 대한 연구도 빠르게 진행되고 있다.
로봇은 청소용, 방범용 등 특정 서비스를 위하여 개발되며, 해당 서비스에 맞는 기능만을 수행하도록 설계된 하드웨어 및 소프트웨어를 구비하기 때문에, 사용자는 로봇을 본래의 용도로만 사용할 수 있었으며, 그 외의 용도로 사용하기에는 어려움이 많았다.
그러나, 로봇이 로봇의 본래 서비스뿐 만 아니라, 사용자가 하기 번거롭고 귀찮은 부수적 업무까지 처리해주기를 바라는 사용자의 니즈는 점차 증가하고 있다.
본 발명은 상술한 문제점을 해결하기 위한 것으로, 본 발명의 목적은, 하나의 로봇이 수행할 수 있는 복수의 동작을 이용하여, 로봇이 수행하기로 한 서비스 이외의 다른 서비스에도 로봇을 활용할 수 있도록 하는 전자 장치 및 그 서비스 제공 방법을 제공함에 있다.
본 발명의 일 실시 예에 따른 전자 장치는 네트워크에 연결된 통신부 및 상기 네트워크를 통해 연결된 타 전자 장치 중 하나로부터 서비스가 요청되면, 상기 서비스와 상이한 서비스를 제공하는 로봇들 중에서 상기 서비스에 요구되는 동작을 수행 가능한 로봇을 상기 통신부를 통해 검색하고, 검색된 로봇의 동작을 제어하여 상기 서비스를 제공하는 프로세서를 포함한다.
또한, 서비스 종류 별로 요구되는 태스크, 상기 태스크 수행에 필요한 동작, 상기 네트워크에 연결된 로봇 및 상기 로봇에서 수행 가능한 동작 정보가 저장된 저장부를 더 포함하고, 상기 프로세서는, 상기 요청된 서비스에 대응되는 태스크의 수행에 필요한 동작이 가능한 로봇을 상기 저장부에 기초하여 적어도 하나 이상 검색하고, 상기 태스크의 수행에 필요한 일련의 동작이 순차적으로 이루어질 수 있도록 검색된 로봇으로 제어 명령을 전송할 수 있다.
여기에서, 상기 프로세서는, 상기 네트워크에 연결된 로봇으로부터 동작 정보가 수신되면, 수신된 동작 정보를 상기 저장부에 추가할 수 있다.
또한, 상기 프로세서는, 사용자 스케쥴 정보가 상기 통신부를 통해 입력되면, 상기 사용자 스케쥴 정보에 따라 각 태스크 별 완료 시간을 결정하고, 각 태스크에 요구되는 동작을 수행하는 로봇의 작업 시간을 상기 완료 시간에 맞추어 스케쥴링 할 수 있다.
그리고, 상기 프로세서는, 상기 통신부를 통해 복수의 서비스가 요청되면, 각 서비스에서 요구되는 태스크 및 해당 태스크에 속하는 동작을 고려하여, 상기 로봇의 작업 시간을 스케쥴링 할 수 있다.
또한, 프로세서는 상기 판단된 태스크와 관련된 동작의 수행 여부를 확인하기 위한 요청을 상기 타 전자 장치로 전송하고, 상기 타 전자 장치로부터 상기 동작의 수행에 대한 확인 명령이 수신되면, 상기 판단된 태스크와 관련된 동작의 수행 명령을 상기 로봇으로 전송할 수 있다.
그리고, 프로세서는, 상기 로봇에게 할당된 태스크 및 상기 태스크를 수행하는 작업 시간에 대한 정보를 상기 통신부를 통해 상기 타 전자 장치로 전송 할 수 있다.
한편, 본 발명의 일 실시 예에 따른 네트워크를 통해 연결된 전자 장치를 이용하여 서비스를 제공하는 제공 방법은 상기 네트워크를 통해 연결된 전자 장치 중 하나로부터 서비스 요청을 수신하는 단계, 요청된 서비스와 상이한 서비스를 제공하는 로봇들 중에서 상기 서비스에 요구되는 동작을 수행 가능한 로봇을 상기 네트워크 상에서 검색하는 단계 및 검색된 로봇의 동작을 제어하여 상기 서비스를 제공하는 단계를 포함한다.
그리고, 상기 로봇을 검색하는 단계는, 서비스 종류 별로 요구되는 태스크, 상기 태스크 수행에 필요한 동작, 상기 네트워크에 연결된 로봇 및 상기 로봇에서 수행 가능한 동작 정보가 저장된 저장부에 기초하여, 상기 요청된 서비스에 대응되는 태스크의 수행에 필요한 동작이 가능한 로봇을 검색하는 단계일 수 있다.
여기에서, 상기 네트워크에 연결된 로봇으로부터 동작 정보가 수신되면, 수신된 동작 정보를 상기 저장부에 추가할 수 있다.
또한, 사용자 스케쥴 정보가 입력되면, 상기 사용자 스케쥴 정보에 따라 각 태스크 별 완료 시간을 결정하고, 각 태스크에 요구되는 동작을 수행하는 로봇의 작업 시간을 상기 완료 시간에 맞추어 스케쥴링하는 단계를 더 포함할 수 있다.
그리고, 복수의 서비스가 요청되면, 각 서비스에서 요구되는 태스크 및 해당 태스크에 속하는 동작을 고려하여, 상기 로봇의 작업 시간을 스케쥴링하는 단계를 더 포함할 수 있다.
또한, 상기 판단된 태스크와 관련된 동작의 수행 여부를 확인하기 위한 요청을 상기 전자 장치로 전송하는 단계 및 상기 전자 장치로부터 상기 동작의 수행에 대한 확인 명령이 수신되면, 상기 판단된 태스크와 관련된 동작의 수행 명령을 상기 로봇으로 전송하는 단계를 더 포함할 수 있다.
그리고, 상기 로봇에게 할당된 태스크 및 상기 태스크를 수행하는 작업 시간에 대한 정보를 상기 전자 장치로 전송하는 단계를 더 포함할 수 있다.
이상과 같은 본 발명의 다양한 실시 예에 따르면, 로봇이 제조 당시 수행하기로 한 본래의 서비스 외에, 다른 서비스의 부수적인 업무까지 수행할 수 있으므로, 사용자는 하나의 로봇을 다양하게 활용하여 여러 가지 서비스를 제공 받을 수 있다.
도 1은 본 발명의 일 실시 예에 따른 시스템의 구성을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 서비스 제공 방법을 구체적으로 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 서버의 구성을 설명하기 위한 블록도이다.
도 4는 본 발명의 일 실시 예에 따라 로봇이 수행 가능한 태스크를 판단하기 위한 도면이다.
도 5 내지 7은 본 발명의 일 실시 예에 따라 서비스 및 태스크 정보 제공 방법을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시 예에 따른 서비스 제공 시스템을 설명하기 위한 흐름도이다.
본 명세서에서 사용되는 용어는 본 발명의 다양한 실시 예들의 특징을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 명세서 전반에 걸친 내용 및 일반적인 상식을 토대로 정의되어야 한다.
본 명세서에서는 다양한 구성요소들을 지칭하기 위하여 제1, 제2 등의 용어를 사용할 수도 있다. 이러한 용어들은 구성요소들의 순서나 특징, 개수 등을 한정하기 위한 용어가 아니며, 구성요소들을 서로 구별하기 위한 목적으로만 사용된다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함한다" 또는 "구성된다"라고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "...부", "모듈"은 특정한 하드웨어로 구현될 필요가 있는 "...부", "모듈"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
이하에서는 도면을 참조하여 본 발명의 다양한 실시 예들에 대하여 구체적으로 설명하도록 한다.
도 1은 본 발명의 일 실시 예에 따른 시스템의 구성을 설명하기 위한 도면이다.
도 1에 도시된 바와 같이, 시스템(1000)은 서버(100) 및 전자 장치(10 내지 40)를 포함한다.
이때, 서버(100) 및 적어도 하나의 전자 장치(10 내지 40)는 사물 인터넷 환경을 구성할 수 있다.
구체적으로, 사물 인터넷 환경을 구성하는 전자 장치(10 내지 40)는 다양한 통신 네트워크를 이용하여 서버(100)를 통해 서로 연결 및 통신할 수 있다. 다만, 이에 한정되는 것은 아니며, 전자 장치(10 내지 40)는 서버(100)를 통하지 않고 D2D(device to device) 통신 방식으로 직접 연결 및 통신할 수도 있다. 또한, 전자 장치(10 내지 40)는 게이트웨이를 통해 서버(100)와 통신을 수행할 수도 있다.
한편, 사물 인터넷에서 사물은 그 종류에 제한이 없으므로, 사물 인터넷 환경을 구성하는 전자 장치(10 내지 40)의 종류 역시 도 1에 도시된 휴대폰(10), 로봇(20), 세탁기(30), 및 TV(40)에 한정되지 않는다. 예를 들어, 전자 장치(10 내지 40)는 PC, 스마트패드, 노트북, 카메라 등으로 구현될 수도 있다.
서버(100)는 전자 장치 간의 통신을 연결하기 위한 장치이다. 서버(100)는 클라우드 서버와 같은 외부 네트워크 장치일 수 있으며, 또는 라우터, 홈 서버 등과 같은 로컬 네트워크 장치일 수도 있다. 또는, 별도의 독립적인 본체를 가지는 서버가 아니라 TV나 냉장고 등에 내장되는 임베디드 서버로 구현될 수도 있다.
전자 장치들 중 휴대폰(10)은 사용자로부터 각종 제어 명령을 입력 받을 수 있다. 휴대폰(10)은 제어 명령을 서버(100)로 전송하고, 서버(100)는 이를 다른 전자 장치(20, 30 및 40)에 전송한다.
로봇(20)은 특정 기능을 수행하는 하드웨어(H/W) 또는 소프트웨어(S/W)로 구성된 장치를 의미한다. 도 1에서는 청소기 로봇으로 도시하였으나, 로봇(20)의 종류 및 형태는 다양하게 구현될 수 있다. 청소기 로봇(20)은 청소 서비스를 수행하기 위해 이동, 먼지 수집, 장애물 인식, 충전, 촬영 등과 같은 기능을 수행할 수 있다. 이러한 기능을 수행하기 위하여 로봇(20)은 카메라, 초음파 거리 센서, 통신 모듈 등을 포함할 수 있다. 다른 예로, 사용자의 심부름, 잡무 등을 수행하기 위한 집사 로봇으로 구현된 경우, 로봇(20)에는 카메라, 감지 센서, 로봇 팔과 같은 하드웨어 및 물체인식, 이동, 잡기, 옮기기 등 동작을 위한 알고리즘이 적용된 소프트웨어를 포함할 수도 있다.
이상 설명한 바와 같이, 로봇은 하나의 서비스를 제공하기 위하여 다양한 동작을 수행할 수 있다. 로봇의 기능은 로봇의 제작 목적에 따라 미리 설정된 동작들의 집합을 의미하고, 로봇의 동작은 하드웨어(H/W) 및 소프트웨어(S/W)를 사용하여 수행될 수 있는 작업들을 의미한다.
예를 들어, 청소기 로봇의 기능은 자동청소, 수동지정청소, 충전, 자동충전 등으로 구분될 수 있으며, 청소기 로봇의 동작은 평면이동, 사물인식, 초음파센서, 거리측정, 흡입 등으로 구분될 수 있다. 청소기 로봇이 자동청소기능을 수행하기 위해서는 사물 인식, 이동, 거리 측정, 흡입, 자동 충전 등의 동작을 수행하여야 한다.
서버(100)는 시스템 내의 각 전자 장치에서 제공 가능한 서비스를 사용자 명령에 따라 선택적으로 제공하도록 각 전자 장치(10 내지 40)를 제공한다. 예를 들어, 사용자가 청소 서비스를 선택하는 경우, 서버(100)는 청소기 로봇(20)이 단독으로 청소를 수행하도록 제어한다.
시스템에서 제공이 어려운 서비스를 사용자가 선택하는 경우, 서버(100)는 각 전자 장치(10 내지 40)에서 수행 가능한 동작을 고려하여, 그 서비스가 가능한지 여부를 판단할 수 있다. 상술한 예에서, 세탁기에 세탁물이 들어있지 않은 상태에서 세탁 서비스를 선택하는 경우, 서버(100)는 세탁 서비스에 필요한 일련의 동작들을 수행할 수 있는 장치를 탐색하여, 탐색된 장치들을 순차적으로 제어하여 해당 서비스를 수행한다.
도 2는 본 발명의 일 실시 예에 따른 서비스 제공 방법을 구체적으로 설명하기 위한 도면이다.
사용자는 전자 장치(10)를 이용하여 서버(100)에 서비스를 요청할 수 있다(S210). 이때, 서비스는 세탁, 청소, 정리정돈 등과 같이 사용자가 제공받길 원하는 작업을 의미하며, 하나의 서비스에는 복수 개의 태스크(task)가 포함될 수 있다. 태스크는, 하나의 서비스를 수행하기 위하여 요구되는 복수 개의 작업을 의미하며, 서비스를 수행 단계 단위 또는 작업 공간 단위로 나눈 작업 단위를 의미한다.
예를 들어, 세탁 서비스는 세탁물 모으기, 세탁물 분류하기, 세탁기 사용하기, 건조기 사용하기, 세탁물 정리하기 등과 같은 복수 개의 태스크를 포함할 수 있다. 또한, 청소 서비스는, 서비스 수행 단계에 따라, 바닥 정리하기, 바닥 쓸기, 바닥 닦기 등의 태스크를 포함할 수 있으며, 서비스 제공 공간에 따라, 방 1 청소하기, 방 2 청소하기, 거실 청소하기, 부엌 청소하기, 현관 청소하기 등의 태스크를 포함할 수 있다.
전자 장치(10)로부터 서비스를 요청 받은 서버(100)는, 사용자가 요청한 서비스를 수행하는데 필요한 복수의 태스크를 판단할 수 있다(S220).
한편, 서버(100)는 로봇의 기능 및 동작 정보를 이용하여, 서비스를 수행하는데 필요한 복수의 태스크 중 로봇(20)이 수행할 수 있는 태스크를 판단할 수 있다(S230).
구체적으로, 태스크를 수행하는데 필요한 동작 중 하나와 로봇이 수행할 수 있는 복수의 동작 중 하나가 일치하면, 로봇은 해당 태스크의 동작을 수행할 있다고 판단할 수 있다. 태스크를 수행하는데 필요로 하는 복수의 동작에 대하여, 이를 수행하는 하나 또는 2 이상의 로봇이 존재하면, 해당 태스크는 하나 또는 2 이상의 로봇이 수행할 수 있는 태스크가 된다.
그 후, 서버(100)는 태스크를 수행하기 위해 필요한 동작 수행 명령을 로봇(20)에 전송할 수 있으며(S240), 동작 수행 명령을 수신한 로봇(20)은 수행 명령에 따라 판단된 태스크와 관련된 동작을 수행할 수 있다(S250).
가령, '세탁물 모으기' 서비스를 수행하기 위하여, A로봇은 '이동'동작을, B 로봇은 '사물 인식' 동작을 수행하여야 한다고 판단한 경우, 서버(100)는 A로봇에 이동 명령 신호를, B로봇에 사물 인식 명령 신호를 전송할 수 있으며, '이동'동작 수행 명령을 수신한 A 로봇은 이동 동작을 수행하고, '사물 인식' 동작 수행 명령을 수신한 B 로봇은 사물 인식 동작을 수행할 수 있다. .
도 3은 본 발명의 일 실시 예에 따른 서버의 구성을 설명하기 위한 블록도이다.
도 3을 참조하면, 서버(100)는 통신부(110) 및 프로세서(120)를 포함한다.
통신부(110)는 네트워크에 연결되어, 적어도 하나의 타 전자 장치와 통신을 수행하기 위한 구성이다. 통신부(110)는 와이파이(Wi-fi), 와이파이 다이렉트(Wi-fi direct), 지그비(Zigbee), 블루투스(Bluetooth), 유선 네트워크 등과 같은 다양한 통신 인터페이스를 통해서 각 전자 장치들과 연결될 수 있다. 통신부(110)는 외부로부터 수신되는 각종 신호들을 프로세서(120)로 전달하고, 프로세서(120)의 제어에 따라 각종 신호들을 외부로 송신할 수 있다.
프로세서(120)는 서버(100)의 전반적인 동작을 제어하기 위한 구성이다. 구체적으로, 프로세서(120)는 서버(100)에 포함된 각종 하드웨어 또는 소프트웨어의 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 또한, 프로세서(120)는 다른 구성요소들 중 적어도 하나로부터 수신된 명령 또는 데이터를 메모리에 로드하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장할 수 있다. 이를 위해, 프로세서(120)는 해당 동작을 수행하기 위한 전용 프로세서(예를 들면, 임베디드 프로세서)로 구현되거나, 또는 메모리 디바이스에 저장된 하나 이상의 소프트웨어 프로그램을 실행함으로써 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)로 구현될 수 있다.
프로세서(120)는 서버 장치(100)와 같은 네트워크에 연결된 타 전자 장치 중 하나로부터 서비스가 요청되면, 그 서비스와 상이한 서비스를 제공하는 로봇들 중에서 요청된 서비스에 요구되는 동작을 수행 가능한 로봇을 검색한다. 로봇이 검색되면, 검색된 로봇을 제어하여, 요청된 서비스를 수행하도록 한다.
프로세서(120)는 요청된 서비스를 전용으로 제공하는 로봇이 있는 경우에는, 그 로봇으로 제어 명령을 전송하여 요청된 서비스를 바로 제공할 수도 있다.
또한, 프로세서(120)는 서비스가 요청되면 그 서비스를 구성하는 태스크들을 분류한 후, 각 태스크의 수행에 필요한 동작을 확인하고 그 동작을 수행 가능한 로봇들을 검색할 수도 있다. 프로세서(120)는 검색 결과에 따라서 태스크 단위로 가능 여부를 판단할 수 있다. 프로세서(120)는 판단 결과를 타 전자 장치로 전송하여 사용자에게 보여줄 수도 있다.
태스크 단위로 구분하여 확인하는 경우, 프로세서(120)는 서비스 및 서비스 관련 정보를 기초로 하여, 서비스를 수행하기 위해 필요한 태스크가 무엇인지, 그 태스크를 수행하는데 필요한 동작이 무엇인지 등을 판단할 수 있다. 저장부에는 서비스 종류 별로 요구되는 태스크, 상기 태스크 수행에 필요한 동작, 네트워크에 연결된 로봇 및 각 로봇에서 수행 가능한 동작 정보 등이 포함될 수 있다. 저장부는 서버 장치(100)의 외부에 마련된 독립적인 장치에 저장되어 구현될 수도 있다. 프로세서(120)는 네트워크에 연결된 각종 전자 장치들로부터 전송되는 정보들을 저장부에 추가하여 업데이트할 수도 있다. 예를 들어, 로봇이 추가되거나, 업데이트되어 새로운 동작을 수행할 수 있게 된다면, 해당 로봇으로부터 동작 정보를 수신하여, 데이터 베이스에 추가할 수 있다.
예를 들어, 프로세서(120)가 세탁 서비스 요청 정보를 수신한 경우, 프로세서(120)는 세탁 서비스를 수행하기 위해서는, 세탁물 모으기, 세탁물 분류하기, 세탁기 사용하기, 건조기 사용하기, 정리하기 등과 같은 복수의 태스크가 요구된다고 판단할 수 있다. 여기서, '세탁물 모으기' 태스크를 수행하기 위해서는, 이동 동작, 한 손 사용 동작, 양 손 사용 동작, 사물 인식 동작, 줍기 동작, 옮기기 동작과 같은 동작을 포함한다고 판단할 수 있다.
또한, 프로세서(120)는 통신부(110)를 통해 로봇(20)으로부터 로봇(20)의 수행 동작에 대한 정보를 수신할 수 있다. 프로세서(120)는 로봇(20)으로부터 수신한 로봇의 수행 가능한 동작에 대한 정보를 저장부(미도시)에 저장할 수 있다.
그리고, 프로세서(120)는 로봇(20)으로부터 수신한 로봇의 수행 가능한 동작을 이용하여, 서비스에 포함되는 태스크 중 로봇(20)이 수행할 수 있는 태스크를 판단할 수 있으며, 이와 관련하여, 이하에서 도 4를 참조하여 보다 구체적으로 설명하도록 한다.
도 4는 본 발명의 일 실시 예에 따라 로봇이 수행 가능한 태스크를 판단하기 위한 도면이다.
하나의 태스크를 수행하는데 요구되는 동작들은 적어도 하나 또는 그 이상일 수 있다. 하나의 동작은 하나의 로봇에 의해 수행될 수도 있으며, 복수의 로봇에 의해 수행될 수도 있다.
프로세서(120)는 저장부에 저장된 서비스 관련 정보로부터 서비스에 대응되는 태스크의 수행에 필요한 동작이 가능한 로봇을 검색할 수 있다.
또한, 프로세서(120)는 서비스에 포함되어 있는 태스크 중 로봇(20)이 수행할 수 있는 동작이 포함되어 있는 태스크를 추출함으로써, 로봇(20)이 수행할 수 있는 태스크를 판단할 수 있다. 더욱 구체적으로, 저장부에는 태스크가 수행되기 위해 요구되는 동작들이 기설정 되어 있는데, 이러한 동작들이 로봇에 의해 수행될 수 있다고 판단되면, 해당 태스크는 로봇이 수행할 수 있는 태스크로 판단될 수 있다.
예를 들어, 도4 와 같이, 프로세서(120)가 세탁 서비스에 대한 태스크(611) 및 각 태스크 별로 필요한 동작(612)을 판단하고, 로봇 A 및 B의 기능 및 동작(620,630,640)을 판단하였다고 가정한다.
프로세서(120)는 태스크를 수행하는데 요구되는 동작 각각에 대하여, 이를 수행할 수 있는 로봇이 존재하는지 검색할 수 있다. 가령, 프로세서(120)는 시스템 내의 로봇들 중 '이동' 동작을 수행할 수 있는 로봇을 검색한 후에, 로봇 A가 '세탁물 모으기' 태스크의 '이동' 동작을 수행할 수 있다고 판단할 수 있다.
하나 이상의 로봇이 하나의 태스크에 포함되는 복수 개의 동작 전부를 수행하는 경우, 해당 태스크는 로봇이 수행할 수 있는 태스크라고 판단될 수 있다. 그러나 하나 이상의 로봇이 하나의 태스크에 포함되는 동작 전부를 수행하지 못하더라도, 태스크를 수행하는데 최소한으로 요구되는 동작을 수행할 수 있다면, 해당 태스크는 로봇이 수행할 수 있는 태스크라고 판단될 수 있다. 이때, 프로세서(120)는 최소한으로 요구되는 동작에 관한 정보를, 저장부에 저장된 서비스 관련 정보로부터 획득하거나, 전자 장치(10)를 통한 사용자의 입력을 통해 획득할 수 있다.
예를 들어, 프로세서(120)는 세탁물 모으기 동작이 수행되기 위해서는 최소한 '사물인식' 및 '이동' 동작이 요구된다고 판단할 수 있다. 이때, 프로세서(120)가 '이동' 동작은 로봇 A에 의해, '사물 인식' 동작은 로봇 B에 의해 수행될 수 있다고 판단하였다면, 프로세서(120)는 '세탁물 모으기' 태스크는 로봇 A 및 B에 의해 수행될 수 있다고 판단할 수 있다.
이 경우, 로봇 B가 세탁물을 인식하여 세탁물의 위치 정보를 서버(100)에 전달하고, 서버(100)는 이를 다시 로봇 A에 전달할 수 있다. 그리고, 세탁물의 위치를 파악한 로봇 A는 내장된 청소맵을 이용하여, 공간 형태 및 세탁물의 위치를 파악하고 특정 장소로 움직이면서 세탁물을 옮길 수 있게 된다.
한편, 프로세서(120)는 태스크를 수행하기 위해 요구되는 동작과 로봇이 수행할 수 있는 동작이 일치하지 않더라도, 서버(100)에 내장된 프로그램 및 로봇의 동작을 이용하여 태스크에 포함된 동작이 수행될 수 있는지 판단할 수 있다. 가령, 사물 인식의 경우, 프로세서(120)는 로봇으로부터 이미지를 획득하고, 서버(100)에 내장된 인식 프로그램을 이용하여 태스크에서 요구되는 사물을 인식할 수도 있으며, 이 경우, 프로세서(120)는 '이미지 촬영' 동작을 수행하는 로봇이 '사물 인식' 동작을 수행할 수 있다고 판단할 수 있다.
한편, 프로세서(120)는 태스크를 수행 가능 여부를 판단하는데 로봇(20) 이외에 다른 전자 장치(30,40)를 이용할 수도 있다. 예를 들어, 프로세서(120)는 카메라 센서 등을 구비한 전자 장치(40)로부터 이미지를 획득할 수도 있다.
도 4에서와 같은 방법으로 로봇이 수행할 수 있는 태스크를 판단한 후, 프로세서(120)는, 사용자가 요청한 서비스에 대하여 로봇 스케줄링을 수행할 수 있다. 로봇 스케줄링은, 프로세서(120)가 서비스가 완료되어야 하는 시간, 태스크 별 수행 시간, 태스크와 관련된 동작, 동작을 수행하는 작업시간, 로봇의 상태, 로봇에 이미 할당된 태스크 등을 고려하여, 사용자가 요청한 서비스를 이루는 복수 개의 태스크 중 특정 로봇이 수행할 수 있는 태스크를 판단하고, 태스크를 수행할 수 있는 로봇의 타임 테이블에 해당 태스크를 할당하는 것을 의미한다.
프로세서(120)는, 사용자 스케줄 정보에 따라 각 태스크 별 완료 시간을 결정하고, 각 태스크에 요구되는 동작을 수행하는 로봇의 작업 시간을 사용자가 요청한 완료시간에 맞추어 판단할 수 있다.
예를 들어, 오후 5시까지 세탁이 완료될 것을 요청받은 경우, 프로세서(120)는 로봇의 태스크 수행 시간을 고려하여, '세탁물 모으기'는 오후 12시 30분, '세탁기 사용'은 오후 1시45분, '건조기 사용'은 오후 3시 30분에 수행되어야 한다고 판단할 수 있다. 또한, 프로세서(120)가 '빨래 널기' 태스크를 수행할 로봇이 존재하지 않는다고 판단한 경우, '빨래 널기' 태스크는 사용자가 수행하게 된다고 판단하여, '빨래 널기' 태스크를 제외하고 로봇 스케줄링을 수행할 수 있다.
또한, 위의 예에서, '세탁물 모으기' 작업을 수행하기로 한 A 로봇이 12시부터 1시까지 방 청소를 하기로 예약되어 있는 상태라면, 프로세서(120)는 A 로봇의 태스크 할당 상태 및 '세탁물 모으기' 태스크 수행 시간을 고려하여, A 로봇이 '세탁물 모으기' 태스크를 10시 45분에 수행하여야 한다고 판단할 수 있다. 이에 따라, A 로봇과 함께 '세탁물 모으기' 태스크를 수행하기로 한 B 로봇도 '세탁물 모으기' 태스크를 10시 45분에 수행하여야 한다고 판단할 수 있다.
프로세서(120)는, 로봇 스케줄링이 완료된 후, 로봇(20)이 수행하여야 할 태스크와 관련된 동작 및 태스크를 수행하는 작업 시간에 대한 정보를 로봇(20)으로 전송할 수 있다.
또한, 프로세서(120)는 스케줄링된 태스크와 관련된 동작의 수행명령을 로봇(20)으로 전송할 수 있다. 이때, 하나의 태스크를 수행하기 위하여 복수 개의 로봇의 동작이 필요하다면, 프로세서(120)는 복수 개의 로봇 각각에 대하여 스케줄링 된 태스크와 관련된 동작의 수행 명령을 전송할 수 있다.
이와 관련하여, 프로세서(120)는 태스크의 수행에 필요한 일련의 동작이 순차적으로 이루어질 수 있도록 검색된 로봇으로 제어 명령을 전송할 수 있다.
예를 들어, 로봇 스케줄링 결과, '세탁물 모으기' 태스크를 수행하기 위하여 A 로봇이 '이동' 동작을, B 로봇이 '이미지 촬영' 동작을 수행해야 한다고 판단된 경우를 가정한다. 프로세서(120)는 저장부에 저장된 서비스 관련 정보를 이용하여, '이동' 동작이 이루어지기 이전에 '이미지 촬영' 동작을 수행된다고 판단할 수 있으며, 프로세서(120)는 B 로봇에 '이미지 촬영' 동작 수행 명령을 전송한 후에, A 로봇에 '이동' 동작 수행 명령을 전송할 수 있다.
한편, 프로세서(120)는, 로봇(20)에 동작 수행 명령을 전송하기 이전에, 로봇에게 할당된 태스크 및 상기 태스크를 수행하는 작업 시간에 대한 정보를 전자 장치(10)에 전송할 수 있다. 또한, 프로세서(120)는 서비스를 수행하는데 필요한 복수의 태스크 중 로봇에게 할당된 태스크 및 태스크를 수행하는 작업 시간에 대한 정보를 전자 장치(10)에 전송할 수도 있다.
이와 함께, 프로세서(120)는 태스크와 관련된 동작의 수행 여부를 확인하기 위한 요청을 전자 장치(10)로 전송할 수도 있다. 이때, 전자 장치(10)로부터 동작의 수행에 대한 확인 명령이 수신되면, 태스크와 관련된 동작의 수행 명령을 로봇(20)으로 전송할 수 있다.
한편, 서버(100)는 복수 개의 서비스에 대한 요청 정보를 수신할 수도 있는데, 이 경우 프로세서(120)는 복수 개의 서비스 각각을 위해 요구되는 복수의 태스크를 판단할 수 있다. 그리고, 복수 개의 서비스 각각을 위해 요구되는 복수의 태스크 중에서 로봇이 수행할 수 있는 동작을 고려하여, 로봇의 작업 시간을 스케줄링 할 수도 있다.
도 5 내지 7은 본 발명의 일 실시 예에 따라 서비스 및 태스크 정보 제공 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시 예에 따른, 로봇 스케줄링이 완료된 후, 서버(100)로부터 서비스 정보를 수신한 전자 장치(10)에 디스플레이되는 화면이다.
전자 장치(10)는 서버(100)로부터 서비스 및 태스크 정보를 수신할 수 있다. 이때, 서비스 정보는 사용자의 스케줄과 함께 디스플레이 될 수 있다. 구체적으로, 서비스 정보는 전자 장치(10)에 내장되어 있는 캘린더 어플리케이션을 이용하여 사용자의 스케줄 정보와 함께 디스플레이될 수 있다. 또한, 서버(100)에 저장된 사용자의 스케줄 정보를 이용할 수도 있다. 즉, 전자 장치(10)는 서버(100)로부터 사용자의 스케줄 정보, 서비스 정보 및 태스크 정보를 수신하여, 사용자의 스케줄 정보 및 서비스 정보를 디스플레이 할 수 있다.
또한, 전자 장치(10)는 서비스의 승인 여부를 요청하는 UI를 함께 디스플레이할 수도 있다. 사용자가 서비스를 거절하는 경우, 서비스 및 태스크 정보를 사용자의 스케줄에서 삭제된다. 반면, 사용자가 서비스를 승인하는 경우, 승인 메시지는 서버(100)에 전달 된다.
한편, 사용자의 스케줄에 표시된 서비스 정보가 선택되면, 서비스가 포함하는 태스크 및 태스크 관련 정보가 디스플레이 될 수 있다.
도 6은 본 발명의 일 실시 예에 따라, 전자 장치(10)에 표시된 서비스 정보가 선택된 후에 디스플레이되는 화면을 도시한 도면이다.
구체적으로, 서비스 정보가 선택되면, 서비스와 관련된 복수 개의 태스크 및 태스크 관련 정보가 표시될 수 있다. 태스크 관련 정보를 태스크의 진행 상황, 소요시간, 시작 시간, 수행 로봇 등의 정보를 포함할 수 있다. 이때, 사용자의 편의를 위하여, 태스크 진행 상황은 그래프, 도형, 숫자 등으로 표시될 수 있다.
예를 들어, 현재 시간이 오후 1시이고, 세탁물 모으기 태스크가 로봇 A 및 B에 의해 오전 11시 30분부터 2 시간 동안 진행될 예정인 경우, 세탁물 모으기 태스크가 로봇 A 및 B에 의해 75% 진행되었다는 정보가 디스플레이 될 수 있다.
전자 장치(10)에는 현재 진행 중인 태스크뿐만 아니라, 앞으로 진행 예정인 태스크도 디스플레이 될 수 있다. 또한, 앞으로 진행될 태스크 중 태스크를 수행할 로봇이 존재하지 않는다고 판단하여 로봇 스케줄링을 하지 못한 경우에도, 로봇 스케줄링 하지 못한 태스크는 디스플레이 될 수 있다. 로봇 스케줄링을 하지 못한 태스크의 경우, 태스크의 명칭만이 표시된 채, 소요 시간, 시작 시간, 수행 로봇 등의 정보가 표시되지 않을 수 있다. 다만, 반드시 이에 국한되는 것은 아니며, 전자 장치(10)는 로봇이 수행하기로 한 태스크만을 표시할 수도 있다.
한편, 태스크 정보가 표시된 화면에서, 사용자는 태스크를 수행하기로 한 로봇의 식별 정보를 선택할 수도 있다.
도 7은 본 발명의 일 실시 예에 따라 태스크 정보가 표시된 상태에서, 로봇 식별 정보를 선택한 경우 표시되는 화면을 도시한 것으로, 이때 로봇 정보는 로봇의 ID, 이름, 장치번호, IP 주소 등 로봇을 식별할 수 있는 정보를 의미한다.
로봇 식별 정보가 선택되면, 이에 대응하는 로봇에 관한 정보가 디스플레이 된다. 구체적으로, 디스플레이 화면에는 로봇의 ID, 이름, 장치번호 등과 같은 식별 번호, 로봇의 배터리 정보, 배터리 정보에 기초한 로봇의 사용 가능 시간 및 로봇의 스케줄 정보 등이 표시될 수 있다.
로봇의 스케줄 정보는 시간의 흐름에 따른 로봇의 태스크 일정을 의미하며, 서버(100)에 의해 로봇 스케줄링 된 태스크뿐만 아니라, 로봇의 본래의 기능을 포함하는 태스크도 표시될 수 있다.
가령, 로봇 A가 청소기 로봇으로 오전 11시 30분에 세탁물 모으기 태스크를 수행하기로 스케줄링 된 경우, 로봇 A의 스케줄 정보에는 세탁물 모으기 태스크뿐만 아니라, 로봇 A의 본래 기능인 자동 청소 기능을 포함하는 방 청소 태스크도 디스플레이 될 수 있다.
또한, 사용자에 의해 스케줄 정보에 표시된 태스크가 선택되면, 도6과 같은 서비스 및 태스크 관련 정보가 표시될 수 있다.
도 8은 본 발명의 일 실시 예에 따른 서비스 제공 시스템을 설명하기 위한 흐름도이다.
먼저, 외부 전자 장치로부터 제1 서비스의 요청이 수신되면(S810), 요청된 서비스와 상이한 서비스를 제공하는 로봇들 중에서 서비스에 요구되는 동작을 수행 가능한 로봇을 네트워크 상에서 검색한다(S820).
이후, 검색된 로봇의 동작을 제어하여 서비스를 제공한다(S830).
이와 관련하여, 서비스 종류 별로 요구되는 태스크, 태스크 수행에 필요한 동작, 네트워크에 연결된 로봇 및 로봇에서 수행 가능한 동작 정보가 저장된 저장부에 기초하여, 요청된 서비스에 대응되는 태스크의 수행에 필요한 동작이 가능한 로봇을 검색할 수 있다.
또한, 네트워크에 연결된 로봇으로부터 동작 정보가 수신되면, 수신된 동작 정보를 저장부에 추가할 수 있다.
그리고, 사용자 스케줄 정보가 입력되면, 사용자 스케줄 정보에 따라 각 태스크 별 완료 시간을 결정하고, 각 태스크에 요구되는 동작을 수행하는 로봇의 작업 시간을 상기 완료 시간에 맞추어 스케줄링 할 수 있다.
또한, 복수의 서비스가 요청되면, 각 서비스에서 요구되는 태스크 및 해당 태스크에 속하는 동작을 고려하여, 로봇의 작업 시간을 스케줄링 할 수 있다.
한편, 판단된 태스크와 관련된 동작의 수행 여부를 확인하기 위한 요청을 전자 장치로 전송하고, 전자 장치로부터 동작의 수행에 대한 확인 명령이 수신되면, 상기 판단된 태스크와 관련된 동작의 수행 명령을 상기 로봇으로 전송할 수 있다.
또한, 로봇에게 할당된 태스크 및 태스크를 수행하는 작업 시간에 대한 정보를 전자 장치로 전송할 수 있다.
한편, 서비스가 요청되면 그 서비스를 구성하는 태스크들을 분류한 후, 각 태스크의 수행에 필요한 동작을 확인하고 그 동작을 수행 가능한 로봇들을 검색할 수도 있으며, 검색 결과에 따라서 태스크 단위로 가능 여부를 판단할 수 있다.
한편, 본 발명에 따른 서비스 제공 방법을 순차적으로 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 전자 장치에 대해 도시한 상술한 블록도에서는 버스(bus)를 미도시하였으나, 전자 장치에서 각 구성요소 간의 통신은 버스를 통해 이루어질 수도 있다. 또한, 전자 장치에는 상술한 다양한 동작을 수행하는 CPU, 마이크로 프로세서 등과 같은 프로세서가 더 포함될 수도 있으며, 전자 장치에는 상술한 다양한 동작을 수행하기 위한 메모리가 더 포함될 수도 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100: 서버 110: 통신부
120: 프로세서

Claims (14)

  1. 전자 장치에 있어서,
    네트워크에 연결된 통신부; 및
    상기 네트워크를 통해 연결된 타 전자 장치 중 하나로부터 서비스가 요청되면, 상기 서비스와 상이한 서비스를 제공하는 로봇들 중에서 상기 서비스에 요구되는 동작을 수행 가능한 로봇을 상기 통신부를 통해 검색하고, 검색된 로봇의 동작을 제어하여 상기 서비스를 제공하는 프로세서;를 포함하는 전자 장치.
  2. 제1항에 있어서,
    서비스 종류 별로 요구되는 태스크, 상기 태스크 수행에 필요한 동작, 상기 네트워크에 연결된 로봇 및 상기 로봇에서 수행 가능한 동작 정보가 저장된 저장부;를 더 포함하고,
    상기 프로세서는,
    상기 요청된 서비스에 대응되는 태스크의 수행에 필요한 동작이 가능한 로봇을 상기 저장부에 기초하여 적어도 하나 이상 검색하고, 상기 태스크의 수행에 필요한 일련의 동작이 순차적으로 이루어질 수 있도록 검색된 로봇으로 제어 명령을 전송하는, 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 네트워크에 연결된 로봇으로부터 동작 정보가 수신되면, 수신된 동작 정보를 상기 저장부에 추가하는, 전자 장치.
  4. 제2항에 있어서,
    상기 프로세서는,
    사용자 스케쥴 정보가 상기 통신부를 통해 입력되면, 상기 사용자 스케쥴 정보에 따라 각 태스크 별 완료 시간을 결정하고, 각 태스크에 요구되는 동작을 수행하는 로봇의 작업 시간을 상기 완료 시간에 맞추어 스케쥴링하는, 전자 장치.
  5. 제2항에 있어서,
    상기 프로세서는,
    상기 통신부를 통해 복수의 서비스가 요청되면, 각 서비스에서 요구되는 태스크 및 해당 태스크에 속하는 동작을 고려하여, 상기 로봇의 작업 시간을 스케쥴링하는, 전자 장치.
  6. 제2항에 있어서,
    상기 프로세서는,
    상기 판단된 태스크와 관련된 동작의 수행 여부를 확인하기 위한 요청을 상기 타 전자 장치로 전송하고, 상기 타 전자 장치로부터 상기 동작의 수행에 대한 확인 명령이 수신되면, 상기 판단된 태스크와 관련된 동작의 수행 명령을 상기 로봇으로 전송하는, 전자 장치.
  7. 제2항에 있어서,
    상기 프로세서는,
    상기 로봇에게 할당된 태스크 및 상기 태스크를 수행하는 작업 시간에 대한 정보를 상기 통신부를 통해 상기 타 전자 장치로 전송하는, 전자 장치.
  8. 네트워크를 통해 연결된 전자 장치를 이용하여 서비스를 제공하는 서비스 제공 방법에 있어서,
    상기 네트워크를 통해 연결된 전자 장치 중 하나로부터 서비스 요청을 수신하는 단계;
    요청된 서비스와 상이한 서비스를 제공하는 로봇들 중에서 상기 서비스에 요구되는 동작을 수행 가능한 로봇을 상기 네트워크 상에서 검색하는 단계; 및
    검색된 로봇의 동작을 제어하여 상기 서비스를 제공하는 단계;를 포함하는 서비스 제공 방법.
  9. 제8항에 있어서,
    상기 로봇을 검색하는 단계는,
    서비스 종류 별로 요구되는 태스크, 상기 태스크 수행에 필요한 동작, 상기 네트워크에 연결된 로봇 및 상기 로봇에서 수행 가능한 동작 정보가 저장된 저장부에 기초하여, 상기 요청된 서비스에 대응되는 태스크의 수행에 필요한 동작이 가능한 로봇을 검색하는, 서비스 제공 방법.
  10. 제9항에 있어서,
    상기 네트워크에 연결된 로봇으로부터 동작 정보가 수신되면, 수신된 동작 정보를 상기 저장부에 추가하는 서비스 제공 방법.
  11. 제9항에 있어서,
    사용자 스케쥴 정보가 입력되면, 상기 사용자 스케쥴 정보에 따라 각 태스크 별 완료 시간을 결정하고, 각 태스크에 요구되는 동작을 수행하는 로봇의 작업 시간을 상기 완료 시간에 맞추어 스케쥴링하는 단계;를 더 포함하는, 서비스 제공 방법.
  12. 제9항에 있어서,
    복수의 서비스가 요청되면, 각 서비스에서 요구되는 태스크 및 해당 태스크에 속하는 동작을 고려하여, 상기 로봇의 작업 시간을 스케쥴링하는 단계;를 더 포함하는 서비스 제공 방법.
  13. 제9항에 있어서,
    상기 판단된 태스크와 관련된 동작의 수행 여부를 확인하기 위한 요청을 상기 전자 장치로 전송하는 단계; 및
    상기 전자 장치로부터 상기 동작의 수행에 대한 확인 명령이 수신되면, 상기 판단된 태스크와 관련된 동작의 수행 명령을 상기 로봇으로 전송하는 단계;를 더 포함하는, 서비스 제공 방법.
  14. 제9항에 있어서,
    상기 로봇에게 할당된 태스크 및 상기 태스크를 수행하는 작업 시간에 대한 정보를 상기 전자 장치로 전송하는 단계;를 더 포함하는, 서비스 제공 방법.
KR1020170136057A 2017-10-19 2017-10-19 전자 장치 및 그의 서비스 제공 방법 KR102402044B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170136057A KR102402044B1 (ko) 2017-10-19 2017-10-19 전자 장치 및 그의 서비스 제공 방법
PCT/KR2018/009584 WO2019078469A1 (ko) 2017-10-19 2018-08-21 전자 장치 및 그의 서비스 제공 방법
US16/754,032 US20200326685A1 (en) 2017-10-19 2018-08-21 Electronic apparatus and service providing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170136057A KR102402044B1 (ko) 2017-10-19 2017-10-19 전자 장치 및 그의 서비스 제공 방법

Publications (2)

Publication Number Publication Date
KR20190043940A true KR20190043940A (ko) 2019-04-29
KR102402044B1 KR102402044B1 (ko) 2022-05-26

Family

ID=66174072

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170136057A KR102402044B1 (ko) 2017-10-19 2017-10-19 전자 장치 및 그의 서비스 제공 방법

Country Status (3)

Country Link
US (1) US20200326685A1 (ko)
KR (1) KR102402044B1 (ko)
WO (1) WO2019078469A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10949940B2 (en) * 2017-04-19 2021-03-16 Global Tel*Link Corporation Mobile correctional facility robots
US10690466B2 (en) 2017-04-19 2020-06-23 Global Tel*Link Corporation Mobile correctional facility robots

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080046964A (ko) * 2006-11-24 2008-05-28 (주)오로라 디자인랩 기기제어 기반 사용자 중심의 지능형 홈네트워크 시스템의서비스 방법
KR20140077489A (ko) * 2012-12-14 2014-06-24 삼성전자주식회사 사용자 단말 장치, 네트워크 장치 및 그 제어 방법
KR20170109954A (ko) * 2016-03-22 2017-10-10 배재대학교 산학협력단 공유기를 이용한 머신 소셜라이제이션 기반 기기간 협업 관리 시스템 및 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7756322B2 (en) * 2003-08-18 2010-07-13 Honda Motor Co., Ltd. Picture taking mobile robot
US8428777B1 (en) * 2012-02-07 2013-04-23 Google Inc. Methods and systems for distributing tasks among robotic devices
KR102205836B1 (ko) * 2014-01-29 2021-01-21 삼성전자 주식회사 태스크 스케줄링 방법 및 장치
JP2016208110A (ja) * 2015-04-16 2016-12-08 三菱電機株式会社 住宅機器制御装置及び住宅機器制御方法及び住宅機器制御プログラム
US10430744B2 (en) * 2015-08-21 2019-10-01 Autodesk, Inc. Robot service platform
DE102015116044A1 (de) * 2015-09-23 2017-03-23 Biosign Medical Ug (Haftungsbegrenzt) Verfahren und Vorrichtung zur Quantifizierung einer respiratorischen Sinusarrhythmie sowie Verwendung eines derartigen Verfahrens oder einer derartigen Vorrichtung [
KR20170067917A (ko) * 2015-12-08 2017-06-19 전자부품연구원 스마트홈 가전 서비스 제공 시스템 및 서비스 제공 방법
DE102015121666B3 (de) * 2015-12-11 2017-05-24 RobArt GmbH Fernsteuerung eines mobilen, autonomen Roboters
US10788836B2 (en) * 2016-02-29 2020-09-29 AI Incorporated Obstacle recognition method for autonomous robots

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080046964A (ko) * 2006-11-24 2008-05-28 (주)오로라 디자인랩 기기제어 기반 사용자 중심의 지능형 홈네트워크 시스템의서비스 방법
KR20140077489A (ko) * 2012-12-14 2014-06-24 삼성전자주식회사 사용자 단말 장치, 네트워크 장치 및 그 제어 방법
KR20170109954A (ko) * 2016-03-22 2017-10-10 배재대학교 산학협력단 공유기를 이용한 머신 소셜라이제이션 기반 기기간 협업 관리 시스템 및 방법

Also Published As

Publication number Publication date
WO2019078469A1 (ko) 2019-04-25
US20200326685A1 (en) 2020-10-15
KR102402044B1 (ko) 2022-05-26

Similar Documents

Publication Publication Date Title
US10168690B2 (en) Methods and systems for multirobotic management
US11585685B2 (en) Method, apparatus and computer program product for providing sensor data collection and sensor configuration
US20180006840A1 (en) Wearable device and controlling method thereof, and system for controlling smart home
KR101945772B1 (ko) 로봇 시스템이 작업을 수행하기 위한 명령어를 생성하기 위한 방법 및 시스템
CN105723652B (zh) 用于控制智能家庭系统的方法和电子设备
US11233671B2 (en) Smart internet of things menus with cameras
WO2015137740A1 (ko) 로봇을 이용한 홈 네트워크 시스템 및 그 제어방법
JP6229075B2 (ja) スマートホーム機器を制御する方法及び装置、プログラム及び記録媒体
US9477302B2 (en) System and method for programing devices within world space volumes
CN109469970A (zh) 一种控制空调的方法、装置、空调及存储介质
CN107306383B (zh) 推定操作者的方法、装置以及记录介质
JP2017182531A (ja) 情報処理装置、情報処理方法、およびプログラム
CN105068632A (zh) 终端的充电方法、装置及终端
EP3123352B1 (en) Data sharing method and electronic device thereof
KR20190043940A (ko) 전자 장치 및 그의 서비스 제공 방법
KR20210004973A (ko) 근거리 무선 통신을 기반으로 근처 지인을 파악하기 위한 방법과 시스템 및 비-일시적인 컴퓨터 판독 가능한 기록 매체
KR101834066B1 (ko) 공유기를 이용한 머신 소셜라이제이션 기반 기기간 협업 관리 시스템 및 방법
JP2021013159A (ja) 情報処理装置、テレプレゼンスロボット、拠点制御システム、遠隔制御システム、情報処理方法およびプログラム
US20220335101A1 (en) Device for generating user profile and system comprising the device
KR20200122754A (ko) 증강 현실 이미지를 제공하는 스마트 안경 시스템
KR102012518B1 (ko) 원격 제어 시스템
WO2017041558A1 (zh) 分析处理方法、装置及系统
WO2018133063A1 (zh) 一种基于运动手势识别的测量仪控制方法及测量仪
KR102495008B1 (ko) 영상 편집 지원 방법 및 이를 지원하는 전자 장치
JP2017157170A (ja) 情報処理装置、コンテンツ管理方法及びコンテンツ管理プログラム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right