KR102114917B1 - 주행 로봇을 이용한 코딩 교육 제공 시스템 - Google Patents

주행 로봇을 이용한 코딩 교육 제공 시스템 Download PDF

Info

Publication number
KR102114917B1
KR102114917B1 KR1020180113183A KR20180113183A KR102114917B1 KR 102114917 B1 KR102114917 B1 KR 102114917B1 KR 1020180113183 A KR1020180113183 A KR 1020180113183A KR 20180113183 A KR20180113183 A KR 20180113183A KR 102114917 B1 KR102114917 B1 KR 102114917B1
Authority
KR
South Korea
Prior art keywords
driving
robot
area
driving robot
blocks
Prior art date
Application number
KR1020180113183A
Other languages
English (en)
Other versions
KR20200033637A (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 KR1020180113183A priority Critical patent/KR102114917B1/ko
Publication of KR20200033637A publication Critical patent/KR20200033637A/ko
Application granted granted Critical
Publication of KR102114917B1 publication Critical patent/KR102114917B1/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
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/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
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B21/00Projectors or projection-type viewers; Accessories therefor
    • G03B21/14Details
    • G03B21/145Housing details, e.g. position adjustments thereof
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B21/00Projectors or projection-type viewers; Accessories therefor
    • G03B21/54Accessories
    • G03B21/56Projection screens

Landscapes

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

Abstract

본 발명은 주행 로봇을 이용한 코딩 교육 제공 시스템에 관한 것으로서, 통신망을 통해 전송되는 주행제어신호에 따라 목적지 또는 이동 속도가 결정되어 이동하고, 자신의 위치에 대한 위치알림신호를 제공하는 적어도 하나 이상의 주행 로봇; 상기 위치알림신호를 이용하여 상기 주행 로봇의 위치를 인식하여 위치인식신호를 제공하고, 상기 주행 로봇의 주행 상태를 기설정된 지도 영역에 표시하기 위한 인터페이스 영상을 제공하는 빔프로젝트 장치; 및 상기 주행 로봇을 구동하기 위한 로봇 제어 프로그램을 실행함에 따라, 상기 위치인식신호에 기반하여 현재 주행로봇의 위치를 확인하고, 상기 주행 로봇의 동작 조건을 설정하기 위한 프로그램 언어가 시각화된 블록들을 사용자의 선택에 의해 배치하여 해당 주행 로봇에 대한 소스코드를 작성하고, 상기 작성된 소스코드의 컴파일을 통해 주행 제어신호를 생성한 후 상기 주행 로봇에 제공하는 사용자 단말을 포함하는 것이다.

Description

주행 로봇을 이용한 코딩 교육 제공 시스템{ Coding education providing system using traveling robot }
본 발명은 블록 기반의 그래픽 사용자 인터페이스 환경을 통해 누구나 쉽게 소스 코드를 작성하여 주행 로봇을 구동할 수 있는 주행 로봇을 이용한 코딩 교육 제공 시스템에 관한 것이다.
코딩은 추상 알고리즘(Algorithm)을 특정한 프로그래밍 언어를 이용하여 구체적인 컴퓨터 프로그램을 구현하는 기술이다. 이를 통해 게임이나 홈페이지, App뿐만 아니라 윈도와 백신과 프로그램을 만들 수 있는 기술이다. 마치 하나하나 블록을 조립하듯 논리적인 사고를 표현할 수 있는 시각 프로그래밍이며, 컴퓨터 프로그래밍을 활용해 게임을 만들고 로봇을 개발하는 것이다.
최근 코딩 교육 의무화 시대에 접어들면서 어린이들을 위한 장난감도 변화하고 있다. 어린 시절부터 소프트웨어와 친밀해질 수 있도록 각종 IT 기술이 접목된 스마트 토이가 등장한 것이다. 스마트 토이에는 요즘 학부모들 사이에서 관심을 끌고 있는 코딩 로봇, 코딩 블록, 코딩 드론 등이 있다.
하지만, 어린이들에게 코딩 교육을 제공하기는 쉽지 않다. 어린이들의 집중력에는 한계가 있으므로, 일반적인 강의만으로는 어린이들에게 코딩 교육을 제공하기가 어렵다. 이러한 필요에 따라, 어린이들에게 효과적인 코딩교육을 보급하기 위한 많은 시도가 있었고, 코딩 교육과 관련하여 많은 교육 도구들 또한 개발되고 있다.
그 중에서 코딩 로봇(robot)은 아이들이 직접 보고, 만지고, 느낄 수 있는 장치로서, 소프트웨어 교육과 실제 세계를 연결해주는 통로이면서 아이들의 학습에 대한 흥미를 높일 수 있는 훌륭한 교육 도구이기에, 로봇을 활용한 유아/어린이 코딩 교육에 대한 연구 및 개발이 활발하게 진행되고 있는 상황이다.
문가에 의하면 코딩 학습을 하게 되면 자기 주도 학습 능력이 상승하고 논리적 사고와 문제 해결 능력이 향상된다고 한다. 또한, 창의력이 증진되며 게임에 중독된 아이의 치료에도 효과가 있다고. 논리력, 사고력, 문제 해결력 역시 향상된다고 하는데 학습 시에 컴퓨팅 적 사고(Computational Thinking)를 배우는 것이 중요하다.
코딩교육은 4차 산업혁명을 앞두고 학생들에게 문제 해결 능력, 창의·융합력, 또래들과의 협력 등을 종합적으로 기를 수 있어 필수 교육과정으로 꼽히고 있고, 실제 미국, 일본 등 선진국도 적극적으로 도입하고 있다.
이러한 코딩 교육이 본격적으로 시행되고 있지만, 학생들을 가르칠 전문성을 갖춘 전문 교육자 절대적으로 부족할 뿐만 아니라, 코딩교육에 맞는 평가의 틀도 제대로 마련돼 있지 않아 창의력과 문제 해결력을 위해 시행하는 코딩교육이 자칫 암기 위주로 흘러갈 수 있는 문제점이 있다.
또한, 국내에서는 다양한 코딩 작업 중 C언어를 사용하는 교육에 집중돼 있고, 관련 코딩대회도 C언어(컴퓨터 프로그램 개발언어)에만 국한되어 있다.
이와 같이, 코딩 교육을 통해 세계적인 경쟁력을 얻기에는 환경이 제한적이어서 프로그램을 세분화하여 다양한 코딩 교육 및 사용자 인터페이스 환경을 구축하는 것이 필요하다.
본 발명은 전술한 문제점을 해결하기 위하여, 본 발명의 일 실시예에 따라 기존의 PC를 이용한 제한적인 코딩 교육에서 벗어나 블록 기반의 그래픽 사용자 인터페이스 환경을 통해 누구나 쉽게 소스 코드를 작성하여 주행 로봇을 실시간 구동할 수 있도록 하는 것에 목적이 있다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서 본 발명의 일 실시예에 따른 주행 로봇을 이용한 코딩 교육 제공 시스템은, 통신망을 통해 전송되는 주행제어신호에 따라 목적지 또는 이동 속도가 결정되어 이동하고, 자신의 위치에 대한 위치알림신호를 제공하는 적어도 하나 이상의 주행 로봇; 상기 위치알림신호를 이용하여 상기 주행 로봇의 위치를 인식하여 위치인식신호를 제공하고, 상기 주행 로봇의 주행 상태를 기설정된 지도 영역에 표시하기 위한 인터페이스 영상을 제공하는 빔프로젝트 장치; 및 상기 주행 로봇을 구동하기 위한 로봇 제어 프로그램을 실행함에 따라, 상기 위치인식신호에 기반하여 현재 주행로봇의 위치를 확인하고, 상기 주행 로봇의 동작 조건을 설정하기 위한 프로그램 언어가 시각화된 블록들을 사용자의 선택에 의해 배치하여 해당 주행 로봇에 대한 소스코드를 작성하고, 상기 작성된 소스코드의 컴파일을 통해 주행 제어신호를 생성한 후 상기 주행 로봇에 제공하는 사용자 단말을 포함하는 것이다.
본 발명의 일 실시예에 따른 주행 로봇을 이용한 코딩 교육 제공 시스템은, 통신망을 통해 전송되는 주행제어신호에 따라 목적지 또는 이동 속도가 결정되어 이동하고, 자신의 위치에 대한 위치알림신호를 제공하는 적어도 하나 이상의 주행 로봇; 및 상기 위치알림신호를 이용하여 상기 주행 로봇의 위치를 인식하여 위치인식신호를 제공하고, 상기 주행 로봇의 주행 상태를 기설정된 지도 영역에 표시하기 위한 인터페이스 영상을 제공하는 빔프로젝트 장치; 을 포함하며, 상기 주행 로봇은 사용자 단말로부터 상기 주행 제어신호를 수신하여 주행을 하되, 상기 주행 제어신호는, 상기 사용자 단말에서 로봇 제어 프로그램을 실행함에 따라 상기 위치인식신호에 기반하여 현재 주행로봇의 위치가 확인되고, 상기 로봇 제어 프로그램 상에서 상기 주행 로봇의 동작 조건을 설정하기 위한 프로그램 언어가 시각화된 블록들을 통해 상기 주행 로봇에 대한 소스코드가 작성되고, 상기 작성된 소스코드의 컴파일을 통해 생성되는 것이다.
전술한 본 발명의 과제 해결 수단에 의하면, 프로그래밍 초보자나 어린이를 위한 블록 기반의 그래픽 사용자 인터페이스 환경을 제공하고, 코딩 결과에 따른 주행 로봇의 움직임을 실시간 확인할 수 있어 초보자나 어린이들에게 코딩 교육에 대한 흥미를 더욱 유발시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 주행 로봇을 이용한 코딩 교육 제공 시스템의 구성을 설명하는 도면이다.
도 2는 본 발명의 일 실시예에 따른 주행 로봇의 구성을 설명하는 블록도이다.
도 3은 도 2의 주행 로봇의 외관에 대한 일례를 설명하는 도면이다.도 4는 도 2의 각 주행 로봇에서 송출하는 적외선 신호의 패턴을 설명하는 도면이다.도 5는 본 발명의 일 실시예에 따른 빔프로젝트 장치의 구성을 설명하는 블록도이다.
도 6은 본 발명의 일 실시예에 따른 사용자 단말의 구성을 설명하는 도면이다.
도 7은 도 6의 인터페이스 제공부에서 제공하는 사용자 인터페이스 화면의 일례를 설명하는 도면이다.
도 8은 도 6의 카메라 보정부를 통한 카메라 좌표 보정을 위한 주행 로봇의 배치 상태를 설명하는 도면이다.
도 9는 도 6의 카메라 보정부의 카메라 좌표 보정 화면의 일례를 설명하는 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하의 실시예는 본 발명의 이해를 돕기 위한 상세한 설명이며, 본 발명의 권리 범위를 제한하는 것이 아니다. 따라서 본 발명과 동일한 기능을 수행하는 동일 범위의 발명 역시 본 발명의 권리 범위에 속할 것이다.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 주행 로봇을 이용한 코딩 교육 제공 시스템의 구성을 설명하는 도면이다.
도 1을 참조하면, 주행 로봇을 이용한 코딩 교육 제공 시스템은 주행 로봇(100), 빔프로젝트 장치(200), 패널(300) 및 사용자 단말(400)을 포함하지만 이에 한정되지는 않는다.
적어도 하나 이상의 주행 로봇(100)은 통신망을 통해 전송되는 사용자 단말(400)의 주행제어신호에 따라 목적지 또는 이동 속도가 결정되어 이동하고, 자신의 위치에 대한 위치알림신호를 제공한다.
빔프로젝트 장치(200)는 주행 로봇(100)의 위치알림신호를 이용하여 주행 로봇(100)의 위치를 인식하여 위치인식신호를 사용자 단말(400)로 제공하고, 주행 로봇(100)의 주행 상태를 기설정된 지도 영역에 표시하기 위한 인터페이스 영상을 패널(300)에 조사한다.
패널(300)은 인터페이스 영상이 표시되도록 일정 영역을 가지는 평면 형태의 평판으로서, 거실이나 교실의 바닥, 책상의 상면 등 주행 로봇이 주행 가능한 모든 형태의 평판이 사용될 수 있다.
사용자 단말(400)은 빔프로젝트 장치와 유선 통신 또는 무선 통신을 통해 연결되어 위치인식신호에 기반하여 현재 주행로봇의 위치를 확인하고, 주행 로봇(100)을 구동하기 위한 로봇 제어 프로그램을 실행함에 따라 주행 로봇(100)의 동작 조건을 설정하기 위한 프로그램 언어가 시각화된 블록들을 사용자의 선택에 의해 배치하여 해당 주행 로봇(100)에 대한 소스코드를 작성하고, 소스코드의 컴파일을 통해 주행제어신호를 생성하여 주행 로봇(100)에 제공한다.
이때, 사용자 단말(400)은 유선 또는 무선 통신이 가능하고, 로봇 제어 프로그램을 실행할 수 있는 PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), WiBro(Wireless Broadband Internet) 단말, 태블릿 PC 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치이거나, 네트워크를 통해 다른 단말 또는 서버 등에 접속할 수 있는 PC 등의 유선/무선 통신 장치일 수 있다.
도 2는 본 발명의 일 실시예에 따른 주행 로봇의 구성을 설명하는 블록도이고, 도 3은 도 2의 주행 로봇의 외관에 대한 일례를 설명하는 도면이며, 도 4는 도 2의 각 주행 로봇에서 송출하는 적외선 신호의 패턴을 설명하는 도면이다.
도 2내지 도 4를 참고하면, 주행 로봇(100) 통신 모듈(110), 센서 모듈(120), 제어 모듈(130) 및 구동 모듈(140)을 포함하지만 이에 한정되지는 않는다.
통신 모듈(110)은 사용자 단말(400) 또는 빔프로젝트 장치(200)와의 통신을 수행한다.
센서 모듈(120)은 위치알림신호를 송출하는 적어도 하나 이상의 센서를 포함하는데, 삼각 구조로 배치되는 3개의 적외선 센서를 포함할 수 있다. 이때, 3개의 적외선 센서는 일정한 패턴에 따라 점멸하여 고유한 코드를 만들어 내어 적외선 신호인 위치알림신호를 송출한다.
도 4에 도시된 바와 같이, 주행 로봇1(R1)은 1초 단위로 위치알림신호를 송출하고, 주행로봇2(R2)는 2초 단위로 위치알림신호를 송출하며, 이와 동일한 방식으로 주행로봇n(Rn)은 n초 단위로 위치알림신호를 송출한다.
따라서, 사용자 단말(400)은 빔프로젝트 장치(200)를 통해 위치인식신호를 수신하고, 위치인식신호에 기반하여 적외선 신호, 즉 위치알림신호의 패턴을 분석하여 각각의 주행 로봇을 독립적인 객체로 분류할 수 있다. 이러한 적외선 신호의 패턴은 주행 로봇을 포함한 71개의 독립적인 객체의 식별이 가능하도록 한다.
따라서, 사용자 단말(400)은 적외선 신호의 패턴의 변화를 통해 적외선 센서를 각종 객체에 부착하여 주행 로봇뿐만 아니라 펜, 장난감, 기호 등 다양한 객체를 제작하거나 활용할 수 있다.
제어 모듈(130)은 사용자 단말(400)로부터 주행제어신호가 수신되면 주행제어신호에 따른 목적지 또는 이동 속도에 기반하여 현재 위치에서 목적지까지의 이동 방향과 움직임 제어값을 설정하고, 이렇게 설정된 이동 방향과 움직임 제어값에 따른 구동 신호를 제공한다. 여기서, 주행 로봇의 움직임 제어값은 이동 속도, 이동 좌표 정보 등을 포함할 수 있다. 여기서, 제어 모듈(130)은 삼각 구조 형태의 적외선 센서를 통해 자신의 현재 위치 및 방향을 인식할 수 있다. 구동 모듈(140)은 제어 모듈(130)의 구동 신호에 의해 동작되어 인터페이스 영상의 지도 영역에서 설정된 이동 방향과 움직임 제어값에 따른 주행을 실행한다. 이러한 구동 모듈(140)은 복수개의 바퀴(141), 모터, 구동축 등을 포함할 수 있다.
주행 로봇(100)은 각 모듈에 구동 전원을 제공하는 배터리, 사용자 설정에 따라 특정 방향의 영상을 촬영하는 카메라, 로봇암 등을 더 포함할 수 있다.
도 5는 본 발명의 일 실시예에 따른 빔프로젝트 장치의 구성을 설명하는 블록도이다.
도 5를 참조하면, 빔프로젝트 장치(200)는 카메라(210), 빔프로젝터(220), 지지대(230) 및 레버(240)를 포함한다.
카메라(210)는 주행 로봇(100)에서 송출되는 위치알림신호를 수신하고, 지도 영역을 촬영하여 지도영역영상을 사용자 단말(400)에 제공한다.
빔프로젝터(220)는 인터페이스 영상을 패널(300)의 조사 영역에 조사하고, 위치알림신호에 기반하여 위치인식신호를 생성하며, 사용자 단말(400)에 지도영역영상과 위치인식 신호를 전송한다. 이러한 빔프로젝터(220)는 일반적으로 통신수단, 조명수단, 제어수단, 센서수단 등을 포함하여 구성할 수 있음은 당연하다.
지지대(230)는 빔프로젝터(220)를 지지하고, 레버(240)는 빔프로젝터(220)의 높낮이를 조절한다.
도 6은 본 발명의 일 실시예에 따른 사용자 단말의 구성을 설명하는 도면이고, 도 7은 도6의 인터페이스 제공부에서 제공하는 사용자 인터페이스 화면의 일례를 설명하는 도면이며, 도 8은 도 6의 카메라 보정부를 통한 카메라 좌표 보정을 위한 주행 로봇의 배치 상태를 설명하는 도면이고, 도 9는 도 6의 카메라 보정부의 카메라 좌표 보정 화면의 일례를 설명하는 도면이다.
도 6 내지 도 9을 참조하면, 사용자 단말(400)은 통신 모듈(410), 메모리(420) 및 프로세서(430)를 포함하지만 이에 한정되지는 않는다.
통신 모듈(410)은 통신망과 연동하여 코딩 교육 관련 정보를 제공하는 서버, 빔프로젝트 장치(200), 주행 로봇(100) 등과 송수신되는 신호를 제공하는 데 필요한 통신 인터페이스를 제공한다. 여기서, 통신 모듈(410)은 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.
메모리(420)는 로봇 제어 프로그램을 저장하고, 기설정된 시나리오에 따라 적어도 하나 이상의 인터페이스 영상을 저장한다. 또한, 프로세서(430)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 여기서, 메모리(420)는 휘발성 저장 매체(volatile storage media) 또는 비휘발성 저장 매체(non-volatile storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
프로세서(430)는 로봇 제어 프로그램을 통해 코딩 교육을 제공하기 위한 전체 과정을 제어한다. 여기서, 프로세서(430)는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
이러한 프로세서(430)는 영상 제공부(431), 인터페이스 제공부(432), 객체 맵핑부(433), 컴파일 실행부(434) 및 카메라 보정부(435)을 포함한다.
영상 제공부(431)는 기설정된 시나리오에 따른 적어도 하나 이상의 인터페이스 영상을 제공한다. 영상 제공부(431)는 통신망을 통해 코딩 교육을 위한 대상자의 연령이나 코딩 교육 수준에 따라 난이도가 상이한 인터페이스 영상을 수집하여 빔프로젝트 장치(200)에 제공할 수 있다. 즉, 영상 제공부(431)는 인터페이스 영상 내에 삽입되는 객체에 대한 캐릭터 또는 공간적 이동로의 복잡도 수준 등을 선택하여 제공할 수 있다.
인터페이스 제공부(432)는 로봇 제어 프로그램을 실행하기 위해 위치정보 제공 영역(510), 조건설정영역(520), 코딩 영역(530) 및 메뉴 영역(540)을 포함한 그래픽 사용자 인터페이스를 제공한다.
도 7에 도시된 바와 같이, 위치정보 제공 영역(510)은 빔프로젝트 장치(200)로부터 수신한 위치인식신호에 기반하여 인터페이스 영상의 지도 영역에 다양한 객체를 표시하고, 주행 로봇(100)의 현재 위치를 맵핑하여 사용자에게 제공된다. 이러한 위치정보 제공 영역(510)은 빔프로젝트 장치(200)에서 패널(300)에 조사하는 인터페이스 영상과 동일할 수 있다. 여기서, 위치정보 제공 영역(510)은 주행 로봇과 대응되는 객체없이 사용자 조작에 의해 수동 또는 자동으로 제어되도록 설정할 수 있다.
조건 설정 영역(520)은 조건제어용 블록들, 동작용 블록들, 변수용 블록들을 제공한다. 이때, 조건제어용 블록들, 동작용 블록들, 변수용 블록들은 속성에 따라 형태 또는 색깔 중 적어도 어느 하나에 의해 구분된다. ,
코딩 영역(530)은 사용자에 의해 조건 설정 영역(520)의 블록들 중 적어도 하나 이상의 블록을 배치하여 소스 코드를 작성한다. 즉, 사용자는 조건제어용 블록들, 동작용 블록들, 변수용 블록들 중 어느 하나의 블록을 드래그하여 순차적으로 코딩 영역(530)에 배치하여 소스코드를 작성할 수 있다.
이때, 코딩 영역(530)은 동일한 속성의 블록간 조합을 방지하는 가이드 식별자(550)를 이용하여 다른 속성의 블록들이 순차적으로 배치됨으로써 정상적인 동작을 위한 소스 코드를 작성할 수 있도록 한다. 가이드 식별자(550)는 주행 로봇의 정상적인 동작을 위해 블록의 순서, 블록의 정상적인 조합 등을 가이드하는 역할을 수행한다.
따라서, 사용자가 코딩 영역(530)에 동일한 속성의 블록을 조합하고자 할 경우, 가이드 식별자(550)에 의해 조합 자체가 불가능하여 컴파일 오류를 방지하거나, 컴파일 완료 후에 발생할 수 있는 문제(예를 들어, 주행 로봇의 비정상적인 동작)를 사전에 방지할 수 있다.
메뉴 영역(540)은 각 영역에 대한 실행 명령이나 조건을 설정함으로써 사용자에 의해 작성된 소스 코드에 대한 컴파일 과정을 실행하여 주행제어신호를 생성하여 주행 로봇(100)에 제공되어 지도 영역의 객체에 실시간 반영될 수 있다.
객체 맵핑부(433)는 인터페이스 영상에 주행 로봇에 대응하여 상호 작용하는 객체를 제공한다. 즉, 사용자는 위치정보 제공 영역에서 특정 객체를 클릭하고, 메뉴 영역에서 오브젝트 선택을 통해 주행 로봇을 지정할 경우, 해당 객체와 주행 로봇간의 매핑이 실행된다. 이때, 객체 맵핑부(433)는 주행 로봇이 추가되면, 추가되는 주행 로봇과 대응되는 객체를 추가할 수 있고, 이전의 객체와 차별화되도록 캐랙터를 변경할 수 있다.
컴파일 실행부(434)는 사용자 선택에 의해 작성된 소스 코드에 대한 컴파일 과정을 실행하고, 컴파일 결과를 인터페이스 영상의 지도 영역 내 객체에 반영하도록 주행제어신호를 제공한다.
즉, 위치정보제공 영역 상에서 특정 객체가 이동하면, 이동하는 객체에 대응하는 주행 로봇이 패널(300) 위에서 객체의 이동 방향과 이동 속도에 대응하여 주행하게 된다. 이때, 컴파일 실행부(434)는 실행 버튼이 클릭되면 소스 코드의 종류에 따라 자동으로 특정 객체가 이동할 수 있지만, 실행 버튼이 클릭된 이후에 사용자가 마우스나 키보드 등의 입력장치를 이용하여 특정 객체를 수동으로 조작하여 이동할 수도 있다.
사용자는 빔프로젝트 장치(200)가 패널에 조사한 지도 영역의 각 끝단 지점, 도 8 및 도 9에 도시된 바와 같이, LT, RT, LB, RB에 주행 로봇을 배치하고 카메라 보정부(435)를 실행하면, 카메라 보정부(435)는 빔프로젝트 장치(200)에서 제공되는 지도영역영상을 분석하여 주행 로봇의 위치값을 추출하고, 추출된 위치값에 대한 좌표정보를 이용하여 실세계 좌표계를 영상 좌표계로 대응시킨다.
이때, 주행 로봇이 1개일 경우, 주행 로봇을 LT 지점에 배치하고 '설정 저장하기'버튼을 클릭하고, 이후 RT, LB, RB 지점에 각각 배치한 후 '설정 저장하기'버튼을 클릭하여 지도 영역의 끝단 지점에 대한 위치값을 추출할 수 있다.
카메라 보정부(435)는 패널에 조사되는 지도 영역의 면적에 대한 좌표 정보를 저장하고, 인터페이스 제공부(432)로 인터페이스 영상의 지도 영역에 대한 좌표 정보를 제공함으로써 인터페이스 제공부(432)는 위치정보 제공 영역에 패널에 조사되는 지도 영역과 대응되는 위치정보를 제공할 수 있다.
이상에서 설명한 본 발명의 실시예에 따른 주행 로봇을 이용한 코딩 교육 시스템은, 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 이러한 기록 매체는 컴퓨터 판독 가능 매체를 포함하며, 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함하며, 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 주행 로봇
200: 빔프로젝트 장치
300 : 패널
400 : 사용자 단말

Claims (10)

  1. 통신망을 통해 전송되는 주행제어신호에 따라 목적지 또는 이동 속도가 결정되어 이동하고, 자신의 위치에 대한 위치알림신호를 제공하는 적어도 하나 이상의 주행 로봇;
    상기 위치알림신호를 이용하여 상기 주행 로봇의 위치를 인식하여 위치인식신호를 제공하고, 상기 주행 로봇의 주행 상태를 기설정된 지도 영역에 표시하기 위한 인터페이스 영상을 제공하는 빔프로젝트 장치; 및
    상기 주행 로봇을 구동하기 위한 로봇 제어 프로그램을 실행함에 따라, 상기 위치인식신호에 기반하여 현재 주행로봇의 위치를 확인하고, 상기 주행 로봇의 동작 조건을 설정하기 위한 프로그램 언어가 시각화된 블록들을 사용자의 선택에 의해 배치하여 해당 주행 로봇에 대한 소스코드를 작성하고, 상기 작성된 소스코드의 컴파일을 통해 주행 제어신호를 생성한 후 상기 주행 로봇에 제공하는 사용자 단말을 포함하되,
    상기 사용자 단말은,
    상기 주행 로봇 또는 빔프로젝트 장치와의 통신에 필요한 통신 인터페이스를 제공하는 통신 모듈; 상기 로봇 제어 프로그램을 저장하고, 기설정된 시나리오에 따라 적어도 하나 이상의 인터페이스 영상을 저장하는 메모리; 및 상기 로봇 제어 프로그램을 실행함에 따라, 상기 위치인식신호에 기반하여 상기 인터페이스 영상의 지도 영역에 상기 주행 로봇의 위치를 맵핑하는 위치정보 제공 영역, 상기 블록들을 제공하는 조건설정영역, 사용자에 의해 상기 블록들 중 적어도 하나 이상의 블록을 배치하여 소스 코드를 작성하는 코딩 영역 및 각 영역에 대한 실행 명령이나 조건을 설정하는 메뉴 영역을 포함한 그래픽 사용자 인터페이스를 제공하고, 각 영역을 통해 작성된 소스 코드에 대한 컴파일 과정을 통해 주행제어신호를 생성하여 상기 주행 로봇에 제공하는 프로세서를 포함하고,
    상기 코딩 영역은 동일한 속성의 블록간 조합을 방지하기 위해 사용자 정의 타입의 기호로 생성된 가이드 식별자를 표시하고, 상기 가이드 식별자를 기준으로 서로 다른 속성의 블록들이 순차적으로 배치되도록 함으로써 상기 주행 로봇의 정상적인 동작을 위한 소스 코드를 작성하도록 하는 것을 포함하고,
    상기 빔프로젝트 장치는, 상기 지도 영역을 촬영하여 지도영역영상을 상기 사용자 단말로 제공하는 카메라를 포함하고,
    상기 프로세서는, 상기 지도영역의 복수의 끝단 지점에 상기 주행로봇이 배치된 뒤 상기 사용자 단말을 통해 설정저장 입력을 수신할 경우, 상기 지도영역의 복수의 끝단 지점에 대한 위치값을 추출하고, 상기 추출된 위치값에 대한 좌표정보를 이용하여 실세계 좌표계를 상기 인터페이스 영상에 대한 영상 좌표계로 대응시키는 카메라 보정부; 및
    상기 인터페이스 영상에 상기 주행 로봇에 대응하여 상호 작용하는 객체를 제공하며, 사용자 단말로부터 상기 위치정보 제공 영역에서 특정 객체가 클릭되고, 상기 메뉴 영역에서 오브젝트 선택을 통해 주행 로봇이 지정될 경우, 해당 객체와 주행 로봇간의 매핑을 실행하되, 상기 주행 로봇이 추가되는 경우, 추가되는 상기 주행 로봇과 대응되는 객체를 추가하고, 추가되는 객체의 캐릭터를 이전의 객체와 차별화되게 설정하는 객체 맵핑부
    를 포함하되,
    상기 프로세서는,
    삼각 구조로 배치되는 다수의 적외선 센서를 포함하는 복수의 주행로봇 각각이 시간을 기준으로 서로 다른 패턴을 갖는 위치알림신호를 송출함에 따라, 상기 빔프로젝트 장치를 통해 수신한 위치인식신호에 기초하여 적외선 신호의 패턴을 분석하여 각각의 주행 로봇을 독립적인 객체로 식별하는 것인,
    주행 로봇을 이용한 코딩 교육 제공 시스템.
  2. 제 1 항에 있어서,
    상기 주행 로봇은,
    상기 사용자 단말 또는 빔프로젝트 장치와의 통신을 수행하는 통신모듈;
    상기 위치알림신호를 송출하는 적어도 하나 이상의 센서를 포함하는 센서 모듈;
    상기 주행제어신호가 수신되면 상기 주행제어신호에 따른 목적지 또는 이동 속도에 기반하여 현재 위치에서 목적지까지의 이동 방향과 움직임 제어값을 설정하고, 상기 설정된 이동 방향과 움직임 제어값에 따른 구동 신호를 제공하는 제어 모듈; 및
    상기 구동 신호에 의해 동작되어 상기 인터페이스 영상의 지도 영역에서 상기 설정된 이동 방향과 움직임 제어값에 따른 주행을 실행하는 구동 모듈을 포함하는 것인, 주행 로봇을 이용한 코딩 교육 제공 시스템.
  3. 제 1 항에 있어서,
    상기 빔프로젝트 장치는,
    상기 위치알림신호를 수신하고, 상기 지도 영역을 촬영하여 지도영역영상을 제공하는 카메라;
    상기 인터페이스 영상을 평면형태의 조사 영역에 조사하고, 상기 위치알림신호에 기반하여 위치인식신호를 생성하며, 상기 사용자 단말에 상기 지도영역영상과 위치인식 신호를 전송하는 빔프로젝터;
    상기 빔프로젝터를 지지하는 지지대; 및
    상기 빔프로젝터의 높낮이를 조절하는 레버를 포함하는 것인, 주행 로봇을 이용한 코딩 교육 제공 시스템.
  4. 삭제
  5. 삭제
  6. 제 1 항에 있어서,
    상기 프로세서는,
    적어도 하나 이상의 인터페이스 영상을 제공하는 영상 제공부;
    상기 로봇 제어 프로그램을 실행하기 위한 상기 위치정보 제공 영역, 조건설정 영역, 코딩 영역 및 메뉴 영역을 제공하는 인터페이스 제공부; 및
    상기 각 영역을 통해 작성된 소스 코드에 대한 컴파일 과정을 실행하고, 상기 컴파일 결과를 상기 인터페이스 영상의 지도 영역 내 객체에 반영하도록 주행제어신호를 제공하는 컴파일 실행부를 포함하는 것인, 주행 로봇을 이용한 코딩 교육 제공 시스템.
  7. 제 1 항에 있어서,
    상기 조건설정영역은 조건제어용 블록들, 동작용 블록들, 변수용 블록들을 제공하고,
    상기 조건제어용 블록들, 동작용 블록들, 변수용 블록들은 속성에 따라 형태 또는 색깔 중 적어도 어느 하나에 의해 구분되며,
    상기 코딩 영역은 상기 조건제어용 블록들, 동작용 블록들, 변수용 블록들 중 어느 하나의 블록을 드래그하여 순차적으로 배치되어 소스코드가 작성되는 것인, 주행 로봇을 이용한 코딩 교육 제공 시스템.
  8. 삭제
  9. 삭제
  10. 삭제
KR1020180113183A 2018-09-20 2018-09-20 주행 로봇을 이용한 코딩 교육 제공 시스템 KR102114917B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180113183A KR102114917B1 (ko) 2018-09-20 2018-09-20 주행 로봇을 이용한 코딩 교육 제공 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180113183A KR102114917B1 (ko) 2018-09-20 2018-09-20 주행 로봇을 이용한 코딩 교육 제공 시스템

Publications (2)

Publication Number Publication Date
KR20200033637A KR20200033637A (ko) 2020-03-30
KR102114917B1 true KR102114917B1 (ko) 2020-05-25

Family

ID=70003531

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180113183A KR102114917B1 (ko) 2018-09-20 2018-09-20 주행 로봇을 이용한 코딩 교육 제공 시스템

Country Status (1)

Country Link
KR (1) KR102114917B1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102290951B1 (ko) * 2020-10-08 2021-08-19 주식회사 로보닉스 원격 로봇 코딩 교육 시스템
KR102398964B1 (ko) * 2020-10-15 2022-05-17 주식회사 휴인텍 코딩 교육용 로봇의 위치인식 시스템 및 방법
KR102452991B1 (ko) * 2020-11-11 2022-10-12 (주)이이알에스소프트 모듈형 피지컬 블록 기반의 epl 증강현실 시뮬레이터 시스템
KR102488768B1 (ko) * 2021-02-01 2023-01-17 주식회사 에이럭스 코딩 학습교구에서 수행되는 그리드 미션수행방법
KR102477614B1 (ko) * 2021-02-01 2022-12-13 주식회사 에이럭스 코딩 학습교구에서 수행되는 컬러감지 미션수행방법
KR102488769B1 (ko) * 2021-02-01 2023-01-17 주식회사 에이럭스 코딩 학습교구에서 수행되는 경로이동 미션수행방법
KR102477613B1 (ko) * 2021-02-01 2022-12-13 주식회사 에이럭스 코딩 학습교구를 이용한 미션수행방법
KR102579179B1 (ko) * 2021-07-13 2023-09-15 주식회사 크리모 코딩 알고리즘 훈련 교구
KR102464163B1 (ko) * 2022-06-29 2022-11-10 주식회사 씨앤케이에어로 드론 제어를 위한 코딩 교육 콘텐츠 제공 방법, 장치 및 시스템
KR102529627B1 (ko) * 2022-12-06 2023-05-08 (주)에이아이웍스 코딩 방법 및 코딩 교육 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101715621B1 (ko) * 2015-10-14 2017-03-27 (주)비즈맘 프로그래밍 교육 시스템 및 그 구동 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100426035B1 (ko) * 2001-08-01 2004-04-03 주식회사 마이크로로보트 마이크로로봇 제어프로그램 교육 시스템
KR20130089554A (ko) * 2012-02-02 2013-08-12 엘지전자 주식회사 로봇 청소기 및 그 제어 방법
WO2016198090A1 (fr) * 2015-06-08 2016-12-15 Battlekart Europe Système de création d'un environnement

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101715621B1 (ko) * 2015-10-14 2017-03-27 (주)비즈맘 프로그래밍 교육 시스템 및 그 구동 방법

Also Published As

Publication number Publication date
KR20200033637A (ko) 2020-03-30

Similar Documents

Publication Publication Date Title
KR102114917B1 (ko) 주행 로봇을 이용한 코딩 교육 제공 시스템
Howard et al. Using haptic and auditory interaction tools to engage students with visual impairments in robot programming activities
Yamamori Classroom practices of low-cost STEM education using scratch
Lew et al. Using LEGO MINDSTORMS NXT and LEJOS in an advanced software engineering course
Suzuki et al. Reactile: Programming swarm user interfaces through direct physical manipulation
Bravo et al. A review of intuitive robot programming environments for educational purposes
Rahul et al. An open source graphical robot programming environment in introductory programming curriculum for undergraduates
Abaid et al. Controlling a robotic fish with a smart phone
Estapa et al. Recommendations to support computational thinking in the elementary classroom
KR102185618B1 (ko) 드론을 이용한 청소년 프로그래밍 교육용 어플리케이션 시스템
Thai Exploring robotics with ROBOTIS Systems
Alves et al. Web based robotic simulator for tactode tangible block programming system
KR101505598B1 (ko) 로봇 교육 장치
Karaca et al. Ros based visual programming tool for mobile robot education and applications
Touretzky Robotics for computer scientists: what’s the big idea?
Moran et al. Physical Bits: A Live Programming Environment for Educational Robotics
Lin et al. To learn programming through internet of Things
Daniušis et al. Topological navigation graph framework
Musicant et al. Open-ended robotics exploration projects for budding researchers
JP6202493B2 (ja) 情報処理装置、情報処理方法
Tommy et al. Building Smart Robots Using ROS: Design, Build, Simulate, Prototype and Control Smart Robots Using ROS, Machine Learning and React Native Platform
Aslam An Integrated Low-Cost Agent-Based Environment for Simulating and Validating the Design of Interesting Behaviours for Robots
Alves Robotic simulator for the tactode tangible block programming system
JP7334430B2 (ja) 教育支援装置、教育支援方法およびプログラム
KR102198824B1 (ko) 피지컬 소프트웨어 코딩 교육 교재 실행 장치

Legal Events

Date Code Title Description
AMND Amendment
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant