KR101690873B1 - 클라우드 환경을 통한 로봇 제어 프로그래밍 시스템 및 방법 - Google Patents

클라우드 환경을 통한 로봇 제어 프로그래밍 시스템 및 방법 Download PDF

Info

Publication number
KR101690873B1
KR101690873B1 KR1020150061499A KR20150061499A KR101690873B1 KR 101690873 B1 KR101690873 B1 KR 101690873B1 KR 1020150061499 A KR1020150061499 A KR 1020150061499A KR 20150061499 A KR20150061499 A KR 20150061499A KR 101690873 B1 KR101690873 B1 KR 101690873B1
Authority
KR
South Korea
Prior art keywords
conditional expression
conditional
communication unit
terminal
robot
Prior art date
Application number
KR1020150061499A
Other languages
English (en)
Other versions
KR20160129398A (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 KR1020150061499A priority Critical patent/KR101690873B1/ko
Publication of KR20160129398A publication Critical patent/KR20160129398A/ko
Application granted granted Critical
Publication of KR101690873B1 publication Critical patent/KR101690873B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • 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
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • 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
    • B25J9/1689Teleoperation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • 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

Abstract

본 발명은 로봇 제어 프로그래밍 시스템에 관한 것에 관한 것이다. 본 발명의 일예와 관련된 로봇 제어 프로그래밍 시스템은 클라우드 및 단말을 포함하는 로봇 제어 프로그래밍 시스템에 있어서, 상기 클라우드는, 상기 로봇이 동작하는 조건인 복수의 제 1 조건식이 저장된 제 1 DB; 상기 로봇이 동작하는 조건에 사용되는 복수의 조건변수가 저장된 제 2 DB; 및 제 1 통신부;를 포함하고, 상기 단말은, 상기 제 1 통신부로부터 상기 제 1 DB에 저장된 상기 하나 이상의 제 1 조건식 및 상기 제 2 DB에 저장된 상기 하나 이상의 조건변수를 수신하는 제 2 통신부; 상기 제 2 통신부가 수신한 상기 하나 이상의 제 1 조건식 및 상기 하나 이상의 조건변수를 표시하는 디스플레이부; 및 사용자가 상기 디스플레이부 상에 표시된 상기 하나 이상의 제 1 조건식 및 상기 하나 이상의 조건변수를 이용하여 상기 로봇이 동작하는 조건인 제 2 조건식을 입력할 수 있는 제 1 입력수단;을 포함할 수 있다.

Description

클라우드 환경을 통한 로봇 제어 프로그래밍 시스템 및 방법{Programming system and method for controlling robot in cloud environment}
본 발명은 로봇 제어 프로그래밍 시스템에 관한 것으로서, 보다 상세하게는 클라우드 환경을 통해 보다 효율적으로 프로그래밍을 할 수 있는 시스템에 관한 것이다.
전원을 동력으로 움직이는 로봇으로서는, 예컨대 프로그램 코드들로 된 동작 프로그램에 따라 동작하거나 혹은 원격 조정 등을 통한 사용자 조작에 따라 동작하는 것들이 있는데, 동작 프로그램에 따라 동작하는 로봇(이하, "프로그래밍 로봇" 이라 함)의 경우 사용자가 동작 프로그램을 프로그래밍하여 사용하는 것이 일반적이다.
한편, 전형적인 프로그래밍 로봇의 경우, 사용자가 원하는 로봇의 동작 실행을 위해 로봇 프로그램을 프로그래밍하고자 하는 경우, 로봇에 내장된 프로그램 제어기와 개인용 컴퓨터 등을 연결(통상, 유선 연결)하고, 컴퓨터를 이용하여 자신이 원하는 로봇 동작을 프로그래밍하는 것이 일반적이다.
따라서, 종래 프로그래밍 로봇을 프로그래밍하기 위해서는 컴퓨터가 갖추어진 프로그래밍 환경이 반드시 필요하며, 또한 컴퓨터를 이용하여 로봇 동작을 프로그래밍할 수 있는 정도의 프로그래밍 숙련도가 가진 자여야만 하는 한계가 있으며, 이러한 한계는 결국 프로그래밍 로봇의 활용성 및 적용성 저하를 초래, 즉 사용 환경적인 제약을 수반하게 되는 문제로 귀결되고 있는 실정이다.
최근, 프로그래밍 로봇을 이용하는 교육(예컨대, 교육용 로봇을 이용한 미로 찾기 교육 등) 이 광범위하게 확산되고 추세인데, 컴퓨터를 이용하여 로봇 동작을 프로그래밍하는 종래 방식의 경우 교육용 로봇에 대한 프로그래밍을 피교육자인 유소년들이 직접하지 못하게 되는 경우가 다반사로 발생하게 되어 교육의 목적 달성이 퇴색되는 경우로 귀결될 것이다.
특히, 종래 방식의 경우 프로그래밍 된 로봇의 동작 또는 로봇이 동작되기 위한 조건식이 사용자 간에 공유되지 않아 프로그래밍을 함에 있어 매우 비효율적이라는 문제도 있었다.
한편, 프로그래밍 로봇이 동작하기 위해서는 동작을 위한 조건(예, 로봇의 앞에 장애물이 있는지 여부)를 판단하기 위해서는 프로그래밍 로봇 자체가 그 조건의 만족여부를 판단하기 위해 연사을 하거나 로봇과 연결된 장치가 연산을 해야 하므로 연산장치에 매우 부담이 간다는 문제도 있었다.
따라서, 본 명세서에서는 프로그래밍 된 조건식이 클라우드에 의해 공유되며, 로봇이 동작하기 위한 조건의 만족여부가 클라우드에 의해 연산되는 시스템을 제안하고자 한다.
본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 안출된 것으로서, 클라우드로부터 조건식을 수신하고 수신한 조건식을 이용하므로 보다 쉽고 효율적으로 새로운 조건식을 생성할 수 있는 로봇 제어 프로그래밍 시스템을 사용자에게 제공하는데 그 목적이 있다.
또한, 단말에서 생성된 조건식이 클라우드에 저장됨으로써 조건식이 공유되도록 하는 데 그 목적이 있다.
또한, 분산되어 있는 정보가 클라우드에 취합되어 처리되므로 불필요한 연산을 줄이고자 한다.
또한, 클라우드가 조건식의 연산을 함으로써 보다 빠른 조건식의 판단이 가능하고, 로봇의 연산 부담을 줄이고자 한다.
또한, 로봇 제어를 위한 프로그램을 제작할 때 직접 텍스트 형태의 실행코드를 입력하지 않고 직관적인 툴을 조작함으로써 쉽게 프로그래밍을 할 수 있도록 하는 데 그 목적이 있다.
또한, 조건식에 메타데이터가 포함되어, 메타데이터를 이용하여 클라우드의 DB에 저장된 조건식을 효율적으로 검색할 수 있도록 하는 데 그 목적이 있다.
한편, 본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 실현하기 위한 본 발명의 일예와 관련된 로봇 제어 프로그래밍 시스템은 클라우드 및 단말을 포함하는 로봇 제어 프로그래밍 시스템에 있어서, 상기 클라우드는, 상기 로봇이 동작하는 조건인 복수의 제 1 조건식이 저장된 제 1 DB; 상기 로봇이 동작하는 조건에 사용되는 복수의 조건변수가 저장된 제 2 DB; 및 제 1 통신부;를 포함하고, 상기 단말은, 상기 제 1 통신부로부터 상기 제 1 DB에 저장된 상기 하나 이상의 제 1 조건식 및 상기 제 2 DB에 저장된 상기 하나 이상의 조건변수를 수신하는 제 2 통신부; 상기 제 2 통신부가 수신한 상기 하나 이상의 제 1 조건식 및 상기 하나 이상의 조건변수를 표시하는 디스플레이부; 및 사용자가 상기 디스플레이부 상에 표시된 상기 하나 이상의 제 1 조건식 및 상기 하나 이상의 조건변수를 이용하여 상기 로봇이 동작하는 조건인 제 2 조건식을 입력할 수 있는 제 1 입력수단;을 포함할 수 있다.
또한, 상기 제 1 통신부는 상기 입력된 제 2 조건식을 상기 제 2 통신부를 통해 수신하고, 상기 제 1 DB는 상기 제 1 통신부가 수신한 상기 제 2 조건식을 상기 제 1 조건식으로서 저장할 수 있다.
또한, 상기 복수의 제 1 조건식 각각은 상기 복수의 제 1 조건식 각각의 속성 정보인 제 1 메타데이터를 포함하고, 상기 제 2 조건식은 상기 제 2 조건식의 속성 정보인 제 2 메타데이터를 포함할 수 있다.
또한, 상기 단말은, 상기 제 1 메타데이터와 관련된 검색어를 입력할 수 있는 제 2 입력수단;을 더 포함하고, 상기 제 1 통신부는, 상기 제 2 통신부로부터 상기 검색어를 수신하고, 상기 클라우드는, 상기 복수의 제 1 메타데이터 중 상기 제 1 통신부가 수신한 검색어와 관련된 제 1 메타데이터를 검색하여, 상기 검색한 제 1 메타데이터의 제 1 조건식을 도출하는 검색 수단;을 더 포함하며, 상기 제 2 통신부는 상기 제 1 통신부로부터 상기 도출된 제 1 조건식을 수신하고, 상기 디스플레이부는 상기 제 2 통신부가 수신한 상기 도출된 제 1 조건식을 표시할 수 있다.
또한, 상기 단말은, 상기 제 2 조건식에 따른 상기 로봇의 동작실행 신호를 발생시킬 수 있는 하나 이상의 코드블록이 저장된 제 3 DB;를 더 포함하고, 상기 디스플레이부는, 상기 하나 이상의 코드블록을 표시하며, 상기 단말은, 상기 사용자가 상기 디스플레이부 상에 표시된 상기 하나 이상의 코드블록을 이용하여 상기 제 2 조건식에 따른 상기 로봇의 동작실행 신호를 입력할 수 있는 제 3 입력수단;을 더 포함할 수 있다.
또한, 상기 복수의 제 1 조건식 각각은 상기 복수의 제 1 조건식 각각의 제 1 조건식 이름을 가지고, 상기 제 2 통신부는 상기 제 1 통신부로부터 상기 제 1 DB에 저장된 상기 복수의 제 1 조건식 이름을 수신하며, 상기 디스플레이부는 상기 복수의 제 1 조건식 이름을 표시하고, 상기 단말은, 상기 사용자가 상기 디스플레이부 상에 표시된 상기 복수의 제 1 조건식 이름 중 적어도 하나를 선택할 수 있는 제 4 입력수단;을 더 포함하고, 상기 제 1 통신부는 상기 제 2 통신부로부터 상기 사용자에 의해 입력된 상기 제 1 조건식 이름을 수신하고, 상기 제 1 DB에 저장된 상기 사용자에 의해 입력된 상기 제 1 조건식 이름에 해당하는 제 1 조건식을 상기 제 2 통신부로 전송할 수 있다.
한편, 상술한 과제를 실현하기 위한 본 발명의 일예와 관련된 로봇 제어 프로그래밍 시스템은 클라우드 및 복수의 단말을 포함하는 로봇 제어 프로그래밍 시스템에 있어서, 상기 클라우드는, 상기 로봇이 동작하는 조건인 복수의 제 1 조건식이 저장된 제 1 DB; 상기 로봇이 동작하는 조건에 사용되는 복수의 조건변수가 저장된 제 2 DB; 및 제 1 통신부;를 포함하고, 상기 복수의 단말 각각은, 상기 제 1 통신부로부터 상기 제 1 DB에 저장된 상기 하나 이상의 제 1 조건식 및 상기 제 2 DB에 저장된 상기 하나 이상의 조건변수를 수신하는 제 2 통신부; 상기 제 2 통신부가 수신한 상기 하나 이상의 제 1 조건식 및 상기 하나 이상의 조건변수를 표시하는 디스플레이부; 및 사용자가 상기 디스플레이부 상에 표시된 상기 하나 이상의 제 1 조건식 및 상기 하나 이상의 조건변수를 이용하여 상기 로봇이 동작하는 조건인 제 2 조건식을 입력할 수 있는 제 1 입력수단;을 포함할 수 있다.
또한, 상기 제 1 통신부는 상기 입력된 제 2 조건식을 상기 제 2 통신부를 통해 수신하고, 상기 제 1 DB는 상기 제 1 통신부가 수신한 상기 제 2 조건식을 상기 제 1 조건식으로서 저장할 수 있다.
또한, 상기 복수의 단말 중 제 1 단말의 제 2 통신부가 수신한 하나 이상의 제 1 조건식에는 제 2 단말의 제 2 통신부가 상기 제 1 통신부로 전송한 제 2 조건식이 포함될 수 있다.
또한, 상기 복수의 제 1 조건식 각각은 상기 복수의 제 1 조건식 각각의 속성 정보인 제 1 메타데이터를 포함하고, 상기 제 2 조건식은 상기 제 2 조건식의 속성 정보인 제 2 메타데이터를 포함할 수 있다.
또한, 상기 복수의 단말 각각은, 상기 제 1 메타데이터와 관련된 검색어를 입력할 수 있는 제 2 입력수단;을 더 포함하고, 상기 복수의 단말 중 제 1 단말의 제 2 입력수단이 상기 검색어를 입력하면, 상기 제 1 통신부는 상기 제 1 단말의 제 2 통신부로부터 상기 검색어를 수신하고, 상기 클라우드는, 상기 복수의 제 1 메타데이터 중 상기 제 1 통신부가 수신한 검색어와 관련된 제 1 메타데이터를 검색하여, 상기 검색한 제 1 메타데이터의 제 1 조건식을 도출하는 검색 수단;을 더 포함하며, 상기 제 1 단말의 제 2 통신부는 상기 제 1 통신부로부터 상기 도출된 제 1 조건식을 수신하고, 상기 제 1 단말의 디스플레이부는 상기 제 1 단말의 제 2 통신부가 수신한 상기 도출된 제 1 조건식을 표시할 수 있다.
또한, 상기 복수의 단말 각각은, 상기 제 2 조건식에 따른 상기 로봇의 동작실행 신호를 발생시킬 수 있는 하나 이상의 코드블록이 저장된 제 3 DB;를 더 포함하고, 상기 디스플레이부는, 상기 하나 이상의 코드블록을 표시하며, 상기 복수의 단말 각각은, 상기 사용자가 상기 디스플레이부 상에 표시된 상기 하나 이상의 코드블록을 이용하여 상기 제 2 조건식에 따른 상기 로봇의 동작실행 신호를 입력할 수 있는 제 3 입력수단;을 더 포함할 수 있다.
또한, 상기 복수의 제 1 조건식 각각은 상기 복수의 제 1 조건식 각각의 제 1 조건식 이름을 가지고, 상기 제 2 통신부는 상기 제 1 통신부로부터 상기 제 1 DB에 저장된 상기 복수의 제 1 조건식 이름을 수신하며, 상기 디스플레이부는 상기 복수의 제 1 조건식 이름을 표시하고, 상기 복수의 단말 각각은, 상기 사용자가 상기 디스플레이부 상에 표시된 상기 복수의 제 1 조건식 이름 중 적어도 하나를 선택할 수 있는 제 4 입력수단;을 더 포함하고, 상기 제 1 통신부는 상기 복수의 단말 중 제 1 단말의 제 2 통신부로부터 상기 사용자에 의해 입력된 상기 제 1 조건식 이름을 수신하고, 상기 제 1 DB에 저장된 상기 사용자에 의해 입력된 상기 제 1 조건식 이름에 해당하는 제 1 조건식을 상기 제 1 단말의 제 2 통신부로 전송할 수 있다.
한편, 상술한 과제를 실현하기 위한 본 발명의 일예와 관련된 로봇 제어 프로그래밍 방법은 로봇이 동작하는 조건인 복수의 제 1 조건식이 저장된 제 1 DB 및 상기 로봇이 동작하는 조건에 사용되는 복수의 조건변수가 저장된 제 2 DB를 포함하는 클라우드 및 복수의 단말을 이용하는 로봇 제어 프로그래밍 방법에 있어서, 상기 클라우드로부터 상기 복수의 단말 중 적어도 하나의 제 1 단말이 상기 하나 이상의 제 1 조건식 및 상기 하나 이상의 조건변수를 수신하는 제 1 단계; 상기 제 1 단말이 상기 수신한 상기 하나 이상의 제 1 조건식 및 상기 하나 이상의 조건변수를 표시하는 제 2 단계; 및 상기 제 1 단말이 상기 표시된 상기 하나 이상의 제 1 조건식 및 상기 하나 이상의 조건변수를 이용한 상기 로봇이 동작하는 조건인 제 2 조건식을 입력받는 제 3 단계;를 포함할 수 있다.
또한, 상기 제 3 단계 후, 상기 제 1 단말이 상기 입력된 제 2 조건식을 상기 클라우드로 전송하는 단계; 및 상기 클라우드가 상기 수신한 제 2 조건식을 상기 제 1 조건식으로서 상기 제 1 DB에 저장하는 단계;를 더 포함할 수 있다.
또한, 상기 제 1 단말이 수신한 하나 이상의 제 1 조건식에는 제 2 단말이 상기 클라우드로 전송한 제 2 조건식이 포함될 수 있다.
또한, 상기 복수의 제 1 조건식 각각은 상기 복수의 제 1 조건식 각각의 속성 정보인 제 1 메타데이터를 포함하고, 상기 제 2 조건식은 상기 제 2 조건식의 속성 정보인 제 2 메타데이터를 포함할 수 있다.
또한, 상기 제 1 단계 전, 상기 제 1 단말이 상기 제 1 메타데이터와 관련된 검색어를 입력받는 단계; 상기 제 1 단말이 상기 검색어를 상기 클라우드로 전송하는 단계; 및 상기 클라우드가 상기 복수의 제 1 메타데이터 중 상기 수신한 검색어와 관련된 제 1 메타데이터를 검색하여, 상기 검색한 제 1 메타데이터의 제 1 조건식을 도출하는 단계;를 더 포함하고, 상기 제 1 단계 및 상기 제 2 단계에서, 상기 제 1 조건식은 상기 도출된 제 1 조건식일 수 있다.
또한, 상기 제 1 단말은, 상기 제 2 조건식에 따른 상기 로봇의 동작실행 신호를 발생시킬 수 있는 하나 이상의 코드블록이 저장된 제 3 DB를 포함하고, 상기 제 3 단계 후, 상기 제 1 단말이 상기 하나 이상의 코드블록을 표시하는 단계; 및 상기 제 1 단말이 상기 표시된 상기 하나 이상의 코드블록을 이용한 상기 제 2 조건식에 따른 상기 로봇의 동작실행 신호를 입력받는 단계;를 더 포함할 수 있다.
또한, 상기 복수의 제 1 조건식 각각은 상기 복수의 제 1 조건식 각각의 제 1 조건식 이름을 가지고, 상기 제 1 단계 전, 상기 제 1 단말이 상기 복수의 제 1 조건식 이름을 수신하는 단계; 상기 제 1 단말이 상기 수신한 복수의 제 1 조건식 이름을 표시하는 단계; 상기 제 1 단말에 상기 표시된 복수의 제 1 조건식 이름 중 적어도 하나가 선택되어 입력되는 단계; 및 상기 제 1 단말이 상기 입력된 적어도 하나의 제 1 조건식 이름을 상기 클라우드로 전송하는 단계;를 더 포함하며, 상기 제 1 단계에서, 상기 제 1 조건식은 상기 클라우드로 전송된 적어도 하나의 제 1 조건식 이름에 해당하는 제 1 조건식일 수 있다.
한편, 상술한 과제를 실현하기 위한 본 발명의 일예와 관련된 기록매체는 로봇이 동작하는 조건인 복수의 제 1 조건식이 저장된 제 1 DB 및 상기 로봇이 동작하는 조건에 사용되는 복수의 조건변수가 저장된 제 2 DB를 포함하는 클라우드 및 복수의 단말을 이용하는 로봇 제어 프로그래밍 방법을 수행하기 위하여 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있고, 상기 디지털 처리 장치에 의해 판독될 수 있는 기록매체에 있어서, 상기 로봇 제어 프로그래밍 방법은, 상기 클라우드로부터 상기 복수의 단말 중 적어도 하나의 제 1 단말이 상기 하나 이상의 제 1 조건식 및 상기 하나 이상의 조건변수를 수신하는 제 1 단계; 상기 제 1 단말이 상기 수신한 상기 하나 이상의 제 1 조건식 및 상기 하나 이상의 조건변수를 표시하는 제 2 단계; 및 상기 제 1 단말이 상기 표시된 상기 하나 이상의 제 1 조건식 및 상기 하나 이상의 조건변수를 이용한 상기 로봇이 동작하는 조건인 제 2 조건식을 입력받는 제 3 단계;를 포함할 수 있다.
한편, 상술한 과제를 실현하기 위한 본 발명의 일예와 관련된 컴퓨터 프로그램은 로봇이 동작하는 조건인 복수의 제 1 조건식이 저장된 제 1 DB 및 상기 로봇이 동작하는 조건에 사용되는 복수의 조건변수가 저장된 제 2 DB를 포함하는 클라우드 및 복수의 단말을 이용하는 로봇 제어 프로그래밍 방법을 수행하기 위하여 컴퓨터에서 실행될 수 있는 컴퓨터 프로그램으로서, 상기 로봇 제어 프로그래밍 방법은, 상기 클라우드로부터 상기 복수의 단말 중 적어도 하나의 제 1 단말이 상기 하나 이상의 제 1 조건식 및 상기 하나 이상의 조건변수를 수신하는 제 1 단계; 상기 제 1 단말이 상기 수신한 상기 하나 이상의 제 1 조건식 및 상기 하나 이상의 조건변수를 표시하는 제 2 단계; 및 상기 제 1 단말이 상기 표시된 상기 하나 이상의 제 1 조건식 및 상기 하나 이상의 조건변수를 이용한 상기 로봇이 동작하는 조건인 제 2 조건식을 입력받는 제 3 단계;를 포함할 수 있다.
본 발명은 단말에서 생성된 조건식이 클라우드에 저장됨으로써 조건식이 공유되도록 할 수 있다.
또한, 분산되어 있는 정보가 클라우드에 취합되어 처리되므로 불필요한 연산을 줄일 수 있다.
또한, 클라우드가 조건식의 연산을 함으로써 보다 빠른 조건식의 판단이 가능하고, 로봇의 연산 부담을 줄일 수 있다.
또한, 클라우드로부터 조건식을 수신하고 수신한 조건식을 이용하므로 보다 쉽고 효율적으로 새로운 조건식을 생성할 수 있다.
또한, 로봇 제어를 위한 프로그램을 제작할 때 직접 텍스트 형태의 실행코드를 입력하지 않고 직관적인 툴을 조작함으로써 쉽게 프로그래밍을 할 수 있다.
또한, 조건식에 메타데이터가 포함되어, 메타데이터를 이용하여 클라우드의 DB에 저장된 조건식을 효율적으로 검색할 수 있다.
한편, 본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 일 실시례를 예시하는 것이며, 발명의 상세한 설명과 함께 본 발명의 기술적 사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석 되어서는 아니 된다.
도 1은 본 발명의 일 실시례에 따른 로봇 제어 프로그래밍 시스템의 블록구성도이다.
도 2는 본 발명의 일 실시례에 따른 로봇 제어 시스템의 블록구성도이다.
도 3a는 본 발명의 일 실시례에 따른 로봇 제어 프로그래밍 방법을 나타낸 순서도이고, 도 3b는 본 발명의 일 실시례에 따른 로봇 제어 프로그래밍 방법에서 제 1 단말과 클라우드 간의 신호흐름을 나타낸 블록도이다.
도 4a는 본 발명의 일 실시례에 따른 검색어와 관련된 제 1 조건식을 도출하는 방법을 나타낸 순서도이고, 도 4b는 본 발명의 일 실시례에 따른 제 1 조건식을 도출하는 방법에서 제 1 단말과 클라우드 간의 신호흐름을 나타낸 블록도이다.
도 5a는 본 발명의 일 실시례에 따른 입력받은 제 1 조건식 이름에 해당하는 제 1 조건식을 전송하는 방법을 나타낸 순서도이고, 도 5b는 본 발명의 일 실시례에 따른 입력받은 제 1 조건식 이름에 해당하는 제 1 조건식을 전송하는 방법에서 제 1 단말과 클라우드 간의 신호흐름을 나타낸 블록도이다.
도 6a는 본 발명의 일 실시례에 따른 로봇 제어 방법을 나타낸 순서도이고, 도 6b는 본 발명의 일 실시례에 따른 로봇 제어 방법에서 제 1 단말, 제 1 로봇 및 클라우드 간의 신호흐름을 나타낸 블록도이다.
도 7a는 본 발명의 일 실시례에 따른 복수의 제 1 조건식 이름이 제 1 단말의 디스플레이부에 표시된 것을 나타내고, 도 7b는 본 발명의 일 실시례에 따른 검색어를 입력하는 단계가 제 1 단말의 디스플레이부에 표시된 것을 나타낸다.
도 8은 본 발명의 일 실시례에 따른 복수의 조건변수가 제 1 단말의 디스플레이부에 표시된 것을 나타낸다.
도 9는 본 발명의 일 실시례에 따라 제 2 조건식이 입력된 것이 디스플레이부에 표시된 것을 나타낸다.
도 10은 본 발명의 일 실시례에 따라 제 1 단말의 디스플레이부에 로봇의 동작실행 신호를 발생시킬 수 있는 복수의 코드블록이 표시된 것을 나타낸다.
도 11은 본 발명의 일 실시례에 따라 제 2 조건식과 제 1 로봇의 동작실행 신호가 모두 입력된 것을 나타낸다.
이하, 도면을 참조하여 본 발명의 바람직한 일실시례에 대해서 설명한다. 또한, 이하에 설명하는 일실시례는 특허청구범위에 기재된 본 발명의 내용을 부당하게 한정하지 않으며, 본 실시 형태에서 설명되는 구성 전체가 본 발명의 해결 수단으로서 필수적이라고는 할 수 없다.
도 1은 본 발명의 일 실시례에 따른 로봇 제어 프로그래밍 시스템의 블록구성도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시례에 따른 로봇 제어 프로그래밍 시스템은 클라우드(10) 및 단말(20) 등을 포함할 수 있다. 다만, 도 1에 도시된 구성요소들이 필수적인 것은 아니어서, 그보다 많은 구성요소들을 갖거나 그보다 적은 구성요소들을 갖는 로봇 제어 프로그래밍 시스템이 구현될 수도 있다.
클라우드(10)는 복수의 단말(20) 및 후술할 복수의 로봇(30)이 통신적으로 연결되는 장치로서, 제 1 DB(11), 제 2 DB(12) , 제 1 통신부(13) 및 검색수단(14) 등을 포함할 수 있다.
먼저, 제 1 DB(11)는 로봇(30)이 동작하는 조건인 제 1 조건식을 저장하는 구성이다.
제 1 DB(11)에 저장되는 제 1 조건식은 복수일 수 있으며, 후술할 단말(20)이 입력받은 제 2 조건식이 제 1 조건식으로서 제 1 DB(11)에 추가적으로 저장될 수 있다.
이러한 제 1 조건식은 로봇(30)이 동작하기 위한 상황(이벤트)을 의미하며, 저장되는 형태는 DataName(Parameters)와 같은 Predicate 형태일 수 있다.
또한, 제 1 조건식은 제 1 조건식의 속성 정보인 제 1 메타데이터를 포함할 수 있으며, 이러한 제 1 메타데이터는 제 1 조건식의 이름, 사용 범위 등 제 1 조건식에 관한 어떠한 정보도 이에 포함될 수 있다. 그리고 제 1 조건식 각각은 각 제 1 조건식의 이름을 가질 수 있다.
다음으로, 제 2 DB(12)는 로봇(30)이 동작하는 조건에 사용되는 조건변수를 저장하는 구성이며, 제 2 DB(12)에 저장되는 조건변수는 복수일 수 있다.
조건변수는 제 1 조건식에 사용될 수 있으며, 그 예로서 GPS정보, 위치, 높이, 광도, 습도 등 조건에 사용되는 어떠한 변수도 이에 해당될 수 있다.
다음으로, 제 1 통신부(13)는 단말(20)의 제 2 통신부(21) 및 로봇(30)의 제 3 통신부(31)와 연결되어 데이터를 송수신하는 구성으로서, 유선 통신 뿐만 아니라 무선 통신도 가능하다.
무선 통신을 하는 경우, 제 1 통신부(13)는 이동통신 모듈, 무선 인터넷 모듈 및 근거리 통신 모듈 등을 포함할 수 있다.
이동통신 모듈은, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 상기 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다. 상기 이동 통신 기술로는 LTE(long term evolution), CDMA(code division multiple access), FDMA(frequency division multiple access), TDMA(time division multiple access), OFDMA(orthogonal frequency division multiple access), SC-FDMA(single carrier frequency division multiple access) 등이 이용될 수 있다.
또한, 무선 인터넷 모듈은 무선 인터넷 접속을 위한 모듈을 말하는 것으로, 클라우드(10)에 내장되거나 외장될 수 있다. 상기 무선 인터넷의 기술로는 WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access) 등이 이용될 수 있다.
또한, 근거리 통신 모듈은 근거리 통신을 위한 모듈을 말한다. 상기 근거리 통신(short range communication)의 기술로는 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee 등이 이용될 수 있다.
다음으로, 검색수단(14)은 단말(20)의 제 2 입력수단(24)이 입력한 검색어를 이용하여 검색어와 관련된 제 1 조건식의 제 1 메타데이터를 검색하고, 검색한 제 1 메타데이터의 제 1 조건식을 도출하는 구성이다.
한편, 단말(20)은 클라우드(10)와 통신적으로 연결되어 로봇(30)이 동작하기 위한 프로그램을 제작하는 구성으로서, 복수개 구비될 수 있다.
단말(20)은 제 2 통신부(21), 디스플레이부(22), 제 1 입력수단(23), 제 2 입력수단(24), 제 3 입력수단(25), 제 4 입력수단(26) 및 제 3 DB(27) 등을 포함할 수 있다.
먼저, 제 2 통신부(21)는 클라우드(10)의 제 1 통신부(13) 및 로봇(30)의 제 3 통신부(31)와 연결되어 데이터를 송수신하는 구성으로서, 유선 통신 뿐만 아니라 무선 통신도 가능하고, 제 2 통신부(21)가 포함할 수 있는 무선 통신 모듈은 전술한 제 1 통신부(13)와 같다.
제 2 통신부(21)는 클라우드(10)의 제 1 통신부(13)로부터 제 1 조건식 및 조건변수를 수신하는데, 이 때 수신한 제 1 조건식에는 후술할 제 1 조건식으로서 제 1 DB(11)에 저장된 제 2 조건식이 포함될 수 있다.
즉, 단말(20)이 복수개인 경우 복수개의 단말(20) 각각에서 생성된 제 2 조건식이 클라우드(10)의 제 1 DB(11)에 (제 1 조건식으로서) 저장되고, (제 1 조건식으로서) 저장된 제 2 조건식은 다시 다른 단말(20)에 전송되어 그 단말(20)에서 제 2 조건식을 이용할 수 있게 된다.
이로써, 복수의 단말(20) 중 제 1 단말(20)에서 생성된 제 2 조건식이 클라우드(10)의 제 1 DB(11)에 저장되고, 제 1 DB(11)에 저장된 제 2 조건식이 제 2 단말(20)에 전송됨으로써 조건식이 공유되는 효과가 발생한다.
또한, 제 2 통신부(21)는 클라우드(10)의 제 1 통신부(13)로 검색어를 전송할 수 있고, 로봇(30)에 제 2 조건식 및 코드블록을 전송할 수 있으며, 이에 대한 상세한 내용은 후술한다.
다음으로, 디스플레이부(22)는 단말(20)에서 처리되는 정보를 표시하는 구성으로서, 클라우드(10)로부터 수신한 데이터, 즉 제 1 조건식, 조건변수, 제 2 조건식 및 코드블록 등을 표시할 수 있다.
디스플레이부(22)는 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다.
다음으로, 제 1 입력수단(23), 제 2 입력수단(24), 제 3 입력수단(25) 및 제 4 입력수단(26)은 특정한 입력을 하기 위한 구성이다.
제 1 입력수단(23), 제 2 입력수단(24), 제 3 입력수단(25) 및 제 4 입력수단(26)은 터치 동작을 감지하는 센서로서, 디스플레이부(22)와 상호 레이어 구조를 이루어 터치스크린을 구성할 수도 있다.
제 1 입력수단(23)은 디스플레이부(22) 상에 표시된 제 1 조건식 및 조건변수를 이용하여 로봇(30)이 동작하는 조건인 제 2 조건식을 입력하는 수단이고, 제 2 입력수단(24)은 제 1 메타데이터와 관련된 검색어를 입력하는 수단이며, 제 3 입력수단(25)은 디스플레이부(22) 상에 표시된 코드블록을 이용하여 제 2 조건식에 따른 로봇(30)의 동작실행 신호를 입력하는 수단이고, 제 4 입력수단(26)은 디스플레이부(22) 상에 표시된 복수의 제 1 조건식 이름 중 적어도 하나를 선택하는 수단이다.
다음으로, 제 3 DB(27)는 제 2 조건식에 따른 로봇(30)의 동작실행 신호를 발생시킬 수 있는 하나 이상의 코드블록을 저장하는 구성이다.
로봇(30)의 동작실행 신호를 발생시킬 수 있는 코드블록의 예로는 전진, 후진, 좌향, 우향, 점프, 발광, 왼손들기, 오른손 들기 등이 있다.
로봇(30)의 각 동작들을 실행시키기 위해서는 로봇(30)의 플랫폼에서 실행되기 위한 코드를 작성해야 하는데, 이와 같은 코드블록을 미리 저장함으로써 로봇(30) 동작을 위한 프로그래밍을 보다 쉽게 할 수 있게 된다.
도 2는 본 발명의 일 실시례에 따른 로봇 제어 시스템의 블록구성도이다.
도 2에 도시된 본 발명의 로봇 제어 시스템은 전술한 로봇 제어 프로그래밍 시스템을 기반으로 하는 것으로서, 도 1의 로봇 제어 프로그래밍 시스템에 각 단말(20)와 연결되는 로봇(30)을 더 포함한다.
본 발명에서 로봇(30)은 단말(20)에서 작성된 제 2 조건식 및 동작실행 신호를 수신하고 이에 따라 구동되는 장치이다. 즉, 제 2 조건식이 만족되면 이에 따른 동작을 수행하는 것이다. 본 발명에서 제 2 조건식이 만족되는지 여부의 연산은 로봇(30)에서 수행되지 않고 클라우드(10)에서 수행된다. 이를 위한 로봇(30) 제어 시스템의 구성을 설명한다.
먼저, 클라우드(10)는 상기 로봇(30) 제어 프로그래밍 시스템의 구성뿐만 아니라 제어부(15)를 더 포함할 수 있다.
제어부(15)는 제 2 조건식의 만족여부를 판단하는 구성이다. 제어부(15)는 제 2 조건식의 만족여부를 판단하기 위해 후술할 로봇(30)의 센서부(33)가 측정한 측정값을 사용할 수 있고, 조건이 만족되면 클라우드(10)의 제 1 통신부(13)는 로봇(30)으로 알림신호를 전송한다. 보다 상세한 과정에 대해서는 후술한다.
다음으로, 로봇(30)은 제 3 통신부(31), 액추에이팅부(32) 및 센서부(33) 등을 포함할 수 있다.
제 3 통신부(31)는 클라우드(10)의 제 1 통신부(13) 및 단말(20)의 제 2 통신부(21)와 연결되어 데이터를 송수신하는 구성으로서, 유선 통신 뿐만 아니라 무선 통신도 가능하고, 제 3 통신부(31)가 포함할 수 있는 무선 통신 모듈은 전술한 제 1 통신부(13)와 같다.
그리고 액추에이팅부(32)는 동작실행 신호를 기반으로 구동되는 구성으로서, 제 3 통신부(31)가 클라우드(10)로부터 알림신호를 수신하면 그에 따라 구동된다.
센서부(33)는 로봇(30)에 장착되어 각종 측정값을 측정하는 구성으로서 GPS센서, 높이측정 센서, 조도센서, 습도센서, 온도센서 등 어떠한 센서든 이에 포함될 수 있다.
센서부(33)가 측정한 각종 측정값은 제 3 통신부(31)에 의해 클라우드(10)에 전송되며, 측정값의 전송은 주기적으로 발생할 수 있다. 또한, 클라우드(10)의 요청에 따라 비주기적으로 측정값을 전송할 수도 있다.
이하에서는 전술한 구성들을 기초로 로봇 제어 프로그래밍 방법에 대해 구체적으로 설명한다.
도 3a는 본 발명의 일 실시례에 따른 로봇 제어 프로그래밍 방법을 나타낸 순서도이고, 도 3b는 본 발명의 일 실시례에 따른 로봇 제어 프로그래밍 방법에서 제 1 단말과 클라우드 간의 신호흐름을 나타낸 블록도이다.
먼저, 클라우드(10)로부터 제 1 단말(20)이 하나 이상의 제 1 조건식 및 하나 이상의 조건변수를 수신한다(S110).
즉, 클라우드(10)의 제 1 DB(11)에 저장된 제 1 조건식 및 제 2 DB(12)에 저장된 조건변수가 제 1 통신부(13)를 통해 제 1 단말(20)의 제 2 통신부(21)로 전송되는 것이다.
다음으로, 제 1 단말(20)이 제 1 조건식 및 조건변수를 표시한다(S120).
즉, 제 1 단말(20)의 디스플레이부(22)는 제 2 통신부(21)가 수신한 하나 이상의 제 1 조건식 및 하나 이상의 조건변수를 표시하는 것이다.
다음으로, 제 1 단말(20)이 제 1 조건식 및 조건변수를 이용한 로봇(30)이 동작하는 조건인 제 2 조건식을 입력받는다(S130).
제 2 조건식은 제 1 조건식과 마찬가지로 로봇(30)이 동작하기 위한 조건으로서, 제 1 입력수단(23)에 의해 디스플레이부(22) 상에 표시된 제 1 조건식 및 조건변수를 이용한 제 2 조건식을 입력받는다. 제 2 조건식을 입력받을 때에는 제 2 조건식의 속성정보인 제 2 메타데이터 또는 제 2 조건식 이름 또한 입력받을 수 있다.
전술한 바와 같이 디스플레이부(22)가 터치스크린으로 구성된다면, 터치스크린 상에 표시된 제 1 조건식 및 조건변수에 터치입력을 받아 제 2 조건식을 입력받을 수 있다.
다음으로, 제 1 단말(20)이 제 2 조건식을 클라우드(10)로 전송한다(S140).
즉, 제 1 단말(20)의 제 2 통신부(21)는 입력받은 제 2 조건식을 클라우드(10)의 제 1 통신부(13)로 전송하는 것이다.
다음으로, 클라우드(10)가 제 2 조건식을 제 1 DB(11)에 저장한다(S150).
클라우드(10)의 제 1 DB(11)는 수신한 제 2 조건식을 제 1 조건식으로서 저장하는 것이며, 제 1 단말(20)에 의해 생성된 제 2 조건식을 저장함으로써 제 1 DB(11)에 저장된 제 1 조건식의 개수가 증가하게 된다.
이로써, S110단계가 다시 수행될 때 제 1 단말(20)에서 생성된 제 2 조건식이 공유되는 효과가 발생한다.
다음으로, 제 1 단말(20)이 하나 이상의 코드블록을 표시한다(S160).
코드블록은 로봇(30)의 동작실행 신호를 발생시키는 것으로서, 제 1 단말(20)의 디스플레이부(22)가 제 3 DB(27)에 저장된 코드블록을 표시하는 것이다.
다음으로, 제 1 단말(20)이 코드블록을 이용한 제 2 조건식에 따른 로봇(30)의 동작실행 신호를 입력받는다(S170).
즉, 제 3 입력수단(25)에 의해 디스플레이부(22) 상에 표시된 제 1 조건식 및 조건변수를 이용한 제 2 조건식을 입력받는 것이다.
전술한 바와 같이 디스플레이부(22)가 터치스크린으로 구성된다면, 터치스크린 상에 표시된 코드블록에 터치입력을 받아 로봇(30)의 동작실행 신호를 입력받을 수 있다.
한편, 상기 S110 단계가 수행되기 전, 효율적으로 클라우드(10)에서 제 1 단말(20)로 제 1 조건식을 전송하기 위해 다음과 같은 과정이 수행될 수 있다.
도 4a는 본 발명의 일 실시례에 따른 검색어와 관련된 제 1 조건식을 도출하는 방법을 나타낸 순서도이고, 도 4b는 본 발명의 일 실시례에 따른 제 1 조건식을 도출하는 방법에서 제 1 단말과 클라우드 간의 신호흐름을 나타낸 블록도이다.
먼저, 제 1 단말(20)이 제 1 메타데이터와 관련된 검색어를 입력받는다(S10-1).
제 1 메타데이터는 전술한 바와 같이 제 1 조건식의 속성정보이며, 제 1 조건식과 함께 제 1 DB(11)에 저장된다.
S10-1 단계에서는 제 1 단말(20)의 제 2 입력수단(24)이 검색어를 입력받는 것이다. 검색어는 제 1 메타데이터와 관련된 검색어로서, 제 1 메타데이터는 제 1 조건식의 속성정보이므로 사용자가 원하는 제 1 조건식 데이터만을 제 1 단말(20)이 수신하도록 하기 위한 과정이다.
다음으로, 제 1 단말(20)이 검색어를 클라우드(10)로 전송한다(S20-1).
즉, 제 1 단말(20)의 제 2 통신부(21)가 클라우드(10)의 제 1 통신부(13)로 입력받은 검색어를 전송하는 것이다.
다음으로, 클라우드(10)가 수신한 검색어와 관련된 제 1 메타데이터를 검색하여, 검색한 제 1 메타데이터의 제 1 조건식을 도출한다(S30-1).
클라우드(10)의 검색수단(14)은 제 1 통신부(13)가 수신한 검색어를 이용하여 검색어와 관련된 제 1 DB(11)에서 제 1 메타데이터를 검색하고, 검색한 제 1 메타데이터의 제 1 조건식을 도출한다.
도출된 제 1 조건식은 제 1 단말(20)의 제 2 입력수단(24)에 의해 입력된 검색어와 관련된 제 1 조건식이며, 관련된 제 1 조건식이 복수개인 경우 복수개의 제 1 조건식이 도출될 수 있다.
이후, 상기 S110 단계가 수행되며 클라우드(10)에서 제 1 단말(20)로 전송되는 제 1 조건식은 제 1 DB(11)에 저장된 모든 제 1 조건식이 아닌 도출된 하나 이상의 제 1 조건식이므로, 데이터의 송수신이 보다 효율적이게 된다.
한편, 상기 S10-1 ~ S30-1 과정뿐만 아니라 상기 S110 단계가 수행되기 전, 효율적으로 클라우드(10)에서 제 1 단말(20)로 제 1 조건식을 전송하기 위해 다음과 같은 과정이 수행될 수 있다.
도 5a는 본 발명의 일 실시례에 따른 입력받은 제 1 조건식 이름에 해당하는 제 1 조건식을 전송하는 방법을 나타낸 순서도이고, 도 5b는 본 발명의 일 실시례에 따른 입력받은 제 1 조건식 이름에 해당하는 제 1 조건식을 전송하는 방법에서 제 1 단말과 클라우드 간의 신호흐름을 나타낸 블록도이다.
제 1 단말(20)이 복수의 제 1 조건식 이름을 수신한다(S10-2).
전술한 바와 같이 클라우드(10)의 제 1 DB(11)에 저장된 복수의 제 1 조건식은 각 제 1 조건식의 이름을 가질 수 있으며, S10-2단계에서 제 1 단말(20)의 제 2 통신부(21)는 클라우드(10)의 제 1 통신부(13)로부터 복수의 제 1 조건식 이름을 수신하는 것이다.
제 1 단말(20)이 수신한 복수의 제 1 조건식 이름을 표시한다(S20-2).
즉, 제 1 단말(20)의 디스플레이부(22)는 제 2 통신부(21)가 수신한 복수의 제 1 조건식 이름을 표시하는 것이다.
제 1 단말(20)에 표시된 복수의 제 1 조건식 이름 중 적어도 하나가 선택되어 입력된다(S30-2).
즉, 제 4 입력수단(26)에 의해 디스플레이부(22) 상에 표시된 복수의 제 1 조건식 이름 중 적어도 하나의 제 1 조건식 이름이 선택되어 입력되는 것이다.
전술한 바와 같이 디스플레이부(22)가 터치스크린으로 구성된다면, 터치스크린 상에 표시된 제 1 조건식 이름에 터치입력을 받아 제 1 조건식 이름을 입력받을 수 있다. 이 때 선택되는 제 1 조건식 이름은 복수개일 수 있다.
제 1 단말(20)이 입력된 제 1 조건식 이름을 클라우드(10)로 전송한다(S40-2).
즉, 입력받은 제 1 조건식 이름을 제 2 통신부(21)가 클라우드(10)의 제 1 통신부(13)로 전송하는 것이다.
이후, 상기 S110 단계가 수행되며 클라우드(10)에서 제 1 단말(20)로 전송되는 제 1 조건식은 제 1 DB(11)에 저장된 모든 제 1 조건식이 아닌 S30-2 단계에서 입력된 제 1 조건식 이름에 해당되는 제 1 조건식이므로, 데이터의 송수신이 보다 효율적이게 된다.
이상은 로봇을 제어하기 위한 프로그래밍 방법이다.
이하에서는 전술한 구성을 기초로 상기 설명한 로봇 제어 프로그래밍 방법을 기반으로 로봇을 제어하는 방법에 대해 설명한다.
도 6a는 본 발명의 일 실시례에 따른 로봇 제어 방법을 나타낸 순서도이고, 도 6b는 본 발명의 일 실시례에 따른 로봇 제어 방법에서 제 1 단말, 제 1 로봇 및 클라우드 간의 신호흐름을 나타낸 블록도이다.
먼저, 제 1 단말(20)과 연결된 제 1 로봇(30)이 제 1 단말(20)로부터 제 2 조건식 및 동작실행 신호를 수신한다(S210).
제 1 로봇(30)의 제 3 통신부(31)가 수신하는 제 2 조건식은 전술한 S130단계에서 제 1 단말(20)의 제 1 입력수단(23)에 의해 입력된 제 2 조건식이고, 동작실행 신호는 전술한 S170단계에서 제 1 단말(20)의 제 3 입력수단(25)에 의해 입력된 동작실행 신호이다.
제 1 단말(20)에 입력된 제 2 조건식과 동작실행신호가 복수개인 경우, 복수개의 제 2 조건식과 동작실행신호를 수신할 수 있다.
다음으로, 제 1 로봇(30)이 클라우드(10)로 제 2 조건식을 전송하여 제 2 조건식의 만족여부 판단을 요청한다(S220).
제 1 로봇(30)의 제 3 통신부(31)가 클라우드(10)의 제 1 통신부(13)로 제 2 조건식을 전송하여 제 2 조건식의 만족여부 판단을 요청하는 것이다. 즉, 제 1 로봇(30)은 제 2 조건식이 만족되는지 여부를 직접 연산하는 것이 아니라 클라우드(10)가 연산하도록 하는 것이다.
일반적으로, 모바일 로봇(30)은 성능의 제한으로 인해 프로그램 데이터를 모두 실행하기에 어려움이 있다. 따라서 본 발명에서 제 1 로봇(30)은 제 2 조건식을 클라우드(10)에 등록(subscribe)하고, 클라우드(10)로부터 제 2 조건식의 만족여부를 알림(notify)받는 것이다.
다음으로, 클라우드(10)가 제 2 조건식의 만족여부를 판단한다(S230).
즉, 클라우드(10)의 제어부(15)가 제 2 조건식의 만족여부를 판단하는 것이다. 제 2 조건식의 만족여부를 판단(연산)할 때, 클라우드(10)는 전술한 로봇(30)의 센서부(33)가 측정한 측정값을 이용할 수 있으며, 제 2 조건식의 만족여부를 판단하기 위한 측정값을 하나 이상의 제 1 로봇(30)이 전송하도록 요청할 수도 있다.
다음으로, 클라우드(10)가 제 2 조건식 만족시 클라우드(10)가 제 1 로봇(30)으로 알림신호를 전송한다(S240).
제어부(15)가 제 2 조건식이 만족된 것으로 판단하면, 클라우드(10)의 제 1 통신부(13)는 해당 제 2 조건식을 전송한 제 1 로봇(30)의 제 3 통신부(31)로 제 2 조건식이 만족되었다는 알림신호(notification)을 전송하는 것이다.
다음으로, 제 1 로봇(30)이 알림신호를 수신하면, 제 1 로봇(30)의 액추에이팅부(32)가 제 2 조건식에 따른 동작실행 신호를 기반으로 구동한다(S250).
제 1 로봇(30)의 제 3 통신부(31)가 클라우드(10)의 제 1 통신부(13)로부터알림신호(notification)를 수신하며, 제 1 로봇(30)의 액추에이팅부(32)는 해당 알림신호의 제 2 조건식에 따른 동작실행 신호를 기반으로 구동한다.
예를 들어, 제 2 조건식이 '제 1 로봇(30)의 전방에 장애물이 있는지 여부' 이고, 이에 따른 동작이 '발광' 인 경우, (i) 제 1 로봇(30)은 '제 1 로봇(30)의 전방에 장애물이 있는지 여부'의 만족여부 판단을 요청하고 (ii) 클라우드(10)는 제 1 로봇(30)의 위치, 장애물의 위치 등의 정보를 이용하여 제 2 조건식의 만족여부를 판단하며 (iii) 제 2 조건식이 만족된다고 판단한 경우 제 1 로봇(30)으로 알림신호를 전송하고 (iv) 제 1 로봇(30)이 알림신호를 수신하면, '발광'동작을 수행하는 것이다.
이하에서는 전술한 로봇 제어 방법의 실시예를 도면을 참조하여 설명한다.
도 7a는 본 발명의 일 실시례에 따른 복수의 제 1 조건식 이름이 제 1 단말의 디스플레이부에 표시된 것을 나타내고, 도 7b는 본 발명의 일 실시례에 따른 검색어를 입력하는 단계가 제 1 단말의 디스플레이부에 표시된 것을 나타낸다.
도 7a는 전술한 S20-2 단계에서 제 1 단말(20)의 디스플레이부(22)에 복수의 제 1 조건식 이름이 표시된 것이다.
도 7a에 도시된 'near'는 어떠한 2개 사이의 거리가 특정값보다 작은지 여부의 조건식 이름이고, 'shorter'는 어떠한 것의 높이가 특정값보다 작은지 여부의 조건식 이름이며, 'dark'는 조도값이 특정값보다 낮은지 여부의 조건식 이름이고, 'foggy'는 안개가 꼈는지 여부의 조건식이름이다. 다만, 조건식 이름의 표시방법이나 조건식 이름의 예는 도 7a에 도시된 것에 한정되지 않는다.
이와 같이 표시된 제 1 조건식 이름 중 적어도 하나가 선택되어 입력되고, 선택된 제 1 조건식 이름이 클라우드(10)로 전송된다.
한편, 도 7a와 같이 제 1 조건식 이름으로써 제 1 조건식이 선택되는 방법 뿐만 아니라 도 7b와 같이 S10-1단계를 수행하여 제 1 메타데이터와 관련된 검색어를 입력받아 검색어를 클라우드(10)로 전송할 수 도 있다.
제 1 단말(20)은 상기 과정을 수행하고 나서, 전술한 S110 단계를 수행한다.
상기 S10-1단계가 수행되었다면, 제 1 단말(20)은 검색어와 관련된 하나 이상의 제 1 조건식을 수신하고, 상기 S20-2 단계가 수행되었다면, 입력된 하나 이상의 제 1 조건식 이름에 해당하는 제 1 조건식을 수신한다. 즉, 클라우드(10)의 제 1 DB(11)에 저장된 모든 제 1 조건식을 수신하는 것이 아니고, 검색 또는 선택된 제 1 조건식 데이터만이 수신되는 것이다.
그리고 제 1 단말(20)은 제 2 조건식 입력을 위해 제 1 로봇(30)이 동작하는 조건에 사용되는 조건변수를 수신한다.
도 8은 본 발명의 일 실시례에 따른 복수의 조건변수가 제 1 단말의 디스플레이부에 표시된 것을 나타내는 것으로서, 도 8을 참조하면 제 2 조건식에 사용될 수 있는 복수의 조건변수인 'location', 'height', 'illumination', 'humidity'가 표시된다. 즉, 제 2 조건식을 입력에 사용할 수 있는 조건변수를 표시하는 것이다.
다음으로, 도 9는 본 발명의 일 실시례에 따라 제 2 조건식이 입력된 것이 디스플레이부에 표시된 것을 나타낸다.
도 9에 도시된 distance(a,b)<10 는 a와 b 사이의 거리가 10 미만인지 여부를 의미하고, height(b)<1.5는 b의 높이가 1.5 미만인지 여부를 의미한다.
즉, 도 9에서 입력된 제 2 조건식은 a와 b사이의 거리가 10미만이면서 b의 높이가 1.5 미만인 경우 만족되는 것이다.
도 9에 도시된 제 2 조건식을 입력하기 위해 앞서 수신한 제 1 조건식 중 'near'와 'shorter'가 사용된 것이고, 이는 수신한 제 1 조건식을 사용하여 더 복잡한 제 2 조건식을 생성한 것이다.
이렇게 생성된 제 2 조건식은 클라우드(10)로 전송되고, 클라우드(10)는 제 2 조건식을 제 1 조건식으로서 제 1 DB(11)에 저장한다.
다음으로, 제 1 단말(20)의 디스플레이부(22)는 제 1 로봇(30)의 동작실행 신호를 발생시킬 수 있는 하나 이상의 코드블록을 표시하며 그 예가 도 10에 나타난다.
제 1 단말(20)의 제 3 입력수단(25)은 디스플레이부(22) 상에 나타난 코드블록 중 하나 이상의 코드블록을 이용한 제 1 로봇(30)의 동작실행 신호를 입력받는다.
본 실시예에서는 복수의 코드블록 중 '발광'이 입력된 것이며, 도 11은 본 발명의 일 실시례에 따라 제 2 조건식과 제 1 로봇의 동작실행 신호가 모두 입력된 것을 나타낸다.
이와 같이 입력된 제 2 조건식과 동작실행 신호 세트는 복수개 입력될 수 있으며, 제 1 단말(20)에서 제 1 로봇(30)으로 전송된다.
제 1 로봇(30)은 도 6a를 참조하여 전술한 바와 같이 수신한 제 2 조건식을 클라우드(10)로 전송하여 제 2 조건식의 만족여부 판단을 요청한다.
클라우드(10)는 제 2 조건식의 만족여부를 판단하고, 제 2 조건식 만족시 제 1 로봇(30)으로 알림신호(notification)를 전송한다.
즉, 본 실시예에서 a가 제 1 로봇(30)이고 b가 제 2 로봇(30)이라면, 클라우드(10)는 제 1 로봇(30)으로부터 거리가 10미만인 제 2 로봇(30)이 높이(크기)가 1.5 미만인 로봇(30)이라면 제 1 로봇(30)에 알림신호(notification)를 전송하는 것이다.
제 1 로봇(30)은 클라우드(10)로부터 알림신호를 수신하면 동작실행 신호를 기반으로 '발광'을 한다.
한편, 본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 케리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
상기와 같이 설명된 로봇 제어 프로그래밍 방법, 시스템 및 로봇 제어 방법, 시스템은 상기 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
전술한 구성을 적용한 본 발명은 단말에서 생성된 조건식이 클라우드에 저장됨으로써 조건식이 공유되도록 할 수 있다.
또한, 분산되어 있는 정보가 클라우드에 취합되어 처리되므로 불필요한 연산을 줄일 수 있다.
또한, 클라우드가 조건식의 연산을 함으로써 보다 빠른 조건식의 판단이 가능하고, 로봇의 연산 부담을 줄일 수 있다.
또한, 클라우드로부터 조건식을 수신하고 수신한 조건식을 이용하므로 보다 쉽고 효율적으로 새로운 조건식을 생성할 수 있다.
또한, 로봇 제어를 위한 프로그램을 제작할 때 직접 텍스트 형태의 실행코드를 입력하지 않고 직관적인 툴을 조작함으로써 쉽게 프로그래밍을 할 수 있다.
또한, 조건식에 메타데이터가 포함되어, 메타데이터를 이용하여 클라우드의 DB에 저장된 조건식을 효율적으로 검색할 수 있다.
10 : 클라우드
11 : 제 1 DB
12 : 제 2 DB
13 : 제 1 통신부
14 : 검색수단
15 : 제어부
20 : 단말
21 : 제 2 통신부
22 : 디스플레이부
23 : 제 1 입력수단
24 : 제 2 입력수단
25 : 제 3 입력수단
26 : 제 4 입력수단
27 : 제 3 DB
30 : 로봇
31 : 제 3 통신부
32 : 액추에이팅부
33 : 센서부

Claims (22)

  1. 클라우드 및 단말을 포함하는 로봇 제어 프로그래밍 시스템에 있어서,
    상기 클라우드는,
    상기 로봇이 동작하는 조건인 복수의 제 1 조건식이 저장된 제 1 DB;
    상기 로봇이 동작하는 조건에 사용되는 복수의 조건변수가 저장된 제 2 DB; 및
    제 1 통신부;를 포함하고,
    상기 단말은,
    상기 제 1 통신부로부터 상기 제 1 DB에 저장된 상기 하나 이상의 제 1 조건식 및 상기 제 2 DB에 저장된 상기 하나 이상의 조건변수를 수신하는 제 2 통신부;
    상기 제 2 통신부가 수신한 상기 하나 이상의 제 1 조건식 및 상기 하나 이상의 조건변수를 표시하는 디스플레이부; 및
    사용자가 상기 디스플레이부 상에 표시된 상기 하나 이상의 제 1 조건식 및 상기 하나 이상의 조건변수를 이용하여 상기 로봇이 동작하는 조건인 제 2 조건식을 입력할 수 있는 제 1 입력수단;을 포함하고,
    상기 제 1 통신부는 상기 입력된 제 2 조건식을 상기 제 2 통신부를 통해 수신하고,
    상기 제 1 DB는 상기 제 1 통신부가 수신한 상기 제 2 조건식을 상기 제 1 조건식으로서 저장하는 것을 특징으로 하는 로봇 제어 프로그래밍 시스템.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 복수의 제 1 조건식 각각은 상기 복수의 제 1 조건식 각각의 속성 정보인 제 1 메타데이터를 포함하고,
    상기 제 2 조건식은 상기 제 2 조건식의 속성 정보인 제 2 메타데이터를 포함하는 것을 특징으로 하는 로봇 제어 프로그래밍 시스템.
  4. 제 3 항에 있어서,
    상기 단말은,
    상기 제 1 메타데이터와 관련된 검색어를 입력할 수 있는 제 2 입력수단;을 더 포함하고,
    상기 제 1 통신부는, 상기 제 2 통신부로부터 상기 검색어를 수신하고,
    상기 클라우드는,
    상기 복수의 제 1 메타데이터 중 상기 제 1 통신부가 수신한 검색어와 관련된 제 1 메타데이터를 검색하여, 상기 검색한 제 1 메타데이터의 제 1 조건식을 도출하는 검색 수단;을 더 포함하며,
    상기 제 2 통신부는 상기 제 1 통신부로부터 상기 도출된 제 1 조건식을 수신하고,
    상기 디스플레이부는 상기 제 2 통신부가 수신한 상기 도출된 제 1 조건식을 표시하는 것을 특징으로 하는 로봇 제어 프로그래밍 시스템.
  5. 제 1 항에 있어서,
    상기 단말은, 상기 제 2 조건식에 따른 상기 로봇의 동작실행 신호를 발생시킬 수 있는 하나 이상의 코드블록이 저장된 제 3 DB;를 더 포함하고,
    상기 디스플레이부는, 상기 하나 이상의 코드블록을 표시하며,
    상기 단말은, 상기 사용자가 상기 디스플레이부 상에 표시된 상기 하나 이상의 코드블록을 이용하여 상기 제 2 조건식에 따른 상기 로봇의 동작실행 신호를 입력할 수 있는 제 3 입력수단;을 더 포함하는 것을 특징으로 하는 로봇 제어 프로그래밍 시스템.
  6. 제 1 항에 있어서,
    상기 복수의 제 1 조건식 각각은 상기 복수의 제 1 조건식 각각의 제 1 조건식 이름을 가지고,
    상기 제 2 통신부는 상기 제 1 통신부로부터 상기 제 1 DB에 저장된 상기 복수의 제 1 조건식 이름을 수신하며,
    상기 디스플레이부는 상기 복수의 제 1 조건식 이름을 표시하고,
    상기 단말은,
    상기 사용자가 상기 디스플레이부 상에 표시된 상기 복수의 제 1 조건식 이름 중 적어도 하나를 선택할 수 있는 제 4 입력수단;을 더 포함하고,
    상기 제 1 통신부는 상기 제 2 통신부로부터 상기 사용자에 의해 입력된 상기 제 1 조건식 이름을 수신하고, 상기 제 1 DB에 저장된 상기 사용자에 의해 입력된 상기 제 1 조건식 이름에 해당하는 제 1 조건식을 상기 제 2 통신부로 전송하는 것을 특징으로 하는 로봇 제어 프로그래밍 시스템.
  7. 클라우드 및 복수의 단말을 포함하는 로봇 제어 프로그래밍 시스템에 있어서,
    상기 클라우드는,
    상기 로봇이 동작하는 조건인 복수의 제 1 조건식이 저장된 제 1 DB;
    상기 로봇이 동작하는 조건에 사용되는 복수의 조건변수가 저장된 제 2 DB; 및
    제 1 통신부;를 포함하고,
    상기 복수의 단말 각각은,
    상기 제 1 통신부로부터 상기 제 1 DB에 저장된 상기 하나 이상의 제 1 조건식 및 상기 제 2 DB에 저장된 상기 하나 이상의 조건변수를 수신하는 제 2 통신부;
    상기 제 2 통신부가 수신한 상기 하나 이상의 제 1 조건식 및 상기 하나 이상의 조건변수를 표시하는 디스플레이부; 및
    사용자가 상기 디스플레이부 상에 표시된 상기 하나 이상의 제 1 조건식 및 상기 하나 이상의 조건변수를 이용하여 상기 로봇이 동작하는 조건인 제 2 조건식을 입력할 수 있는 제 1 입력수단;을 포함하고,
    상기 제 1 통신부는 상기 입력된 제 2 조건식을 상기 제 2 통신부를 통해 수신하고,
    상기 제 1 DB는 상기 제 1 통신부가 수신한 상기 제 2 조건식을 상기 제 1 조건식으로서 저장하는 것을 특징으로 하는 로봇 제어 프로그래밍 시스템.
  8. 삭제
  9. 제 7 항에 있어서,
    상기 복수의 단말 중 제 1 단말의 제 2 통신부가 수신한 하나 이상의 제 1 조건식에는 제 2 단말의 제 2 통신부가 상기 제 1 통신부로 전송한 제 2 조건식이 포함된 것을 특징으로 하는 로봇 제어 프로그래밍 시스템.
  10. 제 7 항에 있어서,
    상기 복수의 제 1 조건식 각각은 상기 복수의 제 1 조건식 각각의 속성 정보인 제 1 메타데이터를 포함하고,
    상기 제 2 조건식은 상기 제 2 조건식의 속성 정보인 제 2 메타데이터를 포함하는 것을 특징으로 하는 로봇 제어 프로그래밍 시스템.
  11. 제 10 항에 있어서,
    상기 복수의 단말 각각은,
    상기 제 1 메타데이터와 관련된 검색어를 입력할 수 있는 제 2 입력수단;을 더 포함하고,
    상기 복수의 단말 중 제 1 단말의 제 2 입력수단이 상기 검색어를 입력하면, 상기 제 1 통신부는 상기 제 1 단말의 제 2 통신부로부터 상기 검색어를 수신하고,
    상기 클라우드는,
    상기 복수의 제 1 메타데이터 중 상기 제 1 통신부가 수신한 검색어와 관련된 제 1 메타데이터를 검색하여, 상기 검색한 제 1 메타데이터의 제 1 조건식을 도출하는 검색 수단;을 더 포함하며,
    상기 제 1 단말의 제 2 통신부는 상기 제 1 통신부로부터 상기 도출된 제 1 조건식을 수신하고,
    상기 제 1 단말의 디스플레이부는 상기 제 1 단말의 제 2 통신부가 수신한 상기 도출된 제 1 조건식을 표시하는 것을 특징으로 하는 로봇 제어 프로그래밍 시스템.
  12. 제 7 항에 있어서,
    상기 복수의 단말 각각은, 상기 제 2 조건식에 따른 상기 로봇의 동작실행 신호를 발생시킬 수 있는 하나 이상의 코드블록이 저장된 제 3 DB;를 더 포함하고,
    상기 디스플레이부는, 상기 하나 이상의 코드블록을 표시하며,
    상기 복수의 단말 각각은, 상기 사용자가 상기 디스플레이부 상에 표시된 상기 하나 이상의 코드블록을 이용하여 상기 제 2 조건식에 따른 상기 로봇의 동작실행 신호를 입력할 수 있는 제 3 입력수단;을 더 포함하는 것을 특징으로 하는 로봇 제어 프로그래밍 시스템.
  13. 제 7 항에 있어서,
    상기 복수의 제 1 조건식 각각은 상기 복수의 제 1 조건식 각각의 제 1 조건식 이름을 가지고,
    상기 제 2 통신부는 상기 제 1 통신부로부터 상기 제 1 DB에 저장된 상기 복수의 제 1 조건식 이름을 수신하며,
    상기 디스플레이부는 상기 복수의 제 1 조건식 이름을 표시하고,
    상기 복수의 단말 각각은,
    상기 사용자가 상기 디스플레이부 상에 표시된 상기 복수의 제 1 조건식 이름 중 적어도 하나를 선택할 수 있는 제 4 입력수단;을 더 포함하고,
    상기 제 1 통신부는 상기 복수의 단말 중 제 1 단말의 제 2 통신부로부터 상기 사용자에 의해 입력된 상기 제 1 조건식 이름을 수신하고, 상기 제 1 DB에 저장된 상기 사용자에 의해 입력된 상기 제 1 조건식 이름에 해당하는 제 1 조건식을 상기 제 1 단말의 제 2 통신부로 전송하는 것을 특징으로 하는 로봇 제어 프로그래밍 시스템.
  14. 로봇이 동작하는 조건인 복수의 제 1 조건식이 저장된 제 1 DB 및 상기 로봇이 동작하는 조건에 사용되는 복수의 조건변수가 저장된 제 2 DB를 포함하는 클라우드 및 복수의 단말을 이용하는 로봇 제어 프로그래밍 방법에 있어서,
    상기 클라우드로부터 상기 복수의 단말 중 적어도 하나의 제 1 단말이 상기 하나 이상의 제 1 조건식 및 상기 하나 이상의 조건변수를 수신하는 제 1 단계;
    상기 제 1 단말이 상기 수신한 상기 하나 이상의 제 1 조건식 및 상기 하나 이상의 조건변수를 표시하는 제 2 단계; 및
    상기 제 1 단말이 상기 표시된 상기 하나 이상의 제 1 조건식 및 상기 하나 이상의 조건변수를 이용한 상기 로봇이 동작하는 조건인 제 2 조건식을 입력받는 제 3 단계;를 포함하고,
    상기 제 3 단계 후,
    상기 제 1 단말이 상기 입력된 제 2 조건식을 상기 클라우드로 전송하는 단계; 및
    상기 클라우드가 상기 수신한 제 2 조건식을 상기 제 1 조건식으로서 상기 제 1 DB에 저장하는 단계;를 더 포함하는 것을 특징으로 하는 로봇 제어 프로그래밍 방법.
  15. 삭제
  16. 제 14 항에 있어서,
    상기 제 1 단말이 수신한 하나 이상의 제 1 조건식에는 제 2 단말이 상기 클라우드로 전송한 제 2 조건식이 포함된 것을 특징으로 하는 로봇 제어 프로그래밍 방법.
  17. 제 14 항에 있어서,
    상기 복수의 제 1 조건식 각각은 상기 복수의 제 1 조건식 각각의 속성 정보인 제 1 메타데이터를 포함하고,
    상기 제 2 조건식은 상기 제 2 조건식의 속성 정보인 제 2 메타데이터를 포함하는 것을 특징으로 하는 로봇 제어 프로그래밍 방법.
  18. 제 17 항에 있어서,
    상기 제 1 단계 전,
    상기 제 1 단말이 상기 제 1 메타데이터와 관련된 검색어를 입력받는 단계;
    상기 제 1 단말이 상기 검색어를 상기 클라우드로 전송하는 단계; 및
    상기 클라우드가 상기 복수의 제 1 메타데이터 중 상기 수신한 검색어와 관련된 제 1 메타데이터를 검색하여, 상기 검색한 제 1 메타데이터의 제 1 조건식을 도출하는 단계;를 더 포함하고,
    상기 제 1 단계 및 상기 제 2 단계에서,
    상기 제 1 조건식은 상기 도출된 제 1 조건식인 것을 특징으로 하는 로봇 제어 프로그래밍 방법.
  19. 제 14 항에 있어서,
    상기 제 1 단말은, 상기 제 2 조건식에 따른 상기 로봇의 동작실행 신호를 발생시킬 수 있는 하나 이상의 코드블록이 저장된 제 3 DB를 포함하고,
    상기 제 3 단계 후,
    상기 제 1 단말이 상기 하나 이상의 코드블록을 표시하는 단계; 및
    상기 제 1 단말이 상기 표시된 상기 하나 이상의 코드블록을 이용한 상기 제 2 조건식에 따른 상기 로봇의 동작실행 신호를 입력받는 단계;를 더 포함하는 것을 특징으로 하는 로봇 제어 프로그래밍 방법.
  20. 제 14 항에 있어서,
    상기 복수의 제 1 조건식 각각은 상기 복수의 제 1 조건식 각각의 제 1 조건식 이름을 가지고,
    상기 제 1 단계 전,
    상기 제 1 단말이 상기 복수의 제 1 조건식 이름을 수신하는 단계;
    상기 제 1 단말이 상기 수신한 복수의 제 1 조건식 이름을 표시하는 단계;
    상기 제 1 단말에 상기 표시된 복수의 제 1 조건식 이름 중 적어도 하나가 선택되어 입력되는 단계; 및
    상기 제 1 단말이 상기 입력된 적어도 하나의 제 1 조건식 이름을 상기 클라우드로 전송하는 단계;를 더 포함하며,
    상기 제 1 단계에서,
    상기 제 1 조건식은 상기 클라우드로 전송된 적어도 하나의 제 1 조건식 이름에 해당하는 제 1 조건식인 것을 특징으로 하는 로봇 제어 프로그래밍 방법.
  21. 삭제
  22. 삭제
KR1020150061499A 2015-04-30 2015-04-30 클라우드 환경을 통한 로봇 제어 프로그래밍 시스템 및 방법 KR101690873B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150061499A KR101690873B1 (ko) 2015-04-30 2015-04-30 클라우드 환경을 통한 로봇 제어 프로그래밍 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150061499A KR101690873B1 (ko) 2015-04-30 2015-04-30 클라우드 환경을 통한 로봇 제어 프로그래밍 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20160129398A KR20160129398A (ko) 2016-11-09
KR101690873B1 true KR101690873B1 (ko) 2016-12-28

Family

ID=57528960

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150061499A KR101690873B1 (ko) 2015-04-30 2015-04-30 클라우드 환경을 통한 로봇 제어 프로그래밍 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101690873B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111192503A (zh) * 2018-11-15 2020-05-22 株式会社麦卢思 块型无线编码命令输入装置及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102071575B1 (ko) * 2013-04-23 2020-01-30 삼성전자 주식회사 이동로봇, 사용자단말장치 및 그들의 제어방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111192503A (zh) * 2018-11-15 2020-05-22 株式会社麦卢思 块型无线编码命令输入装置及方法

Also Published As

Publication number Publication date
KR20160129398A (ko) 2016-11-09

Similar Documents

Publication Publication Date Title
US10099382B2 (en) Mixed environment display of robotic actions
US20170053314A1 (en) Displaying Advertisements In Application Launcher
US9798531B2 (en) Dependency-aware transformation of multi-function applications for on-demand execution
US9679083B2 (en) Displaying sort results on a mobile computing device
WO2016019925A1 (zh) 搜索方法、服务器及客户端
US9317417B2 (en) Smart digital message archival
CN111125269B (zh) 一种数据管理方法、血缘关系显示方法和相关装置
US9852375B2 (en) Techniques for mobile prediction
US20140074811A1 (en) Query ranking models
US11782910B2 (en) System and method for dynamic inference collaboration
CN111143543A (zh) 一种对象推荐方法、装置、设备及介质
US20220278902A1 (en) Split decision trees on client and server
US10095794B2 (en) Augmenting search results with device and application history
TW201525922A (zh) 建議參觀站點的電腦實施方法
CN104380247A (zh) 响应于便携式计算设备的工作情况的应用数据的自动适应
KR101690873B1 (ko) 클라우드 환경을 통한 로봇 제어 프로그래밍 시스템 및 방법
KR101678781B1 (ko) 클라우드 환경을 통한 로봇 제어 시스템 및 방법
KR102450094B1 (ko) 위치 정보에 기반하여 동영상 또는 이미지 컨텐츠를 제공하기 위한 방법 및 시스템
WO2015096660A1 (en) Methods and devices for displaying a webpage
US9734253B2 (en) Method of providing a webpage using home device web browser and home device therefor
CN112328349B (zh) 一种参数设置方法及相关设备
CN112131482B (zh) 一种时效确定方法和相关装置
TW201525880A (zh) 電子裝置及其顯示之動態影像之物件資訊查詢方法
US20160232448A1 (en) System and Method Automatically Learning and Optimizing Sequence Order
KR101842874B1 (ko) 메타 정보를 이용한 데이터 시각화 유형 추천 방법

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: 20190911

Year of fee payment: 4