KR20220059863A - 하드웨어 장치와 연계한 코딩교육 시스템 - Google Patents

하드웨어 장치와 연계한 코딩교육 시스템 Download PDF

Info

Publication number
KR20220059863A
KR20220059863A KR1020200145583A KR20200145583A KR20220059863A KR 20220059863 A KR20220059863 A KR 20220059863A KR 1020200145583 A KR1020200145583 A KR 1020200145583A KR 20200145583 A KR20200145583 A KR 20200145583A KR 20220059863 A KR20220059863 A KR 20220059863A
Authority
KR
South Korea
Prior art keywords
block
robot
unit
music
control signal
Prior art date
Application number
KR1020200145583A
Other languages
English (en)
Inventor
박희영
Original Assignee
박희영
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 박희영 filed Critical 박희영
Priority to KR1020200145583A priority Critical patent/KR20220059863A/ko
Publication of KR20220059863A publication Critical patent/KR20220059863A/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0053Computers, e.g. programming
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • 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/10Modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Educational Technology (AREA)
  • Educational Administration (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

코딩 교육 장치의 표시부에 출력된 단위 프로그램 명령어에 대응되는 블록을 드래그 앤 드랍으로 일렬로 배치하여 쉽게 코딩의 개념을 이해할 수 있도록 하고, 코딩된 일련의 명령어를 실행하여 로봇을 제어하고 코딩 수행에 따른 성취감과 코딩에 대한 동기를 부여해주는 코딩 교육 장치 및 시스템에 관한 것이다.
제안된 발명이 해결하고자 하는 하나의 과제는 코딩 교육 장치의 표시부에 출력된 단위 프로그램 명령어에 대응 되는 블록을 드래그 앤 드랍으로 일렬로 배치하여 쉽게 코딩의 개념을 이해할 수 있도록 하는 것이다.

Description

하드웨어 장치와 연계한 코딩교육 시스템{Coding Education System linked with Hardware Device}
코딩 교육 장치의 표시부에 출력된 단위 프로그램 명령어에 대응되는 블록을 드래그 앤 드랍으로 일렬로 배치하 여 쉽게 코딩의 개념을 이해할 수 있도록 하고, 코딩된 일련의 명령어를 실행하여 로봇을 제어하고 코딩 수행에 따른 성취감과 코딩에 대한 동기를 부여해주는 코딩 교육 장치 및 시스템에 관한 것이다.
전자 장치에 적용되는 응용 프로그램 개발에 대한 중요성이 증대하고 있다. 이에 따라 응용 프로그램 개발에 필수적인 컴퓨터 프로그래밍 언어의 교육 역시 관심의 대상이 되고 있다.
어린 아이들에게 컴퓨터 프로그래밍 언어를 교육할 때, 컴퓨터 프로그래밍 언어 자체보다는 창작하려는 응용 프 로그램이 어떠한 논리적 흐름으로 전개되는지를 스스로 파악할 수 있도록 교육하는게 우선순위에 있어야 한다.
즉, 단위 프로그램 명령어에 대응되는 블록들을 제공하고, 아이들이 스스로 블록들을 배열하여 논리적 순서를 이해하고, 배열된 순서에 따라 각각의 블록이 의미하는 명령어들을 실행하여 결과물을 즉각적으로 아이들에게 제공할 필요가 있다. 결과물을 즉각적으로 제공함에 따라 실제 결과와 스스로 구상한 논리적 흐름이 일치하는 지 여부를 인지하고, 이러한 과정을 통해 아이는 논리적 사고 능력을 증대 시킬 수 있다.
제안된 발명이 해결하고자 하는 하나의 과제는 코딩 교육 장치의 표시부에 출력된 단위 프로그램 명령어에 대응 되는 블록을 드래그 앤 드랍으로 일렬로 배치하여 쉽게 코딩의 개념을 이해할 수 있도록 하는 것이다.
제안된 발명이 해결하고자 하는 다른 과제는 블록을 통해 코딩된 일련의 명령어를 실행하여 로봇을 제어하고 코딩 수행에 따른 성취감과 코딩에 대한 동기를 부여하는 것이다.
한편, 제안된 발명이 해결하고자 하는 기술적 과제는 위에서 언급한 과제들로만 제한되지는 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 기술적 과제들이 더 포함될 수 있다.
코딩 교육 장치는 로봇이 출력하는 단위 소절 비트 출력 명령 코드를 입력하는 음악 블록 및 로봇의 동작 명령 코드를 입력하는 동작 블록을 포함하는 단위 블록을 제공하는 단위 블록 제공부; 하나의 음악 블록 및 하나의 동작 블록을 세트로, 하나 이상의 세트를 배치하는 블록 배치부; 및 배치된 세트가 포함하는 하나의 음악 블록 및 하나의 동작 블록의 명령 코드를 실행하되, 세트가 복수개인 경우 순차적으로 각각의 세트가 포함하는 하나 의 음악 블록 및 하나의 동작 블록의 명령 코드를 실행하여, 로봇 제어 신호를 생성하고, 상기 로봇 제어 신호 를 로봇으로 전송하는 코드 실행부;를 포함한다.
코딩 교육 장치는 상기 로봇 제어 신호에 따라 제어되는 로봇이 출력하는 음악을 저장하는 음악 저장부;를 더 포함한다.
상기 코드 실행부는 동작 블록의 명령 코드에 따라 특정 동작을 수행하도록 로봇 제어 신호를 생성하되, 음악 블록의 명령 코드에 따른 비트 수에 기초하여 상기 특정 동작을 반복 수행하도록 로봇 제어 신호를 생성하고, 상기 특정 동작의 빠르기를 음악 블록의 명령 코드에 따른 비트의 빠르기에 비례하도록 로봇 제어 신호를 생성 한다.
코딩 교육 장치는 음악 블록의 명령 코드에 따라 로봇이 출력하는 단위 소절 비트를 연주할 악기 정보를 제공하 는 악기 정보 제공부;를 더 포함한다.
코딩 교육 시스템은 코딩 교육 장치; 상기 코딩 교육 장치가 저장된 음악을 업로드 하면, 업로드 된 시간, 음악 의 조회수, 댓글수, 추천수에 기초하여 업로드 된 음악의 순위가 결정되되, 특정 항목에 가중치를 부여하는 순위 결정부;를 포함하는 코딩 교육 서버;를 포함한다.
상기 코딩 교육 서버는, 업로드 된 음악이 기설정된 순위내에 있는 경우, 음악 블록 및 동작 블록 중 적어도 하 나를 코딩 교육 장치로 전송하는 블록 전송부;를 더 포함한다.
코딩 교육 시스템은 코딩 교육 장치; 및 코딩 교육 장치가 전송하는 로봇 제어 신호에 따라 제어되는 로봇;을 포함하되, 상기 로봇은 움직일 수 있는 전체 지역을 분할한 복수의 분할 지역을 생성하고, 상기 복수의 분할 지 역의 중심점을 연결하여 상기 로봇의 경로를 생성하는 경로 생성부를 포함한다.
상기 로봇은 감지부;를 더 포함하고, 상기 로봇은 경로를 따라 이동중에 감지부가 기설정된 거리 이내에 물체를 감지하면, 로봇은 이동을 멈춘다.
상기 단위 블록은 조건 명령 코드를 입력하는 조건 블록을 더 포함하고, 상기 블록 배치부는 상기 세트 또는 조건 블록을 배치하며, 상기 로봇은 조건 블록에 따른 로봇 제어 신호를 수신하고, 상기 조건 블록에 따른 조건의 충족여부를 판단하는 조건 충족 판단부를 더 포함한다.
상기 로봇은 접근이 감지된 사람의 얼굴 영역을 추출하고, 추출한 얼굴 영역에서 특징 정보를 추출하며, 추출한 특징 정보와 미리 등록된 특징 정보를 비교하고, 추출한 특징 정보가 미리 등록된 특징 정보와 일치하면 추출한 특징 정보를 기반으로 상기 로봇이 포함하는 표시부에 얼굴 콘텐츠를 출력하는 객체 인식부;를 더 포함한다.
상기 로봇은 접근이 감지된 사람이 로봇을 바라보고 있는지를 확인한 뒤, 추출한 특징 정보와 미리 저장된 특징 정보 별로 분류된 콘텐츠 데이터를 비교하여 추출한 특징 정보에 대응하는 콘텐츠 데이터를 추출하고, 추출한 콘텐츠 데이터를 상기 로봇의 표시부에 출력하는 객체 인식부;를 더 포함한다.
상기 단위 블록 제공부는 로봇이 출력하는 음성 출력 명령 코드를 입력하는 자음 블록 및 모음 블록을 더 포함 하는 단위 블록을 제공하고, 블록 배치부는 하나의 음악 블록, 하나의 동작 블록, 하나 이상의 자음 블록 및 하나 이상의 모음 블록을 세트로, 하나 이상의 세트를 배치하며, 상기 코드 실행부는 배치된 세트가 포함하는 하나의 음악 블록, 하나의 동작 블록, 하나 이상의 자음 블록 및 하나 이상의 모음 블록의 명령 코드를 실행하되, 세트가 복수개인 경우 순차적으로 각각의 세트가 포함하는 하나의 음악 블록, 하나의 동작 블록, 하나 이상의 자음 블록 및 하나 이상의 모음 블록의 명령 코드를 실행하여, 로봇 제어 신호를 생성하고, 상기 로봇 제어 신호를 로봇으로 전송한다.
제안된 발명은 코딩 교육 장치의 표시부에 출력된 단위 프로그램 명령어에 대응되는 블록을 드래그 앤 드랍으로 일렬로 배치하여 쉽게 코딩의 개념을 이해할 수 있도록 할 수 있다.
제안된 발명은 블록을 통해 코딩된 일련의 명령어를 실행하여 로봇을 제어하고 코딩 수행에 따른 성취감과 코딩 에 대한 동기를 부여할 수 있다.
제안된 발명의 효과는 이상에서 언급한 효과들로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 효과들이 더 포함될 수 있다.
도 1은 제안된 발명에 따른 코딩 교육 시스템의 전체적인 구성을 도시한다.
도 2는 제안된 발명에 따른 코딩 교육 장치의 전체적인 구성을 도시한다.
도 3은 제안된 발명에 따른 블록 제공부가 제공한 복수의 블록 및 블록 배치부에 배치된 복수의 블록을 도시한다.
도 4는 제안된 발명에 따른 코딩 교육 서버의 전체적인 구성을 도시한다. 도 5는 제안된 발명에 따른 로봇의 전체적인 구성을 도시한다.
도 6은 제안된 발명에 따른 로봇이 움직일 수 있는 전체 직역, 분할 지역 및 중심점을 도시한다.
도 7은 로봇이 장애물을 감지하여 비행모듈로 경로를 변경하도록 하는 것을 설명하기 위한 예시도이다. 도 8은 로봇이 전원 및 온도를 관리하는 것을 설명하기 위한 예시도이다.
도 9는 로봇이 에어튜브모듈을 이용하여 충격을 완화하는 것을 설명하기 위한 예시도이다. 도 10은 분사모듈을 포함하는 로봇을 도시한다.
도 11은 제안된 발명에 따른 블록 제공부가 제공한 복수의 블록 및 블록 배치부에 배치된 복수의 블록을 도시한다.
도 12는 제안된 발명에 따른 블록 제공부가 제공한 복수의 블록 및 블록 배치부에 배치된 복수의 블록을 도시한다.
전술한, 그리고 추가적인 양상들은 첨부된 도면을 참조하여 설명하는 실시예들을 통해 구체화된다. 각 실시예 들의 구성 요소들은 다른 언급이나 상호간에 모순이 없는 한 실시예 내에서 다양한 조합이 가능한 것으로 이해된다. 나아가 제안된 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
도면에서 제안된 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하 여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. 그리고, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
또한, 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우 뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 나아가, 명 세서 전체에서 신호는 전압이나 전류 등의 전기량을 의미한다.
명세서에서 기술한 부란, "하드웨어 또는 소프트웨어의 시스템을 변경이나 플러그인 가능하도록 구성한 블록"을 의미하는 것으로서, 즉 하드웨어나 소프트웨어에 있어 특정 기능을 수행하는 하나의 단위 또는 블록을 의미한다.
도 1은 제안된 발명에 따른 코딩 교육 시스템의 전체적인 구성을 도시한다.
제안된 발명에 따른 코딩 교육 시스템은 코딩 교육 장치(100), 로봇(200), 코딩 교육 서버(300)를 포함한다.
코딩 교육 장치(100), 로봇(200), 코딩 교육 서버(300) 중 적어도 둘은 서로 유선 또는 무선통신을 할 수 있다. 통신 방법에는 아무런 제약이 없다.
로봇(200)은 이동통신모듈과 결합하여 직립보행모드, 주행모드, 비행모드로 이동이 가능한 장치이다. 이 경우, 로봇(200)은 최소결합으로 이동통신모듈과 결합할 수 있으며, 추가로 비행모듈, 에어튜브모듈, 분사모듈 이 결합되는 것도 가능하다.
로봇(200)은 내부 전원을 이용하여 구동될 수 있으며, 필요에 따라 이동통신모듈의 전원을 이용하여 구동되는 것도 가능하다. 로봇(200)은 이동통신모듈과 전기적으로 접속되며, 전력선통신 또는 무선통신을 통해 통신할 수 있다.
또한, 로봇(200)은 직립보행이 가능한 관절형 다리에 의해 직립보행모드로 이동하거나, 바퀴를 이용하여 주행모드로 이동하는 것이 가능하다. 로봇(200)은 후술하는 제어부(270)가 내장되어 이동통신모듈과 통신에 의해 제어될 수 있다. 이 경우, 이동통신모듈에 어플리케이션을 설치하여 제어부(270)를 대체하는 것도 가능하다.
제어부(270)는 로봇(200)의 전반적인 동작을 제어한다. 로봇(200)은 이동통신모듈의 디스플레이를 통해 사용자의 입력을 받도록 하는 것도 가능하다.
제어부(270)는 마이크로 컨트롤러(Microcontroller) 또는 마이크로 프로세서(Micro processer)이다. 즉 제어 부(270)는 메모리에 저장된 프로그램을 실행하는 마이크로프로세서 또는 마이크로컨트롤러에 의해 구현된다.
이동통신모듈은 디스플레이, 카메라(250), 센서를 포함하며, 네트워크 통신이 가능한 통신장치이다. 이동통신모듈은 로봇(200)과 전기적으로 접속하여 전원을 충방전할 수 있다. 또한, 이동통신모듈은 코딩 교육 서버(300) 또는 로봇(200)과 무선통신이 가능하다. 이동통신모듈은 카메라(250) 또는 센서를 이용하여 객체를 인식하며, 로봇(200)은 이동통신모듈이 인식한 객체를 추종하도록 구동된다.
이 경우, 이동통신모듈은 객체의 형상, 색채, 움직임, 식별신호를 이용하여 객체를 파악할 수 있다. 이 경우, 객체는 움직임을 갖는 생명체이거나 전자신호를 출력하는 웨어러블장치일 수 있다.
도 2는 제안된 발명에 따른 코딩 교육 장치(100)의 전체적인 구성을 도시한다.
도 3은 제안된 발명에 따른 블록 제공부가 제공한 복수의 블록 및 블록 배치부(120)에 배치된 복수의 블록을 도시한다.
제안된 발명에 따른 코딩 교육 장치(100)는 로봇(200)이 출력하는 단위 소절 비트 출력 명령 코드를 입력하는 음악 블록(111) 및 로봇(200)의 동작 명령 코드를 입력하는 동작 블록(112)을 제공하는 블록 제공부; 하나의 음 악 블록(111) 및 하나의 동작 블록(112)을 세트로, 하나 이상의 세트를 배치하는 블록 배치부(120); 및 배치된 세트가 포함하는 하나의 음악 블록(111) 및 하나의 동작 블록(112)의 명령 코드를 실행하되, 세트가 복수개인 경우 순차적으로 각각의 세트가 포함하는 하나의 음악 블록(111) 및 하나의 동작 블록(112)의 명령 코드를 실행 하여, 로봇(200) 제어 신호를 생성하고, 상기 로봇(200) 제어 신호를 로봇(200)으로 전송하는 코드 실행부 (130);를 포함한다.
코딩 교육 장치(100)는 코딩 교육 서버(300) 또는 로봇(200)과 통신하는 통신부 및 정보가 표시되는 표시부 (240)를 더 포함할 수 있다.
코딩 교욱 장치(100)는 컴퓨터(예를 들면, 데스크톱, 랩톱, 태블릿 등), 미디어 컴퓨팅 플랫폼(예를 들면, 케이 블, 위성 셋톱박스, 디지털 비디오 레코더), 핸드헬드 컴퓨팅 디바이스(예를 들면, PDA, 이메일 클라이언트 등), 핸드폰의 임의의 형태, 또는 다른 종류의 컴퓨팅 또는 커뮤니케이션 플랫폼의 임의의 형태를 포함할 수 있 으나, 제안된 발명이 이에 한정되는 것은 아니다.
단위 블록 제공부(110)는 로봇(200)이 출력하는 단위 소절 비트 출력 명령 코드를 입력하는 음악 블록(111) 및 로봇(200)의 동작 명령 코드를 입력하는 동작 블록(112)을 포함하는 단위 블록을 제공한다.
음악 블록(111)은 단위 소절 비트 출력 명령 코드를 입력하기 위한 블록이다. 도 3을 참조하면 단위 블록 제공 부(110)는 복수의 단위 블록을 제공한다. 도 3에 도시된 음악 블록(111)의 형태 및 색에 한정되는 것은 아니다. 다른 단위 블록에 의해 일부가 가려진 단위 블록은 가려지지 않은 부분이 터치되면, 가려진 부분이 없도록 재배치되어, 사용자는 단위 블록에 기재된 내용을 확인할 수 있다.
음악 블록(111)에는 5선상에 음표가 표시된 단위 마디가 표시될 수 있다. 이에 한정되는 것은 아니고, 단위 소 절 비트를 의미하는 다양한 문자, 기호, 그림 등으로 표시될 수 있다.
음악 블록(111)을 터치하면 코딩 교육 장치(100)는 상기 음악 블록(111)에 따른 단위 소절 비트를 출력한다. 사용자는 출력된 단위 소절 비트를 듣고, 음악 블록(111)에 표시된 내용이 어떻게 출력될 것인지 이해할 수 있다.
동작 블록(112)은 로봇(200)의 동작 명령 코드를 입력하기 위한 블록이다. 도 3에 도시된 동작 블록(112)의 형태 및 색에 한정되는 것은 아니다.
동작 블록(112)에는 로봇(200)의 동작 중 하나가 표시될 수 있다.
동작 블록(112)을 기설정된 시간에 두번 이상 터치하면 후술할 코드 실행부(130)는 터치된 동작 블록(112)에 다 른 명령 코드를 실행하여 로봇(200) 제어 신호를 생성하고, 생성된 로봇(200) 제어 신호를 로봇(200)으로 전송하며, 상기 로봇(200)은 로봇(200) 제어 신호에 따라 제어될 수 있다. 사용자는 상기 로봇(200) 제어 신호에 따라 제어되는 로봇(200)의 움직임을 통해 동작 블록(112)에 표시된 동작을 로봇(200)이 어떻게 구현하는지 이 해할 수 있다.
터치된다는 것은 코딩 교욱 장치(100)가 포함하는 표시부(240)가 출력하는 화면을 터치한다는 것이고 코딩 교욱 장치(100)는 터치된 부분을 감지한다. 또는 마우스 등의 장치에 의해 제어되는 포인트를 단위 블록 상에 두고, 상기 장치의 입력 버턴을 클릭하는 것을 의미할 수도 있다.
코드 실행부(130)는 블록 배치부(120)에 배치된 단위 블록의 명령 코드를 컴파일링하여 로봇(200) 제어 신호를 생성하고, 로봇(200)으로 로봇(200) 제어 신호를 송신한다. 또한 코드 실행부(130)는 블록 배치부(120)에 배치된 단위 블록에 따른 명령 코드의 조합을 로봇(200)으로 송신하고, 로봇(200)은 상기 명령 코드의 조합을 컴파일링 하여 로봇(200) 제어 신호를 생성하고, 생성된 로봇(200) 제어 신호에 기초하여 스스로를 제어할 수 있다.
단위 블록은 조건 명령 코드를 입력하는 조건 블록(113)을 더 포함한다. 도 3에 도시된 조건 블록(113)의 형태 및 색에 한정되는 것은 아니다. 로봇(200)은 조건 블록(113)에 따른 로봇(200) 제어 신호를 수신하고, 상기 조 건 블록(113)에 따른 조건의 충족여부를 판단하여, 조건이 충족되면 조건 블록(113)의 다음 블록의 명령 코드에 기초한 로봇(200) 제어 신호에 따라 제어된다.
블록 배치부(120)는 하나의 음악 블록(111) 및 하나의 동작 블록(112)을 세트로, 하나 이상의 세트를 배치한다. 도 3 은 블록 배치부(120)에 배치된 블록들을 개시한다. 도 3에 도시된 것처럼 하나의 음악 블록(111) 및 하나의 동작 블록(112)은 하나의 세트로 배치된다. 임의의 세트가 하나의 음악 블록(111) 및 하나의 동작 블록 (112)을 포함한다면 사용자는 자유롭게 세트가 포함하는 블록을 설정할 수 있다.
블록 제공부(110)에 제공된 블록을 블록 배치부(120)에 드래그 앤 드랍을 통해 블록을 배치할 수 있다. 블록 배치부(120)는 기본적으로 시작 및 종료 블록을 포함하고 사용자는 임의의 블록을 시작 블록 및 종료 블록 사이에 배치시킨다.
조건 블록(113)은 조건 성취 여부에 따른 루트가 두가지인데, 각각의 루트도 사용자가 자유롭게 설정할 수 있다.
제안된 발명에서는 하나의 음악 블록(111) 및 하나의 동작 블록(112)이 하나의 세트로 배치되고, 이에 따라 로 봇(200)은 음악을 출력하면서 동작을 수행하도록 제어된다.
블록 배치부(120)에 포함된 각 세트가 포함하는 하나의 음악 블록(111)은 좌측에 배치되고 하나의 동작 블록 (112)은 우측에 배치될 수 있다. 모든 세트들은 전술한 규칙하에 배치되어야 하기에, 사용자는 코딩 교육과 함께 규칙에 대한 이해도 증진시킬 수 있다.
사용자가 드래그 앤 드랍으로 블록을 배치할 때, 블록 배치부는 어느 하나의 블록을 배치하고 5분안에 다른 블록 을 배치 가능 하도록 한다. 즉, 어느 하나의 블록을 배치하고 5분이 지나면 다른 블록을 배치할 수 없도록 한 다. 블록을 배치하는 과정에서 시간제한을 두어 사용자가 더욱더 집중하여 블록을 배치하도록 유도한다.
코드 실행부(130)는 배치된 세트가 포함하는 하나의 음악 블록(111) 및 하나의 동작 블록(112)의 명령 코드를 실행하되, 세트가 복수개인 경우 순차적으로 각각의 세트가 포함하는 하나의 음악 블록(111) 및 하나의 동작 블 록(112)의 명령 코드를 실행하여, 로봇(200) 제어 신호를 생성하고, 상기 로봇(200) 제어 신호를 로봇(200)으로 전송한다. 순차적이라는 것은 도 3에 도시된 시작 블록에서 종료 블록으로의 순서를 의미한다.
사용자가 도 3에 도시된 버튼(130)을 터치하면 코드 실행부(130)는 배치된 세트가 포함하는 하나의 음악 블록
(111) 및 하나의 동작 블록(112)의 명령 코드를 실행하되, 세트가 복수개인 경우 순차적으로 각각의 세트가 포함하는 하나의 음악 블록(111) 및 하나의 동작 블록(112)의 명령 코드를 실행하여, 로봇(200) 제어 신호를 생성하고, 상기 로봇(200) 제어 신호를 로봇(200)으로 전송한다.
로봇(200)은 상기 로봇(200) 제어 신호에 기초하여 제어된다.
다만, 사용자가 버튼(130)을 터치하더라도 세트가 하나의 음악 블록(111) 및 하나의 동작 블록(112)을 모두를 포함하지 않거나, 세트에 포함된 하나의 음악 블록(111)이 우측에 있고 하나의 동작 블록(112)이 좌측에 위치하거나, 조건 블록(113)이 음악 블록(111) 및 동작 블록(112) 중 적어도 하나와 세트를 구성하고 있는 경우, 코드 실행부(130)는 경고 신호를 출력한다.
코드 실행부(130)가 경고 신호를 출력하면 코딩 교육 장치(100)가 가청음을 출력하고 코딩 교육 장치(100)의 표시부(240)에 경고 메시지를 출력할 수 있다.
코딩 교육 장치(100)는 음악 저장부(140)를 더 포함한다.
음악 저장부(140)는 상기 로봇(200) 제어 신호에 따라 제어되는 로봇(200)이 출력하는 음악을 저장한다. 로봇 (200)은 각각의 음악 블록(111)에 따라 단위 소절 비트를 출력하고, 결국 로봇(200)은 블록 배치부(120)에 배치된 블록에 기초하여 하나 이상의 단위 소절 비트를 포함하는 음악을 출력한다.
음악 저장부(140)는 상기 로봇(200)이 출력하는 음악을 저장한다. 사용자는 상기 저장된 음악을 재생하도록 코딩 교육 장치(100)를 제어할 수 있다. 즉, 코딩 교육 장치(100)는 저장된 음악을 출력할 수 있다.
제안된 발명에 따른 상기 코드 실행부(130)는 동작 블록(112)의 명령 코드에 따라 특정 동작을 수행하도록 로봇
(200) 제어 신호를 생성하되, 음악 블록(111)의 명령 코드에 따른 비트 수에 기초하여 상기 특정 동작을 반복 수행하도록 로봇(200) 제어 신호를 생성하고, 상기 특정 동작의 빠르기를 음악 블록(111)의 명령 코드에 따른 비트의 빠르기에 비례하도록 로봇(200) 제어 신호를 생성한다.
음악 블록(111)의 명령 코드에 따른 비트 수는 하나 이상이다. 예를 들어, 비트수가 하나인 경우 동작 블록 (112)의 명령 코드에 따라 수행하는 특정 동작을 한번만 수행한다. 구체적인 예를 들어, 비트수가 하나인 경우 동작 블록(112)의 명령 코드에 따라 수행하는 특정 동작인 팔을 위아래로 흔드는 동작을 한번만 수행한다. 비 트 수만큼 동작 블록(112)의 명령 코드에 따른 특정 동작을 수행한다.
비트의 수 뿐만이 아니라 비트의 빠르기는 음악 블록(111)에 따라 상이할 수 있다. 음악 블록(111)의 명령 코드에 따른 비트가 빠르면 동작 블록(112)의 명령 코드에 따라 수행하는 특정 동작을 빠르게 수행하도록 로봇(200) 제어 신호를 생성한다.
음악 블록(111)의 명령 코드에 따른 비트가 느리면 동작 블록(112)의 명령 코드에 따라 수행하는 특정 동작을 느리게 수행하도록 로봇(200) 제어 신호를 생성한다.
사용자는 음악에 조화가 되는 동작을 로봇(200)이 취하도록 블록을 배치하는 과정에서, 코딩 뿐만 아니라 작곡 및 안무에 대한 교육도 같이 이루어지게 된다.
코딩 교육 장치(100)는 악기 정보 제공부(150)를 더 포함한다.
악기 정보 제공부(150)는 음악 블록(111)의 명령 코드에 따라 로봇(200)이 출력하는 단위 소절 비트를 연주할 악기 정보를 제공한다.
로봇(200)은 단위 소절 비트를 출력하되, 악기 정보 제공부(150)가 제공하는 악기 정보에 따라 선택된 악기 소 리로 상기 단위 소절 비트를 출력한다.
사용자는 같은 비트라도 다른 악기소리로 구현함으로써, 악기의 특징을 파악할 수 있게 된다. 도 4는 제안된 발명에 따른 코딩 교육 서버(300)의 전체적인 구성을 도시한다.
코딩 교육 시스템은 전술한 코딩 교육 장치(100) 및 코딩 교육 서버(300)를 포함한다.
코딩 교육 서버(300)는 상기 코딩 교육 장치(100)가 저장된 음악을 업로드 하면, 업로드 된 시간, 음악의 조회 수, 댓글수, 추천수에 기초하여 업로드 된 음악의 순위가 결정되되, 특정 항목에 가중치를 부여하는 순위 결정 부(310);를 포함한다.
코딩 교육 서버(300)는 사용자별 코딩 교육 장치(100)와 통신을 하여 코딩의 결과물인 음악을 게시한다. 즉, 코딩 교육 장치(100)가 저장된 음악을 업로드 하면 순위 결정부(310)는 상기 음악의 업로드 된 시간, 음악의 조회수, 댓글수, 추천수에 기초하여 업로드 된 음악의 순위가 결정한다.
순위 결정부(310)는 더 빠른 시점에 업로드 된 음악에 더 높은 점수를 부여한다. 사용자들은 코딩 교육 서버 (300)가 제공하는 웹페이지에 접속하여 게시된 음악을 조회하여 감상하고, 감상 소감을 댓글로 기재할 수 있고, 추천을 할 수도 있다.
거나, 조건 블록(113)이 음악 블록(111) 및 동작 블록(112) 중 적어도 하나와 세트를 구성하고 있는 경우, 코드 실행부(130)는 경고 신호를 출력한다.
코드 실행부(130)가 경고 신호를 출력하면 코딩 교육 장치(100)가 가청음을 출력하고 코딩 교육 장치(100)의 표시부(240)에 경고 메시지를 출력할 수 있다.
코딩 교욱 장치(100)는 음악 저장부(140)를 더 포함한다.
음악 저장부(140)는 상기 로봇(200) 제어 신호에 따라 제어되는 로봇(200)이 출력하는 음악을 저장한다. 로봇 (200)은 각각의 음악 블록(111)에 따라 단위 소절 비트를 출력하고, 결국 로봇(200)은 블록 배치부(120)에 배치된 블록에 기초하여 하나 이상의 단위 소절 비트를 포함하는 음악을 출력한다.
음악 저장부(140)는 상기 로봇(200)이 출력하는 음악을 저장한다. 사용자는 상기 저장된 음악을 재생하도록 코딩 교육 장치(100)를 제어할 수 있다. 즉, 코딩 교육육 장치(100)는 저장된 음악을 출력할 수 있다.
제안된 발명에 따른 상기 코드 실행부(130)는 동작 블록(112)의 명령 코드에 따라 특정 동작을 수행하도록 로봇
(200) 제어 신호를 생성하되, 음악 블록(111)의 명령 코드에 따른 비트 수에 기초하여 상기 특정 동작을 반복 수행하도록 로봇(200) 제어 신호를 생성하고, 상기 특정 동작의 빠르기를 음악 블록(111)의 명령 코드에 따른 비트의 빠르기에 비례하도록 로봇(200) 제어 신호를 생성한다.
음악 블록(111)의 명령 코드에 따른 비트 수는 하나 이상이다. 예를 들어, 비트수가 하나인 경우 동작 블록 (112)의 명령 코드에 따라 수행하는 특정 동작을 한번만 수행한다. 구체적인 예를 들어, 비트수가 하나인 경우 동작 블록(112)의 명령 코드에 따라 수행하는 특정 동작인 팔을 위아래로 흔드는 동작을 한번만 수행한다. 비트 수만큼 동작 블록(112)의 명령 코드에 따른 특정 동작을 수행한다.
비트의 수 뿐만이 아니라 비트의 빠르기는 음악 블록(111)에 따라 상이할 수 있다. 음악 블록(111)의 명령 코드에 따른 비트가 빠르면 동작 블록(112)의 명령 코드에 따라 수행하는 특정 동작을 빠르게 수행하도록 로봇(200) 제어 신호를 생성한다.
음악 블록(111)의 명령 코드에 따른 비트가 느리면 동작 블록(112)의 명령 코드에 따라 수행하는 특정 동작을 느리게 수행하도록 로봇(200) 제어 신호를 생성한다.
사용자는 음악에 조화가 되는 동작을 로봇(200)이 취하도록 블록을 배치하는 과정에서, 코딩 뿐만 아니라 작곡 및 안무에 대한 교육도 같이 이루어지게 된다.
코딩 교육 장치(100)는 악기 정보 제공부(150)를 더 포함한다.
악기 정보 제공부(150)는 음악 블록(111)의 명령 코드에 따라 로봇(200)이 출력하는 단위 소절 비트를 연주할 악기 정보를 제공한다.
로봇(200)은 단위 소절 비트를 출력하되, 악기 정보 제공부(150)가 제공하는 악기 정보에 따라 선택된 악기 소 리로 상기 단위 소절 비트를 출력한다.
사용자는 같은 비트라도 다른 악기소리로 구현함으로써, 악기의 특징을 파악할 수 있게 된다. 도 4는 제안된 발명에 따른 코딩 교육 서버(300)의 전체적인 구성을 도시한다.
코딩 교육 시스템은 전술한 코딩 교육 장치(100) 및 코딩 교육 서버(300)를 포함한다.
코딩 교육 서버(300)는 상기 코딩 교육 장치(100)가 저장된 음악을 업로드 하면, 업로드 된 시간, 음악의 조회 수, 댓글수, 추천수에 기초하여 업로드 된 음악의 순위가 결정되되, 특정 항목에 가중치를 부여하는 순위 결정 부(310);를 포함한다.
코딩 교육 서버(300)는 사용자별 코딩 교육 장치(100)와 통신을 하여 코딩의 결과물인 음악을 게시한다. 즉, 코딩 교육육 장치(100)가 저장된 음악을 업로드 하면 순위 결정부(310)는 상기 음악의 업로드 된 시간, 음악의 조 회수, 댓글수, 추천수에 기초하여 업로드 된 음악의 순위가 결정한다.
순위 결정부(310)는 더 빠른 시점에 업로드 된 음악에 더 높은 점수를 부여한다. 사용자들은 코딩 교육 서버 (300)가 제공하는 웹페이지에 접속하여 게시된 음악을 조회하여 감상하고, 감상 소감을 댓글로 기재할 수 있고, 추천을 할 수도 있다.
순위 결정부(310)는 음악의 업로드 된 시간, 음악의 조회수, 댓글수, 추천수에 기초하여 업로드 된 음악의 순위를 결정하되, 특정항목인 추천수에 가중치를 부여할 수 있다. 즉, 순위 결정부(310)는 추천수, 음악의 업로드 된 시간, 댓글수, 조회수 순으로 가중치를 부여하여 음악의 순위를 결정한다.
상기 코딩 교육 서버(300)는, 업로드 된 음악이 기 설정된 순위내에 있는 경우, 음악 블록(111) 및 동작 블록
(112) 중 적어도 하나를 코딩 교욱 장치(100)로 전송하는 블록 전송부(320);를 더 포함한다.
기 설정된 순위는 5위일 수 있다. 5위인 경우 음악 블록(111), 동작 블록(112)을 포함하는 블록 중 1개, 4위인 경우는 2개, 3위인 경우는 3개, 2위인 경우는 4개, 1위인 경우는 5개를 블록 전송부(320)가 코딩 교육 장치 (100)로 전송한다.
사용자가 업로드한 음악이 높은 순위에 배정되면 전술한 보상을 해줌에 따라 사용자들은 대중을 사로잡는 음악을 제작하려는 동기가 제공될 수 있다.
블록 전송부(320)가 블록을 코딩 교육 장치(100)로 전송하면, 단위 블록 제공부(110)는 전송받은 블록을 포함하는 단위 블록을 제공할 수 있다. 사용자가 선택가능한 단위 블록의 수가 증가하여 사용자는 더 다양한 음악을 제작하고 로봇(200)이 더 다양한 동작을 취하도록 제어할 수 있다.
도 5는 제안된 발명에 따른 로봇(200)의 전체적인 구성을 도시한다.
도 6은 제안된 발명에 따른 로봇(200)이 움직일 수 있는 전체 직역, 분할 지역 및 중심점(601)을 도시한다.
제안된 발명에 따른 코딩 교육 시스템은 코딩 교육 장치(100); 및 코딩 교육 장치(100)가 전송하는 로봇(200) 제어 신호에 따라 제어되는 로봇(200);을 포함하되, 상기 로봇(200)은 움직일 수 있는 전체 지역을 분할한 복수 의 분할 지역을 생성하고, 상기 복수의 분할 지역의 중심점(601)을 연결하여 상기 로봇(200)의 경로를 생성하는 경로 생성부(210)를 포함한다.
로봇(200)이 전송받는 로봇(200) 제어 신호는 로봇(200)의 이동과는 무관한 신호이다. 즉, 로봇(200)은 코드 실행부(130)가 로봇(200) 제어 신호를 송신하면 자유롭게 이동하되, 이동과 무관한 팔을 위아래로 흔드는 동작, 차렷 자세에서 팔을 앞으로 뻗고 다시 차렷자세로 돌아가는 동작 등은 로봇(200) 제어 신호에 기초하여 수행된 다.
경로 생성부(210)는 로봇(200)은 움직일 수 있는 전체 지역을 분할한 복수의 분할 지역을 생성하고, 상기 복수의 분할 지역의 중심점(601)을 연결하여 상기 로봇(200)의 경로를 생성하고, 상기 로봇(200)은 상기 경로를 따 라 이동한다.
도 5에 도시된 중심점(601)들을 연결하되 현재 위치에서 가장 인접한 중심점(601)과 가장 가까운 다른 중심점 (601)을 연결한다. 상기 가장 가까운 다른 중심점(601)이 한 개 이상인 경우 임의의 중심점(601)과 연결한다. 이미 연결된 중심점(601)이라도 경로에 재차 포함될 수 있다.
경로 생성부(210)는 전체 지역을 16개의 분할 지역을 생성할 수 있다. 16개의 분할 지역에 따른 중심점(601) 중 8개 이상을 연결하여 경로를 생성할 수 있다. 하나의 경로에 다른 중심점(601)을 포함하여 동일한 중심점 (601)을 두번 포함한 경우, 다른 중심점(601)을 제외하고도 중심점(601)을 2개 포함했다고 간주할 수 있다.
로봇(200)은 상기 경로를 따라 이동하면서 로봇(200) 제어 신호에 따른 음악을 출력하고 동작을 수행한다.
상기 로봇(200)은 감지부(260)를 포함하고, 상기 로봇(200)은 경로를 따라 이동중에 감지부(260)가 기설정된 거리 이내에 물체를 감지하면, 로봇(200)은 이동을 멈출 수 있다.
감지부(260)는 조도센서 또는 접촉센서를 포함할 수 있다. 감지부(260)는 특정 물체가 기설정된 거리 이내로 접근했는지를 감지한다. 물체를 감지하면, 로봇(200)은 이동을 멈춘다. 로봇(200)은 이동을 멈춘 상태에서 로 봇(200) 제어 신호에 따라 제어된다.
감지부(260)는 또한 이동통신모듈이 로봇(200)에 근접했는지 여부를 감지한다. 감지부(260)는 이동통신모듈이 기 설정된 거리 이내로 근접한 감지정보를 제어부(270)로 전송한다. 제어부(270)는 이동통신모듈의 근접시 객체 추종을 위해 동작을 준비하거나 개시할 수 있다.
반대로, 제어부(270)는 이동통신모듈이 로봇(200)으로부터 이탈하거나 멀어지는 경우 객체 추종을 종료 할 수 있다.
순위 결정부(310)는 음악의 업로드 된 시간, 음악의 조회수, 댓글수, 추천수에 기초하여 업로드 된 음악의 순위 를 결정하되, 특정항목인 추천수에 가중치를 부여할 수 있다. 즉, 순위 결정부(310)는 추천수, 음악의 업로드 된 시간, 댓글수, 조회수 순으로 가중치를 부여하여 음악의 순위를 결정한다.
상기 코딩 교육 서버(300)는, 업로드 된 음악이 기 설정된 순위내에 있는 경우, 음악 블록(111) 및 동작 블록
(112) 중 적어도 하나를 코딩 교육 장치(100)로 전송하는 블록 전송부(320);를 더 포함한다.
기 설정된 순위는 5위일 수 있다. 5위인 경우 음악 블록(111), 동작 블록(112)을 포함하는 블록 중 1개, 4위인 경우는 2개, 3위인 경우는 3개, 2위인 경우는 4개, 1위인 경우는 5개를 블록 전송부(320)가 코딩 교육 장치 (100)로 전송한다.
사용자가 업로드한 음악이 높은 순위에 배정되면 전술한 보상을 해줌에 따라 사용자들은 대중을 사로잡는 음악 을 제작하려는 동기가 제공될 수 있다.
블록 전송부(320)가 블록을 코딩 교육 장치(100)로 전송하면, 단위 블록 제공부(110)는 전송받은 블록을 포함하는 단위 블록을 제공할 수 있다. 사용자가 선택가능한 단위 블록의 수가 증가하여 사용자는 더 다양한 음악을 제작하고 로봇(200)이 더 다양한 동작을 취하도록 제어할 수 있다.
도 5는 제안된 발명에 따른 로봇(200)의 전체적인 구성을 도시한다.
도 6은 제안된 발명에 따른 로봇(200)이 움직일 수 있는 전체 직역, 분할 지역 및 중심점(601)을 도시한다.
제안된 발명에 따른 코딩 교육 시스템은 코딩 교육 장치(100); 및 코딩 교육 장치(100)가 전송하는 로봇(200) 제어 신호에 따라 제어되는 로봇(200);을 포함하되, 상기 로봇(200)은 움직일 수 있는 전체 지역을 분할한 복수 의 분할 지역을 생성하고, 상기 복수의 분할 지역의 중심점(601)을 연결하여 상기 로봇(200)의 경로를 생성하는 경로 생성부(210)를 포함한다.
로봇(200)이 전송받는 로봇(200) 제어 신호는 로봇(200)의 이동과는 무관한 신호이다. 즉, 로봇(200)은 코드 실행부(130)가 로봇(200) 제어 신호를 송신하면 자유롭게 이동하되, 이동과 무관한 팔을 위아래로 흔드는 동작, 차렷 자세에서 팔을 앞으로 뻗고 다시 차렷자세로 돌아가는 동작 등은 로봇(200) 제어 신호에 기초하여 수행된 다.
경로 생성부(210)는 로봇(200)은 움직일 수 있는 전체 지역을 분할한 복수의 분할 지역을 생성하고, 상기 복수의 분할 지역의 중심점(601)을 연결하여 상기 로봇(200)의 경로를 생성하고, 상기 로봇(200)은 상기 경로를 따 라 이동한다.
도 5에 도시된 중심점(601)들을 연결하되 현재 위치에서 가장 인접한 중심점(601)과 가장 가까운 다른 중심점 (601)을 연결한다. 상기 가장 가까운 다른 중심점(601)이 한 개 이상인 경우 임의의 중심점(601)과 연결한다. 이미 연결된 중심점(601)이라도 경로에 재차 포함될 수 있다.
경로 생성부(210)는 전체 지역을 16개의 분할 지역을 생성할 수 있다. 16개의 분할 지역에 따른 중심점(601) 중 8개 이상을 연결하여 경로를 생성할 수 있다. 하나의 경로에 다른 중심점(601)을 포함하여 동일한 중심점 (601)을 두번 포함한 경우, 다른 중심점(601)을 제외하고도 중심점(601)을 2개 포함했다고 간주할 수 있다.
로봇(200)은 상기 경로를 따라 이동하면서 로봇(200) 제어 신호에 따른 음악을 출력하고 동작을 수행한다.
상기 로봇(200)은 감지부(260)를 포함하고, 상기 로봇(200)은 경로를 따라 이동중에 감지부(260)가 기 설정된 거리 이내에 물체를 감지하면, 로봇(200)은 이동을 멈출 수 있다.
감지부(260)는 조도센서 또는 접촉센서를 포함할 수 있다. 감지부(260)는 특정 물체가 기 설정된 거리 이내로 접근했는지를 감지한다. 물체를 감지하면, 로봇(200)은 이동을 멈춘다. 로봇(200)은 이동을 멈춘 상태에서 로 봇(200) 제어 신호에 따라 제어된다.
감지부(260)는 또한 이동통신모듈이 로봇(200)에 근접했는지 여부를 감지한다. 감지부(260)는 이동통신모듈이 기 설정된 거리 이내로 근접한 감지정보를 제어부(270)로 전송한다. 제어부(270)는 이동통신모듈의 근접시 객체 추종을 위해 동작을 준비하거나 개시할 수 있다.
반대로, 제어부(270)는 이동통신모듈이 로봇(200)으로부터 이탈하거나 멀어지는 경우 객체 추종을 종료 할 수 있다.
상기 단위 블록은 조건 명령 코드를 입력하는 조건 블록(113)을 더 포함하고, 상기 블록 배치부(120)는 상기 세 트 또는 조건 블록(113)을 배치하며, 상기 로봇(200)은 조건 블록(113)에 따른 로봇(200) 제어 신호를 수신하고, 상기 조건 블록(113)에 따른 조건의 충족여부를 판단하는 조건 충족 판단부(230)를 더 포함한다.
조건은 예를 들어, 조도가 기준 이상인 경우는 조건 블록(113)의 yes 루트와 연결된 블록에 따른 명령 코드를 수행하고 조도가 기준 이상이 아닌 경우 조건 블록(113)의 no 루트와 연결된 블록에 따른 명령 코드를 수행한다. 로봇은 조도센서를 포함하기에 조도를 측정할 수 잇다.
조건 충족 판단부(230)의 판단에 따라 조건이 충족되면 로봇(200)은 조건 블록(113)의 yes 루트와 연결된 블록에 따른 명령 코드를 수행한다. 조건이 충족되지 않은 경우 조건 블록(113)의 no 루트와 연결된 블록에 따른 명령 코드를 수행한다.
상기 로봇(200)은 접근이 감지된 사람의 얼굴 영역을 추출하고, 추출한 얼굴 영역에서 특징 정보를 추출하며, 추출한 특징 정보와 미리 등록된 특징 정보를 비교하고, 추출한 특징 정보가 미리 등록된 특징 정보와 일치하면 추출한 특징 정보를 기반으로 상기 로봇(200)이 포함하는 표시부(240)에 얼굴 콘텐츠를 출력하는 객체 인식부 (220);를 더 포함한다.
객체 인식부(220)는 로봇(200)의 이동중에 사람의 얼굴이 감지되면 얼굴 영역을 추출하고 추출한 얼굴 영역에서 특징 정보를 추출하며, 추출한 특징 정보와 미리 등록된 특징 정보를 비교한다. 객체 인식부(220)는 로봇(20 0)이 포함하는 카메라(250)로 사람의 얼굴을 감지한다.
객체 인식부(220)는 추출한 얼굴 영역에서 특징(feature)을 추출할 수 있다. 얼굴 영역에 대한 특징을 추출하는 과정을 반복적으로 수행하는 기계학습(machine learning)을 통해 로봇(200)은 사람의 얼굴을 구별할 수 있다.
얼굴의 특징을 추출 및 인식하는 방식으로는 아다부스트(Adaboost) 학습 분류기, Gabor Filter, PCA(Principal Component Analysis), FDA(Fisher Discriminant Analysis), ICA(Independent Component Analysis), LBP(Lpcal Binary Feature), SVM(Suppert Vector Machine) 등과 같은 다양한 특징 추출 및 인식 알고리즘이 적용될 수 있다.
또한, 원본 사진에서 얼굴 영역을 검출하는 방법으로는 상술한 방식 이외에 Feature invariant 방법, Template matching 방법, Appearance??based 방법 등이 사용될 수 있다. 나아가, 얼굴 영역에 대한 특징을 추출하는 방 법은 이미 공지된 "한국등록특허 제0639988호"에 개시되어 있다.
객체 인식부(220)는 추출한 특징 정보를 미리 등록한 특징 정보와 비교하여 일치하면 특징 정보를 추출한 사람의 얼굴 컨텐츠를 출력한다.
미리 등록한 특징 정보는 사전에 로봇이 포함하는 카메라로 촬영한 사람의 얼굴에서 추출한 특징 정보이다. 객 체 인식부(220)는 감지된 사람의 얼굴 영역에서 추출한 특징 정보와 일치하는 특징 정보를 가지는 미리 등록한 얼 굴 컨텐츠를 출력한다. 결국 사용자는 자신의 얼굴을 로봇의 표시부(240)에서 확인할 수 있다. 표시부 (240)는 이동통신 모듈의 표시부(240)일 수 있다.
객체 인식부(220)는 이동통신모듈을 이용하여 객체를 인식한다. 객체 인식부(220)는 이동통신모듈을 통해 객체 의 형상, 색채, 움직임, 식별신호, 온도, 음파를 획득할 수 있다. 이 경우, 객체는 움직임을 갖는 생명체이거나 전자신호를 출력하는 웨어러블장치 또는 물체이다.
객체 인식부(220)는 기 설정된 객체정보와 획득한 객체정보를 비교하여 인증된 객체인지 여부를 판단할 수 있다. 예를 들어, 사용자의 얼굴, 색채, 움직임 패턴, 사용자가 착용한 웨어러블장치의 전기적신호가 객체를 인 식하는데 사용될 수 있다. 객체 인식은 로봇(200)에 기 설정된 거리 이내로 근접한 객체를 대상으로 설정하는 것도 가능하다.
또한, 객체 인식부(220)는 사용자가 착용한 웨어러블 장치로부터 발생하는 식별코드를 촬영하거나, 초음파신호를 녹음하거나, 움직임패턴을 파악하여 인증된 사용자로 객체 인식을 할 수 있다.
객체 인식부(220)를 통해 객체 인식이 완료되면, 객체해제신호가 있기 전까지는 객체를 추종하도록 한다. 객체 인식부(220)는 객체로부터 객체해제신호가 발생하면 이를 제어부(270)로 전달하여 로봇(200)의 객체 추종을 중단하도록 할 수 있다. 이 경우, 객체해제신호는 사용자의 설정에 따라 다양하게 설정될 수 있다.
상기 로봇(200)은 접근이 감지된 사람이 로봇(200)을 바라보고 있는지를 확인한 뒤, 추출한 특징 정보와 미리 저장된 특징 정보 별로 분류된 콘텐츠 데이터를 비교하여 추출한 특징 정보에 대응하는 콘텐츠 데이터를 추출하고, 추출한 콘텐츠 데이터를 상기 로봇(200)의 표시부(240)에 출력하는 객체 인식부(220)를 더 포함한다.
객체 인식부(220)는 카메라(250)로 인식한 얼굴 영역의 영상을 분석하여 사람이 눈동자가 바라보는 방향, 즉 시 선을 검출하고, 사람의 시선이 로봇(200)이 있는 방향을 바라보는지 여부를 확인할 수 있다.
사람의 시선을 검출하는 방법은 "한국등록특허 제1286965호" 및 "한국등록특허 제1471488호"에 자세히 개시되어 있다.
객체 인식부(220)는 추출한 특징 정보와 미리 저장된 특징 정보 별로 분류된 콘텐츠 데이터를 비교하여 추출한 특징 정보에 대응하는 콘텐츠 데이터를 추출한다. 추출한 특징 정보에 대응하는 콘텐츠 데이터는 특징 정보를 추출한 얼굴 사진이다. 로봇(200)은 여러 사람의 얼굴 사진을 저장한다. 즉, 로봇(200)이 미리 저장한 특징 정보 별로 분류된 콘텐츠 데이터는 여러 사람의 얼굴 사진이다. 로봇(200)은 여러 사람의 얼굴 사진을 특징 정 보 별로 분류하여, 카메라(250) 모듈로부터 인지된 사람의 얼굴의 특징 정보와 특징 정보가 일치하는 상기 여러 사람의 얼굴 사진 중 하나를 추출한다. 상기 추출된 사진이 콘텐츠 데이터이고, 로봇(200)은 표시부(240)로 상 기 콘텐츠 데이터를 출력한다.
상기 경로 생성부(210)는 객체를 추종하기 위한 제1 이동경로를 생성한다. 제1 이동경로는 객체를 추종하기 위 한 최단거리의 이동경로를 의미한다.
경로 생성부(210)는 제1 이동경로 상의 운행정보를 생성하고 이를 제어부(270)로 출력한다. 운행정보는 객체를 추종하기 위한 방향, 속도와 같은 물리적 정보 뿐만 아니라, 객체를 추종하기 위한 운행모드정보를 포함할 수 있다.
운행모드정보에는 직립보행모드, 주행모드, 비행모드를 포함할 수 있다. 직립보행모드는 로봇(200)의 다리를 이용하여 이동하는 것이며, 주행모드는 바퀴를 이용하여 이동하는 것이며, 비행모드는 비행모듈을 이용하여 이동하는 것을 나타낸다.
상기 감지부(260)는 제1 이동경로 상에 장애가 있는지 여부를 판단한다. 예를 들어, 상기 경로 생성부(210)는 제1 이동경로에 장애물이 위치하는 경우 제1 이동경로를 우회하는 제2 이동경로를 생성한다. 제2 이동경로는 제1 이동경로에 근접하면서 장애물과 충돌하지 않을 수 있는 경로를 의미한다.
경로 생성부(210)는 제2 이동경로가 생성되면 이를 위한 운행정보를 수정한다. 예를 들어, 로봇(200)이 제1 이동경로 상 직립보행모드 또는 주행모드로 객체를 추종할 수 없는 경우, 장애물을 피하기 위해 비행모드로 운행 정보를 수정할 수 있다.
제어부(270)는 기 설정된 시간 간격으로 객체의 움직임패턴을 획득하여 기 설정된 객체패턴과 비교한다. 예를 들어, 객체가 치매환자이거나, 유아인 경우 기 설정된 움직임 패턴을 설정하고 정상모드인 경우와 비정상모드인 경우에 따라 로봇(200)의 이동을 제어할 수 있다. 정상모드인 경우 로봇(200)이 객체를 추종하도록 하고, 비정 상모드인 경우 로봇(200)이 상기 객체에 대한 위험신호를 기 설정된 관계망에 전송하도록 할 수 있다. 이는 치 매환자나 유아의 비정상적인 움직임 패턴에 대응하여 신속하게 병원, 경찰, 소방서 등의 관계망에 연락할 수 있도록 하기 위함이다.
도 7은 로봇(200)이 장애물을 감지하여 비행모듈로 경로를 변경하도록 하는 것을 설명하기 위한 예시도이다.
도 7를 참조하면, 로봇(200)이 제1 이동경로(①)를 통해 이동하는 경우, 이동통신모듈(20)을 통해 장애물(1)을 감지하여 장애물(1)을 회피하는 지상에서의 제2 이동경로(②)가 기 설정치를 초과하면 비행모듈을 이용하여 운행 정보를 변경할 수 있다. 예를 들어, 제1 이동경로(①) 상의 장애물(1)이 펜스와 같이 우회경로를 찾기 힘들거나, 강이나 바다와 같이 지상으로 이동하기 어려운 경우 비행모듈을 통해 제2 이동경로(②)를 설정할 수 있다.
비행모듈은 로봇(200)에 결합되어 비행할 수 있는 장치이다. 비행모듈은 이동통신모듈(20) 또는 로봇(200)의 전 원에 의해 구동될 수 있다.
제어부(270)는 제1 이동경로(①)로부터 최단거리의 우회경로로 제2 이동경로(②)를 탐색시 기 설정된 시간 또는 거리의 조건을 벗어나는 경우 비행모드로 운행하도록 운행정보를 수정할 수 있다.
또한, 제어부(270)는 위치정보를 이용하여 강이나 바다와 같이 지상으로 이동할 수 없는 경우 비행모듈로 운행 정보를 수정할 수 있다. 예를 들어, 제어부(270)는 로봇(200)에 비행모듈이 결합되지 않은 경우 문자 또는 음성 형태의 알람신호를 출력하여 비행모듈의 필요함을 사용자에게 알릴 수 있다.
객체 인식부(220)는 이동통신모듈을 이용하여 객체 및 주변의 영상정보를 획득한다. 이 경우, 제어부(270)는 객 체의 움직임 패턴이 비정상모드인 경우 영상정보를 관계망으로 전송하도록 제어할 수 있다.
객체 인식부(220)는 객체를 추종하면서 객체의 영상 및 주변환경에 대한 영상정보를 획득하고 이를 저장한다. 또한, 객체 인식부(220)는 스트리밍 방식으로 이동통신모듈을 통해 코딩 교육 서버(300)로 영상정보를 전송하도 록 하는 것도 가능하다.
객체 인식부(220)는 사용자 얼굴을 객체 인식하는 경우 미인증된 얼굴이 감지되면 이를 경찰, 소방서 등의 관계 망으로 전송하여 침입자의 존재를 알릴 수 있다.
객체 인식부(220)는 객체를 추종하는 이동경로 상의 환경 정보를 영상으로 획득하여 사용자의 움직임 패턴을 외 부의 서버로 전송할 수 있다.
예를 들어, 치매환자, 강아지, 영유아의 경우와 같이 의사소통이 원활하지 않은 생명체의 경우에는 기 설정된 시간 간격으로 움직임을 획득하고 이를 영상으로 저장함으로써 하루 동안의 움직임 패턴을 분석하도록 하는 것도 가능하다. 따라서, 객체의 정신적 질환이 있는지 등의 행동패턴을 획득하여 병원 등의 관계망으로 전송 하여 전문가를 통한 진단이 가능하도록 할 수 있다.
본 발명의 실시예에 따른 로봇(200)은 전원 관리부(280) 및 온도 관리부(290)를 더 포함할 수 있다.
전원관리부는 이동통신모듈이 로봇(200)과 결합하는 경우, 이동통신모듈의 전원 상태를 파악하여 전원을 관리한다. 이 경우, 로봇(200)과 이동통신모듈 간의 전압차이 또는 전류차이를 비교하여 이동통신모듈을 충전 또는 방전시킬 수 있다. 이에 따라, 이동통신모듈의 전원으로 로봇(200)을 구동시킬 수 있으며, 반대로 로봇(200)을 통 해 이동통신모듈을 구동시키는 것도 가능하다.
이 경우, 제어부(270)는 이동통신모듈의 전원 상태에 따라 전원관리부를 제어하여 기 설정된 전원 상태를 유지하도록 제어할 수 있다.
또한, 전원 관리부(280)는 로봇(200) 또는 이동통신모듈의 전원이 기 설정치 이하인 경우 전원을 충전할 수 있는 위치로 이동경로를 수정하도록 할 수 있다. 이 경우, 충전할 수 있는 위치를 사용자 설정에 의해 미리 설정될 수 있다. 경로 생성부(210)는 로봇(200)의 전원이 기 설정치 이하인 경우 이동경로 상에 전원충전을 위해 충전소를 경유하도록 운행정보를 수정할 수 있다.
또한, 전원 관리부(280)는 태양 전지(252)를 이용하여 자체 전원을 생성하거나, 로봇(200)이 지면과 맞닿는 면에 압전소자를 형성하여 직립 보행 하는경우 전기를 발생하여 전원을 충전하도록 하는 것도 가능하다.
이 경우, 로봇(200)의 에너지 효율을 증대시킬 수 있다.
온도관리부는 이동통신모듈의 온도를 유지한다. 이동통신모듈 이 과열되는 경우 성능이 저하되므로 이동통신모듈의 온도를 기 설정된 온도범위를 유지시켜 안정적으로 동작하도록 하기 위함이다. 온도관리부는 냉각팬(253)을 이용하여 이동통신모듈의 발열을 줄일 수 있다.
이 경우, 제어부(270)는 이동통신모듈의 온도 상태에 따라 온도관리부를 제어하여 기 설정된 온도를 유지하도록 제어할 수 있다.
도 8은 로봇(200)이 전원 및 온도를 관리하는 것을 설명하기 위한 예시도이다.
로봇(200)에는 전원 단자(251)(11), 태양 전지(252)(12), 감지부(260)(13) 및 냉각팬(253)(14)을 포함할 수 있다. 전원 단자(251)(11)는 이동통신모듈이 접속되는 경우 전원을 충전 또는 방전시키기 위한 것이다.
전원 단자(251)(11)는 이동통신모듈에 의해 그 형태가 달라질 수 있으며, 변환젠더를 통해 다양한 이동통신모듈 이 접속되도록 할 수 있다.
태양 전지(252)(12)는 로봇(200)의 자체 전원을 생성하기 위함이다. 태양 전지(252)(12)는 태양광을 전기로 변환시키는 것으로, 그 크기 및 위치는 사용자 설정에 의해 달라질 수 있다.
제어부(270)는 태양 전지(252)(12)로 전원을 생성해야 하는 경우, 태양광의 위치에 따라 객체를 추종하기 위한 이동경로를 수정할 수 있다. 이 경우, 태양 전지(252)(12)의 충전량과 이동경로 수정에 따른 전원 소비를 비교 하여 태양 전지(252)(12)의 충전량이 많은 경우에만 이동경로를 수정하도록 할 수있다.
냉각팬(253)(14)은 이동통신모듈의 맞닿는 면에 형성되어 이동통신모듈의 온도를 낮추는 역할을 한다. 이 경우,
제어부(270)는 이동통신모듈이 로봇(200)에 접속시 내부 온도정보를 획득할 수 있다. 냉각팬(253)(14)은 제어 부(270) 의해 그 회전속도 및 동작시간이 제어된다. 이에 따라, 이동통신모듈의 과열을 막을 수 있다.
로봇(200)은 완충부(291)(180)를 더 포함할 수 있다. 완충부(291)(180)는 로봇(200) 또는 이동통신단말에 충격이 감지되면 에어튜브모듈이 팽창하면서 로봇(200)을 외부 충격으로부터 보호한다.
이 경우, 로봇(200)에는 어느 일측으로 공기압에 의해 팽창하는 에어튜브모듈이 결합된다. 완충부(291)(180)는 근접하는 장애물에 의해 로봇(200)이 충돌하거나 중심을 잃는 경우에 대비하여, 에어튜브모듈을 이용하여 충격을 완화하고 중심을 잡을 수 있도록 한다.
또한, 완충부(291)는 로봇(200)이 비행모드로 구동중에는 낙하시 충격을 방지하기 위해 에어튜브모듈을 구동시 키도록 하는 것도 가능하다.
도 9는 로봇(10)이 에어튜브모듈을 이용하여 충격을 완화하는 것을 설명하기 위한 예시도이다.
도 9를 참조하면, 로봇(10)의 하부에는 에어튜브모듈(40)이 형성되고, 충격이 발생시 하방으로 에어튜브모듈 (40)의 에어튜브가 팽창하면서 충격을 완화하고 중심을 잡을 수 있도록 한다.
이 경우, 에어튜브모듈(40)의 형성 위치는 사용자 설정에 의해 달라질 수 있다. 또한, 제어부(270)는 로봇(10) 또는 이동통신모듈(20)로부터 충격을 감지할 수 있으며, 감지센서를 이용하여 근접하는 장애물(1)에 대비하여 에어튜브모듈(40)의 에어튜브가 팽창하도록 설정하는 것도 가능하다. 이에 따라, 로봇(10)이 이동 중에 장애물에 의해 넘어지거나 충동하는 경우에 충격을 완화할 수 있으며, 비행중에 추락하는 경우에도 충격을 완화시킬 수 있어 2차 사고의 위험을 줄일 수 있다.
로봇(200)은 퇴치액 분사부(254)를 더 포함할 수 있다. 퇴치액 분사부(254)(190)는 객체 인식을 통해 미인증된 사용자가 객체로 인식되는 경우 분사모듈을 통해 퇴치액을 분사한다. 이 경우, 로봇(200)에는 분사모듈이 결합 될 수 있다. 퇴치액 분사부(254)(190)는 객체 인식부(220)(110)를 통해 사용자의 인증 여부를 파악하고, 인증되지 않은 경우에는 퇴치액을 분사하도록 한다.
침입자가 이동하는 경우 이를 객체로 인식하여 이를 추종하면서 침입자에게 퇴치액을 분사시킬 수 있다. 퇴치액 분사부(254)(190)는 문자 또는 소리 형태의 알람신호를 함께 출력하도록 할 수 있다. 퇴치액 분사부(254)(190)는 퇴치액이 부족한 경우 이를 알람신호로 사용자에게 알릴 수 있다.
도 10은 도 2에 따른 로봇(200)의 추종제어장치에서 분사모듈을 이용하여 분사액을 분사시키는 것을 설명하기 위한 예시도이다.
도 10을 참조하면, 로봇(200)에는 이동통신모듈(20) 및 분사모듈(50)이 결합된다. 구체적으로, 분사모듈(50)은 퇴치액 수용부(51), 접속단자(52), 분사노즐(53)을 포함한다. 퇴치액 수용부(51)는 캡사이신, 최루액과 같은 분 사액을 수용한다. 접속단자(52)는 로봇(200)과 전기적으로 접속하면서 분사모듈(50)을 고정시키기 위한 구성이다. 접속단자(52)를 통해 추종제어장치(100)의 전기적 제어신호에 따라 퇴치액 수용부(51)의 분사액이 분사된다.
분사노즐(53)은 퇴치액 수용부(51)에 저장된 분사액을 분사시키는 노즐이다. 이 경우, 분사노즐(53)은 상하좌우 방향으로 회전하면서 분사액을 다양한 각도로 분사시킬 수 있다. 이 경우, 분사액이 분사되는 방향, 속도는 사용자 설정에 의해 달라질 수 있다. 이에 따라, 집안에 침입자가 감지되는 경우에는 침입자의 얼굴을 인식하여 분사액을 분사하도록 하는 것도 가능하다.
도 11은 제안된 발명에 따른 블록 제공부가 제공한 복수의 블록 및 블록 배치부(120)에 배치된 복수의 블록을 도시한다. 도 11에 도시된 실시예는 하나 이상의 자음 블록(114) 및 모음 블록(114)이 추가되는 것을 제외하면 도 3에 도시된 실시예와 특징을 공유한다.
상기 단위 블록 제공부(110)는 로봇이 출력하는 음성 출력 명령 코드를 입력하는 자음 블록(114) 및 모음 블록 (114)을 더 포함하는 단위 블록을 제공하고,
블록 배치부(120)는 하나의 음악 블록, 하나의 동작 블록, 하나 이상의 자음 블록(114) 및 하나 이상의 모음 블록(114)을 세트로, 하나 이상의 세트를 배치하며,
상기 코드 실행부(130)는 배치된 세트가 포함하는 하나의 음악 블록, 하나의 동작 블록, 하나 이상의 자음 블록
(114) 및 하나 이상의 모음 블록(114)의 명령 코드를 실행하되, 세트가 복수개인 경우 순차적으로 각각의 세트가 포함하는 하나의 음악 블록, 하나의 동작 블록, 하나 이상의 자음 블록(114) 및 하나 이상의 모음 블록(114)의 명령 코드를 실행하여, 로봇 제어 신호를 생성하고, 상기 로봇 제어 신호를 로봇으로 전송한다.
본 발명은 도 2 및 도 3에 도시된 실시예에서 추가적으로 자음 블록(114) 및 모음 블록(114)을 더 포함한다.
자음 블록(114) 및 모음 블록(114)은 음성 출력 명령 코드를 입력하기 위한 블록이다. 하나의 자음 블록(114) 및 하나의 모음 블록(114)이 결합하여 하나의 음절이 형성되고, 음성 출력 명령 코드를 수신한 로봇은 상기 음절에 해당하는 음성을 출력한다.
예를 들어 자음 블록(114)이 'ㄱ'이고, 모음 블록(114)이 'ㅏ'라면, 코드 실행부(130)는 '가'에 해당하는 음성 출력 명령 코드를 실행하여 로봇 제어 신호를 생성하고, 상기 로봇 제어 신호를 로봇으로 전송한다. 결국, 로봇은 '가'에 해당하는 음성을 출력한다.
자음 블록(114) 및 모음 블록(114)은 한글의 자음 및 모음에 한정되는 것은 아니고, 외국어의 자음 및 모음에 대한 블록일 수 있다. 자세하게는 일본어 또는 영어의 자음 및 모음일 수 있다.
즉, 자음 블록(114)은 한글 자음 블록(114) 및 영어 자음 블록(114) 중 적어도 하나를 포함한다. 모음 블록 (114)은 한글 모음 블록(114) 및 영어 모음 블록(114) 중 적어도 하나를 포함한다.
자음 블록(114)이 영어 자음 블록(114)을 포함하고, 모음 블록(114)이 영어 모음 블록(114)을 포함하는 경우의 예를 들면 다음과 같다.
예를 들어 자음 블록(114)이 'f'이고, 모음 블록(114)이 'a'라면, 코드 실행부(130)는 'fa'에 해당하는 음성 출 력 명령 코드를 실행하여 로봇 제어 신호를 생성하고, 상기 로봇 제어 신호를 로봇으로 전송한다. 결국, 로봇은 'fa'에 해당하는 음성을 출력한다.
도 11에서는 도 3과 달리 하나의 음악 블록, 하나의 동작 블록, 하나 이상의 자음 블록(114) 및 하나 이상의 모음 블록(114)이 하나의 세트로 배치된다. 하나의 세트로 배치된 블록의 명령 코드를 실행하여 생성된 로봇 제어 신호를 수신한 로봇은 음악 및 음성을 출력하면서 동작을 수행한다. 음악은 음악 블록에 근거하여 출력되는 것이고, 음성은 하나 이상의 자음 블록(114) 및 모음 블록(114)에 근거하여 출력되는 것이며, 로봇의 동작은 동작 블록에 근거한 것이다.
도 11에서 블록 배치부(120)에 포함된 각 세트가 포함하는 하나의 음악 블록(111)은 좌측에 배치되고 하나의 동작 블록(112)은 가운데에 배치되며, 하나 이상의 자음 블록(114) 및 하나 이상의 모음 블록(114)은 맨 우측에 배치된다. 모든 세트들은 전술한 규칙하에 배치되어야 하기에, 사용자는 코딩 교육과 함께 규칙에 대한 이해도 증진시킬 수 있다.
사용자가 도 11에 도시된 버튼(130)을 터치하면 코드 실행부(130)는 배치된 세트가 포함하는 하나의 음악 블록 (111), 하나의 동작 블록(112), 하나 이상의 자음 블록(114) 및 하나 이상의 모음 블록(114)의 명령 코드를 실행하되, 세트가 복수개인 경우 순차적으로 각각의 세트가 포함하는 하나의 음악 블록(111), 하나의 동작 블록 (112), 하나 이상의 자음 블록(114) 및 하나 이상의 모음 블록(114) 명령 코드를 실행하여, 로봇(200) 제어 신호를 생성하고, 상기 로봇(200) 제어 신호를 로봇(200)으로 전송한다.
로봇(200)은 상기 로봇(200) 제어 신호에 기초하여 제어된다.
도 12는 제안된 발명에 따른 블록 제공부가 제공한 복수의 블록 및 블록 배치부(120)에 배치된 복수의 블록을 도시한다. 도 12에 도시된 실시예는 하나 이상의 언어 블록(115)이 추가되는 것을 제외하면 도 3에 도시된 실시예와 특징을 공유한다.
상기 단위 블록 제공부(110)는 로봇이 출력하는 음성 출력 명령 코드를 입력하는 언어 블록(115)을 더 포함하는 단위 블록을 제공하고,
블록 배치부(120)는 하나의 음악 블록, 하나의 동작 블록, 하나 이상의 언어 블록(115)을 세트로, 하나 이상의 세트를 배치하며,
상기 코드 실행부(130)는 배치된 세트가 포함하는 하나의 음악 블록, 하나의 동작 블록, 하나 이상의 언어 블록 (115)의 명령 코드를 실행하되, 세트가 복수개인 경우 순차적으로 각각의 세트가 포함하는 하나의 음악 블록, 하나의 동작 블록, 하나 이상의 언어 블록(115)의 명령 코드를 실행하여, 로봇 제어 신호를 생성하고, 상기 로봇 제어 신호를 로봇으로 전송한다.
본 발명은 도 2 및 도 3에 도시된 실시예에서 추가적으로 언어 블록(115)을 더 포함한다.
언어 블록(115)은 음성 출력 명령 코드를 입력하기 위한 블록이다. 언어 블록(115)은 명사 블록, 조사 블록, 동사 블록 형용사 블록을 포함한다. 명사 블록은 사물의 이름을 나타내는 블록으로 예를 들어 사람, 동물 등이다.
조사 블록은 체언에 붙어서 그 체언의 문법적 관계를 결정하는 블록으로 은, 는, 이, 가 등이다. 동사 블록은 움직임 또는 작용을 나타내는 블록으로 예를 들어 먹다, 걷다, 뛰다 등이다. 형용사 블록은 사물의 성질이나 상태를 나태내는 것으로 예를 들어 아름답다, 사랑한다 등이다.
하나 이상의 명사 블록, 하나 이상의 조사 블록을 배치하고 나아가 하나 이상의 동사 블록 또는 하나 이상의 형용사 블록을 배치하여 하나의 문장이 형성될 수 있다. 하나의 문장이 형성되고, 음성 출력 명령 코드를 수신한 로봇은 상기 문장에 해당하는 음성을 출력한다.
예를 들어 명사 블록이 '철수'이고, 조사 블록이 '는'이며, 형용사 블록이 '아름답다'라면, 코드 실행부(130)는 '철수는 아름답다'에 해당하는 음성 출력 명령 코드를 실행하여 로봇 제어 신호를 생성하고, 상기 로봇 제어 신호를 로봇으로 전송한다. 결국, 로봇은 '철수는 아름답다'에 해당하는 음성을 출력한다.
언어 블록(115)이 배치될 때 하나의 블록만 배치되는 것도 가능하다. 예를 들어, 명사 블록이 '철수'이고, 상기 명사 블록만 배치되는 경우 코드 실행부(130)는 '철수'에 해당하는 음성 출력 명령 코드를 실행하여 로봇 제어 신호를 생성하고, 상기 로봇 제어 신호를 로봇으로 전송한다. 결국, 로봇은 '철수'에 해당하는 음성을 출력한다.
상기 언어 블록(115)은 한국어에 한정되는 것은 아니고, 영어, 일본어 등의 외국어로 구현될 수 있다.
도 12에서는 도 3과 달리 하나의 음악 블록, 하나의 동작 블록, 하나 이상의 언어 블록(115)이 하나의 세트로 배치된다. 하나의 세트로 배치된 블록의 명령 코드를 실행하여 생성된 로봇 제어 신호를 수신한 로봇은 음악 및 음성을 출력하면서 동작을 수행한다. 음악은 음악 블록에 근거하여 출력되는 것이고, 음성은 하나 이상의 언어 블록(115)에 근거하여 출력되는 것이며, 로봇의 동작은 동작 블록에 근거한 것이다.
도 12에서 블록 배치부(120)에 포함된 각 세트가 포함하는 하나의 음악 블록(111)은 좌측에 배치되고 하나의 동작 블록(112)은 가운데에 배치되며, 하나 이상 언어 블록(115)은 맨 우측에 배치된다. 모든 세트들은 전술한 규칙하에 배치되어야 하기에, 사용자는 코딩 교육과 함께 규칙에 대한 이해도 증진시킬 수 있다.
사용자가 도 12에 도시된 버튼(130)을 터치하면 코드 실행부(130)는 배치된 세트가 포함하는 하나의 음악 블록 (111), 하나의 동작 블록(112), 하나 이상의 언어 블록(115)의 명령 코드를 실행하되, 세트가 복수개인 경우 순 차적으로 각각의 세트가 포함하는 하나의 음악 블록(111), 하나의 동작 블록(112), 하나 이상의 자음 블록(114) 및 하나 이상의 모음 블록(114) 명령 코드를 실행하여, 로봇(200) 제어 신호를 생성하고, 상기 로봇(200) 제어 신호를 로봇(200)으로 전송한다.
로봇(200)은 상기 로봇(200) 제어 신호에 기초하여 제어된다.
하나의 동작 블록 및 하나 이상의 언어 블록(115)이 하나의 세트로 배치되는 실시형태도 가능하다.
상기 단위 블록 제공부(110)는 로봇의 동작 명령 코드를 입력하는 동작 블록 및 로봇이 출력하는 음성 출력 명 령 코드를 입력하는 언어 블록(115)을 포함하는 단위 블록을 제공하고, 블록 배치부(120)는 하나의 동작 블록, 하나의 언어 블록(115)을 세트로, 하나 이상의 세트를 배치하며, 상기 코드 실행부(130)는 배치된 세트가 포함 하는 하나의 동작 블록, 하나 이상의 언어 블록(115)의 명령 코드를 실행하되, 세트가 복수개인 경우 순차적으로 각각의 세트가 포함하는 하나의 동작 블록, 하나 이상의 언어블록의 명령 코드를 실행하여, 로봇 제어 신호를 생성하고, 상기 로봇 제어 신호를 로봇으로 전송할 수 있다. 각각의 구성 및 블록에 대한 상세한 설명은 전술하였다.
이와 같이, 제안된 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 제안된 발명이 그 기술적 사상이나 필 수적인 특징을 변경하지 않고서 다른 구체적인 실시 형태로 실시될 수 있다는 것을 인지할 수 있을 것이다. 따라서 이상에서 기술한 실시 예들은 예시적인 것일 뿐이며, 그 범위를 제한해놓은 한정적인 것이 아닌 것으로 이해해야만 한다. 또한, 도면에 도시된 순서도들은 제안된 발명을 실시함에 있어서 가장 바람직한 결과를 달성하 기 위해 예시적으로 도시된 순차적인 순서에 불과하며, 다른 추가적인 단계들이 제공되거나, 일부 단계가 삭제될 수 있음은 물론이다.
본 명세서에서 기술한 기술적 특징과 이를 실행하는 구현물은 디지털 전자 회로로 구현되거나, 본 명세서에서 기술하는 구조 및 그 구조적인 등가물 등을 포함하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로 구현되거나, 이들 중 하나 이상의 조합으로 구현 가능하다. 또한 본 명세서에서 기술한 기술적 특징을 실행하는 구현물은 컴퓨터 프로그램 제품, 다시 말해 처리 시스템의 동작을 제어하기 위하여 또는 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령어에 관한 모듈로서 구현될 수도 있다.
컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 또는 이들 중 하나 이상의 조합일 수 있다.
한편, 본 명세서에서 "장치"나 "시스템"이라 함은 예를 들어, 프로세서, 컴퓨터 또는 다중 프로세서나 컴퓨터를 포함하여 정보를 처리하기 위한 모든 기구, 장치 및 기계를 모두 포함한다. 처리 시스템은, 하드웨어에 부가하여 예를 들어, 프로세서 펌웨어를 구성하는 코드, 프로토콜 스택, 정보베이스 관리 시스템, 운영 제체 또는 이 들 중 하나 이상의 조합 등 요청 시 컴퓨터 프로그램에 대한 실행 환경을 형성하는 모든 코드를 포함할 수 있다.
프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드 등으로 알려진 컴퓨터 프로그램은 컴파일 되거나 해석된 언어 또는 선험적, 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 또는 컴퓨터 환경에서 사용하기에 적합한
다른 유닛을 포함하여 어떠한 형태로도 구현될 수 있다.
한편, 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응되는 것은 아니며, 요청된 프로그램에 제공되는 단일 파일 내에 또는 다중의 상호 작용하는 파일(예를 들어, 하나 이상의 모듈, 하위 프로그램 또는 코드의 일부를 저장하는 파일)내에, 또는 다른 프로그램이나 정보를 보유하는 파일의 일부(예를 들어, 마크업 언어 문서 내 에 저장되는 하나 이상의 스크립트)내에 저장될 수 있다.
컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 유/무선 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나 이상의 컴퓨터 상에서 실행되도록 구현될 수 있다.
한편, 컴퓨터 프로그램 명령어와 정보를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예를 들어 EPROM, EEPROM 및 플래시메모리 장치와 같은 반도체 메모리 장치, 예컨대 내부 하드디스크나 외장형 디스크와 같은 자기 디스크, 자기광학 디스크 및 CD와 DVD 디스크를 포함하여 모든 형태의 비휘발성 메모리, 매체 및 메모리 장 치를 포함할 수 있다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다.
본 명세서에서 기술한 기술적 특징을 실행하는 구현물은 예를 들어, 정보 서버와 같은 백엔드 컴포넌트를 포함하거나, 예를 들어, 애플리케이션 서버와 같은 미들웨어 컴포넌트를 포함하거나, 예컨대 사용자가 본 명세서에 서 설명한 주제의 구현물과 상호 작용할 수 있는 웹 브라우저나 그래픽 유저 인터페이스를 갖는 클라이언트 컴퓨터와 같은 프론트엔드 컴포넌트 혹은 그러한 백엔드, 미들웨어 혹은 프론트엔드 컴포넌트의 하나 이상의 모든 조합을 포함하는 연산 시스템에서 구현될 수도 있다. 시스템의 컴포넌트는 예를 들어, 통신 네트워크와 같은 디지털 정보 통신의 어떠한 형태나 매체에 의해서도 상호 접속 가능하다.
이하, 상기 기술한 내용과 더불어 본 명세서에 기술한 시스템과 방법이 포함하는 구성들을 구현할 수 있는 보다 구체적인 실시 예에 대하여 자세히 기술하도록 한다.
본 명세서에서 방법은 클라이언트 디바이스 또는 웹 기반의 스토리지 시스템과 관련된 서버 또는 서버에 포함된 하나 이상의 프로세서(Processor) 상에서 컴퓨터 소프트웨어, 프로그램 코드 또는 명령어를 실행하는 수단을 통해 부분적 또는 전체적으로 사용될 수 있다. 여기서 프로세서는 서버, 클라이언트, 네트워크 인프라 구조, 모바일 컴퓨팅 플랫폼, 고정 컴퓨팅 플랫폼 등과 같은 컴퓨팅 플랫폼 중 일부일 수 있으며, 구체적으로 프로그램 명령어, 코드 등을 실행할 수 있는 컴퓨터 또는 프로세싱 디바이스의 한 종류일 수 있다. 또한, 프로세서는 방법, 명령어, 코드 및 프로그램을 저장하는 메모리를 더 포함할 수 있으며, 메모리를 포함하지 않는 경우 별도의 인터페이스를 통해 제안된 발명에 따른 방법, 명령어, 코드 및 프로그램이 저장된 CD??ROM, DVD, 메모리, 하드 디 스크, 플래시 드라이브, RAM, ROM, 캐시 등과 같은 스토리지 디바이스에 접근(Access)할 수도 있다.
또한, 본 명세서에서 기술한 시스템과 방법은 서버, 클라이언트, 게이트웨이, 허브, 라우터 또는 네트워크 하드웨어 상의 컴퓨터 소프트웨어를 실행하는 장치를 통해 부분적 또는 전체적으로 사용될 수 있다. 여기서 소프트웨어는 파일 서버, 프린트 서버, 도메인 서버, 인터넷 서버, 인트라넷 서버, 호스트 서버, 분산 서버 등과같이 다양한 종류의 서버에서 실행될 수 있으며, 상기 언급한 서버들은 메모리, 프로세서, 컴퓨터에서 판독 가능한 저장매체, 스토리지 매체, 통신 디바이스, 포트, 클라이언트 그리고 다른 서버들을 유/무선 네트워크를 통해 접근할 수 있는 인터페이스를 더 포함할 수 있다.
또한, 제안된 발명에 따른 방법, 명령어, 코드 등 역시 서버에 의해 실행될 수 있으며, 방법을 실행하기 위해 필요한 다른 디바이스들은 서버와 연관된 계층구조의 일부분으로 구현될 수 있다.
아울러, 서버는 클라이언트, 다른 서버, 프린터, 정보베이스 서버, 프린트 서버, 파일 서버, 통신 서버, 분산 서버 등을 제한 없이 포함하는 다른 디바이스에게 인터페이스를 제공할 수 있으며, 인터페이스를 통한 연결은 유/무선 네트워크를 통해 프로그램의 원격 실행을 용이하게 할 수 있다.
또한, 인터페이스를 통해 서버에 연결된 디바이스 중 어느 것이라도 방법, 명령어, 코드 등을 저장할 수 있는 적어도 하나의 스토리지 디바이스를 더 포함할 수 있으며, 서버의 중앙 프로세서는 상이한 디바이스 상에서 실행될 명령어, 코드 등을 디바이스에 제공하여 스토리지 디바이스에 저장되게 할 수 있다.
한편, 본 명세서에서 방법은 네트워크 인프라구조를 통해 부분적 또는 전체적으로 사용될 수 있다. 여기서 네트워크 인프라구조는 컴퓨팅 디바이스, 서버, 라우터, 허브, 방화벽, 클라이언트, 개인용 컴퓨터, 통신 디바이스, 라우팅 디바이스 등과 같은 디바이스와 각각의 기능을 실행할 수 있는 별도의 모듈 등을 모두 포함할 수 있으며, 상기 언급한 디바이스와 모듈 외에 스토리 플래시 메모리, 버퍼, 스택, RAM, ROM 등과 같은 스토리지 매체를 더 포함할 수 있다. 또한, 방법, 명령어, 코드 등 역시 네트워크 인프라구조가 포함하는 디바이스, 모듈, 스토리지 매체 중 어느 하나에 의해 실행 및 저장될 수 있으며, 방법을 실행하기 위해 필요한 다른 디바이스 역시 네트워크 인프라구조의 일부분으로 구현될 수 있다.
또한, 본 명세서에서 기술한 시스템과 방법은 하드웨어 또는 특정 애플리케이션(Application)에 적합한 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 여기서 하드웨어는 개인용 컴퓨터, 이동통신 단말기 등과 같은 범용 컴퓨터 디바이스와 기업형 특정 컴퓨터 디바이스를 모두 포함하며, 컴퓨터 디바이스는 메모리, 마이크로프로 세서, 마이크로콘트롤러, 디지털 신호 프로세서, 애플리케이션 집적 회로, 프로그래머블 게이트 어레이, 프로그래머블 어레이 조직 등을 포함하는 디바이스 또는 이들의 조합으로 구현될 수 있다.
이상에서 기술한 컴퓨터 소프트웨어, 명령어, 코드 등은 판독 가능한 디바이스에 의해 저장 또는 접근될 수 있으며, 여기서 판독 가능한 디바이스는 일정 시간 간격 동안 컴퓨팅하는데 사용되는 디지털 정보를 구비하는 컴퓨터 컴포넌트, RAM 또는 ROM과 같은 반도체 스토리지, 광디스크와 같은 영구적인 스토리지, 하드 디스크, 테이프, 드럼 등과 같은 대용량 스토리지, CD 또는 DVD와 같은 광 스토리지, 플래시 메모리, 플로피 디스크, 자기 테이프, 페이퍼 테이프, 독립형 RAM 디스크, 컴퓨터로부터 착탈 가능한 대용량 스토리지와 동적 메모리, 정적 메모리, 가변 스토리지, 클라우드와 같은 네트워크 접속형 스토리지 등과 같은 메모리를 포함할 수 있다. 한편, 여기서 명령어와 코드 등은 SQL, dBase 등과 같은 정보 지향 언어, C, Objective C, C++, 어셈블리 등과 같은 시스템 언어, Java, NET 등과 같은 아키텍처 언어, PHP, Ruby, Perl, Python 등과 같은 애플리케이션 언어 등 과 같은 언어들을 모두 포함하지만, 이에 한정되지는 않고 제안된 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려진 언어들을 모두 포함할 수 있다.
또한, 본 명세서에서 기술한 "컴퓨터에서 판독 가능한 매체"는 프로그램 실행을 위해 명령어를 프로세서로 제공하는데 기여하는 모든 매체를 포함한다. 구체적으로 정보 스토리지 디바이스, 광디스크, 자기 디스크 등과 같은 비휘발성 매체, 동적 메모리 등과 같은 휘발성 매체와 정보를 전송하는 동축 케이블, 구리 와이어, 광섬유 등과 같은 전송 매체를 포함하지만 이에 한정되지는 않는다.
한편, 본 명세서에 첨부된 도면에 도시된 블록도와 순서도에 포함된 제안된 발명의 기술적 특징을 실행하는 구성들은 상기 구성들 사이의 논리적인 경계를 의미한다.
그러나 소프트웨어나 하드웨어의 실시 예에 따르면, 도시된 구성들과 그 기능들은 독립형 소프트웨어 모듈, 모놀리식 소프트웨어 구조, 코드, 서비스 및 이들을 조합한 형태로 실행되며, 저장된 프로그램 코드, 명령어 등을 실행할 수 있는 프로세서를 구비한 컴퓨터에서 실행 가능한 매체에 저장되어 그 기능들이 구현될 수 있으므로 이러한 모든 실시 예 역시 제안된 발명의 권리범위 내에 속하는 것으로 보아야 할 것이다.
따라서, 첨부된 도면과 그에 대한 기술은 제안된 발명의 기술적 특징을 설명하기는 하나, 이러한 기술적 특징을 구현하기 위한 소프트웨어의 특정 배열이 분명하게 언급되지 않는 한, 단순히 추론되어서는 안된다. 즉, 이상에서 기술한 다양한 실시 예들이 존재할 수 있으며, 그러한 실시 예들이 제안된 발명과 동일한 기술적 특징을 보유하면서 일부 변형될 수 있으므로, 이 역시 제안된 발명의 권리범위 내에 속하는 것으로 보아야 할 것이다.
또한, 순서도의 경우 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 가장 바람직한 결과를 얻기 위하 여 도시된 것으로서, 도시된 특정한 순서나 순차적인 순서대로 그러한 동작들을 반드시 실행되어야 한다거나 모든 도시된 동작들이 반드시 실행되어야 하는 것으로 이해되어서는 안된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 아울러, 이상에서 기술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.
이와 같이, 본 명세서는 그 제시된 구체적인 용어에 의해 제안된 발명을 제한하려는 의도가 아니다. 따라서, 이 상에서 기술한 실시 예를 참조하여 제안된 발명을 상세하게 설명하였지만, 제안된 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 제안된 발명의 범위를 벗어나지 않으면서도 본 실시 예들에 대한 개조, 변경 및 변형을 가할 수 있다.
제안된 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 제안된 발명의 권리범위에 포함되는 것으로 해석되어야 한다.
10: 로봇
11: 전원 단자
12: 태양 전지
13: 감지부
14: 냉각팬
20: 이동통신 모듈
30: 비행 모듈
40: 에어튜브모듈
50: 분사 모듈
51: 퇴채액 수용부
52: 접속 단자
53: 분사 노즐
100: 코딩 교육 장치
110: 단위 블록 제공부
111: 음악 블록
112: 동작 블록
113: 조건 블록
114: 자음 블록, 모음 블록
115: 언어 블록
130: 버튼
120: 블록 배치부
130: 코드 실행부
140: 음악 저장부
150: 악기 정보 제공부
200: 로봇
210: 경로 생성부
220: 객체 인식부
230: 조건 충족 판단부
240: 표시부
250: 카메라
251: 전원 단자
252: 태양 전지
253: 냉각팬
254: 퇴치액 분사부
260: 감지부
270: 제어부
280: 전원 관리부
290: 온도 관리부
291: 완충부
300: 코딩 교육 서버
310: 순위 결정부
320: 블록 전송부
601: 중심점

Claims (6)

  1. 로봇이 출력하는 단위 소절 비트 출력 명령 코드를 입력하는 음악 블록 및 로봇의 동작 명령 코드를 입력하는 동작 블록을 포함하는 단위 블록을 제공하는 단위 블록 제공부; 하나의 음악 블록 및 하나의 동작 블록을 세트로, 하나 이상의 세트를 배치하는 블록 배치부; 및 배치된 세트가 포함하는 하나의 음악 블록 및 하나의 동작 블록의 명령 코드를 실행하되, 세트가 복수개인 경우 순차적으로 각각의 세트가 포함하는 하나의 음악 블록 및 하나의 동작 블록의 명령 코드를 실행하여, 로봇 제어 신호를 생성하고, 상기 로봇 제어 신호를 로봇으로 전송하는 코드 실행부;를 포함하는 코딩 교육 장치.
  2. 제 1 항에 있어서,
    상기 로봇 제어 신호에 따라 제어되는 로봇이 출력하는 음악을 저장하는 음악 저장부:를 더 포함하는 코딩 교육 장치.
  3. 제 1 항에 있어서,
    상기 코드 실행부는 동작 블록의 명령 코드에 따라 특정 동작을 수행하도록 로봇 제어 신호를 생성하되, 음악 블록의 명령 코드에 따른 비트 수에 기초하여 상기 특정 동작을 반복 수행하도록 로봇 제어 신호를 생성하고, 상기 특정 동작의 빠르기를 음악 블록의 명령 코드에 따른 비트의 빠르기에 비례하도록 로봇 제어 신호를 생성 하는 코딩 교육 장치.
  4. 제 1 항에 있어서,
    음악 블록의 명령 코드에 따라 로봇이 출력하는 단위 소절 비트를 연주할 악기 정보를 제공하는 악기 정보 제공부;를 더 포함하는 코딩 교육 장치.
  5. 제 1 항에 있어서,
    상기 단위 블록 제공부는 로봇이 출력하는 음성 출력 명령 코드를 입력하는 자음 블록 및 모음 블록을 더 포함하는 단위 블록을 제공하고, 블록 배치부는 하나의 음악 블록, 하나의 동작 블록, 하나 이상의 자음 블록 및 하나 이상의 모음 블록을 세트로, 하나 이상의 세트를 배치하며, 상기 코드 실행부는 배치된 세트가 포함하는 하나의 음악 블록, 하나의 동작 블록, 하나 이상의 자음 블록 및 하나 이상의 모음 블록의 명령 코드를 실행하되, 세트가 복수개인 경우 순차적으로 각각의 세트가 포함하는 하나의 음악 블록, 하나의 동작 블록, 하나 이상의 자음 블록 및 하나 이상의 모음 블록의 명령 코드를 실행하여, 로봇 제어 신호를 생성하고, 상기 로봇 제어 신호를 로봇으로 전송하는 코딩 교육 장치
  6. 제 1 항에 있어서,
    상기 단위 블록 제공부는 로봇이 출력하는 음성 출력 명령 코드를 입력하는 언어 블록을 더 포함하는 단위 블록을 제공하고, 블록 배치부는 하나의 음악 블록, 하나의 동작 블록, 하나 이상의 언어 블록을 세트로, 하나 이상의 세트를 배치하며, 상기 코드 실행부는 배치된 세트가 포함하는 하나의 음악 블록, 하나의 동작 블록, 하나 이상의 언어 블록의 명령 코드를 실행하되, 세트가 복수개인 경우 순차적으로 각각의 세트가 포함하는 하나의 음악 블록, 하나의 동작 블록, 하나 이상의 언어 블록의 명령 코드를 실행하여, 로봇 제어 신호를 생성하고, 상기 로봇 제어 신호를 로봇으로 전송하는 코딩 교육 장치
KR1020200145583A 2020-11-03 2020-11-03 하드웨어 장치와 연계한 코딩교육 시스템 KR20220059863A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200145583A KR20220059863A (ko) 2020-11-03 2020-11-03 하드웨어 장치와 연계한 코딩교육 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200145583A KR20220059863A (ko) 2020-11-03 2020-11-03 하드웨어 장치와 연계한 코딩교육 시스템

Publications (1)

Publication Number Publication Date
KR20220059863A true KR20220059863A (ko) 2022-05-10

Family

ID=81592139

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200145583A KR20220059863A (ko) 2020-11-03 2020-11-03 하드웨어 장치와 연계한 코딩교육 시스템

Country Status (1)

Country Link
KR (1) KR20220059863A (ko)

Similar Documents

Publication Publication Date Title
US20240193994A1 (en) Monitoring and analyzing body language with machine learning, using artificial intelligence systems for improving interaction between humans, and humans and robots
Zhang et al. Intelligent facial emotion recognition and semantic-based topic detection for a humanoid robot
KR20180094461A (ko) 코딩 교육 장치 및 시스템
CN110291478A (zh) 驾驶员监视和响应系统
Cancar et al. Tactile-sight: A sensory substitution device based on distance-related vibrotactile flow
Rahman et al. The architectural design of smart blind assistant using IoT with deep learning paradigm
Paudyal et al. Dyfav: Dynamic feature selection and voting for real-time recognition of fingerspelled alphabet using wearables
Sosa-García et al. “Hands on” visual recognition for visually impaired users
Paudyal et al. A comparison of techniques for sign language alphabet recognition using armband wearables
Russo et al. PARLOMA–a novel human-robot interaction system for deaf-blind remote communication
Camgöz et al. Sign language recognition for assisting the deaf in hospitals
Ganesan et al. Deep learning reader for visually impaired
Iakovidis et al. Digital enhancement of cultural experience and accessibility for the visually impaired
Rao et al. A Google glass based real-time scene analysis for the visually impaired
Pogorelc et al. Detecting gait-related health problems of the elderly using multidimensional dynamic time warping approach with semantic attributes
Alzubaidi et al. A novel assistive glove to convert arabic sign language into speech
Sivakumar et al. Virtual vision architecture for VIP in ubiquitous computing
KR20190096752A (ko) 컨텐츠에 대한 텍스트 코멘트를 생성하는 방법 및 전자 장치
Ponzi et al. Psychoeducative social robots for an healthier lifestyle using artificial intelligence: a case-study
Bhat et al. Vision sensory substitution to aid the blind in reading and object recognition
Levy et al. ActiveIris: uma solução para comunicação alternativa e autonomia de pessoas com deficiência motora severa
KR20220059863A (ko) 하드웨어 장치와 연계한 코딩교육 시스템
Madake et al. Perceptguide: A perception driven assistive mobility aid based on self-attention and multi-scale feature fusion
Brandão et al. Controlling devices using biological signals
Mangla et al. An Artificial Intelligence and Computer Vision Based EyeWriter