KR20190109951A - 코딩 교육용 구형 로봇 제어 방법 및 코딩 교육용 구형 로봇 제어 시스템 - Google Patents

코딩 교육용 구형 로봇 제어 방법 및 코딩 교육용 구형 로봇 제어 시스템 Download PDF

Info

Publication number
KR20190109951A
KR20190109951A KR1020180031689A KR20180031689A KR20190109951A KR 20190109951 A KR20190109951 A KR 20190109951A KR 1020180031689 A KR1020180031689 A KR 1020180031689A KR 20180031689 A KR20180031689 A KR 20180031689A KR 20190109951 A KR20190109951 A KR 20190109951A
Authority
KR
South Korea
Prior art keywords
spherical robot
robot
spherical
control command
coding
Prior art date
Application number
KR1020180031689A
Other languages
English (en)
Other versions
KR102076308B1 (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 KR1020180031689A priority Critical patent/KR102076308B1/ko
Publication of KR20190109951A publication Critical patent/KR20190109951A/ko
Application granted granted Critical
Publication of KR102076308B1 publication Critical patent/KR102076308B1/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

Landscapes

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

Abstract

코딩 교육용 구형 로봇 제어 방법 및 코딩 교육용 구형 로봇 제어 시스템이 개시된다. 본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 방법은, 어플리케이션에서 로봇 제어가 개시 됨에 따라, 상기 로봇 제어와 연관되는 학습용 소스 코드에 대한 리스트를 설정된 난이도를 고려하여 출력하는 단계와, 상기 리스트를 참조하여 코딩 화면에서 작성되는 소스 코드로 제어 명령을 생성하는 단계, 및 상기 제어 명령을, 무선 통신으로 연결된 구형 로봇으로 전송하여, 상기 구형 로봇의 동작을 제어하는 단계를 포함한다.

Description

코딩 교육용 구형 로봇 제어 방법 및 코딩 교육용 구형 로봇 제어 시스템{METHOD AND SYSTEM FOR CONTROLLING SPHERICAL-SHAPE ROBOT FOR PROGRAMMING EDUCATION}
본 발명은 조립 용이성을 극대화하여 제작한 외골격 가변형 구형(球形) 로봇의 조립성을 이용하여 수준 별로 프로그래밍 교육에 활용할 수 있는 코딩 교육용 구형 로봇 제어 방법 및 코딩 교육용 구형 로봇 제어 시스템에 관한 것이다.
최근 소프트웨어(SW) 교육이 의무화 되면서 초중고 학생을 대상으로 한 코딩 교육에 대한 관심이 높아지고 있다.
하지만 프로그래밍(코딩)이라고 하면 막연히 어려운 것이라는 인상이 있어 프로그래밍 초급자나 특히 저연령층을 대상으로 한 코딩 교육에 어려움이 있다.
이에 학생들이 마치 게임을 하듯이 재미와 흥미를 느끼면서 수준 별로 프로그래밍을 학습해 나갈 수 있도록 할 필요성이 있다.
한편, 최근에는 사람이 접근하기 어려운 지역이나 행성을 탐사하거나 군사작전 및 지뢰제거 등의 특수 임무를 수행할 수 있는 로봇이 개발되어 있으며, 특히 손쉽게 장애물을 극복하고 지형과 무관하게 이동할 수 있도록 구형으로 제작된 조립식 로봇이 이용되고 있다.
이에 따라, 이러한 구형 로봇의 조립 용이성을 극대화 하여 저연령층의 수준 별 프로그래밍 교육과 재미를 위한 놀이용 로봇으로 활용할 수 있도록 하는 기술이 요구되고 있다.
본 발명의 실시예는 사용자의 코딩 수준(예, 초급자)을 고려하여 제공되는 코딩 화면에서 사용자에 의해 입력되는 소스 코드로, 조립 및 분리 가능하게 제작된 외골격 가변형 구형 로봇에 대한 다양한 제어 명령을 생성해 동작을 제어 함으로써, 사용자로 하여금 재미를 느끼며 수준 별로 코딩을 학습할 수 있게 하고, 구형 로봇의 동작을 통해 코딩에 대한 결과를 직접 확인할 수 있어 프로그래밍 교육 효과를 높이는 것을 목적으로 한다.
또한, 본 발명의 실시예는 구형 로봇을 이루는 주요 구성 부품을 아크릴 판과 같은 판재를 사용해 도무송 기법(Thomson method)에 따라 제작하여, 프레싱을 통한 대량 양산이 용이해지도록 함으로써, 구형 로봇의 제작비를 저감하는 것을 목적으로 한다.
또한, 본 발명의 실시예는 구형 로봇을 이루는 주요 구성 부품을 끼워 맞춤식 체결 방식에 따라 최소한의 체결구(볼트, 너트)를 사용해 조립 함으로써 사용자의 조립 편의성을 증대하는 것을 목적으로 한다.
또한, 본 발명의 실시예는 구형 로봇을 이루는 외골격 프레임의 조립 형태를, 사용자가 직접 코딩해 생성한 제어 명령에 따라 동적으로 변형 가능하게 함으로써, 구형 로봇의 조립성(가변성)을, 사용자의 수준 별 코딩 교육에 활용할 수 있게 하는 것을 목적으로 한다.
또한, 본 발명의 실시예는, STEAM 교육에 기반한 프로그래밍 교육과 재미를 위한 놀이용 로봇을, 외골격의 조립과 변형, 회전에 의해 전 방향으로의 이동이 가능하도록 구(球) 형태로 제작하고, 사용자가 소지한 멀티미디어 기기(컴퓨터, 스마트 폰, 태블릿 PC)에 설치된 어플리케이션을 통해 상기 구형 로봇으로 전송할 제어 명령을 직접 코딩할 수 있게 하는 것을 목적으로 한다.
본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 방법은, 어플리케이션에서 로봇 제어가 개시 됨에 따라, 상기 로봇 제어와 연관되는 학습용 소스 코드에 대한 리스트를 설정된 난이도를 고려하여 출력하는 단계와, 상기 리스트를 참조하여 코딩 화면에서 작성되는 소스 코드로 제어 명령을 생성하는 단계, 및 상기 제어 명령을, 무선 통신으로 연결된 구형 로봇으로 전송하여, 상기 구형 로봇의 동작을 제어하는 단계를 포함한다.
또한, 본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 시스템은, 어플리케이션에서 로봇 제어가 개시 됨에 따라, 상기 로봇 제어와 연관되는 학습용 소스 코드에 대한 리스트를 설정된 난이도를 고려하여 출력하는 단계와, 상기 리스트를 참조하여 코딩 화면에서 작성되는 소스 코드로 제어 명령을 생성하는 단계, 및 상기 제어 명령을, 무선 통신으로 연결된 구형 로봇으로 전송하여, 상기 구형 로봇의 동작을 제어하는 단계를 포함한다.
본 발명의 일실시예에 따르면, 조립 및 이동 가능하게 제작한 구형 로봇으로의 제어 명령 생성을 위한 프로그래밍 소스 코드를 코딩 학습자에게 공급(안내)하는 방식의 난이도 조절을 통해, 다양한 연령층에서 수준 별로 프로그래밍 교육을 실시할 수 있다.
또한, 본 발명의 일실시예에 따르면, 사용자의 코딩 수준(예, 초급자)을 고려하여 제공되는 코딩 화면에서 사용자에 의해 입력되는 소스 코드로, 조립 및 분리 가능하게 제작된 외골격 가변형 구형 로봇에 대한 다양한 제어 명령을 생성해 동작을 제어 함으로써, 사용자로 하여금 재미를 느끼며 수준 별로 코딩을 학습할 수 있게 하고, 구형 로봇의 동작을 통해 코딩에 대한 결과를 직접 확인할 수 있어 프로그래밍 교육 효과를 높일 수 있다.
또한, 본 발명의 일실시예에 따르면, 구형 로봇을 이루는 주요 구성 부품을 억지 끼워 맞춤 기법과 스냅핏(Snap-Fit) 방식을 적용하여 조립 함으로써 별도의 공구가 필요하지 않으며 볼트 또는 너트와 같은 체결 부품을 최소화 할 수 있다.
또한, 본 발명의 일실시예에 따르면, 구형 로봇을 이루는 주요 구성 부품을, 판형 자재를 기반으로 하는 도무송 기법에 따라 설계하여 양산 시 프레싱을 통해 생산 용이성을 확보할 수 있다.
또한, 본 발명의 일실시예에 따르면, 연산처리장치(MCU, 제어 모듈)를 비롯하여 블루투스 통신 모듈과 구동기, 전력원(배터리) 등을 간단한 결선으로 조립하여 구형 로봇 내부의 전자장치(내부 전자부품)를 구성할 수 있다.
또한, 본 발명의 일실시예에 따르면, 외부로부터 제공되는 프로그래밍 소스를 기반으로 사용자가 직접 프로그래밍을 통해 구형 로봇을 제어할 수 있고, 수행 난이도에 따라 제어 학습 원리를 습득 가능하게 할 수 있다.
도 1은 본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 시스템의 구성을 도시한 블록도이다.
도 2a는 본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 시스템에서, 구형 로봇의 구조를 도시한 도면이다.
도 2b는 본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 시스템에서, 구형 로봇을 이루는 구성 부품의 조립 과정을 도시한 도면이다.
도 2c는 본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 시스템에서, 구형 로봇을 이루는 구성 부품의 가공 일례를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 시스템에서, 코딩 중급자에게 제공되는 코드 블록의 일례를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 시스템에서, 코딩 초급자에 제공되는 모드 선택 화면의 일례를 도시한 도면이다.
도 5a는 본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 시스템에서, 제어 모드에서 구형 로봇의 동작 과정을 도시한 흐름도이다.
도 5b는 본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 시스템에서, 제어 모드가 아닌 경우 구형 로봇의 동작 과정을 도시한 흐름도이다.
도 6은 본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 방법의 순서를 도시한 흐름도이다.
이하, 첨부된 도면들을 참조하여 본 발명의 일실시예에 따른 응용프로그램 업데이트 장치 및 방법에 대해 상세히 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 시스템의 구성을 도시한 블록도이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 시스템(100)은, 출력부(101), 생성부(102) 및 처리부(103)를 포함하여 구성할 수 있다. 또한, 실시예에 따라, 코딩 교육용 구형 로봇 제어 시스템(100)은 통신부(104) 및 메모리부(105)를 각각 추가하여 구성할 수 있다.
발명의 구현에 앞서, 서비스 서버(110)는 구형 로봇 제어를 위한 어플리케이션을 사전에 제작하고, 다운로드 요청을 발생하는 컴퓨터, 스마트 폰 및 태블릿 PC 등과 같은 멀티미디어 기기에 상기 어플리케이션을 배포할 수 있다.
일례로, 본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 시스템(100)은, 상기 멀티미디어 기기에 설치되는 어플리케이션 형태로 구현될 수 있다.
출력부(101)는 어플리케이션에서 로봇 제어가 개시 됨에 따라, 상기 로봇 제어와 연관되는 학습용 소스 코드에 대한 리스트를, 설정된 난이도를 고려하여 출력한다.
생성부(102)는 상기 리스트를 참조하여 코딩 화면에서 작성되는 소스 코드로 제어 명령을 생성한다.
예를 들어, 도 4를 참조하면, 출력부(101)는 어플리케이션의 실행 화면(a)에서 로봇 제어 개시(START)(401)가 선택되면 현재 구형 로봇(120)에 설정되어 있는 동작 모드를 안내할 수 있다(b). 구형 로봇(120)이 제어 명령에 의해 동작하는 정상 제어 모드(403)로 설정되어 있을 경우, 출력부(101)는 제어 명령을 프로그래밍 할 수 있는 코딩 화면을 어플리케이션에 출력할 수 있다.
출력부(101)는, 메모리부(105)에 유지된 구형 로봇의 제어에 필요한 학습용 소스 코드의 리스트를 식별하고, 사용자에 관해 설정된 난이도('입문', '초급', '중급', '상급')를 확인하여, 학습용 소스 코드를 상기 난이도에 따라 변환해 상기 코딩 화면에 출력할 수 있다.
이때, 출력부(101)는 구형 로봇의 제어와 관련해 새롭게 학습할 소스 코드를, 서비스 서버(110)로부터 수신하여 상기 코딩 화면에 출력할 수도 있다. 또한, 출력부(101)는 사용자(코딩 학습자)의 연령과 이전 학습 내용을 고려해 난이도를 확인할 수도 있다.
일례로, 상기 난이도가 중급으로 설정된 경우, 출력부(101)는 상기 학습용 소스 코드를, 상기 구형 로봇에서 동작시키려는 제어 명령 별로 블록 다이어그램 형태로 구분한 코드 블록에 대한 리스트를 출력하고, 생성부(102)는 상기 리스트에서 선택 입력되는 코드 블록을 조합하여, 상기 제어 명령을 생성할 수 있다.
다른 일례로, 상기 난이도가 초급으로 설정된 경우, 출력부(101)는 상기 학습용 소스 코드에 의해 상기 구형 로봇에서 구현 가능한 동작의 리스트를 출력하고, 생성부(102)는 상기 리스트에서 선택 입력되는 동작에 상응하는 제어 명령을, 메모리부(105)로부터 식별할 수 있다.
즉, 출력부(101)는 사용자가 저연령층(예, 7세 이하)이며 코딩 경험이 없는 경우 난이도를 '초급'으로 추정(확인)하고, 상기 학습용 소스 코드에 의해 상기 구형 로봇에서 구현 가능한 동작의 리스트를 코딩 화면에 출력할 수 있다.
예를 들어, 출력부(101)는 '좌로 이동', '우로 이동', '직진', '뒤로 가기'와 같이 이동 방향을 전환하는 비교적 간단한 동작의 리스트를 포함하여 코딩 화면을 출력하고, 생성부(102)는 상기 코딩 화면에서 선택되는 동작 '좌로 이동'에 해당하는 제어 명령을 생성할 수 있다.
실시예에 따라, 난이도가 '입문'으로 추정될 경우, 후술하는 처리부(103)를 통해, 현재 설정된 정상 제어 모드(도 4의 403)에서, 라인을 따라 이동하는 라인 트레이서 모드(도 4의 404) 또는 전방의 장애물을 자동으로 회피하는 자동 구동 모드(장애물 회피 모드)(도 4의 405)로 전환할 수도 있으며, 이를 통해, 본격적인 프로그래밍 교육을 실시하기에 앞서 자동으로 움직이는 구형 로봇(120)의 모습을 사용자에게 보여 줌으로써 프로그래밍 학습에 대한 흥미를 유발할 수 있다.
다른 일례로, 상기 난이도가 중급으로 설정된 경우, 출력부(101)는 상기 학습용 소스 코드를, 상기 구형 로봇에서 동작시키려는 제어 명령 별로 블록 다이어그램 형태로 구분한 코드 블록에 대한 리스트를 출력하고, 생성부(102)는 상기 리스트에서 선택 입력되는 코드 블록을 조합하여, 상기 제어 명령을 생성할 수 있다.
즉, 출력부(101)는 사용자가 초등학생이며 이전 학습 내용이 메모리부(105)에 기록되어 있는 경우 난이도를 '중급'으로 추정하고, 상기 학습용 소스 코드를, 블록 다이어그램(Block diagram) 형태로 코딩 화면에 출력할 수 있다.
출력부(101)는 구형 로봇(120)에서 동작시키려는 제어 명령 별로 블록 다이어그램 형태로 구분한 코드 블록에 대한 리스트를 코딩 화면에 출력할 수 있으며, 생성부(102)는 상기 코딩 화면에서 선택되는 코드 블록을 조합하여 제어 명령을 생성할 수 있다.
예를 들어, 도 3을 참조하면, 출력부(101)는 블루투스 무선 통신으로 연결된 기기의 어드레스와 이름을 포함한 리스트를 획득하는 제어 명령을 생성하기 위해, 코드 블록(311, 312)을 코딩 화면에 출력할 수 있다.
또한, 출력부(101)는 특정 버튼 클릭 시 구형 로봇(120)에서 블루투스 무선 통신으로 연결된 기기로 문자(예, "a", "b", "c", "d")를 전송하는 동작과 연관된 제어 명령을 생성하기 위해, 코드 블록(321 내지 324)을 나열하여 코딩 화면에 출력할 수 있다.
또한, 출력부(101)는 특정 이미지를 드래그 시 구형 로봇(120)에서 블루투스 무선 통신으로 연결된 기기로 문자(예, "a", "b", "c", "d")를 전송하는 동작과 연관된 제어 명령을 생성하기 위해, 코드 블록(331 내지 334)을 나열하여 코딩 화면에 출력할 수 있다.
또 다른 일례로, 출력부(101)는 사용자의 코딩 학습 수준이 상급인 경우 상기 학습용 소스 코드를 코딩 화면에 출력 시, 소스 코드를 직접 타이핑하는 스크립트창(예, '아두이노 스크립트 창')을 함께 출력할 수 있다. 이를 통해, 생성부(102)는 상기 코딩 화면에 출력된 학습용 소스 코드를 참조하여 상급 사용자에 의해 스크립트창에 타이핑 입력되는 소스 코드로 제어 명령을 생성할 수 있다.
처리부(103)는 상기 제어 명령을, 무선 통신으로 연결된 구형 로봇으로 전송하여, 구형 로봇(120)의 동작을 제어한다.
실시예에 따라, 코딩 교육용 구형 로봇 제어 시스템(100)은 구형 로봇(120)과의 블루투스 무선 통신 연결을 설정하는 통신부(104)를 더 포함할 수 있다.
통신부(104)는 상기 로봇 제어의 개시에 연동하여 구형 로봇(120) 내 통신 모듈(122)로 접속 요청을 전송하고, 상기 접속 요청에 응답한 구형 로봇(120)과 무선 통신 연결을 설정할 수 있다. 상기 무선 통신 연결이 설정되면, 처리부(103)는 상기 제어 명령을 예컨대 블루투스 무선 통신을 통해 구형 로봇(120)으로 다이렉트 전송할 수 있다. 여기서, 통신부(104)는 상기 멀티미디어 기기에 구비된 통신 모듈일 수도 있다.
또한, 통신부(104)는 구형 로봇(120)과 다이렉트로 무선 통신 연결이 설정되지 않으면, 서비스 서버(110)를 경유하여 구형 로봇(120)과 통신 연결을 설정할 수도 있다.
일례로, 처리부(103)는 상기 제어 명령에 따라, 구형 로봇(120)에 구비된 양측 모터(127) 각각으로 회전 방향 및 회전 속도 중 적어도 하나를 조절하여, 구형 로봇에 대한 이동 방향을 전환할 수 있다.
예를 들어, 처리부(103)는 제어 명령이 '좌로 이동'인 경우, 구형 로봇(120)의 좌측 모터를 시계 방향으로 최고 속도로 회전하고, 구형 로봇(120)의 우측 모터를 반시계 방향으로 최저 속도로 회전하도록 조절하여, 구형 로봇(120)이 좌회전 하도록 제어할 수 있다.
구형 로봇(120)은, 제어 모듈(MCU)(121), 통신 모듈(122), 구동 모듈(123), 배터리 모듈(124), LED 모듈(125), 센서 모듈(126) 및 모터(127)를 포함하여 구성될 수 있다.
제어 모듈(MCU)(121)은 구형 로봇(120)의 연산 처리 장치 역할을 수행하며, 본 발명의 코딩 교육용 구형 로봇 제어 시스템(100)으로부터 수신되는 제어 명령을 처리하여 구형 로봇(120)이 동작하도록 할 수 있다.
통신 모듈(122)은 코딩 교육용 구형 로봇 제어 시스템(100)과 무선 통신 연결을 설정하는 역할을 수행하며 예를 들어 블루투스 통신 모듈일 수 있다.
배터리 모듈(124)은 구형 로봇(120)의 전력원이며, 구동 모듈(123)은 배터리 모듈(124)의 전력원을 사용하여 구형 로봇(120)에 구비된 양측 모터(127)를 구동하는 역할을 수행한다.
LED 모듈(125)은 색상과 점멸 방식으로 구형 로봇(120)의 상태를 나타내는 복수의 LED로 구성될 수 있다.
센서 모듈(126)은 구형 로봇(120)이 이동하는 방향(전방)으로 일정 거리 이내(20 cm 이내)에 오브젝트(장애물)가 위치하는지 여부와, 해당 오브젝트와의 거리를 측정(감지)하는 역할을 하는 복수의 거리 센서로 구성되고, 각 거리 센서는 구형 로봇(120)의 전방, 좌측 및 우측에 각각 부착될 수 있다.
여기서, 제어 모듈(MCU)(121), 통신 모듈(122) 및 구동 모듈(123)은, 플레이트(Plate) 위에 조립되어 구형 로봇(120) 내부의 전자장치를 구성할 수 있다.
구형 로봇(120)은, 도 2a를 참조하면, 내부의 전자장치(210) 및 전자장치(210)를 둘러 싸는 복수 개의 원호 형상의 외골격 프레임(220)으로 구성되어, 회전에 의해 전 방향으로 이동 가능하도록 구 형상으로 제작될 수 있다.
구형 로봇(120)은 도 2b를 참조하면, 복수의 구성 부품(201 내지 209, 211, 212)을 끼워 맞춤식 체결 방식에 따라 조립하여, 제어 명령에 따라 조립 형태가 변형 가능하도록 제작될 수 있다.
도 2b에 도시된 것처럼, 구형 로봇(120)은 플레이트(201) 위에 제어 모듈(208), LED 모듈(206), 구동 모듈(205) 및 통신 모듈(204)을 끼워 넣어 조립하여, 구형 로봇(120)의 내부 전자장치(210)를 구성하고, 플레이트(201) 아래에 배터리 모듈(207)을 끼워 넣을 수 있다.
또한, 구형 로봇(120)은 내부 전자장치(210)의 양측으로 모터 고정부(202)를 통해 모터(203)를 고정시키고, 모터(203)를 부품(211)을 통해 사이드 허브(SideHub)(209)에 연결할 수 있다.
또한, 구형 로봇(120)은 복수 개(예, '24개')의 외골격 프레임(212)을, 양측 모터(203)가 연결된 사이드 허브(209)에, 스냅핏(Snap-Fit) 체결 방식에 따라 탄성 가능하게 조립될 수 있다.
여기서, 구형 로봇(120)을 이루는 주요 구성 부품(201, 209, 211, 212)은, 도 2c의 (ⅰ) 및 (ⅱ)에 도시된 아크릴 판과 같은 판형 자재를 이용하여, 도무송 기법(Thomson method)에 따라 설계될 수 있다. 이에 따라, 각 구성 부품(201, 209, 211, 212)은 판형 자재의 프레싱을 통해 대량 생산이 가능해지므로 구형 로봇(120)의 제작비를 저감할 수 있다. 이때, 외골격 프레임(212)을 가요성 재료로 설계할 경우 구형 로봇(120)의 기동성이 향상되어 다양한 지형에서의 이동이 가능해질 수 있다.
즉, 구형 로봇(120)은 도무송 기법에 따라 설계된 복수의 구성 부품(201 내지 209, 211, 212)을 끼워 맞춤식 체결 방식에 따라 조립하되, 외골격 프레임(212)에 대해서는 스냅핏(Snap-Fit) 체결 방식에 따라 사이드 허브(209)에 조립하여, 제어 명령에 따라 조립 형태가 변형 가능하도록 제작될 수 있다. 이에 따라, 각 구성 부품(201, 209, 211, 212)을 조립 시 볼트와 너트 사용을 최소화 하여 사용자의 조립 편의성을 증대할 수 있다.
또한, 처리부(103)는 상기 제어 명령에 따라, 복수의 구성 부품(201 내지 209, 211, 212) 중, 구형 로봇(120) 내부의 전자장치를 둘러싸는 원호 형상의 복수 개의 외골격 프레임(212)을 변형시켜, 구형 로봇(120)과 지면과의 마찰력을 증가시킴으로써, 이동 중인 구형 로봇(120)을, 설정된 시간 이내에 이동 중지시킬 수 있다.
또한, 처리부(103)는 상기 제어 명령에 따라, 사이드 허브(209)를 통해 복수 개의 외골격 프레임(212)에 탄성력을 가하여 확장시킴으로써, 구형 로봇(120)의 직경 방향 부피를 일정치(예컨대 130 mm) 증가시킬 수 있다.
실시예에 따라, 처리부(130)는 구형 로봇(120)의 동작에 따른 결과 화면을 제공할 수 있다.
구체적으로, 사용자는 코딩 화면에서 소스 코드로 코딩을 시작하기 전에 구형 로봇(120)에서 구현 가능한 동작의 리스트에서 동작('좌로 이동')을 사전에 선택 입력할 수 있다. 처리부(130)는 사용자의 소스 코딩으로 생성한 제어 명령이, 사용자의 동작 선택에 따라 입력된 제어 명령과 상이하면, 수정된 코드를 출력하여 사용자에게 정확한 소스 코딩을 알려 줄 수 있다.
실시예에 따라, 상기 어플리케이션에서, 상기 제어 명령에 따라 상기 구형 로봇의 동작을 제어하는 정상 제어 모드에서, 라인 트레이서 모드(Line tracer mode)로 전환되는 경우, 처리부(130)는 상기 제어 명령과 무관하게 구형 로봇(120)에 구비된 제어 모듈(121)을 통해, 구형 로봇(120)이 바닥에 그어진 라인을 따라 이동하도록 제어할 수 있다.
구체적으로, 처리부(130)는 라인을 따라 이동하는 구형 로봇(120)에 구비된 좌측 센서에서 상기 라인이 감지될 경우, 구형 로봇(120)이 라인 좌측으로 치우친 것으로 판단해 구형 로봇(120)을 우측으로 이동하도록 제어하고, 구형 로봇(120)에 구비된 우측 센서에서 라인이 감지될 경우 구형 로봇(120)이 라인 우측으로 치우친 것으로 판단해 구형 로봇(120)을 좌측으로 이동하도록 제어할 수 있다.
다른 실시예로, 상기 어플리케이션에서, 상기 제어 명령에 따라 상기 구형 로봇의 동작을 제어하는 정상 제어 모드에서, 자동 구동 모드(Auto mode)로 전환되는 경우, 처리부(130)는 상기 제어 명령과 무관하게 구형 로봇(120)에 구비된 제어 모듈(121)을 통해, 구형 로봇(120)이 이동하는 방향(전방)에서 감지되는 장애물(오브젝트)을 회피하여 이동하도록 제어할 수 있다.
구체적으로, 처리부(130)는 구형 로봇(120)의 정면에 구비된 거리 센서에서 전방으로 일정 거리(예, '20 cm') 이내에 오브젝트가 감지되면, 일단 후방(back)으로 이동 후, 좌측 또는 우측으로 방향을 전환하여 이동하도록 제어할 수 있다.
예를 들어, 처리부(130)는 구형 로봇(120)의 좌측 거리 센서로 측정한 오브젝트와의 감지 거리가, 우측 거리 센서로 측정한 오브젝트와의 감지 거리 보다 클 경우, 감지 거리가 더 큰 쪽(좌측)으로 구형 로봇(120)의 방향을 전환하여 이동하도록 제어할 수 있다.
이처럼, 사용자는 자신이 소지한 멀티미디어 기기로 제어 명령을 직접 코딩하여 블루투스 무선 통신을 통해 구형 로봇(120)을 조종할 수 있어, 재미를 느끼며 수준 별로 코딩을 학습할 수 있고, 구형 로봇의 동작을 통해 코딩에 대한 결과를 직접 확인할 수 있어 프로그래밍 교육 효과를 높일 수 있다.
또한, 본 발명의 일실시예에 따르면, 조립 및 이동 가능하게 제작한 구형 로봇으로의 제어 명령 생성을 위한 프로그래밍 소스 코드를 코딩 학습자에게 공급(안내)하는 방식의 난이도 조절을 통해, 다양한 연령층에서 수준 별로 프로그래밍 교육을 실시할 수 있다.
도 2a는 본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 시스템에서, 구형 로봇의 구조를 도시한 도면이고, 도 2b는 구형 로봇을 이루는 구성 부품의 조립 과정을 도시한 도면이고, 도 2c는 본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 시스템에서, 구형 로봇을 이루는 구성 부품의 가공 일례를 도시한 도면이다.
도 2a에 도시된 것처럼, 구형 로봇(200)은, 내부의 전자장치(210) 및 전자장치(210)를 둘러 싸는 복수 개의 원호 형상의 외골격 프레임(220)으로 구성되어, 회전에 의해 전 방향으로 이동 가능하도록 구 형상으로 제작될 수 있다.
도 2b에 도시된 것처럼, 구형 로봇(200)은 끼워 맞춤식 체결 방식에 따라 플레이트(201) 위에 제어 모듈(208), LED 모듈(206), 구동 모듈(205) 및 통신 모듈(204)을 조립하여 구형 로봇(200)의 내부 전자장치(210)를 구성하고, 플레이트(201) 아래에 배터리 모듈(207)을 끼워 넣을 수 있다.
또한, 구형 로봇(200)은 내부 전자장치(210)의 양측으로 모터 고정부(202)를 통해 모터(203)를 고정시키고, 부품(211)을 통해 모터(203)와 사이드 허브(209)를 연결할 수 있다.
또한, 구형 로봇(200)은 양측 모터(203)가 연결된 사이드 허브(209)에, 복수 개(예, '24개')의 외골격 프레임(212)을 스냅핏(Snap-Fit) 체결 방식에 따라 탄성 가능하게 조립할 수 있다.
도 2c의 (ⅰ) 및 (ⅱ)에 도시된 것처럼, 구형 로봇(200)을 이루는 주요 구성 부품(201, 209, 211, 212)은, 아크릴 판과 같은 판형 자재를 이용하여, 도무송 기법(Thomson method)에 따라 설계될 수 있다.
이에 따라, 각 구성 부품(201, 209, 211, 212)은 판형 자재의 프레싱을 통해 대량 생산이 가능해지므로 구형 로봇(200)의 제작비를 저감할 수 있다.
이때, 외골격 프레임(212)을 가요성 재료로 설계할 경우 구형 로봇(200)의 기동성이 향상되어 다양한 지형에서의 이동이 가능해질 수 있다.
도 3은 본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 시스템에서, 코딩 중급자에게 제공되는 코드 블록의 일례를 도시한 도면이다.
본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 시스템은, 어플리케이션에서 로봇 제어 개시가 요청 됨에 따라 어플리케이션을 통해 코딩 화면을 출력하여, 코딩 초급자가 소스 코드를 블록 다이어그램 형태로 구분한 코드 블록을 선택하는 것으로, 소스 코드를 스크립트창에 일일이 직접 입력하지 않고, 코드 블록의 조합에 의해 구형 로봇 제어를 위한 제어 명령을 직접 코딩해 볼 수 있도록 할 수 있다.
또한, 코딩 교육용 구형 로봇 제어 시스템은, 코딩 숙련자에게는 스크립트창에 소스 코드를 직접 입력하여 코딩에 대한 이해도 향상을 도모할 수 있다.
일례로, 코딩 교육용 구형 로봇 제어 시스템은, 코딩 화면 상에 로봇 구동 알고리즘(스마트폰용 구동 알고리즘, 라인 트레이싱, 센서를 이용한 피드백 기반 구동 알고리즘 등)에 대한 예시를 제공하여 사용자가 알고리즘의 흐름에 따라 코딩해 볼 수 있도록 할 수 있다.
도 3을 참조하면, 코딩 교육용 구형 로봇 제어 시스템은, 구형 로봇에서 동작시키려는 제어 명령 별로 블록 다이어그램 형태로 구분한 코드 블록에 대한 리스트를 코딩 화면에 출력하고, 상기 코딩 화면에서 선택되는 코드 블록을 조합하여 제어 명령을 생성할 수 있다.
일례로, 코딩 교육용 구형 로봇 제어 시스템은, 블루투스 무선 통신으로 연결된 기기의 어드레스와 이름을 포함한 리스트를 획득하는 제어 명령을 생성하기 위해, 코드 블록(311, 312)을 코딩 화면에 출력할 수 있다.
또한, 코딩 교육용 구형 로봇 제어 시스템은, 특정 버튼 클릭 시 구형 로봇에서 블루투스 무선 통신으로 연결된 기기로 문자(예, "a", "b", "c", "d")를 전송하는 동작과 연관된 제어 명령을 생성하기 위해, 코드 블록(321 내지 324)을 나열하여 코딩 화면에 출력할 수 있다.
또한, 코딩 교육용 구형 로봇 제어 시스템은, 특정 이미지를 드래그 시 구형 로봇에서 블루투스 무선 통신으로 연결된 기기로 문자(예, "a", "b", "c", "d")를 전송하는 동작과 연관된 제어 명령을 생성하기 위해, 코드 블록(331 내지 334)을 나열하여 코딩 화면에 출력할 수 있다.
도 4는 본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 시스템에서, 코딩 초급자에 제공되는 모드 선택 화면의 일례를 도시한 도면이다.
도 4를 참조하면, 본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 시스템은, 어플리케이션의 실행 화면(a)에서 로봇 제어 개시(START)(401)가 선택되면 현재 구형 로봇(120)에 설정되어 있는 동작 모드를 안내하고(b), 구형 로봇이 제어 명령에 의해 동작하는 정상 제어 모드(403)로 설정되어 있을 경우, 제어 명령을 프로그래밍 할 수 있는 코딩 화면을 어플리케이션에 출력할 수 있다.
이때, 사용자의 코딩 학습 난이도가 '입문'으로 추정될 경우, 코딩 교육용 구형 로봇 제어 시스템은, 현재 설정된 정상 제어 모드(403)에서, 라인을 따라 이동하는 라인 트레이서 모드(404) 또는 전방의 장애물을 자동으로 회피하는 자동 구동 모드(장애물 회피 모드)(405)로 전환하고, 전환된 동작 모드에서 동작하는 구형 로봇을 어플리케이션에 시각화 할 수 있다(d).
이처럼 코딩 교육용 구형 로봇 제어 시스템은 본격적인 프로그래밍 교육을 실시하기에 앞서 라인 트레이서 모드(404) 또는 자동 구동 모드(장애물 회피 모드)(405)에서 움직이는 구형 로봇의 모습을 사용자에게 보여 줌으로써 프로그래밍 학습에 대한 흥미를 유발할 수 있다.
또한, 코딩 교육용 구형 로봇 제어 시스템은, 어플리케이션의 실행 화면(a)에서 설정(SETTING)(402)이 선택되면, 구형 로봇의 동작과 관련한 설정 화면(c)을 어플리케이션에 출력할 수 있다.
여기서, 상기 설정 화면(c)에는, 구형 로봇에 구비된 LED 모듈의 온/오프를 제어하기 위한 메뉴(406)와, 학습자 스스로 구형 로봇의 제어 모드(동작 모드)를 선택하는 메뉴(407), 및 구형 로봇의 최고 이동 속도를 조정하기 위한 최대 전압 설정 메뉴(408)가 포함될 수 있다.
이하, 도 5a, 도 5b 및 도 6에서는 본 발명의 실시예들에 따른 코딩 교육용 구형 로봇 제어 시스템(100)의 작업 흐름을 상세히 설명한다.
도 5a는 본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 시스템에서, 제어 모드에서의 구형 로봇의 동작 과정을 도시한 흐름도이다.
본 실시예에 따른 코딩 교육용 구형 로봇 제어 방법은 상술한 코딩 교육용 구형 로봇 제어 시스템(100)에 의해 수행될 수 있다.
도 5a에는, 제어 명령을 전송해 구형 로봇의 동작을 제어하기 위한 제어 모드에서의 로봇 구동 알고리즘이 예시되어 있다.
도 5a를 참조하면, 단계(502)에서 구형 로봇은 구동 신호 입력에 따라 동작 모드 '정상 제어 모드'를 확인하고, 단계(503)에서 구형 로봇은 본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 시스템으로부터의 제어 명령의 입력을 대기한다.
단계(503)에서 제어 명령의 입력이 확인되면, 단계(504)에서, 구형 로봇은 상기 제어 명령이 '직진(G0)'과 연관된 케이스 1에 매칭하는지 판단한다.
상기 판단 결과, 제어 명령이 케이스 1과 매칭되면, 단계(505)에서, 구형 로봇은 좌측 모터를 시계 방향으로 최고 속도로 회전하고, 우측 모터를 반시계 방향으로 최고 속도로 회전하여, 전방을 향해 직진한다. 이후, 구형 로봇은 단계(512)로 이동하여 모터의 전압을 증가시키고, 단계(503)으로 이동하여 신규의 제어 명령의 입력을 대기한다.
상기 판단 결과, 제어 명령이 케이스 1과 매칭되지 않으면, 단계(506)에서, 구형 로봇은 상기 제어 명령이 '좌회전(Left)'과 연관된 케이스 2에 매칭하는지 판단한다.
상기 판단 결과, 제어 명령이 케이스 2와 매칭되면, 단계(507)에서, 구형 로봇은 좌측 모터를 시계 방향으로 최고 속도로 회전하고, 우측 모터를 반시계 방향으로 최저 속도로 회전하여, 좌측으로 방향을 전환한다. 이후, 구형 로봇은 단계(512)로 이동하여 모터의 전압을 증가시키고, 단계(503)으로 이동하여 신규의 제어 명령의 입력을 대기한다.
상기 판단 결과, 제어 명령이 케이스 2와 매칭되지 않으면, 단계(508)에서, 구형 로봇은 상기 제어 명령이 '우회전(Right)'과 연관된 케이스 3에 매칭하는지 판단한다.
상기 판단 결과, 제어 명령이 케이스 3과 매칭되면, 단계(509)에서, 구형 로봇은 좌측 모터를 시계 방향으로 최저 속도로 회전하고, 우측 모터를 반시계 방향으로 최고 속도로 회전하여, 우측으로 방향을 전환한다. 이후, 구형 로봇은 단계(512)로 이동하여 모터의 전압을 증가시키고, 단계(503)으로 이동하여 신규의 제어 명령의 입력을 대기한다.
상기 판단 결과, 제어 명령이 케이스 3과 매칭되지 않으면, 단계(510)에서, 구형 로봇은 상기 제어 명령이 '뒤로 이동(Back)'과 연관된 케이스 4에 매칭하는지 판단한다.
상기 판단 결과, 제어 명령이 케이스 4와 매칭되면, 단계(511)에서, 구형 로봇은 좌측 모터를 반시계 방향으로 최고 속도로 회전하고, 우측 모터를 시계 방향으로 최고 속도로 회전하여 후진한다. 이후, 구형 로봇은 단계(512)로 이동하여 모터의 전압을 증가시키고, 단계(503)으로 이동하여 신규의 제어 명령의 입력을 대기한다.
상기 판단 결과, 제어 명령이 케이스 4와도 매칭되지 않거나, 단계(503)에서 제어 명령이 일정 시간 내에 입력되지 않으면, 단계(513)에서 구동 로봇은 모터의 전압을 감소하고, 종료한다.
도 5b는 본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 시스템에서, 제어 모드가 아닌 경우 구형 로봇의 동작 과정을 도시한 흐름도이다.
본 실시예에 따른 코딩 교육용 구형 로봇 제어 방법은 상술한 코딩 교육용 구형 로봇 제어 시스템(100)에 의해 수행될 수 있다.
도 5b에는, 제어 명령과 무관하게, 센서를 통해 감지한 데이터를 기반으로 동작하는 라인 트레이서 모드 또는 자동 구동 모드에서의 로봇 구동 알고리즘이 예시되어 있다.
도 5b를 참조하면, 단계(501)에서, 구형 로봇은, 본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 시스템으로부터 구동 신호가 입력 됨에 따라, 설정된 제어 모드(동작 모드)를 확인한다.
상기 단계(501)에서의 확인 결과, 제어 모드가 '정상 제어 모드'로 확인될 경우(도 5a의 단계(502)), 구형 로봇은 도 5a와 같은 로봇 구동 알고리즘을 수행한다.
또한, 상기 단계(501)에서의 확인 결과, 제어 모드가 '라인 트레이서 모드'로 확인될 경우(단계(514)), 구형 로봇은 단계(515 내지 519)에 도시된 로봇 구동 알고리즘을 수행한다.
단계(515)에서, 구형 로봇은 바닥에 그어진 라인을 따라 이동하는 동안 좌측 센서로 라인이 감지되는지 판단한다.
상기 판단 결과, 좌측 센서로 라인이 감지되면, 단계(516)에서, 구형 로봇은 좌측으로 치우친 상태로 인식하여 우회전하고, 이후 단계(519)로 이동하여 직진한다.
상기 판단 결과, 좌측 센서로 라인이 감지되지 않으면, 단계(517)에서, 구형 로봇은 우측 센서로 라인이 감지되는지 재판단한다.
상기 재판단 결과, 우측 센서로 라인이 감지되면, 단계(518)에서, 구형 로봇은 우측으로 치우친 상태로 인식하여 좌회전하고, 이후 단계(519)로 이동하여 직진한다.
상기 재판단 결과, 우측 센서를 통해서도 라인이 감지되면, 단계(519)에서, 구형 로봇은 좌우로 치우치지 않고 라인을 따라 정상적으로 이동 중인 것으로 인식해 직진하고, 이후, 단계(515)로 이동하여 상술한 과정을 반복한다.
또한, 상기 단계(501)에서의 확인 결과, 제어 모드가 '자동 구동 모드'로 확인될 경우(단계(520)), 구형 로봇은 단계(521 내지 525)에 도시된 로봇 구동 알고리즘을 수행한다.
단계(521)에서, 구형 로봇은 정면에 부착된 거리 센서를 통해 전방으로 일정 거리('20 cm') 이내에 장애물(오브젝트)이 존재하는지 감지한다.
상기 단계(521)에서의 감지 결과, 장애물이 감지되면, 단계(522)에서, 구형 로봇은 일단 뒤로 이동(Back)한 후, 방향 전환을 위해 일정 시간(예, 1초)을 대기하고, 대기하는 동안 좌측에 부착된 거리 센서와 우측에 부착된 거리 센서로 장애물과의 감지 거리를 측정한다.
단계(523)에서, 구형 로봇은, 좌측에 부착된 거리 센서로 측정한 감지 거리가, 우측에 부착된 거리 센서로 측정한 감지 거리 보다 더 큰지 판단한다.
상기 판단 결과, 좌측의 감지 거리가 우측의 감지 거리 보다 더 클 경우, 단계(524, 525)에서 구형 로봇은 좌회전 후 직진하고, 단계(521)로 이동하여 상술한 과정을 반복한다.
상기 판단 결과, 우측의 감지 거리가 좌측의 감지 거리 보다 더 클 경우, 단계(526, 525)에서, 구형 로봇은 우회전 후 직진하고, 단계(521)로 이동하여 상술한 과정을 반복한다.
도 6은 본 발명의 일실시예에 따른 코딩 교육용 구형 로봇 제어 방법의 순서를 도시한 흐름도이다.
본 실시예에 따른 코딩 교육용 구형 로봇 제어 방법은 상술한 코딩 교육용 구형 로봇 제어 시스템(100)에 의해 수행될 수 있다.
도 6을 참조하면, 단계(610)에서, 교육용 구형 로봇 제어 시스템(100)은, 어플리케이션에서 로봇 제어 개시가 요청되는지 판단한다.
상기 판단 결과, 로봇 제어 개시가 요청되는 경우, 단계(620)에서, 교육용 구형 로봇 제어 시스템(100)은, 로봇 제어와 연관되는 학습용 소스 코드에 대한 리스트를 설정된 난이도를 고려하여 출력하고, 단계(630)에서, 교육용 구형 로봇 제어 시스템(100)은, 상기 리스트를 참조하여 코딩 화면에서 작성되는 소스 코드로 제어 명령을 생성한다.
일례로, 교육용 구형 로봇 제어 시스템(100)은 코딩 학습에 대한 난이도가 '중급'으로 설정된 경우, 출력부(101)는 학습용 소스 코드를, 구형 로봇에서 동작시키려는 제어 명령 별로 블록 다이어그램 형태로 구분한 코드 블록에 대한 리스트를 출력하고, 상기 리스트에서 선택 입력되는 코드 블록을 조합하여, 상기 제어 명령을 생성할 수 있다.
예를 들어, 도 3을 참조하면, 교육용 구형 로봇 제어 시스템(100)은, 블루투스 무선 통신으로 연결된 기기의 어드레스와 이름을 포함한 리스트를 획득하는 제어 명령을 생성하기 위한 코드 블록(311, 312)과, 특정 버튼 클릭 시 구형 로봇(120)에서 블루투스 무선 통신으로 연결된 기기로 문자(예, "a", "b", "c", "d")를 전송하는 동작과 연관된 제어 명령을 생성하기 위한 코드 블록(321 내지 324)과, 특정 이미지를 드래그 시 구형 로봇(120)에서 블루투스 무선 통신으로 연결된 기기로 문자(예, "a", "b", "c", "d")를 전송하는 동작과 연관된 제어 명령을 생성하기 위한 코드 블록(331 내지 334)을 나열하여 코딩 화면에 출력하고, 각 코드 블록 중에서 사용자에 의해 선택 입력되는 코드 블록을 조합하여 제어 명령을 생성할 수 있다.
다른 일례로, 교육용 구형 로봇 제어 시스템(100)은 사용자의 코딩 학습 수준이 상급인 경우, 로봇 구동 알고리즘(스마트폰용 구동 알고리즘, 라인 트레이싱, 센서를 이용한 피드백 기반 구동 알고리즘 등)에 대한 예시와 스크립트창(예, '아두이노 스크립트 창')을 코딩 화면에 출력하여, 알고리즘의 흐름에 따라 제어 명령을 직접 코딩해 볼 수 있도록 할 수 있다.
단계(640)에서, 교육용 구형 로봇 제어 시스템(100)은, 상기 제어 명령을, 무선 통신으로 연결된 구형 로봇으로 전송하여, 상기 구형 로봇의 동작을 제어한다.
일례로, 교육용 구형 로봇 제어 시스템(100)은, 상기 제어 명령에 따라, 구형 로봇에 구비된 양측 모터 각각으로 회전 방향 및 회전 속도 중 적어도 하나를 조절하여, 구형 로봇에 대한 이동 방향을 전환할 수 있다.
예를 들어, 교육용 구형 로봇 제어 시스템(100)은 제어 명령이 '좌로 이동'인 경우, 구형 로봇의 좌측 모터를 시계 방향으로 최고 속도로 회전하고, 구형 로봇의 우측 모터를 반시계 방향으로 최저 속도로 회전하도록 조절하여, 구형 로봇이 좌회전 하도록 제어할 수 있다.
또한, 교육용 구형 로봇 제어 시스템(100)은 사용자의 코딩을 통해 생성한 제어 명령에 따라, 구형 로봇을 이루는 외골격 프레임의 조립 형태를 동적으로 변형 함으로써, 구형 로봇의 조립성(외골격 가변성)을, 사용자의 수준 별 코딩 교육에 활용할 수 있다.
이와 같이, 교육용 구형 로봇 제어 시스템(100)은, 사용자의 코딩 수준(예, 초급자)을 고려하여 제공되는 코딩 화면에서 사용자에 의해 입력되는 소스 코드로, 조립 및 분리 가능하게 제작된 외골격 가변형 구형 로봇에 대한 다양한 제어 명령을 생성해 동작을 제어 함으로써, 사용자로 하여금 재미를 느끼며 수준 별로 코딩을 학습할 수 있게 하고, 구형 로봇의 동작을 통해 코딩에 대한 결과를 직접 확인할 수 있어 프로그래밍 교육 효과를 높일 수 있다.
본 발명의 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
100: 코딩 교육용 구형 로봇 제어 시스템
101: 출력부 102: 생성부
103: 처리부 104: 통신부
105: 메모리부
110: 서비스 서버 120: 구형 로봇
121: MCU 122: 통신 모듈
123: 구동 모듈 124: 배터리 모듈
125: LED 모듈 126: 센서 모듈
127: 모터

Claims (10)

  1. 어플리케이션에서 로봇 제어가 개시 됨에 따라,
    상기 로봇 제어와 연관되는 리스트를 설정된 난이도를 고려하여 출력하는 단계;
    상기 리스트 내 학습용 소스 코드를 참조하여, 코딩 화면에서 작성되는 소스 코드로 제어 명령을 생성하는 단계; 및
    상기 제어 명령을, 무선 통신으로 연결된 구형 로봇으로 전송하여, 상기 구형 로봇의 동작을 제어하는 단계
    를 포함하는 코딩 교육용 구형 로봇 제어 방법.
  2. 제1항에 있어서,
    상기 구형 로봇의 동작을 제어하는 단계는,
    상기 제어 명령에 따라, 상기 구형 로봇에 구비된 양측 모터 각각으로 회전 방향 및 회전 속도 중 적어도 하나를 조절하여, 상기 구형 로봇에 대한 이동 방향을 전환하는 단계
    를 포함하는 코딩 교육용 구형 로봇 제어 방법.
  3. 제1항에 있어서,
    상기 구형 로봇은, 판형 자재를 이용하여 도무송 기법(Thomson method)에 따라 마련한 복수의 골격 부품 각각을 끼워 맞춤식 체결 방식에 따라 조립하여 변형 가능하게 제작되고,
    상기 구형 로봇의 동작을 제어하는 단계는,
    상기 제어 명령에 따라, 상기 복수의 골격 부품 중, 상기 구형 로봇 내부의 전자장치를 둘러싸는 원호 형상의 복수 개의 외골격 프레임을 변형시켜, 상기 구형 로봇과 지면과의 마찰력을 증가시킴으로써, 이동 중인 상기 구형 로봇을, 설정된 시간 이내에 이동 중지시키는 단계
    를 포함하는 코딩 교육용 구형 로봇 제어 방법.
  4. 제1항에 있어서,
    상기 구형 로봇은, 복수 개의 외골격 프레임을, 양측 모터가 연결된 사이드 허브에, 스냅핏(Snap-Fit) 체결 방식에 따라 탄성 가능하게 조립하여 제작되고,
    상기 구형 로봇의 동작을 제어하는 단계는,
    상기 제어 명령에 따라, 상기 사이드 허브를 통해 상기 복수 개의 외골격 프레임에 탄성력을 가하여 확장시킴으로써, 상기 구형 로봇의 직경 방향 부피를 증가시키는 단계
    를 포함하는 코딩 교육용 구형 로봇 제어 방법.
  5. 제1항에 있어서,
    상기 소스 코드로 생성한 제어 명령이, 사전에 입력된 제어 명령과 상이하면,
    상기 제어 명령에 대한 수정된 코드를, 상기 구형 로봇의 동작에 따른 결과 화면으로서 제공하는 단계
    를 더 포함하는 코딩 교육용 구형 로봇 제어 방법.
  6. 제1항에 있어서,
    상기 어플리케이션에서, 상기 제어 명령에 따라 상기 구형 로봇의 동작을 제어하는 정상 제어 모드에서, 라인 트레이서 모드(Line tracer mode) 또는 자동 구동 모드(Auto mode)로 전환되는 경우,
    상기 제어 명령과 무관하게 상기 구형 로봇에 구비된 제어 모듈을 통해, 상기 구형 로봇의 동작을 제어하는 단계
    를 더 포함하는 코딩 교육용 구형 로봇 제어 방법.
  7. 제6항에 있어서,
    상기 제어 모듈을 통해, 상기 구형 로봇의 동작을 제어하는 단계는,
    상기 라인 트레이서 모드로 전환됨에 따라, 라인을 따라 이동하는 상기 구형 로봇에 구비된 좌측 센서에서 상기 라인이 감지되면, 상기 구형 로봇을 우측으로 이동하도록 제어하고, 라인을 따라 이동하는 상기 구형 로봇에 구비된 우측 센서에서 상기 라인이 감지되면, 상기 구형 로봇을 좌측으로 이동하도록 제어하는 단계; 및
    상기 자동 구동 모드로 전환됨에 따라, 상기 구형 로봇에 구비된 거리 센서에서 전방으로 일정 거리 이내에 오브젝트가 감지되면, 후방으로 이동 후, 좌측 또는 우측으로 방향을 전환하여 이동하도록 제어하는 단계
    를 포함하는 코딩 교육용 구형 로봇 제어 방법.
  8. 제1항에 있어서,
    상기 난이도가 중급으로 설정된 경우,
    상기 출력하는 단계는,
    상기 학습용 소스 코드를, 상기 구형 로봇에서 동작시키려는 제어 명령 별로 블록 다이어그램 형태로 구분한 소스 블록에 대한 리스트를 출력하는 단계
    를 포함하고,
    상기 제어 명령을 생성하는 단계는,
    상기 리스트에서 선택 입력되는 소스 블록을 조합하여, 상기 제어 명령을 생성하는 단계
    를 포함하는 코딩 교육용 구형 로봇 제어 방법.
  9. 제1항에 있어서,
    상기 난이도가 초급으로 설정된 경우,
    상기 출력하는 단계는,
    상기 학습용 소스 코드에 의해 상기 구형 로봇에서 구현 가능한 동작의 리스트를 출력하는 단계
    를 포함하고,
    상기 제어 명령을 생성하는 단계는,
    상기 리스트에서 선택 입력되는 동작에 상응하는 제어 명령을, 메모리부로부터 식별하는 단계
    를 포함하는 코딩 교육용 구형 로봇 제어 방법.
  10. 어플리케이션에서 로봇 제어가 개시 됨에 따라,
    상기 로봇 제어와 연관되는 리스트를 설정된 난이도를 고려하여 출력하는 출력부;
    상기 리스트 내 학습용 소스 코드를 참조하여, 코딩 화면에서 작성되는 소스 코드로 제어 명령을 생성하는 생성부; 및
    상기 제어 명령을, 무선 통신으로 연결된 구형 로봇으로 전송하여, 상기 구형 로봇의 동작을 제어하는 처리부
    를 포함하는 코딩 교육용 구형 로봇 제어 시스템.
KR1020180031689A 2018-03-19 2018-03-19 코딩 교육용 구형 로봇 제어 방법 및 코딩 교육용 구형 로봇 제어 시스템 KR102076308B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180031689A KR102076308B1 (ko) 2018-03-19 2018-03-19 코딩 교육용 구형 로봇 제어 방법 및 코딩 교육용 구형 로봇 제어 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180031689A KR102076308B1 (ko) 2018-03-19 2018-03-19 코딩 교육용 구형 로봇 제어 방법 및 코딩 교육용 구형 로봇 제어 시스템

Publications (2)

Publication Number Publication Date
KR20190109951A true KR20190109951A (ko) 2019-09-27
KR102076308B1 KR102076308B1 (ko) 2020-02-11

Family

ID=68097100

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180031689A KR102076308B1 (ko) 2018-03-19 2018-03-19 코딩 교육용 구형 로봇 제어 방법 및 코딩 교육용 구형 로봇 제어 시스템

Country Status (1)

Country Link
KR (1) KR102076308B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102097379B1 (ko) * 2020-01-15 2020-04-06 (주)피앤씨 디지털 키트 시스템
KR20210063656A (ko) * 2019-11-25 2021-06-02 주식회사 웨이브쓰리디 이동체 제어를 위한 코딩용 앱을 포함한 모바일 디바이스와 이를 이용한 이동체 제어 방법
KR102263235B1 (ko) * 2020-08-13 2021-06-14 남주선 오픈소스하드웨어용 로봇, 피지컬컴퓨팅 및 ai융합프레임
WO2022075817A1 (ko) * 2020-10-08 2022-04-14 주식회사 로보닉스 원격 로봇 코딩 교육 시스템
KR102625220B1 (ko) * 2022-08-17 2024-01-15 공주대학교 산학협력단 마이크로컨트롤러 교육용 키트

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011224732A (ja) * 2010-04-20 2011-11-10 Fukuoka Univ Of Education 教育教材用ロボット
KR20120113585A (ko) * 2011-04-05 2012-10-15 주식회사 로보로보 지능형 라인트레이싱 로봇 및 이의 구동 방법
KR20130020970A (ko) * 2011-08-22 2013-03-05 인크로스 주식회사 코딩 시스템
KR20160015435A (ko) * 2014-07-30 2016-02-15 조현권 감시 로봇 시스템
KR101715621B1 (ko) * 2015-10-14 2017-03-27 (주)비즈맘 프로그래밍 교육 시스템 및 그 구동 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011224732A (ja) * 2010-04-20 2011-11-10 Fukuoka Univ Of Education 教育教材用ロボット
KR20120113585A (ko) * 2011-04-05 2012-10-15 주식회사 로보로보 지능형 라인트레이싱 로봇 및 이의 구동 방법
KR20130020970A (ko) * 2011-08-22 2013-03-05 인크로스 주식회사 코딩 시스템
KR20160015435A (ko) * 2014-07-30 2016-02-15 조현권 감시 로봇 시스템
KR101715621B1 (ko) * 2015-10-14 2017-03-27 (주)비즈맘 프로그래밍 교육 시스템 및 그 구동 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210063656A (ko) * 2019-11-25 2021-06-02 주식회사 웨이브쓰리디 이동체 제어를 위한 코딩용 앱을 포함한 모바일 디바이스와 이를 이용한 이동체 제어 방법
WO2021107343A1 (ko) * 2019-11-25 2021-06-03 주식회사 웨이브쓰리디 이동체 제어를 위한 코딩용 앱을 포함한 모바일 디바이스와 이를 이용한 이동체 제어 방법
KR102097379B1 (ko) * 2020-01-15 2020-04-06 (주)피앤씨 디지털 키트 시스템
KR102263235B1 (ko) * 2020-08-13 2021-06-14 남주선 오픈소스하드웨어용 로봇, 피지컬컴퓨팅 및 ai융합프레임
WO2022075817A1 (ko) * 2020-10-08 2022-04-14 주식회사 로보닉스 원격 로봇 코딩 교육 시스템
KR102625220B1 (ko) * 2022-08-17 2024-01-15 공주대학교 산학협력단 마이크로컨트롤러 교육용 키트

Also Published As

Publication number Publication date
KR102076308B1 (ko) 2020-02-11

Similar Documents

Publication Publication Date Title
KR102076308B1 (ko) 코딩 교육용 구형 로봇 제어 방법 및 코딩 교육용 구형 로봇 제어 시스템
JP6508484B2 (ja) 接続された玩具を使用する教育システム
Nourbakhsh et al. The robotic autonomy mobile robotics course: Robot design, curriculum design and educational assessment
Narahara et al. Personalizing homemade bots with plug & play AI for STEAM education
US20150298315A1 (en) Methods and systems to facilitate child development through therapeutic robotics
WO2017186001A1 (en) Education system using virtual robots
CN109272822A (zh) 一种机动车驾驶培训系统
Banerjee et al. The RobotSlang Benchmark: Dialog-guided robot localization and navigation
Yun et al. Easy interface and control of tele-education robots
Vozar A Framework for Improving the Speed and Performance of Teleoperated Mobile Manipulators.
Dorsey et al. Developing the capabilities of blind and visually impaired youth to build and program robots
Ugurlu et al. Project-based learning using LabVIEW and embedded hardware
KR101505598B1 (ko) 로봇 교육 장치
Marques et al. Donnie robot: Towards an accessible and educational robot for visually impaired people
Metzler et al. Lessons learned from a project-based learning approach for teaching new cognitive product development to multi-disciplinary student teams
Hernández et al. A home made robotic platform based on theo jansen mechanism for teaching robotics
ANGEL FERNANDEZ TheatreBot: Studying emotion projection and emotion enrichment system for autonomous theatrical robot
Mitra Robotics in education and training
Grandi et al. Unibot remote laboratory: A scalable web-based set-up for education and experimental activities in robotics
Noordin et al. UMP STEM Bot as educational kit for robotics and computer programming
Hazelwood et al. Designing, Building, and Testing an Autonomous Search and Rescue Robot—An Undergraduate Applied Research Experience
KR102353377B1 (ko) 교육용 자율 주행 플랫폼
KR20150050170A (ko) 유아용 전동차를 이용한 시뮬레이션 장치
Ilyas et al. CODI Bot: An Accessible Robot for New Coders
KR20080069721A (ko) 인터액티브 교육 시스템 및 이를 이용한 교육 서비스 제공방법.

Legal Events

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