KR102491390B1 - 코딩 블록 인식 시스템 - Google Patents

코딩 블록 인식 시스템 Download PDF

Info

Publication number
KR102491390B1
KR102491390B1 KR1020200189010A KR20200189010A KR102491390B1 KR 102491390 B1 KR102491390 B1 KR 102491390B1 KR 1020200189010 A KR1020200189010 A KR 1020200189010A KR 20200189010 A KR20200189010 A KR 20200189010A KR 102491390 B1 KR102491390 B1 KR 102491390B1
Authority
KR
South Korea
Prior art keywords
block
command
coding
commands
blocks
Prior art date
Application number
KR1020200189010A
Other languages
English (en)
Other versions
KR20220096513A (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 KR1020200189010A priority Critical patent/KR102491390B1/ko
Priority to US17/567,095 priority patent/US20220230557A1/en
Publication of KR20220096513A publication Critical patent/KR20220096513A/ko
Application granted granted Critical
Publication of KR102491390B1 publication Critical patent/KR102491390B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/225Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on a marking or identifier characterising the area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/235Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on user input or interaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B1/00Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways
    • G09B1/32Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways comprising elements to be used without a special support
    • 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
    • G09B5/00Electrically-operated educational appliances
    • G09B5/02Electrically-operated educational appliances with visual presentation of the material to be studied, e.g. using film strip

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Hardware Design (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)

Abstract

본 발명은 코딩 블록 인식 시스템에 관한 것으로, 보다 상세하게는 학습자들이 직접 손으로 조작할 수 있는 텐저블 블록형태로 제작된 코딩퍼즐 입력용 명령어들의 배치를 증강현실 환경에서 제한 시간 안에 안정적으로 다수의 블록을 인식할 수 있는 코딩 블록 인식 시스템에 관한 것이다.

Description

코딩 블록 인식 시스템{RECOGNIZING CODING EDUCATION BLOCK SYSTEM}
본 발명은 코딩 블록 인식 시스템에 관한 것으로, 보다 상세하게는 학습자들이 직접 손으로 조작할 수 있는 텐저블 블록형태로 제작된 코딩퍼즐 입력용 명령어들의 배치를 증강현실 환경에서 제한 시간 안에 안정적으로 다수의 블록을 인식할 수 있는 코딩 블록 인식 시스템에 관한 것이다.
4차 산업혁명 시대에 코딩 교육의 중요성이 강조되고 있으며, 유치원생들과 및 초등학교 3학년 이하의 저연령의 학생들에게 컴퓨팅적 사고 발달을 유도할 수 있고, 가정에서 게임을 하듯이 코딩 학습이 가능한 학습 교구가 필요하다.
이와 관련된 선행기술로서 대한민국 등록특허 10-1843831가 존재하는데, 상기 등록특허에 따른 쪼물락 코딩 블록은, 고유아이디를 내장하고, 적어도 하나의 커넥터를 구비하며, 실제 코드의 생성 역할을 하는 적어도 하나의 리얼코딩블록; 고유아이디를 내장하고 상기 리얼 코딩 블록과 접속되며, 숫자값을 입력하기 위한 적어도 하나의 넘버링 블록; 고유 아이디를 내장하고, 상기 리얼 코딩 블록과 접속되며, 변수값을 입력하기 위한 적어도 하나의 변수 블록; 상기 리얼코딩블록과 접속되어 상기 리얼코딩블록에서 수신되는 아이디에 대응되는 코드를 순차적으로 실행하는 메인 블록을 포함한다. 실시예에서는 실제 코딩문(제어문, 변수, 이벤트, 디버깅 등)과 유사한 구조의 블록을 제공할 수 있고, 이로부터 흥미 유발과 코딩 개념의 학습뿐만 아니라 실제 코딩문과의 연계를 강화할 수 있다.
그러나 상기 메인 블록을 인식시키는 인식 시스템 내지는 인식 알고리즘에 대해서는 상세하게 개시하고 있지 않아 탠저블 블록형태로 제작된 코딩퍼즐 입력용 명령어들의 배치를 증강현실 환경에서 제한 시간 안에 안정적으로 인식시킬 수 있는 코딩 블록 인식 시스템에 대한 기술이 절실한 실정이다.
본 발명은 상기 문제점을 해결하기 위해 안출된 것으로, Open CV에서 제공하는 좌표들이 블록의 배치 순서대로 제공하지 않으므로, 순서 정보에 따라 명령 대상에 명령할 수 블록인식알고리즘을 제공함으로써, 저연령 학습자들에게 진보된 코딩 교육을 제공할 수 있는 코딩 블록 인식 시스템의 제공을 목적으로 한다.
또한 블록에 부착된 마커를 통하여 인식 성공률이 높임으로써 코딩 교구로 활용 가능한 코딩 퍼즐 등을 원활하게 진행시킬 수 있는 코딩 블록 인식 시스템의 제공을 목적으로 한다.
또한 예정된 교과 과정 등을 수료한 학습자에게 보상을 제공함으로써 저연령 학습자에게 코딩 학습에 대한 흥미를 줄 수 있는 코딩 퍼즐을 위한 코딩 블록 인식 시스템의 제공을 목적으로 한다.
상기 과제의 해결을 목적으로 하는 본 발명에 따른 코딩 블록 인식 시스템은, 복수의 명령어가 저장된 명령 블록, 그리고 상기 명령 블록을 인식하고 증강시키는 블록 인식부를 포함하되, 상기 블록 인식부는 상기 명령 블록이 배치되는 순서 정보를 획득하는 블록인식알고리즘을 포함하고, 상기 복수의 명령어는 상기 순서 정보에 따라 명령 대상에 명령된다.
또한 상기 블록인식알고리즘은, 상기 명령 블록의 이미지를 획득하는 이미지 획득 단계, 그리고 상기 획득 단계로부터 획득한 상기 이미지를 저장하는 저장 단계, 그리고 저장된 상기 이미지의 2차원 정보를 추출하는 2차원 정보 추출 단계, 그리고 기준 좌표를 설정하고 상기 기준 좌표를 바탕으로 상기 2차원 정보에 좌표를 설정하는 좌표 설정 단계, 그리고 설정된 상기 좌표에 따라 상기 순서 정보를 획득하는 순서 정보 획득 단계, 그리고 상기 순서 정보에 따라 상기 명령 블록을 증강현실 상에 배치시키는 배치 단계를 포함한다.
또한 상기 블록인식알고리즘은 배치되지 못한 미배치 블록이 존재하는 경우에는 상기 배치 단계 이후에 상기 미배치 블록을 배정하는 배정 단계를 더 포함한다.
또한 상기 배정 단계는, 상기 텐져블 블록의 평균 높이를 계산하는 평균 높이 계산 과정 및 상기 미배치 블록 중에서 상기 평균 높이보다 작은 높이를 갖는 미달 블록들을 정렬시키는 정렬 과정을 포함한다.
또한 상기 명령 블록은 상면에 openCV 기반의 마커를 구비하되, 상기 블록 인식부는 상기 마커의 코너를 인식하는 코너 인식 모듈을 포함한다.
또한 예정된 교과 과정을 수료한 학습자에게 보상을 제공하는 보상제공부를 더 포함하되, 상기 보상제공부는 학습자가 선택 불가능한 캐릭터들의 로킹을 해제하는 로킹 해제 모듈을 포함한다.
상기 구성 및 특징을 갖는 본 발명은, Open CV에서 제공하는 좌표들이 블록의 배치 순서대로 제공하지 않으므로, 순서 정보에 따라 명령 대상에 명령할 수 블록인식알고리즘을 제공함으로써, 저연령 학습자들에게 진보된 코딩 교육을 제공할 수 있다는 장점을 갖는다.
또한 블록에 부착된 마커를 통하여 인식 성공률이 높임으로써 코딩 교구로 활용 가능한 코딩 퍼즐 등을 원활하게 진행시킬 수 있다는 장점을 갖는다.
또한 예정된 교과 과정 등을 수료한 학습자에게 보상을 제공함으로써 저연령 학습자에게 코딩 학습에 대한 흥미를 줄 수 있다는 장점을 갖는다.
도 1은 블록인식알고리즘을 나타낸 플로우차트.
도 2는 명령어 보드 및 명령어 칩을 나타낸 도면.
도 3은 마커를 인식하는 과정을 나타낸 도면.
도 4는 타일보드를 나타낸 도면.
도 5는 픽토그램화된 마커를 나타낸 도면.
도 6은 소프트웨어스택의 구조를 나타낸 블록도.
도 7은 VR 연동 도서를 나타낸 도면.
도 8은 VR 연동 유저 인터페이스에 배치되는 배경화면을 나타낸 도면.
도 9는 VR 연동 퍼즐게임을 나타낸 도면.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 구현예(態樣, aspect)(또는 실시예)들을 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 구현예(태양, 態樣, aspect)(또는 실시예)를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, ~포함하다~ 또는 ~이루어진다~ 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 명세서에서 기재한 ~제1~, ~제2~ 등은 서로 다른 구성 요소들임을 구분하기 위해서 지칭할 것일 뿐, 제조된 순서에 구애받지 않는 것이며, 발명의 상세한 설명과 청구범위에서 그 명칭이 일치하지 않을 수 있다.
본 발명은 코딩 블록 인식 시스템에 관한 것으로, 보다 상세하게는 학습자들이 직접 손으로 조작할 수 있는 텐저블 블록형태로 제작된 코딩퍼즐 입력용 명령어들의 배치를 증강현실 환경에서 제한 시간 안에 안정적으로 다수의 블록을 인식할 수 있는 코딩 블록 인식 시스템에 관한 것이다.
먼저 본 발명에 따른 코딩 블록 인식 시스템은, 복수의 명령어가 저장된 명령 블록을 포함하는데, 상기 명령 블록은 상면에 OpenCV 기반의 마커를 구비하고 있다. 이러한 명령 블록에 대한 일 실시예로 텐져블 블록을 들 수 있겠다.
그리고 이러한 마커를 사용하면 객체의 인식과 추적을 위한 정보를 비교적 쉽게 획득할 수 있다. 마커는 내부에 이진 패턴이나 모양을 가지고 있고, 3차원 좌표를 알고 있는 코너(corner)를 가지고 있기 때문에 간단한 영상처리로 쉽게 객체를 인식할 수 있다는 장점을 갖는다.
그리고 탠저블 블록은 3D 프린터로 출력된 정사각형 플라스틱 모형으로 구성되고, 그 상면에 스티커 형태로 부착 가능한 ArUco 마커들이 부착된다. 상기 마커는 전술한 명령어를 포함하고 있다.
그리고 도 2에 도시된 바와 같이, 여기서 명령어는 직진 명령, 우회전 명령, 좌회전 명령, 점프 명령, 액션 명령 다섯 가지로 구성될 수 있는데, 직진 명령은 로봇의 현재 시점을 기준으로 타일위에서 한 칸 앞으로 이동하는 것이다. 그리고 두 개의 회전 명령은 좌측, 우측으로 회전하는 명령을 말한다. 그리고 액션 명령은 로봇이 바라보고 있는 방향의 전방 타일이 오염 타일이거나 현재 위치하고 있는 타일이 워프 타일일 경우에 오염 타일을 정화시키거나 워프 타일을 이용하여 미션을 클리어 내지는 순간 이동을 시킬 수 있게 된다. 아울러 주어진 미션 클리어 시에 이를 알려주는 기능으로 비프음 소리를 추가하여 들리게 구성시킬 수도 있다. 그리고 점프 명령은 로봇을 점프시키는 명령을 말하는 것이다.
그리고 이외에도 그룹 명령도 존재하는데 명령어를 입력시키는 명령어 보드 하단에 배치한 명령어를 그룹 명령어의 개수만큼 실행할 수 있는 것이다.
여기서 명령어 보드는, 명령어 보드 상단과 하단으로 구성되는데, 명령어 보드 상단과 하단은 명령어 보드 중앙 측에 위치한 경계를 기준으로 나뉘는 것이다. 아울러, 전술한 바와 같이, 명령어 보드 하단에는 그룹 명령으로 사용될 명령어를 입력하는 공간에 해당한다.
그리고 상기 명령어는 상기한 명령 이외에도, 자주 사용되는 명령어는 함수 형태로 저장시켜 꺼내 쓸 수 있는 함수 명령도 포함시킬 수 있다.
그리고 이러한 명령어는 컨트롤부에서 사용자가 명령어 입력 큐에 명령어를 입력하게 되면 명령이 로봇에 하달될 수 있게 된다.
그리고 상기한 로봇은 안정적인 움직임을 제공하는 아두이노 기반으로 구성되어, 상기한 명령어 집합은 주어진 미션 등을 클리어하기 위해 복수의 명령어를 명령어 큐를 담아 놓아 이를 순차적으로 아두이노 기기의 통신부와 통신하여 전송해 상기 로봇을 제어하게 된다. 그리하여 명령어 스케줄러는 입력된 명령어 큐에서 하나씩 명령어를 꺼내 로봇에게 송신부를 구비한 무선 통신부를 통해 명령어를 전달하여 각 종 명령어에 따른 동작을 수행을 지시하고 명령어 수행이 완료되면 명령어 큐에 명시된 다음 명령어들을 순차적으로 가져와 큐에 있는 모든 명령어들을 소진 시키는 역할을 담당한다.
그리고 본 발명에 따라 블록을 인식하여 수행되는 퍼즐 게임 등은 코딩교육용 모바일앱 상에서 구현될 수 있으며, 아울러 Unity3D 게임플랫폼을 기반으로 하고 있다.
그리고 명령어 스케줄러와 로봇은 무선망을 통해 클라이언트/서버 방식으로 동작하며 명령어 스케줄러는 클라이언트 역할을 수행한다. 실제 하나의 명령어 수행을 위해 아두이노 기기가 복수개의 센서를 제어하기 때문에 이것을 조율하기 위해 무선 통신부를 통한 클라이언트/서버 모델로 실시되는 것이다.
본 발명에서는 다양한 통신 방법 중에서 적은 소비 전력으로 제한된 실내 공간에서 활용이 용이한 블루투스를 채택하였다. 대표적인 모바일환경(iOS와 안드로이드)에 모두 대응할 수 있도록 블루투스 4.0이상 버전이 사용될 수 있다.
아울러 서버역할을 수행하는 아두이노 블루투스 수신부 모듈은 시리얼 연결 방식으로 명령어들을 전송받으며, 그리고 동기 방식으로 명령어를 하나씩 수행하고 수행 결과를 송신부에 반환하는 방식으로 구현된다.
그리고 서버역할을 수행하는 아두이노 블루투스 수신부 모듈은 시리얼 연결 방식으로 명령어들을 전송받으며, 동기 방식으로 명령어를 하나씩 수행하고 수행 결과를 송신부에 반환하는 방식으로 구현되어 있다.
그 다음으로, 상기 블록 인식부는 상기 텐져블 블록을 증강현실 상에 증강시킬 수 있도록 상기 텐져블 블록을 인식하는 구성으로, 구체적인 실시예로는 Open CV를 활용한 인식 시스템을 들 수 있겠다. 그러나 상기 Open CV에서는 상기 텐져블 블록의 입력 순서까지는 인식을 시키지 못하기 때문에 본 발명에서는 독자적인 블록인식알고리즘을 통하여, 상기 텐져블 블록의 순서 정보를 획득할 수 있게 되는 것이다.
그리고 여기서 Open CV를 활용한 인식 시스템은 Template Matching 및 Image Recognition 기법을 활용하여 마커를 인식하는 방법을 사용한 시스템을 말한다.
즉, 상기 블록인식알고리즘은 상기 텐져블 블록의 순서 정보를 획득하기 위한 알고리즘이며, 더욱 구체적으로는 상기 텐져블 블록 상면에 부착된 마커가 포함하는 명령어들의 순서 정보를 획득함으로써 명령어들이 입력된 순서대로 로봇에게 명령을 하달할 수 있게 되는 것이다.
그리고 상기한 명령어는 전술한 바와 같은 명령어들을 의미하며, 통신 방법 또한 전술한 바와 같이 수행될 수 있다.
상기 블록인식알고리즘은, 도 1에 도시된 바와 같이, 상기 텐져블 블록의 이미지를 획득하는 이미지 획득 단계, 그리고 상기 획득 단계로부터 획득한 상기 이미지를 저장하는 저장 단계, 그리고 저장된 상기 이미지의 2차원 정보를 추출하는 2차원 정보 추출 단계, 그리고 기준 좌표를 설정하고 상기 기준 좌표를 바탕으로 상기 2차원 정보에 좌표를 설정하는 좌표 설정 단계, 그리고 설정된 상기 좌표에 따라 상기 순서 정보를 획득하는 순서 정보 획득 단계, 그리고 상기 순서 정보에 따라 상기 텐져블 블록을 증강현실 상에 배치시키는 배치 단계를 포함한다.
여기서 특징적인 점은 2차원 정보를 추출하기 위해서 상기 마커에 저장되어 있는 3차원 정보를 매핑하여 수행한다는 것이다. 이 또한 상기한 Open CV를 활용하여 수행될 수 있겠다. 그리고 기준 좌표를 설정한다는 의미는 모바일 기기의 경우, 가로화면(landscape), 세로화면(portrait), 가로반전화면(landscape(flipped)), 세로반전화면(portrait(flipped))과 같이 4개의 상이한 방향 내지는 기준(orientation)이 존재하기 때문에 방향 내지는 기준 (orientation)별로 상이한 좌표 값이 나타난다. 따라서 동일한 알고리즘이 적용될 수 있도록 가로화면(landscape)을 기준으로 DirectX에서 차용한 좌상귀(좌측 상부 귀퉁이)를 스크린 원점(0,0)으로 하는 2차원 좌표계로 변환하는 것을 의미한다.
상기 블록인식알고리즘은 배치되지 못한 미배치 블록이 존재하는 경우에는 상기 배치 단계 이후에 상기 미배치 블록을 배정하는 배정 단계를 더 포함한다. 여기서 상기 배정 단계는, 상기 텐져블 블록의 평균 높이를 계산하는 평균 높이 계산 과정 및 상기 미배치 블록 중에서 상기 평균 높이보다 작은 높이를 갖는 미달 블록들을 정렬시키는 정렬 과정을 포함한다.
그리하여 미달 블록들을 모두 x값 오름차순으로 정렬한 결과를 결과 리스트에 저장하여 남아 있는 마커들이 없을 때까지 이 과정을 반복함으로써 모든 마커의 배치를 완료하게 되는 것이다.
그리고 블록 인식 소프트웨어는 Unity 환경에서 Open CV for Unity 라이브러리에서 개발된 인식테스트 프로그램에 해당한다. 도 3에서는 측정 전에 테스트하려는 텐져블 블록들을 인식 카메라의 수직 방향으로 배치하고 인식 중 현재 인식된 명령어들을 확인한 후 그 결과를 화면에 배치 순서대로 인식한 마커를 아이콘 형태로 표현한 결과를 보여준다.
그 다음으로, 상기 로봇이 이동하는 공간에 해당하는 타일보드에 대해 살펴보면, 상기 타일보드는 도 4에 도시된 바와 같이, 상기 타일보드는 아무런 기능 없이 로봇이 지나갈 수 있는 기본 타일에 해당하는 일반 타일, 높이가 존재하여 점프 명령으로 이동이 가능한 장애물 타일, 오염되어 밟을 수 없는 타일로서 이를 지나가기 위해서는 상기 로봇이 오염된 타일을 정면으로 바라본 상태에서 액션 명령을 사용하여 일반 타일로 정화시켜야 이동이 가능한 오염 타일 및 액션 명령 사용 시 게임을 종료시키거나 순간 이동이 가능한 워프 타일을 포함한다.
그 다음으로, 상기 명령어와 3차원 위치가 입력되어 있는 마커를 포함하는 텐져블 블록에 대해 살펴보기로 한다.
상기 텐져블 블록은 실제로 학습자가 상기 텐져블 블록을 배치시켰을 때, 블록 인식부의 인식을 통해 증강현실 상에 객체들(텐져블 블록들)이 증강되고, 이에 대한 정보들을 로봇에 전달하여 명령어의 내용과 입력 순대로 로봇이 제어될 수 있게 되는 것이다. 그리고 상기 텐져블 블록에 대해 도 11을 참조할 수 있다.
그리고 도 5에 도시된 바와 같이, 상기 텐져블 블록은 명도가 높은 흰색 배경과 명도가 낮은 픽토그램의 색상 바리에이션으로 구성되어 있어 명도를 통한 패턴 인식을 강화시켜 인식률이 높다는 장점을 갖는다.
따라서 비교적 저연령의 학습자들을 대상으로 한 로봇을 활용한 코딩 교구로서 사용될 수 있는 것이다. 그리고 본 발명에 따른 로봇 제어 시스템은 로봇을 정확하게 제어시킴으로써 코딩 교육 교구로서 매우 적극적으로 활용될 수 있는 장점이 존재한다.
그 다음으로, 상기한 블록 인식 시스템을 이용하여 VR연동을 위해서는 개발 플랫폼마다 별도의 연동용 소프트웨어스택이 요구되는데, 본 발명에서는 구글 VR 연동 앱 구현을 위한 VR 소프트웨어스택, Vuforia 연동 앱 구현을 위한 VR 소프트웨어스택, Open CV 연동 앱 구현을 위한 VR 소프트웨어스택이 포함된다.
그리고 도 6에 도시된 바와 같이, AR/VR 기기들을 활용할 수 있는 형태로 구성되어 Unity 엔진에서 사용할 수 있는 Prefab 형태로 구축된다. 그리고 이러한 소프트웨어스택에는 SDK 라이브러리가 플러그인 되어 있다.
그리고 VR용 애플리케이션의 UI는 전통적인 물리 입력장치(마우스, 키보드)없이 사용 가능한 UI(User Interface) 설계가 필요하며, 이 때 사용자 시선 이동을 위해 자이로스코프를 이용한 헤드 트랙킹(head tracking) 기술을 채용할 수 있다.
그리고 이러한 UI는 사용자가 보고 있는 시선 정중앙 방향에 대한 기준점을 그래도 표시하는 것이 아닌, 상기 기준점에서 제일 가까운 객체를 판별하고 화면에 해당 객체를 하이라이트 시키도록 구성된다.
그리고 VR 소프트웨어스택을 통하여 AR 기반 과제 수행 게임 시스템을 구현할 수 있고, 또한 AR 코딩학습 도서로 활용할 수 있다.
도 7은 상기한 AR 코딩학습 도서의 모바일 애플리케이션 GUI를 도시한 도면이다.
그리고 도 8은 저연령의 학생들이 좋아할 수 있는 상기 애플리케이션의 바탕화면을 도시한 도면이다.
그리고 추가적으로 보상 제공부가 더 포함될 수 있는데, 이러한 보상 제공부는 예정된 교과과정 진도, 미션 클리어 등을 수행한 학습자에게 보상을 제공하는 기능부에 해당한다.
그리고 상기 보상제공부는 학습자가 선택 불가능한 캐릭터들의 로킹을 해제하는 로킹 해제 모듈을 포함한다.
이는 일정 수준의 교과과정을 이수한 학습자는 이수정보를 바탕으로 언락(unlocked)된 캐릭터 정보를 획득하며 이것을 선택함으로써 게임 내에서 새로운 캐릭터를 사용할 수 있다. 첫 사용자는 언락 여부에 관계없이 최소 하나의 사용가능한 캐릭터를 제공한다.
그리고 언락 조건은 일반 학습자 및 선생님과 같이 정상적으로 등록한 사용자로 한정하며, 특정 스테이지를 종료할 때, 이와 연계된 캐릭터를 언락하는 방식이 활용된다. 특정 스테이지를 종료할 때, 연계된 캐릭터를 언락한다.
그리고 여기서 게임이란 도 9에 도시된 바와 같이, 퍼즐 과제명과 같이, 학습자가 증강현실 상에 텐져블 블록을 배치시켜 코딩의 기본적인 내용을 습득할 수 있게 만드는 퍼즐 게임을 말하는 것이다.
한편, 이하에서는 코딩 교육에 대한 집단 교육이 활발하게 수행되고 있음에 따라 학습 내용에 대한 평가 결과 정보를 평가대상학습자에게만 통지할 수 있으면서도 평가 결과에 따른 평가 점수에 대해 직관적으로 확인할 수 있는 평과 결과부 접속 인터페이스(이하 접속 암호 생성부 또는 접속 암호 입력부)에 대해 설명하고자 한다.
이는 의도치 않은 접촉에 의한 반의사적인 인증을 방지하여 평가 결과부로 임의로 접속되는 것을 방지할 수 있게 된다. 그리고 특히 본 발명이 저연령을 대상으로 한 코딩 교육에 대한 평가라는 점에서 비추어봤을 때, 인증 경로(P1)의 형상이 평가대상학습자의 지문 형상으로 구성됨으로써, 저연령의 학습자들이 인증 수단으로서의 지문이 갖는 중요성을 인지할 수 있다는 점에서도 장점이 크다.
먼저 코딩 교육 학습자의 평과 결과에 대한 정보를 포함하는 평가 결과부를 더 포함하고, 상기 평가 결과부는 상기 평가 결과부에 접속을 위한 접속 암호(I)를 생성하는 접속 암호 생성부를 포함한다.
여기서 접속 암호 생성부에서 생성되는 접속 암호(I)는 서버 측에서 관리할 수 있으며, 생성된 접속 암호(I)는 각 클라이언트부마다 달라 서버 측에서 각 클라이언트부별로 개별적으로 상기 접속 암호(I)를 송신하게 된다. 즉, 상기 접속 암호(I)는 상기 평가대상학습자의 클라이언트부에 개별적으로 전송되어, 접속 암호를 입력하는 접속 암호 입력부(D)에서 접속 암호(I)를 풀어 평가 결과부에 접속시킬 수 있게 된다.
그리고 이와 같이, 개별적으로 송신하는 이유는 학습자들 서로가 서로의 점수를 알 수 없도록 하기 위함이다. 그리고 도 12에 도시된 것은 접속 암호 입력부(D) 상에 나타난 접속 암호(I)에 대한 것이다.
그리고 상기 접속 암호(I)는 타 학습자의 최저 점수를 시점(P11)으로 상기 타 학습자의 최고 점수를 종점(P12)으로 구성되되 평가대상학습자의 지문 형상을 갖는 인증 경로(P1) 및, 상기 인증 경로(P1)의 어느 한 지점에 형성되는 인증 포인트(P2)를 포함한다.
여기서 상기 지문 형상은 각 학습자의 지문 형상을 말하는 것인데, 타 학습자와 평가결과대상자의 지문 형상은 상이하므로, 결과적으로는 타 학습자의 인증 경로(P1)와 평가결과대상자의 인증 경로(P1) 또한 상이하게 형성된다.
그리고 상기 인증 경로(P1)의 총 길이는 어느 한 학습자의 최고 점수에서 어느 한 학습자의 최저 점수를 뺀 만큼의 길이를 갖는다. 예컨대, 최고 점수와 최저 점수의 차이가 많이 나는 경우에는 상기 인증 경로(P1)의 총 길이는 늘어나게 되는 것이다.
그리고 인증 경로(P1)가 타 학습자의 최저 점수를 시점(P11)으로, 상기 타 학습자의 최고 점수를 종점(P12)으로 구성된다는 것은, 도 12에 도시된 바와 같이, 드래그가 시작되는 시점(P11)이 타 학습자의 최저 점수에 해당하는 지점에서 형성되고, 드래그가 끝나는 종점(P12)이 타 학습자의 최고 점수에 해당하는 지점에서 형성된다는 것을 말한다.
그리고 상기 어느 한 지점은 상기 평가대상학습자의 현재 점수가 상기 최저 점수에 가까운 경우에는 상기 시점(P11)에 가까운 곳에 형성되고, 상기 평가대상학습자의 상기 현재 점수가 상기 최고 점수에 가까운 경우에는 상기 종점(P12)에 가까운 곳에 형성된다.
즉, 상기 인증 포인트(P2)가 형성되는 상기 어느 한 지점은, 상기 최고 점수와 상기 최저 점수의 차이에 대한 상기 현재 점수와 상기 최저 점수의 비에 상기 인증 경로(P1)의 총 길이를 곱한 만큼의 길이가 상기 시점(P11)으로부터 떨어진 곳을 말한다.
예컨대 타 학습자의 최고 점수가 80점, 타 학습자의 최저 점수가 20점, 평가대상학습자의 현재 점수가 30점에 해당하는 경우 상기 최고 점수와 상기 최저 점수의 차이에 대한 상기 현재 점수와 상기 최저 점수의 차이의 비는 (30-20)/(80-20) = 1/6에 해당하는바 상기 인증 경로(P1) 총 길이의 1/6에 해당하는 길이만큼 시점(P11)으로부터 떨어진 곳에서 상기 인증 포인트(P2)가 형성된다.
즉, 결국에는 상기 인증 경로(P1)는 모든 학습자의 점수 분포를 하나의 라인으로 갖게 되는 것이다.
그리고 상기 인증 경로(P1)를 따라 드래그된 경우에만 상기 평가 결과부에 접속을 성공시키게 된다.
그리고 상기 인증 포인트(P2)에서 드래그 동작을 멈추면, 상기 인증 포인트(P2)의 내부가 점점 채워지는 효과를 출력하고, 상기 인증 포인트(P2)가 모두 채워진 후에만 상기 드래그 동작을 재개할 수 있고, 상기 인증 포인트(P2)의 내부를 채우지 못하거나 과도하게 채운 경우에는 상기 인증 경로(P1)가 사라지게 된다.
여기서 상기 인증 포인트(P2)의 내부를 채우지 못하거나 과도하게 채운 경우에는 상기 인증 경로(P1)가 사라지게 됨으로써, 정확하게 상기 인증 포인트(P2)의 내부를 채워야만 상기 평가 결과부에 접속을 성공할 수 있게 된다.
그리고 전술하였듯이 상기 인증 포인트(P2)가 형성되는 위치는 학습자 전체의 점수 분포를 하나의 라인으로 갖는 인증 경로(P1) 상에서 현재 점수가 위치하는 곳에 형성되기 때문에 평가대상학습자는 인증 포인트(P2)를 채우는 동안 본인의 점수에 대해 직관적으로 인식할 수 있는 효과를 가져 학습 동기 형성에 큰 도움을 줄 수 있다는 장점을 갖는다.
이상에서 첨부된 도면을 참조하여 설명한 본 발명은 통상의 기술자에 의하여 다양한 변형 및 변경이 가능하고, 이러한 변형 및 변경은 본 발명의 권리범위에 포함되는 것으로 해석되어야 한다.

Claims (6)

  1. 복수의 명령어가 저장된 명령 블록;
    상기 명령 블록을 인식하고 증강시키는 블록 인식부; 및
    를 포함하되,
    상기 블록 인식부는 상기 명령 블록이 배치되는 순서 정보를 획득하는 블록인식알고리즘을 포함하고,
    상기 복수의 명령어는 상기 순서 정보에 따라 명령 대상에 명령되고,
    상기 블록인식알고리즘은, 상기 명령 블록의 이미지를 획득하는 이미지 획득 단계, 상기 획득 단계로부터 획득한 상기 이미지를 저장하는 저장 단계, 저장된 상기 이미지의 2차원 정보를 추출하는 2차원 정보 추출 단계, 기준 좌표를 설정하고 상기 기준 좌표를 바탕으로 상기 2차원 정보에 좌표를 설정하는 좌표 설정 단계, 설정된 상기 좌표에 따라 상기 순서 정보를 획득하는 순서 정보 획득 단계, 상기 순서 정보에 따라 상기 명령 블록을 증강현실 상에 배치시키는 배치 단계, 및 배치되지 못한 미배치 블록이 존재하는 경우 상기 배치 단계 이후에 상기 미배치 블록을 배정하는 배정 단계를 포함하는 것을 특징으로 하는 코딩 블록 인식 시스템.
  2. 삭제
  3. 삭제
  4. 청구항 1에 있어서,
    상기 배정 단계는, 상기 명령 블록의 평균 높이를 계산하는 평균 높이 계산 과정 및 상기 미배치 블록 중에서 상기 평균 높이보다 작은 높이를 갖는 미달 블록들을 정렬시키는 정렬 과정을 포함하는 것을 특징으로 하는 코딩 블록 인식 시스템.
  5. 청구항 1에 있어서,
    상기 명령 블록은 상면에 openCV 기반의 마커를 구비하되,
    상기 블록 인식부는 상기 마커의 코너를 인식하는 코너 인식 모듈을 포함하는 것을 특징으로 하는 코딩 블록 인식 시스템.
  6. 청구항 1에 있어서,
    예정된 교과 과정을 수료한 학습자에게 보상을 제공하는 보상제공부를 더 포함하되,
    상기 보상제공부는 학습자가 선택 불가능한 캐릭터들의 로킹을 해제하는 로킹 해제 모듈을 포함하는 것을 특징으로 하는 코딩 블록 인식 시스템.
KR1020200189010A 2020-12-31 2020-12-31 코딩 블록 인식 시스템 KR102491390B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200189010A KR102491390B1 (ko) 2020-12-31 2020-12-31 코딩 블록 인식 시스템
US17/567,095 US20220230557A1 (en) 2020-12-31 2021-12-31 Recognizing coding education block system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200189010A KR102491390B1 (ko) 2020-12-31 2020-12-31 코딩 블록 인식 시스템

Publications (2)

Publication Number Publication Date
KR20220096513A KR20220096513A (ko) 2022-07-07
KR102491390B1 true KR102491390B1 (ko) 2023-01-20

Family

ID=82398317

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200189010A KR102491390B1 (ko) 2020-12-31 2020-12-31 코딩 블록 인식 시스템

Country Status (2)

Country Link
US (1) US20220230557A1 (ko)
KR (1) KR102491390B1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101264874B1 (ko) * 2011-05-20 2013-05-15 주식회사 가나테크 증강현실을 이용한 학습 장치 및 방법
PL417869A1 (pl) * 2016-07-06 2018-01-15 Michał Dziedziniewicz Urządzenie do generowania programów komputerowych i metoda generowania programów komputerowych
KR101983728B1 (ko) * 2016-07-15 2019-06-04 주식회사 토이트론 카드를 인식하여 명령을 수행하는 스마트 토이를 운용하는 장치 및 그 방법
KR102370502B1 (ko) * 2019-01-24 2022-03-04 홍익대학교세종캠퍼스산학협력단 텐저블 블록 기반 증강현실 코딩 학습 시스템
KR20220041579A (ko) * 2020-09-25 2022-04-01 (주)이이알에스소프트 블록형 스마트토이를 활용한 증강현실 기반 교육용 프로그래밍언어 저작 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
공개특허공보 제10-2020-0092247호(2020.8.3. 공개) 1부.*

Also Published As

Publication number Publication date
KR20220096513A (ko) 2022-07-07
US20220230557A1 (en) 2022-07-21

Similar Documents

Publication Publication Date Title
AU2007351713B2 (en) Volume recognition method and system
US9821242B2 (en) Generation of building instructions for construction element models
US10363486B2 (en) Smart video game board system and methods
US20120150352A1 (en) Apparatus and method for synchronizing robots
US10071316B2 (en) Systems and methods for creating a playable video game from a three-dimensional model
CN202150897U (zh) 一种体感控制游戏电视机
CN107145222B (zh) 基于Unity三维引擎和VR设备的工具自动绑定系统和方法
KR102396390B1 (ko) 증강 현실 기반의 3차원 조립 퍼즐을 제공하는 방법 및 단말
Kim et al. Mixed reality for learning programming
Montusiewicz et al. The concept of a 3D board game to recognise architectural monuments
CN103760981A (zh) 一种磁场可视化及交互方法
KR102491389B1 (ko) 코딩 학습용 로봇 제어 시스템
KR102491390B1 (ko) 코딩 블록 인식 시스템
JP7129839B2 (ja) 訓練装置、訓練システム、訓練方法、及びプログラム
CN104239119A (zh) 一种基于kinect实现电力培训仿真的方法及系统
KR102197753B1 (ko) Vr/ar 기반 코딩블록 배치의 캐릭터 제어 게임을 통한 코딩 교육 장치 및 방법
Featherston et al. DOROTHY: enhancing bidirectional communication between a 3D programming interface and mobile robots
US20140018167A1 (en) User manipulation of voronoi diagram game mechanics
KR102251867B1 (ko) 사물인터넷의 스타네트워크를 이용하여 코딩 교육을 제공하는 시스템 및 방법
KR102253198B1 (ko) 아날로그식 교구와 스마트기기를 결합한 학습 교구 및 이를 이용하는 학습 방법
Le et al. Swarm Robotics Simulation Using Unity
US9041669B1 (en) Input/output device
KR102452991B1 (ko) 모듈형 피지컬 블록 기반의 epl 증강현실 시뮬레이터 시스템
CN114185431B (zh) 一种基于mr技术的智能媒体交互方法
CN111626247A (zh) 姿态检测的方法、装置、电子设备及存储介质

Legal Events

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