KR101988282B1 - Mobile robot comprising input module for programming - Google Patents

Mobile robot comprising input module for programming 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
Korean (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 US16/047,692 priority Critical patent/US20190227775A1/en
Application granted granted Critical
Publication of KR101988282B1 publication Critical patent/KR101988282B1/en

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, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • G05D1/0016Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots 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, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Automation & Control Theory (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Acoustics & Sound (AREA)
  • Manipulator (AREA)

Abstract

A mobile robot according to an embodiment of the present invention is a mobile robot comprising a programmable input module, comprising: a processor controlling the mobile robot; an input module which is an input module receiving a command for programming of the mobile robot from a user, wherein the command for programming includes an action command related to operation for the mobile robot, a conditional command related to a condition to execute the action command, and a control command controlling the command inputted in the mobile robot; a sensor module which is a sensor module sensing changes in the periphery of the mobile robot, wherein the processor determines whether the condition to execute the action command is satisfied based on the sensing result of a sensor module; and an operational module operated corresponding to the action command inputted from the input module when the processor executes a command sequence including the command inputted from the input module. Here, the control command includes a repetitive command. The processor repeats execution of the action command inputted from the input module before the repetitive command is inputted.

Description

프로그래밍 가능한 입력모듈을 포함하는 이동 로봇{MOBILE ROBOT COMPRISING INPUT MODULE FOR PROGRAMMING}[0001] MOBILE ROBOT COMPRISING INPUT MODULE FOR PROGRAMMING [0002]

본 발명은 프로그래밍이 가능한 입력모듈을 포함하는 이동 로봇에 관한 것으로서, 별도의 장치를 이용하지 않더라도 이동 로봇이 제공하는 입력모듈을 이용하여 프로그래밍이 가능한 이동 로봇에 관한 것이다.The present invention relates to a mobile robot including a programmable input module, and more particularly, to a mobile robot that can be programmed using an input module provided by a mobile robot without using a separate device.

4차 산업혁명 시대에 들어서면서 소프트웨어 인력 즉, 프로그래밍이 가능한 인재에 대한 수요가 늘어가고 있다. 프로그래밍 교육의 필요성이 사회 전반적으로 공감대를 얻고 있는 상황에서, 프로그래밍 교육을 통해 창조성 및 논리성을 기를 수 있다는 점이 부각되면서 프로그래밍 교육이 초등학교 교과과정으로 채택되기에 이르렀다.In the era of the fourth industrial revolution, there is a growing demand for software personnel, ie programmable human resources. As the need for programming education gained a consensus throughout the society, it became clear that programming education can lead to creativity and reasoning, so that programming education was adopted as an elementary school curriculum.

다만, 종래의 프로그래밍 교육 방법은 C/C++, 베이직, 어셈블리, 자바와 같은 일반적인 프로그래밍 언어를 통해 수행됨에 따라, 전문적 프로그래밍에 준하는 수준의 지식이 필요하였다. 그러나 이러한 방법은 청소년에 대한 준전문가 수준의 프로그래밍 교육에 적합할 뿐, 아동 특히 미취학 아동 또는 초등학교 저학년 아동에 대하여 적합한 프로그래밍 원리 교육의 수단으로서는 한계를 갖는다.However, the conventional programming training method is performed through a general programming language such as C / C ++, BASIC, assembly, and Java, and thus requires a level of knowledge equivalent to that of professional programming. However, this method is suitable for semi-specialist programming education for adolescents, and has limitations as a means of proper programming principles education for children, especially for preschoolers or children in elementary school.

이에 따라 아동에게 적합한 프로그래밍 교육 방법이나 교육 수단이 지속적으로 개발되고 있다.As a result, programming education methods and educational tools suitable for children are continuously being developed.

등록특허공보 제10-1676676호Patent Registration No. 10-1676676

한편, 프로그래밍 교육의 재미를 높이기 위해, 로봇을 이용하여 프로그래밍 교육을 수행하는 경우가 많다. 그러나 종래의 프로그래밍 교육 방법이나 교육 수단을 살펴보면 프로그래밍 장치와 로봇이 분리되어 장치가 복잡하거나 프로그래밍 장치와 로봇을 일체화시키더라도 기존의 프로그래밍 장치를 그대로 로봇에 결합한 것에 불과하여 아동이 프로그래밍을 직관적으로 이해하는 데 어려움을 겪는 경우가 많다. 따라서 아동에게 적합한 프로그래밍 교육 방법이나 교육 수단의 개발이 절실한 상황이다.On the other hand, in order to enhance the fun of programming education, there are many cases where programming training is performed using a robot. However, if we look at the conventional programming education method and educational means, it is merely that the programming device and the robot are separated and the device is complicated or the programming device and the robot are united with each other. However, There are a lot of difficulties. Therefore, it is necessary to develop programming education methods and education methods suitable for children.

본 발명이 해결하고자 하는 과제는 별도의 장치를 이용하지 않더라도 이동 로봇이 제공하는 입력모듈을 이용하여 프로그래밍이 가능한 이동 로봇을 제공하는 것이다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a mobile robot that can be programmed using an input module provided by a mobile robot without using a separate apparatus.

본 발명이 해결하고자 하는 다른 과제는 입력모듈을 이용하여 프로그래밍을 수행하는 과정에서 직관적으로 프로그래밍을 위한 명령어와 프로그래밍 규칙을 이해할 수 있는 이동 로봇을 제공하는 것이다.Another object of the present invention is to provide a mobile robot that can intuitively understand commands and programming rules for programming in the course of performing programming using an input module.

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

상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 프로그래밍이 가능한 입력모듈을 포함하는 이동 로봇으로서, 상기 이동 로봇을 제어하는 프로세서; 사용자로부터 상기 이동 로봇의 프로그래밍을 위한 명령어를 입력 받는 입력모듈로서, 프로그래밍을 위한 명령어는 상기 이동 로봇의 작동과 관련된 액션명령어, 상기 액션명령어를 실행하기 위한 조건과 관련된 조건명령어 및 상기 이동 로봇에 입력된 명령어를 제어하는 제어명령어를 포함하는 것인, 입력모듈; 상기 이동 로봇의 주변 변화를 감지하는 센서모듈로서, 상기 프로세서는 상기 센서모듈의 감지 결과에 기초하여 상기 액션명령어를 실행하기 위한 조건의 만족여부를 판단하는 것인, 센서모듈; 및 상기 프로세서가 상기 입력모듈로부터 입력된 명령어를 포함하는 명령어 시퀀스를 실행하는 경우, 상기 입력모듈로부터 입력된 상기 액션명령어에 따라 작동하는 작동모듈을 포함하고, 상기 제어명령어는 반복명령어를 포함하고, 상기 프로세서는 상기 반복명령어가 입력되기 전 상기 입력모듈로부터 입력된 상기 액션명령어의 실시를 반복한다.According to another aspect of the present invention, there is provided a mobile robot including a programmable input module, the mobile robot including: a processor for controlling the mobile robot; An input module for inputting a command for programming the mobile robot from a user, the command for programming includes an action command related to the operation of the mobile robot, a conditional command related to a condition for executing the action command, An input module that includes a control instruction to control the instruction; A sensor module for detecting a change in the environment of the mobile robot, wherein the processor determines whether a condition for executing the action command is satisfied based on a detection result of the sensor module; And an actuation module operative in response to the action command input from the input module when the processor executes a sequence of commands comprising an instruction entered from the input module, the control command comprising an iteration instruction, The processor repeats the execution of the action command input from the input module before the repeat command is input.

본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the invention are included in the detailed description and drawings.

본 발명에 따르면, 복잡한 프로그래밍 툴을 이용하지 않더라도 본 발명의 이동 로봇에서 제공하는 입력모듈을 통해 누구나 손쉽게 직관적으로 프로그래밍을 할 수 있다.According to the present invention, even if a complicated programming tool is not used, anyone can easily and intuitively program through the input module provided by the mobile robot of the present invention.

또한, 본 발명에 따르면, 프로그래밍 장치와 이동 로봇이 일체화되어 있기 때문에, 프로그래밍 학습을 위해 별도의 컴퓨터를 갖추지 않더라도 프로그래밍 교육이 가능할 수 있다.Further, according to the present invention, since the programming device and the mobile robot are integrated, it is possible to perform programming training even if a separate computer is not provided for programming learning.

또한, 본 발명에 따르면, 이동 로봇에 포함된 센서모듈을 이용하여 조건명령어에 따른 조건의 만족여부 판단이 가능하기 때문에, 조건명령어에 대한 교육이 가능하다.In addition, according to the present invention, it is possible to determine whether a condition according to a conditional command is satisfied by using a sensor module included in the mobile robot, so that it is possible to train conditional commands.

또한, 본 발명에 따르면, 사용자들로부터 복잡하고 흥미를 가지기 어려운 프로그래밍에 대한 흥미를 유발할 수 있다.Further, according to the present invention, interest in programming that is complicated and uninteresting from users can be caused.

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

도 1은 본 발명의 일 실시예에 따른 이동 로봇의 구성을 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 이동 로봇의 사시도이다.
도 3은 본 발명의 일 실시예에 따른 이동 로봇의 입력모듈의 개략도이다.
도 4는 도 1의 센서모듈의 구성을 도시한 블록도이다.
도 5는 본 발명의 다른 실시예에 따른 이동 로봇의 구성을 도시한 블록도이다.
도 6은 도 5의 이동 로봇의 작동을 설명하기 위한 이동 로봇의 입력모듈의 개략도이다.
도 7은 본 발명의 이동 로봇에 입력된 명령어 시퀀스가 실행되는 실시예를 도시한 개념도이다.
1 is a block diagram showing the configuration of a mobile robot according to an embodiment of the present invention.
2 is a perspective view of a mobile robot according to an embodiment of the present invention.
3 is a schematic view of an input module of a mobile robot according to an embodiment of the present invention.
4 is a block diagram showing the configuration of the sensor module of Fig.
5 is a block diagram showing the configuration of a mobile robot according to another embodiment of the present invention.
FIG. 6 is a schematic view of an input module of a mobile robot for explaining the operation of the mobile robot of FIG. 5;
7 is a conceptual diagram showing an embodiment in which a command sequence inputted to the mobile robot of the present invention is executed.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention and the manner of achieving them will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. It should be understood, however, that the invention is not limited to the disclosed embodiments, but may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein, Is provided to fully convey the scope of the present invention to a technician, and the present invention is only defined by the scope of the claims.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terminology used herein is for the purpose of illustrating embodiments and is not intended to be limiting of the present invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. The terms " comprises "and / or" comprising "used in the specification do not exclude the presence or addition of one or more other elements in addition to the stated element. Like reference numerals refer to like elements throughout the specification and "and / or" include each and every combination of one or more of the elements mentioned. Although "first "," second "and the like are used to describe various components, it is needless to say that these components are not limited by these terms. These terms are used only to distinguish one component from another. Therefore, it goes without saying that the first component mentioned below may be the second component within the technical scope of the present invention.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless defined otherwise, all terms (including technical and scientific terms) used herein may be used in a sense that is commonly understood by one of ordinary skill in the art to which this invention belongs. In addition, commonly used predefined terms are not ideally or excessively interpreted unless explicitly defined otherwise.

공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작 시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.The terms spatially relative, "below", "beneath", "lower", "above", "upper" And can be used to easily describe a correlation between an element and other elements. Spatially relative terms should be understood in terms of the directions shown in the drawings, including the different directions of components at the time of use or operation. For example, when inverting an element shown in the figures, an element described as "below" or "beneath" of another element may be placed "above" another element . Thus, the exemplary term "below" can include both downward and upward directions. The components can also be oriented in different directions, so that spatially relative terms can be interpreted according to orientation.

이하, 첨부된 도면을 참조하여 본 발명의 실시예에 따른 프로그래밍이 가능한 입력모듈을 포함하는 이동 로봇을 설명한다. Hereinafter, a mobile robot including a programmable input module according to an embodiment of the present invention will be described with reference to the accompanying drawings.

본 발명의 일 실시예에 따른 이동 로봇(100)은 프로그래밍이 가능한 입력모듈(130)을 포함하고 있으며, 사용자가 입력모듈(130)을 통해 명령어를 입력하여 프로그래밍을 하면, 프로세서(110)가 입력모듈(130)로부터 입력된 명령어를 포함하는 명령어 시퀀스를 실행함으로써 이동 로봇(100)을 작동시킬 수 있다.The mobile robot 100 according to an embodiment of the present invention includes a programmable input module 130. When the user inputs a command through the input module 130 and performs programming, The mobile robot 100 can be operated by executing a command sequence including the command inputted from the module 130. [

이하 도 1 내지 도 4를 참조하여 본 발명의 일 실시예에 따른 이동 로봇(100)을 설명한다. 도 1은 본 발명의 일 실시예에 따른 이동 로봇의 구성을 도시한 블록도이고, 도 2는 본 발명의 일 실시예에 따른 이동 로봇의 사시도이고, 도 3은 본 발명의 일 실시예에 따른 이동 로봇의 입력모듈의 개략도이고, 도 4는 도 1의 센서모듈의 구성을 도시한 블록도이다.1 to 4, a mobile robot 100 according to an embodiment of the present invention will be described below. FIG. 1 is a block diagram illustrating a configuration of a mobile robot according to an embodiment of the present invention. FIG. 2 is a perspective view of a mobile robot according to an embodiment of the present invention. Fig. 4 is a block diagram showing the configuration of the sensor module of Fig. 1. Fig.

도 1을 참조하면, 본 발명의 일 실시예에 따른 이동 로봇(100)은 프로세서(110). 메모리(120), 입력모듈(130), 센서모듈(140) 및 작동모듈(150)을 포함한다. 다만, 몇몇 실시예에서 이동 로봇(100)은 도 1에 도시된 구성보다 상대적으로 많은 구성요소를 포함하거나 상대적으로 적은 구성요소를 포함할 수도 있다.Referring to FIG. 1, a mobile robot 100 according to an embodiment of the present invention includes a processor 110. A memory 120, an input module 130, a sensor module 140, and an operation module 150. However, in some embodiments, the mobile robot 100 may include relatively fewer components or relatively fewer components than the configuration shown in Fig.

프로세서(110)는 이동 로봇(100)을 제어할 수 있으며, 예컨대 메모리(120), 입력모듈(130), 센서모듈(140) 및 작동모듈(150)의 작동을 제어할 수 있다. 구체적으로, 프로세서(110)는 입력모듈(130)로부터 입력된 명령어를 포함하는 명령어 시퀀스를 실행하거나 입력모듈(130)로부터 입력된 명령어를 실행할 수 있으며, 메모리(120)에 저장된 프로그래밍을 위한 명령어(program command)를 실행할 수도 있다. 여기서, 프로세서(110)는 중앙 처리 장치(central processing unit, CPU)이거나 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다.The processor 110 may control the mobile robot 100 and may control the operation of the memory 120, the input module 130, the sensor module 140 and the operation module 150, for example. In particular, processor 110 may execute a sequence of instructions including instructions entered from input module 130 or may execute instructions entered from input module 130 and may include instructions for programming stored in memory 120 program command). Here, the processor 110 may be a central processing unit (CPU) or a dedicated processor on which methods according to embodiments of the present invention are performed.

메모리(120)는 이동 로봇(100)의 작동을 위해 필요한 정보를 저장할 수 있으며, 프로그래밍 명령어를 저장할 수 있다. 또한, 이동 로봇(100)은 입력모듈(130)로부터 입력된 명령어를 포함하는 명령어 시퀀스의 실행에 따라 제어되는 제1 모드 또는 미리 정해진 명령어 시퀀스의 실행에 따라 이동 로봇(100)이 제어되는 제2 모드로 작동할 수 있는데, 이동 로봇(100)이 제2 모드에서 작동하는 경우에 필요한 미리 정해진 명령어 시퀀스가 메모리(120)에 저장될 수도 있다.The memory 120 may store information necessary for the operation of the mobile robot 100, and may store programming instructions. In addition, the mobile robot 100 may include a first mode, which is controlled in accordance with the execution of a command sequence including a command input from the input module 130, or a second mode in which the mobile robot 100 is controlled according to execution of a predetermined command sequence. Mode, and a predetermined sequence of commands required when the mobile robot 100 operates in the second mode may be stored in the memory 120. [

한편, 메모리(120)의 종류에는 제한이 없으며, 예컨대 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다.The type of the memory 120 is not limited. For example, the memory 120 may include at least one of a volatile storage medium and a nonvolatile storage medium.

입력모듈(130)은 사용자로부터 이동 로봇(100)의 프로그래밍을 위한 명령어를 입력 받을 때 이용될 수 있다. 여기서, 프로그래밍을 위한 명령어는 이동 로봇(100)의 작동과 관련된 액션명령어, 액션명령어를 실행하기 위한 조건과 관련된 조건명령어 및 이동 로봇에 입력된 명령어를 제어하는 제어명령어를 포함할 수 있으며, 액션명령어, 조건명령어 및 제어명령어에 대해서는 구체적으로 후술한다.The input module 130 may be used when receiving a command for programming the mobile robot 100 from a user. Here, the instruction for programming may include an action command related to the operation of the mobile robot 100, a conditional command related to a condition for executing the action command, and a control command for controlling the command input to the mobile robot, , Conditional commands and control commands will be described later in detail.

몇몇 실시예에서 입력모듈(130)은 액션명령어, 조건명령어 및 제어명령어의 입력을 위한 복수의 버튼을 포함할 수 있고, 도 2를 참조하면 복수의 버튼은 이동 로봇(100)의 적어도 일면에 형성될 수 있다. 즉, 본 실시예에 따른 이동 로봇(100)에 따르면, 프로그래밍을 위한 입력모듈(130)이 이동 로봇(100) 상에 형성되어 있기 때문에, 프로그래밍 학습을 위해 별도의 컴퓨터를 갖추지 않더라도 프로그래밍 교육이 가능할 수 있다.In some embodiments, the input module 130 may include a plurality of buttons for input of action commands, conditional commands, and control commands. Referring to FIG. 2, a plurality of buttons may be formed on at least one surface of the mobile robot 100 . That is, according to the mobile robot 100 according to the present embodiment, since the input module 130 for programming is formed on the mobile robot 100, programming training is possible even if a separate computer is not provided for programming learning .

여기서, 입력모듈(130)의 일 실시예로서 버튼은 사용자와의 접촉을 통해 입력을 받을 수 있도록 구성될 수 있으며, 예컨대 사용자의 클릭(click) 또는 푸쉬(push)와 같은 물리적인 입력을 받도록 구성된 물리적 버튼이거나, 사용자의 터치(touch) 등과 같은 전기적인 입력을 받도록 구성된 터치식 버튼일 수도 있지만, 이에 제한되지 않는다. 본 실시예에 따르면, 사용자는 액션명령어, 조건명령어 및 제어명령어의 입력을 위한 복수의 버튼 중 자신이 프로그래밍할 때 필요한 명령어의 입력을 위한 버튼을 누름으로써 프로그래밍을 할 수 있다.Herein, as one embodiment of the input module 130, the button may be configured to receive input through contact with a user and may be configured to receive a physical input, such as a user's click or push, A physical button, or a touch-type button configured to receive an electrical input such as a user's touch, but the present invention is not limited thereto. According to the present embodiment, the user can perform programming by pushing a button for inputting an action command, a conditional command, and a command for inputting a command necessary for programming among ones of the plurality of buttons for inputting the control command.

몇몇 실시예에서 입력모듈(130)은 근접센서(미도시) 또는 카메라(미도시)를 포함하여 사용자의 제스처(gesture) 또는 눈을 포함한 신체의 움직임 등을 인식할 수 있도록 구성될 수 있고, 프로세서(110)는 입력모듈(130)에 의해 인식된 제스처 또는 신체의 움직임에 대응되는 명령어를 파악하여 프로그래밍을 위한 해당 명령어가 입력된 것으로 판단할 수 있다. 본 실시예에 따르면, 사용자는 액션명령어, 조건명령어 및 제어명령어 중 입력을 희망하는 명령어에 대응되는 제스처 또는 신체의 움직임을 취함으로써 프로그래밍을 할 수 있다.In some embodiments, the input module 130 may be configured to recognize a user's gesture or body movement, including eyes, including a proximity sensor (not shown) or a camera (not shown) The controller 110 can recognize a command corresponding to the gesture or body movement recognized by the input module 130 and determine that the corresponding command for programming is input. According to the present embodiment, a user can perform programming by taking a gesture or body movement corresponding to an instruction of an action command, a conditional command, and a control command.

몇몇 실시예에서 입력모듈(130)은 스피커(미도시)를 포함하여 사용자의 목소리를 포함하여 입력되는 소리를 인식할 수 있도록 구성될 수 있고, 프로세서(110)는 인식된 소리의 특성에 대응되는 명령어가 입력모듈(130)로 입력된 것으로 판단할 수 있다. 만약 프로세서(110)가 인공지능 음성엔진을 탑재하여 음성 인식이 가능하다면, 프로세서(110)는 사용자의 말(음성)에 대응되는 명령어를 인식할 수 있다. 본 실시예에 따르면, 사용자는 액션명령어, 조건명령어 및 제어명령어 중 입력을 희망하는 명령어에 대응되는 소리(또는 음성)을 발생시킴으로써 프로그래밍을 할 수 있다.In some embodiments, the input module 130 may be configured to include a speaker (not shown) to recognize the incoming sound, including the user's voice, and the processor 110 may be configured to recognize It can be determined that the command is input to the input module 130. If the processor 110 is equipped with an artificial intelligence speech engine to enable speech recognition, the processor 110 may recognize a command corresponding to the user's speech (speech). According to the present embodiment, the user can perform programming by generating a sound (or sound) corresponding to an instruction of an action command, a conditional command, and a control command.

이하, 입력모듈(130)을 통해 입력될 수 있는 명령어를 설명한다.Hereinafter, the commands that can be input through the input module 130 will be described.

우선, 액션명령어는 이동 로봇(100)의 작동과 관련된 명령어로서, 입력된 액션명령어에 따라 후술하는 작동모듈(150)이 작동할 수 있다.First, the action command is related to the operation of the mobile robot 100, and the operation module 150 described below may operate according to the inputted action command.

액션명령어는, 이동 로봇(100)을 정해진 거리만큼 앞으로 이동시키거나 정해진 시간동안 앞으로 이동시키기 위한 전진명령어, 이동 로봇(100)을 정해진 거리만큼 뒤로 이동시키거나 정해진 시간동안 뒤로 이동시키기 위한 후진명령어, 이동 로봇(100)을 정해진 거리만큼 왼쪽으로 이동시키거나 정해진 시간동안 왼쪽으로 이동시키기 위한 좌회전명령어, 이동 로봇(100)을 정해진 거리만큼 오른쪽으로 이동시키거나 정해진 시간동안 오른쪽으로 이동시키기 위한 우회전명령어 및 이동 로봇(100)이 정해진 시간동안 이동하지 않고 제자리를 유지하도록 하는 대기명령어 중 적어도 하나를 포함할 수 있다. 다만, 액션명령어는 이에 제한되지 않고 이동 로봇(100)의 작동과 관련된다면 추가될 수 있으며, 작동모듈(150)의 기능이 늘어나면 액션명령어의 개수도 늘어날 수 있다. The action command includes an advancing command for moving the mobile robot 100 forward by a predetermined distance or moving forward for a predetermined time, a backward command for moving the mobile robot 100 backward by a predetermined distance, A left turn command for moving the mobile robot 100 to the left by a predetermined distance or left for a predetermined time, a right turn command for moving the mobile robot 100 to the right by a predetermined distance or moving it to the right for a predetermined time, And at least one of standby commands for allowing the mobile robot 100 to stay in place without moving for a predetermined period of time. However, the action command is not limited thereto, but may be added if it relates to the operation of the mobile robot 100, and the number of action commands may be increased as the function of the action module 150 is increased.

예컨대, 이동 로봇(100)이 바닥 격자 상에서 이동하는 경우, 전진명령어, 후진명령어, 좌회전명령어 및 우회전명령어가 프로세서(110)에 의해 실행되면 이동 로봇(100)은 바닥 격자 위에서 앞, 뒤, 좌, 우로 한 칸씩 움직일 수도 있다. For example, when the mobile robot 100 moves on the floor lattice, if the forward command, the reverse command, the left turn command, and the right turn command are executed by the processor 110, the mobile robot 100 moves forward, You can move by one space.

다만, 몇몇 실시예에서 전진명령어, 후진명령어, 좌회전명령어 및 우회전명령어에서 이동을 위한 정해진 시간 또는 정해진 거리가 고정되어 있지 않고, 정해진 시간 또는 정해진 거리가 입력모듈(130)을 통해 프로그래밍 되어 결정되도록 할 수도 있다. 마찬가지로 대기명령어를 통해 이동 로봇(100)이 이동하지 않고 제자리를 유지하는 정해진 시간 역시 입력모듈(130)을 통해 프로그래밍 되어 결정되도록 할 수 있다.However, in some embodiments, the predetermined time or predetermined distance for movement in the forward command, reverse command, left turn command, and right turn command is not fixed and a predetermined time or predetermined distance may be programmed through the input module 130 to determine It is possible. Likewise, the fixed time for the mobile robot 100 to remain in place without moving through the standby command can also be programmed through the input module 130 to be determined.

몇몇 실시예에서 액션명령어는 발광모듈(152)을 켜고 끄거나 발광모듈(152)의 색을 변경하거나 발광모듈(152)을 점멸 또는 디밍(dimming)시켜 깜빡거리도록 하는 발광모듈명령어를 더 포함할 수도 있다.In some embodiments, the action command further comprises a light emitting module command to turn on / off the light emitting module 152, change the color of the light emitting module 152, or blink or dim the light emitting module 152 It is possible.

몇몇 실시예에서 좌회전명령어는 이동 로봇(100)을 정해진 각도만큼 왼쪽으로 회전시키거나 정해진 시간만큼 왼쪽으로 회전시키기 위한 명령어일 수 있으며, 우회전명령어는 이동 로봇(100)을 정해진 각도만큼 오른쪽으로 회전시키거나 정해진 시간만큼 오른쪽으로 회전시키기 위한 명령어일 수도 있다. 여기서, 좌회전명령어 및 우회전명령어에서 회전을 위해 정해진 시간 또는 정해진 각도가 고정되어 있지 않고, 정해진 시간 또는 정해진 각도가 입력모듈(130)을 통해 프로그래밍 되어 결정되도록 할 수도 있다. In some embodiments, the left turn command may be a command to rotate the mobile robot 100 to the left by a predetermined angle or to the left by a predetermined time, and the right turn command may rotate the mobile robot 100 to the right by a predetermined angle Or may be a command for rotating it to the right by a predetermined time. Here, the predetermined time or predetermined angle for rotation in the left turn instruction and the right turn instruction may not be fixed, and a predetermined time or predetermined angle may be programmed through the input module 130 to be determined.

한편, 입력모듈(130)이 복수의 버튼으로 구성되는 경우, 복수의 버튼은 전진명령어, 후진명령어, 좌회전명령어, 우회전명령어 및 대기명령어 중 적어도 하나의 액션명령어의 입력을 위한 버튼을 포함할 수 있다. 도 3을 참조하면, 입력모듈(130)은 전진명령어 버튼(131_1), 후진명령어 버튼(131_2), 좌회전명령어 버튼(131_3), 우회전명령어 버튼(131_4) 및 대기명령어 버튼(131_5)를 포함할 수 있고, 각각의 버튼 상에는 버튼의 속성을 직관적으로 이해할 수 있는 그림이 그려질 수 있다.Meanwhile, when the input module 130 is composed of a plurality of buttons, the plurality of buttons may include a button for inputting at least one action command of a forward command, a backward command, a leftward command, a right command, and a standby command . 3, the input module 130 may include an advance command button 131_1, a reverse command button 131_2, a left turn command button 131_3, a right turn command button 131_4 and a standby command button 131_5. On each button, a picture that can intuitively understand the attributes of the button can be drawn.

본 발명의 일 실시예에 따른 이동 로봇(100)에서 정해진 규칙에 따르면, 복수의 액션명령어가 순차적으로 입력될 수 있으며, 복수의 액션명령어가 포함된 명령어 시퀀스가 프로세서(110)에 의해 실행되면 복수의 액션명령어가 순차적으로 실행될 수 있다. 이 밖에, 액션명령어는 조건명령어가 입력된 후에 입력되거나 제어명령어 중 반복명령어가 입력되기 전 입력될 수 있다. 다만, 이동 로봇(100)이 재부팅된 후 또는 초기화명령어가 입력된 후에는 액션명령어의 입력이 가능하며, 조건명령어나 반복명령어가 입력되지 않더라도 단독으로 입력될 수도 있다.According to the rule set by the mobile robot 100 according to an embodiment of the present invention, a plurality of action commands may be sequentially input, and when a sequence of commands including a plurality of action commands is executed by the processor 110, Lt; / RTI > can be executed sequentially. In addition, the action command may be input after the conditional command is input or before the repetitive command is input in the control command. However, after the mobile robot 100 is rebooted or after the initialization command is input, an action command can be input, and even if the condition command or the repeat command is not input, the action command can be input alone.

이어서, 조건명령어는 액션명령어를 실행하기 위한 조건과 관련된 명령어이고, 조건의 만족여부는 센서모듈(140)의 감지 결과에 기초하여 결정될 수 있다. 즉, 전술한 바와 같이, 조건명령어가 입력된 후에 액션명령어가 입력될 수 있는데, 조건명령어가 입력된 후에 입력된 액션명령어는 센서모듈(140)의 감지 결과에 기초하여 조건명령어에 따른 조건이 만족된 경우 프로세서(110)에 의해 실행될 수 있다.Then, the conditional command is an instruction related to the condition for executing the action command, and the satisfaction of the condition can be determined based on the detection result of the sensor module 140. [ That is, as described above, an action command may be inputted after the conditional command is input. The action command inputted after the conditional command is input is determined based on the detection result of the sensor module 140, And may be executed by the processor 110 if it is.

조건명령어는, 다른 물체가 이동 로봇(100)으로부터 정해진 거리 내에 위치하는 것을 액션명령어의 실행을 위한 조건으로 하는 근접조건명령어, 이동 로봇(100)의 주변 밝기의 변화가 정해진 변화의 정도 이상인 것을 액션명령어의 실행을 위한 조건으로 하는 조도조건명령어, 이동 로봇(100)의 주변 색상이 정해진 색상인 것을 액션명령어의 실행을 위한 조건으로 하는 컬러조건명령어 및 이동 로봇(100)의 주변 소리의 크기 변화가 정해진 변화의 정도 이상인 것을 액션명령어의 실행을 위한 조건으로 하는 소리조건명령어 중 적어도 하나를 포함할 수 있다. 다만, 조건명령어는 이에 제한되지 않고 이동 로봇(100)에서 감지 가능한 정보가 있다면 추가될 수 있으며, 센서모듈(140)의 기능이 늘어나면 조건명령어의 개수도 늘어날 수 있다. The conditional command is a proximity condition command that specifies that another object is located within a predetermined distance from the mobile robot 100. The proximity condition command indicates that the change in ambient brightness of the mobile robot 100 is equal to or greater than a predetermined degree of change, A color condition command that sets the surrounding color of the mobile robot 100 to be a predetermined color as a condition for execution of the action command and a change in the size of the surround sound of the mobile robot 100 And a sound condition command having a condition for execution of an action command that is equal to or greater than a predetermined degree of change. However, the conditional command is not limited to this, and may be added if there is information detectable by the mobile robot 100. If the function of the sensor module 140 is increased, the number of conditional commands may also increase.

예컨대, 사용자는 근접조건명령어를 통해 이동 로봇(100)으로부터 정해진 거리 내에 장애물이 감지되는 경우 액션명령어가 프로세서(110)에 의해 실행되도록 할 수 있고, 조도조건명령어를 통해 현재 밝기보다 일정 이상 밝아지거나 일정 이상 어두워지는 경우 액션명령어가 프로세서(110)에 의해 실행되도록 할 수 있고, 컬러조건명령어를 통해 빨강, 주황, 노랑, 초록, 파랑, 보라, 검정 등의 색 중 정해진 색이 감지되는 경우 액션명령어가 프로세서(110)에 의해 실행되도록 할 수 있고, 소리조건명령어를 통해 입력되는 소리의 크기가 변화하는 경우 액션명령어가 프로세서(110)에 의해 실행되도록 할 수 있다.For example, when an obstacle is detected within a predetermined distance from the mobile robot 100 through the proximity condition command, the user can cause the action instruction to be executed by the processor 110, The action instruction may be executed by the processor 110. When a predetermined color of red, orange, yellow, green, blue, violet, black, or the like is detected through the color condition command, May be executed by the processor 110 and an action instruction may be executed by the processor 110 when the magnitude of the sound input through the sound condition command changes.

한편, 입력모듈(130)이 복수의 버튼으로 구성되는 경우, 복수의 버튼은 근접조건명령어, 조도조건명령어, 컬러조건명령어 및 소리조건명령어 중 적어도 하나의 조건명령어의 입력을 위한 버튼을 포함할 수 있다. 도 3을 참조하면, 입력모듈(130)은 근접조건명령어 버튼(132_1), 조도조건명령어 버튼(132_2), 컬러조건명령어 버튼(132_3) 및 소리조건명령어 버튼(미도시)를 포함할 수 있고, 각각의 버튼 상에는 버튼의 속성을 직관적으로 이해할 수 있는 그림이 그려질 수 있다.On the other hand, when the input module 130 is composed of a plurality of buttons, the plurality of buttons may include a button for inputting at least one conditional instruction of the proximity condition instruction, the illumination condition instruction, the color condition instruction and the sound condition instruction have. 3, the input module 130 may include a proximity condition command button 132_1, an illumination condition command button 132_2, a color condition command button 132_3, and a sound condition command button (not shown) On each button, you can draw a picture that intuitively understands the properties of the button.

몇몇 실시예에서 컬러조건명령어 버튼(132_3)은 복수의 버튼을 포함할 수 있으며, 컬러조건명령어 버튼(132_3)의 개수는 컬러센서(143)가 인식할 수 있는 색상의 개수와 같을 수 있다. 예컨대, 컬러센서(143)가 빨강과 파랑을 인식할 수 있는 경우, 컬러조건명령어 버튼(132_3)은 각각 빨강 또는 파랑이 감지되는 경우 액션명령어가 프로세서(110)에 의해 실행되도록 하는 빨강 컬러조건명령어 버튼과 파랑 컬러조건명령어 버튼을 포함할 수 있다.In some embodiments, the color condition command button 132_3 may include a plurality of buttons, and the number of color condition command buttons 132_3 may be equal to the number of colors that the color sensor 143 can recognize. For example, if the color sensor 143 is capable of recognizing red and blue, the color condition command button 132_3 is a red color condition command that causes the action command to be executed by the processor 110 when red or blue is detected, Button and a blue color condition command button.

또한, 몇몇 실시예에서 컬러조건명령어 버튼(132_3)을 연속하여 누름으로써 특정 색상에 대한 컬러조건명령어를 입력할 수 있다. 예컨대, 무지개 색상 순으로 컬러조건명령어 버튼(132_3)이 한번 눌리면 프로세서(110)는 빨강에 대한 컬러조건명령어가 입력된 것으로 인식할 수 있고, 컬러조건명령어 버튼(132_3)이 두 번 눌리면 프로세서(110)는 주황에 대한 컬러조건명령어가 입력된 것으로 인식할 수도 있다. 몇몇 실시예에서 이동 로봇(100)은 입력된 컬러조건명령어가 어떤 색에 대한 명령어인지와 관련하여 음성으로 안내를 하거나 해당 색을 표시하거나 발광시킴으로써 사용자에게 프로그래밍을 위한 편의를 제공할 수도 있다.Further, in some embodiments, the color condition command for a specific color can be input by successively pressing the color condition command button 132_3. For example, when the color condition command button 132_3 is pressed once in rainbow color order, the processor 110 can recognize that the color condition command for red is inputted, and when the color condition command button 132_3 is pressed twice, ) May recognize that the color condition command for the orange is input. In some embodiments, the mobile robot 100 may provide the user with programming convenience by guiding the voice, displaying the corresponding color, or emitting light in association with which color condition command is an instruction for a certain color.

마지막으로, 제어명령어는 이동 로봇(100)에 입력된 명령어를 제어하는 명령어이다. 제어명령어는, 반복명령어, 초기화명령어 및 실행명령어 중 적어도 하나를 포함할 수 있다.Finally, the control command is a command for controlling the command inputted to the mobile robot 100. The control command may include at least one of a repeat command, an initialization command, and an execution command.

반복명령어의 기능을 설명한다. 프로세서(110)가 반복명령어가 포함된 명령어 시퀀스를 실행하는 경우, 프로세서(110)는 반복명령어가 입력되기 전 입력모듈(130)로부터 입력된 액션명령어를 반복하여 실행할 수 있다.Explains the function of the repeat command. When the processor 110 executes a sequence of instructions including an iteration instruction, the processor 110 may repeatedly execute the action instruction input from the input module 130 before the iteration instruction is input.

몇몇 실시예에서, 프로세서(130)가 반복명령어를 포함하는 명령어 시퀀스를 실행하는 경우, 반복명령어가 입력되기 전 입력모듈(130)로부터 복수의 액션명령어가 입력되었다면, 프로세서(130)는 반복명령어가 입력되기 전 입력모듈(130)로부터 입력된 복수의 액션명령어를 입력 순서에 따라 순차적으로 실시하고 순차적인 실시를 반복할 수 있다.In some embodiments, if the processor 130 executes a sequence of instructions including repeat instructions, if multiple action instructions are input from the input module 130 before repeat instructions are entered, A plurality of action commands inputted from the input module 130 before being inputted can be sequentially executed in accordance with the input order and the sequential execution can be repeated.

몇몇 실시예에서, 프로세서(110)가 반복명령어가 입력된 후 조건명령어가 입력된 명령어 시퀀스를 실행하는 경우, 프로세서(110)는 반복명령어가 입력되기 전 입력모듈(130)로부터 입력된 액션명령어를 반복하여 실시를 하는 도중에 센서모듈(140)의 감지 결과에 기초하여 입력모듈(130)로부터 입력된 조건명령어의 조건이 만족된 것으로 판단하면, 조건명령어가 입력된 후 입력모듈(130)로부터 입력된 액션명령어를 실행한다. 즉, 조건명령어의 조건이 만족된 경우 조건명령어 이후에 입력된 액션명령어가 반복명령어 이전에 입력된 액션명령어보다 우선순위를 가지고 프로세서(110)에 의해 실행될 수 있다.In some embodiments, when the processor 110 executes a sequence of instructions in which the conditional instruction is entered after the iteration instruction is entered, the processor 110 generates an action instruction from the input module 130 before the iteration instruction is input If it is determined that the condition of the conditional command input from the input module 130 is satisfied based on the detection result of the sensor module 140 during the repeated execution, Execute the action command. That is, when the condition of the conditional instruction is satisfied, the action command inputted after the conditional instruction can be executed by the processor 110 with priority over the action command inputted before the repeat command.

다만, 프로세서(110)는, 조건명령어가 입력된 후 입력모듈(130)로부터 입력된 액션명령어를 실행한 후, 반복명령어가 입력되기 이전에 입력모듈(130)로부터 입력된 액션명령어를 반복하여 실행할 수 있다. 즉, 조건명령어 이후에 입력된 액션명령어가 프로세서(110)에 의해 1회 실행된 후, 반복명령어 이전에 입력된 액션명령어가 프로세서(110)에 의해 실행될 수 있다.However, the processor 110 executes the action command input from the input module 130 after the conditional command is input, and repeatedly executes the action command input from the input module 130 before the repeat command is input . That is, after the action instruction input after the conditional instruction is executed once by the processor 110, the action instruction inputted before the repeat instruction can be executed by the processor 110. [

초기화명령어의 기능을 설명한다. 입력모듈(130)로부터 초기화명령어가 입력되면, 프로세서(110)는 초기화명령어가 입력되기 전 입력모듈(130)로부터 입력된 명령어를 모두 삭제하여 명령어 시퀀스를 초기화할 수 있다. 따라서 사용자는 새로운 명령어 시퀀스를 작성하기 위해 입력모듈(130)을 통해 초기화명령어를 입력함으로써 기존에 입력된 명령어 시퀀스를 삭제할 수 있다.The function of the initialization command will be described. When the initialization instruction is input from the input module 130, the processor 110 may initialize the instruction sequence by deleting all of the instructions input from the input module 130 before the initialization instruction is input. Accordingly, the user can delete the previously inputted command sequence by inputting the initialization command through the input module 130 to create a new command sequence.

실행명령어의 기능을 설명한다. 입력모듈(130)로부터 실행명령어가 입력되면, 프로세서(130)는 명령어 시퀀스를 실행하거나 명령어 시퀀스의 실행을 일시정지할 수 있다. 구체적으로, 입력모듈(130)로부터 실행명령어가 입력되면, 프로세서(110)는 명령어 시퀀스를 실행한다. 프로세서(110)에 의해 명령어 시퀀스가 실행되는 도중에 입력모듈(130)로부터 실행명령어(130)가 입력되면, 프로세서(110)는 명령어 시퀀스의 실행을 일시정지할 수 있다. 그리고 프로세서(110)에 의해 명령어 시퀀스의 실행이 일시정시된 상태에서 입력모듈(130)로부터 실행명령어가 입력되면, 프로세서(110)는 명령어 시퀀스의 실행을 다시 수행할 수 있다.Explains the function of the execution command. When an execution instruction is input from the input module 130, the processor 130 may execute the instruction sequence or suspend the execution of the instruction sequence. Specifically, when an execution command is input from the input module 130, the processor 110 executes a command sequence. If the execution command 130 is input from the input module 130 while the sequence of instructions is being executed by the processor 110, the processor 110 may pause the execution of the sequence of instructions. When an execution command is input from the input module 130 while the execution of the command sequence is temporarily paused by the processor 110, the processor 110 can perform the execution of the command sequence again.

한편, 본 발명의 일 실시예에 따른 이동 로봇(100)에서 명령어 시퀀스는 입력모듈(130)로부터 초기화명령어가 입력된 후 실행명령어가 입력되기 전에 입력된 적어도 하나의 명령어를 포함하는 것으로 정의될 수 있다. 다만, 이동 로봇(100)이 전원의 온오프 및 기타 이유에 의해 초기화 상태 또는 재부팅된 상태가 되는 경우, 명령어 시퀀스는 이동 로봇(100)이 초기화 상태 또는 재부팅된 상태 이후 실행명령어가 입력되기 전에 입력모듈(130)로부터 입력된 적어도 하나의 명령어를 포함하는 것으로 정의될 수도 있다. Meanwhile, in the mobile robot 100 according to the embodiment of the present invention, the sequence of commands may be defined to include at least one command entered before the execution command is input after the initialization command is input from the input module 130 have. However, if the mobile robot 100 is in the initialized state or rebooted state due to power on or other reasons, the command sequence may be input before the execution command is input after the mobile robot 100 is in the initialization state or rebooted state May be defined to include at least one instruction entered from module 130. [

몇몇 실시예에서, 제어명령어는 이동 로봇(100)의 제어모드를 변경하는 모드변경명령어를 더 포함할 수 있다.In some embodiments, the control command may further include a mode change command to change the control mode of the mobile robot 100. [

이동 로봇(100)은 입력모듈(130)로부터 입력된 명령어를 포함하는 명령어 시퀀스의 실행에 따라 이동 로봇(130)이 제어되는 제1 모드와 정해진 명령어 시퀀스의 실행에 따라 이동 로봇(130)이 제어되는 제2 모드를 포함할 수 있다.The mobile robot 100 is controlled by the mobile robot 130 in accordance with execution of a predetermined sequence of instructions and a first mode in which the mobile robot 130 is controlled according to the execution of a command sequence including instructions input from the input module 130. [ And a second mode of operation.

제2 모드는 입력 모듈(130)로부터 입력된 명령어와 무관하게 정해진 명령어 시퀀스의 실행에 따라 제어되는 모드로서, 제1 모드로 이동 로봇(100)이 작동하는 상태에서 입력모듈(130)로부터 모드변경명령어가 입력되면 프로세서(110)는 이동 로봇(130)이 제2 모드로 작동하도록 제어할 수 있다.The second mode is a mode controlled according to the execution of a predetermined command sequence irrespective of the command input from the input module 130. In a state where the mobile robot 100 is operated in the first mode, When the command is input, the processor 110 can control the mobile robot 130 to operate in the second mode.

예컨대 제2 모드는 라인트레이(line tray) 모드일 수 있다. 라인트레이 모드에서 프로세서(110)는 이동 로봇(100)의 바닥면에 위치한 컬러센서(143)를 이용해서 이동 로봇(100)이 라인을 따라 이동하도록 제어할 수 있다.For example, the second mode may be a line tray mode. In the line tray mode, the processor 110 can control the mobile robot 100 to move along the line using the color sensor 143 located on the bottom surface of the mobile robot 100.

몇몇 실시예에서 제2 모드는 손바닥따라오기 모드일 수 있다. 손바닥따라오기 모드에서 프로세서(110)는 근접센서(141)에 손바닥이 감지되는 경우 손바닥을 따라 이동 로봇(100)이 이동하도록 제어할 수 있다.In some embodiments, the second mode may be a palm-follower mode. In the palm follow-up mode, the processor 110 can control the mobile robot 100 to move along the palm of the hand when the palm is detected by the proximity sensor 141.

몇몇 실시예에서 제2 모드는 랜덤 모드일 수 있다. 랜덤 모드에서 프로세서(110)는 조건명령어와 액션명령어를 랜덤하게 배치하여 생성된 명령어 시퀀스를 실행할 수 있다. 이에 따라, 이동 로봇(100)의 작동과 작동을 위한 조건이 무작위로 선택될 수 있다.In some embodiments, the second mode may be a random mode. In the random mode, the processor 110 may execute the generated instruction sequence by randomly arranging conditional instructions and action instructions. Accordingly, the conditions for the operation and operation of the mobile robot 100 can be randomly selected.

이러한 상황에서, 프로세서(110)는 입력모듈(130)로부터 모드변경명령어가 입력될 때마다, 입력모듈(130)로부터 입력된 명령어를 포함하는 명령어 시퀀스의 실행에 따라 이동 로봇이 제어되는 제1 모드와 정해진 명령어 시퀀스의 실행에 따라 이동 로봇(130)이 제어되는 제2 모드를 번갈아 가면서 실행할 수 있다. 몇몇 실시예에서 이동 로봇(130)은 3개 이상의 모드로 작동할 수도 있다. In this situation, each time the mode change command is input from the input module 130, the processor 110 controls the first mode in which the mobile robot is controlled according to the execution of the command sequence including the command input from the input module 130 And the second mode in which the mobile robot 130 is controlled according to the execution of the predetermined command sequence. In some embodiments, the mobile robot 130 may operate in three or more modes.

본 발명의 일 실시예에 따른 이동 로봇(100)에 따르면, 사용자는 이동 로봇(100)을 프로그래밍을 위한 학습 교보재 이외에 놀이 도구로 인식할 수 있으므로, 이동 로봇(100)을 이용한 프로그래밍 과정에 더 흥미를 느낄 수 있다.According to the mobile robot 100 according to the embodiment of the present invention, since the user can recognize the mobile robot 100 as a play tool in addition to the learning contents book for programming, the user is more interested in the programming process using the mobile robot 100 .

한편, 입력모듈(130)이 복수의 버튼으로 구성되는 경우, 복수의 버튼은 반복명령어, 초기화명령어, 실행명령어 및 모드변경명령어 중 적어도 하나의 제어명령어의 입력을 위한 버튼을 포함할 수 있다. 도 3을 참조하면, 입력모듈(130)은 반복명령어 버튼(133_1), 초기화명령어 버튼(133_2), 실행명령어 버튼(133_3) 및 모드변경명령어 버튼(133_4)를 포함할 수 있고, 각각의 버튼 상에는 버튼의 속성을 직관적으로 이해할 수 있는 그림이 그려질 수 있다.When the input module 130 is composed of a plurality of buttons, the plurality of buttons may include a button for inputting at least one control command among a repeat command, an initialization command, an execution command, and a mode change command. 3, the input module 130 may include a repeat command button 133_1, an initialization command button 133_2, an execution command button 133_3, and a mode change command button 133_4, A picture can be drawn to intuitively understand the properties of the button.

센서모듈(140)은 이동 로봇(100)의 주변 변화를 감지한다. 센서모듈(140)은 이동 로봇(100)을 통해 조건명령어가 입력되는 경우 입력된 조건명령어에 따른 조건의 만족여부를 판단하기 위해 이용될 수 있다. 구체적으로, 프로세서(110)는 센서모듈(140)의 감지 결과에 기초하여 액션명령어를 실행하기 위한 조건의 만족여부를 판단한다.The sensor module 140 detects a change in the surroundings of the mobile robot 100. The sensor module 140 may be used to determine whether the condition according to the inputted conditional command is satisfied when the conditional command is inputted through the mobile robot 100. [ Specifically, the processor 110 determines whether the condition for executing the action command is satisfied based on the detection result of the sensor module 140.

도 4를 참조하면, 센서모듈(140)은 근접센서(141), 조도센서(142), 컬러센서(143) 및 소리센서(144) 중 적어도 하나를 포함할 수 있다. 다만, 몇몇 실시예에서 센서모듈(140)은 도 4에 도시된 구성요소보다 상대적으로 많거나 상대적으로 적은 구성요소를 포함하도록 구성될 수도 있다.4, the sensor module 140 may include at least one of a proximity sensor 141, an illuminance sensor 142, a color sensor 143, and a sound sensor 144. However, in some embodiments, the sensor module 140 may be configured to include relatively fewer or relatively fewer components than the components shown in FIG.

근접센서(141)는 이동 로봇(110)으로부터 정해진 거리 내에 다른 물체가 존재하는지 여부를 감지한다. 예컨대, 도 2를 참조하면, 근접센서(141)는 이동 로봇(100)의 전면에 배치되어 이동 로봇(100)의 전방에 위치하는 장애물을 확인할 수 있지만, 몇몇 실시예에서 근접센서(141)는 이동 로봇(100)의 후면, 좌측면 또는 우측면에 배치될 수도 있다.The proximity sensor 141 detects whether or not another object exists within a predetermined distance from the mobile robot 110. 2, the proximity sensor 141 may be disposed on the front surface of the mobile robot 100 to identify obstacles located in front of the mobile robot 100, but in some embodiments, the proximity sensor 141 And may be disposed on the rear surface, the left surface, or the right surface of the mobile robot 100.

몇몇 실시예에서, 근접센서(141)는 유도형 근접센서 또는 용량형 근접센서이거나 초음파를 발사해 반사파가 돌아오는 시간을 계산하여 장애물과의 거리를 산출하는 초음파 근접센서일 수 있지만, 근접센서(141)의 종류는 이에 제한되지 않는다. In some embodiments, the proximity sensor 141 may be an inductive proximity sensor or a capacitive proximity sensor, or may be an ultrasonic proximity sensor that calculates the distance to the obstacle by calculating the time the reflected wave returns by emitting ultrasonic waves, 141 are not limited thereto.

몇몇 실시예에서, 근접센서(141)의 감지 범위인 정해진 거리는 사용자의 설정 또는 프로그래밍에 따라 조정될 수 있다. 예컨대, 사용자는 블루투스 등의 무선통신을 통해 이동 로봇(100)과 사용자 단말(미도시)을 연결하고, 사용자 단말을 이용하여 프로그래밍을 함으로써 근접센서(141)의 감지 범위인 정해진 거리를 제어할 수도 있다.In some embodiments, the predetermined distance, which is the sensing range of the proximity sensor 141, can be adjusted according to the setting or programming of the user. For example, the user may connect the mobile robot 100 to a user terminal (not shown) through a wireless communication such as Bluetooth or the like, and may control the predetermined distance, which is the detection range of the proximity sensor 141, have.

조도센서(142)는 이동 로봇(110)의 주변 밝기를 감지하여 프로세서(110)가 이동 로봇(110)의 주변 밝기의 변화를 인식하도록 한다. 예컨대, 도 2를 참조하면 조도센서(142)가 빛을 잘 감지하도록 하기 위해 조도센서(142)는 이동 로봇(110)의 상면에 배치될 수 있지만, 조도센서(142)의 배치 위치는 이에 제한되지 않는다.The illuminance sensor 142 senses the ambient brightness of the mobile robot 110 and allows the processor 110 to recognize a change in ambient brightness of the mobile robot 110. For example, referring to FIG. 2, the illuminance sensor 142 may be disposed on the upper surface of the mobile robot 110 to allow the illuminance sensor 142 to sense light, but the arrangement position of the illuminance sensor 142 is limited thereto It does not.

몇몇 실시예에서, 조도센서(142)는 측정된 빛의 세기에 따라 저항 값이 변하는 센서일 수 있지만, 조도센서(142)의 종류는 이에 제한되지 않는다.In some embodiments, the illuminance sensor 142 may be a sensor whose resistance value changes according to the intensity of the measured light, but the type of the illuminance sensor 142 is not limited thereto.

컬러센서(143)는 이동 로봇의 주변 색상을 감지한다. 예컨대, 컬러센서(143)는 빨강, 주황, 노랑, 초록, 파랑, 보라 또는 검정 등의 색상을 인식할 수 있지만, 컬러센서(143)가 인식할 수 있는 색상은 이에 제한되지 않는다. 예컨대, 도 2를 참조하면 컬러센서(143)는 이동 로봇(100)의 바닥면(또는 아랫면)에 배치될 수 있으며, 이러한 경우 컬러센서(143)는 라인을 인식할 수 있기 때문에 이동 로봇(100)은 라인트레이서로서 기능할 수 있다.The color sensor 143 detects the surrounding color of the mobile robot. For example, the color sensor 143 can recognize colors such as red, orange, yellow, green, blue, violet, or black, but the colors that the color sensor 143 can recognize are not limited thereto. 2, the color sensor 143 may be disposed on the bottom surface (or the bottom surface) of the mobile robot 100. In this case, since the color sensor 143 can recognize the line, the mobile robot 100 May function as a line tracer.

소리센서(144)는 이동 로봇(110)의 주변 소리의 크기를 감지하여 프로세서(110)가 이동 로봇(110)의 주변 소리의 크기 변화를 인식하도록 할 수 있다. 이동 로봇(110) 상에서 소리센서(144)가 배치되는 위치는 제한되지 않을 수 있다.The sound sensor 144 may sense the magnitude of the ambient sound of the mobile robot 110 and allow the processor 110 to recognize the magnitude of the ambient sound of the mobile robot 110. [ The location where the sound sensor 144 is disposed on the mobile robot 110 may not be limited.

작동모듈(150)은 프로세서(110)가 입력모듈(130)로부터 입력된 명령어를 포함하는 명령어 시퀀스를 실행하는 경우, 입력모듈(130)로부터 입력된 액션명령어에 따라 작동한다.The operation module 150 operates in accordance with an action command input from the input module 130 when the processor 110 executes a sequence of instructions including an instruction entered from the input module 130. [

예컨대, 도 2를 참조하면, 작동모듈(150)은 바퀴(151)와 발광모듈(152)을 포함할 수 있다. 다만, 작동모듈(150)에 포함되는 구성요소는 도 2에 도시된 구성요소의 개수보다 상대적으로 많거나 적도로 구성될 수 있다. 몇몇 실시예에서, 작동모듈(150)은 스피커(미도시) 또는 디스플레이(미도시) 등을 더 포함할 수 있지만, 이에 제한되지 않는다. For example, referring to FIG. 2, the operation module 150 may include a wheel 151 and a light emitting module 152. However, the components included in the operation module 150 may be configured to be relatively more or equal to the number of the components shown in FIG. In some embodiments, the operating module 150 may further include, but is not limited to, a speaker (not shown) or a display (not shown).

바퀴(151)는 명령어 시퀀스에 포함된 액션명령어에 따라 전, 후, 좌, 우로 이동 로봇(100)을 이동시키거나 이동 로봇(100)을 회전시킬 수 있고, 발광모듈(152)은 명령어 시퀀스에 포함된 액션명령어에 따라 발광 색상을 변경하거나 점멸 또는 디밍(dimming)하여 깜빡거릴 수도 있다.The wheel 151 can move the mobile robot 100 or rotate the mobile robot 100 in front, back, left, and right according to an action command included in the command sequence, and the light emitting module 152 can move Depending on the action command it contains, it may change color or blink or dim.

스피커(미도시)는 명령어 시퀀스에 포함된 액션명령어에 따라 정해진 소리를 출력할 수 있다.A speaker (not shown) can output a predetermined sound according to an action command included in the command sequence.

디스플레이(미도시)는 명령어 시퀀스에 포함된 액션명령어에 따라 필요한 정보를 출력할 수 있다. 예컨대, 디스플레이(미도시)는 이동 로봇(100)에서 처리되는 정보, 입력되는 명령어에 대한 정보, 배터리 잔여량 정보 등을 더 표시할 수 있지만, 필요에 따라 프로그래밍된 명령어 또는 명령어 시퀀스를 표시할 수 있다. 다만, 디스플레이(미도시)에 의해 출력되는 정보는 이에 제한되지 않는다. The display (not shown) may output the necessary information according to the action command included in the command sequence. For example, the display (not shown) may further display information processed by the mobile robot 100, information on an inputted command, remaining battery capacity information, and the like, but may display a programmed command or a sequence of commands as needed . However, the information output by the display (not shown) is not limited thereto.

이하, 도 5 및 도 6을 참조하여, 본 발명의 다른 실시예에 따른 이동 로봇을 설명한다. 다만, 도 1의 본 발명의 일 실시예에 따른 이동 로봇과의 차이점을 위주로 설명한다. 도 5는 본 발명의 다른 실시예에 따른 이동 로봇의 구성을 도시한 블록도이고, 도 6은 도 5의 이동 로봇의 작동을 설명하기 위한 이동 로봇의 입력모듈의 개략도이다.Hereinafter, a mobile robot according to another embodiment of the present invention will be described with reference to FIGS. 5 and 6. FIG. However, differences from the mobile robot according to an embodiment of the present invention shown in FIG. 1 will be mainly described. FIG. 5 is a block diagram showing the configuration of a mobile robot according to another embodiment of the present invention, and FIG. 6 is a schematic diagram of an input module of a mobile robot for explaining the operation of the mobile robot of FIG.

본 발명의 다른 실시예에 따른 이동 로봇(100)은 입력모듈(130)로부터 입력된 명령어가 정해진 규칙에 맞는지 여부를 판단하는 정오판단모듈(160)을 더 포함할 수 있다.The mobile robot 100 according to another embodiment of the present invention may further include a noon decision module 160 for determining whether or not a command inputted from the input module 130 meets a predetermined rule.

프로세서(110)는 입력된 명령어가 정오판단모듈(160)에 의해 정해진 규칙에 맞지 않는 것으로 판단되는 경우, 해당 명령어를 명령어 시퀀스에 포함시키지 않고 작동모듈(150)을 작동시켜 사용자에게 알림을 줄 수 있다.When it is determined that the inputted command does not conform to the rule determined by the noon judging module 160, the processor 110 operates the operation module 150 to notify the user of the command without including the command in the command sequence have.

본 실시예에 따른 이동 로봇(100)은 입력된 명령어를 사용자가 확인하도록 표시해주는 디스플레이를 포함하지 않을 수 있다. 경우에 따라서 사용자는 자신이 입력한 명령어가 프로그래밍을 위해 정해진 규칙에 부합하는지 여부를 알기가 어렵다.The mobile robot 100 according to the present embodiment may not include a display for displaying the input command to the user for confirmation. In some cases, it is difficult for the user to know whether or not the command inputted by the user meets the predetermined rules for programming.

이러한 문제점을 해결하기 위해, 이동 로봇(100)은 정오판단모듈(160)을 포함하여 예컨대, 하나의 명령어 시퀀스에서 반복명령어가 두 번 입력되는 것 또는 조건명령어가 입력된 후 액션명령어가 입력되지 않고 다른 조건명령어가 입력되는 것과 같이 입력모듈(130)을 통한 명령어 입력이 정해진 규칙에 맞지 않는 것으로 판단되는 경우 작동모듈(150)을 통해 사용자에게 해당 명령어의 입력이 잘못되었음을 알릴 수 있다. 예컨대, 이동 로봇(100)은 발광모듈(152)을 이용하여 사용자에게 알림을 주거나 스피커(미도시)를 통해 사용자에게 알림을 줄 수 있다.In order to solve such a problem, the mobile robot 100 includes a noon decision module 160, for example, in which a repetitive instruction is inputted twice in one instruction sequence or an action instruction is not inputted after a condition instruction is inputted If it is determined that the command input through the input module 130 does not conform to the predetermined rule, such as input of another conditional command, the operation module 150 can notify the user that the input of the command is wrong. For example, the mobile robot 100 may notify a user using a light emitting module 152 or notify a user through a speaker (not shown).

이와 함께 프로세서(110)는 잘못 입력된 명령어는 명령어 시퀀스에 포함시키지 않음으로써 사용자가 올바른 명령어를 재입력할 수 있는 기회를 줄 수 있다.In addition, the processor 110 may not include the erroneously entered instruction in the instruction sequence, thereby giving the user a chance to re-enter the correct instruction.

몇몇 실시예에서, 입력모듈(130)이 액션명령어, 조건명령어 및 제어명령어의 입력을 위한 복수의 버튼을 포함하고, 복수의 버튼이 이동 로봇(100)의 적어도 일면에 형성되는 경우, 프로세서(110)는, 현 시점에서 입력되었을 때 정해진 규칙을 만족시키는 명령어의 입력을 위한 버튼과, 현 시점에서 입력되었을 때 정해진 규칙을 만족시키지 못하는 명령어의 입력을 위한 버튼을 시각적으로 구분시킬 수 있다.In some embodiments, when the input module 130 includes a plurality of buttons for input of action commands, conditional commands, and control commands, and a plurality of buttons are formed on at least one side of the mobile robot 100, the processor 110 ) Can visually distinguish a button for inputting an instruction that satisfies a predetermined rule when the input is made at the present time and a button for inputting an instruction that does not satisfy the predetermined rule when the input is made at the present time.

구체적으로, 사용자가 프로그래밍을 위한 정해진 규칙을 직관적으로 익히고, 사용자가 정해진 규칙에 따라 명령어를 입력할 수 있도록 하기 위해 프로세서(110)는 사용자에게 가이드를 제공할 수 있다.Specifically, the processor 110 can provide a guide to the user to intuitively learn the predetermined rules for programming and allow the user to input the command according to a predetermined rule.

예컨대, 프로세서(110)는 현 시점에서 입력되었을 때 정해진 규칙을 만족시키는 명령어의 입력을 위한 버튼에만 빛이 들어오게 하여, 현 시점에서 입력되었을 때 정해진 규칙을 만족시키지 못하는 명령어의 입력을 위한 버튼과 구별을 시킴으로써 사용자가 정해진 규칙에 맞는 명령어를 입력할 수 있도록 유도할 수 있다. 또한 이러한 과정을 통해 사용자는 직관적으로 프로그래밍을 위한 정해진 규칙을 체득할 수 있다.For example, the processor 110 may include a button for inputting a command for inputting a command that satisfies a predetermined rule when the command is input at the current time point, By distinction, it is possible to induce a user to input a command conforming to a predetermined rule. Through this process, the user can intuitively learn predetermined rules for programming.

도 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)은 현 시점에서 입력되었을 때 정해진 규칙을 만족시키지 못하는 명령어의 입력을 위한 버튼으로 인식할 수 있다.Referring to FIG. 6, a case where a button for an action command and a repeat command button 133_1 are pressed immediately before will be described as an example. The processor 110 recognizes that a conditional command, an initialization command, and an execution command can be input after an iteration command is inputted to configure a command sequence according to a predetermined rule, and outputs the proximity command button 132_1 and the illumination condition command button 132_1 The color condition command button 132_2, the color condition command button 132_3, the initialization command button 133_2, and the execution command button 133_3 are input buttons for inputting a command that can satisfy the predetermined rule . In addition, the processor 110 recognizes that the action command and the repeat command can not be inputted after the repeat command is inputted to configure the command sequence according to the predetermined rule. The processor 110 recognizes that the action command and the repeat command can not be inputted and the forward command button 131_1, the backward command button 131_2, The left turn command button 131_3, the right turn command button 131_4, the standby command button 131_5 and the repeat command button 133_1 can be recognized as a button for inputting a command that does not satisfy the predetermined rule when input at the present time have.

따라서 도 6에 도시된 것과 같이 프로세서(110)는 근접조건명령어 버튼(132_1), 조도조건명령어 버튼(132_2), 컬러조건명령어 버튼(132_3), 초기화명령어 버튼(133_2) 및 실행명령어 버튼(133_3)을 다른 버튼과 시각적으로 구분시킴으로써 사용자가 정해진 규칙을 만족시켜 명령어 시퀀스를 구성할 수 있도록 유도할 수 있다.6, the processor 110 includes a proximity condition command button 132_1, an illumination condition command button 132_2, a color condition command button 132_3, an initialization command button 133_2, and an execution command button 133_3. Can be visually distinguished from other buttons, thereby guiding the user to configure a command sequence by satisfying predetermined rules.

도 7은 본 발명의 이동 로봇(100)에 입력된 명령어 시퀀스가 실행되는 실시예를 도시한 개념도이다.7 is a conceptual diagram showing an embodiment in which a command sequence inputted to the mobile robot 100 of the present invention is executed.

도 7(a)를 참조하면, 본 발명의 이동 로봇(100)은 사용자로부터 초기화명령어를 입력 받을 수 있다. 이 경우 이동 로봇(100)은 초기화명령어의 입력 전에 입력된 명령어를 모두 삭제하여 명령어 시퀀스를 초기화할 수 있다. Referring to FIG. 7 (a), the mobile robot 100 of the present invention can receive an initialization command from a user. In this case, the mobile robot 100 deletes all of the inputted commands before the input of the initialization command, thereby initializing the command sequence.

이동 로봇(100)은 초기화명령어를 입력 받은 뒤에 전진명령어를 두 번, 우회전명령어를 한 번, 반복명령어를 한 번, 근접조건명령어를 한 번, 후진명령어를 두 번, 발광모듈명령어를 한 번, 실행명령어를 한 번 입력 받을 수 있다. After receiving the initialization command, the mobile robot 100 transmits the forward command twice, the right turn command once, the repeat command once, the proximity condition command once, the backward command twice, the light emitting module command once, The execution command can be input once.

실행명령어가 입력된 후 이동 로봇(100)은 사용자로부터 입력 받은 명령어를 기초로 정해진 거리 또는 정해진 시간만큼 두 번 전진하고, 사용자로부터 입력 받은 명령어를 기초로 정해진 거리 또는 정해진 시간만큼 오른쪽으로 이동하는 것을 반복하여 수행할 수 있다. After the execution command is inputted, the mobile robot 100 advances by a predetermined distance or a predetermined time twice based on the command received from the user, and moves to the right by a predetermined distance or a predetermined time based on the command received from the user Can be repeatedly performed.

반복적인 동작을 수행하는 중 이동 로봇(100)에 포함된 근접센서(141)가 사용자로부터 입력 받은 명령어에 기초하여 정해진 거리 이내에 물체가 존재하는 것을 인식하는 경우 이동 로봇(100)은 사용자로부터 입력 받은 명령어를 기초로 정해진 거리 또는 정해진 시간만큼 두 번 후진하고, 사용자로부터 입력 받은 명령어를 기초로 발광모듈(152)를 미리 정해진 시간동안 점등시키거나 디밍시킬 수 있다. When the proximity sensor 141 included in the mobile robot 100 recognizes that an object exists within a predetermined distance based on a command input from the user during the repetitive motion of the mobile robot 100, The light emitting module 152 can be lighted or dimmed for a predetermined time based on a command inputted from a user and backward by a predetermined distance or a predetermined time based on the command.

이동 로봇(100)은 근접조건명령어가 입력된 후 입력된 액션명령어에 따른 동작이 완료된 경우 다시, 기존 반복 동작인 반복명령어가 입력되기 이전에 입력된 액션명령어에 따른 동작을 수행할 수 있다. 예컨대, 이동 로봇(100)은 사용자로부터 입력 받은 명령어를 기초로 정해진 거리 또는 정해진 시간만큼 두 번 전진하고, 사용자로부터 입력 받은 명령어를 기초로 정해진 거리 또는 정해진 시간만큼 오른쪽으로 이동하는 것을 반복하여 수행할 수 있다. 이러한 반복 수행은 근접조건명령어에 따른 조건이 만족되는 상황이 발생할 때까지 지속될 수 있다.The mobile robot 100 can perform an action according to the action command inputted before the repeat command, which is an existing repeat action, is input again when the action according to the action command inputted after the proximity condition command is inputted. For example, the mobile robot 100 advances a predetermined distance or a predetermined time twice based on a command received from a user, and repeatedly moves to the right by a predetermined distance or a predetermined time based on a command received from the user . This iteration may continue until a condition is met that meets the conditional instruction.

즉, 본 발명의 이동 로봇(100)에 따르면, 입력된 명령어 시퀀스에서 반복명령어와 반복명령어 이전에 입력된 액션명령어가 메인 시퀀스가 되고, 근접조건명령어와 근접조건명령어 이후에 입력된 액션명령어는 이벤트 시퀀스가 된다. 여기서, 조건 만족 시에 이벤트 시퀀스가 수행되고 이벤트 시퀀스 수행 후에는 메인 시퀀스가 다시 수행될 수 있다. That is, according to the mobile robot 100 of the present invention, the repetitive instruction in the input instruction sequence and the action instruction inputted before the repetitive instruction become the main sequence, and the action instruction inputted after the proximity condition instruction and the proximity condition instruction is the event Sequence. Here, the event sequence is performed when the condition is satisfied, and the main sequence can be performed again after the event sequence is performed.

도 7(b)를 참조하면, 본 발명의 이동 로봇(100)은 사용자로부터 초기화명령어를 입력 받을 수 있다. 이 경우 이동 로봇(100)은 초기화명령어 입력 전에 입력된 명령어를 모두 삭제하여 명령어 시퀀스를 초기화할 수 있다. Referring to FIG. 7 (b), the mobile robot 100 of the present invention can receive an initialization command from a user. In this case, the mobile robot 100 deletes all the inputted commands before the initialization command is input, thereby initializing the command sequence.

이동 로봇(100)은 초기화명령어를 입력 받은 뒤에 전진명령어를 한 번, 반복명령어를 한 번, 컬러조건명령어를 한 번, 우회전명령어를 한 번, 전진명령어를 세 번, 실행명령어를 한 번 입력 받을 수 있다. After receiving the initialization command, the mobile robot 100 receives the forward command once, the repeat command once, the color condition command once, the right turn command once, the forward command three times, and the execution command once .

실행명령어 버튼(133_3)이 입력된 이동 로봇(100)은 사용자로부터 입력 받은 명령어를 기초로 정해진 거리 또는 정해진 시간만큼 한 번 전진하는 동작을 반복하여 수행할 수 있다. The mobile robot 100 to which the execution command button 133_3 is input can repeatedly perform the operation of advancing once by a predetermined distance or a predetermined time based on the command inputted from the user.

반복적인 동작을 수행하는 중 이동 로봇(100)에 포함된 컬러센서(143)가 사용자로부터 입력 받은 명령어에 기초하여 정해진 색상을 인식하는 경우 이동 로봇(100)은 사용자로부터 입력 받은 명령어에 기초하여 정해진 거리 또는 정해진 시간만큼 한 번 오른쪽으로 이동하고 정해진 거리 또는 정해진 시간만큼 세 번 전진할 수 있다. When the color sensor 143 included in the mobile robot 100 recognizes a predetermined color based on a command input from the user during the repetitive motion, the mobile robot 100 determines the color You can move to the right by a distance or a fixed amount of time and advance three times by a fixed distance or a fixed time.

이동 로봇(100)은 컬러조건명령어의 입력 후 입력된 명령어의 실행이 완료된 경우 다시, 기존 반복 동작인 반복명령어의 입력 전에 입력된 액션명령어를 실행할 수 있다. 이러한 반복 수행은 컬러조건명령어에 따른 조건이 만족되는 상황이 발생할 때까지 지속될 수 있다.The mobile robot 100 can execute the action command inputted before the input of the repeat command which is the existing repeat operation again when the execution of the command inputted after inputting the color condition command is completed. This iterative execution can be continued until a condition satisfying the condition according to the color condition command occurs.

도 7(c)를 참조하면, 본 발명의 이동 로봇(100)은 사용자로부터 초기화명령어를 입력 받을 수 있다. 이 경우 이동 로봇(100)은 초기화명령어의 입력 전에 입력된 명령어들을 모두 삭제하여 명령어 시퀀스를 초기화할 수 있다. Referring to FIG. 7 (c), the mobile robot 100 of the present invention can receive an initialization command from a user. In this case, the mobile robot 100 may initialize the instruction sequence by deleting all of the instruction words inputted before the initialization instruction.

이동 로봇(100)은 초기화명령어를 입력 받은 뒤에 전진명령어를 한 번, 우회전명령어를 한 번, 대기명령어를 한 번, 전진명령어를 한 번, 좌회전명령어를 한 번, 반복명령어를 한 번, 조도조건명령어를 한 번, 후진명령어를 두 번, 발광모듈명령어를 한 번, 실행명령어를 한 번 입력 받을 수 있다. After receiving the initialization command, the mobile robot 100 transmits the forward command once, the right turn command once, the standby command once, the forward command once, the left turn command once, the repeat command once, Command once, backward command twice, light emitting module command once, and execution command once.

실행명령어 버튼(133_3)이 입력된 이동 로봇(100)은 사용자로부터 입력 받은 명령어를 기초로 정해진 거리 또는 정해진 시간만큼 한 번 전진하고, 사용자로부터 입력 받은 명령어를 기초로 정해진 거리 또는 정해진 시간만큼 오른쪽으로 이동하고, 사용자로부터 입력 받은 명령어를 기초로 정해진 시간만큼 대기하고, 사용자로부터 입력 받은 명령어를 기초로 정해진 거리 또는 정해진 시간만큼 한 번 전진하고, 사용자로부터 입력 받은 명령어를 기초로 정해진 거리 또는 정해진 시간만큼 왼쪽으로 이동하는 동작을 반복하여 수행할 수 있다. The mobile robot 100 to which the execution command button 133_3 is input advances once by a predetermined distance or a predetermined time based on the command received from the user and moves to the right by a predetermined distance or a predetermined time based on the command received from the user Moves forward by a predetermined distance or a predetermined time based on a command input from the user, and moves to a predetermined distance or a predetermined time based on a command input from the user Moving to the left can be repeated.

반복적인 동작을 수행하는 중 이동 로봇(100)에 포함된 조도센서(142)가 사용자로부터 입력 받은 명령어를 기초로 산출된 기준 이상의 조도변화를 인식하는 경우 이동 로봇(100)은 사용자로부터 입력 받은 명령어를 기초로 정해진 거리 또는 정해진 시간만큼 한 번 후진하고, 사용자로부터 입력 받은 명령어를 기초로 발광모듈(152)를 제어할 수 있다. When the illuminance sensor 142 included in the mobile robot 100 recognizes a change in illuminance over a reference value calculated on the basis of a command input from the user, the mobile robot 100 displays a command The light emitting module 152 can be controlled based on a command inputted from the user.

이동 로봇(100)은 조도조건명령어 입력 후 입력된 동작이 완료된 경우 다시, 기존 반복 동작인 반복명령어의 입력 전에 입력된 액션명령어를 실행할 수 있다. 이러한 반복 수행은 조도조건명령어에 따른 조건이 만족되는 상황이 발생할 때까지 지속될 수 있다.The mobile robot 100 can execute the action command inputted before the input of the repeat command which is the existing repeat operation again when the input operation is completed after inputting the illumination condition command. Such repetition can be continued until a condition satisfying the condition according to the illumination condition command occurs.

본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.The steps of a method or algorithm described in connection with the embodiments of the present invention may be embodied directly in hardware, in software modules executed in hardware, or in a combination of both. The software module may be a random access memory (RAM), a read only memory (ROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a flash memory, a hard disk, a removable disk, a CD- May reside in any form of computer readable recording medium known in the art to which the invention pertains.

이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, You will understand. Therefore, it should be understood that the above-described embodiments are illustrative in all aspects and not restrictive.

100: 이동 로봇 110: 프로세서
120: 메모리 130: 입력모듈
140: 센서모듈 141: 근접센서
142: 조도센서 143: 컬러센서
144: 소리센서 150: 작동모듈
160: 정오판단모듈
100: mobile robot 110: processor
120: memory 130: input module
140: Sensor module 141: Proximity sensor
142: illuminance sensor 143: color sensor
144: Sound sensor 150: Operation module
160: Noon Judgment Module

Claims (16)

프로그래밍이 가능한 입력모듈을 포함하는 이동 로봇으로서,
상기 이동 로봇을 제어하는 프로세서;
사용자로부터 상기 이동 로봇의 프로그래밍을 위한 명령어로서 상기 이동 로봇의 작동과 관련된 액션명령어, 상기 액션명령어를 실행하기 위한 조건과 관련된 조건명령어 및 상기 이동 로봇에 입력된 명령어를 제어하는 제어명령어의 입력을 위한 복수의 버튼을 포함하는 것인, 입력모듈;
상기 이동 로봇의 주변 변화를 감지하는 센서모듈로서, 상기 프로세서는 상기 센서모듈의 감지 결과에 기초하여 상기 액션명령어를 실행하기 위한 조건의 만족여부를 판단하는 것인, 센서모듈; 및
상기 프로세서가 상기 입력모듈로부터 입력된 명령어를 포함하는 명령어 시퀀스를 실행하는 경우, 상기 입력모듈로부터 입력된 상기 액션명령어에 따라 작동하는 작동모듈
을 포함하고, 상기 제어명령어는 반복명령어를 포함하고,
상기 입력모듈은 상기 제어명령어로서 상기 반복명령어의 입력을 위한 버튼을 포함하고,
상기 입력모듈로부터 액션명령어 버튼이 입력되는 경우, 상기 프로세서는 상기 이동 로봇이 입력된 상기 액션명령어에 따라 작동하도록 상기 작동모듈을 작동시키고,
상기 입력모듈로부터 액션명령어 버튼과 반복명령어 버튼이 차례로 입력되는 경우, 상기 프로세서는 상기 이동 로봇이 입력된 상기 액션명령어에 따라 작동을 반복하도록 상기 작동모듈을 작동시키고,
상기 입력모듈로부터 조건명령어 버튼과 액션명령어 버튼이 차례로 입력되고, 반복명령어 버튼이 입력되어 상기 명령어 시퀀스에 반복명령어가 포함되는 경우, 상기 프로세서는 상기 센서모듈의 감지 결과에 기초하여 입력된 상기 조건명령어의 조건이 만족되었는지 여부를 판단하고, 만약 상기 조건이 만족된 것으로 판단되면 상기 이동 로봇이 입력된 상기 액션명령어에 따라 작동하도록 상기 작동모듈을 작동시키고, 만약 상기 조건이 만족되지 않는 것으로 판단되거나 상기 조건 만족에 따른 상기 작동모듈의 작동을 마치면 상기 조건의 만족 여부에 대한 판단을 하는 일련의 과정을 반복하고,
상기 입력모듈로부터 적어도 하나의 액션명령어 버튼과 조건명령어 버튼과 적어도 하나의 액션명령어 버튼이 차례로 입력되고, 반복명령어 버튼이 입력되어 상기 명령어 시퀀스에 반복명령어가 포함되는 경우, 상기 프로세서는 상기 이동 로봇이 조건명령어의 입력 전에 입력된 적어도 하나의 액션명령어에 따라 작동하도록 상기 작동모듈을 작동시키고, 이후에 상기 센서모듈의 감지 결과에 기초하여 입력된 상기 조건명령어의 조건이 만족되었는지 여부를 판단하고, 만약 상기 조건이 만족된 것으로 판단되면 상기 이동 로봇이 조건명령어의 입력 후에 입력된 적어도 하나의 액션명령어에 따라 작동하도록 상기 작동모듈을 작동시키고, 만약 상기 조건이 만족되지 않는 것으로 판단되거나 상기 조건 만족에 따른 상기 작동모듈의 작동을 마치면 다시 상기 이동 로봇이 조건명령어의 입력 전에 입력된 적어도 하나의 액션명령어에 따라 작동하도록 상기 작동모듈을 작동시키는 일련의 과정을 반복하는 것인, 이동 로봇.
A mobile robot comprising a programmable input module,
A processor for controlling the mobile robot;
A command for programming the mobile robot from a user, an action command related to the operation of the mobile robot, a conditional command related to a condition for executing the action command, and a control command for controlling a command inputted to the mobile robot An input module including a plurality of buttons;
A sensor module for detecting a change in the environment of the mobile robot, wherein the processor determines whether a condition for executing the action command is satisfied based on a detection result of the sensor module; And
Wherein when the processor executes a sequence of instructions comprising an instruction entered from the input module, the operation module, operating according to the action instruction input from the input module,
Wherein the control command comprises an iteration instruction,
Wherein the input module includes a button for inputting the repeat instruction as the control instruction word,
When the action command button is input from the input module, the processor activates the operation module so that the mobile robot operates according to the action command inputted,
When the action command button and the repeat command button are sequentially input from the input module, the processor activates the operation module so that the mobile robot repeats operation according to the action command inputted,
When a conditional command button and an action command button are sequentially input from the input module and a repeated command button is input and the repeated command is included in the command sequence, And if it is determined that the condition is satisfied, the mobile robot activates the operation module to operate according to the inputted action command, and if it is determined that the condition is not satisfied, When the operation of the operation module is completed according to the condition satisfaction, a series of processes for determining whether the condition is satisfied are repeated,
When at least one action command button, a condition command button, and at least one action command button are sequentially input from the input module and an iteration command button is input and the repeat command is included in the command sequence, The operation module is operated so as to operate according to at least one action command inputted before the input of the conditional command and then it is judged whether or not the condition of the conditional command inputted based on the detection result of the sensor module is satisfied, If it is determined that the condition is satisfied, activates the operation module so that the mobile robot operates according to at least one action instruction inputted after inputting the conditional instruction, and if the condition is not satisfied or the conditional satisfaction When the operating module is finished, And repeating a series of steps of operating the operation module such that the mobile robot operates according to at least one action command inputted before inputting the conditional command.
삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 제어명령어는 초기화명령어와 실행명령어를 더 포함하고,
상기 입력모듈은 상기 제어명령어로서 상기 초기화명령어와 상기 실행명령어의 입력을 위한 각각의 버튼을 포함하고,
상기 입력모듈로부터 상기 초기화명령어 버튼이 입력되면, 상기 프로세서는 상기 초기화명령어가 입력되기 전 상기 입력모듈로부터 입력된 명령어를 모두 삭제하고,
상기 입력모듈로부터 상기 실행명령어 버튼이 입력되면, 상기 프로세서는 상기 명령어 시퀀스를 실행하고,
상기 명령어 시퀀스는 상기 입력모듈로부터 상기 초기화명령어 버튼이 입력된 후 상기 실행명령어 버튼이 입력되기 전에 입력된 적어도 하나의 버튼에 대응되는 명령어를 포함하는 것인, 이동 로봇.
The method according to claim 1,
Wherein the control command further comprises an initialization instruction and an execution instruction,
Wherein the input module includes the initialization instruction as the control instruction word and each button for inputting the execution instruction,
When the initialization command button is input from the input module, the processor deletes all the commands inputted from the input module before the initialization command is input,
When the execution command button is input from the input module, the processor executes the command sequence,
Wherein the command sequence includes a command corresponding to at least one button input before the execution command button is inputted after the initialization command button is input from the input module.
제5항에 있어서,
상기 프로세서에 의해 상기 명령어 시퀀스가 실행되는 도중에 상기 입력모듈로부터 상기 실행명령어 버튼이 입력되면, 상기 프로세서는 상기 명령어 시퀀스의 실행을 일시정지하고,
상기 프로세서에 의해 상기 명령어 시퀀스의 실행이 일시정시된 상태에서 상기 입력모듈로부터 상기 실행명령어 버튼이 입력되면, 상기 프로세서는 상기 명령어 시퀀스의 실행을 다시 수행하는 것인, 이동 로봇.
6. The method of claim 5,
When the execution command button is input from the input module during the execution of the command sequence by the processor, the processor pauses execution of the command sequence,
Wherein when the execution command button is input from the input module in a state in which the execution of the command sequence is temporarily paused by the processor, the processor executes execution of the command sequence again.
삭제delete 제6항에 있어서,
상기 작동모듈은 바퀴와 발광모듈을 포함하고,
상기 액션명령어는,
상기 바퀴를 이용하여 상기 이동 로봇을 정해진 거리만큼 앞으로 이동시키거나 정해진 시간동안 앞으로 이동시키기 위한 전진명령어,
상기 바퀴를 이용하여 상기 이동 로봇을 정해진 거리만큼 뒤로 이동시키거나 정해진 시간동안 뒤로 이동시키기 위한 후진명령어,
상기 바퀴를 이용하여 상기 이동 로봇을 정해진 거리만큼 왼쪽으로 이동시키거나 정해진 시간동안 왼쪽으로 이동시키기 위한 좌회전명령어,
상기 바퀴를 이용하여 상기 이동 로봇을 정해진 거리만큼 오른쪽으로 이동시키거나 정해진 시간동안 오른쪽으로 이동시키기 위한 우회전명령어
상기 이동 로봇이 정해진 시간동안 제자리를 유지하도록 하는 대기명령어, 및
상기 발광모듈의 점멸을 제어하기 위한 발광모듈명령어
를 포함하고,
상기 복수의 버튼은 상기 전진명령어, 상기 후진명령어, 상기 좌회전명령어, 상기 우회전명령어, 상기 대기명령어 및 상기 발광모듈명령어의 상기 액션명령어의 입력을 위한 버튼을 포함하는 것인, 이동 로봇.
The method according to claim 6,
Wherein the operating module comprises a wheel and a light emitting module,
Wherein the action command comprises:
A forward command for moving the mobile robot forward by a predetermined distance using the wheel,
A backward command for moving the mobile robot backward by a predetermined distance or moving backward for a predetermined time using the wheel,
A left turn command for moving the mobile robot to the left by a predetermined distance using the wheel or moving the robot to the left for a predetermined time,
A right turn command for moving the mobile robot to the right by a predetermined distance using the wheel or moving it to the right for a predetermined time,
A standby command for causing the mobile robot to stay in place for a predetermined time, and
A light emitting module command for controlling the flashing of the light emitting module
Lt; / RTI >
Wherein the plurality of buttons include buttons for inputting the forward command, the backward command, the leftward turn command, the right turn command, the standby command, and the action command of the light emitting module command.
제8항에 있어서,
상기 센서모듈은 근접센서, 조도센서 및 컬러센서를 포함하고,
상기 근접센서는 상기 이동 로봇으로부터 정해진 거리 내에 다른 물체가 존재하는지 여부를 감지하고,
상기 조도센서는 상기 이동 로봇의 주변 밝기를 감지하고 상기 프로세서가 상기 이동 로봇의 주변 밝기의 변화를 인식하도록 하고,
상기 컬러센서는 상기 이동 로봇의 주변 색상을 감지하고,
상기 조건명령어는,
다른 물체가 상기 이동 로봇으로부터 정해진 거리 내에 위치하는 것을 상기 액션명령어의 실행을 위한 조건으로 하는 근접조건명령어,
상기 이동 로봇의 주변 밝기의 변화가 정해진 변화의 정도 이상인 것 또는 주변 밝기가 정해진 정도 이상이거나 이하인 것을 상기 액션명령어의 실행을 위한 조건으로 하는 조도조건명령어 및
상기 이동 로봇의 주변 색상이 정해진 색상인 것을 상기 액션명령어의 실행을 위한 조건으로 하는 컬러조건명령어
를 포함하고,
상기 복수의 버튼은 상기 근접조건명령어, 상기 조도조건명령어 및 상기 컬러조건명령어의 상기 조건명령어의 입력을 위한 버튼을 포함하는 것인, 이동 로봇.
9. The method of claim 8,
Wherein the sensor module includes a proximity sensor, an illuminance sensor and a color sensor,
Wherein the proximity sensor detects whether or not another object exists within a predetermined distance from the mobile robot,
The illuminance sensor senses the ambient brightness of the mobile robot and allows the processor to recognize a change in ambient brightness of the mobile robot,
The color sensor senses the surrounding color of the mobile robot,
Wherein the conditional instruction comprises:
A proximity condition command that sets that another object is located within a predetermined distance from the mobile robot as a condition for execution of the action command,
A roughness conditional command in which the change in the ambient brightness of the mobile robot is equal to or greater than a predetermined degree of change, or the ambient brightness is equal to or greater than a predetermined level,
Wherein the color condition command is a condition for executing the action command that the surrounding color of the mobile robot is a predetermined color,
Lt; / RTI >
Wherein the plurality of buttons include buttons for inputting the proximity instruction, the illumination condition instruction, and the condition instruction of the color condition instruction.
삭제delete 삭제delete 제1항에 있어서,
상기 제어명령어는 상기 이동 로봇의 제어모드를 변경하는 모드변경명령어를 더 포함하고,
상기 입력모듈은 상기 제어명령어로서 상기 모드변경명령어의 입력을 위한 버튼을 포함하고,
상기 프로세서는 상기 입력모듈로부터 상기 모드변경명령어 버튼이 입력될 때마다, 상기 입력모듈로부터 입력된 명령어를 포함하는 상기 명령어 시퀀스의 실행에 따라 상기 이동 로봇이 제어되는 제1 모드와 정해진 명령어 시퀀스의 실행에 따라 상기 이동 로봇이 제어되는 제2 모드를 번갈아가면서 실행하는 것인, 이동 로봇.
The method according to claim 1,
Wherein the control command further includes a mode change command for changing a control mode of the mobile robot,
Wherein the input module includes a button for inputting the mode change command as the control command,
Wherein each time the mode change instruction button is input from the input module, the processor executes a first mode in which the mobile robot is controlled according to the execution of the instruction sequence including the instruction inputted from the input module, And the second mode in which the mobile robot is controlled is alternately executed according to the first mode.
삭제delete 제1항에 있어서,
상기 입력모듈로부터 입력된 명령어가 정해진 규칙에 맞는지 여부를 판단하는 정오판단모듈
을 더 포함하고,
상기 프로세서는 입력된 명령어가 상기 정오판단모듈에 의해 상기 정해진 규칙에 맞지 않는 것으로 판단되는 경우, 해당 명령어를 상기 명령어 시퀀스에 포함시키지 않고 상기 작동모듈을 작동시켜 상기 사용자에게 알림을 주고,
상기 복수의 버튼은 상기 이동 로봇의 적어도 일면에 형성되고,
상기 프로세서는, 현 시점에서 입력되었을 때 상기 정해진 규칙을 만족시키는 명령어의 입력을 위한 버튼과, 현 시점에서 입력되었을 때 상기 정해진 규칙을 만족시키지 못하는 명령어의 입력을 위한 버튼을 시각적으로 구분시키는 것인, 이동 로봇.
The method according to claim 1,
A no-decision module for determining whether or not a command inputted from the input module conforms to a predetermined rule,
Further comprising:
Wherein the processor notifies the user of the operation module by activating the operation module without including the instruction in the instruction sequence when it is determined that the input instruction does not comply with the predetermined rule,
Wherein the plurality of buttons are formed on at least one surface of the mobile robot,
Wherein the processor visually separates a button for inputting a command that satisfies the predetermined rule and a button for inputting a command that does not satisfy the predetermined rule when the input is made at the current time, , Mobile robot.
제9항에 있어서,
복수의 색상을 인식하는 상기 컬러센서는 상기 이동 로봇의 주변 색상으로서 서로 다른 제1 색 및 제2 색을 감지하고,
상기 프로세서는,
상기 입력모듈로부터 컬러조건명령어 버튼이 1회 입력되면 상기 이동 로봇의 주변 색상이 상기 제1 색인 것을 상기 액션명령어의 실행을 위한 조건으로 하는 컬러조건명령어가 입력된 것으로 인식하고,
상기 입력모듈로부터 상기 컬러조건명령어 버튼이 연속하여 2회 입력되면 상기 이동 로봇의 주변 색상이 상기 제2 색인 것을 상기 액션명령어의 실행을 위한 조건으로 하는 컬러조건명령어가 입력된 것으로 인식하는 것인, 이동 로봇.
10. The method of claim 9,
The color sensor recognizing a plurality of colors senses different first colors and second colors as peripheral colors of the mobile robot,
The processor comprising:
When the color condition command button is input once from the input module, recognizes that the surrounding color of the mobile robot is the first color, that the color condition command is a condition for execution of the action command,
Wherein when the color condition command button is inputted twice continuously from the input module, it is recognized that a color condition command having the peripheral color of the mobile robot as the condition for execution of the action command is recognized as the second color. Mobile robot.
제9항에 있어서,
상기 입력모듈로부터 초기화명령어 버튼 1회, 전진명령어 버튼 2회, 우회전명령어 버튼 1회, 반복명령어 버튼 1회, 근접조건명령어 버튼 1회, 후진명령어 버튼 2회, 발광모듈명령어 버튼 1회 및 실행명령어 버튼 1회가 차례로 입력되는 경우,
상기 프로세서는
상기 바퀴를 이용하여 정해진 거리 또는 정해진 시간만큼 상기 이동 로봇을 두 번 전진시키고, 상기 바퀴를 이용하여 정해진 거리 또는 정해진 시간만큼 오른쪽으로 한 번 이동시키고,
이후에 상기 근접센서를 이용하여 상기 이동 로봇으로부터 정해진 거리 내에 다른 물체가 존재하는지 여부를 판단하고,
만약 상기 조건이 만족된 것으로 판단되면, 상기 바퀴를 이용하여 정해진 거리 또는 정해진 시간만큼 상기 이동 로봇을 두 번 후진시키고, 상기 발광모듈을 미리 정해진 시간동안 점등시키고,
만약 상기 조건이 만족되지 않는 것으로 판단되거나 상기 조건 만족에 따른 작동을 마치면, 다시 상기 바퀴를 이용하여 정해진 거리 또는 정해진 시간만큼 상기 이동 로봇을 두 번 전진시키고 상기 바퀴를 이용하여 정해진 거리 또는 정해진 시간만큼 오른쪽으로 한 번 이동시키는 일련의 과정을 반복하는 것인, 이동 로봇.
10. The method of claim 9,
A forward command button, a forward command button, a repetition command button, a proximity condition command button, a backward command button button, a light emitting module command button button, and an execution command button When a button is input one after another,
The processor
Moving the robot twice by a predetermined distance or a predetermined time using the wheel, moving the robot one time to a predetermined distance or by a predetermined time using the wheel,
Thereafter, it is determined whether or not another object exists within a predetermined distance from the mobile robot using the proximity sensor,
If it is determined that the condition is satisfied, the mobile robot is retracted twice by a predetermined distance or a predetermined time using the wheel, the light emitting module is turned on for a predetermined time,
If it is determined that the above condition is not satisfied or the operation according to the satisfaction of the condition is completed, the mobile robot is advanced twice by a predetermined distance or a predetermined time again using the wheel, and the robot is moved by a predetermined distance or a predetermined time And moving the robot once to the right.
KR1020180012623A 2018-01-24 2018-02-01 Mobile robot comprising input module for programming KR101988282B1 (en)

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 (en) 2019-06-12

Family

ID=66845879

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180012623A KR101988282B1 (en) 2018-01-24 2018-02-01 Mobile robot comprising input module for programming

Country Status (2)

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

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
US11648485B2 (en) * 2017-12-19 2023-05-16 Learning Resources, Inc. Toy robot
KR102198824B1 (en) * 2018-11-08 2021-01-05 정희용 Apparatus for physical software coding training book running

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015199355A1 (en) * 2014-06-26 2015-12-30 주식회사 헬로긱스 Programmable connection type block device
KR101676676B1 (en) 2015-01-29 2016-11-18 주식회사 엑스봇 Robot programing kit using card key and board having resistor and magnet and method thereof
KR20170036308A (en) * 2015-09-24 2017-04-03 이광재 ROBOT for SOFTWARE EDUCATION and ROBOT SYSTEM for SOFTWARE EDUCATION

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015199355A1 (en) * 2014-06-26 2015-12-30 주식회사 헬로긱스 Programmable connection type block device
KR101676676B1 (en) 2015-01-29 2016-11-18 주식회사 엑스봇 Robot programing kit using card key and board having resistor and magnet and method thereof
KR20170036308A (en) * 2015-09-24 2017-04-03 이광재 ROBOT for SOFTWARE EDUCATION and ROBOT SYSTEM for SOFTWARE EDUCATION

Also Published As

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

Similar Documents

Publication Publication Date Title
KR101988282B1 (en) Mobile robot comprising input module for programming
US9701015B2 (en) Vision-guided robots and methods of training them
KR101546927B1 (en) Apparatus for educating algorithm with block
EP1335338B1 (en) A system and process for controlling electronic components in a computing environment
US8321221B2 (en) Speech communication system and method, and robot apparatus
KR100752098B1 (en) Robot system based on neural network
CN111651035B (en) Multi-modal interaction-based virtual experiment system and method
KR102616850B1 (en) An external device capable of being combined with an electronic device, and a display method thereof.
CN203300127U (en) Children teaching and monitoring robot
WO2016035323A1 (en) Information processing device, information processing method, and program
Michaud et al. Learning from history for behavior-based mobile robots in non-stationary conditions
JP6215933B2 (en) Input device and method for inputting operation request
KR20190135394A (en) Method and apparatus for executing cleaning operation
CN105739679A (en) Steering wheel control system
Carrino et al. Humans and smart environments: a novel multimodal interaction approach
KR20200132654A (en) Robot and its control method
Verdadero et al. Hand gesture recognition system as an alternative interface for remote controlled home appliances
Mi et al. Gesture recognition based teleoperation framework of robotic fish
CN108602190A (en) Industrial robot is controlled using interactive command
CN110370280B (en) Feedback control method, system and computer readable storage medium for robot behavior
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 (en) Coaching System Of Robot Using Hand Movement
Franzoni Autonomous hexapod robot with artificial vision and remote control by myo-electric gestures: The innovative implementation tale of gAItano
WO2021153501A1 (en) Information processing device, information processing method, and program

Legal Events

Date Code Title Description
GRNT Written decision to grant