KR20180031910A - 로봇 동작 제어 보드, 이의 동작 방법 및 이를 포함하는 로봇 동작 제어 보드 어셈블리 - Google Patents

로봇 동작 제어 보드, 이의 동작 방법 및 이를 포함하는 로봇 동작 제어 보드 어셈블리 Download PDF

Info

Publication number
KR20180031910A
KR20180031910A KR1020160120384A KR20160120384A KR20180031910A KR 20180031910 A KR20180031910 A KR 20180031910A KR 1020160120384 A KR1020160120384 A KR 1020160120384A KR 20160120384 A KR20160120384 A KR 20160120384A KR 20180031910 A KR20180031910 A KR 20180031910A
Authority
KR
South Korea
Prior art keywords
robot
block
code
unit
slot group
Prior art date
Application number
KR1020160120384A
Other languages
English (en)
Other versions
KR101915245B1 (ko
Inventor
정원민
정원교
김화진
한아름
Original Assignee
(주)이산로봇
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)이산로봇 filed Critical (주)이산로봇
Priority to KR1020160120384A priority Critical patent/KR101915245B1/ko
Publication of KR20180031910A publication Critical patent/KR20180031910A/ko
Application granted granted Critical
Publication of KR101915245B1 publication Critical patent/KR101915245B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/06Control stands, e.g. consoles, switchboards
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/003Manipulators for entertainment
    • 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/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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B1/00Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways
    • G09B1/02Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways and having a support carrying or adapted to carry the elements
    • G09B1/16Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways and having a support carrying or adapted to carry the elements the elements each bearing a plurality of different symbols, signs, or combinations of symbols and signs, only one symbol, sign, or combination thereof, of each element to be used at a time
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0023Colour matching, recognition, analysis, mixture or the like

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Physics & Mathematics (AREA)
  • Educational Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Analytical Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Software Systems (AREA)
  • Toys (AREA)
  • Manipulator (AREA)

Abstract

본 발명은 로봇 동작 제어 보드, 이의 동작 방법 및 이를 포함하는 로봇 동작 제어 보드 어셈블리에 관한 것이다. 이를 위한 본 발명의 일 실시예에 따른 로봇 동작 제어 보드는 복수의 슬롯들이 형성된 보드 형태의 상판; 상기 상판을 지지하는 지지부; 상기 복수의 슬롯들의 위치에 대응하여 상기 상판의 하부에 배치되고, 상기 슬롯을 통해 삽입되는 블록의 블록 인식 코드를 인식하는 블록 인식부; 저장부에서 상기 블록 인식 코드에 매칭하는 제어 코드를 검색하는 코드 검색부; 및 상기 제어 코드를 이용하여 로봇 제어 신호를 생성하고, 상기 로봇 제어 신호를 송신하는 제어 정보 생성부를 포함하는 것을 특징으로 한다.

Description

로봇 동작 제어 보드, 이의 동작 방법 및 이를 포함하는 로봇 동작 제어 보드 어셈블리 {CONTROL BOARD OF EDUCATION ROBOT OPERATION, METHOD FOR OPERATING THE SAME, ASSEMBLY COMPRISING THE SAME}
본 발명은 로봇 동작 제어 보드, 이의 동작 방법 및 이를 포함하는 로봇 동작 제어 보드 어셈블리에 관한 것이고, 보다 상세하게 사용자가 배치한 블록들의 배치에 따라 로봇의 동작을 제어함으로써 사용자로 하여금 놀이를 하거나 혹은 프로그래밍 언어의 개념을 학습할 수 있는 등의 기능을 할 수 있는 로봇 동작 제어보드, 이의 동작 방법 및 이를 포함하는 로봇 동작 제어보드 어셈블리에 관한 것이다.
최근, 자녀들의 교육과 놀이에 관한 학부모의 관심도는 꾸준히 증가하고 있고, 생활 수준이 향상되면서, 저 연령층들을 대상으로 한 교육과 놀이의 관심과 개발이 증대되고 있다. 또한, IT 산업의 발달과 함께 소프트웨어 분야에 대한 교육의 관심도 함께 증대되고 있다.
이러한 소프트웨어 분야에서 이용되는 소프트웨어 제작은 일반적으로 C 언어 및 자바 등을 이용하여 사용자가 코딩을 수행하고, 코딩 결과를 컴파일링 함으로써 이루어진다. 다만, 이러한 코딩에 이용되는 프로그래밍 언어의 경우, 자연어와는 그 방식이 다르고, 진입 장벽이 높기 때문에, 비전공자나 저 연령층이 학습하기가 어려운 문제점이 존재한다.
물론, 소프트웨어 제작 분야에서 프로그래밍 입문자들을 위한 베이직과 같은 언어도 존재하나, 베이직 언어도 비전공자나 저 연령층이 학습하기는 쉽지 않고, 베이직 언어만으로는 C 언어 및 자바 등의 클래스 개념 등을 이해하기가 쉽지 않다. 뿐만 아니라, 저 연령층 및 비전공자가 접근하기에는 이러한 프로그래밍 언어의 개념 그 자체가 어렵기에 금방 흥미를 잃기 쉬운 실정이다.
하지만, 이러한 저 연령층 및 비전공자의 교육 방법과 관련하여 아직 많은 개발이 이루어져 있지 않고, 교육용 기자재 또한, 단순한 그림이나 비디오 교재 등에 의지하고 있는 실정이다.
한국공개특허 제2016-0048328호(명칭: 완구의 동작 프로그래밍 학습 키트)
본 발명은 사용자가 배치한 블록들의 배치에 따라 로봇의 동작을 제어함으로써 사용자로 하여금 놀이를 하거나 혹은 프로그래밍 언어의 개념을 학습할 수 있는 등의 기능을 할 수 있는 로봇 동작 제어보드, 이의 동작 방법 및 이를 포함하는 로봇 동작 제어보드 어셈블리를 제공하는데 그 목적이 있다
상기와 같은 과제를 해결하기 위한 본 발명의 일 실시예에 따른 로봇 동작 제어 보드는 복수의 슬롯들이 형성된 보드 형태의 상판; 상기 상판을 지지하는 지지부; 상기 복수의 슬롯들의 위치에 대응하여 상기 상판의 하부에 배치되고, 상기 슬롯을 통해 삽입되는 블록의 블록 인식 코드를 인식하는 블록 인식부; 저장부에서 상기 블록 인식 코드에 매칭하는 제어 코드를 검색하는 코드 검색부; 및 상기 제어 코드를 이용하여 로봇 제어 신호를 생성하고, 상기 로봇 제어 신호를 송신하는 제어 정보 생성부를 포함하는 것을 특징으로 한다.
본 발명에서, 복수의 슬롯들은 적어도 하나의 슬롯 그룹으로 구분되고, 상기 블록 인식부는 제 1 슬롯 그룹에 삽입된 블록들의 인식 코드를 순차적으로 인식할 수 있다.
본 발명에서, 코드 검색부를 통해 검색한 제어 코드의 코드 종류를 구분하는 기능 판단부를 더 포함하고, 상기 코드 종류는 일반 코드 및 기능 코드를 포함할 수 있다.
또한, 본 발명의 일 실시예에 따른 로봇 동작 제어 보드는 코드 종류에 따라 2개 이상의 슬롯 그룹들 중 하나의 슬롯 그룹을 선택하는 슬롯 그룹 설정부를 더 포함하고, 상기 슬롯 그룹 설정부는 기능 판단부를 통해 기능 코드 중 클래스 기능 코드가 검출된 경우, 제 2 슬롯 그룹을 선택할 수 있다.
본 발명에서, 블록 인식부는 제 2 슬롯 그룹이 선택된 경우, 상기 제 2 슬롯 그룹에 포함된 블록들의 블록 코드를 순차적으로 인식할 수 있다.
본 발명에서, 슬롯 그룹 설정부는 상기 제 2 슬롯 그룹에 속한 전체 블록들의 인식 완료 여부를 판단하고, 제 2 슬롯 그룹에 속한 블록들의 전체 블록들의 인식이 완료된 경우 제 1 슬롯 그룹을 선택하며, 상기 블록 인식부는 상기 제 1 슬롯 그룹에서 상기 클래스 기능 코드를 갖는 블록에 후속하는 블록의 블록 인식 코드를 인식할 수 있다.
또한, 본 발명의 일 실시예에 따른 로봇 동작 제어 보드는 코드 검색부를 통해 검색한 제어 코드가 조건문 기능 코드인 경우, 로봇이 위치한 영역의 영역 정보를 요청하는 영역 정보 요청 신호를 생성하는 조건문 판단부를 더 포함하고, 상기 조건문 판단부는 상기 로봇으로부터 송신된 영역 인식 정보와 상기 조건문 기능 코드를 포함하는 블록의 조건 정보를 비교하며, 상기 슬롯 그룹 설정부는 상기 영역 인식 정보와 상기 조건 정보가 동일한 경우 제 3 슬롯 그룹을 선택할 수 있다.
본 발명에서, 블록은 하부 방향으로 돌출되어 상기 상판의 슬롯에 삽입되는 블록 삽입부를 포함하고, 블록 삽입부의 외주는 적어도 3개의 변의 길이가 상이한 다각형의 형상을 갖거나, 또는 적어도 하나의 변과 적어도 하나의 곡선을 갖는 형상을 가지며, 상기 블록 인식 코드는 상기 블록 삽입부의 하면에 형성될 수 있다.
본 발명에서, 블록 삽입부의 하면은 복수개의 구획된 면을 갖고, 복수개의 구획된 면 각각에는 적어도 하나의 식별 코드가 포함되며, 상기 블록 인식 코드는 상기 식별 코드가 조합된 코드일 수 있다.
본 발명에서, 각 식별 코드는 색으로 이루어지고, 상기 블록 인식부는 상기 블록 삽입부의 하면에서 복수개의 구획된 면 각각에 형성된 색을 인식함으로써 블록의 블록 인식 코드를 검출할 수 있다.
상기와 같은 과제를 해결하기 위한 본 발명의 일 실시예에 따른 로봇 동작 제어 보드 어셈블리는 상술한 로봇 동작 제어 보드와, 상기 로봇 동작 제어 보드에서 생성된 로봇 제어 신호를 수신하고, 상기 로봇 제어 신호에 따라 동작되는 로봇을 포함하는 것을 특징으로 한다.
본 발명에서, 로봇은 로봇 동작 제어 보드로부터 송신된 영역 정보 요청 신호를 수신할 시, 상기 로봇이 위치한 바닥면을 인식함으로써 상기 로봇이 위치한 영역의 영역 인식 정보를 생성하는 이미지 인식부를 포함할 수 있다.
또한, 본 발명의 일 실시예에 따른 로봇 동작 제어 보드 어셈블리는 복수개의 구획된 영역들로 구분되고, 상기 복수개의 구획된 영역들 중 적어도 일부에는 미리 설정된 이미지가 프린팅된 스토리 보드를 더 포함하고, 상기 로봇은 영역 정보 요청 신호를 수신할 시, 상기 스마트 보드 내에서 상기 로봇이 위치한 영역에 대한 영역 인식 정보를 생성할 수 있다.
본 발명에서, 스토리 보드에는 로봇의 이동을 유도하는 유도 경로 라인이 포함되고, 상기 유도 경로 라인은 스토리 보드의 복수개의 구획된 영역들의 횡방향 및 종방향으로 형성될 수 있다.
본 발명에서, 로봇은 상부 케이싱부; 상기 상부 케이싱부에 결합되는 하부 케이싱부; 및 상기 상부 케이싱부 및 상기 하부 케이싱부의 결합에 의해 형성되는 내부 공간에 배치되는 기판부를 포함하고, 상기 하부 케이싱부에는 관통홀이 형성되고, 상기 이미지 인식부는 상기 기판부의 하부에 배치되어, 상기 관통홀을 통해 상기 로봇이 위치한 바닥면을 인식할 수 있다.
본 발명에서, 로봇은 상기 기판부 상에 배치되어, 상기 로봇 제어 신호에 포함된 음향 요청 신호에 따라 음향을 재생하는 스피커부; 상기 기판부 상에 배치되어, 상기 로봇 제어 신호에 포함된 움직임 요청 신호에 따라 상기 로봇의 움직임을 제어하는 휠구동모듈부; 및 상기 로봇 제어 신호에 따라 동작하는 LED모듈부를 더 포함할 수 있다.
상기와 같은 과제를 해결하기 위한 본 발명의 일 실시예에 따른 로봇 동작 제어 보드의 동작 방법은 상기 블록 인식부에 의해, 상기 슬롯을 통해 삽입되는 블록의 블록 인식 코드를 인식하는 단계; 코드 검색부에 의해, 저장부에서 상기 블록 인식 코드에 매칭하는 제어 코드를 검색하는 단계; 및 제어 정보 생성부에 의해, 상기 제어 코드를 이용하여 로봇 제어 신호를 생성하고, 상기 로봇 제어 신호를 송신하는 단계를 포함할 수 있다.
본 발명에서, 상기 복수의 슬롯들은 적어도 하나의 슬롯 그룹으로 구분되고, 상기 슬롯을 통해 삽입되는 블록의 블록 인식 코드를 인식하는 단계는, 제 1 슬롯 그룹에 삽입된 블록들의 인식 코드를 순차적으로 인식하는 단계를 포함할 수 있다.
또한, 본 발명의 일 실시예에 따른 로봇 동작 제어 보드의 동작 방법은 기능 판단부에 의해, 상기 검색한 제어 코드의 코드 종류를 구분하는 단계를 더 포함하고, 상기 코드 종류는 일반 코드 및 기능 코드를 포함할 수 있다.
또한, 본 발명의 일 실시예에 따른 로봇 동작 제어 보드의 동작 방법은 슬롯 그룹 설정부에 의해, 상기 코드 종류에 따라 2개 이상의 슬롯 그룹들 중 하나의 슬롯 그룹을 선택하는 단계를 더 포함하고, 상기 2개 이상의 슬롯 그룹들 중 하나의 슬롯 그룹을 선택하는 단계는, 인식된 블록의 제어 코드가 클래스 기능 코드인 경우, 제 2 슬롯 그룹을 선택하는 단계를 포함할 수 있다.
또한, 본 발명의 일 실시예에 따른 로봇 동작 제어 보드의 동작 방법은 상기 슬롯 그룹 설정부에 의해, 상기 제 2 슬롯 그룹에 속한 전체 블록들의 인식 완료 여부를 판단하는 단계; 및 제 2 슬롯 그룹에 속한 전체 블록들의 인식이 완료된 경우 제 1 슬롯 그룹을 선택하는 단계를 더 포함하고, 상기 제 1 슬롯 그룹을 선택하는 단계 이후, 상기 블록 인식부에 의해, 상기 제 1 슬롯 그룹에서 상기 클래스 기능 코드를 갖는 블록에 후속하는 블록의 블록 인식 코드를 인식하는 단계가 수행될 수 있다.
또한, 본 발명의 일 실시예에 따른 로봇 동작 제어 보드의 동작 방법은 조건문 판단부에 의해, 인식된 제어 코드가 조건문 기능 코드인 경우, 로봇이 위치한 영역의 영역 정보를 요청하는 영역 정보 요청 신호를 생성하는 단계; 상기 조건문 판단부에 의해, 상기 로봇으로부터 송신된 영역 인식 정보와 상기 조건문 기능 코드를 포함하는 블록의 조건 정보를 비교하는 단계; 상기 슬롯 그룹 설정부에 의해, 상기 영역 인식 정보와 상기 조건 정보가 동일한 경우 제 3 슬롯 그룹을 선택하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 로봇 동작 제어 보드 어셈블리에 따르면, 단순히 사용자가 블록들을 로봇 동작 제어 보드에 삽입시키는 행위만으로 로봇의 움직임 및 동작이 제어될 수 있고, 사용자가 삽입하는 블록의 종류, 순서 및 개수에 따라 상기 로봇의 움직임 및 동작이 상이하게 움직이게 되므로 사용자의 흥미를 유도할 수 있는 장점이 있다.
또한, 본 발명의 일 실시예에 따른 로봇 동작 제어 보드 어셈블리에 따르면, 로봇 동작 제어 보드에 형성된 복수의 슬롯들이 프로그래밍 언어의 순차적인 제어 흐름의 특성을 갖기에, 사용자가 로봇 동작 제어 보드 어셈블리를 조작하는 것만으로도 프로그래밍 언어의 기본적인 특성을 이해할 수 있다.
또한, 본 발명의 일 실시예에 따른 로봇 동작 제어 보드 어셈블리에 따르면, 로봇 동작 제어 보드에 형성된 복수의 슬롯들 중 하나의 슬롯 그룹에 구조체 및 클래스의 개념을 적용하고, 다른 하나의 슬롯 그룹에 조건문의 개념을 적용함으로써 프로그래밍 언어를 잘 모르더라도 상술한 구조체, 클래스 및 조건문의 개념을 체득시킬 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 로봇 동작 제어 보드 어셈블리의 개념도이다.
도 2는 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드에 대한 개념도이다.
도 3a 내지 도3c는 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드에 삽입된 블록에 따라 제어되는 로봇의 움직임을 설명하기 위한 개념도이다.
도 4 및 도 5는 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드에 대한 블록도이다.
도 6은 본 발명의 일 실시예에 따른 블록의 블록 인식 코드에 대한 개념도이다.
도 7은 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드에 대한 개념도이다.
도 8a 내지 도 8c는 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드에 삽입된 블록에 따라 제어되는 로봇의 움직임을 설명하기 위한 개념도이다.
도 9는 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드에 대한 블록도이다.
도 10은 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드에 대한 개념도이다.
도 11은 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드에 대한 블록도이다.
도 12는 본 발명의 일 실시예에 따른 로봇의 분해구조를 개략적으로 나타낸 도면이다.
도 13은 본 발명의 일 실시예에 따른 로봇의 정면을 개략적으로 도시한 도면이다.
도 14는 본 발명의 일 실시예에 따른 로봇의 기판부를 개략적으로 도시한 도면이다.
도 15는 본 발명의 일 실시예에 따른 스토리 보드에 대한 개념도이다.
도 16은 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드의 동작 방법에 대한 흐름도이다.
도 17은 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드의 동작 방법에 대한 흐름도이다.
도 18은 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드의 동작 방법에 대한 흐름도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하, 본 발명의 실시예에 따른 로봇 동작 제어 보드 어셈블리(1000)에 대하여 설명하도록 한다.
도 1은 본 발명의 일 실시예에 따른 로봇 동작 제어 보드 어셈블리(1000)에 대한 개념도이다. 도 1에 도시된 것처럼 본 발명의 일 실시예에 따른 로봇 동작 제어 보드 어셈블리(1000)는 로봇 동작 제어 보드(100), 로봇(500) 및 상기 로봇(500)이 이동할 수 있는 스토리 보드(600)를 포함하여 구성될 수 있다. 바람직하게는 상기 로봇(500)은 교육용 혹은 놀이용 로봇이다. 다만, 본 발명의 상기 로봇(500)의 목적은 필요에 따라 다양하게 변경될 수도 있다.로봇 동작 제어 보드(100)는 복수의 슬롯들이 형성된 상판(111)과 상판(111)을 지지하는 지지부(112)를 포함하여 구성되고, 상기 복수의 슬롯들을 통해 삽입된 블록들을 인식함으로써 로봇의 동작을 제어하는 기능을 한다. 즉, 사용자는 단지 특정 기능을 수행하는 블록을 상판(111)에 형성된 슬롯들에 끼우는 것만으로도, 로봇(500)의 움직임을 제어할 수 있다.
여기서, 블록은 크게 2개의 종류로 구분될 수 있다. 구체적으로, 블록은 로봇의 움직임을 제어하거나, 로봇을 통해 음향 또는 빛을 출력하는 일반 블록과, 프로그래밍 언어에서 구조체, 클래스(함수 호출) 및 조건문의 개념을 이해시키기 위한 기능 블록으로 구분될 수 있다. 여기서 일반 블록은 로봇의 이동 제어(예를 들어, 왼쪽, 오른쪽, 위쪽, 아래쪽 등)를 위한 블록, 로봇을 통한 소리 출력(예를 들어, 동물, 자연, 사이렌 등), 그리고 로봇을 통한 빛 출력(예를 들어, 흰색, 적색, 청색, 녹색 광 출력)을 위한 블록을 포함할 수 있다. 또한, 기능 블록은 호출을 위한 클래스 기능 블록 및 특정 조건에 해당할 시 제어를 수행하게 하는 조건문 기능 블록을 포함할 수 있다.
또한, 블록은 로봇(500)의 다양한 움직임을 제어하거나, 또는 특정 소리 및 빛을 출력하기 위해 복수개가 존재할 수 있다. 이에 따라, 블록에는 해당 블록이 어떠한 기능을 하는지 사용자에게 알리기 위한 정보가 블록의 상면 또는 측면에 프린팅될 수 있다.
예를 들어, 로봇(500)을 위쪽 방향으로 이동시키기 위한 블록 인식 코드를 가지고 있는 블록에는 그 상면 또는 측면에 위쪽 방향 화살표가 프린팅 될 수 있고, 로봇(500)을 우측 방향으로 이동시키기 위한 블록 인식 코드를 가지고 있는 블록에는 그 상면 또는 측면에 우측 방향 화살표가 프린팅될 수 있다. 마찬가지로, 로봇(500)을 통해 특정 소리를 출력시키기 위한 블록 인식 코드를 가지고 있는 블록에는 해당 소리에 대응하는 이미지(예를 들어, 동물, 사이렌, 물 등)이 프린팅될 수 있고, 로봇(500)에서 LED모듈부를 통해 빛이 발광되게 하는 블록 인식 코드를 가지고 있는 블록에는 그 상면 또는 조명 그림이 프린팅될 수 있다.
이에 따라, 사용자(예를 들어, 저연령층 또는 비전공자)는 로봇(500)의 움직임을 정하는데 이용되는 블록들을 보다 직관적으로 판단할 수 있다. 이러한 점에 기인하여, 사용자는 사용자가 원하는 패턴으로 로봇(500)이 동작하도록 상기 블록들을 로봇 동작 제어 보드(100)의 슬롯들에 쉽게 삽입할 수 있고, 이로 인해 로봇의 움직임도 간단한 방법으로 제어할 수 있다.
로봇 동작 제어 보드(100)는 사용자가 상술한 블록들 중 적어도 하나를 슬롯에 삽입할 시, 슬롯을 통해 삽입된 블록을 인식하고 상기 블록에 대응하는 로봇 제어 신호를 생성할 수 있다. 그 후, 로봇 동작 제어 보드(100)는 생성한 로봇 제어 신호를 로봇(500)으로 송신하고, 로봇(500)에서는 로봇 제어 신호에 따른 동작을 수행할 수 있다.
또한, 로봇(500)은 앞서 언급한 것처럼 로봇 동작 제어 보드(100)에서 송신된 로봇 제어 신호에 따라 제어될 수 있다. 예를 들어, 로봇(500)은 수신한 로봇 제어 신호에 따라, 위쪽, 아래쪽, 왼쪽 및 오른쪽 방향으로 움직이거나, 특정 소리를 출력하거나 또는 특정 색상의 빛을 출력하는 것도 가능하다.
또한, 로봇(500)은 도 1에 도시된 것처럼 스토리 보드(600) 위에서 상술한 동작을 수행할 수 있다. 여기서, 스토리 보드(600)는 아래에서 다시 설명되는 바와 같이 복수의 영역으로 구분될 수 있고 각 영역에는 로봇의 이동을 유도하는 유도 경로 라인(dl)이 형성될 수 있다. 이에 따라, 만일 사용자가 로봇 동작 제어 보드의 슬롯에 로봇의 위쪽 방향 이동 제어를 위한 블록을 삽입한 경우, 로봇은 스토리 보드(600) 내의 하나의 영역에서 상기 유도 라인을 따라 위쪽 영역으로 이동할 수 있다.
그리고, 본 발명의 일 실시예에 따른 로봇 동작 제어 보드 어셈블리(1000)는 저연령층 및 비전공자에게 프로그래밍의 개념을 쉽게 이해시키는 것을 그 목적으로 한다. 여기서, 프로그래밍의 경우 하나의 라인 단위로 순차적으로 컴파일링되는 제 1 특성을 갖는다. 또한, 프로그래밍의 경우, 프로그래밍 언어의 구조체 또는 클래스 등이 선언된 상황에서 상기 구조체 또는 클래스 등을 호출하면, 해당 부분에서는 구조체 또는 클래스 부분에 정의된 내용을 수행하는 제 2 특성을 가지며, 조건문 등의 경우 해당 조건에 충족될 때에만 그 기능이 수행되는 제 3 특성을 갖는다. 상기 구조체 또는 클래스 등을 호출하는 제 2 특성은 실질적으로 함수 호출하는 하는 것에 상응한다.
이에 따라, 본 발명의 일 실시예에 따른 로봇 동작 제어 보드 어셈블리(1000)는 상술한 프로그래밍의 3개의 특성을 고려하여, 로봇 동작 제어 보드(100)에 형성된 복수의 슬롯들을 복수의 슬롯 그룹들로 구분하고, 각 슬롯 그룹을 이용하여 상술한 제 1 특성 내지 제 3 특성을 구현하는 것을 특징으로 한다. 즉, 제 1 슬롯 그룹(111)은 C 언어에서 main() 함수에 대응하는 개념으로 이용될 수 있고, 제 2 슬롯 그룹(112)은 구조체 및 클래스 함수, 즉 함수 호출에 대응하는 개념으로 이용될 수 있으며, 제 3 슬롯 그룹(113)은 조건문에 대응하는 개념으로 이용될 수 있다. 이제, 도 2 내지 도 11을 참조로 본 발명의 로봇 동작 제어 보드에 대한 다양한 예시와, 각 슬롯 그룹에 따른 동작의 개념에 대한 설명이 이루어진다.
도 2는 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드(200)에 대한 개념도이다. 그리고 도 3a 내지 도3c는 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드에 삽입된 블록에 따라 제어되는 로봇의 움직임을 설명하기 위한 개념도이다. 여기서, 도 2에 도시된 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드(200)는 상술한 슬롯 그룹들 중 제 1 슬롯 그룹(211)만 포함하는 예시에 대해 설명된다. 또한, 본 예시에서, 제 1 슬롯 그룹(211)에는 9개의 슬롯(211a, 211b, 211c, 211d, 211e, 211f, 211g, 211h, 211i)들이 형성되고, 슬롯의 횡단면은 반원형 형상을 갖는 것으로 설명되나 이는 예시일 뿐이고 슬롯의 개수 및 형상은 다양한 개수 및 형태로 변경될 수 있다.
이제, 도 2에 도시된 것처럼 사용자가 로봇의 움직임을 제어하거나 또는 로봇을 통해 음향 또는 빛을 출력하는 일반 블록(230)을 상판(210)의 제 1 슬롯 그룹(211)에 속한 슬롯들에 삽입하는 상황을 가정한다. 구체적으로, 사용자가 로봇의 위쪽 방향 이동 제어를 위한 블록, 로봇의 오른쪽 방향 이동 제어를 위한 블록, 그리고 강아지 소리 출력을 위한 블록을 각각 슬롯(211a, 211b, 211c)을 통해 삽입시키고, 제어 정보 생성을 위한 버튼(sb)을 누른 상황을 가정한다.
이때, 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드(200)는 사용자로부터 삽입된 블록(230)들을 식별하고, 로봇의 제어를 위한 로봇 제어 신호를 생성한다. 구체적으로, 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드(200)는 제 1 슬롯 그룹(211)에 포함된 슬롯의 순서대로 블록(230)들을 식별하고, 로봇의 제어를 위한 로봇 제어 신호를 생성한다.
그 후, 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드(200)는 생성한 로봇 제어 신호를 로봇(500)으로 송신할 수 있다. 로봇(500)은 로봇 제어 신호를 수신하고, 로봇 제어 신호에 따라 동작을 수행할 수 있다. 본 예시에서는 사용자가 로봇의 위쪽 방향 이동 제어를 위한 블록, 로봇의 오른쪽 방향 이동 제어를 위한 블록, 그리고 강아지 소리 출력을 위한 블록을 각각 제 1 슬롯 그룹(211)의 슬롯(211a, 211b, 211c)에 삽입한 상황을 가정하므로, 로봇(500)은 일정 거리만큼 위쪽 방향으로 이동하고, 일정 거리만큼 오른쪽 방향으로 이동하며, 미리 저장된 강아지 소리를 출력하게 될 것이다.
예를 들어, 도 3a와 같이 로봇(500)이 스토리 보드(600)에 포함된 복수의 영역들 중 영역(a63)에 위치한 상황을 가정한다. 이때, 로봇(500)에서 로봇 제어 신호를 수신할 경우, 로봇 제어 신호에 따라 로봇(500)은 도 3b에 도시된 것처럼 영역(a63)을 기준으로 위쪽 영역인 영역(a53)으로 이동하고, 도 3c에 도시된 것처럼 영역(a53)을 기준으로 오른쪽 영역인 영역(a54)로 이동하며, 마지막 블록에 따른 명령에 따라 강아지 소리를 출력할 수 있다.
다시 말해, 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드(200)에 따르면, 제 1 슬롯 그룹(211) 내에서 블록이 삽입된 슬롯들의 순서에 따라 로봇 제어 신호가 생성될 수 있고, 로봇 제어 신호에 따라 로봇(500)의 동작이 제어될 수 있다. 즉, 사용자가 블록을 삽입할 때, 제 1 슬롯 그룹(211)의 첫번째 슬롯(211a), 세번째 (211c), 그리고 두번째 슬롯(211b) 순서로 블록을 삽입하더라도, 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드(200)는 제 1 슬롯 그룹(211)에 포함된 슬롯들의 순서 즉, 첫번째 슬롯(211a), 두번째 슬롯(211b), 그리고 세번째 슬롯(211c)의 순서로 인식을 수행할 수 있다.
이러한 인식에 대한 특성은 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드(200)가 하나의 라인 단위로 순차적으로 컴파일링이 수행되는 프로그래밍 언어의 특성을 고려하기 때문이다. 일반적으로 프로그래밍 언어의 경우 하나의 라인 단위로 순차적으로 컴파일링이 이루어지므로 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드(200)는 프로그래밍에서 컴파일링의 특성을 고려하여 사용자가 원하는 로봇의 동작을 위해서는 삽입된 블록들의 슬롯을 고려하게끔 유도할 수 있다.
또한, 사용자가 제 1 슬롯 그룹(211)의 첫번째 슬롯(211a), 세번째 슬롯(211c), 그리고 6번째 슬롯(211f)에 로봇의 위쪽 방향 이동 제어를 위한 블록, 로봇의 위쪽 방향 이동 제어를 위한 블록, 그리고 강아지 소리 출력을 위한 블록을 삽입한 상황을 가정한다. 이 경우에도 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드(200)는 위에서 설명된 첫번째, 두번째 및 세번째 슬롯에 블록이 삽입된 것과 동일한 로봇 제어 신호를 생성할 수 있다. 이는 프로그래밍 언어 특성 상 특정 명령을 수행하는 명령 사이에 공란이 다수개 존재하거나, 주석 처리 등으로 인해 공란이 존재하더라도 그 다음에 존재하는 제어 등을 수행할 수 있기 때문이다.
다시 말해, 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드(200)는 블록 간 비어있는 슬롯의 존재에 관계 없이, 사용자가 삽입하여 위치된 블록들의 순서에 따라 로봇 제어 신호를 생성할 수 있고, 로봇(500)도 로봇 제어 신호에 포함된 블록의 순서에 따른 제어에 따라 그 동작을 수행할 수 있다.
도 4 및 도 5는 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드(200)에 대한 블록도이다. 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드(200)는 복수의 슬롯들이 형성된 상판과 상기 상판을 지지하는 지지부를 포함하여 구성될 수 있다. 또한, 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드(200)는 슬롯을 통해 삽입된 블록들을 슬롯의 순서에 따라 순차적으로 인식하고, 블록 인식 결과를 근거로 로봇(500)을 제어하기 위한 로봇 제어 신호를 생성하는 것을 특징으로 한다.
이를 위해, 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드(200)는 블록 인식부(241), 코드 검색부(242), 제어 정보 생성부(243), 통신부(244) 및 저장부(245)를 포함하여 구성될 수 있다. 이하, 도 4 및 도 5를 참조로 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드(200)에 대한 설명이 더 이루어진다.
블록 인식부(241)는 복수의 슬롯들의 위치에 대응하여 상판의 하부에 배치되고, 슬롯을 통해 삽입되는 블록의 블록 인식 코드를 인식하는 기능을 한다. 여기서, 슬롯을 통해 삽입되는 블록(230)은 도 6에 도시된 바와 같이, 블록 베이스(231)와, 블록 베이스(231)에서 하부 방향으로 돌출되어 상판의 슬롯에 삽입되는 블록 삽입부(232)를 포함하여 구성될 수 있다. 여기서, 블록 베이스(231)의 일면 즉, 외부에 노출되는 블록 베이스(231)의 일 면에는 블록이 어떠한 기능을 하는지 사용자에게 알리기 위한 정보가 프린팅될 수 있다. 또한, 블록 삽입부(232)의 하면에는 본 발명의 제 1 실시예에 따른 로봇 동작 제어 장치(200)에 해당 블록(230)의 기능을 알리기 위한 블록 인식 코드가 형성될 수 있다.
또한, 도 6에 도시된 바와 같이, 블록 삽입부(232)의 하면은 복수개의 구획된 면(ba1, ba2, ba3)을 가질 수 있고, 복수개의 구획된 면(ba1, ba2, ba3) 각각에는 적어도 하나의 식별 코드(232a, 232b, 232c)가 포함될 수 있다. 도 6에 도시된 예시의 경우, 블록 삽입부(232)의 하면은 3개의 면으로 구분되고, 각 구획된 면에는 하나의 식별 코드가 존재하는 것으로 도시되었다. 다만, 이는 예시일 뿐이고 블록 삽입부(232)의 하면에는 3개 이상의 면으로 구획되고, 각 구획된 면에서도 하나 이상의 식별 코드가 존재하는 것도 가능하다.
본 발명의 제 1 실시예에 따른 블록 인식부(241)는 블록(230)의 바닥면 즉, 블록 삽입부(232)의 하면에 형성된 블록 인식 코드를 인식함으로써 블록을 식별할 수 있다. 구체적으로, 블록 인식부(241)는 블록 삽입부(232)의 하면에서 구획된 각각의 면(ba1, ba2, ba3)에서 각 식별 코드(232a, 232b, 232c)를 인식하고, 인식된 식별 코드(232a, 232b, 232c)를 조합함으로써 하나의 블록 인식 코드를 생성할 수 있다.
또한, 블록(230)에 형성된 각 식별 코드는 색으로 이루어질 수 있다. 이에 따라, 본 발명의 일 실시예에 따른 블록 인식부(241)는 이러한 색상을 감지할 수 있는 색상 감지 센서를 포함하여 구성될 수 있다. 예를 들어, 블록 삽입부(232)의 하면에서 제 1 식별 코드(232a)가 적색이고, 제 2 식별 코드(232b)가 녹색이며, 제 3 식별 코드(232c)가 청색인 경우, 블록 인식부(241)는 인식한 적색, 녹색 및 청색에 따른 블록 인식 코드를 생성할 수 있다. 다른 예시로서, 블록 삽입부(232)의 하면에서 제 1 식별 코드(232a)가 적색이고, 제 2 식별 코드(232b)가 적색이며, 제 3 식별 코드(232c)가 녹색인 경우, 블록 인식부(241)는 인식한 적색, 적색 및 녹색에 따른 블록 인식 코드를 생성할 수 있다.
여기서, 색상을 기반으로 블록의 하면에 식별 코드를 형성한 이유는 다른 센서들에 비해 색상을 기반으로 한 센서의 비용이 저렴하고, 특정 패턴 등에 비해 색상을 블록에 형성하는 것이 사용자의 입장으로도 미려한 장점을 갖기 때문이다.
이에 따라, 블록 인식부(241)는 블록 삽입부(232)의 하면에 형성된 각 면에서 색을 인식하고 그 색을 기반으로 블록 인식 코드를 생성할 수 있다. 다만, 본 발명의 경우 각 면에 존재하는 식별 코드를 인식하고, 각 식별 코드를 조합함으로써 블록 인식 코드를 생성하는 방식이기에, 각 식별 코드의 순서를 구분하여 인식하는 것이 중요하다. 만일 블록 삽입부의 외주가 원과 정사각형과 같은 대칭형 구조를 갖는다면, 블록 인식부(241)에서 각 식별 코드를 인식하더라도 인식한 식별 코드의 순서를 식별하기가 어렵다. 이에 따라, 본 발명의 블록 삽입부(232)의 외주는 적어도 3개의 변의 길이가 상이한 다각형의 형상을 갖거나, 또는 도 6에 도시된 것처럼 적어도 하나의 변과 적어도 하나의 곡선을 갖는 형상을 갖는 것이 바람직하다.
다시, 도 4를 참조하면, 코드 검색부(242)는 블록 인식부(241)를 통해 인식한 블록의 블록 인식 코드에 매칭하는 제어 코드를 검색하는 기능을 한다. 구체적으로, 코드 검색부(242)는 저장부(245)에서 블록 인식 코드에 매칭하는 제어 코드를 검색하는 기능을 한다.
도 6을 참조로 설명한 것처럼 블록 인식 코드는 단지 색상이 조합된 블록의 식별자 기능만을 하므로, 로봇의 움직임을 제어하기 위해서는 블록 인식 코드에 따라 로봇을 동작시키기 위한 제어 코드를 검색하는 과정이 필요하다. 여기서, 코드 검색부(242)는 이러한 제어 코드의 검색을 수행할 수 있다.
제어 정보 생성부(243)는 코드 검색부(242)를 통해 검색된 제어 코드를 이용하여 로봇을 제어하기 위한 로봇 제어 신호를 생성하고, 통신부(244)를 통해 생성한 로봇 제어 신호를 로봇에 송신하는 기능을 한다.
예를 들어, 블록 인식부(241)를 통해 제 1 슬롯 그룹의 첫번째 슬롯에 로봇을 위쪽 방향으로 이동시키기 위한 블록이 삽입된 경우, 블록 인식부(241)는 해당 블록의 바닥면에서 블록 인식 코드를 인식할 수 있다. 그 후, 코드 검색부(242)에서는 블록 인식 코드에 매칭하는 제어 코드를 검색하며, 제어 정보 생성부(243)는 제어 정보를 근거로 로봇 제어 신호를 생성할 수 있다. 그 후, 제어 정보 생성부(243)는 이러한 로봇 제어 신호를 로봇으로 송신함으로써, 로봇이 위쪽 방향으로 이동하도록 제어할 수 있다.
그 후, 제어 정보 생성부(243)는 상기 블록이 삽입된 슬롯에 후속하는 슬롯들에 다른 블록이 삽입되었는지 더 판단할 수 있고 다른 블록이 존재하는 경우 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드(200)는 후속하는 슬롯에 대해 상술한 과정을 재수행함으로써, 로봇을 제어할 수 있다.
또한, 위에서는 하나의 로봇 제어 신호에는 하나의 제어 코드가 포함된 예시에 대해 설명되었다. 다만 이는 예시일 뿐이고, 제어 정보 생성부(243)는 복수의 제어 코드들이 포함되도록 로봇 제어 신호를 생성하는 것도 가능하다.
예를 들어, 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드(200)는 도 5에 도시된 것처럼, 코드 검색부(242)를 통해 하나의 슬롯에 삽입된 블록의 제어 코드를 검색하고, 검색한 제어 코드를 저장부(245)에 저장할 수 있다. 그 후, 코드 검색부(242)는 후속하는 슬롯들에 블록이 더 삽입된 경우 제어를 블록 인식부(241)에 전달할 수 있다. 만일 후속하는 슬롯들에 블록이 존재하지 않는 경우, 제어 정보 생성부(243)는 저장부(245)에 저장된 제어 코드들을 조합함으로써 로봇 제어 신호를 생성할 수 있다. 이에 따라, 하나의 로봇 제어 신호에는 복수의 제어 코드가 포함될 수 있으므로 통신 효율을 높이는 것이 가능하다.
도 7은 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)에 대한 개념도이다. 도 8a 내지 도8c는 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)에 삽입된 블록(330)에 따라 제어되는 로봇의 움직임을 설명하기 위한 개념도이다.
여기서, 도 7에 도시된 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)는 도 2를 참조로 설명한 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드(200)의 구성에 제 2 슬롯 그룹(312)이 더 포함된 것을 특징으로 한다. 즉, 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)는 도 7에 도시된 바와 같이, 복수의 슬롯들이 형성된 상판(310)과 지지부(320)를 포함하여 구성되되, 상판(310)에 형성된 복수의 슬롯들은 제 1 슬롯 그룹(311)과 제 2 슬롯 그룹(312)으로 구분될 수 있다. 또한, 본 예시에서, 제 1 슬롯 그룹(311)에는 9개의 슬롯(311a, 311b, 311c, 311d, 311e, 311f, 311g, 311h, 311i)들이 형성되고, 제 2 슬롯 그룹(312)에는 3개의 슬롯(312a, 312b, 312c)이 형성되며, 슬롯의 횡단면은 반원형 형상을 갖는 것으로 설명되나 이는 예시일 뿐이고 슬롯의 개수 및 형상은 다양한 개수 및 형태로 변경될 수 있다.
앞서 설명한 것처럼 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)는 먼저, 제 1 슬롯 그룹(311)에 속한 슬롯들에 삽입된 블록들에 대한 인식을 수행하고, 인식 결과를 근거로 로봇 제어 신호를 생성할 수 있다.
즉, 사용자가 로봇의 위쪽 방향 이동 제어를 위한 블록, 로봇의 오른쪽 방향 이동 제어를 위한 블록, 그리고 강아지 소리 출력을 위한 블록을 각각 슬롯(311a, 311b, 311c)을 통해 삽입시킨 경우, 위에서 도 2 및 도 3c를 참조로 설명한 바와 같이, 로봇은 일정 거리만큼 위쪽 방향으로 이동하고, 일정 거리만큼 오른쪽 방향으로 이동하며, 미리 저장된 강아지 소리를 출력하게 될 것이다.
다만, 도 7에 도시된 바와 같이 사용자가 일반 블록 외에 호출을 위한 기능 블록을 제 1 슬롯 그룹(311) 내의 슬롯에 삽입한 경우, 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)는 제 2 슬롯 그룹(312)에 속한 블록들에 대해서도 인식을 수행할 수 있다. 반대로 말하면, 제 1 슬롯 그룹(311) 내에 호출을 위한 기능 블록 즉, 클래스 기능 블록이 삽입되지 않은 경우에는 제 2 슬롯 그룹(312)에 어떠한 블록들이 삽입되어 있더라도 제 2 슬롯 그룹(312)에 삽입된 블록들은 로봇 제어 신호의 생성에 어떠한 영향도 미치지 않게 된다.
즉, 제 2 슬롯 그룹(312)은 프로그래밍의 개념 중 구조체 및 클래스 함수에 대응하는 개념이다. 만일, main() 함수에 해당하는 제 1 슬롯 그룹(311)에서 상기 구조체 및 클래스의 호출을 위한 클래스 기능 블록이 존재한다면, 제 2 슬롯 그룹(312)에 속한 블록들의 인식이 수행되는 과정이 이루어지나, 그렇지 않다면 제 1 슬롯 그룹(311)에 속한 블록들만 인식된다.
본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)는 제 1 슬롯 그룹의 인식 과정에서 클래스 또는 구조체의 개념에 해당하는 제 2 슬롯 그룹(312)을 호출하는 기능 블록인 경우, 제 2 슬롯 그룹(312)에 속한 블록들의 인식이 수행될 수 있다. 이 경우, 본 발명의 일 실시예에 따른 로봇 동작 제어 장치(300)는 제 1 슬롯 그룹(311)에 삽입된 블록들을 순차적으로 인식하되, 클래스 기능 블록이 인식되면 인식되는 대상을 제 2 슬롯 그룹(312)에 삽입된 블록들로 변경하여 순차적인 인식 과정을 수행할 수 있다. 물론, 이러한 제 2 슬롯 그룹(312)에 삽입된 블록들의 인식이 완료되면, 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)는 상술한 클래스 기능 블록 다음의 블록에 대한 인식을 수행한다.
예를 들어, 도 2를 참조로 언급된 예시와 마찬가지로, 제 1 슬롯 그룹(311)중 슬롯(311a, 311b, 311c)에는 각각 로봇의 위쪽 방향 이동 제어를 위한 블록, 로봇의 오른쪽 방향 이동 제어를 위한 블록, 그리고 강아지 소리 출력을 위한 블록이 삽입된 상황을 가정한다. 또한, 제 1 슬롯 그룹(311)의 네번째 슬롯(311d)에는 제 2 슬롯 그룹(312)을 호출하기 위한 기능 블록이 삽입되었고, 제 1 슬롯 그룹(311)의 5번째 슬롯(311e)에는 로봇(500)에 포함된 LED모듈부를 구동시키기 위한 블록이 삽입된 상황을 가정한다. 또한, 제 2 슬롯 그룹(312)의 첫번째 및 두번째 슬롯(312a, 312b)에는 각각 로봇의 위쪽 방향 이동 제어를 위한 블록, 로봇의 오른쪽 방향 이동 제어를 위한 블록이 삽입된 상황을 가정한다.
상기 상황에 따라 로봇 제어 신호가 생성된 경우, 로봇(500)은 수신한 로봇 제어 신호에 따라 동작이 이루어진다. 즉, 도 8a에 도시된 것처럼 로봇(500)이 최초에 영역(a63)에 위치한 경우, 도 2 및 도 3c를 참조로 설명한 바와 같이, 로봇 제어 신호에 따라 영역(a63)을 기준으로 위쪽 영역인 영역(a53)으로 이동하고, 영역(a53)을 기준으로 오른쪽 영역인 영역(a54)으로 이동하며, 영역(a54)에서 강아지 소리를 출력할 수 있다.
본 예시의 경우 제 1 슬롯 그룹(311)의 네번째 슬롯(311d)에 제 2 슬롯 그룹(312)의 호출을 위한 기능 블록 즉, 클래스 기능 블록이 삽입되어 있으므로, 제 2 슬롯 그룹(312)의 슬롯들에 삽입된 제어가 이루어질 수 있다. 즉, 본 예시에서는 제 2 슬롯 그룹(312)의 첫번째 및 두번째 슬롯(312a, 312b)에 각각 로봇의 위쪽 방향 이동 제어를 위한 블록, 로봇의 오른쪽 방향 이동 제어를 위한 블록이 삽입된 상황을 가정하므로, 로봇(500)은 도 8b에 도시된 것처럼 영역(a54)에서 영역(a55)로 이동하고, 도 8c에 도시된 것처럼 영역(a55)에서 영역(a65)으로 이동할 수 있다.
본 예시에서는 제 2 슬롯 그룹(312) 내에 2개의 블록들이 삽입된 상황을 가정하였으므로, 제 2 슬롯 그룹(312) 내에 삽입된 2개의 블록들의 제어 이후, 로봇은 제 1 슬롯 그룹(311)의 다섯번째 슬롯(즉, 클래스 기능 블록 다음의 슬롯)에 삽입된 블록의 제어에 따라 조명 과정을 수행한다.
즉, 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)에 따르면, 제 1 슬롯 그룹(311) 내에서 블록이 삽입된 슬롯들의 순서에 따라 블록들을 인식할 수 있다. 또한, 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)는 이러한 블록 인식 과정에서 호출 기능을 수행하는 클래스 기능 블록이 존재하는 경우, 제 2 슬롯 그룹(312) 내에서 블록이 삽입된 슬롯들의 순서에 따라 제 2 슬롯 그룹(312)에 속한 블록들을 인식할 수 있다. 또한, 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)는 제 2 슬롯 그룹(312) 내의 블록들의 인식이 완료되면 제 1 슬롯 그룹(311)에서 남은 블록들에 인식을 수행할 수 있다.
다시 말해, 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)는 제 1 실시예와 마찬가지로, 하나의 라인 단위로 순차적으로 컴파일링이 수행되는 프로그래밍 언어의 특성을 고려하여 블록들을 인식하되, 호출 함수에 해당하는 클래스 기능 블록이 인식되면, 클래스 또는 구조체에 해당하는 제 2 슬롯 그룹 내의 블록들을 인식을 수행할 수 있다. 뿐만 아니라, 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)는 클래스 또는 구조체에 해당하는 제 2 슬롯 그룹 내의 블록들에 대한 인식이 완료되면, 제 1 슬롯 그룹 내에서 첫번째 슬롯이 아닌, 클래스 기능 블록 다음의 슬롯에 포함된 블록을 인식함으로써, 프로그래밍 언어의 특성을 그대로 반영한 제어를 수행한다. 이에 따라, 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)을 통해 움직이는 로봇(500)의 동작을 통해, 저연령층 또는 비전공자의 경우, 어렵지 않게 클래스 및 구조체의 개념과 호출 함수의 개념을 쉽게 파악할 수 있다.
또한, 본 발명의 제 1 실시예와 마찬가지로, 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)는 블록 간 비어있는 슬롯이 존재하더라도 비어 있는 슬롯은 무시하고 블록들을 순차적으로 인식할 수 있다. 이에 대한 설명은 위에서 상세히 언급하였으므로, 중복되는 설명은 생략한다.
도 9는 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)에 대한 블록도이다. 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)는 복수의 슬롯들이 형성된 상판과 상기 상판을 지지하는 지지부를 포함하여 구성될 수 있다. 또한, 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)는 슬롯을 통해 삽입된 블록들을 슬롯의 순서에 따라 순차적으로 인식하고, 블록 인식 결과를 근거로 로봇(500)을 제어하기 위한 로봇 제어 신호를 생성하는 것을 특징으로 한다. 뿐만 아니라, 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)는 클래스 기능 블록의 존재 여부를 판단하고, 제 1 슬롯 그룹 내에 클래스 기능 블록이 존재하는 경우, 제 1 슬롯 그룹 또는 제 2 슬롯 그룹을 선택하여 블록 인식을 수행함으로써 호출 기능을 제공할 수 있다.
이를 위해, 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)는 블록 인식부(341), 코드 검색부(342), 기능 판단부(343), 제어 정보 생성부(344), 통신부(345), 슬롯 그룹 설정부(346) 및 저장부(347)를 포함하여 구성될 수 있다. 이하, 도 9를 참조로 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)에 대한 설명이 더 이루어진다. 또한, 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)는 본 발명의 제 1 실시예에서 클래스 또는 구조체의 개념을 제공하기 위해 복수의 슬롯들이 제 1 슬롯 그룹과 제 2 슬롯 그룹으로 구분되고, 호출 기능을 수행하는 클래스 기능 블록의 존재 여부에 따라 슬롯 그룹을 변경하여 제어하는 점을 제외하고는 본 발명의 제 1 실시예와 유사하다. 따라서, 아래의 설명에서는 본 발명의 제 1 실시예와 중복되는 설명은 생략하여 그 설명이 이루어진다.
기능 판단부(343)는 코드 검색부(342)를 통해 검색한 제어 코드의 코드 종류를 구분하는 기능을 한다. 도 1을 참조로 설명한 바와 같이, 블록은 로봇의 움직임을 제어하거나, 로봇을 통해 음향 또는 빛을 출력하는 일반 블록과, 프로그래밍 언어에서 구조체, 클래스 및 조건문의 개념을 이해시키기 위한 기능 블록으로 구분될 수 있다. 이와 마찬가지로, 제어 코드는 일반 코드와 기능 코드로 분류될 수 있고, 일반 코드는 로봇의 일반적인 움직임, 음향 또는 빛의 출력에 사용되는 코드를 나타낸다. 그리고, 기능 코드는 프로그래밍에서 구조체, 클래스 및 조건문의 개념을 도입한 코드를 나타낸다. 여기서, 기능 코드는 다시 클래스 기능 코드와 조건문 기능 코드로 분류될 수 있다.
클래스 기능 코드는 위에서 설명한 바와 같이, 제 2 슬롯 그룹에 속한 블록들을 통해 로봇의 제어를 수행하기 위한 코드 즉, 제 2 슬롯 그룹의 호출을 위한 코드를 나타낸다. 위에서 도 7, 그리고 도 8a 내지 도 8c를 참조로 설명한 바와 같이, 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)는 제 1 슬롯 그룹에 대한 인식 및 제어 코드의 검색 과정을 수행할 수 있다. 이러한 과정에서 기능 판단부(343)를 통해 일반 코드가 아닌 클래스 기능 코드가 검출되면, 상기 클래스 기능 코드를 포함하는 블록이 호출 함수의 기능을 하므로, 블록 인식부(341)는 제 1 슬롯 그룹에서 후속하는 슬롯에 삽입된 블록을 인식하는 것이 아닌 제 2 슬롯 그룹에 속한 블록을 인식해야 한다.
이에 따라, 기능 판단부(343)를 통해 클래스 기능 코드가 검출되면, 슬롯 그룹 설정부(346)를 통해 제 2 슬롯 그룹을 선택하는 과정이 수행되어야 한다. 여기서, 슬롯 그룹 설정부(346)는 코드 종류에 따라 2개 이상의 슬롯 그룹들 중 하나의 슬롯 그룹을 선택하는 것으로 그 기능이 정의될 수 있다.
다시 말해, 블록 인식부(341)는 슬롯 그룹 설정부(346)를 통해 설정된 슬롯 그룹 내의 블록들의 블록 인식 코드를 순차적으로 인식할 수 있다. 예를 들어, 블록 인식부(341)는 최초 동작 시에는 제 1 슬롯 그룹 내의 블록들에 대해 블록 인식을 수행하되, 슬롯 그룹 설정부(346)를 통해 2개 이상의 슬롯 그룹들 중 하나의 슬롯 그룹이 선택되면, 선택된 슬롯 그룹 내에서 블록 인식이 수행될 수 있다.
또한, 슬롯 그룹 설정부(346)는 인식되는 슬롯 그룹이 제 2 슬롯 그룹인 경우, 제 2 슬롯 그룹에 속한 전체 블록들의 인식 완료 여부를 판단할 수 있다. 구체적으로, 슬롯 그룹 설정부(346)는 제 2 슬롯 그룹에 대한 블록 인식 과정에서, 제 2 슬롯 그룹에 대한 블록 인식이 완료되면 제 1 슬롯 그룹을 더 설정할 수 있다. 알려진 바와 같이, 프로그래밍 언어의 컴파일링 과정에서 호출 함수를 통해 해당 호출 함수에 따른 동작이 완료되면, 호출 함수 다음 라인에 대한 컴파일링이 이루어진다. 이에 따라, 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)는 슬롯 그룹 설정부(346)를 통해 제 2 슬롯 그룹 내의 블록 인식 완료 여부를 판단하며, 판단 결과를 근거로 슬롯 그룹의 재설정을 수행할 수 있다.
이렇게 슬롯 그룹 설정부(346)를 통해 제 2 슬롯 그룹에서 제 1 슬롯 그룹이 다시 설정되면, 블록 인식부(341)는 제 1 슬롯 그룹에서 상기 클래스 기능 코드를 갖는 블록에 후속하는 블록의 블록 인식 코드를 인식하게 된다.
제어 정보 생성부(344)는 상술한 구성들을 통해 인식된 제어 코드를 근거로 로봇 제어 신호를 생성하는 기능을 한다. 앞서 설명한 바와 같이 제어 정보 생성부(344)는 하나의 로봇 제어 신호에 하나의 제어 코드가 포함되도록 로봇 제어 신호를 생성할 수 있다. 물론, 제어 정보 생성부(344)는 위에서 도 4를 참조로 설명한 바와 같이, 저장부(347)를 이용하여 하나의 로봇 제어 신호에 복수의 제어 신호가 포함되도록 로봇 제어 신호를 생성하는 것도 가능하다.
도 10은 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드(400)에 대한 개념도이다. 도 10에 도시된 바와 같이, 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드(400)는 도 7을 참조로 설명한 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드(300)의 구성에 제 3 슬롯 그룹(413)을 더 포함한 것을 특징으로 한다. 즉, 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드(400)는 도 10에 도시된 바와 같이, 복수의 슬롯들이 형성된 상판(410)과 지지부(420)를 포함하여 구성되되, 상판(410)에 형성된 복수의 슬롯들은 제 1 슬롯 그룹(411), 제 2 슬롯 그룹(412) 및 제 3 슬롯 그룹(413)으로 구분될 수 있다. 또한, 본 예시에서, 제 1 슬롯 그룹(411)에는 9개의 슬롯(411a, 411b, 411c, 411d, 411e, 411f, 411g, 411h, 411i)들이 형성되고, 제 2 슬롯 그룹(412)에는 3개의 슬롯(412a, 412b, 412c)이 형성되고, 제 3 슬롯 그룹(413)에는 3개의 슬롯(413a, 413b, 413c)가 형성되며, 슬롯의 횡단면은 반원형 형상을 갖는 것으로 설명되나 이는 예시일 뿐이고 슬롯의 개수 및 형상은 다양한 개수 및 형태로 변경될 수 있다.
앞서 설명한 것처럼 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드(400)는 먼저, 제 1 슬롯 그룹(411)에 속한 슬롯들에 삽입된 블록들에 대한 인식을 수행하고, 인식 결과를 근거로 로봇 제어 신호를 생성할 수 있다. 또한, 위에서 제 2 실시예를 참조로 설명한 바와 같이, 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드(400)는 제 1 슬롯 그룹(411)에 대한 인식 과정에서 클래스 기능 코드가 검출되면 즉, 클래스 기능 블록이 존재하면 제 2 슬롯 그룹(412)에 포함된 블록들의 인식을 수행할 수 있다. 이에 대한 설명은 위에서 도 7 내지 도 9를 참조로 상세히 언급하였으므로, 중복되는 설명은 생략한다.
또한, 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드(400)는 제 1 슬롯 그룹(411) 또는 제 2 슬롯 그룹(412)에 속한 블록들의 인식 및 제어 코드 검색 과정에서 조건문 기능 코드의 존재 여부를 더 판단할 수 있다. 여기서, 조건문 기능 코드를 갖는 블록은 앞서 설명한 클래스 기능 코드를 갖는 블록과, 호출 함수 기능을 수행한다는 점에서 일부 유사하다. 다만, 조건문 기능 코드는 해당 블록에 포함된 조건이 충족될 시에만 상기 호출 기능을 수행한다는 점에서 클래스 기능 코드와 차이가 있다.
예를 들어, 도 10과 같이 제 1 슬롯 그룹(311)에 포함된 슬롯들 중 여섯번 째 슬롯(411f)에 조건문 기능 블록이 삽입되어 있고, 제 3 슬롯 그룹(413)에 포함된 슬롯들(413a, 413b, 413c) 중 첫번째 슬롯(413a)에 로봇의 오른쪽 방향 이동 제어를 위한 블록이 삽입된 상황을 가정한다.
본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드(400)는 도 8a 내지 도 8c를 참조로 설명한 바와 같이, 제 1 슬롯 그룹(411)에 속한 5개의 슬롯에 삽입된 블록들의 인식 및 제어 코드 검색 과정을 수행할 수 있다. 그 후, 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드(400)는 제 1 슬롯 그룹(311)에 포함된 슬롯들 중 여섯번째 슬롯(411f)의 블록을 인식함으로써 해당 블록이 조건문 기능 코드를 포함하는 조건문 기능 블록임을 파악할 수 있다.
여기서, 조건문 기능 블록은 특정 조건 정보를 포함할 수 있다. 여기서, 조건 정보는 예를 들어 로봇의 위치가 스토리 보드(600) 중 어느 영역에 위치하는지를 근거로 설정될 수 있다. 앞서 언급한 것처럼 스토리 보드(600)는 복수의 영역들로 구획될 수 있는데, 여기서 복수의 영역들 중 적어도 일부에는 미리 설정된 이미지가 프린팅될 수 있다. 예를 들어, 스토리 보드(600)에 포함된 복수의 영역들 중 적어도 일부 영역에는 해, 구름, 바다, 눈 등과 같은 이미지 또는 특정 색상이 포함된 이미지가 존재할 수 있다.
예를 들어, 조건문 기능 블록은 로봇(500)이 위치한 영역이 구름 영역일 때 제 3 슬롯 그룹에 포함된 블록들을 인식하라는 명령을 포함할 수 있다. 이 경우, 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드(400)는 로봇(500)과의 통신을 통해 로봇(500)의 영역 인식 정보를 수신하고, 영역 인식 정보와 해당 블록의 조건 정보를 비교할 수 있다. 즉, 본 예시에서 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드(400)는 로봇(500)이 구름 영역에 존재하는지 판단하고, 로봇(500)이 구름 영역에 존재할 시, 제 3 슬롯 그룹에 포함된 블록 즉, 오른쪽 방향 이동 제어를 위한 블록을 인식하게 된다. 반대로, 로봇(500)이 구름 영역에 존재하지 않다면, 상술한 제 3 슬롯 그룹에 포함된 블록에 대한 인식은 이루어지지 않는다.
이처럼, 본 발명의 제 3 실시예에 따른 로봇 제어 보드(400)는 상술한 프로그래밍 언어의 3개의 특성 모두를 고려하여 로봇(500)을 제어할 수 있다. 즉, 본 발명의 제 3 실시예에 따른 로봇 제어 보드(400)는 프로그래밍 언어에서 순차적인 컴파일링에 대한 제 1 특성, 호출 함수를 통해 구조체 또는 클래스로 선언된 사항을 수행하는 제 2 특성, 그리고 조건문을 통해 해당 조건에 부합할 시 해당 부분에 대한 내용을 수행하는 제 3 특성을 고려할 수 있다. 이에 따라, 사용자는 상술한 프로그래밍의 제 1 특성 내지 제 3 특성에 대해 블록의 조작만으로 개념상으로 용이하게 이해할 수 있다.
또한, 위의 설명에서 본 발명의 로봇 제어 보드는 제 1 슬롯 그룹만을 포함하거나, 제 1 슬롯 그룹 및 제 2 슬롯 그룹을 포함하거나, 또는 제 1 슬롯 그룹, 제 2 슬롯 그룹 및 제 3 슬롯 그룹을 포함하는 것으로 설명되었으나 이는 예시일뿐이고, 상기 3개의 슬롯 그룹이 조합되어 포함되는 것도 가능하다. 또한, 각 슬롯 그룹의 경우 그 기능이 모두 상이한 것으로 설명되었으나, 이 또한 동일한 기능을 수행하는 슬롯 그룹이 복수개 존재하는 것도 가능하다.
도 11은 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드(400)에 대한 블록도이다. 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드(400)는 복수의 슬롯들이 형성된 상판과 상기 상판을 지지하는 지지부를 포함하여 구성될 수 있다. 또한, 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드(400)는 슬롯을 통해 삽입된 블록들을 슬롯의 순서에 따라 순차적으로 인식하고, 블록 인식 결과를 근거로 로봇(500)을 제어하기 위한 로봇 제어 신호를 생성하는 것을 특징으로 한다. 뿐만 아니라, 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드(400)는 클래스 기능 블록 및 조건문 기능 블록의 존재 여부를 판단하고, 제 1 슬롯 그룹 또는 제 2 슬롯 그룹 내에 클래스 기능 블록이 존재하는 경우, 제 1 슬롯 그룹 내지 제 3 슬롯 그룹 중 하나의 슬롯 그룹을 선택하여 블록 인식을 수행함으로써 호출 기능을 제공할 수 있다.
이를 위해, 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드(400)는 블록 인식부(441), 코드 검색부(442), 기능 판단부(443), 제어 정보 생성부(444), 통신부(445), 슬롯 그룹 설정부(446), 조건문 판단부(447) 및 저장부(448)를 포함하여 구성될 수 있다. 이하, 도 11을 참조로 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드(400)에 대한 설명이 더 이루어진다. 또한, 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드(400)는 조건문의 개념을 제공하기 위해 복수의 슬롯들이 제 3 슬롯 그룹으로 더 구분되고, 호출 및 조건 판단 기능을 수행하는 조건문 기능 블록의 존재 여부에 따라 슬롯 그룹을 변경하여 제어하는 점을 제외하고는 본 발명의 제 2 실시예와 유사하다. 따라서, 아래의 설명에서는 본 발명의 제 2 실시예와 중복되는 설명은 생략하여 그 설명이 이루어진다.
위에서 설명한 바와 같이, 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드(400)에서 블록은 일반 블록과 기능 블록으로 분류될 수 있고, 기능 블록은 다시 클래스 기능 블록과 조건문 기능 블록으로 구분될 수 있다. 여기서, 일반 블록과 클래스 기능 블록을 통해 이루어지는 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드(400)의 동작은 위에서 본 발명의 제 1 실시예 및 제 2 실시예를 참조로 상세히 언급하였으므로, 아래에서는 조건문 판단부(447) 위주로 그 설명이 이루어진다.
조건문 판단부(447)는 코드 검색부(442)를 통해 검색한 제어 코드가 조건문 기능 코드인지 판단하는 기능을 한다. 또한, 조건문 판단부(447)는 코드 검색부(442)를 통해 검색한 제어 코드가 조건문 기능 코드인 경우, 해당 조건문 기능 블록에 포함된 조건이 매칭되는지 판단함으로써 제 3 슬롯 그룹의 선택 여부를 결정할 수 있다. 앞서 언급한 것처럼 이러한 조건 매칭에 이용되는 조건은 로봇으로부터 송신된 영역 인식 정보가 이용될 수 있다.
이에 따라, 조건문 판단부(447)는 로봇이 위치한 영역의 영역 정보를 요청하는 영역 정보 요청 신호를 생성하고, 생성한 영역 정보 요청 신호를 로봇(500)으로 송신할 수 있다. 그 후, 조건문 판단부(447)는 로봇(500)으로부터 송신된 영역 인식 정보와 해당 블록의 조건 정보를 비교하며, 조건이 매칭하는 경우 즉, 영역 인식 정보와 조건 정보가 동일한 경우, 슬롯 그룹 설정부(446)로 제어를 전달함으로써, 제 3 슬롯 그룹을 선택하게 할 수 있다.
슬롯 그룹 설정부(446)를 통해 이루어지는 슬롯 그룹 선택 방법과, 선택된 슬롯 그룹에 따라 이루어지는 블록 인식 과정, 그리고 제어 정보 생성 과정은 위에서 상세히 설명하였으므로, 중복되는 설명은 생략한다.
도 12는 본 발명의 일 실시예에 따른 로봇(500)의 분해구조를 개략적으로 나타낸 도면이다.
로봇(500)은 위에서 설명한 본 발명의 로봇 동작 제어 보드에서 송신된 로봇 제어 신호를 수신하여 로봇 제어 신호에 따라 동작된다. 또한, 로봇(500)은 스피커 기능을 하는 모듈로서 스피커부(526)를 포함하고, 상기 스피커부(526)는 형태에 있어서 혼(horn) 형, 혹은 콘(corn) 형을 포함하고, 구동 원리에 있어서 다이나믹형, 마그네틱형, 혹은 콘덴서형, 크리스털형를 포함한다.
한편, 이와 같은 로봇(500)은 상부케이싱부(510); 및 상기 상부케이싱부(510)에 결합되는 하부케이싱부(530)에 의하여 케이싱부를 구비하게 된다.
상기 상부케이싱부(510)는 바닥면이 비어있는 형태의 상부케이싱 본체 및 상기 상부케이싱 본체의 일면에 형성된 스피커홀(511)을 포함한다. 상기 상부케이싱 본체의 재질, 혹은 상부케이싱 본체의 상면(512)의 재질은 후술하는 LED모듈부(524)에서 발광하는 빛이 외부로 전달될 수 있는 투명 혹은 반투명의 재질임이 바람직하다.
한편, 하부케이싱부(530)는 하부케이싱 바닥면(531) 및 상기 하부케이싱 바닥면(531)에서 상측으로 돌출된 복수의 하부케이싱 지지대(532)를 포함한다. 이와 같은 구조에서 상기 상부케이싱과 상기 하부케이싱은 서로 견고하게 결합하고, 상기 상부케이싱과 상기 하부케이싱의 결합에 의하여 형성된 공간 내부에 배치된 구성요소들을 물리적인 충격 등으로부터 보호할 수 있다.
또한, 하부케이싱부(530)는 로봇(500)이 위치한 영역의 인식을 위해 관통부(533)가 형성될 수 있다. 즉, 로봇(500)은 이미지 인식부(미도시)를 이용하여 상기 관통부(533)를 통해 바닥면을 인식할 수 있고, 인식 결과를 근거로 영역 인식 정보를 생성할 수 있다.
한편, 상기 로봇(500)은 상기 상부케이싱부(510) 및 상기 하부케이싱부(530)의 결합에 의해 형성되는 내부 공간에 배치되는 기판부(520);를 포함하고, 이와 같은 기판부(520) 상에 본 발명에 따른 로봇(500)를 구동하는 복수의 모듈들이 구비되며, 바람직하게는 상기 기판부(520)상에 전기적으로 접속이 된다.
본 명세서에서, “A가 B상에 배치된다”는 것은 B가 A와 물리적으로 접촉하여 배치되는 것뿐만 아니라 A가 B와 물리적으로 이격되어 배치되어 있지만 전기적이나 혹은 물리적으로 접속 혹은 연결이 되어 있는 경우를 모두 의미한다.
구체적으로, 상기 로봇(500)은 상기 기판상에 배치되어 외부로부터 신호 입력이나 전원을 공급받는 유선접속부(521)를 포함한다. 바람직하게는 상기 유선접속부(521)는 범용적으로 사용되는 유선접속형태의 단자이고, 예를 들어 USB커넥터, 마이크로 5핀 커넥터, 30핀 커넥터들이 이에 해당할 수 있고, 일반적인 전자기기 등에 사용될 수 있는 커넥터들을 포함한다. 이와 같은 유선접속부(521)는 상기 기판상에 전기적으로 접속되어, 상기 기판상에 전기적으로 접속되어 있는 다른 구동모듈에 전원 혹은 신호를 인가할 수 있도록 구성됨이 바람직하다.
또한, 상기 로봇(500)은 상기 유선접속부(521)에 간접적 혹은 직접적으로 전기적으로 접속되어, 상기 유선접속부(521)로부터 전원을 공급받는 배터리부(522)를 포함한다. 상기 배터리부(522)는 로봇(500)의 여러 모듈들을 작동하는 전원을 공급하고, 상기 기판상에 전기적으로 접속되어, 상기 기판상에 전기적으로 접속되어 있는 다른 구동모듈에 전원을 공급할 수 있도록 구성됨이 바람직하다.
또한, 상기 로봇(500)은 상기 기판상에 배치된 제어부(523)를 포함한다. 상기 제어부(523)는 상기 전술한 구성요소 및 후술하는 구성요소를 제어하는 역할을 한다. 이와 같은 제어부(523)는 바람직하게는 MCU로서 구현할 수 있다.
또한, 상기 로봇(500)은 상기 기판상에 상기 로봇 제어 신호에 따라 동작하는 LED모듈부(524)를 포함한다. 바람직하게는 상기 LED모듈부(524)는 상부에 위치한 기판부(520)에 복수개가 구비됨이 바람직하고, 복수개의 LED모듈부(524)는 독립적으로 동작할 수 있음이 바람직하다. 예를 들어 제1 LED모듈부가 적색 빛을 발광할 때, 제2 LED모듈부가 청색 빛을 발광할 수도 있다.
또한, 상기 로봇(500)은 상기 기판상에 외부로부터 수신된 로봇 제어 신호에 따라 동작하고, 상기 로봇(500)를 이동시킬 수 있는 휠구동모듈부(525)를 포함한다. 바람직하게는 휠구동모듈부(525)는 복수로 구비된다. 도 12에서와 같이 상기 로봇(500)은 2개의 휠구동모듈부(525)를 포함하는 것이 바람직하다.
상기 휠구동모듈부(525)는 휠, 및 상기 휠을 구동시키는 모터부를 포함하고, 각각의 휠구동모듈은 독립적으로 동작할 수 있음이 바람직하다. 예를들어, 도 1에서 왼쪽의 제1 휠구동모듈이 1m/s로 전진하는 방향으로 휠이 구동될 때, 오른쪽의 제2 휠구동모듈은 0.5m/s로 후진하는 방향으로 구동될 수도 있다. 즉, 상기 휠구동모듈부(525)에서는 휠의 구동방향 및 구동속도가 독립적으로 제어됨이 바람직하다.
또한, 상기 로봇(500)은 상기 기판상에 외부로부터 수신한 로봇 제어 신호에 따라 사운드를 재생하는 스피커부(526)를 포함한다. 상기 스피커부(526)는 형태에 있어서 혼(horn) 형, 혹은 콘(corn) 형을 포함하고, 구동 원리에 있어서 다이나믹형, 마그네틱형, 혹은 콘덴서형, 크리스털형를 포함한다.
또한, 상기 로봇(500)은 상기 기판상에 로봇 동작 제어 보드와 무선적으로 통신할 수 있는 무선통신부(527)를 포함한다. 이와 같은 무선통신부(527)를 통하여 무선통신 방식으로 상기 로봇(500)은 상기 스피커부(526)에서 재생되는 로봇 제어 신호 및 상기 휠구동모듈부(525) 및 상기 LED모듈부(524)를 구동하는 로봇 제어 신호를 수신할 수 있다.
또한, 상기 무선통신부(527)는 바람직하게는 블루투스(bluetooth) 통신모듈을 포함하고, 혹은 지그비(zigbee) 통신 모듈, 적외선 통신 모듈, BLE(bluetooth low energy) 통신 모듈, 오디오 통신 모듈, LTE(long term evolution) 통신 모듈, 및 WiFi 통신 모듈, IrDA 기반의 적외선 통신 모듈, 무선 랜(WLAN), 와이브로(WiBro) 모듈, 무선 USB(Wireless USB) 모듈 중 하나 이상을 포함할 수 있다.
한편, 본 발명의 기판부(520)는 상부기판부(520.1) 및 하부기판부(520.2)를 포함하고, 상기 유선접속부(521), 배터리부(522), 무선통신부(527), 제어부(523), 스피커부(526), 휠구동모듈부(525) 중 1 이상은 상기 상부기판부(520.1)에 배치되고, 상기 유선접속부(521), 배터리부(522), 상기 무선통신부(527), 제어부(523), 스피커부(526), 휠구동모듈부(525) 중 나머지는 상기 하부기판부(520.2)에 배치된다.
또한, 상기 상부기판부(520.1)는 상부기판 접속부(528)를 포함하고, 상기 하부기판부(520.2)는 하부기판 접속부(529)를 포함하고, 상기 상부기판 접속부(528)와 상기 하부기판 접속부(529)는 상호 전기적으로 접속되어 있다.
이와 같은 구조에 의하여 본 발명에 따른 로봇(500)은 상기 상부케이싱부(510)와 상기 하부케이싱부(530)의 결합에 의하여 만들어지는 공간을 효율적으로 사용함으로써, 그 내부 공간에 다양한 모듈들을 배치할 수 있고, 또한 외부의 물리적 충격으로부터 보다 안전하고 견고한 배치를 도모할 수 있다.
한편, 상기 상부기판부(520.1)와 상기 하부기판부(520.2)는 상기 상부기판 접속부(528)와 상기 하부기판 접속부(529)에 의하여 서로 전기적으로 접속되어 있기 때문에, 데이터 및 전력의 송수신이 가능하고, 기판부(520)상의 각각의 모듈 배치에 있어서도 보다 제약을 줄일 수 있다.
한편, 도 12는 본 발명에 따른 로봇(500)의 기판부(520)에서의 모듈의 배치의 일예를 도시한 것일 뿐, 본 발명의 기판부(520)에서의 모듈의 배치는 이에 한정되지 않는다. 또한, 상기와 같이 2개의 기판에 의하여 구성되는 것 뿐만 아니라, 그 이상의 기판에 의하여 구성되는 것도 본 발명의 범위에 포함된다고 할 것이다.
도 13은 본 발명의 일 실시예에 따른 로봇(500)의 정면을 개략적으로 도시한 도면이다. 도 13에 도시된 바와 같이 상기 로봇(500)은 상기 상부케이싱 본체(110)의 내측면에 휠구동모듈부(525)의 휠이 배치되는 형태로 구성되어 있지만, 본 발명은 이에 한정되지 않는다. 또한, 상기 상부케이싱 본체의 스피커홀(511)과 상기 기판상에 배치되는 스피커부(526)가 동축상에서 배치되어 있고, 바람직하게는 2개의 상기 휠구동모듈부(525)의 모터 사이에 상기 스피커부(526)가 배치되어 있다. 더욱 바람직하게는, 상기 휠구동모듈부(525)의 모터가 상기 스피커부(526)의 측면을 지지하는 형태로 함으로써 보다 견고하게 상기 상부케이싱 본체와 상기 하부케이싱 본체에 의하여 형성되는 내부공간을 구성할 수 있다.
또한, 상기 LED모듈부(524)는 상기 상부기판부(520.1)에 배치되고, LED모듈부(524)에서 발광되는 광은 투명 혹은 반투명 재질의 상기 상부케이싱 본체(511)의 상면을 통하여 외부에 표시될 수 있음이 바람직하다.
도 14는 본 발명의 일 실시예에 따른 로봇의 기판부를 개략적으로 도시한 도면이다.
도 14의 (A)를 참조하여, 본 발명의 상기 기판부(520)는 상기 기판부(520)는 상부기판부(520.1) 및 하부기판부(520.2)를 포함하고, 상기 기판부(520)에 배치되는 모듈들 중 일부는 상기 상부기판부(520.1)에 배치되고, 상기 기판부(520)에 배치되는 모듈들 중 나머지는 상기 하부기판부(520.2)에 배치된다.
예를 들어, 유선접속부(521), 배터리부(522), 무선통신부(527), 제어부(523), 스피커부(526), 휠구동모듈부(525) 중 1 이상은 상기 상부기판부(520.1)에 배치되고, 상기 유선접속부(521), 배터리부(522), 상기 무선통신부(527), 제어부(523), 스피커부(526), 휠구동모듈부(525) 중 나머지는 상기 하부기판부(520.2)에 배치된다.
또한, 상기 상부기판부(520.1)는 상부기판 접속부(528)를 포함하고, 상기 하부기판부(520.2)는 하부기판 접속부(529)를 포함하고, 상기 상부기판 접속부(528)와 상기 하부기판 접속부(529)는 상호 전기적으로 접속되어 있다.
이와 같은 구조에 의하여 본 발명에 따른 로봇(500)은 상기 상부케이싱부(510)와 상기 하부케이싱부(530)의 결합에 의하여 만들어지는 공간을 효율적으로 사용함으로써, 그 내부 공간에 다양한 모듈들을 배치할 수 있고, 또한 외부의 물리적 충격으로부터 보다 안전하고 견고한 배치를 도모할 수 있다.
한편, 상기 상부기판부(520.1)와 상기 하부기판부(520.2)는 상기 상부기판 접속부(528)와 상기 하부기판 접속부(529)에 의하여 서로 전기적으로 접속되어 있기 때문에, 데이터 및 전력의 송수신이 가능하고, 기판부(520)상의 각각의 모듈 배치에 있어서도 보다 제약을 줄일 수 있다.
이하에서는, 도 4의 (B)를 참조하여 상기 기판부(520)에 배치되는 모듈에 대하여 설명하도록 한다.
상기 로봇(500)은 상기 기판상에 배치되어 외부로부터 신호 입력이나 전원을 공급받는 유선접속부(521)를 포함한다. 바람직하게는 상기 유선접속부(521)는 범용적으로 사용되는 유선접속형태의 단자이고, 예를 들어 USB커넥터, 마이크로 5핀 커넥터, 30핀 커넥터들이 이에 해당할 수 있고, 일반적인 전자기기 등에 사용될 수 있는 커넥터들을 포함한다. 이와 같은 유선접속부(521)는 상기 기판상에 전기적으로 접속되어, 상기 기판상에 전기적으로 접속되어 있는 다른 구동모듈에 전원 혹은 신호를 인가할 수 있도록 구성됨이 바람직하다.
또한, 상기 로봇(500)은 상기 유선접속부(521)에 간접적 혹은 직접적으로 전기적으로 접속되어, 상기 유선접속부(521)로부터 전원을 공급받는 배터리부(522)를 포함한다. 상기 배터리부(522)는 로봇(500)의 여러 모듈들을 작동하는 전원을 공급하고, 상기 기판상에 전기적으로 접속되어, 상기 기판상에 전기적으로 접속되어 있는 다른 구동모듈에 전원를 공급할 수 있도록 구성됨이 바람직하다.
또한, 상기 로봇(500)은 상기 기판상에 배치된 제어부(523)를 포함한다. 상기 제어부(523)는 상기 전술한 구성요소 및 후술하는 구성요소를 제어하는 역할을 한다. 이와 같은 제어부(523)는 바람직하게는 MCU로서 구현할 수 있다.
또한, 상기 로봇(500)은 상기 기판상에 상기 로봇 제어 신호에 따라 동작하는 LED모듈부(240)를 포함한다. 바람직하게는 상기 LED모듈부(240)는 상부에 위치한 기판부(520)에 복수개가 구비됨이 바람직하고, 복수개의 LED모듈부(240)는 독립적으로 동작할 수 있음이 바람직하다. 예를 들어, 제1 LED모듈부(240)가 적색 빛을 발광할 때, 제2 LED모듈부(240)가 청색 빛을 발광할 수도 있다.
또한, 상기 로봇(500)은 상기 기판상에 외부로부터 수신된 로봇 제어 신호에 따라 동작하고, 상기 로봇(500)를 이동시킬 수 있는 휠구동모듈부(525)를 포함한다. 바람직하게는 휠구동모듈부(525)는 복수로 구비된다. 도 1에서와 같이 상기 로봇(500)은 2개의 휠구동모듈부(525)를 포함하는 것이 바람직하다.
상기 휠구동모듈부(525)는 휠, 및 상기 휠을 구동시키는 모터부를 포함하고, 각각의 휠구동모듈은 독립적으로 동작할 수 있음이 바람직하다. 예를 들어, 도 1에서 왼쪽의 제1 휠구동모듈이 1m/s로 전진하는 방향으로 휠이 구동될 때, 오른쪽의 제2 휠구동모듈은 0.5m/s로 후진하는 방향으로 구동될 수도 있다. 즉, 상기 휠구동모듈부(525)에서는 휠의 구동방향 및 구동속도가 독립적으로 제어됨이 바람직하다.
또한, 상기 로봇(500)은 상기 기판상에 외부로부터 수신한 로봇 제어 신호에 따라 사운드를 재생하는 스피커부(526)를 포함한다. 상기 스피커부(526)는 형태에 있어서 혼(horn) 형, 혹은 콘(corn) 형을 포함하고, 구동 원리에 있어서 다이나믹형, 마그네틱형, 혹은 콘덴서형, 크리스털형를 포함한다.
또한, 상기 로봇(500)은 상기 기판상에 로봇 동작 제어 보드와 무선적으로 통신할 수 있는 무선통신부(527)를 포함한다. 이와 같은 무선통신부(527)를 통하여 무선통신 방식으로 상기 로봇(500)은 상기 스피커부(526), 상기 휠구동모듈부(525) 및 상기 LED모듈부(240)를 구동하는 로봇 제어 신호를 수신할 수 있다.
또한, 상기 무선통신부(527)는 바람직하게는 블루투스(bluetooth) 통신모듈을 포함하고, 혹은 지그비(zigbee) 통신 모듈, 적외선 통신 모듈, BLE(bluetooth low energy) 통신 모듈, 오디오 통신 모듈, LTE(long term evolution) 통신 모듈, 및 WiFi 통신 모듈, IrDA 기반의 적외선 통신 모듈, 무선 랜(WLAN), 와이브로(WiBro) 모듈, 무선 USB(Wireless USB) 모듈 중 하나 이상을 포함할 수 있다.
또한, 본 발명의 일 실시예에 따른 로봇(500)은 로봇(500)이 속한 영역을 인식하는 이미지 인식부(미도시)를 더 포함하여 구성될 수 있다. 앞서 언급한 바와 같이, 로봇(500)은 스토리 보드(600) 상에서 그 동작을 수행할 수 있는데, 스토리 보드(600)는 도 15에 도시된 바와 같이 복수의 영역들로 구획될 수 있다. 즉, 이미지 인식부는 하부케이싱부(530)에 형성된 관통부(533)를 통해 로봇(500)이 위치한 영역을 인식할 수 있고, 인식 결과를 근거로 영역 인식 정보를 생성할 수 있다.
또한, 스토리 보드(600)는 도 16에 도시된 것처럼 복수의 구획된 영역들 중 적어도 일부에 미리 설정된 이미지가 프린팅될 수 있다. 즉, 로봇(500)은 이미지 인식부를 통해 로봇(500)이 위치한 바닥면의 이미지를 인식하게 되고,인식한 이미지를 근거로 영역 인식 정보를 생성할 수 있다. 복수의 영역들 중 적어도 일부 영역에는 해, 구름, 바다, 눈 등과 같은 이미지 또는 특정 색상이 포함된 이미지가 존재할 수 있다. 물론, 이미지 인식부는 로봇의 위치판 바닥면의 이미지 인식을 수행할 때, 단색의 색상이 아닌 해, 구름, 바다, 눈 등과 같은 이미지가 존재하더라도 해당 이미지의 중앙의 색상만을 검출함으로써 해당 이미지를 식별하는 것도 생각해볼 수 있다.
또한, 도 15에서는 일부 영역에만 이미지 또는 색상이 존재하는 것으로 설명하였으나 이는 예시일 뿐이고, 스토리 보드(600)에 포함된 전체 영역에 대해 각기 다른 이미지 또는 색상이 존재하는 것도 가능하다. 이는 스토리 보드(600)가 그 특성상 사용자에게 노출되는 부분이기 때문이며, 스토리 보드(600)의 각 영역에 포함되는 이미지는 도 15에 도시된 종류, 색상 및 개수로 제한되지 않는다.
또한, 스토리 보드(600)에는 로봇(500)의 이동을 유도하는 유도 경로 라인(dl)이 더 포함될 수 있다. 여기서, 유도 경로 라인(dl)은 스토리 보드(500)의 복수개의 구획된 영역들의 횡방향 및 종방향으로 형성될 수 있다.
도 16은 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드의 동작 방법에 대한 흐름도이다. 상술한 바와 같이, 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드는 상판에 복수의 슬롯들이 존재하되, 복수의 슬롯들을 하나의 슬롯 그룹으로 설정하여 블록들을 인식하는 것을 특징으로 한다, 또한, 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드는 제 1 슬롯 그룹 내에 삽입된 블록들을 슬롯의 순서에 따라 순차적으로 인식함으로써 제어 정보를 생성할 수 있다. 이제, 도 16을 참조로 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드의 동작 방법에 대한 설명이 이루어진다. 또한, 아래에서는 위에서 설명된 부분과 중복되는 사항은 생략하여 그 설명이 이루어진다.
S101 단계는 로봇 동작 제어 보드에서 복수의 슬롯들의 위치에 대응하여 상판의 하부에 배치된 블록 인식부에 의해, 상기 슬롯을 통해 삽입되는 블록의 블록 인식 코드를 인식하는 단계이다. 앞서 설명한 것처럼, 로봇 동작 제어 보드의 상판에는 복수의 슬롯들이 형성될 수 있고, 상기 복수의 슬롯들을 통해 적어도 하나의 블록이 삽입될 수 있다. 여기서, 블록 인식 코드는 블록 삽입부의 하면에 형성될 수 있고, S101 단계는 블록 삽입부의 하면에 형성된 블록 인식 코드를 인식할 수 있다.
위에서 도 6을 참조로 설명한 바와 같이, 블록 삽입부의 하면은 복수개의 구획된 면을 가질 수 있고, 각 구획된 면에는 적어도 하나의 식별 코드가 형성될 수 있다. 여기서, 식별 코드는 색으로 이루어질 수 있다. 즉, S101 단계는 블록 삽입부의 하면에 형성된 각 구획된 면에서 식별 코드를 인식하고, 인식한 식별 코드를 조합함으로써 블록 인식 코드를 인식할 수 있다.
S102 단계는 코드 검색부에 의해, 블록 인식 코드에 매칭하는 제어 코드를 검색하는 단계이다. 앞서 언급한 것처럼, 블록 인식 코드는 단지 색상이 조합된 블록의 식별자 기능만을 하므로, 로봇의 움직임을 제어하기 위해서는 블록 인식 코드에 따라 로봇을 동작시키기 위한 제어 코드를 검색하는 과정이 필요하다. S102 단계는 이러한 제어 코드의 검색을 수행할 수 있다.
S103 단계는 S102 단계를 통해 검색한 제어 코드를 이용하여 로봇을 제어하기 위한 로봇 제어 신호를 생성하고, 통신부를 통해 상기 로봇 제어 신호를 로봇에 송신하는 단계이다.
이에 따라, 로봇의 경우 S103 단계를 통해 생성된 로봇 제어 신호를 근거로 움직임을 수행할 수 있다. 예를 들어, 로봇은 상술한 로봇 제어 신호에 따라 특정 방향으로 이동하거나, 특정 음향을 출력하거나, 또는 특정 색의 빛을 출력하는 것이 가능하다.
S104 단계는 제어 정보 생성부에 의해, 블록이 삽입된 슬롯에 후속하는 슬롯들에 다른 블록이 삽입되었는지 판단하는 단계이다. 즉, S104 단계는 인식한 슬롯에 후속하는 슬롯들에 다른 블록들이 존재하는지 판단하는 단계이다. S104 단계를 통한 판단 결과, 다른 블록들이 존재하는 것으로 판단된 경우, 제어는 S101 단계로 전달되어 상술한 과정들을 재수행한다. 만일 제 1 슬롯 그룹의 슬롯들에 삽입된 모든 블록들에 대한 처리가 완료되었다면, 제어는 종료 블록으로 전달될 수 있다.
즉, 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드의 동작 방법에 따르면, 슬롯의 순서에 따라 슬롯에 삽입된 블록들을 순차적으로 인식하고, 순차적으로 인식된 블록에 따라 로봇 제어 신호를 생성할 수 있다.
또한, 위의 설명에서 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드의 동작 방법의 경우 하나의 로봇 제어 신호에는 하나의 제어 코드가 포함된 예시에 대해 설명되었다. 다만 이는 예시일 뿐이고, 본 발명의 제 1 실시예에 따른 로봇 동작 제어 보드의 동작 방법은 하나의 교육 로봇 제어 신호에 복수의 제어 코드들이 포함되도록 교육 로봇 제어 신호를 생성하는 것도 가능하다. 이에 대한 설명은 위에서 도 5를 참조로 상세히 언급하였으므로, 중복되는 설명은 생략한다.
도 17은 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드의 동작 방법에 대한 흐름도이다. 여기서, 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드는 복수의 슬롯들이 형성된 상판과 상기 상판을 지지하는 지지부를 포함하여 구성되고, 상기 복수의 슬롯들은 제 1 슬롯 그룹 및 제 2 슬롯 그룹으로 구분되는 것을 특징으로 한다. 여기서, 제 2 슬롯 그룹은 제 1 슬롯 그룹 내에 클래스 기능 블록이 존재하는 경우, 제 2 슬롯 그룹에 속한 블록들의 인식이 수행될 수 있으며, 만일 제 1 슬롯 그룹 내에 클래스 기능 블록이 존재하지 않는다면, 제 2 슬롯 그룹에 속한 블록들에 대해서는 인식 과정이 이루어지지 않는다. 이는 제 2 슬롯 그룹이 클래스 또는 구조체의 개념에 해당하고, 클래스 기능 블록이 상기 클래스 또는 구조체를 호출하기 위한 호출 함수의 기능을 하기 때문이다. 또한, 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드의 동작 방법은 도 16을 참조로 설명한 제 1 실시예와 마찬가지로, 슬롯을 통해 삽입된 블록들을 슬롯의 순서에 따라 순차적으로 인식하고, 블록 인식 결과를 근거로 로봇을 제어하기 위한 로봇 제어 신호를 생성할 수 있다. 이제 도 17을 참조로, 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드의 동작 방법에 대한 설명이 이루어진다.
S201 단계는 블록 인식부에 의해, 상기 슬롯을 통해 삽입되는 블록의 블록 인식 코드를 인식하는 단계이고, S202 단계는 코드 검색부에 의해, 블록 인식 코드에 매칭하는 제어 코드를 검색하는 단계이다. 여기서, S201 단계 및 S202 단계를 통해 이루어지는 인식 및 검색 과정은 도 16을 참조로 설명한 S101 단계 및 S102 단계와 그 동작이 동일하므로, 중복되는 설명은 생략한다.
S203 단계는 기능 판단부에 의해, S202 단계를 통해 검색한 제어 코드의 코드 종류를 구분하는 단계이다. 앞서 언급한 것처럼, 블록은 로봇의 움직임을 제어하거나, 로봇을 통해 음향 또는 빛을 출력하는 일반 블록과, 프로그래밍 언어에서 구조체, 클래스 및 조건문의 개념을 이해시키기 위한 기능 블록으로 구분될 수 있다. 여기서, 기능 블록은 구조체 및 클래스의 개념을 이해시키기 위한 클래스 기능 블록과, 조건문의 개념을 이해시키기 위한 조건문 기능 블록으로 구분될 수 있으며, 해당 블록에 클래스 기능 코드가 존재하면 이를 클래스 기능 블록으로, 그리고 해당 블록에 조건문 기능 코드가 존재하면 이를 조건문 기능 블록으로 정의할 수 있다.
여기서, 클래스 기능 코드는 위에서 설명한 바와 같이, 제 2 슬롯 그룹에 속한 블록들을 통해 로봇의 제어를 수행하기 위한 코드 즉, 제 2 슬롯 그룹의 호출을 위한 코드를 나타내며, 이에 대한 설명은 위에서 도 7, 도 8a 내지 도 8c를 참조로 상세히 이루어졌으므로, 중복되는 설명은 생략한다.
S204 단계는 기능 판단부에 의해, S203 단계에서의 확인 결과를 근거로, S202 단계를 통해 검색한 제어 코드가 클래스 기능 코드에 해당하는지 판단하는 단계이다. S204 단계에서의 판단 결과, S202 단계를 통해 검색한 제어 코드가 클래스 기능 코드에 해당하는 것으로 판단되면, 제어는 S205 단계로 전달된다. 그렇지 않다면 제어는 상술한 일반 블록에 따른 로봇 제어 신호의 생성 및 송신을 위해, S206 단계로 전달된다. 여기서, S206 단계를 통해 이루어지는 로봇 제어 신호 생성 및 송신 과정은 도 16을 참조로 설명한 S103 단계와 그 동작이 동일하므로, 중복되는 설명은 생략한다.
S205 단계는 S204 단계를 통해 클래스 기능 코드가 검출된 경우 수행되는 단계로서, 슬롯 그룹 설정부에 의해 제 2 슬롯 그룹을 선택하는 단계이다. 즉, 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드의 동작 방법은 제 1 실시예와 마찬가지로, 제 1 슬롯 그룹에 속한 블록들을 인식할 수 있다. 다만, 이러한 인식 과정에서 호출 기능을 수행하는 클래스 기능 코드가 검출되면, 본 발명의 제 2 실시예에 따른 로봇 동작 제어 보드는 S205 단계를 통해 제 2 슬롯 그룹을 선택할 수 있다. 이러한 제 2 슬롯 그룹의 선택 이후, 제어는 S201 단계로 전달된다.
이에 따라, S201 단계는 최초에는 제 1 슬롯 그룹에 속한 블록들을 순차적으로 인식하되, S205 단계를 통해 슬롯 그룹이 변경되면, S201 단계는 변경된 슬롯 그룹에 속한 블록들을 순차적으로 인식할 수 있다.
S207 단계는 제어 정보 생성부에 의해, 블록이 삽입된 슬롯에 후속하는 슬롯들에 다른 블록이 삽입되었는지 판단하는 단계이다. 즉, S207 단계는 인식한 슬롯에 후속하는 슬롯들에 다른 블록들이 존재하는지 판단하는 단계이다. S207 단계를 통한 판단 결과, 다른 블록들이 존재하는 것으로 판단된 경우, 제어는 S201 단계로 전달되어 상술한 과정들을 재수행한다. 반대로, 현재 선택된 슬롯 그룹에 대해 추가 블록이 존재하지 않는 것으로 판단되면 제어는 S208 단계로 전달된다.
S208 단계는 슬롯 그룹 선택부에 의해, 현재 선택된 슬롯 그룹이 제 2 슬롯 그룹인지 판단하는 단계이다. 즉, 제 1 슬롯 그룹에 대한 블록 인식 과정이 완료된 경우는 전체 블록 인식 과정이 수행된 것이지만, 제 2 슬롯 그룹에 대한 블록 인식 과정이 완료되더라도, 아직 제 1 슬롯 그룹에 추가적인 블록이 존재할 수 있다. 이에 따라, S208 단계를 통한 판단 과정이 이루어질 수 있다.
즉, S208 단계는 현재 슬롯 그룹에 대한 판단을 수행하고, 제 2 슬롯 그룹에 속한 블록들의 인식이 완료되면 제어를 S209 단계로 전달하여 제 1 슬롯 그룹을 선택하는 과정을 수행할 수 있다. 즉, S209 단계를 통해 S201 단계는 제 1 슬롯 그룹에서 상기 클래스 기능 코드를 갖는 블록에 후속하는 블록의 블록 인식 코드를 인식함으로써, 제 1 슬롯 그룹에 포함된 남은 블록들에 대한 인식을 수행하게 된다.
반대로, S208 단계를 통한 판단 결과 현재 슬롯 그룹이 제 1 슬롯 그룹인 경우, 제어는 종료 블록으로 전달된다.
도 18은 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드의 동작 방법에 대한 흐름도이다. 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드의 동작 방법은 조건문 기능 블록의 존재 여부를 판단하고, 조건문 기능 블록이 존재할 때 수행되는 동작들을 제외하고, 본 발명의 제 2 실시예와 그 기능이 동일하다. 이에 따라, 아래에서는 본 발명의 제 2 실시예와의 차이점 위주로 그 설명이 이루어진다.
여기서, 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드는 복수의 슬롯들이 형성된 상판과 상기 상판을 지지하는 지지부를 포함하여 구성되고, 상기 복수의 슬롯들은 제 1 슬롯 그룹, 제 2 슬롯 그룹 및 제 3 슬롯으로 구분되는 것을 특징으로 한다. 여기서, 제 3 슬롯 그룹은 제 1 슬롯 그룹 또는 제 2 슬롯 그룹 내에 조건문 기능 블록이 존재하고, 조건문 기능 블록에 포함된 조건이 매칭될 경우 제 3 슬롯 그룹에 포함된 블록들의 인식이 수행될 수 있다. 즉, 제 3 슬롯 그룹에 속한 블록들은 제 1 슬롯 그룹 또는 제 2 슬롯 그룹에 조건문 기능 블록이 존재하지 않거나, 또는 조건문 기능 블록이 존재하더라도 해당 조건이 충족되지 않을 경우, 제 3 슬롯 그룹에 속한 블록들에 대해서는 인식 과정이 이루어지지 않는다. 이는 조건문 기능 블록이 조건 함수에 해당하고, 제 3 슬롯 그룹이 조건에 대해 매칭할 시 동작되는 라인들에 해당하기 때문이다.
또한, 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드의 동작 방법은 도 16 및 도 17을 참조로 설명한 제 1 실시예 및 제 2 실시예와 마찬가지로, 슬롯을 통해 삽입된 블록들을 슬롯의 순서에 따라 순차적으로 인식하고, 블록 인식 결과를 근거로 로봇을 제어하기 위한 로봇 제어 신호를 생성할 수 있고, 클래스 기능 블록(즉, 클래스 기능 코드를 갖는 블록)의 존재 여부에 따라 제 2 슬롯 그룹에 속한 블록들을 인식하는 것도 가능하다. 이제 도 18을 참조로, 본 발명의 제 8 실시예에 따른 로봇 동작 제어 보드의 동작 방법에 대한 설명이 이루어진다.
S301 단계는 블록 인식부에 의해, 상기 슬롯을 통해 삽입되는 블록의 블록 인식 코드를 인식하는 단계이고, S302 단계는 코드 검색부에 의해, 블록 인식 코드에 매칭하는 제어 코드를 검색하는 단계이다. 여기서, S301 단계 및 S302 단계를 통해 이루어지는 인식 및 검색 과정은 도 16 및 도 17을 참조로 상세히 언급하였으므로, 중복되는 설명은 생략한다.
S303 단계는 기능 판단부에 의해, S302 단계를 통해 검색한 제어 코드의 코드 종류를 구분하는 단계이다. 앞서 언급한 것처럼, 블록은 일반 블록과 기능 블록으로 구분될 수 있고, 기능 블록은 다시 클래스 기능 블록과 조건문 기능 블록으로 구분될 수 있다.
여기서, 조건문 기능 블록은 조건문 기능 코드를 가진 블록을 나타내고, 조건문 기능 코드는 호출 함수 기능을 수행한다는 점에서 클래스 기능 코드의 개념과 일부 유사하다. 다만, 조건문 기능 코드는 해당 블록에 포함된 조건이 충족될 시에만 상기 호출 기능을 수행한다는 점에서 클래스 기능 코드와 차이가 있다.
S304 단계는 기능 판단부에 의해, S303 단계에서의 확인 결과를 근거로, 제어 코드가 기능 코드인지의 여부를 판단하는 단계이다. S304 단계에서의 판단 결과, S302 단계를 통해 검색한 제어 코드가 기능 코드에 해당하는 것으로 판단되면, 제어는 S305 단계로 전달된다. 그렇지 않다면 제어는 상술한 일반 블록에 따른 로봇 제어 신호의 생성 및 송신을 위해, S306 단계로 전달된다. 여기서, S306 단계를 통해 이루어지는 로봇 제어 신호 생성 및 송신 과정은 도 16을 참조로 설명한 S103 단계와 그 동작이 동일하므로, 중복되는 설명은 생략한다.
S305 단계는 기능 코드의 종류를 판단하는 단계로서, S302 단계를 통해 검출한 제어 코드가 클래스 기능 코드인 경우, 제어를 S306 단계로 전달할 수 있다. 그렇지 않다면 제어는 S307 단계로 전달된다.
S306 단계는 클래스 기능 코드 즉, 조건문 또는 클래스의 개념을 이해시키기 위해 수행되는 단계로서, 슬롯 그룹 설정부에 의해 제 2 슬롯 그룹을 선택하는 단계이다. 즉, 도 17을 참조로 설명한 바와 같이, S306 단계는 제 1 슬롯 그룹에 속한 블록들을 인식하는 중, 인식 과정에서 호출 기능을 수행하는 클래스 기능 코드가 검출되면, 본 발명의 제 3 실시예에 따른 로봇 동작 제어 보드는 S306 단계를 통해 제 2 슬롯 그룹을 선택할 수 있다. 이러한 제 2 슬롯 그룹의 선택 이후, 제어는 S301 단계로 전달된다.
이에 따라, S301 단계는 최초에는 제 1 슬롯 그룹에 속한 블록들을 순차적으로 인식하되, S306 단계를 통해 슬롯 그룹이 변경되면, S301 단계는 변경된 슬롯 그룹에 속한 블록들을 순차적으로 인식할 수 있다. 이러한 클래스 인식 코드와, 클래스 인식 코드 발생 시 이루어지는 동작 방법에 대한 설명은 위에서 도 17을 참조로 상세히 언급하였으므로, 중복되는 설명은 생략한다.
S307 단계는 S305 단계를 통한 판단 결과를 근거로, 인식된 제어 코드가 조건문 기능 코드인 경우 수행되는 단계로서, 로봇이 위치한 영역의 영역 정보를 요청하는 영역 정보 요청 신호를 생성하고, 로봇으로 영역 정보 요청 신호를 송신하는 단계이다. 위에서 설명한 것처럼, 로봇은 이미지 인식부를 포함할 수 있고, 영역 정보 요청 신호를 수신할 시, 이미지 인식부를 통해 스토리 보드 내에서 해당 영역을 인식하고, 영역 인식 정보를 생성할 수 있다. 여기서, 영역 인식 정보의 생성 과정은 위에서 상세히 설명하였으므로, 중복되는 설명은 생략한다.
S308 단계는 로봇으로부터 생성되어 송신된, 영역 인식 정보를 수신하는 단계이다.
S309 단계는 로봇으로부터 송신된 영역 인식 정보와 조건문 기능 코드를 포함하는 블록의 조건 정보를 비교함으로써 조건의 매칭 여부를 판단하는 단계이다. 만일 조건이 매칭하는 것으로 판단되면 제어는 S310 단계로 전달된다. 그렇지 않은 경우, 제어는 S301 단계로 전달된다.
즉, S309 단계의 판단 결과를 통해 조건이 매칭될 시, 프로그래밍 언어에서 조건문의 특성을 반영하기 위해 S310 단계를 통해 제 3 슬롯 그룹의 선택이 이루어지게 된다. 물론, 조건이 매칭되지 않는 다면, 이러한 프로그래밍 언어 특성에 따라 제 3 슬롯 그룹의 블록이 인식되지 않도록 별도의 슬롯 그룹의 변경 과정은 수행되지 않는다.
S312 단계는 제어 정보 생성부에 의해, 블록이 삽입된 슬롯에 후속하는 슬롯들에 다른 블록이 삽입되었는지 판단하는 단계이다. 즉, S312 단계는 인식한 슬롯에 후속하는 슬롯들에 다른 블록들이 존재하는지 판단하는 단계이다. S312 단계를 통한 판단 결과, 다른 블록들이 존재하는 것으로 판단된 경우, 제어는 S301 단계로 전달되어 상술한 과정들을 재수행한다. 반대로, 현재 선택된 슬롯 그룹에 대해 추가 블록이 존재하지 않는 것으로 판단되면 제어는 S313 단계로 전달된다.
S313 단계는 슬롯 그룹 선택부에 의해, 현재 선택된 슬롯 그룹이 제 2 슬롯 그룹 또는 제 3 슬롯 그룹인지 판단하는 단계이다. 즉, 제 1 슬롯 그룹에 대한 블록 인식 과정이 완료된 경우는 전체 블록 인식 과정이 수행된 것이지만, 제 2 슬롯 그룹 또는 제 3 슬롯 그룹에 대한 블록 인식 과정이 완료되더라도, 아직 제 1 슬롯 그룹에 추가적인 블록이 존재할 수 있다.
S313 단계를 통한 판단 결과 현재 선택된 슬롯 그룹이 제 2 슬롯 그룹 또는 제 3 슬롯 그룹이라면 제어는 S314 단계로 전달되어 제 1 슬롯 그룹을 선택하는 과정이 수행된다. 그렇지 않다면 제어는 종료 블록으로 전달될 수 있다.
이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100 : 로봇 동작 제어 보드
110 : 상판 111 : 제 1 슬롯 그룹
112 : 제 2 슬롯 그룹 113 : 제 3 슬롯 그룹
120 : 지지부 130 : 블록
241 : 블록 인식부 242 : 코드 검색부
243 : 제어 정보 생성부 244 : 통신부
245 : 저장부 346 : 슬롯 그룹 설정부
447 : 조건문 판단부
500 : 로봇 600 : 스토리 보드
1000 : 로봇 동작 제어 보드 어셈블리

Claims (22)

  1. 복수의 슬롯들이 형성된 보드 형태의 상판;
    상기 상판을 지지하는 지지부;
    상기 복수의 슬롯들의 위치에 대응하여 상기 상판의 하부에 배치되고, 상기 슬롯을 통해 삽입되는 블록의 블록 인식 코드를 인식하는 블록 인식부;
    저장부에서 상기 블록 인식 코드에 매칭하는 제어 코드를 검색하는 코드 검색부; 및
    상기 제어 코드를 이용하여 로봇 제어 신호를 생성하고, 상기 로봇 제어 신호를 송신하는 제어 정보 생성부를 포함하는 것을 특징으로 하는 로봇 동작 제어 보드.
  2. 제1항에 있어서,
    상기 복수의 슬롯들은 적어도 하나의 슬롯 그룹으로 구분되고, 상기 블록 인식부는 제 1 슬롯 그룹에 삽입된 블록들의 인식 코드를 순차적으로 인식하는 것을 특징으로 하는 로봇 동작 제어 보드.
  3. 제2항에 있어서,
    상기 코드 검색부를 통해 검색한 제어 코드의 코드 종류를 구분하는 기능 판단부를 더 포함하고, 상기 코드 종류는 일반 코드 및 기능 코드를 포함하는 것을 특징으로 하는 로봇 동작 제어 보드.
  4. 제3항에 있어서,
    상기 코드 종류에 따라 2개 이상의 슬롯 그룹들 중 하나의 슬롯 그룹을 선택하는 슬롯 그룹 설정부를 더 포함하고,
    상기 슬롯 그룹 설정부는 기능 판단부를 통해 기능 코드 중 클래스 기능 코드가 검출된 경우, 제 2 슬롯 그룹을 선택하는 것을 특징으로 하는 로봇 동작 제어 보드.
  5. 제4항에 있어서,
    상기 블록 인식부는 제 2 슬롯 그룹이 선택된 경우, 상기 제 2 슬롯 그룹에 포함된 블록들의 블록 코드를 순차적으로 인식하는 것을 특징으로 하는 로봇 동작 제어 보드.
  6. 제4항에 있어서,
    상기 슬롯 그룹 설정부는 상기 제 2 슬롯 그룹에 속한 전체 블록들의 인식 완료 여부를 판단하고, 제 2 슬롯 그룹에 속한 블록들의 전체 블록들의 인식이 완료된 경우 제 1 슬롯 그룹을 선택하며,
    상기 블록 인식부는 상기 제 1 슬롯 그룹에서 상기 클래스 기능 코드를 갖는 블록에 후속하는 블록의 블록 인식 코드를 인식하는 것을 특징으로 하는 로봇 동작 제어 보드.
  7. 제4항에 있어서,
    상기 코드 검색부를 통해 검색한 제어 코드가 조건문 기능 코드인 경우, 로봇이 위치한 영역의 영역 정보를 요청하는 영역 정보 요청 신호를 생성하는 조건문 판단부를 더 포함하고,
    상기 조건문 판단부는 상기 로봇으로부터 송신된 영역 인식 정보와 상기 조건문 기능 코드를 포함하는 블록의 조건 정보를 비교하며,
    상기 슬롯 그룹 설정부는 상기 영역 인식 정보와 상기 조건 정보가 동일한 경우 제 3 슬롯 그룹을 선택하는 것을 특징으로 하는 로봇 동작 제어 보드.
  8. 제1항에 있어서,
    상기 블록은 하부 방향으로 돌출되어 상기 상판의 슬롯에 삽입되는 블록 삽입부를 포함하고, 상기 블록 삽입부의 외주는 적어도 3개의 변의 길이가 상이한 다각형 또는 적어도 하나의 변과 적어도 하나의 곡선을 포함하는 형상을 가지며, 상기 블록 인식 코드는 상기 블록 삽입부의 하면에 형성되는 것을 특징으로 하는 로봇 동작 제어 보드.
  9. 제8항에 있어서,
    상기 블록 삽입부의 하면은 복수개의 구획된 면을 갖고, 복수개의 구획된 면 각각에는 적어도 하나의 식별 코드가 포함되며, 상기 블록 인식 코드는 상기 식별 코드가 조합된 코드인 것을 특징으로 하는 로봇 동작 제어 보드.
  10. 제9항에 있어서,
    각 식별 코드는 색으로 이루어지고, 상기 블록 인식부는 상기 블록 삽입부의 하면에서 복수개의 구획된 면 각각에 형성된 색을 인식함으로써 블록의 블록 인식 코드를 검출하는 것을 특징으로 하는 로봇 동작 제어 보드.
  11. 제1항 내지 제10항 중 어느 한 항에 따른 로봇 동작 제어 보드; 및
    상기 로봇 동작 제어 보드에서 생성된 로봇 제어 신호를 수신하고, 상기 로봇 제어 신호에 따라 동작되는 로봇을 포함하는 것을 특징으로 하는 로봇 동작 제어 보드 어셈블리.
  12. 제11항에 있어서,
    상기 로봇은,
    상기 로봇 동작 제어 보드로부터 송신된 영역 정보 요청 신호를 수신할 시, 상기 로봇이 위치한 바닥면을 인식함으로써 상기 로봇이 위치한 영역의 영역 인식 정보를 생성하는 이미지 인식부를 포함하는 것을 특징으로 하는 로봇 동작 제어 보드 어셈블리.
  13. 제12항에 있어서,
    복수개의 구획된 영역들로 구분되고, 상기 복수개의 구획된 영역들 중 적어도 일부에는 미리 설정된 이미지가 프린팅된 스토리 보드를 더 포함하고,
    상기 로봇은 영역 정보 요청 신호를 수신할 시, 상기 스마트 보드 내에서 상기 로봇이 위치한 영역에 대한 영역 인식 정보를 생성하는 것을 특징으로 하는 로봇 동작 제어 보드 어셈블리.
  14. 제13항에 있어서,
    상기 스토리 보드에는 로봇의 이동을 유도하는 유도 경로 라인이 포함되고, 상기 유도 경로 라인은 스토리 보드의 복수개의 구획된 영역들의 횡방향 및 종방향으로 형성되는 것을 특징으로 하는 로봇 동작 제어 보드 어셈블리.
  15. 제12항에 있어서,
    상기 로봇은
    상부 케이싱부;
    상기 상부 케이싱부에 결합되는 하부 케이싱부; 및
    상기 상부 케이싱부 및 상기 하부 케이싱부의 결합에 의해 형성되는 내부 공간에 배치되는 기판부를 포함하고,
    상기 하부 케이싱부에는 관통홀이 형성되고, 상기 이미지 인식부는 상기 기판부의 하부에 배치되어, 상기 관통홀을 통해 상기 로봇이 위치한 바닥면을 인식하는 것을 특징으로 하는 로봇 동작 제어 보드 어셈블리.
  16. 제15항에 있어서,
    상기 로봇은
    상기 기판부 상에 배치되어, 상기 로봇 제어 신호에 포함된 음향 요청 신호에 따라 음향을 재생하는 스피커부;
    상기 기판부 상에 배치되어, 상기 로봇 제어 신호에 포함된 움직임 요청 신호에 따라 상기 로봇의 움직임을 제어하는 휠구동모듈부; 및
    상기 로봇 제어 신호에 따라 동작하는 LED모듈부를 더 포함하는 로봇 동작 제어 보드 어셈블리.
  17. 복수의 슬롯들이 형성된 보드 형태의 상판, 상기 상판을 지지하는 지지부, 상기 복수의 슬롯들의 위치에 대응하여 상기 상판의 하부에 배치되는 블록 인식부를 포함하는 로봇 동작 제어 보드의 동작 방법으로서,
    상기 블록 인식부에 의해, 상기 슬롯을 통해 삽입되는 블록의 블록 인식 코드를 인식하는 단계;
    코드 검색부에 의해, 저장부에서 상기 블록 인식 코드에 매칭하는 제어 코드를 검색하는 단계; 및
    제어 정보 생성부에 의해, 상기 제어 코드를 이용하여 로봇 제어 신호를 생성하고, 상기 로봇 제어 신호를 송신하는 단계를 포함하는 것을 특징으로 하는 로봇 동작 제어 보드의 동작 방법
  18. 제17항에 있어서,
    상기 복수의 슬롯들은 적어도 하나의 슬롯 그룹으로 구분되고,
    상기 슬롯을 통해 삽입되는 블록의 블록 인식 코드를 인식하는 단계는,
    제 1 슬롯 그룹에 삽입된 블록들의 인식 코드를 순차적으로 인식하는 단계를 포함하는 것을 특징으로 하는 로봇 동작 제어 보드의 동작 방법.
  19. 제18항에 있어서,
    기능 판단부에 의해, 상기 검색한 제어 코드의 코드 종류를 구분하는 단계를 더 포함하고, 상기 코드 종류는 일반 코드 및 기능 코드를 포함하는 것을 특징으로 하는 로봇 동작 제어 보드의 동작 방법.
  20. 제19항에 있어서,
    슬롯 그룹 설정부에 의해, 상기 코드 종류에 따라 2개 이상의 슬롯 그룹들 중 하나의 슬롯 그룹을 선택하는 단계를 더 포함하고,
    상기 2개 이상의 슬롯 그룹들 중 하나의 슬롯 그룹을 선택하는 단계는,
    인식된 블록의 제어 코드가 클래스 기능 코드인 경우, 제 2 슬롯 그룹을 선택하는 단계를 포함하는 것을 특징으로 하는 로봇 동작 제어 보드의 동작 방법.
  21. 제20항에 있어서,
    상기 슬롯 그룹 설정부에 의해, 상기 제 2 슬롯 그룹에 속한 전체 블록들의 인식 완료 여부를 판단하는 단계; 및
    제 2 슬롯 그룹에 속한 전체 블록들의 인식이 완료된 경우 제 1 슬롯 그룹을 선택하는 단계를 더 포함하고,
    상기 제 1 슬롯 그룹을 선택하는 단계 이후, 상기 블록 인식부에 의해, 상기 제 1 슬롯 그룹에서 상기 클래스 기능 코드를 갖는 블록에 후속하는 블록의 블록 인식 코드를 인식하는 단계가 수행되는 것을 특징으로 하는 로봇 동작 제어 보드의 동작 방법.
  22. 제20항에 있어서,
    조건문 판단부에 의해, 인식된 제어 코드가 조건문 기능 코드인 경우, 로봇이 위치한 영역의 영역 정보를 요청하는 영역 정보 요청 신호를 생성하는 단계;
    상기 조건문 판단부에 의해, 상기 로봇으로부터 송신된 영역 인식 정보와 상기 조건문 기능 코드를 포함하는 블록의 조건 정보를 비교하는 단계;
    상기 슬롯 그룹 설정부에 의해, 상기 영역 인식 정보와 상기 조건 정보가 동일한 경우 제 3 슬롯 그룹을 선택하는 단계를 더 포함하는 것을 특징으로 하는 로봇 동작 제어 보드의 동작 방법.
KR1020160120384A 2016-09-21 2016-09-21 로봇 동작 제어 보드, 이의 동작 방법 및 이를 포함하는 로봇 동작 제어 보드 어셈블리 KR101915245B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160120384A KR101915245B1 (ko) 2016-09-21 2016-09-21 로봇 동작 제어 보드, 이의 동작 방법 및 이를 포함하는 로봇 동작 제어 보드 어셈블리

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160120384A KR101915245B1 (ko) 2016-09-21 2016-09-21 로봇 동작 제어 보드, 이의 동작 방법 및 이를 포함하는 로봇 동작 제어 보드 어셈블리

Publications (2)

Publication Number Publication Date
KR20180031910A true KR20180031910A (ko) 2018-03-29
KR101915245B1 KR101915245B1 (ko) 2018-11-22

Family

ID=61906888

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160120384A KR101915245B1 (ko) 2016-09-21 2016-09-21 로봇 동작 제어 보드, 이의 동작 방법 및 이를 포함하는 로봇 동작 제어 보드 어셈블리

Country Status (1)

Country Link
KR (1) KR101915245B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020141716A1 (ko) * 2018-12-31 2020-07-09 주식회사 럭스로보 플러그 앤 플레이 모듈 어셈블리 및 플러그 앤 플레이 시스템
KR102355733B1 (ko) * 2021-06-25 2022-02-09 주식회사 인터랙트 가상현실 훈련 시스템 및 이를 위한 바닥유닛
KR20220059896A (ko) * 2020-11-03 2022-05-10 주식회사 아이오테드 코딩된 프로그램을 기반으로 외형을 변경시키는 교육용 코딩 로봇 장치
KR20220104965A (ko) 2021-01-19 2022-07-26 대구한의대학교산학협력단 한약재 복합 추출물을 유효성분으로 포함하는 간섬유증 예방 및 치료용 조성물

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101317555B1 (ko) * 2012-02-10 2013-10-17 주식회사 네오랩컨버전스 교육용 컨텐츠 제공 장치 및 이의 콘텐츠 제공 방법
US10229613B2 (en) * 2014-05-07 2019-03-12 Jin Wook Kim Algorithm teaching apparatus using blocks

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020141716A1 (ko) * 2018-12-31 2020-07-09 주식회사 럭스로보 플러그 앤 플레이 모듈 어셈블리 및 플러그 앤 플레이 시스템
KR20220059896A (ko) * 2020-11-03 2022-05-10 주식회사 아이오테드 코딩된 프로그램을 기반으로 외형을 변경시키는 교육용 코딩 로봇 장치
KR20220059898A (ko) * 2020-11-03 2022-05-10 주식회사 아이오테드 로봇 제어 보드가 체결될 수 있는 메인 프레임을 포함하는 IoT 기반의 코딩 로봇 장치
KR20220059901A (ko) * 2020-11-03 2022-05-10 주식회사 아이오테드 코딩 기반의 제어 모듈이 탈부착될 수 있는 코딩 로봇 장치
KR20220059897A (ko) * 2020-11-03 2022-05-10 주식회사 아이오테드 사용자에 의해 생성된 코드에 따라 움직임을 제어하는 코딩 로봇 장치
KR20220059899A (ko) * 2020-11-03 2022-05-10 주식회사 아이오테드 음성 명령, 조건 명령, 또는 무선 신호 명령을 기반으로 제어 신호를 생성하는 코딩 로봇 장치
KR20220059900A (ko) * 2020-11-03 2022-05-10 주식회사 아이오테드 코딩 시뮬레이션 보드와 연동 가능한 제어 모듈을 포함하는 코딩 로봇 장치
KR20220059895A (ko) * 2020-11-03 2022-05-10 주식회사 아이오테드 제어 대상 정보 및 제어 내용 정보에 따른 코드 인식을 기반으로 동작하는 코딩 로봇 장치
KR20220104965A (ko) 2021-01-19 2022-07-26 대구한의대학교산학협력단 한약재 복합 추출물을 유효성분으로 포함하는 간섬유증 예방 및 치료용 조성물
KR102355733B1 (ko) * 2021-06-25 2022-02-09 주식회사 인터랙트 가상현실 훈련 시스템 및 이를 위한 바닥유닛

Also Published As

Publication number Publication date
KR101915245B1 (ko) 2018-11-22

Similar Documents

Publication Publication Date Title
KR101915245B1 (ko) 로봇 동작 제어 보드, 이의 동작 방법 및 이를 포함하는 로봇 동작 제어 보드 어셈블리
KR102130622B1 (ko) 패그 보드, 재활 훈련 시스템 및 재활 훈련 방법
KR102108669B1 (ko) 변경 가능한 캐릭터를 가진 로봇
TWI236610B (en) Robotic creature device
CN105536266B (zh) 智能积木游戏装置、智能积木游戏的控制方法及系统
JP3765755B2 (ja) ブロック玩具
US20080153559A1 (en) System of Bodies Which, by Mutual Communication, Detect and Then Jointly Signalize a Predetermined Concatenation, Storage Box for Such a System and Memory Suitable for Use in Such a Storage Box
JP5951881B2 (ja) 音楽教育用ブロック玩具
JP2009011838A (ja) 知育ゲームシステムとその方法
US20220068160A1 (en) Programming device and recording medium, and programming method
KR20170101402A (ko) 교육용 로봇 제어 시스템 및 제어방법
WO2001038050A1 (fr) Robot en forme d'insecte
US20200376402A1 (en) Toy construction system with robotics control unit
KR101987119B1 (ko) 로봇의 감정변화를 이용한 코딩 교육 장치 및 이를 이용한 코딩 교육방법
KR101940077B1 (ko) 코드인식장치, 코드인식방법, 및 코드인식장치를 포함하는 코드인식 어셈블리
KR102246952B1 (ko) 코딩실습을 위한 적층형 로봇 모듈
JP4558731B2 (ja) 読取装置
KR100919602B1 (ko) 알에프아이디, 알에프, 아이알디에이통신을 이용한 다국어및 물체인식 교육용 로봇
KR101405535B1 (ko) 음악 교육용 블록 완구
KR101917830B1 (ko) 학습용 블록 시스템 및 학습용 콘텐츠 제공 방법
US20090088044A1 (en) Interactive intellectual robotic toy and control method of the same
KR102253013B1 (ko) 어린이 영어학습이 가능한 코딩로봇 세트
KR20130111492A (ko) 음악 교육용 블록 완구
CN212044742U (zh) 一种模块化颜色识别机器人
KR20190069035A (ko) 알고리즘 생성 장치

Legal Events

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