KR101988282B1 - 프로그래밍 가능한 입력모듈을 포함하는 이동 로봇 - Google Patents

프로그래밍 가능한 입력모듈을 포함하는 이동 로봇 Download PDF

Info

Publication number
KR101988282B1
KR101988282B1 KR1020180012623A KR20180012623A KR101988282B1 KR 101988282 B1 KR101988282 B1 KR 101988282B1 KR 1020180012623 A KR1020180012623 A KR 1020180012623A KR 20180012623 A KR20180012623 A KR 20180012623A KR 101988282 B1 KR101988282 B1 KR 101988282B1
Authority
KR
South Korea
Prior art keywords
command
mobile robot
input
module
button
Prior art date
Application number
KR1020180012623A
Other languages
English (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 US16/047,692 priority Critical patent/US20190227775A1/en
Application granted granted Critical
Publication of KR101988282B1 publication Critical patent/KR101988282B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0053Computers, e.g. programming
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • 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
    • B25J9/1658Programme controls characterised by programming, planning systems for manipulators characterised by programming language
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0011Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement
    • G05D1/0016Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement characterised by the operator's input device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0255Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B1/00Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways
    • G09B1/32Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways comprising elements to be used without a special support
    • G09B1/325Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways comprising elements to be used without a special support the elements comprising interacting electronic components

Abstract

본 발명의 일 실시예에 따른 이동 로봇은, 프로그래밍이 가능한 입력모듈을 포함하는 이동 로봇으로서, 상기 이동 로봇을 제어하는 프로세서; 사용자로부터 상기 이동 로봇의 프로그래밍을 위한 명령어를 입력 받는 입력모듈로서, 프로그래밍을 위한 명령어는 상기 이동 로봇의 작동과 관련된 액션명령어, 상기 액션명령어를 실행하기 위한 조건과 관련된 조건명령어 및 상기 이동 로봇에 입력된 명령어를 제어하는 제어명령어를 포함하는 것인, 입력모듈; 상기 이동 로봇의 주변 변화를 감지하는 센서모듈로서, 상기 프로세서는 상기 센서모듈의 감지 결과에 기초하여 상기 액션명령어를 실행하기 위한 조건의 만족여부를 판단하는 것인, 센서모듈; 및 상기 프로세서가 상기 입력모듈로부터 입력된 명령어를 포함하는 명령어 시퀀스를 실행하는 경우, 상기 입력모듈로부터 입력된 상기 액션명령어에 따라 작동하는 작동모듈을 포함하고, 상기 제어명령어는 반복명령어를 포함하고, 상기 프로세서는 상기 반복명령어가 입력되기 전 상기 입력모듈로부터 입력된 상기 액션명령어의 실시를 반복한다.

Description

프로그래밍 가능한 입력모듈을 포함하는 이동 로봇{MOBILE ROBOT COMPRISING INPUT MODULE FOR PROGRAMMING}
본 발명은 프로그래밍이 가능한 입력모듈을 포함하는 이동 로봇에 관한 것으로서, 별도의 장치를 이용하지 않더라도 이동 로봇이 제공하는 입력모듈을 이용하여 프로그래밍이 가능한 이동 로봇에 관한 것이다.
4차 산업혁명 시대에 들어서면서 소프트웨어 인력 즉, 프로그래밍이 가능한 인재에 대한 수요가 늘어가고 있다. 프로그래밍 교육의 필요성이 사회 전반적으로 공감대를 얻고 있는 상황에서, 프로그래밍 교육을 통해 창조성 및 논리성을 기를 수 있다는 점이 부각되면서 프로그래밍 교육이 초등학교 교과과정으로 채택되기에 이르렀다.
다만, 종래의 프로그래밍 교육 방법은 C/C++, 베이직, 어셈블리, 자바와 같은 일반적인 프로그래밍 언어를 통해 수행됨에 따라, 전문적 프로그래밍에 준하는 수준의 지식이 필요하였다. 그러나 이러한 방법은 청소년에 대한 준전문가 수준의 프로그래밍 교육에 적합할 뿐, 아동 특히 미취학 아동 또는 초등학교 저학년 아동에 대하여 적합한 프로그래밍 원리 교육의 수단으로서는 한계를 갖는다.
이에 따라 아동에게 적합한 프로그래밍 교육 방법이나 교육 수단이 지속적으로 개발되고 있다.
등록특허공보 제10-1676676호
한편, 프로그래밍 교육의 재미를 높이기 위해, 로봇을 이용하여 프로그래밍 교육을 수행하는 경우가 많다. 그러나 종래의 프로그래밍 교육 방법이나 교육 수단을 살펴보면 프로그래밍 장치와 로봇이 분리되어 장치가 복잡하거나 프로그래밍 장치와 로봇을 일체화시키더라도 기존의 프로그래밍 장치를 그대로 로봇에 결합한 것에 불과하여 아동이 프로그래밍을 직관적으로 이해하는 데 어려움을 겪는 경우가 많다. 따라서 아동에게 적합한 프로그래밍 교육 방법이나 교육 수단의 개발이 절실한 상황이다.
본 발명이 해결하고자 하는 과제는 별도의 장치를 이용하지 않더라도 이동 로봇이 제공하는 입력모듈을 이용하여 프로그래밍이 가능한 이동 로봇을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는 입력모듈을 이용하여 프로그래밍을 수행하는 과정에서 직관적으로 프로그래밍을 위한 명령어와 프로그래밍 규칙을 이해할 수 있는 이동 로봇을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 프로그래밍이 가능한 입력모듈을 포함하는 이동 로봇으로서, 상기 이동 로봇을 제어하는 프로세서; 사용자로부터 상기 이동 로봇의 프로그래밍을 위한 명령어를 입력 받는 입력모듈로서, 프로그래밍을 위한 명령어는 상기 이동 로봇의 작동과 관련된 액션명령어, 상기 액션명령어를 실행하기 위한 조건과 관련된 조건명령어 및 상기 이동 로봇에 입력된 명령어를 제어하는 제어명령어를 포함하는 것인, 입력모듈; 상기 이동 로봇의 주변 변화를 감지하는 센서모듈로서, 상기 프로세서는 상기 센서모듈의 감지 결과에 기초하여 상기 액션명령어를 실행하기 위한 조건의 만족여부를 판단하는 것인, 센서모듈; 및 상기 프로세서가 상기 입력모듈로부터 입력된 명령어를 포함하는 명령어 시퀀스를 실행하는 경우, 상기 입력모듈로부터 입력된 상기 액션명령어에 따라 작동하는 작동모듈을 포함하고, 상기 제어명령어는 반복명령어를 포함하고, 상기 프로세서는 상기 반복명령어가 입력되기 전 상기 입력모듈로부터 입력된 상기 액션명령어의 실시를 반복한다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명에 따르면, 복잡한 프로그래밍 툴을 이용하지 않더라도 본 발명의 이동 로봇에서 제공하는 입력모듈을 통해 누구나 손쉽게 직관적으로 프로그래밍을 할 수 있다.
또한, 본 발명에 따르면, 프로그래밍 장치와 이동 로봇이 일체화되어 있기 때문에, 프로그래밍 학습을 위해 별도의 컴퓨터를 갖추지 않더라도 프로그래밍 교육이 가능할 수 있다.
또한, 본 발명에 따르면, 이동 로봇에 포함된 센서모듈을 이용하여 조건명령어에 따른 조건의 만족여부 판단이 가능하기 때문에, 조건명령어에 대한 교육이 가능하다.
또한, 본 발명에 따르면, 사용자들로부터 복잡하고 흥미를 가지기 어려운 프로그래밍에 대한 흥미를 유발할 수 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 이동 로봇의 구성을 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 이동 로봇의 사시도이다.
도 3은 본 발명의 일 실시예에 따른 이동 로봇의 입력모듈의 개략도이다.
도 4는 도 1의 센서모듈의 구성을 도시한 블록도이다.
도 5는 본 발명의 다른 실시예에 따른 이동 로봇의 구성을 도시한 블록도이다.
도 6은 도 5의 이동 로봇의 작동을 설명하기 위한 이동 로봇의 입력모듈의 개략도이다.
도 7은 본 발명의 이동 로봇에 입력된 명령어 시퀀스가 실행되는 실시예를 도시한 개념도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작 시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 따른 프로그래밍이 가능한 입력모듈을 포함하는 이동 로봇을 설명한다.
본 발명의 일 실시예에 따른 이동 로봇(100)은 프로그래밍이 가능한 입력모듈(130)을 포함하고 있으며, 사용자가 입력모듈(130)을 통해 명령어를 입력하여 프로그래밍을 하면, 프로세서(110)가 입력모듈(130)로부터 입력된 명령어를 포함하는 명령어 시퀀스를 실행함으로써 이동 로봇(100)을 작동시킬 수 있다.
이하 도 1 내지 도 4를 참조하여 본 발명의 일 실시예에 따른 이동 로봇(100)을 설명한다. 도 1은 본 발명의 일 실시예에 따른 이동 로봇의 구성을 도시한 블록도이고, 도 2는 본 발명의 일 실시예에 따른 이동 로봇의 사시도이고, 도 3은 본 발명의 일 실시예에 따른 이동 로봇의 입력모듈의 개략도이고, 도 4는 도 1의 센서모듈의 구성을 도시한 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 이동 로봇(100)은 프로세서(110). 메모리(120), 입력모듈(130), 센서모듈(140) 및 작동모듈(150)을 포함한다. 다만, 몇몇 실시예에서 이동 로봇(100)은 도 1에 도시된 구성보다 상대적으로 많은 구성요소를 포함하거나 상대적으로 적은 구성요소를 포함할 수도 있다.
프로세서(110)는 이동 로봇(100)을 제어할 수 있으며, 예컨대 메모리(120), 입력모듈(130), 센서모듈(140) 및 작동모듈(150)의 작동을 제어할 수 있다. 구체적으로, 프로세서(110)는 입력모듈(130)로부터 입력된 명령어를 포함하는 명령어 시퀀스를 실행하거나 입력모듈(130)로부터 입력된 명령어를 실행할 수 있으며, 메모리(120)에 저장된 프로그래밍을 위한 명령어(program command)를 실행할 수도 있다. 여기서, 프로세서(110)는 중앙 처리 장치(central processing unit, CPU)이거나 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다.
메모리(120)는 이동 로봇(100)의 작동을 위해 필요한 정보를 저장할 수 있으며, 프로그래밍 명령어를 저장할 수 있다. 또한, 이동 로봇(100)은 입력모듈(130)로부터 입력된 명령어를 포함하는 명령어 시퀀스의 실행에 따라 제어되는 제1 모드 또는 미리 정해진 명령어 시퀀스의 실행에 따라 이동 로봇(100)이 제어되는 제2 모드로 작동할 수 있는데, 이동 로봇(100)이 제2 모드에서 작동하는 경우에 필요한 미리 정해진 명령어 시퀀스가 메모리(120)에 저장될 수도 있다.
한편, 메모리(120)의 종류에는 제한이 없으며, 예컨대 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다.
입력모듈(130)은 사용자로부터 이동 로봇(100)의 프로그래밍을 위한 명령어를 입력 받을 때 이용될 수 있다. 여기서, 프로그래밍을 위한 명령어는 이동 로봇(100)의 작동과 관련된 액션명령어, 액션명령어를 실행하기 위한 조건과 관련된 조건명령어 및 이동 로봇에 입력된 명령어를 제어하는 제어명령어를 포함할 수 있으며, 액션명령어, 조건명령어 및 제어명령어에 대해서는 구체적으로 후술한다.
몇몇 실시예에서 입력모듈(130)은 액션명령어, 조건명령어 및 제어명령어의 입력을 위한 복수의 버튼을 포함할 수 있고, 도 2를 참조하면 복수의 버튼은 이동 로봇(100)의 적어도 일면에 형성될 수 있다. 즉, 본 실시예에 따른 이동 로봇(100)에 따르면, 프로그래밍을 위한 입력모듈(130)이 이동 로봇(100) 상에 형성되어 있기 때문에, 프로그래밍 학습을 위해 별도의 컴퓨터를 갖추지 않더라도 프로그래밍 교육이 가능할 수 있다.
여기서, 입력모듈(130)의 일 실시예로서 버튼은 사용자와의 접촉을 통해 입력을 받을 수 있도록 구성될 수 있으며, 예컨대 사용자의 클릭(click) 또는 푸쉬(push)와 같은 물리적인 입력을 받도록 구성된 물리적 버튼이거나, 사용자의 터치(touch) 등과 같은 전기적인 입력을 받도록 구성된 터치식 버튼일 수도 있지만, 이에 제한되지 않는다. 본 실시예에 따르면, 사용자는 액션명령어, 조건명령어 및 제어명령어의 입력을 위한 복수의 버튼 중 자신이 프로그래밍할 때 필요한 명령어의 입력을 위한 버튼을 누름으로써 프로그래밍을 할 수 있다.
몇몇 실시예에서 입력모듈(130)은 근접센서(미도시) 또는 카메라(미도시)를 포함하여 사용자의 제스처(gesture) 또는 눈을 포함한 신체의 움직임 등을 인식할 수 있도록 구성될 수 있고, 프로세서(110)는 입력모듈(130)에 의해 인식된 제스처 또는 신체의 움직임에 대응되는 명령어를 파악하여 프로그래밍을 위한 해당 명령어가 입력된 것으로 판단할 수 있다. 본 실시예에 따르면, 사용자는 액션명령어, 조건명령어 및 제어명령어 중 입력을 희망하는 명령어에 대응되는 제스처 또는 신체의 움직임을 취함으로써 프로그래밍을 할 수 있다.
몇몇 실시예에서 입력모듈(130)은 스피커(미도시)를 포함하여 사용자의 목소리를 포함하여 입력되는 소리를 인식할 수 있도록 구성될 수 있고, 프로세서(110)는 인식된 소리의 특성에 대응되는 명령어가 입력모듈(130)로 입력된 것으로 판단할 수 있다. 만약 프로세서(110)가 인공지능 음성엔진을 탑재하여 음성 인식이 가능하다면, 프로세서(110)는 사용자의 말(음성)에 대응되는 명령어를 인식할 수 있다. 본 실시예에 따르면, 사용자는 액션명령어, 조건명령어 및 제어명령어 중 입력을 희망하는 명령어에 대응되는 소리(또는 음성)을 발생시킴으로써 프로그래밍을 할 수 있다.
이하, 입력모듈(130)을 통해 입력될 수 있는 명령어를 설명한다.
우선, 액션명령어는 이동 로봇(100)의 작동과 관련된 명령어로서, 입력된 액션명령어에 따라 후술하는 작동모듈(150)이 작동할 수 있다.
액션명령어는, 이동 로봇(100)을 정해진 거리만큼 앞으로 이동시키거나 정해진 시간동안 앞으로 이동시키기 위한 전진명령어, 이동 로봇(100)을 정해진 거리만큼 뒤로 이동시키거나 정해진 시간동안 뒤로 이동시키기 위한 후진명령어, 이동 로봇(100)을 정해진 거리만큼 왼쪽으로 이동시키거나 정해진 시간동안 왼쪽으로 이동시키기 위한 좌회전명령어, 이동 로봇(100)을 정해진 거리만큼 오른쪽으로 이동시키거나 정해진 시간동안 오른쪽으로 이동시키기 위한 우회전명령어 및 이동 로봇(100)이 정해진 시간동안 이동하지 않고 제자리를 유지하도록 하는 대기명령어 중 적어도 하나를 포함할 수 있다. 다만, 액션명령어는 이에 제한되지 않고 이동 로봇(100)의 작동과 관련된다면 추가될 수 있으며, 작동모듈(150)의 기능이 늘어나면 액션명령어의 개수도 늘어날 수 있다.
예컨대, 이동 로봇(100)이 바닥 격자 상에서 이동하는 경우, 전진명령어, 후진명령어, 좌회전명령어 및 우회전명령어가 프로세서(110)에 의해 실행되면 이동 로봇(100)은 바닥 격자 위에서 앞, 뒤, 좌, 우로 한 칸씩 움직일 수도 있다.
다만, 몇몇 실시예에서 전진명령어, 후진명령어, 좌회전명령어 및 우회전명령어에서 이동을 위한 정해진 시간 또는 정해진 거리가 고정되어 있지 않고, 정해진 시간 또는 정해진 거리가 입력모듈(130)을 통해 프로그래밍 되어 결정되도록 할 수도 있다. 마찬가지로 대기명령어를 통해 이동 로봇(100)이 이동하지 않고 제자리를 유지하는 정해진 시간 역시 입력모듈(130)을 통해 프로그래밍 되어 결정되도록 할 수 있다.
몇몇 실시예에서 액션명령어는 발광모듈(152)을 켜고 끄거나 발광모듈(152)의 색을 변경하거나 발광모듈(152)을 점멸 또는 디밍(dimming)시켜 깜빡거리도록 하는 발광모듈명령어를 더 포함할 수도 있다.
몇몇 실시예에서 좌회전명령어는 이동 로봇(100)을 정해진 각도만큼 왼쪽으로 회전시키거나 정해진 시간만큼 왼쪽으로 회전시키기 위한 명령어일 수 있으며, 우회전명령어는 이동 로봇(100)을 정해진 각도만큼 오른쪽으로 회전시키거나 정해진 시간만큼 오른쪽으로 회전시키기 위한 명령어일 수도 있다. 여기서, 좌회전명령어 및 우회전명령어에서 회전을 위해 정해진 시간 또는 정해진 각도가 고정되어 있지 않고, 정해진 시간 또는 정해진 각도가 입력모듈(130)을 통해 프로그래밍 되어 결정되도록 할 수도 있다.
한편, 입력모듈(130)이 복수의 버튼으로 구성되는 경우, 복수의 버튼은 전진명령어, 후진명령어, 좌회전명령어, 우회전명령어 및 대기명령어 중 적어도 하나의 액션명령어의 입력을 위한 버튼을 포함할 수 있다. 도 3을 참조하면, 입력모듈(130)은 전진명령어 버튼(131_1), 후진명령어 버튼(131_2), 좌회전명령어 버튼(131_3), 우회전명령어 버튼(131_4) 및 대기명령어 버튼(131_5)를 포함할 수 있고, 각각의 버튼 상에는 버튼의 속성을 직관적으로 이해할 수 있는 그림이 그려질 수 있다.
본 발명의 일 실시예에 따른 이동 로봇(100)에서 정해진 규칙에 따르면, 복수의 액션명령어가 순차적으로 입력될 수 있으며, 복수의 액션명령어가 포함된 명령어 시퀀스가 프로세서(110)에 의해 실행되면 복수의 액션명령어가 순차적으로 실행될 수 있다. 이 밖에, 액션명령어는 조건명령어가 입력된 후에 입력되거나 제어명령어 중 반복명령어가 입력되기 전 입력될 수 있다. 다만, 이동 로봇(100)이 재부팅된 후 또는 초기화명령어가 입력된 후에는 액션명령어의 입력이 가능하며, 조건명령어나 반복명령어가 입력되지 않더라도 단독으로 입력될 수도 있다.
이어서, 조건명령어는 액션명령어를 실행하기 위한 조건과 관련된 명령어이고, 조건의 만족여부는 센서모듈(140)의 감지 결과에 기초하여 결정될 수 있다. 즉, 전술한 바와 같이, 조건명령어가 입력된 후에 액션명령어가 입력될 수 있는데, 조건명령어가 입력된 후에 입력된 액션명령어는 센서모듈(140)의 감지 결과에 기초하여 조건명령어에 따른 조건이 만족된 경우 프로세서(110)에 의해 실행될 수 있다.
조건명령어는, 다른 물체가 이동 로봇(100)으로부터 정해진 거리 내에 위치하는 것을 액션명령어의 실행을 위한 조건으로 하는 근접조건명령어, 이동 로봇(100)의 주변 밝기의 변화가 정해진 변화의 정도 이상인 것을 액션명령어의 실행을 위한 조건으로 하는 조도조건명령어, 이동 로봇(100)의 주변 색상이 정해진 색상인 것을 액션명령어의 실행을 위한 조건으로 하는 컬러조건명령어 및 이동 로봇(100)의 주변 소리의 크기 변화가 정해진 변화의 정도 이상인 것을 액션명령어의 실행을 위한 조건으로 하는 소리조건명령어 중 적어도 하나를 포함할 수 있다. 다만, 조건명령어는 이에 제한되지 않고 이동 로봇(100)에서 감지 가능한 정보가 있다면 추가될 수 있으며, 센서모듈(140)의 기능이 늘어나면 조건명령어의 개수도 늘어날 수 있다.
예컨대, 사용자는 근접조건명령어를 통해 이동 로봇(100)으로부터 정해진 거리 내에 장애물이 감지되는 경우 액션명령어가 프로세서(110)에 의해 실행되도록 할 수 있고, 조도조건명령어를 통해 현재 밝기보다 일정 이상 밝아지거나 일정 이상 어두워지는 경우 액션명령어가 프로세서(110)에 의해 실행되도록 할 수 있고, 컬러조건명령어를 통해 빨강, 주황, 노랑, 초록, 파랑, 보라, 검정 등의 색 중 정해진 색이 감지되는 경우 액션명령어가 프로세서(110)에 의해 실행되도록 할 수 있고, 소리조건명령어를 통해 입력되는 소리의 크기가 변화하는 경우 액션명령어가 프로세서(110)에 의해 실행되도록 할 수 있다.
한편, 입력모듈(130)이 복수의 버튼으로 구성되는 경우, 복수의 버튼은 근접조건명령어, 조도조건명령어, 컬러조건명령어 및 소리조건명령어 중 적어도 하나의 조건명령어의 입력을 위한 버튼을 포함할 수 있다. 도 3을 참조하면, 입력모듈(130)은 근접조건명령어 버튼(132_1), 조도조건명령어 버튼(132_2), 컬러조건명령어 버튼(132_3) 및 소리조건명령어 버튼(미도시)를 포함할 수 있고, 각각의 버튼 상에는 버튼의 속성을 직관적으로 이해할 수 있는 그림이 그려질 수 있다.
몇몇 실시예에서 컬러조건명령어 버튼(132_3)은 복수의 버튼을 포함할 수 있으며, 컬러조건명령어 버튼(132_3)의 개수는 컬러센서(143)가 인식할 수 있는 색상의 개수와 같을 수 있다. 예컨대, 컬러센서(143)가 빨강과 파랑을 인식할 수 있는 경우, 컬러조건명령어 버튼(132_3)은 각각 빨강 또는 파랑이 감지되는 경우 액션명령어가 프로세서(110)에 의해 실행되도록 하는 빨강 컬러조건명령어 버튼과 파랑 컬러조건명령어 버튼을 포함할 수 있다.
또한, 몇몇 실시예에서 컬러조건명령어 버튼(132_3)을 연속하여 누름으로써 특정 색상에 대한 컬러조건명령어를 입력할 수 있다. 예컨대, 무지개 색상 순으로 컬러조건명령어 버튼(132_3)이 한번 눌리면 프로세서(110)는 빨강에 대한 컬러조건명령어가 입력된 것으로 인식할 수 있고, 컬러조건명령어 버튼(132_3)이 두 번 눌리면 프로세서(110)는 주황에 대한 컬러조건명령어가 입력된 것으로 인식할 수도 있다. 몇몇 실시예에서 이동 로봇(100)은 입력된 컬러조건명령어가 어떤 색에 대한 명령어인지와 관련하여 음성으로 안내를 하거나 해당 색을 표시하거나 발광시킴으로써 사용자에게 프로그래밍을 위한 편의를 제공할 수도 있다.
마지막으로, 제어명령어는 이동 로봇(100)에 입력된 명령어를 제어하는 명령어이다. 제어명령어는, 반복명령어, 초기화명령어 및 실행명령어 중 적어도 하나를 포함할 수 있다.
반복명령어의 기능을 설명한다. 프로세서(110)가 반복명령어가 포함된 명령어 시퀀스를 실행하는 경우, 프로세서(110)는 반복명령어가 입력되기 전 입력모듈(130)로부터 입력된 액션명령어를 반복하여 실행할 수 있다.
몇몇 실시예에서, 프로세서(130)가 반복명령어를 포함하는 명령어 시퀀스를 실행하는 경우, 반복명령어가 입력되기 전 입력모듈(130)로부터 복수의 액션명령어가 입력되었다면, 프로세서(130)는 반복명령어가 입력되기 전 입력모듈(130)로부터 입력된 복수의 액션명령어를 입력 순서에 따라 순차적으로 실시하고 순차적인 실시를 반복할 수 있다.
몇몇 실시예에서, 프로세서(110)가 반복명령어가 입력된 후 조건명령어가 입력된 명령어 시퀀스를 실행하는 경우, 프로세서(110)는 반복명령어가 입력되기 전 입력모듈(130)로부터 입력된 액션명령어를 반복하여 실시를 하는 도중에 센서모듈(140)의 감지 결과에 기초하여 입력모듈(130)로부터 입력된 조건명령어의 조건이 만족된 것으로 판단하면, 조건명령어가 입력된 후 입력모듈(130)로부터 입력된 액션명령어를 실행한다. 즉, 조건명령어의 조건이 만족된 경우 조건명령어 이후에 입력된 액션명령어가 반복명령어 이전에 입력된 액션명령어보다 우선순위를 가지고 프로세서(110)에 의해 실행될 수 있다.
다만, 프로세서(110)는, 조건명령어가 입력된 후 입력모듈(130)로부터 입력된 액션명령어를 실행한 후, 반복명령어가 입력되기 이전에 입력모듈(130)로부터 입력된 액션명령어를 반복하여 실행할 수 있다. 즉, 조건명령어 이후에 입력된 액션명령어가 프로세서(110)에 의해 1회 실행된 후, 반복명령어 이전에 입력된 액션명령어가 프로세서(110)에 의해 실행될 수 있다.
초기화명령어의 기능을 설명한다. 입력모듈(130)로부터 초기화명령어가 입력되면, 프로세서(110)는 초기화명령어가 입력되기 전 입력모듈(130)로부터 입력된 명령어를 모두 삭제하여 명령어 시퀀스를 초기화할 수 있다. 따라서 사용자는 새로운 명령어 시퀀스를 작성하기 위해 입력모듈(130)을 통해 초기화명령어를 입력함으로써 기존에 입력된 명령어 시퀀스를 삭제할 수 있다.
실행명령어의 기능을 설명한다. 입력모듈(130)로부터 실행명령어가 입력되면, 프로세서(130)는 명령어 시퀀스를 실행하거나 명령어 시퀀스의 실행을 일시정지할 수 있다. 구체적으로, 입력모듈(130)로부터 실행명령어가 입력되면, 프로세서(110)는 명령어 시퀀스를 실행한다. 프로세서(110)에 의해 명령어 시퀀스가 실행되는 도중에 입력모듈(130)로부터 실행명령어(130)가 입력되면, 프로세서(110)는 명령어 시퀀스의 실행을 일시정지할 수 있다. 그리고 프로세서(110)에 의해 명령어 시퀀스의 실행이 일시정시된 상태에서 입력모듈(130)로부터 실행명령어가 입력되면, 프로세서(110)는 명령어 시퀀스의 실행을 다시 수행할 수 있다.
한편, 본 발명의 일 실시예에 따른 이동 로봇(100)에서 명령어 시퀀스는 입력모듈(130)로부터 초기화명령어가 입력된 후 실행명령어가 입력되기 전에 입력된 적어도 하나의 명령어를 포함하는 것으로 정의될 수 있다. 다만, 이동 로봇(100)이 전원의 온오프 및 기타 이유에 의해 초기화 상태 또는 재부팅된 상태가 되는 경우, 명령어 시퀀스는 이동 로봇(100)이 초기화 상태 또는 재부팅된 상태 이후 실행명령어가 입력되기 전에 입력모듈(130)로부터 입력된 적어도 하나의 명령어를 포함하는 것으로 정의될 수도 있다.
몇몇 실시예에서, 제어명령어는 이동 로봇(100)의 제어모드를 변경하는 모드변경명령어를 더 포함할 수 있다.
이동 로봇(100)은 입력모듈(130)로부터 입력된 명령어를 포함하는 명령어 시퀀스의 실행에 따라 이동 로봇(130)이 제어되는 제1 모드와 정해진 명령어 시퀀스의 실행에 따라 이동 로봇(130)이 제어되는 제2 모드를 포함할 수 있다.
제2 모드는 입력 모듈(130)로부터 입력된 명령어와 무관하게 정해진 명령어 시퀀스의 실행에 따라 제어되는 모드로서, 제1 모드로 이동 로봇(100)이 작동하는 상태에서 입력모듈(130)로부터 모드변경명령어가 입력되면 프로세서(110)는 이동 로봇(130)이 제2 모드로 작동하도록 제어할 수 있다.
예컨대 제2 모드는 라인트레이(line tray) 모드일 수 있다. 라인트레이 모드에서 프로세서(110)는 이동 로봇(100)의 바닥면에 위치한 컬러센서(143)를 이용해서 이동 로봇(100)이 라인을 따라 이동하도록 제어할 수 있다.
몇몇 실시예에서 제2 모드는 손바닥따라오기 모드일 수 있다. 손바닥따라오기 모드에서 프로세서(110)는 근접센서(141)에 손바닥이 감지되는 경우 손바닥을 따라 이동 로봇(100)이 이동하도록 제어할 수 있다.
몇몇 실시예에서 제2 모드는 랜덤 모드일 수 있다. 랜덤 모드에서 프로세서(110)는 조건명령어와 액션명령어를 랜덤하게 배치하여 생성된 명령어 시퀀스를 실행할 수 있다. 이에 따라, 이동 로봇(100)의 작동과 작동을 위한 조건이 무작위로 선택될 수 있다.
이러한 상황에서, 프로세서(110)는 입력모듈(130)로부터 모드변경명령어가 입력될 때마다, 입력모듈(130)로부터 입력된 명령어를 포함하는 명령어 시퀀스의 실행에 따라 이동 로봇이 제어되는 제1 모드와 정해진 명령어 시퀀스의 실행에 따라 이동 로봇(130)이 제어되는 제2 모드를 번갈아 가면서 실행할 수 있다. 몇몇 실시예에서 이동 로봇(130)은 3개 이상의 모드로 작동할 수도 있다.
본 발명의 일 실시예에 따른 이동 로봇(100)에 따르면, 사용자는 이동 로봇(100)을 프로그래밍을 위한 학습 교보재 이외에 놀이 도구로 인식할 수 있으므로, 이동 로봇(100)을 이용한 프로그래밍 과정에 더 흥미를 느낄 수 있다.
한편, 입력모듈(130)이 복수의 버튼으로 구성되는 경우, 복수의 버튼은 반복명령어, 초기화명령어, 실행명령어 및 모드변경명령어 중 적어도 하나의 제어명령어의 입력을 위한 버튼을 포함할 수 있다. 도 3을 참조하면, 입력모듈(130)은 반복명령어 버튼(133_1), 초기화명령어 버튼(133_2), 실행명령어 버튼(133_3) 및 모드변경명령어 버튼(133_4)를 포함할 수 있고, 각각의 버튼 상에는 버튼의 속성을 직관적으로 이해할 수 있는 그림이 그려질 수 있다.
센서모듈(140)은 이동 로봇(100)의 주변 변화를 감지한다. 센서모듈(140)은 이동 로봇(100)을 통해 조건명령어가 입력되는 경우 입력된 조건명령어에 따른 조건의 만족여부를 판단하기 위해 이용될 수 있다. 구체적으로, 프로세서(110)는 센서모듈(140)의 감지 결과에 기초하여 액션명령어를 실행하기 위한 조건의 만족여부를 판단한다.
도 4를 참조하면, 센서모듈(140)은 근접센서(141), 조도센서(142), 컬러센서(143) 및 소리센서(144) 중 적어도 하나를 포함할 수 있다. 다만, 몇몇 실시예에서 센서모듈(140)은 도 4에 도시된 구성요소보다 상대적으로 많거나 상대적으로 적은 구성요소를 포함하도록 구성될 수도 있다.
근접센서(141)는 이동 로봇(110)으로부터 정해진 거리 내에 다른 물체가 존재하는지 여부를 감지한다. 예컨대, 도 2를 참조하면, 근접센서(141)는 이동 로봇(100)의 전면에 배치되어 이동 로봇(100)의 전방에 위치하는 장애물을 확인할 수 있지만, 몇몇 실시예에서 근접센서(141)는 이동 로봇(100)의 후면, 좌측면 또는 우측면에 배치될 수도 있다.
몇몇 실시예에서, 근접센서(141)는 유도형 근접센서 또는 용량형 근접센서이거나 초음파를 발사해 반사파가 돌아오는 시간을 계산하여 장애물과의 거리를 산출하는 초음파 근접센서일 수 있지만, 근접센서(141)의 종류는 이에 제한되지 않는다.
몇몇 실시예에서, 근접센서(141)의 감지 범위인 정해진 거리는 사용자의 설정 또는 프로그래밍에 따라 조정될 수 있다. 예컨대, 사용자는 블루투스 등의 무선통신을 통해 이동 로봇(100)과 사용자 단말(미도시)을 연결하고, 사용자 단말을 이용하여 프로그래밍을 함으로써 근접센서(141)의 감지 범위인 정해진 거리를 제어할 수도 있다.
조도센서(142)는 이동 로봇(110)의 주변 밝기를 감지하여 프로세서(110)가 이동 로봇(110)의 주변 밝기의 변화를 인식하도록 한다. 예컨대, 도 2를 참조하면 조도센서(142)가 빛을 잘 감지하도록 하기 위해 조도센서(142)는 이동 로봇(110)의 상면에 배치될 수 있지만, 조도센서(142)의 배치 위치는 이에 제한되지 않는다.
몇몇 실시예에서, 조도센서(142)는 측정된 빛의 세기에 따라 저항 값이 변하는 센서일 수 있지만, 조도센서(142)의 종류는 이에 제한되지 않는다.
컬러센서(143)는 이동 로봇의 주변 색상을 감지한다. 예컨대, 컬러센서(143)는 빨강, 주황, 노랑, 초록, 파랑, 보라 또는 검정 등의 색상을 인식할 수 있지만, 컬러센서(143)가 인식할 수 있는 색상은 이에 제한되지 않는다. 예컨대, 도 2를 참조하면 컬러센서(143)는 이동 로봇(100)의 바닥면(또는 아랫면)에 배치될 수 있으며, 이러한 경우 컬러센서(143)는 라인을 인식할 수 있기 때문에 이동 로봇(100)은 라인트레이서로서 기능할 수 있다.
소리센서(144)는 이동 로봇(110)의 주변 소리의 크기를 감지하여 프로세서(110)가 이동 로봇(110)의 주변 소리의 크기 변화를 인식하도록 할 수 있다. 이동 로봇(110) 상에서 소리센서(144)가 배치되는 위치는 제한되지 않을 수 있다.
작동모듈(150)은 프로세서(110)가 입력모듈(130)로부터 입력된 명령어를 포함하는 명령어 시퀀스를 실행하는 경우, 입력모듈(130)로부터 입력된 액션명령어에 따라 작동한다.
예컨대, 도 2를 참조하면, 작동모듈(150)은 바퀴(151)와 발광모듈(152)을 포함할 수 있다. 다만, 작동모듈(150)에 포함되는 구성요소는 도 2에 도시된 구성요소의 개수보다 상대적으로 많거나 적도로 구성될 수 있다. 몇몇 실시예에서, 작동모듈(150)은 스피커(미도시) 또는 디스플레이(미도시) 등을 더 포함할 수 있지만, 이에 제한되지 않는다.
바퀴(151)는 명령어 시퀀스에 포함된 액션명령어에 따라 전, 후, 좌, 우로 이동 로봇(100)을 이동시키거나 이동 로봇(100)을 회전시킬 수 있고, 발광모듈(152)은 명령어 시퀀스에 포함된 액션명령어에 따라 발광 색상을 변경하거나 점멸 또는 디밍(dimming)하여 깜빡거릴 수도 있다.
스피커(미도시)는 명령어 시퀀스에 포함된 액션명령어에 따라 정해진 소리를 출력할 수 있다.
디스플레이(미도시)는 명령어 시퀀스에 포함된 액션명령어에 따라 필요한 정보를 출력할 수 있다. 예컨대, 디스플레이(미도시)는 이동 로봇(100)에서 처리되는 정보, 입력되는 명령어에 대한 정보, 배터리 잔여량 정보 등을 더 표시할 수 있지만, 필요에 따라 프로그래밍된 명령어 또는 명령어 시퀀스를 표시할 수 있다. 다만, 디스플레이(미도시)에 의해 출력되는 정보는 이에 제한되지 않는다.
이하, 도 5 및 도 6을 참조하여, 본 발명의 다른 실시예에 따른 이동 로봇을 설명한다. 다만, 도 1의 본 발명의 일 실시예에 따른 이동 로봇과의 차이점을 위주로 설명한다. 도 5는 본 발명의 다른 실시예에 따른 이동 로봇의 구성을 도시한 블록도이고, 도 6은 도 5의 이동 로봇의 작동을 설명하기 위한 이동 로봇의 입력모듈의 개략도이다.
본 발명의 다른 실시예에 따른 이동 로봇(100)은 입력모듈(130)로부터 입력된 명령어가 정해진 규칙에 맞는지 여부를 판단하는 정오판단모듈(160)을 더 포함할 수 있다.
프로세서(110)는 입력된 명령어가 정오판단모듈(160)에 의해 정해진 규칙에 맞지 않는 것으로 판단되는 경우, 해당 명령어를 명령어 시퀀스에 포함시키지 않고 작동모듈(150)을 작동시켜 사용자에게 알림을 줄 수 있다.
본 실시예에 따른 이동 로봇(100)은 입력된 명령어를 사용자가 확인하도록 표시해주는 디스플레이를 포함하지 않을 수 있다. 경우에 따라서 사용자는 자신이 입력한 명령어가 프로그래밍을 위해 정해진 규칙에 부합하는지 여부를 알기가 어렵다.
이러한 문제점을 해결하기 위해, 이동 로봇(100)은 정오판단모듈(160)을 포함하여 예컨대, 하나의 명령어 시퀀스에서 반복명령어가 두 번 입력되는 것 또는 조건명령어가 입력된 후 액션명령어가 입력되지 않고 다른 조건명령어가 입력되는 것과 같이 입력모듈(130)을 통한 명령어 입력이 정해진 규칙에 맞지 않는 것으로 판단되는 경우 작동모듈(150)을 통해 사용자에게 해당 명령어의 입력이 잘못되었음을 알릴 수 있다. 예컨대, 이동 로봇(100)은 발광모듈(152)을 이용하여 사용자에게 알림을 주거나 스피커(미도시)를 통해 사용자에게 알림을 줄 수 있다.
이와 함께 프로세서(110)는 잘못 입력된 명령어는 명령어 시퀀스에 포함시키지 않음으로써 사용자가 올바른 명령어를 재입력할 수 있는 기회를 줄 수 있다.
몇몇 실시예에서, 입력모듈(130)이 액션명령어, 조건명령어 및 제어명령어의 입력을 위한 복수의 버튼을 포함하고, 복수의 버튼이 이동 로봇(100)의 적어도 일면에 형성되는 경우, 프로세서(110)는, 현 시점에서 입력되었을 때 정해진 규칙을 만족시키는 명령어의 입력을 위한 버튼과, 현 시점에서 입력되었을 때 정해진 규칙을 만족시키지 못하는 명령어의 입력을 위한 버튼을 시각적으로 구분시킬 수 있다.
구체적으로, 사용자가 프로그래밍을 위한 정해진 규칙을 직관적으로 익히고, 사용자가 정해진 규칙에 따라 명령어를 입력할 수 있도록 하기 위해 프로세서(110)는 사용자에게 가이드를 제공할 수 있다.
예컨대, 프로세서(110)는 현 시점에서 입력되었을 때 정해진 규칙을 만족시키는 명령어의 입력을 위한 버튼에만 빛이 들어오게 하여, 현 시점에서 입력되었을 때 정해진 규칙을 만족시키지 못하는 명령어의 입력을 위한 버튼과 구별을 시킴으로써 사용자가 정해진 규칙에 맞는 명령어를 입력할 수 있도록 유도할 수 있다. 또한 이러한 과정을 통해 사용자는 직관적으로 프로그래밍을 위한 정해진 규칙을 체득할 수 있다.
도 6을 참조하여 직전에 액션명령어에 대한 버튼과 반복명령어 버튼(133_1)이 눌린 경우를 예로 들어 설명한다. 프로세서(110)는 정해진 규칙에 따라 명령어 시퀀스를 구성하기 위해 반복명령어가 입력된 이후 조건명령어, 초기화명령어 및 실행명령어가 입력될 수 있다고 인식하여, 근접조건명령어 버튼(132_1), 조도조건명령어 버튼(132_2), 컬러조건명령어 버튼(132_3), 초기화명령어 버튼(133_2) 및 실행명령어 버튼(133_3)을 현 시점에서 입력되었을 때 정해진 규칙을 만족시킬 수 있는 명령어의 입력을 위한 버튼인 것으로 인식할 수 있다. 또한, 프로세서(110)는 정해진 규칙에 따라 명령어 시퀀스를 구성하기 위해 반복명령어가 입력된 이후 액션명령어 및 반복명령어는 입력될 수 없다고 인식하여, 전진명령어 버튼(131_1), 후진명령어 버튼(131_2), 좌회전명령어 버튼(131_3), 우회전명령어 버튼(131_4), 대기명령어 버튼(131_5) 및 반복명령어 버튼(133_1)은 현 시점에서 입력되었을 때 정해진 규칙을 만족시키지 못하는 명령어의 입력을 위한 버튼으로 인식할 수 있다.
따라서 도 6에 도시된 것과 같이 프로세서(110)는 근접조건명령어 버튼(132_1), 조도조건명령어 버튼(132_2), 컬러조건명령어 버튼(132_3), 초기화명령어 버튼(133_2) 및 실행명령어 버튼(133_3)을 다른 버튼과 시각적으로 구분시킴으로써 사용자가 정해진 규칙을 만족시켜 명령어 시퀀스를 구성할 수 있도록 유도할 수 있다.
도 7은 본 발명의 이동 로봇(100)에 입력된 명령어 시퀀스가 실행되는 실시예를 도시한 개념도이다.
도 7(a)를 참조하면, 본 발명의 이동 로봇(100)은 사용자로부터 초기화명령어를 입력 받을 수 있다. 이 경우 이동 로봇(100)은 초기화명령어의 입력 전에 입력된 명령어를 모두 삭제하여 명령어 시퀀스를 초기화할 수 있다.
이동 로봇(100)은 초기화명령어를 입력 받은 뒤에 전진명령어를 두 번, 우회전명령어를 한 번, 반복명령어를 한 번, 근접조건명령어를 한 번, 후진명령어를 두 번, 발광모듈명령어를 한 번, 실행명령어를 한 번 입력 받을 수 있다.
실행명령어가 입력된 후 이동 로봇(100)은 사용자로부터 입력 받은 명령어를 기초로 정해진 거리 또는 정해진 시간만큼 두 번 전진하고, 사용자로부터 입력 받은 명령어를 기초로 정해진 거리 또는 정해진 시간만큼 오른쪽으로 이동하는 것을 반복하여 수행할 수 있다.
반복적인 동작을 수행하는 중 이동 로봇(100)에 포함된 근접센서(141)가 사용자로부터 입력 받은 명령어에 기초하여 정해진 거리 이내에 물체가 존재하는 것을 인식하는 경우 이동 로봇(100)은 사용자로부터 입력 받은 명령어를 기초로 정해진 거리 또는 정해진 시간만큼 두 번 후진하고, 사용자로부터 입력 받은 명령어를 기초로 발광모듈(152)를 미리 정해진 시간동안 점등시키거나 디밍시킬 수 있다.
이동 로봇(100)은 근접조건명령어가 입력된 후 입력된 액션명령어에 따른 동작이 완료된 경우 다시, 기존 반복 동작인 반복명령어가 입력되기 이전에 입력된 액션명령어에 따른 동작을 수행할 수 있다. 예컨대, 이동 로봇(100)은 사용자로부터 입력 받은 명령어를 기초로 정해진 거리 또는 정해진 시간만큼 두 번 전진하고, 사용자로부터 입력 받은 명령어를 기초로 정해진 거리 또는 정해진 시간만큼 오른쪽으로 이동하는 것을 반복하여 수행할 수 있다. 이러한 반복 수행은 근접조건명령어에 따른 조건이 만족되는 상황이 발생할 때까지 지속될 수 있다.
즉, 본 발명의 이동 로봇(100)에 따르면, 입력된 명령어 시퀀스에서 반복명령어와 반복명령어 이전에 입력된 액션명령어가 메인 시퀀스가 되고, 근접조건명령어와 근접조건명령어 이후에 입력된 액션명령어는 이벤트 시퀀스가 된다. 여기서, 조건 만족 시에 이벤트 시퀀스가 수행되고 이벤트 시퀀스 수행 후에는 메인 시퀀스가 다시 수행될 수 있다.
도 7(b)를 참조하면, 본 발명의 이동 로봇(100)은 사용자로부터 초기화명령어를 입력 받을 수 있다. 이 경우 이동 로봇(100)은 초기화명령어 입력 전에 입력된 명령어를 모두 삭제하여 명령어 시퀀스를 초기화할 수 있다.
이동 로봇(100)은 초기화명령어를 입력 받은 뒤에 전진명령어를 한 번, 반복명령어를 한 번, 컬러조건명령어를 한 번, 우회전명령어를 한 번, 전진명령어를 세 번, 실행명령어를 한 번 입력 받을 수 있다.
실행명령어 버튼(133_3)이 입력된 이동 로봇(100)은 사용자로부터 입력 받은 명령어를 기초로 정해진 거리 또는 정해진 시간만큼 한 번 전진하는 동작을 반복하여 수행할 수 있다.
반복적인 동작을 수행하는 중 이동 로봇(100)에 포함된 컬러센서(143)가 사용자로부터 입력 받은 명령어에 기초하여 정해진 색상을 인식하는 경우 이동 로봇(100)은 사용자로부터 입력 받은 명령어에 기초하여 정해진 거리 또는 정해진 시간만큼 한 번 오른쪽으로 이동하고 정해진 거리 또는 정해진 시간만큼 세 번 전진할 수 있다.
이동 로봇(100)은 컬러조건명령어의 입력 후 입력된 명령어의 실행이 완료된 경우 다시, 기존 반복 동작인 반복명령어의 입력 전에 입력된 액션명령어를 실행할 수 있다. 이러한 반복 수행은 컬러조건명령어에 따른 조건이 만족되는 상황이 발생할 때까지 지속될 수 있다.
도 7(c)를 참조하면, 본 발명의 이동 로봇(100)은 사용자로부터 초기화명령어를 입력 받을 수 있다. 이 경우 이동 로봇(100)은 초기화명령어의 입력 전에 입력된 명령어들을 모두 삭제하여 명령어 시퀀스를 초기화할 수 있다.
이동 로봇(100)은 초기화명령어를 입력 받은 뒤에 전진명령어를 한 번, 우회전명령어를 한 번, 대기명령어를 한 번, 전진명령어를 한 번, 좌회전명령어를 한 번, 반복명령어를 한 번, 조도조건명령어를 한 번, 후진명령어를 두 번, 발광모듈명령어를 한 번, 실행명령어를 한 번 입력 받을 수 있다.
실행명령어 버튼(133_3)이 입력된 이동 로봇(100)은 사용자로부터 입력 받은 명령어를 기초로 정해진 거리 또는 정해진 시간만큼 한 번 전진하고, 사용자로부터 입력 받은 명령어를 기초로 정해진 거리 또는 정해진 시간만큼 오른쪽으로 이동하고, 사용자로부터 입력 받은 명령어를 기초로 정해진 시간만큼 대기하고, 사용자로부터 입력 받은 명령어를 기초로 정해진 거리 또는 정해진 시간만큼 한 번 전진하고, 사용자로부터 입력 받은 명령어를 기초로 정해진 거리 또는 정해진 시간만큼 왼쪽으로 이동하는 동작을 반복하여 수행할 수 있다.
반복적인 동작을 수행하는 중 이동 로봇(100)에 포함된 조도센서(142)가 사용자로부터 입력 받은 명령어를 기초로 산출된 기준 이상의 조도변화를 인식하는 경우 이동 로봇(100)은 사용자로부터 입력 받은 명령어를 기초로 정해진 거리 또는 정해진 시간만큼 한 번 후진하고, 사용자로부터 입력 받은 명령어를 기초로 발광모듈(152)를 제어할 수 있다.
이동 로봇(100)은 조도조건명령어 입력 후 입력된 동작이 완료된 경우 다시, 기존 반복 동작인 반복명령어의 입력 전에 입력된 액션명령어를 실행할 수 있다. 이러한 반복 수행은 조도조건명령어에 따른 조건이 만족되는 상황이 발생할 때까지 지속될 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
100: 이동 로봇 110: 프로세서
120: 메모리 130: 입력모듈
140: 센서모듈 141: 근접센서
142: 조도센서 143: 컬러센서
144: 소리센서 150: 작동모듈
160: 정오판단모듈

Claims (16)

  1. 프로그래밍이 가능한 입력모듈을 포함하는 이동 로봇으로서,
    상기 이동 로봇을 제어하는 프로세서;
    사용자로부터 상기 이동 로봇의 프로그래밍을 위한 명령어로서 상기 이동 로봇의 작동과 관련된 액션명령어, 상기 액션명령어를 실행하기 위한 조건과 관련된 조건명령어 및 상기 이동 로봇에 입력된 명령어를 제어하는 제어명령어의 입력을 위한 복수의 버튼을 포함하는 것인, 입력모듈;
    상기 이동 로봇의 주변 변화를 감지하는 센서모듈로서, 상기 프로세서는 상기 센서모듈의 감지 결과에 기초하여 상기 액션명령어를 실행하기 위한 조건의 만족여부를 판단하는 것인, 센서모듈; 및
    상기 프로세서가 상기 입력모듈로부터 입력된 명령어를 포함하는 명령어 시퀀스를 실행하는 경우, 상기 입력모듈로부터 입력된 상기 액션명령어에 따라 작동하는 작동모듈
    을 포함하고, 상기 제어명령어는 반복명령어를 포함하고,
    상기 입력모듈은 상기 제어명령어로서 상기 반복명령어의 입력을 위한 버튼을 포함하고,
    상기 입력모듈로부터 액션명령어 버튼이 입력되는 경우, 상기 프로세서는 상기 이동 로봇이 입력된 상기 액션명령어에 따라 작동하도록 상기 작동모듈을 작동시키고,
    상기 입력모듈로부터 액션명령어 버튼과 반복명령어 버튼이 차례로 입력되는 경우, 상기 프로세서는 상기 이동 로봇이 입력된 상기 액션명령어에 따라 작동을 반복하도록 상기 작동모듈을 작동시키고,
    상기 입력모듈로부터 조건명령어 버튼과 액션명령어 버튼이 차례로 입력되고, 반복명령어 버튼이 입력되어 상기 명령어 시퀀스에 반복명령어가 포함되는 경우, 상기 프로세서는 상기 센서모듈의 감지 결과에 기초하여 입력된 상기 조건명령어의 조건이 만족되었는지 여부를 판단하고, 만약 상기 조건이 만족된 것으로 판단되면 상기 이동 로봇이 입력된 상기 액션명령어에 따라 작동하도록 상기 작동모듈을 작동시키고, 만약 상기 조건이 만족되지 않는 것으로 판단되거나 상기 조건 만족에 따른 상기 작동모듈의 작동을 마치면 상기 조건의 만족 여부에 대한 판단을 하는 일련의 과정을 반복하고,
    상기 입력모듈로부터 적어도 하나의 액션명령어 버튼과 조건명령어 버튼과 적어도 하나의 액션명령어 버튼이 차례로 입력되고, 반복명령어 버튼이 입력되어 상기 명령어 시퀀스에 반복명령어가 포함되는 경우, 상기 프로세서는 상기 이동 로봇이 조건명령어의 입력 전에 입력된 적어도 하나의 액션명령어에 따라 작동하도록 상기 작동모듈을 작동시키고, 이후에 상기 센서모듈의 감지 결과에 기초하여 입력된 상기 조건명령어의 조건이 만족되었는지 여부를 판단하고, 만약 상기 조건이 만족된 것으로 판단되면 상기 이동 로봇이 조건명령어의 입력 후에 입력된 적어도 하나의 액션명령어에 따라 작동하도록 상기 작동모듈을 작동시키고, 만약 상기 조건이 만족되지 않는 것으로 판단되거나 상기 조건 만족에 따른 상기 작동모듈의 작동을 마치면 다시 상기 이동 로봇이 조건명령어의 입력 전에 입력된 적어도 하나의 액션명령어에 따라 작동하도록 상기 작동모듈을 작동시키는 일련의 과정을 반복하는 것인, 이동 로봇.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 제어명령어는 초기화명령어와 실행명령어를 더 포함하고,
    상기 입력모듈은 상기 제어명령어로서 상기 초기화명령어와 상기 실행명령어의 입력을 위한 각각의 버튼을 포함하고,
    상기 입력모듈로부터 상기 초기화명령어 버튼이 입력되면, 상기 프로세서는 상기 초기화명령어가 입력되기 전 상기 입력모듈로부터 입력된 명령어를 모두 삭제하고,
    상기 입력모듈로부터 상기 실행명령어 버튼이 입력되면, 상기 프로세서는 상기 명령어 시퀀스를 실행하고,
    상기 명령어 시퀀스는 상기 입력모듈로부터 상기 초기화명령어 버튼이 입력된 후 상기 실행명령어 버튼이 입력되기 전에 입력된 적어도 하나의 버튼에 대응되는 명령어를 포함하는 것인, 이동 로봇.
  6. 제5항에 있어서,
    상기 프로세서에 의해 상기 명령어 시퀀스가 실행되는 도중에 상기 입력모듈로부터 상기 실행명령어 버튼이 입력되면, 상기 프로세서는 상기 명령어 시퀀스의 실행을 일시정지하고,
    상기 프로세서에 의해 상기 명령어 시퀀스의 실행이 일시정시된 상태에서 상기 입력모듈로부터 상기 실행명령어 버튼이 입력되면, 상기 프로세서는 상기 명령어 시퀀스의 실행을 다시 수행하는 것인, 이동 로봇.
  7. 삭제
  8. 제6항에 있어서,
    상기 작동모듈은 바퀴와 발광모듈을 포함하고,
    상기 액션명령어는,
    상기 바퀴를 이용하여 상기 이동 로봇을 정해진 거리만큼 앞으로 이동시키거나 정해진 시간동안 앞으로 이동시키기 위한 전진명령어,
    상기 바퀴를 이용하여 상기 이동 로봇을 정해진 거리만큼 뒤로 이동시키거나 정해진 시간동안 뒤로 이동시키기 위한 후진명령어,
    상기 바퀴를 이용하여 상기 이동 로봇을 정해진 거리만큼 왼쪽으로 이동시키거나 정해진 시간동안 왼쪽으로 이동시키기 위한 좌회전명령어,
    상기 바퀴를 이용하여 상기 이동 로봇을 정해진 거리만큼 오른쪽으로 이동시키거나 정해진 시간동안 오른쪽으로 이동시키기 위한 우회전명령어
    상기 이동 로봇이 정해진 시간동안 제자리를 유지하도록 하는 대기명령어, 및
    상기 발광모듈의 점멸을 제어하기 위한 발광모듈명령어
    를 포함하고,
    상기 복수의 버튼은 상기 전진명령어, 상기 후진명령어, 상기 좌회전명령어, 상기 우회전명령어, 상기 대기명령어 및 상기 발광모듈명령어의 상기 액션명령어의 입력을 위한 버튼을 포함하는 것인, 이동 로봇.
  9. 제8항에 있어서,
    상기 센서모듈은 근접센서, 조도센서 및 컬러센서를 포함하고,
    상기 근접센서는 상기 이동 로봇으로부터 정해진 거리 내에 다른 물체가 존재하는지 여부를 감지하고,
    상기 조도센서는 상기 이동 로봇의 주변 밝기를 감지하고 상기 프로세서가 상기 이동 로봇의 주변 밝기의 변화를 인식하도록 하고,
    상기 컬러센서는 상기 이동 로봇의 주변 색상을 감지하고,
    상기 조건명령어는,
    다른 물체가 상기 이동 로봇으로부터 정해진 거리 내에 위치하는 것을 상기 액션명령어의 실행을 위한 조건으로 하는 근접조건명령어,
    상기 이동 로봇의 주변 밝기의 변화가 정해진 변화의 정도 이상인 것 또는 주변 밝기가 정해진 정도 이상이거나 이하인 것을 상기 액션명령어의 실행을 위한 조건으로 하는 조도조건명령어 및
    상기 이동 로봇의 주변 색상이 정해진 색상인 것을 상기 액션명령어의 실행을 위한 조건으로 하는 컬러조건명령어
    를 포함하고,
    상기 복수의 버튼은 상기 근접조건명령어, 상기 조도조건명령어 및 상기 컬러조건명령어의 상기 조건명령어의 입력을 위한 버튼을 포함하는 것인, 이동 로봇.
  10. 삭제
  11. 삭제
  12. 제1항에 있어서,
    상기 제어명령어는 상기 이동 로봇의 제어모드를 변경하는 모드변경명령어를 더 포함하고,
    상기 입력모듈은 상기 제어명령어로서 상기 모드변경명령어의 입력을 위한 버튼을 포함하고,
    상기 프로세서는 상기 입력모듈로부터 상기 모드변경명령어 버튼이 입력될 때마다, 상기 입력모듈로부터 입력된 명령어를 포함하는 상기 명령어 시퀀스의 실행에 따라 상기 이동 로봇이 제어되는 제1 모드와 정해진 명령어 시퀀스의 실행에 따라 상기 이동 로봇이 제어되는 제2 모드를 번갈아가면서 실행하는 것인, 이동 로봇.
  13. 삭제
  14. 제1항에 있어서,
    상기 입력모듈로부터 입력된 명령어가 정해진 규칙에 맞는지 여부를 판단하는 정오판단모듈
    을 더 포함하고,
    상기 프로세서는 입력된 명령어가 상기 정오판단모듈에 의해 상기 정해진 규칙에 맞지 않는 것으로 판단되는 경우, 해당 명령어를 상기 명령어 시퀀스에 포함시키지 않고 상기 작동모듈을 작동시켜 상기 사용자에게 알림을 주고,
    상기 복수의 버튼은 상기 이동 로봇의 적어도 일면에 형성되고,
    상기 프로세서는, 현 시점에서 입력되었을 때 상기 정해진 규칙을 만족시키는 명령어의 입력을 위한 버튼과, 현 시점에서 입력되었을 때 상기 정해진 규칙을 만족시키지 못하는 명령어의 입력을 위한 버튼을 시각적으로 구분시키는 것인, 이동 로봇.
  15. 제9항에 있어서,
    복수의 색상을 인식하는 상기 컬러센서는 상기 이동 로봇의 주변 색상으로서 서로 다른 제1 색 및 제2 색을 감지하고,
    상기 프로세서는,
    상기 입력모듈로부터 컬러조건명령어 버튼이 1회 입력되면 상기 이동 로봇의 주변 색상이 상기 제1 색인 것을 상기 액션명령어의 실행을 위한 조건으로 하는 컬러조건명령어가 입력된 것으로 인식하고,
    상기 입력모듈로부터 상기 컬러조건명령어 버튼이 연속하여 2회 입력되면 상기 이동 로봇의 주변 색상이 상기 제2 색인 것을 상기 액션명령어의 실행을 위한 조건으로 하는 컬러조건명령어가 입력된 것으로 인식하는 것인, 이동 로봇.
  16. 제9항에 있어서,
    상기 입력모듈로부터 초기화명령어 버튼 1회, 전진명령어 버튼 2회, 우회전명령어 버튼 1회, 반복명령어 버튼 1회, 근접조건명령어 버튼 1회, 후진명령어 버튼 2회, 발광모듈명령어 버튼 1회 및 실행명령어 버튼 1회가 차례로 입력되는 경우,
    상기 프로세서는
    상기 바퀴를 이용하여 정해진 거리 또는 정해진 시간만큼 상기 이동 로봇을 두 번 전진시키고, 상기 바퀴를 이용하여 정해진 거리 또는 정해진 시간만큼 오른쪽으로 한 번 이동시키고,
    이후에 상기 근접센서를 이용하여 상기 이동 로봇으로부터 정해진 거리 내에 다른 물체가 존재하는지 여부를 판단하고,
    만약 상기 조건이 만족된 것으로 판단되면, 상기 바퀴를 이용하여 정해진 거리 또는 정해진 시간만큼 상기 이동 로봇을 두 번 후진시키고, 상기 발광모듈을 미리 정해진 시간동안 점등시키고,
    만약 상기 조건이 만족되지 않는 것으로 판단되거나 상기 조건 만족에 따른 작동을 마치면, 다시 상기 바퀴를 이용하여 정해진 거리 또는 정해진 시간만큼 상기 이동 로봇을 두 번 전진시키고 상기 바퀴를 이용하여 정해진 거리 또는 정해진 시간만큼 오른쪽으로 한 번 이동시키는 일련의 과정을 반복하는 것인, 이동 로봇.
KR1020180012623A 2018-01-24 2018-02-01 프로그래밍 가능한 입력모듈을 포함하는 이동 로봇 KR101988282B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/047,692 US20190227775A1 (en) 2018-01-24 2018-07-27 Mobile robot including programmable input module

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180008891 2018-01-24
KR1020180008891 2018-01-24

Publications (1)

Publication Number Publication Date
KR101988282B1 true KR101988282B1 (ko) 2019-06-12

Family

ID=66845879

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180012623A KR101988282B1 (ko) 2018-01-24 2018-02-01 프로그래밍 가능한 입력모듈을 포함하는 이동 로봇

Country Status (2)

Country Link
US (1) US20190227775A1 (ko)
KR (1) KR101988282B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190022520A1 (en) * 2017-07-21 2019-01-24 Unruly Studios, Inc. System of distributed interactive objects
WO2019126234A1 (en) * 2017-12-19 2019-06-27 Learning Resources, Inc. Toy robot
KR102198824B1 (ko) * 2018-11-08 2021-01-05 정희용 피지컬 소프트웨어 코딩 교육 교재 실행 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015199355A1 (ko) * 2014-06-26 2015-12-30 주식회사 헬로긱스 프로그래밍 가능한 결합형 블록장치
KR101676676B1 (ko) 2015-01-29 2016-11-18 주식회사 엑스봇 저항과 자석이 내장된 카드키 및 보드를 이용한 로봇 프로그래밍 교육용 키트 및 방법
KR20170036308A (ko) * 2015-09-24 2017-04-03 이광재 소프트웨어 교육용 로봇 및 소프트웨어 교육 로봇 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015199355A1 (ko) * 2014-06-26 2015-12-30 주식회사 헬로긱스 프로그래밍 가능한 결합형 블록장치
KR101676676B1 (ko) 2015-01-29 2016-11-18 주식회사 엑스봇 저항과 자석이 내장된 카드키 및 보드를 이용한 로봇 프로그래밍 교육용 키트 및 방법
KR20170036308A (ko) * 2015-09-24 2017-04-03 이광재 소프트웨어 교육용 로봇 및 소프트웨어 교육 로봇 시스템

Also Published As

Publication number Publication date
US20190227775A1 (en) 2019-07-25

Similar Documents

Publication Publication Date Title
KR101988282B1 (ko) 프로그래밍 가능한 입력모듈을 포함하는 이동 로봇
US9701015B2 (en) Vision-guided robots and methods of training them
KR101546927B1 (ko) 블록을 이용한 알고리즘 교육 장치
EP1335338B1 (en) A system and process for controlling electronic components in a computing environment
US8321221B2 (en) Speech communication system and method, and robot apparatus
CN111651035B (zh) 一种基于多模态交互的虚拟实验系统及方法
KR102616850B1 (ko) 전자 장치, 전자 장치와 결합 가능한 외부 디바이스 및 이의 디스플레이 방법
Michaud et al. Learning from history for behavior-based mobile robots in non-stationary conditions
WO2016035323A1 (en) Information processing device, information processing method, and program
CN113568506A (zh) 用于显示器控制和定制姿势解释的动态用户交互
WO2014203459A1 (ja) 入力装置及び動作要求を入力する方法
KR20190135394A (ko) 청소 동작을 실행하는 청소 장치 및 청소 방법
CN105739679A (zh) 转向盘控制系统
CN112383805A (zh) 一种基于人手关键点实现电视端人机交互的方法
Carrino et al. Humans and smart environments: a novel multimodal interaction approach
KR20200132654A (ko) 로봇 및 그의 제어 방법
Connell Extensible grounding of speech for robot instruction
Verdadero et al. Hand gesture recognition system as an alternative interface for remote controlled home appliances
CN105046249A (zh) 一种人机交互方法
Mi et al. Gesture recognition based teleoperation framework of robotic fish
CN108602190A (zh) 使用交互式命令控制工业机器人
CN110370280B (zh) 机器人行为的反馈控制方法、系统和计算机可读存储介质
Tang et al. CUBOD: a customized body gesture design tool for end users
Akkapusit et al. Task-oriented approach to guide visually impaired people during smart device usage
KR20150124009A (ko) 손동작을 이용한 로봇 코칭 시스템

Legal Events

Date Code Title Description
GRNT Written decision to grant