KR20200003437A - 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템 - Google Patents

로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템 Download PDF

Info

Publication number
KR20200003437A
KR20200003437A KR1020180076207A KR20180076207A KR20200003437A KR 20200003437 A KR20200003437 A KR 20200003437A KR 1020180076207 A KR1020180076207 A KR 1020180076207A KR 20180076207 A KR20180076207 A KR 20180076207A KR 20200003437 A KR20200003437 A KR 20200003437A
Authority
KR
South Korea
Prior art keywords
block
smart home
robot
computing device
script
Prior art date
Application number
KR1020180076207A
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 KR1020180076207A priority Critical patent/KR20200003437A/ko
Publication of KR20200003437A publication Critical patent/KR20200003437A/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Toys (AREA)
  • Manipulator (AREA)

Abstract

로봇 제어 어플리케이션 생성을 기반으로 하는 코딩 교육 시스템이 제공된다. 시스템은, 터치 센서, 음성 입력 수단, 영상 입력 수단, 방향 전환 가능한 바퀴 구동 수단, 음성 출력 수단 및 영상 출력 수단을 구비하는 스마트 홈 로봇과 상기 스마트 홈 로봇의 동작을 제어하기 위한 로봇 제어 어플리케이션을 사용자로 하여금 생성하도록 지원하는 컴퓨팅 디바이스를 포함한다.

Description

로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템{A SYSTEM FOR CODING EDUCATION USING GENERATING AN APPLICATION FOR ROBOT CONTROL}
본 발명은 코딩 교육 시스템에 관한 것으로서, 보다 구체적으로는 로봇 제어 어플리케이션의 생성 과정을 이용하여 코딩 교육을 수행하는 코딩 교육 시스템에 관한 것이다.
4 차 산업 혁명 시대에 대한 논의와 함께 코딩 교육에 대한 관심 역시 커지고 있다. 인공 지능 및 빅 데이터, IoT 를 포함하는 정보 통신 기술의 급격한 발전은 사회 일반에도 급진적인 영향을 미칠 것으로 예상되며, 4 차 산업의 흐름에 따라 새로운 직업이 끊임없이 창출되는 시대에는 특히 창의적 아이디어를 현실화 시킬 수 있는 창의 인재의 육성이 요구되고 있다. 이러한 분위기 하에서 창의력, 논리력 및 비판적 사고 능력의 개발이 가능한 코딩 교육이 필수적이라는 점이 인정되어 초, 중, 고교의 코딩 교육 의무화 정책이 시행되어 점차 확대될 예정에 있다.
다만, 코딩 교육의 구체적 방안에 대해 수많은 논의가 오고가고 있으나, 통상의 상용 프로그래밍 언어에 대한 교육은 유소년이나 초심자를 대상으로 하기에는 지나치게 어렵고 진입 장벽이 존재하는 반면, 블록형 완구를 포함하는 어린이용 코딩 교구는 구현 가능한 시나리오에 한계가 있어 창의적 문제 해결 능력의 배양 효과가 미진하며, 교육 대상 역시 특정 연령대 이하로 한정될 수 밖에 없는 문제점이 있다.
한국 공개특허공보 제 2018-0037631 호 ("블록을 이용한 코딩 교육 서비스 제공 장치 및 방법", (주)모션블루)
전술한 문제점을 해결하기 위한 본 발명의 일 목적은 터치 센싱, 음성 및 영상 입출력, 이동 및 방향 전환과 같이 복잡한 복수의 기능을 수행할 수 있는 스마트 홈 로봇의 동작을 제어할 수 있는 어플리케이션의 생성을 도식화된 저작 툴을 기반으로 사용자가 용이하게 코딩할 수 있도록 하는, 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템을 제공하는 것이다.
다만, 본 발명의 해결하고자 하는 과제는 이에 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.
전술한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 로봇 제어 어플리케이션 생성을 기반으로 하는 코딩 교육 시스템은, 터치 센서, 음성 입력 수단, 영상 입력 수단, 방향 전환 가능한 바퀴 구동 수단, 음성 출력 수단 및 영상 출력 수단을 구비하는 스마트 홈 로봇; 및 상기 스마트 홈 로봇의 동작을 제어하기 위한 로봇 제어 어플리케이션을 사용자로 하여금 생성하도록 지원하는 컴퓨팅 디바이스를 포함할 수 있다.
일 측면에 따르면, 상기 컴퓨팅 디바이스는, 상기 컴퓨팅 디바이스 상에서 상기 로봇 제어 어플리케이션의 코딩을 위한 시나리오 편집기가 구동되도록 구성되고, 상기 시나리오 편집기는, 상기 컴퓨팅 디바이스의 디스플레이의 적어도 일부에 위치한 모듈 목록 영역에 텍스트로 표현된 모듈 - 상기 모듈은 상기 스마트 홈 로봇의 복수의 기능 중 어느 하나를 각각 제어하도록 미리 프로그래밍됨 - 들을 표시하고, 사용자가 상기 텍스트로 표현된 모듈들 중 선택된 어느 하나를 상기 컴퓨팅 디바이스의 디스플레이의 적어도 일부에 위치한 작업 영역으로 드래그 앤 드롭하는 것에 응답하여 상기 작업 영역에 상기 선택된 어느 하나의 모듈에 상응하는 도식화된 형상의 기능 블록을 표시하도록 구성될 수 있다.
일 측면에 따르면, 상기 기능 블록은 상기 스마트 홈 로봇의 복수의 기능 중 어느 하나를 수행하기 위해 필요한 입력 값을 정의하는 하나 이상의 입력 단자 및 상기 복수의 기능 중 어느 하나를 수행한 출력 값을 정의하는 하나 이상의 출력 단자 중 적어도 하나를 포함할 수 있다.
일 측면에 따르면, 상기 작업 영역에 표시된 복수의 기능 블록의 입력 단자 및 출력 단자 중 2 개의 단자는 스크립트 블록을 경유하여 연결되고, 상기 스크립트 블록은 상기 기능 블록의 입력 단자 및 출력 단자 중 적어도 하나에 대응되는 값을 기반으로 하는 논리 연산을 정의할 수 있다.
일 측면에 따르면, 상기 시나리오 편집기는, 사용자가 상기 스크립트 블록을 선택하는 것에 응답하여, 상기 스크립트 블록의 논리 연산을 나타내는 텍스트 스크립트를 상기 컴퓨팅 디바이스의 디스플레이의 적어도 일부에 위치한 스크립트 창 영역에 표시하고, 상기 컴퓨팅 디바이스의 입력부의 입력에 의해 사용자로 하여금 상기 텍스트 스크립트를 직접 편집하게 하도록 구성될 수 있다.
일 측면에 따르면, 상기 시나리오 편집기는, 사용자가 상기 기능 블록의 입력 단자를 선택하는 것에 응답하여 상기 기능 블록의 구현에 필요한 입력 값의 목록을 상기 컴퓨팅 디바이스의 디스플레이에 표시하고, 사용자가 상기 입력 값의 목록 중 어느 하나를 선택하는 것에 응답하여 상기 입력 단자에 선행하는 스크립트 모듈의 스크립트를 자동 생성하도록 구성될 수 있다.
일 측면에 따르면, 상기 스마트 홈 로봇의 터치 센서는 제 1 터치 센서 및 제 2 터치 센서를 포함하고, 상기 작업 영역에 표시된 기능 블록은, 상기 스마트 홈 로봇의 상기 제 1 터치 센서 및 상기 제 2 터치 센서의 작동 여부에 따른 값을 출력하는 터치 센서 블록; 상기 스마트 홈 로봇의 음성 출력 수단을 제어하는 음성 출력 기능 블록; 및 상기 터치 센서 블록 및 음성 출력 기능 블록 사이를 연결하는 연결 블록을 포함하며, 상기 터치 센서 블록과 상기 연결 블록 사이의 스크립트 블록은, 제 1 터치 센서의 동작 감지에 따라 제 1 변수 값을 미리 결정된 값으로 설정하고 제 2 터치 센서의 동작 감지에 따라 제 2 변수 값을 미리 결정된 값으로 설정하는 논리 연산을 정의하고, 상기 연결 블록과 상기 음성 출력 기능 블록의 재생 개시 단자 사이의 스크립트 블록은, 상기 제 1 변수 값이 미리 결정된 값이라는 결정에 응답하여 재생될 음악의 파일명을 지정하는 논리 연산을 정의하고, 상기 연결 블록과 상기 음성 출력 기능 블록의 재생 중단 단자 사이의 스크립트 블록은, 상기 제 2 변수 값이 미리 결정된 값이라는 결정에 응답하여 중단 기능 변수를 활성화시키는 논리 연산을 정의하고, 상기 음성 출력 기능 블록은 상기 재생 개시 단자로 음악의 파일명이 입력되는 것에 응답하여 상기 파일명에 대응되는 음악 파일을 상기 스마트 홈 로봇의 음성 출력 수단을 통해 재생하고, 상기 음성 출력 기능 블록은 상기 재생 중단 단자로 활성화된 중단 기능 변수가 입력되는 것에 응답하여 상기 음성 출력 수단의 음악 재생을 중단하도록 구성될 수 있다.
일 측면에 따르면, 상기 컴퓨팅 디바이스는, 상기 컴퓨팅 디바이스 상에서 상기 로봇 제어 어플리케이션이 상기 스마트 홈 로봇의 영상 출력 수단에서 표시되는 사용자 인터페이스를 제작하기 위한 UI 편집기가 구동되도록 구성되고, 상기 모듈은 상기 사용자 인터페이스를 상기 스마트 홈 로봇의 영상 출력 수단에서 표시되도록 하는 표시 제어 모듈을 포함할 수 있다.
일 측면에 따르면, 상기 스마트 홈 로봇은 발광 소자, 상기 영상 출력 수단을 포함하는 헤드부를 바디부에 대해 회전 가능하도록 하는 목 관절부, 상기 바퀴 구동 수단이 포함된 다리부를 상기 바디부에 대해 회전 가능하도록 하는 다리 관절부를 더 포함하고, 상기 컴퓨팅 디바이스는, 상기 컴퓨팅 디바이스 상에서 사용자로 하여금 시간의 흐름에 따른 상기 발광 소자의 점멸, 상기 발광 소자의 점멸 색상, 상기 목 관절부의 동작, 상기 바퀴 구동 수단의 동작, 상기 다리 관절부의 동작 중 적어도 하나를 순차적으로 정의하는 모션 애니메이션을 편집하도록 하는 모션 편집기가 구동되도록 구성되고, 상기 모듈은 상기 모션 애니메이션을 상기 스마트 홈 로봇이 재현하도록 하기 위한 모션 실행 모듈을 포함할 수 있다.
일 측면에 따르면, 상기 컴퓨팅 디바이스는, 상기 컴퓨팅 디바이스 상에서 사용자로 하여금 상기 시나리오 편집기에 의해 생성된 로봇 제어 어플리케이션을 상기 스마트 홈 로봇으로 업로드 또는 상기 스마트 홈 로봇에서 삭제하도록 하는 설치 관리기가 구동되도록 구성될 수 있다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
전술한 본 발명의 일 실시예에 따른 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템에 따르면, 터치 센싱, 음성 및 영상 입출력, 이동 및 방향 전환과 같이 복잡한 복수의 기능을 수행할 수 있는 스마트 홈 로봇의 동작을 제어할 수 있는 어플리케이션의 생성을, 도식화된 저작 툴을 기반으로 사용자가 용이하게 코딩하도록 할 수 있다.
따라서, 저 연령층 및 코딩 초심자의 경우에도 용이하게 스마트 홈 로봇을 제어할 수 있는 어플리케이션을 생성하도록 할 수 있다. 또한, 스마트 홈 로봇이 수행할 수 있는 복수의 기능들을 조합하여 사용자가 높은 자유도를 가지고 로봇 구동 시나리오를 생성할 수 있어, 피 교육자의 논리력 및 창의적 문제 해결력 함양 효과를 극대화시킬 수 있다.
도 1 은 본 발명의 일 실시예에 따른 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템의 개념도이다.
도 2 는 도 1 의 스마트 홈 로봇의 외형도이다.
도 3 은 도 1 의 스마트 홈 로봇의 구성을 나타내는 블록도이다.
도 4 는 도 1 의 컴퓨팅 디바이스의 구성을 나타내는 블록도이다.
도 5 는 도 1 의 컴퓨팅 디바이스에서 실행되는 코딩 툴의 개념도이다.
도 6 은 본 발명의 일 실시예에 따른 사용자 인터페이스 편집기의 실행 화면이다.
도 7 은 본 발명의 일 실시예에 따른 시나리오 편집기의 실행 화면이다.
도 8 은 도 7 의 작업 영역에 표시된, 도식화된 로봇 제어 어플리케이션 시나리오의 예시도이다.
도 9 는 스크립트 생성 절차의 예시도이다.
도 10 은 도식화된 음성 인식 기반 로봇 동작 제어 시나리오의 예시도이다.
도 11 은 본 발명의 일 실시예에 따른 모션 편집기의 실행 화면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템
앞서 살핀 바와 같이, 통상의 상용 프로그래밍 언어에 대한 교육은 유소년이나 초심자를 대상으로 하기에는 지나치게 어렵고 진입 장벽이 존재한다. 반면에, 예를 들어 블록형 코딩 완구와 같은 어린이를 위한 코딩 교구는 쉽고 간단하지만 구현 가능한 시나리오에 한계가 있어 창의적 문제 해결 능력의 배양 효과가 미진하다. 아울러, 블록형 코딩 완구와 같은 어린이를 위한 코딩 교구는 그 교육 대상 역시 특정 연령대 이하로 한정될 수 밖에 없었다.
본 발명의 일 실시예에 따른 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템은 상기와 같은 문제점을 해결하기 위한 것으로서, 예를 들어 터치 센싱, 음성 및 영상 입출력, 이동 및 방향 전환이나, 음성 인식 및 IoT 기능을 통한 스마트 홈 구현과 같은 복잡한 복수의 기능을 수행할 수 있는 스마트 홈 로봇을 제어하기 위한 어플리케이션을 사용자가 직관적으로 도식화된 저작 툴을 이용하여 진입장벽 없이 쉽게 생성하도록 하는 과정을 이용하여 코딩 교육을 수행할 수 있다.
도 1 은 본 발명의 일 실시예에 따른 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템의 개념도이다. 도 1 에 도시된 바와 같이, 본 발명의 일 실시예에 따른 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템 (10) 은, 스마트 홈 로봇 (100) 및 컴퓨팅 디바이스 (200) 를 포함할 수 있다. 스마트 홈 로봇 (100) 은 예를 들어 터치 센싱, 음성 및 영상 입출력, 이동 및 방향 전환과 같은 멀티미디어 기능을 수행할 수 있으며, 나아가 통신 유닛을 기반으로 음성 인식 및 IoT 디바이스 제어를 수행하도록 구성될 수도 있다. 컴퓨팅 디바이스 (200) 는 사용자로 하여금 스마트 홈 로봇 (100) 의 동작을 제어하기 위한 로봇 제어 어플리케이션을 생성하도록 지원하는 디바이스를 나타낸다. 컴퓨팅 디바이스 (200) 는 예를 들어 통상적인 퍼스널 컴퓨터 (PC) 또는 노트북을 포함한다. 다른 실시예에 따르면, 컴퓨팅 디바이스 (200) 는 스마트 폰, 태블릿 PC 와 같은 스마트 디바이스일 수도 있다.
컴퓨팅 디바이스 (200) 에서 생성된 로봇 제어 어플리케이션은 스마트 홈 로봇 (100) 으로 전송되어, 스마트 홈 로봇 (100) 을 상기 로봇 제어 어플리케이션에서 정의하고 있는 시나리오에 따라 구동하도록 할 수 있다. 따라서, 사용자는 높은 자유도를 가지고 스마트 홈 로봇 (100) 이 가지는 복수의 기능들 중 적어도 하나 이상을 조합하는 것에 의해 실질적으로 무제한의 개수를 가지는 시나리오를 생성하고 스마트 홈 로봇 (100) 을 작동시킬 수 있어 창의적 문제 해결 능력을 기를 수 있다.
스마트 홈 로봇
도 2 는 도 1 의 스마트 홈 로봇의 일 예시적인 외형도이고, 도 3 은 도 1 의 스마트 홈 로봇의 일 예시적인 구성을 나타내는 블록도이다. 이하, 도 2 및 도 3 을 참조하여, 본 발명의 일 실시예에 따른 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템에 포함될 수 있는 예시적인 스마트 홈 로봇 (100) 에 대해서 보다 구체적으로 설명한다.
도 2 및 도 3 에 도시된 바와 같이, 본 발명의 일 실시예에 따른 스마트 홈 로봇 (100) 은 예를 들어 로봇의 몸체를 형성하는 바디부 (101), 상기 바디부 (101) 에 목 관절부 (미도시) 를 통해 상하 및 좌우 방향으로 회전 가능하게 결합되는 헤드부 (102) 및 상기 바디부 (101) 에 다리 관절부 (미도시) 를 통해 상하 방향으로 회전 가능하게 결합되는 다리부 (103) 로 구성될 수 있다. 상기 목 관절부는 예를 들어 2 축 방향 회전이 가능한 2 중 힌지 구조일 수 있으며, 2 축 방향 회전 가능한 임의의 기계 구조가 채용될 수 있다. 또한, 다리 관절부는 회전 가능한 임의의 조인트 구조가 채용될 수 있다. 목 관절부는 도 3 에 도시된 목 관절 구동부 (133) 에 의해 상하 또는 좌우 방향으로 회전하여 헤드부 (102) 와 바디부 (101) 간의 상하 결합 각도 또는 헤드부 (102) 에 대한 바디부 (101) 의 좌우 회전 위치를 변경하도록 구성될 수 있다.
따라서 스마트 홈 로봇 (100) 은 헤드부 (102) 의 상하 방향 변위를 조절하는 "끄덕끄덕" 동작을 수행할 수 있고 헤드부 (102) 의 좌우 방향 변위를 조절하는 "도리도리" 동작을 수행할 수 있다. 일 실시예에 따르면 목 관절 구동부 (133) 는 상하 방향 회전을 조절하는 서보 모터 및 좌우 방향 회전을 조절하는 서보 모터의 두 개의 서보 모터로 구성될 수도 있다.
또한, 스마트 홈 로봇 (100) 은 다리부 (103) 의 바디부 (101) 에 대한 회전 방향 변위를 조절하는 것에 의해, 바디부 (101) 의 지면에 대한 높낮이를 조절하는 것이 가능하다. 다리부 (103) 는 바퀴 구동 수단 (131-2) 에 의해 지지되고 있으므로 다리부 (103) 가 바디부 (101) 와의 관계에서 상방으로 회전하는 것에 의해 바디부 (101) 의 지면으로부터의 높이는 낮아지고 스마트 홈 로봇 (100) 은 "앉아" 동작을 수행할 수 있으며, 반대로 다리부 (103) 가 하방으로 회전하는 것에 의해 스마트 홈 로봇 (100) 은 "일어서" 동작을 수행하도록 구성될 수 있다. 일 실시예에 따르면 다리 관절 구동부 (135) 는 상하 방향 회전을 조절하는 서보 모터로서 구현될 수 있다.
한편, 다시 도 2 를 참조하면 본 발명의 일 실시예에 따른 스마트 홈 로봇 (100) 은 헤드부 (102) 상에 음성 입력 수단 (113) 및 영상 입력 수단 (115) 과 음성 출력 수단 (121) 및 영상 출력 수단 (123) 을 구비할 수 있다. 따라서 로봇 제어 어플리케이션이 지시하는 시나리오에 따라 노래 및 대화와 같은 음성 컨텐츠, 뮤직 비디오나 텍스트, 동영상과 같은 영상 컨텐츠를 출력할 수 있으며, 스마트 홈 로봇 (100) 주변의 영상과 음성을 입력하여 저장할 수도 있다. 따라서 로봇 사용자와의 인터랙션이 가능하고 인공지능 및 음성 인식 서비스의 제공이 가능하다. 또한 도 2 에 도시된 바와 같이 영상 출력 수단 (123) 에 로봇의 표정을 디스플레이 하는 것에 의해 감정 표현이 가능하다.
또한, 본 발명의 일 실시예에 따른 스마트 홈 로봇 (100) 은 바퀴 구동 수단 (131-1, 131-2, 131-3) 을 구비하여 전진 및 후진 운동을 수행할 수 있으며, 예를 들어 바퀴 구동 수단 (131-1) 은 로봇의 진행방향에 대해 좌우로 회전 가능하도록 구성되어 로봇의 진행방향을 제어하거나 로봇이 회전 운동을 수행하도록 할 수 있다.
도 3 에 도시된 바와 같이, 본 발명의 일 실시예에 따른 스마트 홈 로봇의 구성들은 입력 수단 (110), 출력 수단 (120), 구동 수단 (130) 및 통신부 (140) 로 구분될 수 있으며, 상기 구성들은 제어부 (150) 가 로봇 제어 어플리케이션이 정의하는 시나리오에 따라 제어하는 것에 의해 작동할 수 있다.
입력 수단 (110) 은 앞서 살핀 바와 같은 터치 센서 (111), 음성 입력 수단 (113) 및 영상 입력 수단 (115) 을 포함할 수 있다. 터치 센서 (111) 는 예를 들어 좌측 다리 터치 센서 (111-1) 및 우측 다리 터치 센서 (111-2) 가 포함될 수 있고, 도 2 에 도시되지 않았으나 예를 들어 헤드 상면 터치 센서, 헤드 좌측 터치 센서 및 헤드 우측 터치 센서와 같이 복수의 센서를 포함하고, 각 터치 센서의 터치에 따라 로봇이 상이한 기능을 수행하게 하는 시나리오의 구현이 가능하다.
음성 입력 수단 (113) 은 예를 들어 마이크를 나타내고, 영상 입력 수단 (115) 은 예를 들어 카메라를 나타낼 수 있다. 출력 수단 (120) 은 예를 들어 스피커와 같은 음성 출력 수단 (121) 및 디스플레이 장치와 같은 영상 출력 수단 (123) 을 포함할 수 있다.
구동부 (130) 는 앞서 살핀 바와 같이 스마트 홈 로봇 (100) 의 전진/후진/좌회전/우회전/회전 운동과 같은 이동을 구현하는 바퀴 구동 수단 (131), 헤드부 (102) 의 "도리도리" 동작이나 "끄덕끄덕" 동작을 수행하도록 제어하는 목 관절 구동부 (133), 다리부 (103) 의 상하 회전을 통한 "앉아" 동작이나 "일어서" 동작을 구현하는 다리 관절 구동부 (130) 를 포함할 수 있다.
한편, 스마트 홈 로봇 (100) 은 통신부 (140) 를 포함할 수 있다. 유선 통신부 (141) 는 예를 들어 컴퓨팅 디바이스 (200) 로부터 케이블 통신을 통해 로봇 제어 어플리케이션을 수신하기 위한 유선 통신을 수행할 수 있다. 무선 통신부 (143) 는 예를 들어 블루투스, Wi-Fi, 지그비와 같은 근거리 통신을 수행하도록 하여, IoT 기능을 통한 홈 오토메이션 기능을 수행하거나 외부 서버와의 데이터 교환을 통한 음성 인식 기능을 수행하도록 할 수 있다. 일 측면에 따르면, 유선 통신부 (140) 는 NB-IoT 또는 LoRA 와 같은 사물인터넷 전용 중장거리 통신을 수행하거나 LTE 및 LTE-A 와 같은 셀룰러 네트워크에 직접 접속하는 기능을 수행하도록 구성될 수도 있다.
전술한 바와 같이 본 발명의 일 실시예에 따른 스마트 홈 로봇 (100) 은 다양한 개별 기능을 구현할 수 있어, 복수의 기능들을 조합하는 것에 의해 무제한의 동작 시나리오의 생성이 가능하다. 다만, 스마트 홈 로봇 (100) 의 제어를 위한 통상의 프로그래밍은 비전문가에 의해 구현될 수 없으나, 아래 설명하는 바와 같이 본 발명의 일 실시예에 따른 로봇 제어 어플리케이션 생성을 기반으로 하는 코딩 교육 시스템에 따르면, 컴퓨팅 디바이스에서 직관적으로 도식화된 코딩 툴을 제공하는 것에 의해 비전문가가 쉽게 로봇 제어 어플리케이션을 생성하도록 할 수 있고, 효과적인 코딩 교육이 가능하다.
코딩을 위한 컴퓨팅 디바이스
도 4 는 도 1 의 컴퓨팅 디바이스의 구성을 나타내는 블록도이고, 도 5 는 도 1 의 컴퓨팅 디바이스에서 실행되는 코딩 툴의 개념도이다. 이하, 도 4 및 도 5 를 참조하여 본 발명의 일 실시예에 따른 코딩 교육 시스템에 관하여 보다 상세히 설명한다.
본 발명의 일 실시예에 따른 컴퓨팅 디바이스는 사용자가 스마트 홈 로봇의 동작을 제어하기 위한 로봇 제어 어플리케이션을 생성하도록 지원할 수 있다. 도 4 에 도시된 바와 같이, 본 발명의 일 실시예에 따른 코딩 교육 시스템의 컴퓨팅 디바이스 (200) 는 통신부 (210), 디스플레이 (220), 입력부 (230), 프로세서 (240) 및 저장부 (250) 를 포함할 수 있다. 컴퓨팅 디바이스 (200) 는 예를 들어 통상의 퍼스널 컴퓨터 또는 노트북 컴퓨터일 수 있다.
도 5 에 도시된 바와 같이, 프로세서 (240) 상에서는 사용자가 로봇 제어 프로그램을 생성하는 것을 지원하기 위한 코딩 툴이 구동되도록 구성될 수 있다. 도 5 에 도시된 바와 같이, 로봇 제어 어플리케이션을 생성하기 위한 코딩 툴은 사용자 인터페이스 (UI) 편집기 (241), 시나리오 편집기 (243), 모션 편집기 (245) 및 설치 관리기 (247) 를 포함할 수 있다. 이와 같은 코딩 툴은 명령어의 형태로 저장부 (250) 에 저장되어 있다가, 입력부 (230) 를 통한 사용자의 선택에 의해 프로세서 (240) 상에서 실행될 수 있으며, 코딩 툴의 실행 화면은 디스플레이 (220) 를 통해 표시될 수 있다.
저장부 (250) 는 명령어 형태의 코딩 툴 뿐만 아니라 코딩 툴에 의해 생성된 로봇 제어 어플리케이션을 저장할 수 있고, 통신부 (210) 를 통해 스마트 홈 로봇 (100) 으로 생성된 로봇 제어 어플리케이션을 송신할 수 있다.
UI 편집기
사용자 인터페이스 편집기 (241) 는 로봇 제어 어플리케이션이 스마트 홈 로봇 (100) 에서 실행될 때 영상 출력부 (123) 를 통해 표시되는 사용자 인터페이스를 생성하는 것을 지원할 수 있다. 사용자 인터페이스 편집기 (241) 는 로봇 제어 어플리케이션의 표시 화면을 위지윅 (What you see is what you get) 레이아웃 디자인으로 구현하는 것을 지원할 수 있다. 본 발명의 일 실시예에 따른 컴퓨팅 디바이스 (200) 는, 로봇 제어 어플리케이션이 스마트 홈 로봇의 영상 출력 수단에서 표시되는 사용자 인터페이스를 제작하기 위한 UI 편집기 (241) 가 컴퓨팅 디바이스의 프로세서 (240) 상에서 구동되도록 구성될 수 있다.
도 6 은 본 발명의 일 실시예에 따른 사용자 인터페이스 편집기의 실행 화면이다. 도 6 에 도시된 바와 같이, 본 발명의 일 실시예에 따른 UI 편집기 (241) 가 구동되면, 컴퓨팅 디바이스 (200) 의 디스플레이 (220) 상에는 컴포넌트 영역 (610), 속성 값 표시 영역 (620), 작업 영역 (630), 스크립트 영역 (640) 및 배치된 컴포넌트 영역 (650) 이 도시될 수 있다.
컴포넌트 영역 (610) 에는 로봇 제어 어플리케이션의 사용자 인터페이스를 구현하기 위해 사용자가 선택하여 사용할 수 있는 구성요소들이 도시될 수 있다. 구성요소들은 예를 들어 이미지 형태의 카드 컴포넌트, 사용자가 입력한 텍스트를 표시하도록 하는 텍스트 컴포넌트, 미리 저장된 형태의 애니메이션을 표시하도록 하는 애니메이션 컴포넌트, 특정 기능의 동작을 위한 버튼 중 적어도 하나를 포함할 수 있다.
속성 값 표시 영역 (620) 에는 선택된 컴포넌트에 대한 설정 값이 표시될 수 있다. 설정 값은 컴포넌트의 크기, 위치, 색상, 명칭, 레이어의 상하 관계 중 적어도 하나를 포함할 수 있다.
작업 영역 (630) 에는 사용자가 선택된 컴포넌트들이 실제 스마트 홈 로봇 (100) 의 영상 출력 수단 (123) 에 표시되는 방식과 동일하게 재현될 수 있고, 스크립트 영역 (640) 에는 선택된 컴포넌트들이 표시되는 방식에 대한 스크립트가 표시되고, 숙련된 사용자의 경우 입력부 (230) 를 기반으로 스크립트를 직접 수정하도록 할 수도 있다. 배치된 컴포넌트 영역 (650) 에는 사용자가 선택하여 작업 영역 (630) 에 이미 표시한 컴포넌트들의 목록이 표시될 수 있다.
전술한 바와 같은 UI 편집기 (241) 에 의해 생성된 사용자 인터페이스는 저장부 (250) 에 저장될 수 있고, 시나리오 편집기 (243) 의 시나리오 편집에 있어 호출되어 사용되도록 할 수 있다.
시나리오 편집기
시나리오 편집기 (243) 는 로봇 제어 어플리케이션이 동작하는 시나리오를 사용자가 정의하도록 할 수 있다. 즉, 시나리오 편집기 (243) 는 컴퓨팅 디바이스 (200) 의 프로세서 상에서 구동되어, 사용자가 로봇 제어 어플리케이션의 코딩을 수행하도록 지원할 수 있다. 시나리오 편집기 (243) 는 로봇 제어 어플리케이션의 제작에 필요한 논리 및 모듈의 흐름을 도식화하여 표시하여, 프로그램의 구조를 직관적으로 이해하게 하며 간편한 스크립트 언어를 통해 컨텐츠 개발의 접근성을 높일 수 있다. 따라서, 진입 장벽 없이, 저 연령층 또는 초심자도 스마트 홈 로봇 (100) 의 복잡한 기능을 제어하는 로봇 제어 어플리케이션을 손쉽게 생성하도록 교육하는 것이 가능하다. 또한, 저 연령층에게는 로봇 제어에 관한 단순한 시나리오 예시를 통한 교육을 수행하고, 성인 또는 중급자에게는 보다 복잡하고, IoT 기반 스마트 홈 디바이스들에 대한 제어와 같은 실질적 시나리오 예시를 통한 교육을 수행하는 것에 의해 다양한 연령 및 숙련도를 아우르는 코딩 교육의 도구로서 사용될 수 있다.
도 7 은 본 발명의 일 실시예에 따른 시나리오 편집기의 실행 화면이다. 도 7 에 도시된 바와 같이, 본 발명의 일 실시예에 따른 시나리오 편집기 (243) 가 구동되면, 컴퓨팅 디바이스 (200) 의 디스플레이 (220) 상에는 모듈 목록 영역 (730), 작업 영역 (710) 및 스크립트 창 영역 (720) 이 표시될 수 있다.
컴퓨팅 디바이스 (200) 의 디스플레이 (220) 의 적어도 일부에 위치한 모듈 목록 영역 (730) 에는 복수의 텍스트로 표현된 모듈들이 표시될 수 있다. 이러한 모듈은 스마트 홈 로봇 (100) 이 수행할 수 있는 복수의 기능 중 어느 하나를 각각 제어하도록 미리 프로그래밍된 소프트웨어 모듈일 수 있다. 복수의 모듈은 모듈 명칭, 모듈 일련번호 및 해당 모듈의 기능 설명과 함께 모듈 목록 영역 (730) 에 표시될 수 있다. 모듈은 예를 들어 Set ControlBoard Power (50001) 와 같은 컨트롤 보드의 전원을 제어하기 위한 모듈, Set Head Joint (50003) 과 같은 머리의 각도를 조절하기 위한 모듈, Touch sensor (50005) 와 같은 터치 센서의 입력 여부를 알려주는 모듈과 같이 스마트 홈 로봇 (100) 에 포함된 개별적인 구성 요소를 작동시키거나 입력값을 받아들이는 기능을 제어하는 모듈일 수 있다. 또한, 모듈은 예를 들어 Set Joint Lock (60013) 의 로봇의 관절을 현재 위치에서 잠금하는 것과 같이, 스마트 홈 로봇 (100) 의 특정 구성 요소에 대한 특정의 기능을 미리 프로그래밍해둔 모듈일 수도 있다. 한편, 모듈은 스마트 홈 로봇 (100) 의 영상 출력 수단 (123) 을 제어하는 표시 제어 모듈을 포함할 수 있고, 표시 제어 모듈은 앞서 살핀 바와 같은 사용자 인터페이스 편집기에 의해 생성된 사용자 인터페이스를 스마트 홈 로봇 (100) 의 영상 출력 수단 (123) 에서 표시되도록 기능할 수 있다. 아울러, 모듈은 모션 실행 모듈을 포함할 수 있고, 모션 실행 모듈은 후술하는 모션 편집기 (245) 에 의해 생성된 스마트 홈 로봇의 모션 애니메이션을 스마트 홈 로봇 (100) 이 재현하도록 기능할 수 있다.
한편, 시나리오 편집기 (243) 는, 예를 들어 사용자가 텍스트로 표현된 모듈들 중 어느 하나를 선택하는 것에 의해, 선택된 어느 하나의 모듈에 상응하는 도식화된 형상의 기능 블록 (711) 을 컴퓨팅 디바이스 (200) 의 디스플레이 (220) 의 적어도 일부에 위치한 작업 영역 (710) 에 표시하도록 구성될 수 있다. 일 측면에 따르면, 사용자가 컴퓨팅 디바이스 (200) 의 입력부 (230) 를 기반으로 모듈 목록 영역 (730) 에 표시된 복수의 텍스트 모듈들 중 어느 하나를 작업 영역 (710) 으로 드래그 앤 드롭하는 것에 응답하여 상기 어느 하나의 텍스트 모듈에 대응하는 기능 블록 (711) 을 작업 영역 (710) 에 표시하도록 할 수도 있다.
작업 영역 (710) 에 표시된 기능 블록 (711) 은 스마트 홈 로봇의 복수의 기능 중 상기 기능 블록 (711) 에 할당된 어느 하나의 기능을 수행하기 위해 필요한 입력 값을 정의하는 하나 이상의 입력 단자 및 상기 복수의 기능 중 어느 하나를 수행한 출력 값을 정의하는 하나 이상의 출력 단자 중 적어도 하나를 포함할 수 있다. 예를 들어, 기능 블록 (711) 이 도 8 에 도시된 바와 같은 음성 출력 기능 블록 (830) 일 경우, 영상 재생 기능 블록은 입력 단자 (831, 832, 833, 834) 를 포함할 수 있다. 일 측면에 따르면, 입력 단자 (831) 은 음악 파일 재생 기능을 위한 파일 명 입력 단자로서 사용될 수 있으며, 파일 명을 입력하는 것에 의해 스마트 홈 로봇 (100) 의 음성 출력 수단 (121) 에서 상기 파일 명에 따른 음악 파일이 재생되도록 설정될 수 있다. 입력 단자 (832) 는 재생 중단 기능을 수행하도록, 재생 중단 변수 (예를 들어, stop) 에 대한 true 값을 수신하는 것에 응답하여 음성 출력 수단 (121) 의 음성 출력을 중단하도록 설정될 수 있다. 기능 블록은 하나 이상의 출력 단자 (835, 836, 837) 를 포함할 수 있다. 예를 들어, 출력 단자 (835) 는 해당 기능 블록의 기능 수행이 성공인지 실패인지 여부를 나타내는 값이나 특정 코드를 통한 실행 여부에 대한 부수 정보를 출력하도록 설정될 수 있다. 출력 단자 (836) 는 재생 완료에 대한 호출 기능을 수행할 수 있다.
전술한 바와 같은 기능 블록의 각 단자들의 기능 및 정의 값들은 기능 블록의 사전 프로그래밍 단계에서 결정될 수 있으며, 비 숙련자를 위해 컴퓨팅 디바이스 (200) 의 입력부 (230) 를 사용하여 사용자가 각 기능 블록의 단자를 선택하였을 때, 컴퓨팅 디바이스 (200) 의 디스플레이 (220) 에 선택된 기능 블록의 각 단자의 요구 값을 변수 명 및 기능 설명과 함께 표시하도록 할 수 있다.
한편, 작업 영역 (710) 에 표시된 복수의 기능 블록들은 스크립트 블록 (713) 을 경유하여 연결됨으로써 논리 흐름을 도식화할 수 있다. 보다 구체적으로, 작업 영역 (710) 에 표시된 복수의 기능 블록의 입력 단자 및 출력 단자 중 2 개의 단자는 스크립트 블록 (713) 을 경유하여 연결되고, 상기 스크립트 블록 (713) 은 기능 블록 (711) 의 입력 단자 및 출력 단자 중 적어도 하나에 대응되는 값을 기반으로 하는 논리 연산을 정의하도록 할 수 있다. 예를 들어, 도 8 에 도시된 음성 출력 기능 블록 (830) 의 입력 단자 (831) 는 음악 파일 명을 요구하고, 연결 블록 (820) 의 출력 단자 (823) 에서는 터치 센서의 터치 여부에 따른 제 1 변수에 대한 특정 값을 출력한다고 할 때, 스크립트 블록 (850) 은 해당 터치 센서에 대응하는 제 1 변수가 특정 값이라는 결정에 따라 파일 명 변수 값으로서 소정의 음악 파일 명을 출력하도록 하는 논리 연산으로서 정의될 수 있다.
전술한 바와 같은 스크립트 블록의 논리 연산의 생성은, 사용자의 숙련도에 따라 상이한 방법을 사용하도록 제공될 수 있다. 도 9 는 스크립트 생성 절차의 예시도이다. 도 9 의 (b) 에 도시된 바와 같이, 사용자가 스크립트 블록을 선택하는 것에 응답하여, 스크립트 블록의 논리 연산을 나타내는 텍스트 스크립트를 컴퓨팅 디바이스 (200) 의 디스플레이 (220) 의 적어도 일부에 위치한 스크립트 창 영역 (720) 에 표시하고, 컴퓨팅 디바이스 (200) 의 입력부 (230) 의 입력에 의해 사용자로 하여금 텍스트 스크립트를 직접 편집하게 하도록 구성될 수 있다. 성인 또는 중급자를 하는 코딩 교육에서, 이처럼 텍스트 스크립트의 작성 방법을 교육하고 실습하도록 활용될 수 있다. 또는, 도 9 의 (a) 에 도시된 바와 같이, 사용자가 기능 블록의 입력 단자를 선택하는 것에 응답하여 해당 기능 블록의 구현에 필요한 입력 값의 목록을 컴퓨팅 디바이스 (200) 의 디스플레이 (220) 에 표시하고, 사용자가 상기 입력 값의 목록 중 어느 하나를 선택하는 것에 응답하여 입력 단자에 선행하는 스크립트 모듈의 스크립트를 자동 생성하도록 구성될 수도 있다. 스크립트의 자동 생성은 기능 블록의 사전 프로그래밍 단계에서 해당 단자에 선행하는 스크립트를 미리 결정하고, 사용자의 선택에 따라 속성 값을 변경하도록 하는 것에 의해 달성될 수 있다. 도 9 (a) 의 속성 (인수) 설정의 경우, 초기 값 설정만 필요한 경우 유리하며, 실행 중 조건을 따져 값을 변경할 수 없는 단점이 있다. 도 9 (b) 의 스크립트 작성 방식의 경우, 값 설정 및 변경이 자유로운 반면, 직관적인 값 파악이 힘들고 미리 생성된 스크립트 이외에 변경이 불가능한 단점이 있다.
전술한 바와 같은 기능 블록의 배치 및 기능 블록의 단자들 간의 스크립트 블록을 통한 연결을 이용하여, 사용자는 쉽고 직관적인 방법으로 로봇 제어 프로그램의 시나리오를 생성하는 코딩을 수행할 수 있다. 즉, 문제 해결에 있어 필요하다고 생각되는 복수의 텍스트 모듈을 각각 작업 영역으로 이동시켜 기능 블록을 생성하고, 복수의 기능 블록들 간의 논리 연산을 수행하도록 간단한 스크립트를 포함하는 스크립트 블록을 생성하는 것만으로도 로봇 제어 프로그램에 시나리오에 대한 코딩이 완료될 수 있다.
도 8 은 도 7 의 작업 영역에 표시된, 도식화된 로봇 제어 어플리케이션 시나리오의 예시도이다. 도 8 에 도시된 시나리오는 터치 감지를 기반으로하는 음악 재생의 시나리오를 나타낸다.
예를 들어 스마트 홈 로봇 (100) 의 터치 센서가 제 1 터치 센서 (111-1) 및 제 2 터치 센서 (111-2) 를 포함할 때, 해당 시나리오의 도식은 터치 센서 블록 (810), 연결 블록 (820) 및 음성 출력 기능 블록 (830) 을 포함할 수 있다. 즉, 작업 영역에 표시된 기능 블록은, 스마트 홈 로봇의 제 1 터치 센서 및 제 2 터치 센서의 작동 여부에 따른 값을 출력하는 터치 센서 블록 (810), 스마트 홈 로봇의 음성 출력 수단을 제어하는 음성 출력 기능 블록 (830) 및 터치 센서 블록 (310) 과 음성 출력 기능 블록 (830) 사이를 연결하는 연결 블록 (830) 을 포함할 수 있다. 터치 센서 블록 (810) 은 단자 (811, 813, 815) 를 포함하고 연결 블록은 단자 (821, 823) 을 포함하며, 음성 출력 기능 블록 (830) 은 단자 (831, 832, 833, 834, 835, 836, 837) 을 포함한다. 사용자는 모듈 목록 영역 (830) 으로부터의 선택에 따라 작업 영역에 터치 센서 블록 (810), 연결 블록 (820) 및 음성 출력 기능 블록 (830) 을 위치시킬 수 있다.
먼저, 단자 (815) 는 터치 센서의 감지 여부에 따른 true 또는 false 값을 출력하도록 구성될 수 있고, 단자 (831) 은 음성 재생을 위한 음악 파일 명의 입력을 요구하며, 단자 (832) 는 음성 출력 중단을 위한 중단 변수의 true 값을 요구하도록 구성될 수 있다. 따라서, 스크립트 단자 (840) 는 아래와 같은 스크립트를 정의할 수 있다.
if(arg.StateT1 == true) args.in_iv1 = 1
else if (arg.StateT2 == true) args.in_str = "STOP";
else return "EXIT";
즉, 터치 센서 블록과 연결 블록 사이의 스크립트 블록 (840) 은, 제 1 터치 센서의 동작 감지 (T1 이 터치를 감지할 때 true) 에 따라 제 1 변수 값 (iv1) 을 미리 결정된 값 (1) 으로 설정 (in) 하고 제 2 터치 센서의 동작 감지 (T2 가 터치를 감지할 때 true) 에 따라 제 2 변수 값 (str) 을 미리 결정된 값 ("STOP") 으로 설정 (in) 하는 논리 연산을 정의할 수 있다.
단자 (815) 의 출력에서 단자 (831, 832) 의 입력에 이르기까지 두 번의 논리 연산이 필요한 경우, 연결 블록 (820) 이 각 논리 연산을 연결하기 위해 사용될 수 있다.
이어서, 스크립트 단자 (850) 는 아래와 같은 스크립트를 정의할 수 있다.
if(args.out_iv1 == 1) args.FileName = "@song1.mp3";
else return "EXIT";
즉, 연결 블록과 음성 출력 기능 블록의 재생 개시 단자 (831) 사이의 스크립트 블록 (850) 은, 제 1 변수 (iv1) 의 값이 미리 결정된 값 (1) 이라는 결정에 응답하여 재생될 음악의 파일명을 지정 (@song1.mp3) 하는 논리 연산을 정의할 수 있다. 또한, 스크립트 단자 (860) 은 아래와 같은 스크립트를 정의할 수 있다.
if(args.out_str == "STOP") args.stop = true;
else return "EXIT";
즉, 연결 블록과 음성 출력 기능 블록의 재생 중단 단자 (832) 사이의 스크립트 블록 (860) 은, 제 2 변수 (str) 값이 미리 결정된 값 ("STOP") 이라는 결정에 응답하여 중단 기능 변수 (stop) 를 활성화 (true) 시키는 논리 연산을 정의할 수 있다.
이에 따라, 음성 출력 기능 블록 (830) 은 재생 개시 단자 (831) 로 음악의 파일명이 입력되는 것에 응답하여 파일명에 대응되는 음악 파일을 스마트 홈 로봇의 음성 출력 수단 (121) 을 통해 재생하고, 음성 출력 기능 블록 (830) 은 재생 중단 단자 (832) 로 활성화된 중단 기능 변수 (stop = true) 가 입력되는 것에 응답하여 음성 출력 수단 (121) 의 음악 재생을 중단하도록 구성될 수 있다.
다른 실시예에 따르면, 스마트 홈 로봇 (100) 은 더 많은 개수의 터치 센서를 구비하여, 각각의 센서 별로 상이한 변수를 할당하고, 해당 변수의 미리 지정된 값에 따라 상이한 음악 파일 명을 지정하도록 하는 것에 의해, 상이한 터치 센서의 터치에 따라 상이한 음악이 재생되는 시나리오를 구현하는 로봇 제어 어플리케이션을 생성하도록 구성될 수 있다.
도 10 은 도식화된 음성 인식 기반 로봇 동작 제어 시나리오의 예시도이다. 도 10 에 도시된 바와 같이, 음성 인식 기반 로봇 동작 제어 시나리오는 화면 제어 블록 (1010), 지연 생성 블록 (1020), 음성 인식 블록 (1030), 제어 보드 전력 설정 블록 (1040), 화면 제어 블록 (1050), 연결 블록 (1060), 움직임 설정 블록 (1070) 및 다리부 회전 제어 블록 (1080) 과, 각 블록을 연결하는 스크립트 블록 (1091, 1091-1, 1092, 1093, 1094, 1095, 1096, 1097) 을 포함할 수 있다.
스크립트 블록 (1091) 은 지연 생성 블록의 지연 시간 값을 설정하는 논리 연산이고, 스크립트 블록 (1091-1) 은 화면 제어 블록 (1010) 에 표시될, UI 편집기에 의해 생성된 유저 인터페이스의 파일 명을 설정하는 논리 연산일 수 있다. 스크립트 블록 (1092) 은 음성 인식 블록의 작동 개시를 지시하고 음성 인식 모드를 선택하는 논리 연산이고, 스크립트 블록 (1093) 은 음성 인식의 결과와 관련하여 스마트 홈 로봇 (100) 의 각 컴포넌트 별로 전력 공급을 제어하도록 설정하는 논리 연산일 수 있다. 스크립트 블록 (1094) 은 음성인식이 성공한 경우 인식된 음성에 대한 텍스트를 영상 표시 수단 (123) 에 표시될 영상으로서 지정하는 논리 연산일 수 있으며, 스크립트 블록 (1095) 은 음성 인식의 결과 (예를 들어, 앞으로가, 뒤로가, 그만, 회전, 일어서, 앉아) 에 따라 동작 설정 변수의 값을 상이하게 지정하는 논리 연산일 수 있다. 스크립트 블록 (1096) 은 음성 인식 결과 중 일부 (예를 들어, 앞으로가, 뒤로가, 그만, 회전) 의 각각의 음성 인식 결과에 따른 동작 설정 변수의 값과, 움직임 설정 블록 (1070) 에 입력되는 이동 스피드의 양수 또는 음수 값, 회전 속도 값을 매칭하는 논리 연산을 정의할 수 있고, 스크립트 블록 (1097) 은 음성 인식 결과 중 일부 (예를 들어, 앉아, 일어서) 의 각각의 음성 인식 결과에 따른 동작 설정 변수의 값과, 다리부 회전 제어 블록 (1080) 에 입력되는 다리부의 바디부에 대한 회전 위치 설정 값을 매칭하는 논리 연산일 수 있다.
따라서, 사용자는 복수의 기능 블록들을 선택하여 배치하고, 각 기능 블록들을 연결하는 간단한 스크립트 모듈을 생성하는 것만으로도 스마트 홈 로봇 (100) 이 음성인식에 따라 그 결과를 영상 표시 수단 (123) 에 표시하는 동시에 음성 인식 결과에 따른 동작을 수행하는 로봇 제어 어플리케이션을 생성할 수 있다.
모션 편집기
모션 편집기 (245) 는 사용자가 스마트 홈 로봇 (100) 의 로보틱스 기능 (예를 들어, LED, 목, 다리, 바퀴 등) 을 시간의 흐름에 따라 순차적으로 동작을 연출하도록 하기 위해 제공될 수 있다. 본 발명의 일 실시예에 따르면, 스마트 홈 로봇 (100) 은 앞서 살핀 바와 같이 영상 출력 수단 (123) 을 포함하는 헤드부 (102) 를 바디부 (101) 에 대해 회전 가능하도록 하는 목 관절부, 바퀴 구동 수단이 포함된 다리부 (103) 를 바디부 (101) 에 대해 회전 가능하도록 하는 다리 관절부를 포함할 수 있다. 또한, 스마트 홈 로봇은 바퀴의 회전에 따라 전후 이동 및 방향 전환을 수행하도록 하는 바퀴 구동 수단 (131-1, 131-2, 131-3) 을 포함할 수 있다. 나아가, 일 측면에 따르면 스마트 홈 로봇은 복수의 색상을 발광할 수 있는 복수의 발광 소자 (미도시) 를 로봇 표면에 포함할 수도 있다.
본 발명의 일 실시예에 따른 컴퓨팅 디바이스 (200) 는, 컴퓨팅 디바이스 (200) 의 프로세서 (240) 상에서 사용자로 하여금 시간의 흐름에 따른 발광 소자의 점멸, 발광 소자의 점멸 색상, 목 관절부의 동작, 바퀴 구동 수단의 동작, 다리 관절부의 동작 중 적어도 하나를 순차적으로 정의하는 모션 애니메이션을 편집하도록 하는 모션 편집기 (245) 가 구동되도록 구성될 수 있다.
도 11 은 본 발명의 일 실시예에 따른 모션 편집기의 실행 화면이다. 도 11 에 도시된 바와 같이, 본 발명의 일 실시예에 따른 모션 편집기가 구동되면, 컴퓨팅 디바이스 (200) 의 디스플레이 (2240) 상에는 메뉴 영역 (1110), 작업 창 영역 (1120) 및 타임 라인 영역 (1130) 이 도시될 수 있다.
사용자는 타임 라인 영역 (1130) 에서 상이한 색상으로 표시된 앞서 살핀 바와 같은 발광 소자, 목 관절부, 바퀴 구동 수단, 다리 관절부의 시간에 따른 움직임을 선택하도록 할 수 있다. 설정하고자 하는 타임 라인 상의 특정 컴포넌트의 특정 시간 구간을 결정하고, 메뉴 영역 (1110) 에서 동작 아이콘을 선택하여 해당 컴포넌트의 동작을 결정할 수 있다. 작업 창 영역 (1120) 에 설정에 따른 로봇의 동작이 표시될 수 있다. 따라서, 사용자는 실제 로봇의 구동 전에도 로봇 주행 시뮬레이션을 구현할 수 있고, 간편한 인터페이스로 시간의 흐름에 따른 로봇의 동작을 정의하는 모션 애니메이션을 생성하고, 이를 파일로서 저장할 수 있다. 앞서 살핀 바와 같이 시나리오 편집기 (243) 에서 사용될 수 있는 모듈은 저장된 모션 애니메이션을 로딩하여 스마트 홈 로봇 (100) 이 모션 애니메이션에 의해 저장된 동작을 수행하도록 하는 모션 실행 모듈을 포함할 수 있다.
설치 관리기
본 발명의 일 실시예에 따른 컴퓨팅 디바이스 (200) 는, 컴퓨팅 디바이스 (200) 의 프로세서 (240) 상에서 사용자로 하여금 생성된 로봇 제어 어플리케이션을 스마트 홈 로봇 (100) 으로 업로드 또는 스마트 홈 로봇 (100) 에 기 전송되었던 로봇 제어 어플리케이션을 삭제하도록 할 수 있는 설치 관리기 (247) 가 구동되도록 설정될 수 있다. 설치 관리기 (247) 의 지시에 따라 컴퓨팅 디바이스 (200) 의 통신부 (210) 를 통해 스마트 홈 로봇 (100) 의 통신부 (140) 로 로봇 제어 어플리케이션이 전송될 수 있다.
전술한 바와 같이, UI 편집기 (241), 시나리오 편집기 (243), 모션 편집기 (245) 및 설치 관리기 (247) 와 같은 코딩 툴을 제공하는 것에 의해, 진입 장벽 없이, 저 연령층 또는 초심자도 스마트 홈 로봇 (100) 의 복잡한 기능을 제어하는 로봇 제어 어플리케이션을 손쉽게 생성하도록 교육하는 것이 가능하다. 또한, 저 연령층에게는 로봇 제어에 관한 단순한 시나리오 예시를 통한 교육을 수행하고, 성인 또는 중급자에게는 보다 복잡하고, IoT 기반 스마트 홈 디바이스들에 대한 제어와 같은 실질적 시나리오 예시를 통한 교육을 수행하는 것에 의해 다양한 연령 및 숙련도를 아우르는 코딩 교육의 도구로서 사용될 수 있다.
상술한 본 발명에 따른 코딩 교육 시스템의 동작은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래시 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터로 판독 가능한 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
이상, 도면 및 실시예를 참조하여 설명하였지만, 본 발명의 보호범위가 상기 도면 또는 실시예에 의해 한정되는 것을 의미하지는 않으며 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
구체적으로, 설명된 특징들은 디지털 전자 회로, 또는 컴퓨터 하드웨어, 펌웨어, 또는 그들의 조합들 내에서 실행될 수 있다. 특징들은 예컨대, 프로그래밍 가능한 프로세서에 의한 실행을 위해, 기계 판독 가능한 저장 디바이스 내의 저장장치 내에서 구현되는 컴퓨터 프로그램 제품에서 실행될 수 있다. 그리고 특징들은 입력 데이터 상에서 동작하고 출력을 생성함으로써 설명된 실시예들의 함수들을 수행하기 위한 지시어들의 프로그램을 실행하는 프로그래밍 가능한 프로세서에 의해 수행될 수 있다. 설명된 특징들은, 데이터 저장 시스템으로부터 데이터 및 지시어들을 수신하기 위해, 및 데이터 저장 시스템으로 데이터 및 지시어들을 전송하기 위해 결합된 적어도 하나의 프로그래밍 가능한 프로세서, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스를 포함하는 프로그래밍 가능한 시스템 상에서 실행될 수 있는 하나 이상의 컴퓨터 프로그램들 내에서 실행될 수 있다. 컴퓨터 프로그램은 소정 결과에 대해 특정 동작을 수행하기 위해 컴퓨터 내에서 직접 또는 간접적으로 사용될 수 있는 지시어들의 집합을 포함한다. 컴퓨터 프로그램은 컴파일된 또는 해석된 언어들을 포함하는 프로그래밍 언어 중 어느 형태로 쓰여지고, 모듈, 소자, 서브루틴(subroutine), 또는 다른 컴퓨터 환경에서 사용을 위해 적합한 다른 유닛으로서, 또는 독립 조작 가능한 프로그램으로서 포함하는 어느 형태로도 사용될 수 있다.
지시어들의 프로그램의 실행을 위한 적합한 프로세서들은, 예를 들어, 범용 및 특수 용도 마이크로프로세서들 둘 모두, 및 단독 프로세서 또는 다른 종류의 컴퓨터의 다중 프로세서들 중 하나를 포함한다. 또한 설명된 특징들을 구현하는 컴퓨터 프로그램 지시어들 및 데이터를 구현하기 적합한 저장 디바이스들은 예컨대, EPROM, EEPROM, 및 플래쉬 메모리 디바이스들과 같은 반도체 메모리 디바이스들, 내부 하드 디스크들 및 제거 가능한 디스크들과 같은 자기 디바이스들, 광자기 디스크들 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 비휘발성 메모리의 모든 형태들을 포함한다. 프로세서 및 메모리는 ASIC들(application-specific integrated circuits) 내에서 통합되거나 또는 ASIC들에 의해 추가되어질 수 있다.
이상에서 설명한 본 발명은 일련의 기능 블록들을 기초로 설명되고 있지만, 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
전술한 실시 예들의 조합은 전술한 실시 예에 한정되는 것이 아니며, 구현 및/또는 필요에 따라 전술한 실시예들 뿐 아니라 다양한 형태의 조합이 제공될 수 있다.
전술한 실시 예들에서, 방법들은 일련의 단계 또는 블록으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
전술한 실시 예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.

Claims (10)

  1. 로봇 제어 어플리케이션 생성을 기반으로 하는 코딩 교육 시스템으로서,
    터치 센서, 음성 입력 수단, 영상 입력 수단, 방향 전환 가능한 바퀴 구동 수단, 음성 출력 수단 및 영상 출력 수단을 구비하는 스마트 홈 로봇; 및
    상기 스마트 홈 로봇의 동작을 제어하기 위한 로봇 제어 어플리케이션을 사용자로 하여금 생성하도록 지원하는 컴퓨팅 디바이스를 포함하는, 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템.
  2. 제 1 항에 있어서,
    상기 컴퓨팅 디바이스는, 상기 컴퓨팅 디바이스 상에서 상기 로봇 제어 어플리케이션의 코딩을 위한 시나리오 편집기가 구동되도록 구성되고,
    상기 시나리오 편집기는,
    상기 컴퓨팅 디바이스의 디스플레이의 적어도 일부에 위치한 모듈 목록 영역에 텍스트로 표현된 모듈 - 상기 모듈은 상기 스마트 홈 로봇의 복수의 기능 중 어느 하나를 각각 제어하도록 미리 프로그래밍됨 - 들을 표시하고,
    사용자가 상기 텍스트로 표현된 모듈들 중 선택된 어느 하나를 상기 컴퓨팅 디바이스의 디스플레이의 적어도 일부에 위치한 작업 영역으로 드래그 앤 드롭하는 것에 응답하여 상기 작업 영역에 상기 선택된 어느 하나의 모듈에 상응하는 도식화된 형상의 기능 블록을 표시하도록 구성된, 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템.
  3. 제 2 항에 있어서,
    상기 기능 블록은 상기 스마트 홈 로봇의 복수의 기능 중 어느 하나를 수행하기 위해 필요한 입력 값을 정의하는 하나 이상의 입력 단자 및 상기 복수의 기능 중 어느 하나를 수행한 출력 값을 정의하는 하나 이상의 출력 단자 중 적어도 하나를 포함하는, 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템.
  4. 제 3 항에 있어서,
    상기 작업 영역에 표시된 복수의 기능 블록의 입력 단자 및 출력 단자 중 2 개의 단자는 스크립트 블록을 경유하여 연결되고, 상기 스크립트 블록은 상기 기능 블록의 입력 단자 및 출력 단자 중 적어도 하나에 대응되는 값을 기반으로 하는 논리 연산을 정의하는, 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템.
  5. 제 4 항에 있어서,
    상기 시나리오 편집기는,
    사용자가 상기 스크립트 블록을 선택하는 것에 응답하여, 상기 스크립트 블록의 논리 연산을 나타내는 텍스트 스크립트를 상기 컴퓨팅 디바이스의 디스플레이의 적어도 일부에 위치한 스크립트 창 영역에 표시하고,
    상기 컴퓨팅 디바이스의 입력부의 입력에 의해 사용자로 하여금 상기 텍스트 스크립트를 직접 편집하게 하도록 구성된, 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템.
  6. 제 4 항에 있어서,
    상기 시나리오 편집기는,
    사용자가 상기 기능 블록의 입력 단자를 선택하는 것에 응답하여 상기 기능 블록의 구현에 필요한 입력 값의 목록을 상기 컴퓨팅 디바이스의 디스플레이에 표시하고, 사용자가 상기 입력 값의 목록 중 어느 하나를 선택하는 것에 응답하여 상기 입력 단자에 선행하는 스크립트 모듈의 스크립트를 자동 생성하도록 구성된, 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템.
  7. 제 3 항에 있어서,
    상기 스마트 홈 로봇의 터치 센서는 제 1 터치 센서 및 제 2 터치 센서를 포함하고,
    상기 작업 영역에 표시된 기능 블록은, 상기 스마트 홈 로봇의 상기 제 1 터치 센서 및 상기 제 2 터치 센서의 작동 여부에 따른 값을 출력하는 터치 센서 블록; 상기 스마트 홈 로봇의 음성 출력 수단을 제어하는 음성 출력 기능 블록; 및 상기 터치 센서 블록 및 음성 출력 기능 블록 사이를 연결하는 연결 블록을 포함하며,
    상기 터치 센서 블록과 상기 연결 블록 사이의 스크립트 블록은, 제 1 터치 센서의 동작 감지에 따라 제 1 변수 값을 미리 결정된 값으로 설정하고 제 2 터치 센서의 동작 감지에 따라 제 2 변수 값을 미리 결정된 값으로 설정하는 논리 연산을 정의하고,
    상기 연결 블록과 상기 음성 출력 기능 블록의 재생 개시 단자 사이의 스크립트 블록은, 상기 제 1 변수 값이 미리 결정된 값이라는 결정에 응답하여 재생될 음악의 파일명을 지정하는 논리 연산을 정의하고,
    상기 연결 블록과 상기 음성 출력 기능 블록의 재생 중단 단자 사이의 스크립트 블록은, 상기 제 2 변수 값이 미리 결정된 값이라는 결정에 응답하여 중단 기능 변수를 활성화시키는 논리 연산을 정의하고,
    상기 음성 출력 기능 블록은 상기 재생 개시 단자로 음악의 파일명이 입력되는 것에 응답하여 상기 파일명에 대응되는 음악 파일을 상기 스마트 홈 로봇의 음성 출력 수단을 통해 재생하고,
    상기 음성 출력 기능 블록은 상기 재생 중단 단자로 활성화된 중단 기능 변수가 입력되는 것에 응답하여 상기 음성 출력 수단의 음악 재생을 중단하도록 구성되는, 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템.
  8. 제 2 항에 있어서,
    상기 컴퓨팅 디바이스는, 상기 컴퓨팅 디바이스 상에서 상기 로봇 제어 어플리케이션이 상기 스마트 홈 로봇의 영상 출력 수단에서 표시되는 사용자 인터페이스를 제작하기 위한 UI 편집기가 구동되도록 구성되고,
    상기 모듈은 상기 사용자 인터페이스를 상기 스마트 홈 로봇의 영상 출력 수단에서 표시되도록 하는 표시 제어 모듈을 포함하는, 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템.
  9. 제 8 항에 있어서,
    상기 스마트 홈 로봇은 발광 소자, 상기 영상 출력 수단을 포함하는 헤드부를 바디부에 대해 회전 가능하도록 하는 목 관절부, 상기 바퀴 구동 수단이 포함된 다리부를 상기 바디부에 대해 회전 가능하도록 하는 다리 관절부를 더 포함하고,
    상기 컴퓨팅 디바이스는, 상기 컴퓨팅 디바이스 상에서 사용자로 하여금 시간의 흐름에 따른 상기 발광 소자의 점멸, 상기 발광 소자의 점멸 색상, 상기 목 관절부의 동작, 상기 바퀴 구동 수단의 동작, 상기 다리 관절부의 동작 중 적어도 하나를 순차적으로 정의하는 모션 애니메이션을 편집하도록 하는 모션 편집기가 구동되도록 구성되고,
    상기 모듈은 상기 모션 애니메이션을 상기 스마트 홈 로봇이 재현하도록 하기 위한 모션 실행 모듈을 포함하는, 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템.
  10. 제 9 항에 있어서,
    상기 컴퓨팅 디바이스는, 상기 컴퓨팅 디바이스 상에서 사용자로 하여금 상기 시나리오 편집기에 의해 생성된 로봇 제어 어플리케이션을 상기 스마트 홈 로봇으로 업로드 또는 상기 스마트 홈 로봇에서 삭제하도록 하는 설치 관리기가 구동되도록 구성되는, 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템.
KR1020180076207A 2018-07-02 2018-07-02 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템 KR20200003437A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180076207A KR20200003437A (ko) 2018-07-02 2018-07-02 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180076207A KR20200003437A (ko) 2018-07-02 2018-07-02 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020200007065A Division KR102095951B1 (ko) 2020-01-20 2020-01-20 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템

Publications (1)

Publication Number Publication Date
KR20200003437A true KR20200003437A (ko) 2020-01-10

Family

ID=69158607

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180076207A KR20200003437A (ko) 2018-07-02 2018-07-02 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템

Country Status (1)

Country Link
KR (1) KR20200003437A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112885222A (zh) * 2021-01-25 2021-06-01 中国石油大学胜利学院 一种新型ai互动模拟沙盘及其使用方法
KR102606891B1 (ko) * 2023-06-01 2023-11-24 강연구 게임 콘텐츠와 결합한 흐름 기반 교육용 프로그래밍 언어를 이용한 코딩 교육 시스템 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112885222A (zh) * 2021-01-25 2021-06-01 中国石油大学胜利学院 一种新型ai互动模拟沙盘及其使用方法
KR102606891B1 (ko) * 2023-06-01 2023-11-24 강연구 게임 콘텐츠와 결합한 흐름 기반 교육용 프로그래밍 언어를 이용한 코딩 교육 시스템 및 방법

Similar Documents

Publication Publication Date Title
US11227439B2 (en) Systems and methods for multi-user virtual reality remote training
US20210205980A1 (en) System and method for reinforcing programming education through robotic feedback
KR102095951B1 (ko) 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템
US10181268B2 (en) System and method for toy visual programming
US6879862B2 (en) Selection and control of motion data
US6718231B2 (en) Authoring system and authoring method, and storage medium
US20150298315A1 (en) Methods and systems to facilitate child development through therapeutic robotics
US8447428B2 (en) Method for editing movements of a robot
JP6319772B2 (ja) リアルタイムで行われる移動ロボットの脈絡ある挙動を生成する方法およびシステム
KR100738258B1 (ko) 스크립트 생성기를 이용하여 다양한 플랫폼의 로봇 제어를 위한 상용화 저작툴의 활용방법
KR20200003437A (ko) 로봇 제어 어플리케이션 생성을 이용한 코딩 교육 시스템
Martelaro Wizard-of-oz interfaces as a step towards autonomous hri
KR20110026560A (ko) 이벤트 편집기능을 가지는 교육용 이동로봇
KR101626966B1 (ko) 로봇 컨텐츠 저작 장치 및 방법
KR20220146790A (ko) 로봇 제어 앱을 이용한 코딩 교육 시스템
US20200254358A1 (en) Terminal for action robot and method of operating the same
Jeong et al. AutomataStage: an AR-mediated Creativity Support Tool for Hands-on Multidisciplinary Learning
KR102245064B1 (ko) 교육용 프로그램 코딩 방법
Oosterkamp Creating a toolkit for human-robot interaction
US20240112418A1 (en) XR World Build Capture and Playback Engine
Georgeon et al. Generating natural behaviors using constructivist algorithms
Laamanen Architecture for theatre robotics
CN114905496A (zh) 模块机器人的构建方法、模块机器人组装分享方法、用于模块机器人构建的交互系统
Grimmett Raspberry Pi Robotic Blueprints
CN114415924A (zh) 一种基于实物编程的多模态交互方法及相关设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
A107 Divisional application of patent