KR102525276B1 - Robot system and smart coding method therefor - Google Patents

Robot system and smart coding method therefor Download PDF

Info

Publication number
KR102525276B1
KR102525276B1 KR1020210058031A KR20210058031A KR102525276B1 KR 102525276 B1 KR102525276 B1 KR 102525276B1 KR 1020210058031 A KR1020210058031 A KR 1020210058031A KR 20210058031 A KR20210058031 A KR 20210058031A KR 102525276 B1 KR102525276 B1 KR 102525276B1
Authority
KR
South Korea
Prior art keywords
robot
code
program
code blocks
display device
Prior art date
Application number
KR1020210058031A
Other languages
Korean (ko)
Other versions
KR20220150715A (en
Inventor
김미래
Original Assignee
김미래
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김미래 filed Critical 김미래
Priority to KR1020210058031A priority Critical patent/KR102525276B1/en
Publication of KR20220150715A publication Critical patent/KR20220150715A/en
Application granted granted Critical
Publication of KR102525276B1 publication Critical patent/KR102525276B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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
    • B25J19/021Optical sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/02Manipulators mounted on wheels or on carriages travelling along a guideway
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1684Tracking a line or surface by means of sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Software Systems (AREA)
  • Toys (AREA)

Abstract

일 실시예는, 디스플레이패널을 포함하고, 상기 디스플레이패널에 복수의 코드블럭들을 표시하며, 각각의 코드블럭에 프로그램코드를 매칭시키고, 상기 디스플레이패널에 대한 사용자조작을 인식하여 상기 코드블럭들의 표시 위치를 이동시키는 디스플레이장치; 가시성이 낮은 미세패턴과 가시성이 높은 코드표식이 인쇄되는 복수의 코드카드들; 및 하측으로 바퀴들이 배치되고, 바닥면을 지향하도록 카메라가 배치되며, 상기 카메라를 통해 인식되는 복수의 미세패턴들을 프로그램코드들로 매칭시키고 상기 프로그램코드들을 조합하여 프로그램을 생성하거나 상기 디스플레이장치에서의 상기 코드블럭들의 배치에 따라 상기 프로그램코드들을 조합하여 상기 프로그램을 생성하고, 상기 프로그램의 실행에 따라 상기 바퀴들을 조작하여 몸체를 이동시키는 로봇을 포함하는 로봇시스템을 제공한다.One embodiment includes a display panel, displays a plurality of code blocks on the display panel, matches a program code to each code block, recognizes a user operation on the display panel, and displays the display position of the code blocks. a display device for moving; a plurality of code cards on which a low-visibility fine pattern and a high-visibility code mark are printed; And wheels are disposed on the lower side, and a camera is disposed to face the bottom surface, and a plurality of fine patterns recognized through the camera are matched with program codes, and a program is created by combining the program codes or in the display device. Provided is a robot system including a robot that generates the program by combining the program codes according to the arrangement of the code blocks and moves the body by manipulating the wheels according to the execution of the program.

Description

로봇시스템 및 그에 대한 스마트 코딩방법{ROBOT SYSTEM AND SMART CODING METHOD THEREFOR}Robot system and its smart coding method {ROBOT SYSTEM AND SMART CODING METHOD THEREFOR}

본 실시예는 로봇시스템에 관한 것이다. This embodiment relates to a robot system.

로봇은 명령에 의해 기계적인 동작을 수행할 수 있다. 그 명령이 로봇의 자체적인 계산결과에 의해 창출되는 것을 인공지능 로봇이라고 부르기도 한다. 대부분의 로봇은 인공지능 로봇의 수준에 도달하지 못했으며, 그 명령이 인간에 의해 직접적으로 혹은 간접적으로 전달되어야한다.Robots can perform mechanical operations by commands. Those whose commands are created by the robot's own calculation results are also called artificial intelligence robots. Most robots have not reached the level of artificial intelligence robots, and their commands must be transmitted directly or indirectly by humans.

로봇에게 명령을 전달하는 방법은 다양한데, 로봇이 음성을 이해할 수 있는 경우, 인간은 음성을 통해 로봇에게 명령을 전달할 수 있다. 로봇이 음성을 이해하지 못하는 경우, 명령은 단말장치와 로봇의 통신을 통해 전달되는데, 예를 들어, 인간은 컴퓨터를 통해 명령을 입력하고, 컴퓨터와 로봇의 통신을 통해 그 명령을 로봇으로 전달할 수 있다.There are various ways to deliver commands to the robot. If the robot can understand voice, humans can deliver commands to the robot through voice. If the robot does not understand the voice, the command is transmitted through communication between the terminal device and the robot. For example, a human can input a command through a computer and transmit the command to the robot through communication between the computer and the robot. there is.

인간은 단말장치로 명령을 입력시키기 위해 여러가지 사용자조작수단을 사용한다. 터치패널이 대표적인 사용자조작수단이다. 단말장치에 터치패널이 포함되어 있는 경우, 인간은 터치패널에 사용자조작을 가할 수 있다. 그리고, 단말장치는 이러한 사용자조작을 인식하고 그에 대응되는 명령을 생성할 수 있다. 사용자조작수단의 다른 예는, 키보드이다. 인간은 키보드에 사용자조작을 가할 수 있고, 단말장치는 키보드에 대한 사용자조작을 인식하고 그에 대응되는 명령을 생성할 수 있다.Humans use various user manipulation means to input commands to terminal devices. A touch panel is a typical user manipulation means. If the terminal device includes a touch panel, a human can apply a user operation to the touch panel. And, the terminal device can recognize such user manipulation and generate a command corresponding to it. Another example of the user operation means is a keyboard. A human can apply a user manipulation to the keyboard, and the terminal device can recognize the user manipulation on the keyboard and generate a corresponding command.

한편, 로봇이 단일 동작이 아닌 연속적인 복합 동작을 수행하게 하기 위해 인간은 복수의 명령을 조합하여 프로그램을 만들고 이러한 프로그램을 실행시켜 로봇을 제어할 수 있다. 여기서, 명령은 프로그램코드에 대응될 수 있는데, 인간은 단말장치를 통해 복수의 프로그램코드들을 입력시키고 단말장치는 이러한 프로그램코드들을 조합하여 프로그램을 생성할 수 있다. 그리고, 이러한 프로그램의 실행에 따라 로봇이 연속적인 복합 동작을 수행할 수 있다.Meanwhile, in order for the robot to perform continuous complex motions rather than single motions, a human may create a program by combining a plurality of commands and execute the program to control the robot. Here, a command may correspond to a program code. A human inputs a plurality of program codes through a terminal device, and the terminal device may generate a program by combining these program codes. And, according to the execution of these programs, the robot can perform continuous complex motions.

프로그램코드도 전술한 것과 같은 단말장치의 사용자조작수단에 의해 입력될 수 있는데, 이러한 사용자조작수단은 직관성이 높지 않고 고도의 숙련된 지식을 요하기 때문에 저숙련자-예를 들어, 어린이-에게는 적합하지 않았다. 예를 들어, 어린이가 키보드에 대한 조작을 통해 C, 파이썬(Python)과 같은 프로그램언어를 다루는 것은 현실적으로 어려움이 있었다.The program code can also be input by the user operation means of the terminal device as described above, but such user operation means is not suitable for low-skilled people - for example, children - because it is not intuitive and requires a high degree of skilled knowledge. did not For example, it is practically difficult for children to handle programming languages such as C and Python through keyboard manipulation.

이러한 배경에서, 본 실시예의 목적은, 일 측면에서, 저숙련자가 프로그램을 생성할 수 있는 간단한 방법을 제시하는 것이다. 다른 측면에서, 본 실시예의 목적은, 저숙련자가 프로그래밍에 대한 개념을 익히고 흥미를 가질 수 있도록 하는 학습수단을 제시하는 것이다. 또 다른 측면에서, 본 실시예의 목적은, 저숙련자에게 친화적인 로봇 제어 인터페이스를 제공하는 것이다. 또 다른 측면에서, 본 실시예의 목적은, 로봇을 활용하여 다양하고 흥미로운 활동을 수행할 수 있는 방법을 제시하는 것이다.Against this background, the purpose of this embodiment is, in one aspect, to present a simple method by which a low-skilled person can create a program. In another aspect, an object of the present embodiment is to provide a learning means for a low-skilled person to learn a concept about programming and to have an interest in it. In another aspect, an object of the present embodiment is to provide a robot control interface that is friendly to a less skilled user. In another aspect, an object of the present embodiment is to suggest a method for performing various interesting activities using a robot.

전술한 목적을 달성하기 위하여, 일 실시예는, 디스플레이패널을 포함하고, 상기 디스플레이패널에 복수의 코드블럭들을 표시하며, 각각의 코드블럭에 프로그램코드를 매칭시키고, 상기 디스플레이패널에 대한 사용자조작을 인식하여 상기 코드블럭들의 표시 위치를 이동시키는 디스플레이장치; 가시성이 낮은 미세패턴과 가시성이 높은 코드표식이 인쇄되는 복수의 코드카드들; 및 하측으로 바퀴들이 배치되고, 바닥면을 지향하도록 카메라가 배치되며, 상기 카메라를 통해 인식되는 복수의 미세패턴들을 프로그램코드들로 매칭시키고 상기 프로그램코드들을 조합하여 프로그램을 생성하거나 상기 디스플레이장치에서의 상기 코드블럭들의 배치에 따라 상기 프로그램코드들을 조합하여 상기 프로그램을 생성하고, 상기 프로그램의 실행에 따라 상기 바퀴들을 조작하여 몸체를 이동시키는 로봇을 포함하는 로봇시스템을 제공한다. In order to achieve the above object, an embodiment includes a display panel, displays a plurality of code blocks on the display panel, matches a program code to each code block, and performs a user operation on the display panel. a display device for recognizing and moving the display positions of the code blocks; a plurality of code cards on which a low-visibility fine pattern and a high-visibility code mark are printed; And wheels are disposed on the lower side, and a camera is disposed to face the bottom surface, and a plurality of fine patterns recognized through the camera are matched with program codes, and a program is created by combining the program codes or in the display device. Provided is a robot system including a robot that generates the program by combining the program codes according to the arrangement of the code blocks and moves the body by manipulating the wheels according to the execution of the program.

상기 로봇은, 상기 카메라를 통해, 책에 인쇄되어 있는 상기 미세패턴을 인식하고, 상기 책에 인쇄되어 있는 상기 미세패턴에 대응되는 콘텐츠를 스피커를 통해 독출시킬 수 있다.The robot may recognize the fine pattern printed on the book through the camera, and read the content corresponding to the fine pattern printed on the book through a speaker.

상기 로봇의 상기 몸체는 자동차형상으로 형성되고, 상기 몸체의 후면에 적어도 하나의 버튼이 배치되며, 상기 로봇은 상기 적어도 하나의 버튼에 대한 조작을 인식하여 상기 로봇의 기능 중 일부를 제어할 수 있다.The body of the robot is formed in the shape of a car, at least one button is disposed on the rear surface of the body, and the robot recognizes manipulation of the at least one button to control some of the functions of the robot. .

상기 적어도 하나의 버튼은 각각 조명장치를 내장하고, 상기 로봇은, 상기 프로그램코드들 중 일 프로그램코드에 따라 상기 조명장치의 온오프를 제어할 수 있다.Each of the at least one button may include a lighting device, and the robot may control on/off of the lighting device according to one of the program codes.

상기 로봇의 상기 몸체의 전면에 전조등이 배치되고, 상기 로봇은, 상기 프로그램코드들 중 다른 일 프로그램코드에 따라 상기 전조등의 온오프를 제어할 수 있다.A headlamp is disposed on a front surface of the body of the robot, and the robot may control on/off of the headlamp according to another one of the program codes.

상기 디스플레이장치는, 상기 로봇과의 통신을 통해 상기 프로그램코드들 혹은 상기 프로그램에 대응되는 프로그램정보를 수신하고, 상기 프로그램정보에 따라 상기 프로그램코드들에 대응되는 상기 코드블럭들을 상기 디스플레이패널에 표시할 수 있다.The display device receives the program codes or program information corresponding to the program through communication with the robot, and displays the code blocks corresponding to the program codes on the display panel according to the program information. can

상기 디스플레이패널에 표시되는 화면의 제1윈도우에 다수의 예시코드블럭들이 표시되고, 드래그조작에 따라 상기 예시코드블럭들 중 일부가 상기 화면의 제2윈도우에 이동되면서 코드블럭으로 지정되고, 상기 제2윈도우에 표시되는 상기 코드블럭들로 상기 프로그램코드들이 생성될 수 있다.A plurality of example code blocks are displayed on the first window of the screen displayed on the display panel, and some of the example code blocks are moved to the second window of the screen according to a drag operation and designated as code blocks. The program codes can be generated with the code blocks displayed in the second window.

상기 코드블럭들의 배치 위치에 따라 각 코드블럭에 대응되는 프로그램코드의 실행 순서가 결정될 수 있다.An execution order of program codes corresponding to each code block may be determined according to the arrangement positions of the code blocks.

인식되는 상기 복수의 미세패턴들의 순서에 따라 각 미세패턴에 대응되는 프로그램코드의 실행 순서가 결정될 수 있다.An execution order of program codes corresponding to each fine pattern may be determined according to the sequence of the plurality of fine patterns recognized.

다른 실시예는, 디스플레이패널의 화면의 제1윈도우에 다수의 예시코드블럭들을 표시하는 단계; 드래그조작을 인식하여 상기 다수의 예시코드블럭들 중 일부 예시코드블럭들을 상기 화면의 제2윈도우로 이동시켜 표시하는 단계; 상기 제2윈도우로 이동되는 상기 일부 예시코드블럭들을 코드블럭들로 인식하고, 상기 코드블럭들에 프로그램코드들을 매칭시키는 단계; 상기 코드블럭들의 배치에 따라 상기 프로그램코드들의 실행순서를 결정하면서 상기 프로그램코드들을 조합하여 프로그램을 생성하는 단계; 및 상기 프로그램을 실행시키면서 로봇을 조작하는 단계를 포함하는 코딩방법을 제공한다. Another embodiment includes displaying a plurality of example code blocks on a first window of a screen of a display panel; Recognizing a drag operation and displaying some example code blocks among the plurality of example code blocks by moving them to a second window of the screen; Recognizing some of the example code blocks moved to the second window as code blocks, and matching program codes to the code blocks; generating a program by combining the program codes while determining an execution order of the program codes according to the arrangement of the code blocks; And it provides a coding method comprising the step of manipulating the robot while executing the program.

상기 로봇의 몸체 하측으로 바퀴들이 배치되고, 바닥면을 지향하도록 상기 몸체의 일측으로 카메라가 배치될 수 있다.Wheels may be disposed below the body of the robot, and a camera may be disposed at one side of the body to face the floor.

상기 코딩방법은 복수의 코드카드들이 상기 카메라에 의해 촬영되고, 상기 코드카드들에 인쇄된 미세패턴들이 상기 프로그램코드들로 매칭되고, 상기 프로그램코드들을 조합하여 상기 프로그램을 생성하는 단계를 더 포함할 수 있다.The coding method may further include taking a plurality of code cards by the camera, matching fine patterns printed on the code cards with the program codes, and generating the program by combining the program codes. can

상기 로봇의 상기 몸체는 자동차형상으로 형성되고, 상기 몸체의 후면에 적어도 하나의 버튼이 배치되며, 상기 코딩방법은 상기 적어도 하나의 버튼에 대한 조작을 인식하여 상기 로봇의 기능 중 일부를 제어하는 단계를 더 포함할 수 있다.The body of the robot is formed in the shape of a car, at least one button is disposed on the rear surface of the body, and the coding method recognizes manipulation of the at least one button and controls some of the functions of the robot. may further include.

상기 적어도 하나의 버튼은 각각 조명장치를 내장하고, 상기 코딩방법은 상기 프로그램코드들 중 일 프로그램코드에 따라 상기 조명장치의 온오프를 제어하는 단계를 더 포함할 수 있다.Each of the at least one button may include a lighting device, and the coding method may further include controlling on/off of the lighting device according to one of the program codes.

상기 코딩방법은 상기 로봇으로부터 다른 프로그램코드들 혹은 다른 프로그램을 수신하는 단계; 및 상기 다른 프로그램코드들 혹은 상기 다른 프로그램에 포함되는 상기 다른 프로그램코드들을 상기 제2윈도우에 표시하는 단계를 더 포함할 수 있다.The coding method may include receiving other program codes or other programs from the robot; and displaying the other program codes or the other program codes included in the other program on the second window.

이상에서 설명한 바와 같이 본 실시예에 의하면, 어린이와 같은 저숙련자도 프로그램을 간단한 방법으로 생성할 수 있게 된다. 그리고, 본 실시예에 의하면, 어린이와 같은 저숙련자가 프로그래밍에 대한 개념을 익히고 흥미를 가질 수 있도록 하는 학습수단을 제공할 수 있고, 저숙련자에게 친화적인 로봇 제어 인터페이스를 통해 저숙련자가 재미를 가지고 손쉽게 로봇을 제어할 수 있게 된다. 그리고, 본 실시예에 의하면, 모든 사람들이 로봇을 활용하여 다양하고 흥미로운 활동을 수행할 수 있게 된다.As described above, according to the present embodiment, even a low-skilled person such as a child can create a program in a simple way. In addition, according to the present embodiment, it is possible to provide a learning means for low-skilled people such as children to learn the concept of programming and to have an interest in programming, and to have fun with low-skilled people through a robot control interface friendly to low-skilled people. You can easily control the robot. And, according to the present embodiment, everyone can perform various interesting activities using the robot.

도 1은 일 실시예에 따른 로봇시스템의 구성도이다.
도 2는 일 실시예에 따른 로봇의 좌측면도이다.
도 3은 일 실시예에 따른 로봇의 하측면도이다.
도 4는 일 실시예에 따른 로봇의 후면도이다.
도 5는 일 실시예에 따른 로봇의 전면도이다.
도 6은 일 실시예에 따른 로봇의 구성도이다.
도 7은 일 실시예에 따른 코드카드의 예시들이다.
도 8은 일 실시예에 따른 디스플레이장치의 화면 구성도이다.
도 9는 일 실시예에 따른 주행판의 제1예시 도면이다.
도 10은 일 실시예에 따른 주행판의 제2예시 도면이다.
도 11은 카드코딩을 수행하는 로봇시스템의 일 예시 구성도이다.
도 12는 코드카드에 의한 로봇시스템의 코딩 및 동작방법의 흐름도이다.
도 13은 스마트코딩을 수행하는 로봇시스템의 일 예시 구성도이다.
도 14는 스마트코딩을 수행하는 디스플레이장치의 화면 예시도이다.
도 15는 일 실시예에 따른 스마트 코딩방법의 흐름도이다.
도 16은 RC카모드를 수행하는 로봇시스템의 일 예시 구성도이다.
도 17은 일 실시예에 따른 RC카모드 운행제어방법의 흐름도이다.
도 18은 라인트래킹모드를 수행하는 로봇시스템의 일 예시 구성도이다.
도 19는 영상보기모드를 수행하는 로봇시스템의 일 예시 구성도이다.
도 20은 일 실시예에 따른 라인트래킹 제어방법의 흐름도이다.
도 21은 이모션북마크모드를 수행하는 로봇시스템의 제어방법의 흐름도이다.
1 is a configuration diagram of a robot system according to an embodiment.
2 is a left side view of a robot according to an embodiment.
3 is a bottom view of a robot according to one embodiment.
4 is a rear view of a robot according to an embodiment.
5 is a front view of a robot according to an embodiment.
6 is a configuration diagram of a robot according to an embodiment.
7 is examples of code cards according to an embodiment.
8 is a screen configuration diagram of a display device according to an exemplary embodiment.
9 is a first exemplary view of a driving board according to an exemplary embodiment.
10 is a second exemplary view of a driving board according to an exemplary embodiment.
11 is an exemplary configuration diagram of a robot system that performs card coding.
12 is a flowchart of a method of coding and operating a robot system using a code card.
13 is an exemplary configuration diagram of a robot system that performs smart coding.
14 is an exemplary screen view of a display device performing smart coding.
15 is a flowchart of a smart coding method according to an embodiment.
16 is an exemplary configuration diagram of a robot system performing an RC car mode.
17 is a flowchart of an operation control method for an RC car mode according to an embodiment.
18 is an exemplary configuration diagram of a robot system performing a line tracking mode.
19 is an exemplary configuration diagram of a robot system performing an image viewing mode.
20 is a flowchart of a line tracking control method according to an embodiment.
21 is a flowchart of a control method of a robot system performing an E-motion bookmark mode.

이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail through exemplary drawings. In adding reference numerals to components of each drawing, it should be noted that the same components have the same numerals as much as possible even if they are displayed on different drawings. In addition, in describing the present invention, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present invention, the detailed description will be omitted.

또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.Also, terms such as first, second, A, B, (a), and (b) may be used in describing the components of the present invention. These terms are only used to distinguish the component from other components, and the nature, order, or order of the corresponding component is not limited by the term. When an element is described as being “connected,” “coupled to,” or “connected” to another element, that element is directly connected or connectable to the other element, but there is another element between the elements. It will be understood that elements may be “connected”, “coupled” or “connected”.

도 1은 일 실시예에 따른 로봇시스템의 구성도이다.1 is a configuration diagram of a robot system according to an embodiment.

도 1을 참조하면, 로봇시스템(100)은 로봇(110), 코드카드(120), 디스플레이장치(130) 및 주행판(140) 등을 포함할 수 있다.Referring to FIG. 1 , the robot system 100 may include a robot 110, a code card 120, a display device 130, and a running board 140.

로봇(110)은 프로그램코드에 의한 명령에 따라 제어될 수 있다. 로봇(110)은 다양한 동작장치를 포함할 수 있는데, 예를 들어, 바퀴들을 포함할 수 있고, 내장스피커를 포함할 수 있고, 조명장치를 포함할 수 있고, 통신장치를 포함할 수 있다. 프로그램코드에 의한 명령에 따라 로봇(110)은 이러한 동작장치들을 제어할 수 있다. 이외에도 로봇(110)은 메모리, 프로세서 등의 전자장치를 포함하고 있으면서 프로그램코드에 의한 명령에 따라 전자장치들을 제어할 수 있다.The robot 110 may be controlled according to a command by a program code. The robot 110 may include various operating devices, for example, wheels, a built-in speaker, a lighting device, and a communication device. The robot 110 can control these operating devices according to commands by program codes. In addition, the robot 110 includes electronic devices such as a memory and a processor, and may control the electronic devices according to a command by a program code.

로봇(110)은 다양한 형상을 가질 수 있고, 예를 들어, 로봇(110)은 외관이 자동차형상을 가질 수 있다. 로봇(110)에는 사용자조작을 인식할 수 있는 여러가지 입력수단이 부착될 수 있는데, 이러한 입력수단은 자동차의 외관 부품과 같은 형상을 가질 수 있다. 예를 들어, 로봇(110)의 외측면에는 버튼들이 배치될 수 있는데, 이러한 버튼들 중 일부는 자동차의 후미등의 위치에 배치될 수 있고, 자동차의 문손잡이 위치에 배치될 수 있다. 후미등의 위치에 배치되는 버튼에는 조명장치가 내장되어 있어서 외관적으로는 후미등과 같은 형태를 가지고 또한 후미등처럼 방향/정지 등을 나타내도록 동작할 수 있다.The robot 110 may have various shapes, and for example, the robot 110 may have a car shape. Various input means capable of recognizing user manipulations may be attached to the robot 110, and these input means may have the same shape as exterior parts of a vehicle. For example, buttons may be disposed on the outer surface of the robot 110, and some of these buttons may be disposed at a position of a rear light of a car or a position of a doorknob of a car. The button disposed at the position of the tail light has a built-in lighting device, so it has the same shape as the tail light and can operate to indicate direction/stop like the tail light.

로봇(110)에는 이동장치가 배치될 수 있다. 이동장치는 예를 들어, 바퀴들일 수 있다. 로봇(110)은 이러한 바퀴들을 제어하여 몸체를 이동시킬 수 있다. 바퀴들은 4개가 배치될 수 있고, 2개만 배치될 수도 있다.A moving device may be disposed in the robot 110 . The mobile devices may be wheels, for example. The robot 110 may move the body by controlling these wheels. Four wheels may be arranged, or only two may be arranged.

한편, 로봇(110)은 카메라를 포함할 수 있다. 여기서, 카메라는 비가시성의 미세패턴을 촬영하는 장치일 수 있다. 로봇(110)은 카메라를 이용하여 미세패턴을 촬영하고 미세패턴에 대응되는 코드에 따라 특정 기능을 수행할 수 있다.Meanwhile, the robot 110 may include a camera. Here, the camera may be a device for photographing an invisible micropattern. The robot 110 may photograph the micropattern using a camera and perform a specific function according to a code corresponding to the micropattern.

미세패턴은 도트의 형태를 가질 수 있다. 예를 들어, 사람의 눈으로 구분할 수 없는 크기의 영역에 도트가 일정한 패턴에 따라 배치될 수 있는데, 이러한 패턴을 미세패턴이라고 부를 수 있다. 미세패턴은 예를 들어, 도트의 배치에 따라 다양한 형태를 가질 수 있는데, 로봇(110)은 각각의 미세패턴 형태를 코드에 대응시켜 이해할 수 있다. 예를 들어, 로봇(110)은 제1형태를 가지는 제1미세패턴을 제1코드에 대응시키고, 제2형태를 가지는 제2미세패턴을 제2코드에 대응시킬 수 있다. 이러한 방법으로 로봇(110)은 16비트에 해당되는 65536개의 서로 다른 미세패턴들을 65536개의 코드에 대응시킬 수 있다.The micropattern may have a dot shape. For example, dots may be arranged according to a predetermined pattern in an area of a size that cannot be distinguished by the human eye, and such a pattern may be referred to as a micropattern. The micropatterns may have various shapes according to the arrangement of dots, for example, and the robot 110 may understand each micropattern shape by corresponding to a code. For example, the robot 110 may make a first micropattern having a first shape correspond to a first code, and a second micropattern having a second shape correspond to a second code. In this way, the robot 110 can correspond 65536 different fine patterns corresponding to 16 bits to 65536 codes.

인쇄매체에 이러한 미세패턴이 인쇄되어 있는 경우, 로봇(110)은 카메라를 이용하여 인쇄매체를 촬영하고 미세패턴을 인식할 수 있다. 그리고, 로봇(110)은 미세패턴에 대응되는 코드를 확인하고, 해당 코드에 따라 특정 기능을 수행할 수 있다. 예를 들어, 인쇄매체가 책이라고 해 보자. 책에는 문자들이 가시성을 가지는 크기로 인쇄되어 있고, 가시성이 낮은 미세패턴이 함께 인쇄되어 있을 수 있다. 로봇(110)은 카메라를 이용하여 책에 인쇄되어 있는 비가시성의 미세패턴을 인식하고 미세패턴에 대응되는 코드를 확인할 수 있다. 이때, 로봇(110)에는 코드에 대응되는 콘텐츠파일이 저장되어 있을 수 있는데, 로봇(110)이 코드를 확인하면 해당 코드에 대응되는 콘텐츠파일을 읽어들여 출력시킬 수 있다. 콘텐츠파일이 해당 책에 가시성을 가지도록 인쇄된 문자들을 독음한 파일이라면, 사용자는 로봇(110)을 이용하여 책에 인쇄된 문자들의 독음파일을 손쉽게 재생시킬 수 있다.When such a fine pattern is printed on the print medium, the robot 110 may photograph the print medium using a camera and recognize the fine pattern. In addition, the robot 110 may check a code corresponding to the micropattern and perform a specific function according to the code. For example, let's say the print medium is a book. In the book, characters may be printed in a size having visibility, and fine patterns with low visibility may be printed together. The robot 110 may use a camera to recognize an invisible fine pattern printed on a book and check a code corresponding to the fine pattern. At this time, a content file corresponding to the code may be stored in the robot 110. When the robot 110 checks the code, the content file corresponding to the code can be read and output. If the content file is a read-aloud file of characters printed in the book to have visibility, the user can easily reproduce the read-aloud file of characters printed on the book using the robot 110 .

로봇(110)이 미세패턴을 인식할 수 있는 카메라를 이용하여 인쇄매체에 인쇄되어 있는 내용들을 재생시키는 이러한 기능을 로봇(110)의 제1기능이라고 해 보자. 이하에서는 이러한 제1기능 이외의 다른 기능들이 어떻게 제1기능으로부터 도출되어 혹은 제1기능과 결합되어 수행되는지 설명한다.Let's assume that the first function of the robot 110 is such a function that the robot 110 reproduces contents printed on a print medium using a camera capable of recognizing fine patterns. Hereinafter, how functions other than the first function are derived from or combined with the first function and performed will be described.

로봇(110)은 바퀴들과 같은 이동장치를 포함하고 있기 때문에, 명령을 통해 몸체의 이동이 제어될 수 있다. 몸체의 이동을 포함하는 명령은 다양한 형태로 로봇(110)에게 전달될 수 있는데, 그 중 하나의 방법이 로봇(110)의 제1기능을 위해 부착되어 있는 카메라를 이용하는 방법이다.Since the robot 110 includes moving devices such as wheels, movement of the body can be controlled through commands. A command including movement of the body may be transmitted to the robot 110 in various forms, one of which is a method using a camera attached to the robot 110 for the first function.

로봇(110)은 카메라를 이용하여 미세패턴을 촬영하고 미세패턴에 대응되는 코드에 따라 명령을 확인하고 몸체의 이동 혹은 다른 동작을 수행할 수 있다. 이하에서는 설명의 편의를 위해 로봇(110)의 동작을 제어하기 위한 이러한 코드를 프로그램코드라고 호칭한다. 여기서, 동작은 몸체의 이동만을 나타내는 것은 아니며, 로봇(110)의 내부 계산, 로봇(110)의 통신 등 로봇(110)이 수행할 수 있는 모든 기능을 포함할 수 있다.The robot 110 may photograph the micropattern using a camera, confirm a command according to a code corresponding to the micropattern, and perform movement of the body or other motion. Hereinafter, for convenience of description, these codes for controlling the operation of the robot 110 are referred to as program codes. Here, the motion does not represent only the movement of the body, and may include all functions that the robot 110 can perform, such as internal calculation of the robot 110 and communication of the robot 110.

코드카드(120)에 프로그램코드에 대응되는 미세패턴이 인쇄될 수 있다.A fine pattern corresponding to the program code may be printed on the code card 120 .

로봇시스템(100)은 다수의 코드카드들(120)을 포함할 수 있다. 그리고, 각각의 코드카드(120)에는 미세패턴이 인쇄될 수 있다. 코드카드(120)의 한쪽면에는 하나의 미세패턴이 인쇄될 수 있다. 그리고, 다른쪽면에는 다른 하나의 미세패턴이 인쇄될 수 있다. 실시예에 따라서는 코드카드(120)의 한쪽면을 영역을 나누고 복수의 서로 다른 미세패턴을 인쇄할 수 있다.The robot system 100 may include a plurality of code cards 120 . In addition, fine patterns may be printed on each code card 120 . One fine pattern may be printed on one side of the code card 120 . And, another fine pattern may be printed on the other side. Depending on the embodiment, one surface of the code card 120 may be divided into regions and a plurality of different fine patterns may be printed.

코드카드(120)의 면에는 가시적으로 프로그램코드가 나타내는 로봇(110)의 동작이 표시될 수 있다. 예를 들어, 코드카드(120)에 인쇄된 미세패턴이 로봇(110)의 우회전을 지시하는 프로그램코드에 대응되는 경우, 해당 코드카드(120)의 면에는 우회전을 나타내는 표식이 인쇄될 수 있다. 이러한 표식을 코드표식이라고 부를 수 있다. 코드표식은 해당 프로그램코드에 의한 로봇(110)의 동작을 나타내는 표식일 수 있다.On the surface of the code card 120, the operation of the robot 110 represented by the program code can be visually displayed. For example, when the fine pattern printed on the code card 120 corresponds to a program code instructing the robot 110 to turn right, a mark indicating the right turn may be printed on the surface of the corresponding code card 120. These markers may be referred to as code markers. The code mark may be a mark indicating an operation of the robot 110 according to the corresponding program code.

코드카드(120)는 사각판상의 카드형상을 가질 수 있다. 이러한 형상에 따라 코드카드(120)에는 일정한 넓이를 가지는 면이 양쪽으로 형성될 수 있고, 두께는 상대적으로 얇을 수 있다.The code card 120 may have a card shape of a square plate. According to this shape, the code card 120 may be formed on both sides with a certain width and may have a relatively thin thickness.

코드카드(120)는 로봇(110)의 카메라에 의해 촬영되면서 그 프로그램코드가 로봇(110)에 의해 읽혀질 수 있는데, 이때, 사용자는 로봇(110)을 들고 코드카드(120)에 접근하여 프로그램코드를 읽을 수도 있으나 바닥면 상에 배치된 로봇(110)의 하측으로 코드카드(120)를 밀어 넣어 프로그램코드를 읽을 수도 있다.As the code card 120 is photographed by the camera of the robot 110, the program code can be read by the robot 110. At this time, the user holds the robot 110 and approaches the code card 120 to obtain the program code can be read, but the program code can also be read by pushing the code card 120 to the lower side of the robot 110 disposed on the floor.

로봇(110)에서 카메라는 바닥면을 지향하도록 배치될 수 있는데, 이때, 카메라의 외관과 바닥면 사이에는 일정한 간극이 존재할 수 있다. 코드카드(120)는 이러한 간극 사이에 삽입될 수 있고, 로봇(110)은 간극으로 삽입된 코드카드(120)를 촬영하여 프로그램코드를 읽어들일 수 있다.In the robot 110, a camera may be disposed to face the floor, and at this time, a certain gap may exist between the exterior of the camera and the floor. The code card 120 can be inserted between these gaps, and the robot 110 can read the program code by photographing the code card 120 inserted into the gap.

로봇(110)은 하나의 코드카드(120)를 통해 하나의 프로그램코드를 입력받고 입력받은 프로그램코드에 따라 내부 기능을 동작시킬 수 있고, 또한, 복수의 코드카드(120)를 통해 복수의 프로그램코드들을 입력받고 복수의 프로그래코드들을 순차적으로 실행시킬 수 있다.The robot 110 can receive one program code through one code card 120 and operate internal functions according to the received program code, and also a plurality of program codes through a plurality of code cards 120. can be input and a plurality of program codes can be sequentially executed.

복수의 프로그램코드들로 형성되는 것을 프로그램이라고 부를 수 있다. 로봇(110)은 복수의 프로그램코드들을 조합하여 프로그램을 생성하고 프로그램의 실행에 따라 내부 기능을 동작시킬 수 있다. 복수의 프로그램코드들을 이용하여 하나의 프로그램을 생성하는 과정은 일종의 프로그램 코딩이라고 볼 수 있는데, 어린이와 같은 저숙련자는 이러한 과정을 통해 프로그램 코딩을 손쉽게 배울 수 있게 된다.What is formed of a plurality of program codes may be referred to as a program. The robot 110 may generate a program by combining a plurality of program codes and operate internal functions according to the execution of the program. The process of generating one program using a plurality of program codes can be regarded as a kind of program coding, and a low-skilled person such as a child can easily learn program coding through this process.

코드카드(120)를 이용한 이러한 프로그램 코딩을 로봇(110)의 제2기능이라고 부르고, 별칭으로는 카드코딩이라고 부를 수 있다.This program coding using the code card 120 is called the second function of the robot 110, and may be called card coding as an alias.

로봇시스템(100)은 디스플레이장치(130)를 더 포함할 수 있는데, 디스플레이장치(130)는 사용자에게 추가적인 입력수단과 출력수단을 제공할 수 있다.The robot system 100 may further include a display device 130, and the display device 130 may provide additional input means and output means to the user.

디스플레이장치(130)는 다른 기능이 더 결합된 장치일 수 있는데, 예를 들어, 전화통화가 가능한 통신단말-예를 들어, 스마트폰-일 수 있고, 태블릿컴퓨터일 수 있다.The display device 130 may be a device combined with other functions. For example, it may be a communication terminal capable of making a phone call - for example, a smart phone - or a tablet computer.

디스플레이장치(130)는 디스플레이패널을 포함하고 있고, 통신장치를 포함할 수 있다. 디스플레이장치(130)는 디스플레이패널을 통해 사용자에게 인터페이스를 제공해 줄 수 있고, 통신장치를 통해 로봇(110)과 정보를 송수신할 수 있다.The display device 130 includes a display panel and may include a communication device. The display device 130 may provide an interface to a user through a display panel, and may transmit and receive information to and from the robot 110 through a communication device.

사용자는 디스플레이장치(130)에 대한 조작을 통해 프로그램코드들을 조합하여 프로그램을 생성할 수 있다. 그리고, 디스플레이장치(130)는 프로그램에 대응되는 프로그램정보를 로봇(110)으로 송신해서 로봇(110)이 프로그램에 따라 동작을 수행하게 할 수 있다. 로봇(110)이 디스플레이장치(130)와 통신하여 프로그램정보를 송수신하고 프로그램정보에 따라 내부 기능을 수행하는 것을 제3기능이라고 부르고, 별칭으로는 스마트 코딩이라고 부를 수 있다.A user may create a program by combining program codes through manipulation of the display device 130 . Also, the display device 130 may transmit program information corresponding to the program to the robot 110 so that the robot 110 performs an operation according to the program. The robot 110 communicating with the display device 130 to transmit/receive program information and perform internal functions according to the program information is called a third function, and may be referred to as smart coding as an alias.

디스플레이장치(130)는 프로그램을 위한 수단이 될 수도 있고, 그 자체로 하나의 사용자조작수단이 될 수 있다.The display device 130 may be a means for programming or may be a user manipulation means in itself.

디스플레이장치(130)는 디스플레이패널을 포함할 수 있고, 디스플레이패널에는 터치패널이 결합되어 있을 수 있다. 그리고, 디스플레이장치(130)는 터치패널에 대한 사용자조작을 인식할 수 있는데, 이때, 디스플레이장치(130)가 디스플레이패널에 조작기를 표시하고, 조작기에 대한 사용자조작을 인식하여 로봇(110)의 기능을 조작할 수 있다.The display device 130 may include a display panel, and a touch panel may be coupled to the display panel. And, the display device 130 can recognize the user's manipulation on the touch panel. At this time, the display device 130 displays the manipulator on the display panel, recognizes the user's manipulation on the manipulator, and functions of the robot 110. can be manipulated.

예를 들어, 디스플레이장치(130)는 디스플레이패널의 화면에 조이스틱이나 조그셔틀과 같은 조작기를 표시할 수 있다. 그리고, 디스플레이장치(130)는 조작기에 대한 사용자조작-드래그 등-을 인식하고, 사용자조작에 대응되는 명령을 로봇(110)으로 송신하여 로봇(110)을 바로 조작할 수 있다.For example, the display device 130 may display a manipulator such as a joystick or a jog shuttle on the screen of the display panel. In addition, the display device 130 recognizes a user manipulation of the manipulator, such as dragging, and transmits a command corresponding to the user manipulation to the robot 110 so that the robot 110 can be directly operated.

로봇(110)이 디스플레이장치(130)로부터 사용자조작에 대응되는 명령을 수신하고 이에 따라 내부 기능을 동작시키는 것을 제4기능이라고 부르고, 별칭으로는 RC카 모드라고 부를 수 있다.The robot 110 receiving a command corresponding to the user's manipulation from the display device 130 and operating the internal function accordingly is called a fourth function, and may be referred to as an RC car mode.

한편, 로봇(110)은 주행판(140) 상에서 주행할 수 있다. 로봇(110)은 특정한 정보가 없는 일반 바닥면에서 주행할 수 있으나, 특정한 정보가 더 있는 주행판(140) 상에서 주행하면서 추가적인 기능을 더 수행할 수 있다.Meanwhile, the robot 110 may travel on the driving board 140 . The robot 110 may travel on a general floor without specific information, but may perform additional functions while traveling on a driving board 140 with more specific information.

주행판(140)은 상측으로 주행면을 가질 수 있으며, 주행면에는 특정한 정보가 특정한 방식으로 부여되어 있을 수 있다. 그리고, 로봇(110)은 주행면에 부여되어 있는 특정한 정보를 인식하고 특정한 정보에 따라 특정 기능을 수행할 수 있다.The running board 140 may have a running surface upward, and specific information may be assigned to the running surface in a specific manner. In addition, the robot 110 may recognize specific information given to the driving surface and perform a specific function according to the specific information.

주행판(140)의 주행면에는 라인이 표시되어 있을 수 있다. 라인은 일정한 두께를 가지고 일정한 색상을 가질 수 있다. 라인은 양단이 열린 형태를 가질 수도 있고, 폐쇄형을 가질 수도 있다. 폐쇄형에서 라인은 격자의 형태를 가질 수 있다.A line may be displayed on the driving surface of the driving board 140 . A line may have a constant thickness and a constant color. The line may have a form with both ends open or may have a closed form. In the closed type, the lines may have the form of a lattice.

로봇(110)은 라인을 인식하기 위한 라인센서를 더 포함할 수 있다. 그리고, 로봇(110)은 라인센서를 이용하여 주행면에 표시되어 있는 라인을 트래킹할 수 있다. 라인센서는 색상을 더 인식할 수 있다.The robot 110 may further include a line sensor for recognizing a line. Also, the robot 110 may track the line displayed on the driving surface using the line sensor. The line sensor may further recognize colors.

라인 주변에는 비가시성의 미세패턴들이 배치될 수 있다. 로봇(110)은 라인을 트래킹하면서 카메라를 이용하여 미세패턴들을 촬영하고 각각의 미세패턴에 대응되는 프로그램코드를 실행시킬 수 있다. 이러한 동작을 제5기능이라고 부르고, 별칭으로 라인트래킹 모드라고 부를 수 있다.Invisible micropatterns may be disposed around the line. The robot 110 may capture fine patterns using a camera while tracking the line, and execute program codes corresponding to each fine pattern. This operation is called a fifth function, and may be called a line tracking mode as another name.

로봇의 실시예Robot embodiment

도 2는 일 실시예에 따른 로봇의 좌측면도이고, 도 3은 일 실시예에 따른 로봇의 하측면도이고, 도 4는 일 실시예에 따른 로봇의 후면도이고, 도 5는 일 실시예에 따른 로봇의 전면도이다.2 is a left side view of a robot according to an embodiment, FIG. 3 is a bottom view of a robot according to an embodiment, FIG. 4 is a rear view of a robot according to an embodiment, and FIG. 5 is a view according to an embodiment. This is a front view of the robot.

도 2 내지 도 5를 참조하면, 로봇(110)은 몸체(210)가 자동차형상을 가질 수 있다. 자동차형상에 따라 개방부(230)가 바퀴의 형상을 가질 수 있고, 전조등(280)이 전면에 배치될 수 있다. 또한, 버튼들(261~266)은 후면에 배치되면서 후미등과 같은 형상을 가질 수 있다.Referring to FIGS. 2 to 5 , the body 210 of the robot 110 may have a car shape. Depending on the shape of the car, the opening 230 may have the shape of a wheel, and the headlight 280 may be disposed on the front side. In addition, the buttons 261 to 266 may have the same shape as a taillight while being disposed on the rear surface.

로봇(110)은 카메라케이스(220)와 카메라(222)를 포함할 수 있다.The robot 110 may include a camera case 220 and a camera 222 .

카메라케이스(220)는 몸체(210)의 일측 외곽에 결합되어 배치될 수 있다. 카메라케이스(220)는 필기구와 같은 형상을 가질 수 있고, 바닥면과의 사이에 일정한 간극이 형성될 수 있다. 간극의 크기는 코드카드의 두께보다 클 수 있다.The camera case 220 may be coupled to and disposed on one side of the outer periphery of the body 210 . The camera case 220 may have the same shape as a writing instrument, and a certain gap may be formed between the camera case 220 and the bottom surface. The size of the gap may be greater than the thickness of the code card.

카메라(222)는 카메라케이스(220)의 내측에 배치되고, 카메라케이스(220)에 형성되는 홀을 통해 외부를 촬영할 수 있게 형성될 수 있다. 카메라(222)는 바닥면을 지향하도록 배치될 수 있다.The camera 222 may be disposed inside the camera case 220 and may be formed to take pictures of the outside through a hole formed in the camera case 220 . The camera 222 may be positioned to face the floor.

로봇(110)의 하측으로는 바퀴들(242, 244)이 배치될 수 있다. 제1바퀴(242)는 몸체(210)의 좌측에 배치되고, 제2바퀴(244)는 몸체(210)의 우측에 배치될 수 있다. 로봇(110)의 하측에는 바퀴들(242, 244) 이외에 볼(246)이 더 배치될 수 있다. 볼(246)은 구동되지 않지만, 몸체(210)의 이동에 따라 회전될 수 있다. 반면에, 바퀴들(242, 244)은 내장된 구동수단-예를 들어, 모터-에 의해 구동될 수 있다. 제1바퀴(242)와 제2바퀴(244)는 별도의 구동수단에 의해 각각 제어될 수 있다. 제1바퀴(242), 제2바퀴(244) 및 볼(246)은 삼발을 형성할 수 있다. 이러한 삼발구조에 의해 몸체(210)가 바닥면에서 자세를 안정적으로 유지할 수 있다.Wheels 242 and 244 may be disposed below the robot 110 . The first wheel 242 may be disposed on the left side of the body 210, and the second wheel 244 may be disposed on the right side of the body 210. A ball 246 may be further disposed on the lower side of the robot 110 in addition to the wheels 242 and 244 . The ball 246 is not driven, but can be rotated according to the movement of the body 210 . On the other hand, the wheels 242 and 244 may be driven by built-in driving means - for example, a motor. The first wheel 242 and the second wheel 244 may be respectively controlled by separate driving means. The first wheel 242, the second wheel 244 and the ball 246 may form a tripod. Due to this triangular structure, the body 210 can stably maintain its posture on the floor.

로봇(110)의 하측으로는 라인센서(250)가 배치될 수 있다. 라인센서(250)는 몸체(210)의 하측으로 노출되도록 부착될 수 있고, 라인을 인식하고 라인에 대한 정보를 로봇(110)으로 제공할 수 있다.A line sensor 250 may be disposed below the robot 110 . The line sensor 250 may be attached to be exposed to the lower side of the body 210, recognize the line and provide information about the line to the robot 110.

로봇(110)의 후면에는 복수의 버튼들(261~266)이 배치될 수 있다. 로봇(110)은 버튼들(261~266)에 대한 사용자조작을 인식하고 그 사용자조작에 따라 내부의 기능을 제어할 수 있다.A plurality of buttons 261 to 266 may be disposed on the back of the robot 110 . The robot 110 may recognize user manipulation of the buttons 261 to 266 and control internal functions according to the user manipulation.

로봇(110)은 제1버튼(261)의 사용자조작을 인식하여 모드를 변경할 수 있다. 로봇(110)은 복수의 모드를 설정해 놓을 수 있다. 복수의 모드는 예를 들어, 펜모드, 코딩모드, 영상모드, MP3(MPEG Audio Layer-3)모드, 스토리모드, 녹음모드 등일 수 있다. 로봇(110)은 제1버튼(261)의 사용자조작을 인식하여 모드를 전환할 수 있다. 예를 들어, 로봇(110)은 제1버튼(261)이 눌려지면, 펜모드에서 코딩모드로 전환하거나 코딩모드에서 펜모드로 전환할 수 있다. 로봇(110)은 제1버튼(261)이 눌려지는 시간도 인식할 수 있는데, 로봇(110)은 제1버튼(261)이 미리 정해진 시간 내에서 눌려지면(이하, '짧게 눌려지면'이라 함) 모드를 전환하고, 제1버튼(261)이 미리 정해진 시간 이상으로 눌려지면(이하, '길게 눌려지면'이라 함) 영상모드를 온하거나 오프할 수 있다.The robot 110 may change the mode by recognizing the user's manipulation of the first button 261 . The robot 110 may set a plurality of modes. The plurality of modes may be, for example, a pen mode, a coding mode, a video mode, an MPEG Audio Layer-3 (MP3) mode, a story mode, a recording mode, and the like. The robot 110 may change the mode by recognizing the user's manipulation of the first button 261 . For example, the robot 110 may switch from a pen mode to a coding mode or from a coding mode to a pen mode when the first button 261 is pressed. The robot 110 can also recognize the time when the first button 261 is pressed. When the first button 261 is pressed within a predetermined time (hereinafter referred to as 'shortly pressed' ) mode, and when the first button 261 is pressed for a predetermined time or more (hereinafter referred to as 'long press'), the video mode can be turned on or off.

로봇(110)은 특정 모드로 바로 전환할 수 있는데, 예를 들어, 제3버튼(263)이 눌려지면, MP3모드로 바로 전환하고, 제4버튼(264)이 눌려지면, 스토리모드로 바로 전환할 수 있다.The robot 110 can directly switch to a specific mode. For example, when the third button 263 is pressed, the robot 110 directly switches to the MP3 mode, and when the fourth button 264 is pressed, the switch directly to the story mode can do.

로봇(110)은 제2버튼(262)이 눌려지면, 현재 인식한 단어 혹은 문장의 번역문을 스피커를 통해 출력할 수 있다. 로봇(110)은 제2버튼(262)이 짧게 눌려지면 번역문을 출력하고, 길게 눌려지면 배터리잔량을 안내할 수 있다.When the second button 262 is pressed, the robot 110 may output a translation of the currently recognized word or sentence through a speaker. The robot 110 may output a translated text when the second button 262 is pressed briefly, and guide the remaining battery power when the second button 262 is pressed long.

로봇(110)은 제5버튼(265)이 눌려지면, 출력되는 음량을 감소시키고, 제6버튼(266)이 눌려지면, 출력되는 음량을 증가시킬 수 있다.The robot 110 may decrease the output volume when the fifth button 265 is pressed, and increase the output volume when the sixth button 266 is pressed.

로봇(110)의 후면에는 슬롯들(272, 274)이 형성될 수 있는데, 제1슬롯(272)에는 충전커넥터가 결합되고, 제2슬롯(274)에는 메모리카드가 삽입될 수 있다.Slots 272 and 274 may be formed on the rear surface of the robot 110, a charging connector may be coupled to the first slot 272, and a memory card may be inserted into the second slot 274.

복수의 버튼들(261~266) 중 일부 버튼에는 조명장치가 내장될 수 있는데, 예를 들어, 제1버튼(261)과 제4버튼(264)에는 조명장치가 내장될 수 있다. 로봇(110)은 이러한 조명장치를 온오프제어하여 제1버튼(261)과 제4버튼(264)을 후미등처럼 조작할 수 있다.Lighting devices may be built into some of the plurality of buttons 261 to 266 . For example, lighting devices may be built into the first button 261 and the fourth button 264 . The robot 110 can control the lighting device on/off to operate the first button 261 and the fourth button 264 like a tail light.

도 6은 일 실시예에 따른 로봇의 구성도이다.6 is a configuration diagram of a robot according to an embodiment.

도 6을 참조하면, 로봇(110)은 카메라부(610), 제어부(620), 메모리(630), 바퀴부(640), 버튼부(650) 및 조명부(660) 등을 포함할 수 있다.Referring to FIG. 6 , the robot 110 may include a camera unit 610, a controller 620, a memory 630, a wheel unit 640, a button unit 650, a lighting unit 660, and the like.

카메라부(610)는 전술한 카메라를 포함하고, 카메라를 통해 미세패턴을 촬영할 수 있다.The camera unit 610 includes the above-described camera, and may capture micropatterns through the camera.

카메라부(610)는 미세패턴을 코드로 변환하는 프로세서를 포함할 수 있다. 카메라가 인쇄매체에 인쇄되어 있는 미세패턴을 촬영하고 촬영이미지를 생성하면 프로세서는 촬영이미지를 분석하여 미세패턴을 식별하고 그에 맞는 코드를 매칭할 수 있다.The camera unit 610 may include a processor that converts fine patterns into codes. When a camera captures a micropattern printed on a print medium and generates a captured image, the processor analyzes the captured image to identify the micropattern and match a corresponding code.

제어부(620)는 로봇(110)의 전체적인 기능을 제어할 수 있다.The controller 620 may control overall functions of the robot 110 .

제어부(620)는 카메라부(610)로부터 코드를 전달받고, 코드에 대응되는 기능을 동작시킬 수 있다.The controller 620 may receive a code from the camera unit 610 and operate a function corresponding to the code.

코드는 콘텐츠코드, 동작코드, 기능코드 등일 수 있다.The code may be a content code, an action code, a function code, and the like.

콘텐츠코드는 재생이나 표시가 가능한 콘텐츠에 대응되는 코드로서, 예를 들어, 음성콘텐츠에 대응되는 코드, 영상콘텐츠에 대응되는 코드, 이미지콘텐츠에 대응되는 코드 등이 콘텐츠코드일 수 있다. 제어부(620)는 카메라부(610)로부터 콘텐츠코드를 전달받고 콘텐츠코드에 대응되는 콘텐츠를 확인한 후에 콘텐츠를 출력할 수 있다. 콘텐츠는 내부 스피커를 통해 출력될 수 있고, 블루투스와 같은 근거리 통신으로 연결된 외부 장치를 통해 출력될 수도 있다.The content code is a code corresponding to content that can be reproduced or displayed, and for example, a code corresponding to audio content, a code corresponding to video content, and a code corresponding to image content may be content codes. The control unit 620 may output the content after receiving the content code from the camera unit 610 and confirming the content corresponding to the content code. Content may be output through an internal speaker or through an external device connected through short-range communication such as Bluetooth.

동작코드는 로봇(110)의 이동을 제어하는 코드로서, 전진을 지시하는 코드, 후진을 지시하는 코드, 우회전을 지시하는 코드, 좌회전을 지시하는 코드, 멈춤을 지시하는 코드 등이 이에 해당될 수 있다.The operation code is a code for controlling the movement of the robot 110, and may include a code instructing forward movement, a code instructing backward movement, a code instructing right turn, a code instructing left turn, a code instructing stop, and the like. there is.

기능코드는 콘텐츠코드 및 동작코드 이외에 로봇(110)의 기능을 지시하는 코드이다.The function code is a code indicating the function of the robot 110 in addition to the content code and the operation code.

메모리(630)는 콘텐츠파일, 프로그램 등의 데이터를 저장할 수 있다. 제어부(620)는 코드에 따라 메모리(630)에 저장된 데이터를 읽어들일 수 있다.The memory 630 may store data such as content files and programs. The controller 620 may read data stored in the memory 630 according to the code.

바퀴부(640)는 모터와 같은 구동수단과 전술한 바퀴들을 포함하고, 구동수단을 이용하여 바퀴들을 제어할 수 있다.The wheel unit 640 includes a driving means such as a motor and the aforementioned wheels, and can control the wheels using the driving means.

버튼부(650)는 복수의 버튼들을 포함하고, 버튼들에 대한 사용자조작을 인식하고, 사용자조작에 대한 정보를 제어부(620)로 전달할 수 있다. 그리고, 제어부(620)는 사용자조작에 따라 내부의 기능을 동작시킬 수 있다.The button unit 650 may include a plurality of buttons, recognize user manipulations on the buttons, and transmit information about the user manipulations to the controller 620 . In addition, the controller 620 may operate internal functions according to user manipulations.

조명부(660)는 조명장치, 전조등 등을 포함할 수 있다. 조명장치는 버튼들에 내장될 수 있고, 전조등은 로봇의 전면에 배치될 수 있다. 조명부(660)는 제어부(620)의 지시에 따라 조명장치 혹은 전조등의 온오프를 제어할 수 있다.The lighting unit 660 may include a lighting device, a headlamp, and the like. Lighting devices can be built into the buttons, and headlights can be placed on the front of the robot. The lighting unit 660 may control on/off of a lighting device or a headlight according to instructions from the controller 620 .

코드카드의 실시예Example of code card

도 7은 일 실시예에 따른 코드카드의 예시들이다.7 is examples of code cards according to an embodiment.

도 7을 참조하면, 코드카드들(702~724)의 일면에는 가시성이 높은 코드표식이 인쇄될 수 있다.Referring to FIG. 7 , a highly visible code mark may be printed on one surface of the code cards 702 to 724 .

예를 들어, 제1코드카드(702)에는 "코딩시작"이라는 문자와 시작을 상징하는 삼각형이 코드표식으로 인쇄될 수 있고, 제9코드카드(718)에는 "직진"이라는 문자와 직진을 상징하는 화살표가 코드표식으로 인쇄될 수 있다.For example, on the first code card 702, the character "coding start" and a triangle symbolizing the start may be printed as a code mark, and on the ninth code card 718, the character "go straight" and a symbol of going straight arrows can be printed as code markers.

사용자는 코드표식을 보고 해당 코드카드에 어떤 프로그램코드가 심어져 있는지 확인할 수 있다.The user can check which program code is planted in the corresponding code card by looking at the code mark.

코드카드들(702~724)에는 가시성이 낮은 미세패턴이 인쇄될 수 있다. 미세패턴은 사람의 눈으로 잘 보이지 않을 수 있으나, 카메라에 의해서는 그 패턴이 구분될 수 있다.A micropattern with low visibility may be printed on the code cards 702 to 724 . A fine pattern may not be visible to the human eye, but the pattern may be distinguished by a camera.

로봇은 코드카드들(702~724)에 인쇄된 미세패턴을 코드로 변환할 수 있는데, 변환되는 코드에는 프로그램코드가 포함될 수 있다.The robot may convert fine patterns printed on the code cards 702 to 724 into codes, and the converted codes may include program codes.

프로그램코드는 로봇에게 특정 기능을 수행시키는 명령에 대응되는 코드이거나, 프로그램의 일 구성이 되는 코드일 수 있다. 도 7에서 제3코드카드(706) 내지 제10코드카드(720)에 대응되는 코드가 프로그램코드일 수 있다.The program code may be a code corresponding to a command for the robot to perform a specific function or a code that constitutes a part of a program. Codes corresponding to the third code card 706 to the tenth code card 720 in FIG. 7 may be program codes.

프로그램코드는 예를 들어, 제3코드카드(706)에 대응되는 것과 같은 로봇을 한 칸 전진 이동시키는 코드-한 칸의 길이는 미리 정의될 수 있음-, 제4코드카드(708)에 대응되는 것과 같은 로봇을 우회전시키는 코드, 제5코드카드(710)에 대응되는 것과 같은 로봇을 후진시키는 코드, 제6코드카드(712)에 대응되는 것과 같은 로봇을 한 칸 후진 이동시키는 코드, 제7코드카드(714)에 대응되는 것과 같은 로봇을 좌회전시키는 코드, 제8코드카드(716)에 대응되는 것과 같은 로봇의 이동을 정지시키는 코드, 제9코드카드(718)에 대응되는 것과 같은 로봇을 전진시키는 코드, 제10코드카드(720)에 대응되는 것과 같은 로봇을 10초 동안 대기시키는 코드 등일 수 있다.The program code is, for example, a code for moving the robot forward by one cell, such as that corresponding to the third code card 706 - the length of one cell can be predefined -, corresponding to the fourth code card 708 A code for turning the robot right, a code for moving the robot backward as corresponding to the fifth code card 710, a code for moving the robot backward by one space corresponding to the sixth code card 712, and a seventh code. Code for turning the robot left, such as corresponding to card 714, code for stopping the movement of the robot, such as corresponding to the eighth code card 716, and forwarding the robot, such as corresponding to the ninth code card 718 It may be a code that causes the robot to wait for 10 seconds, such as that corresponding to the 10th code card 720.

이외에도 프로그램코드는 반복 구간 시작, 반복 구간 종료, 반복 횟수, 조건 명령 코딩 시작(IF), 조건 명령 코딩 종료(End IF), 대기 명령 코딩 시작(WHILE), 대기 명령 코딩 종료(End WHILE), 외부 소리 반응-예를 들어, 박수 소리에 반응하는 것-, 10초 대기, 10분 대기, 속도 빠르게, 속도 느리게, 콘텐츠재생, 전조등 온, 전조등 오프, 후방 좌측 후미등 온, 후방 우측 후미등 온, 후방 우측 후미등 깜박, 후방 우측 후미등 깜박, 녹음 시작, 녹음 종료, 게임 시작, 게임 종료, 소리 줄임, 소리 키움 등의 코드를 포함할 수 있다.In addition, the program codes include repeat section start, repeat section end, repetition count, condition command coding start (IF), condition command coding end (End IF), wait command coding start (WHILE), wait command coding end (End WHILE), external Sound response - e.g., responding to claps -, wait 10 seconds, wait 10 minutes, speed up, speed down, play content, headlight on, headlight off, rear left tail light on, rear right tail light on, rear right It may contain codes such as blink tail light, blink rear right tail light, start recording, end recording, start game, end game, mute sound, increase sound.

코드카드들(702~724)에는 프로그램코딩과 관련된 코드도 인쇄될 수 있는데, 예를 들어, 제1코드카드(702)와 같은 코딩시작을 나타내는 코드, 제2코드카드(704)와 같은 코딩끝을 나타내는 코드, 제11코드카드(722)와 같은 전체 프로그램코드를 삭제하는 코드, 제12코드카드(724)와 같은 하나의 프로그램코드를 삭제하는 코드가 인쇄될 수 있다.Codes related to program coding may also be printed on the code cards 702 to 724, for example, a code indicating the start of coding such as the first code card 702 and the end of coding such as the second code card 704. A code representing , a code for deleting all program codes such as the 11th code card 722, and a code for deleting one program code such as the 12th code card 724 may be printed.

디스플레이장치의 실시예Example of display device

도 8은 일 실시예에 따른 디스플레이장치의 화면 구성도이다.8 is a screen configuration diagram of a display device according to an exemplary embodiment.

도 8을 참조하면, 디스플레이장치는 디스플레이패널의 화면(800)에 조작수단(820)을 표시할 수 있다. 조작수단(820)은 원형판(822)과 조작기(824)로 구분될 수 있는데, 이러한 모양은 조그셔틀 혹은 조이스틱의 모양일 수 있다.Referring to FIG. 8 , the display device may display a manipulation unit 820 on the screen 800 of the display panel. The manipulation means 820 may be divided into a circular plate 822 and a manipulator 824, which may be shaped like a jog shuttle or a joystick.

조작기(824)는 원형판(822) 내에서 움직이도록 표시가 제어될 수 있다. 사용자의 드래그조작에 따라 조작기(824)가 상하좌우 전방향으로 움직일 수 있는데, 이때, 움직임의 한도는 원형판(822)의 외곽선으로 제한될 수 있다.Manipulator 824 can be displayed controlled to move within circular plate 822 . According to the user's drag operation, the manipulator 824 can move in all directions up, down, left, and right. At this time, the limit of the movement can be limited to the outline of the round plate 822.

디스플레이장치는 사용자조작에 따른 조작기(824)의 위치를 인식할 수 있다. 이러한 위치는 좌표의 형태로 인식될 수 있는데, 디스플레이장치는 원형판(822)의 원점좌표와 조작기(824)의 위치의 차이에 따라 로봇을 제어하는 명령을 생성하고, 이러한 명령에 대응되는 조작정보를 로봇으로 송신할 수 있다.The display device can recognize the position of the manipulator 824 according to the user's manipulation. This position can be recognized in the form of coordinates. The display device generates a command to control the robot according to the difference between the coordinates of the origin of the round plate 822 and the position of the manipulator 824, and provides operation information corresponding to the command. It can be sent to a robot.

명령은 코드카드들에 대한 실시예에서 설명한 프로그램코드들 중 하나일 수 있다. 예를 들어, 명령은 로봇을 전진시키는 프로그램코드에 대응되거나 로봇을 후진시키는 프로그램코드에 대응되거나 로봇을 좌회전시키는 프로그램코드에 대응되거나 로봇을 우회전시키는 프로그램코드에 대응될 수 있다.The command may be one of the program codes described in the embodiment for code cards. For example, the command may correspond to program code for moving the robot forward, program code for moving the robot backward, program code for turning the robot left, or program code for turning the robot right.

좌회전 및 우회전은 더 세분되어 10도 좌회전, 20도 좌회전, -10도 우회전, -20도 우회전 등과 같이 세분된 각도의 프로그램코드를 가질 수 있는데, 디스플레이장치는 원점좌표에 대한 조작기(824)의 상대적인 위치에 따라 세분된 각도의 프로그램코드를 선택하고, 해당 프로그램코드에 대응되는 조작정보를 로봇으로 송신할 수 있다.The left turn and right turn may be further subdivided to have program codes for subdivided angles such as 10 degree left turn, 20 degree left turn, -10 degree right turn, -20 degree right turn, etc. It is possible to select the program code of the angle subdivided according to the position, and transmit operation information corresponding to the program code to the robot.

명령은 복수의 프로그램코드로 구성될 수 있다. 예를 들어, 명령은 로봇의 주행방향을 지시하는 프로그램코드와 주행속도의 증감을 지시하는 프로그램코드로 구성될 수 있다. 디스플레이장치는 원점좌표와 조작기(824)의 상대적인 위치에 따라 주행방향을 지시하는 프로그램코드를 선택하고, 원점좌표와 조작기(824)의 거리에 따라 주행속도의 증감을 지시하는 프로그램코드를 선택할 수 있다.A command may consist of a plurality of program codes. For example, the command may consist of a program code instructing the robot's traveling direction and a program code instructing an increase or decrease in the traveling speed. The display device may select a program code indicating the driving direction according to the relative position of the manipulator 824 and the origin coordinate, and may select a program code instructing an increase or decrease in travel speed according to the distance between the origin coordinate and the manipulator 824. .

화면(800)은 운전자 시각에서의 차량 전면 형상으로 구성될 수 있다. 예를 들어, 화면(800)에는 속도계기판(816) 및 주행계기판(818)이 표시될 수 있다. 디스플레이장치는 로봇으로부터 몸체의 주행속도를 수신하고 주행속도에 따라 속도계기판(816)의 표시를 변경할 수 있다.The screen 800 may be composed of the shape of the front of the vehicle from the driver's point of view. For example, a speed instrument panel 816 and a driving instrument panel 818 may be displayed on the screen 800 . The display device may receive the traveling speed of the body from the robot and change the display of the speed instrument panel 816 according to the traveling speed.

운전자 시각에서의 차량 전면 형상을 구현하기 위해 화면(800)에는 차량 전면 유리 영역(812)이 표시되고, 차량 전면 유리 영역(812)에 로봇 혹은 차량의 후면(814)이 더 표시될 수 있다.In order to realize the front shape of the vehicle from the driver's perspective, the vehicle windshield area 812 is displayed on the screen 800, and the robot or the rear surface 814 of the vehicle may be further displayed on the vehicle windshield area 812.

화면(800)에는 조작버튼들(802~810)이 더 표시될 수 있다.Operation buttons 802 to 810 may be further displayed on the screen 800 .

디스플레이장치가 제1조작버튼(802)에 대한 사용자조작정보를 로봇으로 송신하면 로봇은 전조등이나 후미등의 동작을 제어할 수 있다. 디스플레이장치가 제2조작버튼(804)에 대한 사용자조작정보를 로봇으로 송신하면 로봇은 효과음을 스피커를 통해 출력할 수 있다. 디스플레이장치가 제3조작버튼(806)에 대한 사용자조작정보를 송신하면 로봇은 녹음을 시작할 수 있다-로봇에는 마이크가 더 포함될 수 있음-. 디스플레이장치가 제4조작버튼(808)에 대한 사용자조작정보를 송신하면 로봇은 메모리에 저장된 MP3파일을 스피커로 출력할 수 있다. 디스플레이장치가 제5조작버튼(810)에 대한 사용자조작정보를 송신하면 스토리파일에 의한 음향을 스피커를 통해 출력할 수 있다.When the display device transmits user manipulation information for the first manipulation button 802 to the robot, the robot can control the operation of the headlight or taillight. When the display device transmits user operation information on the second operation button 804 to the robot, the robot may output sound effects through a speaker. When the display device transmits user operation information for the third operation button 806, the robot may start recording - a microphone may be further included in the robot. When the display device transmits user manipulation information for the fourth manipulation button 808, the robot can output an MP3 file stored in the memory through a speaker. When the display device transmits user manipulation information for the fifth manipulation button 810, a sound according to a story file may be output through a speaker.

하드웨어적으로, 디스플레이장치는 터치패널을 포함하는 디스플레이패널, 통신장치, 제어기, 메모리 등을 포함할 수 있다.In terms of hardware, the display device may include a display panel including a touch panel, a communication device, a controller, a memory, and the like.

주행판의 실시예Example of running board

도 9는 일 실시예에 따른 주행판의 제1예시 도면이다.9 is a first exemplary view of a driving board according to an exemplary embodiment.

도 9를 참조하면, 주행판(900)은 주행면(910)을 형성할 수 있는데, 주행면(910)에는 라인(920)이 표시될 수 있다.Referring to FIG. 9 , the driving plate 900 may form a driving surface 910 , and a line 920 may be displayed on the driving surface 910 .

라인(920)은 일정한 색상-예를 들어, 검은색-과 일정한 두께를 가질 수 있으며, 로봇의 라인센서에 의해 인식될 수 있다.The line 920 may have a constant color—for example, black—and a constant thickness, and may be recognized by a line sensor of the robot.

라인(920)의 색상을 제1색이라고 할 때, 라인(920)의 일 위치에는 제1색과 다른 제2색-예를 들어, 파란색-이 표시될 수 있는데, 로봇은 라인을 따라 주행하다가 제2색을 인식하게 되면, 유턴해서 반대방향으로 주행할 수 있다.When the color of the line 920 is referred to as the first color, a second color different from the first color (for example, blue) may be displayed at one position of the line 920. When the second color is recognized, it is possible to make a U-turn and drive in the opposite direction.

라인(920)에는 제1색 및 제2색과 다른 제3색-예를 들어, 빨간색-이 표시될 수 있는데, 로봇은 라인을 따라 주행하다가 제3색을 인식하게 되면, 더 이상 주행하지 않고 멈출 수 있다.A third color different from the first and second colors (for example, red) may be displayed on the line 920. When the robot recognizes the third color while driving along the line, it does not drive any more. can stop

제2색은 제1색상스티커(924)를 통해 주행면(910)에 표시될 수 있다. 사용자는 로봇을 유턴시키고 싶은 위치에 제1색상스티커(924)를 부착하여 제2색을 표시할 수 있다.The second color may be displayed on the driving surface 910 through the first color sticker 924 . The user can display the second color by attaching the first color sticker 924 to a location where the robot wants to make a U-turn.

제3색은 제2색상스티커(922)를 통해 주행면(910)에 표시될 수 있다. 사용자는 로봇의 주행을 정지시키고 싶은 위치에 제2색상스티커(922)를 부착하여 제3색을 표시할 수 있다.The third color may be displayed on the driving surface 910 through the second color sticker 922 . The user may display the third color by attaching the second color sticker 922 to a position where the robot wants to stop driving.

라인(920)으로부터 일정 거리범위로 이격된 위치에 비가시성의 미세패턴들이 배치될 수 있다. 미세패턴들은 주행면(910)에 직접 인쇄되는 형태로 배치될 수 있고, 패턴스티커(930, 932)에 인쇄되고 패턴스티커(930, 932)가 주행면(910)에 부착되면서 배치될 수 있다.Invisible micropatterns may be disposed at positions spaced apart from the line 920 by a predetermined distance range. The micropatterns may be arranged in a form of being directly printed on the running surface 910, or may be arranged while being printed on pattern stickers 930 and 932 and attached to the running surface 910.

로봇에서 미세패턴을 인식하는 카메라는 몸체의 일측으로 결합될 수 있다. 예를 들어, 카메라는 로봇의 입장에서 우측에 결합될 수 있다. 이때, 로봇의 주행방향을 기준으로 라인(920)의 일측에 배치되는 제1패턴스티커(932)만 인식할 수 있다. 한편, 로봇은 제2색을 인식하면 유턴을 할 수 있는데, 이러한 유턴에 따라 주행방향이 반대로 되면서 라인(920)의 타측에 배치되는 제2패턴스티커(930)도 인식할 수 있게 된다.A camera for recognizing micropatterns in the robot may be coupled to one side of the body. For example, the camera may be coupled to the right side of the robot. At this time, only the first pattern sticker 932 disposed on one side of the line 920 based on the driving direction of the robot can be recognized. On the other hand, the robot can make a U-turn when recognizing the second color. As the driving direction reverses according to this U-turn, it can also recognize the second pattern sticker 930 disposed on the other side of the line 920.

도 10은 일 실시예에 따른 주행판의 제2예시 도면이다.10 is a second exemplary view of a driving board according to an exemplary embodiment.

도 10을 참조하면, 주행판(1000)은 주행면(1010)을 형성할 수 있는데, 주행면(1010)에는 라인들(1020~1029)이 매트릭스를 형성하면서 가로세로 방향으로 배치될 수 있다.Referring to FIG. 10 , the driving plate 1000 may form a driving surface 1010 , and on the driving surface 1010 , lines 1020 to 1029 may be arranged in horizontal and vertical directions while forming a matrix.

라인들(1020~1029)은 가로방향으로 길게 늘어서는 가로라인들(1020~1024)과 세로방향으로 길게 늘어서는 세로라인들(1025~1029)을 포함할 수 있다. 가로라인들(1020~1024)은 서로 평행하게 늘어설 수 있고, 세로라인들(1025~1029)은 서로 평행하게 늘어설 수 있다.The lines 1020 to 1029 may include horizontal lines 1020 to 1024 extending in a horizontal direction and vertical lines 1025 to 1029 extending in a vertical direction. The horizontal lines 1020 to 1024 may run parallel to each other, and the vertical lines 1025 to 1029 may run parallel to each other.

라인들(1020~1029)은 일정한 색상-예를 들어, 검은색-과 일정한 두께를 가질 수 있으며, 로봇의 라인센서에 의해 인식될 수 있다.The lines 1020 to 1029 may have a constant color—for example, black—and a constant thickness, and may be recognized by a line sensor of the robot.

인접한 두 개의 가로라인과 인접한 두 개의 세로라인이 형성하는 사각영역(1030)에는 미세패턴이 배치될 수 있다. 로봇은 라인들(1020~1029)을 따라 이동하면서, 라인들(1020~1029)의 옆에 배치되는 미세패턴을 촬영하고, 미세패턴에 대응되는 프로그램코드에 따라 동작을 수행할 수 있다.A fine pattern may be disposed in the quadrangular area 1030 formed by two adjacent horizontal lines and two adjacent vertical lines. While moving along the lines 1020 to 1029, the robot may photograph micropatterns disposed next to the lines 1020 to 1029, and perform operations according to program codes corresponding to the micropatterns.

사각영역들(1030)에는 퀴즈요소들에 대응되는 미세패턴들이 인쇄될 수 있다. 퀴즈요소들은 하나의 퀴즈를 형성하는 요소들로서, 예를 들어, 덧셈에 관한 수학퀴즈에서 숫자요소들과 사칙연산요소들이 이에 해당될 수 있다.Fine patterns corresponding to the quiz elements may be printed on the square areas 1030 . The quiz elements are elements that form one quiz, and may correspond to, for example, numerical elements and four arithmetic operation elements in a math quiz on addition.

로봇은 미세패턴들을 통해 복수의 퀴즈요소들을 인식하고, 인식된 퀴즈요소들이 하나의 퀴즈를 형성하는 경우, 이에 대한 반응신호를 스피커 등을 통해 출력할 수 있다. 예를 들어, 로봇이 '10', '+', '7', '=', '17'에 대응되는 미세패턴을 연속으로 인식하면 "정답입니다"라는 음성메세지를 스피터를 통해 출력할 수 있다.The robot recognizes a plurality of quiz elements through fine patterns, and when the recognized quiz elements form one quiz, it may output a response signal for this through a speaker or the like. For example, if the robot continuously recognizes fine patterns corresponding to '10', '+', '7', '=', and '17', it can output a voice message saying "This is the correct answer" through the speaker. .

로봇은 라인들(1020~1029)에서 격자단위로 이동할 수 있다. 예를 들어, 로봇은 가로라인(1020~1024)과 세로라인(1025~1029)의 교점에서 방향을 전환할 수 있고, 인접한 두 세로라인 사이의 길이 단위로 혹은 인접한 두 가로라인 사이의 길이 단위로 이동할 수 있다.The robot may move in grid units on the lines 1020 to 1029. For example, the robot may change direction at the intersection of the horizontal lines 1020 to 1024 and the vertical lines 1025 to 1029, in units of length between two adjacent vertical lines or in units of length between two adjacent horizontal lines. can move

이상에서 로봇시스템을 구성하는 장치들을 중심으로 실시예를 설명하였는데, 아래에서는 로봇시스템의 기능을 중심으로 실시예를 설명한다.In the above, the embodiment has been described with a focus on the devices constituting the robot system, and below, the embodiment will be described with a focus on the functions of the robot system.

카드코딩의 실시예 : 제2기능Example of Card Coding: Second Function

도 11은 카드코딩을 수행하는 로봇시스템의 일 예시 구성도이다.11 is an exemplary configuration diagram of a robot system that performs card coding.

도 11을 참조하면, 로봇시스템(1100)은 로봇(110), 코드카드들(120) 및 주행판(1000)을 포함할 수 있다.Referring to FIG. 11 , a robot system 1100 may include a robot 110 , code cards 120 and a driving board 1000 .

로봇(110)은 미세패턴을 인식할 수 있는 카메라를 포함하고 있고, 코드카드들(120)에는 프로그램코드에 대응되는 미세패턴이 비가시적으로 인쇄되어 있을 수 있다.The robot 110 includes a camera capable of recognizing fine patterns, and fine patterns corresponding to program codes may be invisiblely printed on the code cards 120 .

주행판(1000)의 주행면(1010)에는 라인들(1020~1029)이 인쇄되어 있을 수 있는데, 라인들(1020~1029)은 예시적으로 가로라인들(1020~1024)와 세로라인들(1025~1029)이 서로 교차하면서 배치되는 형태를 가질 수 있다.Lines 1020 to 1029 may be printed on the running surface 1010 of the running plate 1000, and the lines 1020 to 1029 are illustratively horizontal lines 1020 to 1024 and vertical lines ( 1025 to 1029) may have a form in which they are disposed while crossing each other.

도 12는 코드카드에 의한 로봇시스템의 코딩 및 동작방법의 흐름도이다.12 is a flowchart of a method of coding and operating a robot system using a code card.

도 12를 참조하면, 로봇은 프로그램의 시작을 나타내는 시작 프로그램코드를 인식할 수 있다(S1200). 일 코드카드에 시작 프로그램코드에 대응되는 미세패턴이 인쇄되고, 로봇은 일 코드카드를 카메라로 촬영하고 일 코드카드에 인쇄된 미세패턴에 대응되는 시작 프로그램코드를 인식할 수 있다.Referring to Figure 12, the robot can recognize the start program code indicating the start of the program (S1200). A micropattern corresponding to the start program code is printed on one code card, and the robot can photograph the one code card with a camera and recognize the start program code corresponding to the micropattern printed on the one code card.

시작 프로그램코드가 인식되면, 로봇은 프로그램을 생성하기 위한 상태로 전환될 수 있다.When the start program code is recognized, the robot can be switched to a state for generating a program.

이러한 상태에서, 로봇은 추가적으로 프로그램코드들을 인식할 수 있다(S1202). 이러한 프로그램코드들을 명령 프로그램코드들이라고 할 때, 로봇은 명령 프로그램코드들을 조합하여 하나의 프로그램을 생성할 수 있다.In this state, the robot can additionally recognize program codes (S1202). When these program codes are referred to as command program codes, the robot can create one program by combining command program codes.

로봇은 프로그램의 종료를 나타내는 종료 프로그램코드를 인식할 수 있다(S1204). 종료 프로그램코드가 인식되면, 로봇은 명령 프로그램코드에 대한 인식을 종료할 수 있다.The robot can recognize the end program code indicating the end of the program (S1204). When the end program code is recognized, the robot can end recognition of the command program code.

일정 조건이 만족되면, 로봇은 프로그램을 실행시킬 수 있다. 로봇이 종료 프로그램코드를 인식하고 일정 시간이 경과하면, 일정 조건이 만족될 수 있고, 로봇의 외측면에 배치되어 있는 버튼들에 대한 사용자조작이 인식되면 일정 조건이 만족될 수 있다. 혹은 로보이 라인센서 등을 통해 라인을 인식하면 일정 조건이 만족될 수 있다.When certain conditions are satisfied, the robot can execute the program. When a predetermined time elapses after the robot recognizes the end program code, a predetermined condition may be satisfied, and a predetermined condition may be satisfied when a user manipulation of buttons disposed on an outer surface of the robot is recognized. Alternatively, if a line is recognized through a roboy line sensor, certain conditions may be satisfied.

이렇게 일정 조건이 만족되면, 로봇은 프로그램에 포함되어 있는 명령 프로그램코드들을 하나씩 실행시킬 수 있다. 예를 들어, 일 명령 프로그램코드가 바퀴에 대한 조작을 통해 일 단위 거리를 이동하라는 명령에 대응되는 경우, 로봇은 이에 따라 바퀴를 조작하여 몸체를 일 단위 거리만큼 이동시킬 수 있다.If certain conditions are satisfied in this way, the robot can execute the command program codes included in the program one by one. For example, if one command program code corresponds to a command to move a distance of one unit by manipulating a wheel, the robot may move the body by a distance of one unit by manipulating the wheel accordingly.

주행판에는 라인들이 인쇄될 수 있는데, 이러한 라인들은 다양한 경로를 형성할 수 있다. 그리고, 로봇은 프로그램을 구성하는 명령 프로그램코드들에 의해 다양한 경로 중 하나의 경로를 따라 주행할 수 있다.Lines may be printed on the running board, and these lines may form various paths. In addition, the robot may travel along one path among various paths by command program codes constituting the program.

주행판의 경로 주변에는 미세패턴들이 배치될 수 있는데, 로봇은 이러한 미세패턴들을 인식하고, 각 미세패턴에 대응되는 내부 기능을 수행할 수 있다. 예를 들어, 미세패턴이 콘텐츠파일에 대응되는 경우, 로봇은 콘텐츠파일을 읽어들여 출력할 수 있다. 출력은 내부 스피커를 통해 이루어질 수도 있고, 로봇과 통신으로 연결되어 있는 외부 장치를 통해 이루어질 수 있다. 콘텐츠파일이 영상인 경우, 디스플레이패널을 포함하는 외부 장치를 통해 콘텐츠파일에 대한 재생영상이 출력될 수 있다.Micropatterns may be arranged around the path of the running board, and the robot can recognize these micropatterns and perform internal functions corresponding to each micropattern. For example, when a fine pattern corresponds to a content file, the robot may read and output the content file. The output may be made through an internal speaker or through an external device connected to the robot through communication. When the content file is an image, a playback image of the content file may be output through an external device including a display panel.

스마트코딩의 실시예 : 제3기능Example of Smart Coding: The 3rd Function

도 13은 스마트코딩을 수행하는 로봇시스템의 일 예시 구성도이다.13 is an exemplary configuration diagram of a robot system that performs smart coding.

도 13을 참조하면, 로봇시스템(1300)은 로봇(110), 코드카드들(120), 디스플레이장치(130) 및 주행판(1000)을 포함할 수 있다.Referring to FIG. 13 , a robot system 1300 may include a robot 110, code cards 120, a display device 130, and a driving board 1000.

로봇(110)은 미세패턴을 인식할 수 있는 카메라를 포함하고 있고, 코드카드들(120)에는 프로그램코드에 대응되는 미세패턴이 비가시적으로 인쇄되어 있을 수 있다.The robot 110 includes a camera capable of recognizing fine patterns, and fine patterns corresponding to program codes may be invisiblely printed on the code cards 120 .

주행판(1000)의 주행면(1010)에는 라인들(1020~1029)이 인쇄되어 있을 수 있는데, 라인들(1020~1029)은 예시적으로 가로라인들(1020~1024)과 세로라인들(1025~1029)이 서로 교차하면서 배치되는 형태를 가질 수 있다.Lines 1020 to 1029 may be printed on the running surface 1010 of the running board 1000, and the lines 1020 to 1029 are illustratively horizontal lines 1020 to 1024 and vertical lines ( 1025 to 1029) may have a form in which they are disposed while crossing each other.

디스플레이장치(130)는 디스플레이패널을 포함하고, 디스플레이패널에 복수의 코드블럭들을 표시하며, 각각의 코드블럭에 프로그램코드를 매칭시키고, 디스플레이패널에 대한 사용자조작을 인식하여 코드블럭들의 표시 위치를 이동시킬 수 있다.The display device 130 includes a display panel, displays a plurality of code blocks on the display panel, matches program codes to each code block, recognizes a user operation on the display panel, and moves the display position of the code blocks. can make it

그리고, 로봇(110)은 디스플레이장치(130)에서의 코드블럭들의 배치에 따라 프로그램코드들을 조합하여 프로그램을 생성하고, 프로그램에 따라 내부 기능을 실행시킬 수 있다.Also, the robot 110 may generate a program by combining program codes according to the arrangement of code blocks in the display device 130 and execute internal functions according to the program.

로봇(110)의 하측으로 바퀴들이 배치될 수 있는데, 프로그램코드는 이러한 바퀴들을 조작하는 명령일 수 있다. 그리고, 로봇(110)은 일측에 배치되는 카메라를 포함할 수 있는데, 로봇(110)은 라인들(1020~1029)의 일측에 인쇄되어 있는 미세패턴을 카메라를 통해 인식하고, 미세패턴에 매칭되는 코드에 따라 내부 기능을 실행할 수 있다.Wheels may be arranged on the lower side of the robot 110, and the program code may be a command for manipulating these wheels. In addition, the robot 110 may include a camera disposed on one side, and the robot 110 recognizes the micropattern printed on one side of the lines 1020 to 1029 through the camera and matches the micropattern. Depending on the code, internal functions can be executed.

로봇(110)의 몸체는 자동차형상으로 형성되고, 몸체의 후면에 적어도 하나의 버튼이 배치될 수 있다. 외관적으로, 이러한 버튼은 후미등과 같이 내부에 조명장치를 내장하고 있으면서, 프로그램코드에 따라 조명장치를 온오프할 수 있다. 기능적으로, 이러한 버튼은 사용자의 조작-예를 들어, 누름조작-을 인식하고 이에 대응되는 전기신호를 생성할 수 있는데, 로봇(110)은 이러한 전기신호에 따라 내부 기능 중 하나를 실행할 수 있다.The body of the robot 110 is formed in the shape of a car, and at least one button may be disposed on the rear surface of the body. Externally, these buttons can turn on/off the lighting device according to the program code while having a lighting device built inside like a tail light. Functionally, these buttons can recognize a user's manipulation - for example, a pressing manipulation - and generate an electrical signal corresponding to it, and the robot 110 can execute one of its internal functions according to this electrical signal.

로봇(110)은 생성되는 프로그램에 따라 주행면(1010) 상에서 주행할 수 있는데, 주행면(1010)에는 라인들(1020~1029)과 더불어 미세패턴들이 더 인쇄되어 있고 로봇(110)은 이러한 미세패턴들을 인식하여 프로그램에서 지시한 내용 이외의 추가적인 기능을 더 실행할 수 있다.The robot 110 can run on the running surface 1010 according to the generated program. On the running surface 1010, lines 1020 to 1029 and fine patterns are further printed, and the robot 110 can run on these fine patterns. By recognizing the patterns, additional functions other than those instructed by the program can be executed.

로봇(110)에는 프로그램코드들에 의해 생성되는 프로그램 이외에 내장된 프로그램이 더 실행될 수 있는데, 전자를 코딩프로그램이라 하고, 후자를 내장프로그램이라 해 보자. 코딩프로그램은 로봇(110)의 주행을 제어하는 프로그램일 수 있고, 내장프로그램은 게임형태의 프로그램일 수 있다. 내장프로그램은 예를 들어, 제1이동에 의해 인식되는 제1숫자, 제2이동에 의해 인식되는 사칙연산, 제3이동에 의해 인식되는 제2숫자, 제4이동에 의해 인식되는 등호, 및 제5이동에 의해 인식되는 제3숫자가 하나의 정확한 수식이 되면, "정답입니다"라는 음성이 출력되도록 하는 게임프로그램일 수 있다. 예를 들어, 로봇(110)의 이동에 의해 3 x 5 = 15라는 수식이 인식되면, 로봇(110)은 내장프로그램에 따라 "정답입니다"라는 음성을 출력할 수 있다. 이때, 로봇(110)의 이동은 코딩프로그램에 의해 이루어질 수 있다. 이와 같이, 로봇(110)은 내장프로그램을 활용하여, 코딩프로그램에서의 코딩의 정확도를 평가하고, 그 활용 가치를 증가시킬 수 있다.The robot 110 may further execute a built-in program in addition to the program generated by the program codes. Let's call the former a coding program and the latter a built-in program. The coding program may be a program for controlling the driving of the robot 110, and the built-in program may be a game type program. The built-in program includes, for example, the first number recognized by the first movement, the four arithmetic operations recognized by the second movement, the second number recognized by the third movement, the equal sign recognized by the fourth movement, and the second movement. It may be a game program that outputs a voice saying "This is the correct answer" when the third number recognized by 5 moves becomes an accurate formula. For example, when the expression 3 x 5 = 15 is recognized by the movement of the robot 110, the robot 110 may output a voice saying "That is the correct answer" according to the built-in program. At this time, movement of the robot 110 may be performed by a coding program. In this way, the robot 110 may utilize the built-in program, evaluate the accuracy of coding in the coding program, and increase its utilization value.

한편, 로봇(110)은 기본적으로 전자펜의 기능을 수행할 수 있다. 로봇(110)은 카메라를 통해 책에 인쇄되어 있는 미세패턴을 인식하고, 책에 인쇄되어 있는 미세패턴에 대응되는 콘텐츠를 내부 혹은 외부의 스피커를 통해 독출시킬 수 있다. 로봇(110)은 이러한 전자펜의 기능을 수행하기 위한 카메라를 프로그램코딩에 사용할 수 있다. 로봇(110)은 카메라를 통해 코드카드들(120)에 인쇄되어 있는 미세패턴들을 인식하고 이러한 미세패턴들에 대응되는 프로그램코드들을 조합하여 프로그램을 생성할 수 있다.Meanwhile, the robot 110 may basically perform the function of an electronic pen. The robot 110 may recognize fine patterns printed on the book through a camera, and read content corresponding to the fine patterns printed on the book through an internal or external speaker. The robot 110 may use a camera for program coding to perform the function of the electronic pen. The robot 110 may recognize fine patterns printed on the code cards 120 through a camera and generate a program by combining program codes corresponding to these fine patterns.

로봇(110)에 프로그램을 생성하는 다른 방법으로, 일 실시예는 스마트코딩방법을 제공할 수 있다. 로봇(110)은 디스플레이장치(130)와의 통신을 통해 프로그램정보를 수신할 수 있고, 프로그램정보에 포함되어 있는 프로그램 혹은 프로그램코드들을 이용하여 프로그램을 생성하고 실행시킬 수 있다.As another method of generating a program in the robot 110, one embodiment may provide a smart coding method. The robot 110 may receive program information through communication with the display device 130, and may generate and execute a program using a program or program codes included in the program information.

도 14는 스마트코딩을 수행하는 디스플레이장치의 화면 예시도이다.14 is an exemplary screen view of a display device performing smart coding.

도 14를 참조하면, 디스플레이패널에 표시되는 화면은 제1윈도우(1410)와 제2윈도우(1420)를 포함할 수 있다.Referring to FIG. 14 , the screen displayed on the display panel may include a first window 1410 and a second window 1420.

제1윈도우(1410)에는 다수의 예시코드블럭들(1412)이 표시될 수 있다. 각각의 예시코드블럭들(1412)은 서로 다른 프로그램코드들에 대응될 수 있다.A plurality of example code blocks 1412 may be displayed on the first window 1410 . Each example code block 1412 may correspond to different program codes.

디스플레이패널은 터치패널을 포함할 수 있는데, 사용자는 드래그조작을 통해 예시코드블럭들(1412) 중 일부를 제2윈도우(1420)로 이동시킬 수 있다. 제1윈도우(1410)에 위치하는 일 예시코드블럭(1412)은 두 번 이상 제2윈도우(1420)로 이동될 수 있고, 서로 다른 위치에 배치될 수 있다.The display panel may include a touch panel, and the user may move some of the example code blocks 1412 to the second window 1420 through a drag operation. An example code block 1412 located in the first window 1410 may be moved to the second window 1420 two or more times and may be disposed in different positions.

제2윈도우(1420)로 이동된 예시코드블럭은 코드블럭(1422)으로 지정되면서 일정한 배치형태를 이룰 수 있다.The example code block moved to the second window 1420 may be designated as a code block 1422 and form a certain arrangement.

디스플레이장치는 제2윈도우(1420)에 표시되는 코드블럭들(1422)을 프로그램코드들에 매칭시키고, 프로그램코드들 혹은 이러한 프로그램코드들로 생성되는 프로그램에 대한 정보를 로봇으로 송신할 수 있다. 그리고, 로봇은 정보에 포함된 프로그램코드들 혹은 프로그램을 이용하여 내부 기능을 제어할 수 있다.The display device may match the code blocks 1422 displayed on the second window 1420 with the program codes, and transmit information about the program codes or programs generated with these program codes to the robot. In addition, the robot may control internal functions using program codes or programs included in the information.

로봇에서의 프로그램코드들의 실행 순서는 코드블럭들의 배치 위치에 따라 결정될 수 있다. 예를 들어, 제2윈도우(1420)에서 좌측에 배치되는 코드블럭들이 우측에 배치되는 코드블럭들보다 먼저 실행될 수 있고, 상측에 배치되는 코드블럭들이 하측에 배치되는 코드블럭들보다 먼저 실행될 수 있다. 참고로, 코드카드를 이용하여 프로그래밍을 진행할 때는 인식되는 미세패턴들의 순서에 따라 프로그램코드들의 실행 순서가 결정될 수 있다.The order of execution of program codes in the robot may be determined according to the arrangement positions of the code blocks. For example, in the second window 1420, code blocks arranged on the left side may be executed before code blocks arranged on the right side, and code blocks arranged on the top side may be executed before code blocks arranged on the bottom side of the second window 1420. . For reference, when programming is performed using a code card, the execution order of program codes may be determined according to the order of recognized fine patterns.

도 15는 일 실시예에 따른 스마트 코딩방법의 흐름도이다.15 is a flowchart of a smart coding method according to an embodiment.

도 15를 참조하면, 디스플레이장치는 디스플레이패널의 화면의 제1윈도우에 다수의 예시코드블럭들을 표시할 수 있다(S1500).Referring to FIG. 15, the display device may display a plurality of example code blocks on the first window of the screen of the display panel (S1500).

그리고, 디스플레이장치는 드래그조작을 인식하여 다수의 예시코드블럭들 중 일부 예시코드블럭들을 화면의 제2윈도우로 이동시켜 표시할 수 있다(S1502).Also, the display device may recognize the dragging operation and display some example code blocks among a plurality of example code blocks by moving them to the second window of the screen (S1502).

제2윈도우로 이동되는 일부 예시코드블럭들은 코드블럭들로 인식되고, 디스플레이장치는 이러한 코드블럭들에 프로그램코드들을 매칭시킬 수 있다(S1504).Some example code blocks moved to the second window are recognized as code blocks, and the display device can match program codes to these code blocks (S1504).

그리고, 디스플레이장치는 코드블럭들의 배치에 따라 프로그램코드들의 실행순서를 결정하면서 프로그램코드들을 조합하여 프로그램을 생성할 수 있다(S1506).Also, the display device may generate a program by combining the program codes while determining the execution order of the program codes according to the arrangement of the code blocks (S1506).

프로그램은 로봇으로 송신되고, 로봇은 프로그램을 실행시키면서 내부 기능을 조작할 수 있다(S1508).The program is transmitted to the robot, and the robot can operate internal functions while executing the program (S1508).

한편, 로봇은 카메라와 코드카드들을 이용하여 프로그래밍을 할 수 있는데, 이렇게 생성되는 프로그램은 디스플레이장치로 송신될 수 있다. 그리고, 디스플레이장치는 이러한 프로그램에 포함되어 있는 프로그램코드들을 코드블럭을 이용하여 제2윈도우에 표시할 수 있다. 사용자는 드래그조작 등을 통해 표시된 코드블럭들의 위치를 재배치하고 프로그램을 새로 생성할 수 있다. 그리고, 새로 생성된 프로그램은 다시 로봇으로 송신되어 실행될 수 있다.Meanwhile, the robot can be programmed using a camera and code cards, and the program generated in this way can be transmitted to a display device. And, the display device can display the program codes included in these programs on the second window using code blocks. The user can rearrange the positions of the displayed code blocks and create a new program through a dragging operation. Then, the newly created program may be transmitted to the robot again and executed.

RC카모드의 실시예 : 제4기능Example of RC car mode: 4th function

도 16은 RC카모드를 수행하는 로봇시스템의 일 예시 구성도이다.16 is an exemplary configuration diagram of a robot system performing an RC car mode.

도 16을 참조하면, 로봇시스템(1600)은 로봇(110) 및 디스플레이장치(130) 등을 포함할 수 있다.Referring to FIG. 16 , a robot system 1600 may include a robot 110 and a display device 130 .

로봇(110)은 자동차형상의 몸체를 포함하고, 몸체의 하측으로 바퀴들이 배치될 수 있다. 몸체의 후면에는 조명장치를 내장하는 적어도 하나의 버튼이 배치되고, 몸체의 전면에 전조등이 배치될 수 있다. 로봇(110)의 일측으로 바닥면을 지향하도록 카메라가 배치될 수 있고, 로봇(110)은 내장스피커를 포함할 수 있다.The robot 110 includes a car-shaped body, and wheels may be disposed below the body. At least one button containing a lighting device may be disposed on the rear surface of the body, and a headlamp may be disposed on the front surface of the body. A camera may be disposed to direct the floor to one side of the robot 110, and the robot 110 may include a built-in speaker.

로봇(110)은 카메라를 통해 인식되는 비가시성의 미세패턴들을 프로그램코드들로 매칭시킬 수 있고, 이러한 프로그램코드들을 조합하여 프로그램을 생성할 수 있다. 그리고, 로봇(110)은 프로그램의 실행에 따라 몸체를 이동시키거나 다른 내부 기능을 수행할 수 있다.The robot 110 may match invisible fine patterns recognized through a camera with program codes, and may generate a program by combining these program codes. Also, the robot 110 may move the body or perform other internal functions according to the execution of the program.

디스플레이장치(130)는 디스플레이패널을 포함할 수 있다. 디스플레이장치(130)는 디스플레이패널에 원형판 및 원형판 내에서 이동가능한 조작기를 표시하고, 사용자조작에 따른 조작기의 위치를 인식하고, 이러한 위치에 따라 몸체를 이동시키는 적어도 하나의 프로그램코드를 생성할 수 있다. 그리고, 디스플레이장치는 적어도 하나의 프로그램코드에 대응되는 조작정보를 로봇(110)으로 송신할 수 있다.The display device 130 may include a display panel. The display device 130 may display a circular plate and a manipulator movable within the circular plate on a display panel, recognize a position of the manipulator according to a user manipulation, and generate at least one program code for moving the body according to this position. . Also, the display device may transmit manipulation information corresponding to at least one program code to the robot 110 .

그리고, 로봇(110)은 이러한 조작정보에 따라 몸체를 이동시키거나 다른 내부 기능을 수행할 수 있다.In addition, the robot 110 may move the body or perform other internal functions according to the manipulation information.

디스플레이장치(130)에서의 조작기에 대해 좀더 살펴보기 위해, 도 8을 다시 참조한다.For a further look at the manipulators in the display device 130, reference is made to FIG. 8 again.

도 8을 참조하면, 화면(800)에 조작수단(820)이 표시될 수 있다. 조작수단(820)은 게임기나 RC카의 리모컨과 같이 조그셔틀 혹은 조이스틱의 모양을 가질 수 있다.Referring to FIG. 8 , a manipulation unit 820 may be displayed on a screen 800 . The control means 820 may have a shape of a jog shuttle or a joystick like a game machine or a remote control of an RC car.

조작수단(820)은 원형판(822)과 조작기(824)로 구성될 수 있는데, 원형판(822)은 조작기(824)가 움직이는 공간의 범위를 나타낼 수 있다. 그리고, 조작기(824)는 원형판(822)이 표시된 범위 내에서 움직일 수 있다.The manipulation means 820 may be composed of a circular plate 822 and a manipulator 824, and the circular plate 822 may indicate a range of space in which the manipulator 824 moves. And, the manipulator 824 can move within the range indicated by the circular plate 822.

조작기(824)는 사용자의 드래그조작에 따라 상하좌우 전방향으로 움직일 수 있고, 디스플레이장치는 조작기(824)의 위치를 인식할 수 있다.The manipulator 824 can move in all directions up, down, left and right according to a user's dragging operation, and the display device can recognize the position of the manipulator 824.

디스플레이장치는 원형판(822)의 중심에 해당되는 원점좌표를 알 수 있는데, 조작기(824)와 원점좌표와의 위치 관계에 따라 방향제어에 대응되는 프로그램코드를 생성하거나 속도제어에 대응되는 프로그램코드를 생성할 수 있다. 예를 들어, 디스플레이장치는 조작기(824)가 원점좌표로부터 멀어진 거리에 따라 주행속도의 증감량을 결정할 수 있다. 그리고, 디스플레이장치는 원점좌표를 지나는 일 선분-예를 들어, 원점좌표에서 오른쪽으로 연장되는 일 선분-과 조작기(824)가 이루는 각도에 따라 주행방향을 결정할 수 있다. 그리고, 디스플레이장치는 결정된 값에 따라 프로그램코드를 생성할 수 있다.The display device can know the coordinates of the origin corresponding to the center of the circular plate 822. According to the positional relationship between the manipulator 824 and the coordinates of the origin, program codes corresponding to direction control or program codes corresponding to speed control can be generated. can create For example, the display device may determine the amount of increase or decrease of the traveling speed according to the distance that the manipulator 824 is away from the origin coordinates. Also, the display device may determine the traveling direction according to an angle formed between a line segment passing through the origin coordinates—for example, a line segment extending to the right from the origin coordinates—and the manipulator 824 . And, the display device may generate a program code according to the determined value.

화면(800)은 운전자 시각에서의 차량 전면 형상으로 구성될 수 있다. 예를 들어, 화면(800)에는 속도계기판(816) 및 주행계기판(818)이 표시될 수 있다. 디스플레이장치는 로봇으로부터 몸체의 주행속도를 수신하고 주행속도에 따라 속도계기판(816)의 표시를 변경할 수 있다.The screen 800 may be composed of the shape of the front of the vehicle from the driver's point of view. For example, a speed instrument panel 816 and a driving instrument panel 818 may be displayed on the screen 800 . The display device may receive the traveling speed of the body from the robot and change the display of the speed instrument panel 816 according to the traveling speed.

운전자 시각에서의 차량 전면 형상을 구현하기 위해 화면(800)에는 차량 전면 유리 영역(812)이 표시되고, 차량 전면 유리 영역(812)에 로봇 혹은 차량의 후면(814)이 더 표시될 수 있다.In order to realize the front shape of the vehicle from the driver's perspective, the vehicle windshield area 812 is displayed on the screen 800, and the robot or the rear surface 814 of the vehicle may be further displayed on the vehicle windshield area 812.

화면(800)에는 조작버튼들(802~810)이 더 표시될 수 있다.Operation buttons 802 to 810 may be further displayed on the screen 800 .

디스플레이장치가 제1조작버튼(802)에 대한 사용자조작정보를 로봇으로 송신하면 로봇은 전조등이나 후미등의 동작을 제어할 수 있다. 디스플레이장치가 제2조작버튼(804)에 대한 사용자조작정보를 로봇으로 송신하면 로봇은 효과음을 스피커를 통해 출력할 수 있다. 디스플레이장치가 제3조작버튼(806)에 대한 사용자조작정보를 송신하면 로봇은 녹음을 시작할 수 있다-로봇에는 마이크가 더 포함될 수 있음-. 디스플레이장치가 제4조작버튼(808)에 대한 사용자조작정보를 송신하면 로봇은 메모리에 저장된 MP3파일을 스피커로 출력할 수 있다. 디스플레이장치가 제5조작버튼(810)에 대한 사용자조작정보를 송신하면 스토리파일에 의한 음향을 스피커를 통해 출력할 수 있다.When the display device transmits user manipulation information for the first manipulation button 802 to the robot, the robot can control the operation of the headlight or taillight. When the display device transmits user operation information on the second operation button 804 to the robot, the robot may output sound effects through a speaker. When the display device transmits user operation information for the third operation button 806, the robot may start recording - a microphone may be further included in the robot. When the display device transmits user manipulation information for the fourth manipulation button 808, the robot can output an MP3 file stored in the memory through a speaker. When the display device transmits user manipulation information for the fifth manipulation button 810, a sound according to a story file may be output through a speaker.

도 17은 일 실시예에 따른 RC카모드 운행제어방법의 흐름도이다.17 is a flowchart of an operation control method for an RC car mode according to an embodiment.

도 17을 참조하면, 디스플레이장치의 디스플레이패널에 원형판 및 원형판 내에서 이동가능한 조작기가 표시될 수 있다(S1700).Referring to FIG. 17, a circular plate and a manipulator movable within the circular plate may be displayed on the display panel of the display device (S1700).

디스플레이장치는 디스플레이패널, 메모리, 프로세서, 통신회로 등을 포함할 수 있고, 디스플레이패널은 터치패널을 포함할 수 있다. 디스플레이장치는 프로세서의 동작에 따라 디스플레이패널에 원형판 및 조작기를 표시할 수 있다.The display device may include a display panel, a memory, a processor, a communication circuit, and the like, and the display panel may include a touch panel. The display device may display the circular plate and the manipulator on the display panel according to the operation of the processor.

그리고, 디스플레이장치는 터치패널에 대한 사용자조작에 따른 조작기의 위치를 인식할 수 있다(S1702).And, the display device can recognize the position of the manipulator according to the user's manipulation with respect to the touch panel (S1702).

그리고, 디스플레이장치는 조작기의 위치에 따라 적어도 하나의 프로그램코드를 생성하고(S1704), 이러한 적어도 하나의 프로그램코드에 대응되는 조작정보를 로봇으로 송신할 수 있다(S1706). 그리고, 로봇은 조작정보에 따라 몸체의 이동을 제어할 수 있다(S1708).Then, the display device can generate at least one program code according to the position of the manipulator (S1704) and transmit manipulation information corresponding to the at least one program code to the robot (S1706). And, the robot can control the movement of the body according to the manipulation information (S1708).

조작정보에는 제1프로그램코드 및 제2프로그램코드가 포함될 수 있다. 여기서, 제1프로그램코드는 로봇의 방향제어에 대응되는 프로그램코드이고, 제2프로그램코드는 로봇의 속도제어에 대응되는 프로그램코드일 수 있다.The operation information may include a first program code and a second program code. Here, the first program code may be a program code corresponding to direction control of the robot, and the second program code may be a program code corresponding to speed control of the robot.

디스플레이장치는 조명장치 혹은 전조등에 대한 조작버튼을 디스플레이패널에 더 표시할 수 있다. 그리고, 이러한 조작버튼에 대한 클릭을 인식하고, 클릭에 따라 조명장치 혹은 전조등의 온오프에 대한 제3프로그램코드를 생성하고, 제3프로그램코드를 로봇으로 송신할 수 있다.The display device may further display control buttons for lighting devices or headlights on the display panel. In addition, it is possible to recognize a click of such an operation button, generate a third program code for turning on or off a lighting device or a headlight according to the click, and transmit the third program code to the robot.

로봇은 음악파일이나 음향파일을 저장하는 메모리를 더 포함할 수 있는데, 로봇은 몸체의 주행에 맞추어 음악파일 혹은 음향파일에 의한 음향을 내장스피커를 통해 출력할 수 있다.The robot may further include a memory for storing a music file or a sound file, and the robot may output sound by a music file or a sound file through a built-in speaker according to the movement of the body.

디스플레이장치는 경적소리와 같은 효과음에 대한 조작버튼을 더 표시하고, 로봇은 효과음에 대한 조작버튼의 사용자조작에 따라 효과음을 내장스피커를 통해 출력할 수 있다.The display device may further display control buttons for sound effects such as horn sounds, and the robot may output sound effects through a built-in speaker according to user manipulation of the control buttons for sound effects.

로봇은 책의 내용에 대한 스토리파일-책의 내용을 읽어놓은 음향파일-을 메모리에 저장할 수 있는데, 로봇은 몸체의 주행에 맞추어 이러한 스토리파일에 의한 음향을 내장스피커를 통해 출력할 수 있다.The robot can store a story file about the contents of the book - a sound file in which the contents of the book are read - in memory.

디스플레이장치는 로봇과의 통신을 통해 로봇의 상태를 수신하고 화면에 출력할 수 있는데, 예를 들어, 디스플레이장치는 로봇의 주행속도를 수신하고 주행속도에 따라 주행계기판의 표시를 변경할 수 있다.The display device may receive the state of the robot through communication with the robot and output it on the screen. For example, the display device may receive the driving speed of the robot and change the display on the driving instrument panel according to the driving speed.

그리고, 디스플레이장치는 디스플레이패널의 화면을 운전자 시각에서의 차량 전면 형상으로 구성하면서, 화면에 속도계기판 및 주행계기판을 표시하고, 원형판을 핸들 위치에 배치하고, 몸체의 주행에 따라 속도계기판 및 주행계기판의 표시를 변경할 수 있다.In addition, the display device configures the screen of the display panel in the shape of the front of the vehicle from the driver's perspective, displays the speed instrument panel and the driving instrument panel on the screen, places the circular plate at the steering wheel position, and displays the speed instrument panel and driving instrument panel according to the driving of the body. display can be changed.

라인트래킹모드의 실시예 : 제5기능Example of line tracking mode: 5th function

도 18은 라인트래킹모드를 수행하는 로봇시스템의 일 예시 구성도이다.18 is an exemplary configuration diagram of a robot system performing a line tracking mode.

도 18을 참조하면, 로봇시스템(1800)은 로봇(110) 및 주행판(900) 등을 포함할 수 있다.Referring to FIG. 18 , a robot system 1800 may include a robot 110 and a traveling board 900 .

주행판(900)에는 라인이 배치되고, 비가시성의 미세패턴들이 라인으로부터 일정 거리범위로 이격되어 배치될 수 있다.A line may be disposed on the driving board 900, and invisible fine patterns may be disposed spaced apart from the line by a predetermined distance.

그리고, 로봇(110)의 몸체 하측으로 바퀴들이 배치되고, 라인을 인식하는 라인센서가 로봇(110)의 몸체 외측으로 노출되도록 부착되고, 바닥면을 지향하는 카메라가 로봇(110)의 몸체에 부착될 수 있다.In addition, wheels are disposed below the body of the robot 110, a line sensor for recognizing lines is attached to be exposed to the outside of the body of the robot 110, and a camera pointing to the floor is attached to the body of the robot 110. It can be.

주행판(900)에 대해 좀더 살펴보기 위해, 도 9를 다시 참조한다.For a further look at the running board 900, reference is made to FIG. 9 again.

도 9를 참조하면, 주행판(900)에는 주행면(910)이 형성되고, 주행면(910)에는 라인(920)이 표시될 수 있다.Referring to FIG. 9 , a driving surface 910 may be formed on the driving plate 900 , and a line 920 may be displayed on the driving surface 910 .

라인(920)은 제1색을 가지고 일정한 두께를 가질 수 있으며, 로봇의 라인센서에 의해 인식될 수 있다.The line 920 may have a first color and have a constant thickness, and may be recognized by a line sensor of the robot.

라인(920)은 일단이 타단과 연결되지 않는 개방형일 수도 있고, 일단이 타단과 연결되는 폐쇄형일 수도 있다. 개방형인 경우, 로봇은 라인센서를 이용하여 라인(920)의 일단에서 출발하여 타단까지 이동할 수 있다. 폐쇄형인 경우, 로봇은 라인센서를 이용하여 라인(920)의 일 위치에서 다른 위치로 이동하거나 라인(920)을 따라 계속 순환할 수 있다.The line 920 may be an open type in which one end is not connected to the other end, or a closed type in which one end is connected to the other end. In the case of an open type, the robot may move from one end of the line 920 to the other end using the line sensor. In the case of the closed type, the robot can move from one position on the line 920 to another using line sensors or continuously cycle along the line 920.

로봇의 몸체에는 버튼들이 배치될 수 있는데, 로봇은 일 버튼에 대한 조작을 인식하여 주행을 시작할 수 있고, 일 버튼 혹은 다른 버튼에 대한 조작을 인식하여 주행을 멈출 수 있다.Buttons may be disposed on the body of the robot. The robot may start driving by recognizing manipulation of one button, and stop driving by recognizing manipulation of one button or another button.

로봇은 라인(920)을 따라 주행하다가 라인센서를 이용하여 제1색이 아닌 제2색을 센싱하고, 제2색이 센싱될 때, 주행방향을 반대로 하는 유턴(U턴)동작을 수행할 수 있다. 예를 들어, 로봇은 라인(920)을 따라 주행하다가 제2색을 가지는 제1색상스티커(924)를 센싱하면 유턴하여 반대방향으로 주행할 수 있다.While traveling along the line 920, the robot may sense a second color rather than the first color using a line sensor, and perform a U-turn operation to reverse the driving direction when the second color is sensed. there is. For example, when the robot travels along the line 920 and senses the first color sticker 924 having the second color, it can make a U-turn and travel in the opposite direction.

로봇은 라인(920)을 따라 주행하다가 라인센서를 이용하여 제1색이 아닌 제3색을 센싱하고, 제3색이 센싱될 때, 주행을 멈출 수 있다. 예를 들어, 로봇은 제1색상스티커(924)가 있는 위치에서 유턴한 후에 다시 라인(920)을 따라 주행하다가 제3색을 가지는 제2색상스티커(922)를 센싱하면 주행을 멈출 수 있다.While driving along the line 920, the robot may sense a third color instead of the first color using a line sensor, and may stop driving when the third color is sensed. For example, after making a U-turn at the location where the first color sticker 924 exists, the robot may stop driving when it senses the second color sticker 922 having the third color while driving along the line 920 again.

제2색 혹은 제3색은 제1색상스티커(924)나 제2색상스티커(922)와 같이 탈부착이 용이한 스티커에 인쇄될 수 있는데, 사용자는 이러한 스티커를 이용하여 라인(920)의 임의의 위치에 제2색 혹은 제3색을 표시할 수 있다.The second or third color may be printed on a sticker that is easily detachable, such as the first color sticker 924 or the second color sticker 922, and the user may use such a sticker to arbitrarily define the line 920. A second color or a third color may be displayed at the position.

로봇에서 미세패턴을 인식하는 카메라는 몸체의 일측으로 결합될 수 있다. 예를 들어, 카메라는 로봇의 입장에서 우측에 결합될 수 있다. 이때, 로봇의 주행방향을 기준으로 라인(920)의 일측에 배치되는 제1패턴스티커(932)만 인식할 수 있다. 한편, 로봇은 제2색을 인식하면 유턴을 할 수 있는데, 이러한 유턴에 따라 주행방향이 반대로 되면서 라인(920)의 타측에 배치되는 제2패턴스티커(930)도 인식할 수 있게 된다.A camera for recognizing micropatterns in the robot may be coupled to one side of the body. For example, the camera may be coupled to the right side of the robot. At this time, only the first pattern sticker 932 disposed on one side of the line 920 based on the driving direction of the robot can be recognized. On the other hand, the robot can make a U-turn when recognizing the second color. As the driving direction reverses according to this U-turn, it can also recognize the second pattern sticker 930 disposed on the other side of the line 920.

로봇은 미세패턴을 인식한 후에 일정한 내부 기능을 수행할 수 있다. 예를 들어, 미세패턴이 콘텐츠파일에 대응되는 경우, 로봇은 미세패턴을 인식하고 해당 콘텐츠파일을 재생할 수 있다. 혹은 미세패턴이 타이머에 대응되는 경우, 로봇은 미세패턴을 인식하고 해당 타이머의 시간만큼 멈춰 있다가 다시 주행할 수 있다.The robot can perform certain internal functions after recognizing the micropattern. For example, when a fine pattern corresponds to a content file, the robot can recognize the fine pattern and reproduce the corresponding content file. Alternatively, if the fine pattern corresponds to the timer, the robot may recognize the fine pattern, stop for the time of the corresponding timer, and then run again.

콘텐츠파일은 동영상파일일 수 있는데, 이때, 로봇은 통신을 통해 다른 장치-예를 들어, 디스플레이장치-에서 동영상파일이 재생될 수 있도록 제어를 수행할 수 있다. 이때, 동영상파일은 다른 장치에 저장되어 있고, 로봇은 동영상파일을 지시하는 코드를 다른 장치로 송신할 수 있다.The content file may be a video file, and at this time, the robot may perform control so that the video file can be reproduced in another device - for example, a display device - through communication. At this time, the video file is stored in another device, and the robot may transmit a code indicating the video file to the other device.

도 19는 영상보기모드를 수행하는 로봇시스템의 일 예시 구성도이다.19 is an exemplary configuration diagram of a robot system performing an image viewing mode.

도 19를 참조하면, 로봇(110)은 라인(920)을 따라 주행하면서, 라인(920)의 일측에 배치되는 미세패턴들(1921~1924)을 인식할 수 있다.Referring to FIG. 19 , the robot 110 may recognize fine patterns 1921 to 1924 disposed on one side of the line 920 while driving along the line 920 .

그리고, 로봇(110)은 각 미세패턴들(1921~1924)에 대응되는 코드를 디스플레이장치(1910)로 송신할 수 있다.Also, the robot 110 may transmit codes corresponding to the respective fine patterns 1921 to 1924 to the display device 1910 .

그리고, 디스플레이장치(1910)는 각 코드에 대응되는 영상콘텐츠를 화면으로 표시할 수 있다.Also, the display device 1910 may display video content corresponding to each code on a screen.

이러한 방식에 의하면, 사용자는 시청하기를 원하는 영상콘텐츠들에 대응되는 미세패턴이 인쇄된 스터커들을 라인(920)의 일측에 배치함으로써 영상콘텐츠들의 재생리스트를 구성할 수 있고, 재생순서를 결정할 수 있다. 반복적인 재생을 원하는 경우, 사용자는 라인(920)이 폐쇄형으로 구성되도록 만들 수 있고, 필요에 따라서는 유턴동작을 유도하는 색상스티커를 배치하여 반복을 만들 수 있다.According to this method, the user can compose a playlist of video contents and determine the playback order by arranging studers on one side of the line 920 printed with fine patterns corresponding to the video contents that the user wants to watch. there is. If repetitive playback is desired, the user can make the line 920 closed, and if necessary, place a color sticker that induces a U-turn operation to create repetition.

미세패턴은 로봇의 내부 동작에 대응되는 코드가 매칭될 수도 있는데, 이때, 반복횟수에 대응되는 코드가 매칭되어 일정 횟수 동안만 영상콘텐츠가 재생되도록 할 수 있다.The code corresponding to the internal operation of the robot may be matched with the micropattern. At this time, the code corresponding to the number of repetitions may be matched so that the image content is reproduced only for a certain number of times.

로봇(110)은 디스플레이장치(1910)와 직접 통신하지 않고, 인공지능스피커와 같은 중간장치와 통신할 수 있다. 이때, 로봇(110)은 미세패턴에 대응되는 코드를 인공지능스피커로 송신하고, 인공지능스피커는 인공지능서버로부터 영상콘텐츠를 다운로드받아 디스플레이장치(1910)를 통해 재생시킬 수 있다. 이때, 디스플레이장치(1910)는 IPTV(인터넷TV)이고, 인공지능스피커는 IPTV 단말기를 겸하는 인공지능스피커일 수 있다.The robot 110 may communicate with an intermediate device such as an artificial intelligence speaker without directly communicating with the display device 1910 . At this time, the robot 110 transmits the code corresponding to the fine pattern to the artificial intelligence speaker, and the artificial intelligence speaker can download image content from the artificial intelligence server and play it through the display device 1910. At this time, the display device 1910 is an IPTV (Internet TV), and the artificial intelligence speaker may be an artificial intelligence speaker that also serves as an IPTV terminal.

도 20은 일 실시예에 따른 라인트래킹 제어방법의 흐름도이다.20 is a flowchart of a line tracking control method according to an embodiment.

도 20을 참조하면, 먼저, 주행판에 라인이 그려지고, 비가시성의 미세패턴들이 라인으로부터 일정 거리범위로 이격되어 배치될 수 있다(S2000).Referring to FIG. 20 , first, a line is drawn on the running board, and invisible micropatterns may be spaced apart from the line at a predetermined distance (S2000).

그리고, 로봇이 라인센서를 통해 라인을 인식하면서 트래킹을 수행할 수 있다(S2002). 로봇은 라인을 인식하기 시작한 시점부터 트래킹을 시작할 수도 있고, 버튼에 대한 사용자조작을 인식하여 트래킹을 시작할 수도 있다. 또는 특정 색상이 인식되면 라인을 트래킹하기 시작할 수 있다.Also, the robot may perform tracking while recognizing the line through the line sensor (S2002). The robot may start tracking from the point at which it starts recognizing a line, or it may start tracking by recognizing a user's manipulation of a button. Or, it can start tracking lines when a particular color is recognized.

로봇은 라인을 트래킹하면서 카메라를 통해 미세패턴들 중 제1미세패턴을 촬영하고 제1미세패턴에 대응되는 제1코드에 따라 제1기능을 수행할 수 있다(S2004). 제1코드가 음성콘텐츠에 대응되는 경우, 로봇은 스피커를 통해 음성콘텐츠를 출력할 수 있다. 로봇은 스피커를 내장하고 있을 수 있는데, 로봇의 몸체는 자동차의 형상이고, 몸체에서 바퀴형상부분에 음향의 출력이 가능한 개방부가 형성되고, 개방부의 내측에 스피커가 배치될 수 있다.While tracking the line, the robot may photograph a first micropattern among micropatterns through a camera and perform a first function according to a first code corresponding to the first micropattern (S2004). When the first code corresponds to audio content, the robot may output the audio content through a speaker. The robot may have a built-in speaker, and the body of the robot may have the shape of a car, an opening capable of outputting sound may be formed in a wheel-shaped part of the body, and a speaker may be disposed inside the opening.

그리고, 로봇은 추가적으로 라인을 트래킹하면서 제2미세패턴을 촬영하고 제2미세패턴에 대응되는 제2코드에 따라 제2기능을 수행할 수 있다(S2006). 제2코드가 특정 동작에 대응되는 코드인 경우, 로봇은 제2코드에 따라 특정 동작을 수행할 수 있는데, 예를 들어, 로봇은 제2코드에 따라 전조등의 온오프를 제어하거나 조명장치의 온오프를 제어하거나 일정 시간 주행을 멈출 수 있다.Then, the robot may additionally track the line, take a picture of the second fine pattern, and perform the second function according to the second code corresponding to the second fine pattern (S2006). If the second code is a code corresponding to a specific operation, the robot may perform a specific operation according to the second code. For example, the robot controls on/off of a headlight or turns on a lighting device according to the second code. You can control off or stop driving for a certain period of time.

이모션북마크모드의 실시예 : 제6기능Embodiment of Emotion bookmark mode: 6th function

코드카드에 의한 프로그램, 스마트코드에 의한 프로그램 등의 프로그램은 특정 미세패턴에 매칭되어 저장될 수 있다. 예를 들어, 코드카드 혹은 스마트코드에 의해 하나의 프로그램이 생성되면, 해당 프로그램은 로봇에 의해 하나의 데이터로 인식될 수 있다. 로봇은 하나의 데이터를 하나의 코드와 매칭시켜 저장할 수 있는데, 이러한 코드를 북마크코드라고 부를 수 있다.Programs such as programs by code cards and programs by smart codes may be matched to specific micropatterns and stored. For example, if one program is generated by a code card or smart code, the corresponding program can be recognized as one data by the robot. The robot can match and store one data with one code, and this code can be called a bookmark code.

로봇은 프로그램이 생성되면, 이러한 프로그램을 북마크코드에 매칭시켜 저장할 수 있다. 북마크코드는 또한, 특정 미세패턴에 매칭되어 있을 수 있는데, 로봇은 특정 미세패턴을 인식하면 해당 미세패턴에 대응되는 북마크코드를 확인할 수 있고, 이러한 북마크코드에 프로그램을 매칭시켜 저장할 수 있다.When a program is created, the robot can store the program by matching it to a bookmark code. The bookmark code may also be matched to a specific fine pattern. When the robot recognizes the specific fine pattern, the robot can check the bookmark code corresponding to the corresponding fine pattern, and match and store the program to the bookmark code.

로봇이 카메라를 통해 북마크코드에 대응되는 미세패턴을 인식하게 되면, 이후, 로봇은 북마크코드에 대응되어 저장되어 있는 프로그램을 실행시킬 수 있다.When the robot recognizes the fine pattern corresponding to the bookmark code through the camera, the robot can then execute a program stored in correspondence with the bookmark code.

도 21은 이모션북마크모드를 수행하는 로봇시스템의 제어방법의 흐름도이다.21 is a flowchart of a control method of a robot system performing an E-motion bookmark mode.

도 21을 참조하면, 로봇시스템은 코드카드, 스마트코딩 등을 이용하여 프로그램을 생성할 수 있다(S2100).Referring to FIG. 21, the robot system may generate a program using a code card, smart coding, or the like (S2100).

그리고, 로봇은 북마크모드로 진입한 이후에 북마크코드에 대응되는 미세패턴을 인식할 수 있다(S2102).And, after entering the bookmark mode, the robot can recognize a fine pattern corresponding to the bookmark code (S2102).

그리고, 로봇은 프로그램을 북마크코드에 매칭시켜 저장할 수 있다(S2104).Then, the robot may store the program by matching it to the bookmark code (S2104).

그리고, 로봇은 실행모드로 진입한 이후에 북마크코드에 대응되는 미세패턴을 인식할 수 있다(S2106).And, after entering the execution mode, the robot can recognize the fine pattern corresponding to the bookmark code (S2106).

그리고, 로봇은 북마크코드에 매칭되어 있는 프로그램을 실행시킬 수 있다(S2108).Then, the robot can execute the program matched with the bookmark code (S2108).

프로그램에 대한 정교한 코딩에 따라 로봇은 춤과 같이 감정을 표현할 수 있고 이때, 로봇의 움직임과 함께 음악도 재생될 수 있어서 사용자는 일종의 이벤트를 관찰하는 느낌을 받을 수 있다.According to the sophisticated coding of the program, the robot can express emotions like dancing, and at this time, music can be played along with the movement of the robot, so that the user can have the feeling of observing a kind of event.

동일한 프로그램은 여러 로봇에 저장될 수 있다. 예를 들어, 스마트코딩에 의해 생성되는 프로그램은 여러 개의 로봇으로 송신될 수 있다. 그리고, 각각의 로봇은 북마크코드에 프로그램을 저장해 놓았다가 거의 비슷한 시간에 프로그램을 실행시킬 수 있다. 이러한 방법에 의하면, 로봇에 의한 군무도 가능하게 된다.The same program can be stored on several robots. For example, a program generated by smart coding can be transmitted to several robots. In addition, each robot can save a program in a bookmark code and execute the program at almost the same time. According to this method, group dancing by robots is also possible.

로봇이 이벤트 동작을 수행하고 감정을 표현하는 것 같다고 하여, 이러한 모드를 이모션북마크코드라고 부르기도 한다.It is said that the robot performs event motions and expresses emotions, so this mode is also called Emotion Bookmark Code.

이상에서 몇 가지 실시예들에 대해 설명하였는데, 이러한 본 실시예에 의하면, 어린이와 같은 저숙련자도 프로그램을 간단한 방법으로 생성할 수 있게 된다. 그리고, 본 실시예에 의하면, 어린이와 같은 저숙련자가 프로그래밍에 대한 개념을 익히고 흥미를 가질 수 있도록 하는 학습수단을 제공할 수 있고, 저숙련자에게 친화적인 로봇 제어 인터페이스를 통해 저숙련자가 재미를 가지고 손쉽게 로봇을 제어할 수 있게 된다. 그리고, 본 실시예에 의하면, 모든 사람들이 로봇을 활용하여 다양하고 흥미로운 활동을 수행할 수 있게 된다.Several embodiments have been described above, but according to this embodiment, even a low-skilled person such as a child can create a program in a simple way. In addition, according to the present embodiment, it is possible to provide a learning means for low-skilled people such as children to learn the concept of programming and to have an interest in programming, and to have fun with low-skilled people through a robot control interface friendly to low-skilled people. You can easily control the robot. And, according to the present embodiment, everyone can perform various interesting activities using the robot.

이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Terms such as "comprise", "comprise" or "having" described above mean that the corresponding component may be inherent unless otherwise stated, and therefore do not exclude other components. It should be construed that it may further include other components. All terms, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs, unless defined otherwise. Commonly used terms, such as terms defined in a dictionary, should be interpreted as consistent with the meaning in the context of the related art, and unless explicitly defined in the present invention, they are not interpreted in an ideal or excessively formal meaning.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely an example of the technical idea of the present invention, and various modifications and variations can be made to those skilled in the art without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be construed according to the claims below, and all technical ideas within the equivalent range should be construed as being included in the scope of the present invention.

Claims (5)

디스플레이패널을 포함하고, 상기 디스플레이패널에 복수의 코드블럭들을 표시하며, 각각의 코드블럭에 프로그램코드를 매칭시키고, 상기 디스플레이패널에 대한 사용자조작을 인식하여 상기 코드블럭들의 표시 위치를 이동시키는 디스플레이장치; 가시성이 낮은 미세패턴과 가시성이 높은 코드표식이 인쇄되는 복수의 코드카드들; 및 하측으로 바퀴들이 배치되고, 바닥면을 지향하도록 카메라가 배치되는 로봇;을 포함하며,
상기 로봇은, 상기 카메라를 통해 인식되는 복수의 미세패턴들을 프로그램코드들로 매칭시키고 상기 프로그램코드들을 조합하여 생성된 제1 프로그램 또는 상기 디스플레이장치에서의 상기 코드블럭들의 배치에 따라 상기 프로그램코드들을 조합하여 생성된 제2 프로그램을 북마크코드에 매칭시켜 저장하고, 상기 북마크코드에 매칭된 북마크코드 미세패턴을 인식하면 상기 제1 프로그램 또는 상기 제2 프로그램의 실행에 따라 상기 바퀴들을 조작하여 몸체를 이동시키는 로봇시스템.
A display device including a display panel, displaying a plurality of code blocks on the display panel, matching program codes to each code block, and recognizing a user operation on the display panel to move the display position of the code blocks ; a plurality of code cards on which a low-visibility fine pattern and a high-visibility code mark are printed; And a robot with wheels disposed downward and a camera disposed to face the floor;
The robot matches a plurality of fine patterns recognized through the camera with program codes and combines the program codes according to a first program generated by combining the program codes or the arrangement of the code blocks in the display device. The generated second program is matched to the bookmark code and stored, and when the bookmark code fine pattern matched to the bookmark code is recognized, the wheels are operated according to the execution of the first program or the second program to move the body robot system.
제1항에 있어서,
상기 북마크코드에 매칭된 상기 제1 프로그램 또는 상기 제2 프로그램은 복수의 다른 로봇으로 송신되어 상기 북마크코드에 매칭되어 각각의 로봇에 저장되고,
상기 각각의 로봇은 상기 북마크코드에 매칭된 상기 제1 프로그램 또는 상기 제 2 프로그램을 실행함에 따라 동일하게 움직이는 로봇시스템.
According to claim 1,
The first program or the second program matched to the bookmark code is transmitted to a plurality of other robots, matched to the bookmark code, and stored in each robot,
Each of the robots moves identically as the first program or the second program matched to the bookmark code is executed.
제1항에 있어서,
상기 디스플레이패널에 표시되는 화면의 제1윈도우에 다수의 예시코드블럭들이 표시되고, 드래그조작에 따라 상기 예시코드블럭들 중 일부가 상기 화면의 제2윈도우에 이동되면서 코드블럭으로 지정되고, 상기 제2윈도우에 표시되는 상기 코드블럭들로 상기 프로그램코드들이 생성되는 로봇시스템.
According to claim 1,
A plurality of example code blocks are displayed on the first window of the screen displayed on the display panel, and some of the example code blocks are moved to the second window of the screen according to a drag operation and designated as code blocks. The robot system in which the program codes are generated with the code blocks displayed in the second window.
디스플레이패널의 화면의 제1윈도우에 다수의 예시코드블럭들을 표시하는 단계;
드래그조작을 인식하여 상기 다수의 예시코드블럭들 중 일부 예시코드블럭들을 상기 화면의 제2윈도우로 이동시켜 표시하는 단계;
상기 제2윈도우로 이동되는 상기 일부 예시코드블럭들을 코드블럭들로 인식하고, 상기 코드블럭들에 프로그램코드들을 매칭시키는 단계;
상기 코드블럭들의 배치에 따라 상기 프로그램코드들의 실행순서를 결정하면서 상기 프로그램코드들을 조합하여 프로그램을 생성하는 단계;
상기 프로그램을 북마크코드에 매칭시켜 로봇에 저장하고, 상기 프로그램을 미세패턴에 매칭시켜 저장하는 단계; 및
상기 로봇이 상기 미세패턴을 인식하면 상기 프로그램을 실행시키는 단계를 포함하는 코딩방법.
displaying a plurality of example code blocks on a first window of a screen of a display panel;
Recognizing a drag operation and displaying some example code blocks among the plurality of example code blocks by moving them to a second window of the screen;
Recognizing some of the example code blocks moved to the second window as code blocks, and matching program codes to the code blocks;
generating a program by combining the program codes while determining an execution order of the program codes according to the arrangement of the code blocks;
matching the program to a bookmark code and storing it in a robot, and matching and storing the program to a fine pattern; and
and executing the program when the robot recognizes the fine pattern.
제4항에 있어서,
상기 프로그램을 북마크코드에 매칭시켜 로봇에 저장하고, 상기 프로그램을 미세패턴에 매칭시켜 저장하는 단계는
상기 북마크코드에 매칭된 상기 프로그램은 복수의 다른 로봇으로 송신되어 상기 북마크코드에 매칭되어 각각의 로봇에 저장되는 단계를 포함하고,
상기 로봇이 상기 미세패턴을 인식하면 상기 프로그램을 실행시키는 단계는
상기 각각의 로봇이 상기 미세패턴을 인식하면 상기 프로그램을 실행함에 따라 동일하게 움직이는 단계를 포함하는 코딩방법.
According to claim 4,
The step of matching the program to the bookmark code and storing it in the robot, and matching the program to the fine pattern and storing it
The program matched with the bookmark code is transmitted to a plurality of other robots, matched with the bookmark code, and stored in each robot,
Executing the program when the robot recognizes the fine pattern
Coding method comprising the step of moving the same as each robot executes the program when recognizing the fine pattern.
KR1020210058031A 2021-05-04 2021-05-04 Robot system and smart coding method therefor KR102525276B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210058031A KR102525276B1 (en) 2021-05-04 2021-05-04 Robot system and smart coding method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210058031A KR102525276B1 (en) 2021-05-04 2021-05-04 Robot system and smart coding method therefor

Publications (2)

Publication Number Publication Date
KR20220150715A KR20220150715A (en) 2022-11-11
KR102525276B1 true KR102525276B1 (en) 2023-04-24

Family

ID=84042927

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210058031A KR102525276B1 (en) 2021-05-04 2021-05-04 Robot system and smart coding method therefor

Country Status (1)

Country Link
KR (1) KR102525276B1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101467852B1 (en) * 2013-05-13 2014-12-02 (주) 아인전자 Controlling method for reproduction of sound from playing musical instrument by electronic pen using prints code image is printed there on and Electronic pen performing therof
KR20180007199A (en) * 2016-07-12 2018-01-22 (주)새로운교육 Coding education system, application system and providing meyhod thereof
KR20190107450A (en) * 2018-03-12 2019-09-20 주식회사 아이알브레인 System for algorithm education for drone flight control
KR102290934B1 (en) * 2019-07-11 2021-08-17 김철회 Coding learning apparatus and coding learning system including the same

Also Published As

Publication number Publication date
KR20220150715A (en) 2022-11-11

Similar Documents

Publication Publication Date Title
Frei et al. Curlybot: designing a new class of computational toys
Nacher et al. Interactive technologies for preschool game-based instruction: Experiences and future challenges
KR101410416B1 (en) Remote control method, system and user interface
US11688299B2 (en) Programming device and recording medium, and programming method
Sapounidis et al. Educational robots driven by tangible programming languages: A review on the field
JP2010233958A (en) Program, information storage medium, and game device
JP2008264575A (en) Information reproducing device and information input device
CN102335510A (en) Human-computer interaction system
KR101026738B1 (en) Multimedia control system
KR102525276B1 (en) Robot system and smart coding method therefor
KR101966914B1 (en) Toy robot control system for coding education
KR102654973B1 (en) Robot system and rc car mode operation control method therefor
KR20220150716A (en) Robot system and line tracking control method therefor
CN109445568A (en) Projection objects control method, device and host
CN203480705U (en) Learning machine capable of being controlled by gesture or motion
KR20140093553A (en) Learning pen equipped with playing function for audio and video
JP2010022673A (en) Finger input device and game device using finger input device
CN216138923U (en) Key programming interactive robot system
KR102477614B1 (en) Color sensing mission execution method in coding learning tools
CN109040721B (en) Customized dynamic audio-visual scene generation system
KR200495681Y1 (en) Coding education apparatus using music performance coding
CN214253007U (en) Full-color line inspection system
Mi et al. RoboStory: A tabletop mixed reality framework for children’s role play storytelling
CN114415924A (en) Multi-mode interaction method based on physical programming and related equipment
Horn Tangible programming with Quetzal: Opportunities for education

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant