KR102347623B1 - 컴퓨터 프로그램 생성 장치 및 컴퓨터 프로그램 생성 방법 - Google Patents

컴퓨터 프로그램 생성 장치 및 컴퓨터 프로그램 생성 방법 Download PDF

Info

Publication number
KR102347623B1
KR102347623B1 KR1020197003567A KR20197003567A KR102347623B1 KR 102347623 B1 KR102347623 B1 KR 102347623B1 KR 1020197003567 A KR1020197003567 A KR 1020197003567A KR 20197003567 A KR20197003567 A KR 20197003567A KR 102347623 B1 KR102347623 B1 KR 102347623B1
Authority
KR
South Korea
Prior art keywords
physical information
computer program
marker
image
computer
Prior art date
Application number
KR1020197003567A
Other languages
English (en)
Other versions
KR20190029635A (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 크리스토프 쿠롭스키
Publication of KR20190029635A publication Critical patent/KR20190029635A/ko
Application granted granted Critical
Publication of KR102347623B1 publication Critical patent/KR102347623B1/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
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B1/00Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways
    • G09B1/32Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways comprising elements to be used without a special support
    • G09B1/36Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways comprising elements to be used without a special support the elements being connectible by corresponding projections and recesses
    • 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
    • G09B23/00Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes
    • G09B23/06Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics
    • G09B23/18Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics for electricity or magnetism
    • G09B23/183Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics for electricity or magnetism for circuits
    • G09B23/186Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics for electricity or magnetism for circuits for digital electronics; for computers, e.g. microprocessors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Image Analysis (AREA)
  • Nuclear Medicine (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

설명 텍스트(3) 및/또는 그래픽 기호(4)를 포함한 복수의 물리적 정보 운반자(2)와; 디지털 이미지를 포착하도록 구성된 이미지 포착 장치(5)와; 디지털 이미지를 처리하고, 상기 이미지의 운반자(2)를 인식하고, 서로와 관련하여 상기 운반자(2)의 배열을 결정하고, 추출된 배열을 컴퓨터 프로그램으로 변환하도록 구성된 컴퓨터 장치(6)를 포함하고, 상기 물리적 정보 운반자(2)는 컴퓨터 장치(6)의 컴퓨터 프로그램의 요소와 연관된 직사각형 콘트라스팅 마커(7)를 포함한 것을 특징으로 하는 컴퓨터 프로그램 생성 시스템을 제공한다.

Description

컴퓨터 프로그램 생성 장치 및 컴퓨터 프로그램 생성 방법
본 발명은 유형체 사용자 인터페이스(TUI)를 이용하여 컴퓨터 프로그램을 생성하는 장치 및 컴퓨터 프로그램을 생성하는 방법에 관한 것이다. 본 발명은 특히 어린이 및 청소년들의 프로그래밍 학습에 적용할 수 있다.
사용자와 상호작용할 수 있는 장치 또는 소프트웨어의 일부로서 이해되는 사용자 인터페이스(UI)는 오늘날 커서가 디스플레이 화면에서 디스플레이되는 포인팅 장치를 운용하는 것에 주로 기반을 둔다. 그러한 유형의 그래픽 사용자 인터페이스(GUI)는 소비자 장치에서 지배적이다. 터치 사용자 인터페이스가 인기를 얻고 있고, 여기에서 컴퓨터의 제어는 입력 장치와 출력 장치의 기능이 결합되어 있는 터치패드 또는 터치스크린과 사용자 신체(전형적으로 손가락)의 접촉에 의해 실행된다. 그러나 컴퓨터 또는 다른 장치들을 프로그래밍하기 위한 인터페이스는 여전히 명령 라인 인터페이스(command line interface, CLI)에 의해 지배되고, 여기에서 명령은 일련의 텍스트 행으로서 키보드를 이용하여 컴퓨터에 입력된다.
그러나 인간에 대하여 작동하는 자연적 방법은 물리적인 객체를 이용하는 것이다. 장치의 디스플레이 화면에서만 생성되는 객체를 조작하는 것뿐만 아니라 텍스트 명령을 입력하는 것은 인간에게 자연스러운 것이 아니다. 그러므로 컴퓨터의 동작을 제어하기 위해 물리적 객체(물리적 정보 운반자)의 조작에 기반을 둔 유형체 사용자 인터페이스(tangible user interface, TUI)에 높은 잠재성이 있다. 그러한 인터페이스는 또한 컴퓨터 프로그래밍에서 사용될 수 있다.
미국 특허 제US6175954호에는 물리적 정보 운반자, 이미지 포착 장치, 및 상기 이미지 포착 장치로부터의 신호를 처리하는 컴퓨터 장치를 포함한 컴퓨터 프로그램 생성 장치가 개시되어 있다. 이 특허는 물리적 정보 운반자의 위치 및 구성에 관한 정보의 컴퓨터 장치에 대한 기술적 전달 문제를 다룬다.
PCT 특허 출원 WO2015/197691호에는 컴퓨터 프로그램을 생성할 때에도 그 사용을 찾을 수 있는 데이터 입력 방법이 개시되어 있다. 이 방법에서는 물리적 정보 운반자, 측정 장치(이것은 또한 이미지 포착 장치일 수 있음) 및 컴퓨터 장치를 이용하였고, 물리적 정보 운반자의 위치 및 구성에 관한 데이터에 기반하여 컴퓨터 프로그램용 입력 데이터를 생성한다. 설명된 방법은 컴퓨터 장치에서 소정의 기능(이것은 알고리즘의 일부일 수 있음)을 각각의 물리적 정보 운반자에 지정하고, 이어서 컴퓨터 장치에서 상기 측정 장치에 의해 검색된 데이터에 기초하여 컴퓨터 프로그램용 입력 데이터를 생성하는 것에 기반을 둔다.
TUI의 특수 역할은 유치원 및 조기 학교 단계에서 학생들의 수작업 및 지각 기술이 제한되는 컴퓨터 과학의 학습과 관련된다. 그러한 경우에, 물리적 인터페이스 요소들을 사용함으로써 어린이들의 작업을 크게 쉽게 하고 게임 또는 플레이와 유사한 데이터 입력을 만들어서 어린이들의 주의를 효과적으로 끌어당길 수 있다.
일부 공지된 장치들은 컴퓨터에서 컴퓨터 알고리즘의 요소들이 지정된 컴퓨터 프로그래밍의 학습에 물리적 블록(물리적 정보 운반자)을 이용한다. 사용자는 상기 블록들을 함께 둠으로써 완전한 알고리즘을 생성한다. 상기 알고리즘은 태블릿 또는 스마트폰과 같은 모바일 장치 또는 컴퓨터에서 실행될 수 있다. 이러한 시스템들과 연관된 기술적 문제점은 물리적 블록(물리적 정보 운반자)의 상호 위치 및 구성에 관한 정보를 컴퓨터 장치에 전달하기 위한 정밀하고 오류없는 방법을 보장하는 것이다.
미국 특허 출원 제US2016/0112279호는 전자 요소들을 구비한 별도의 블록들을 제시한다. 이 개념은 구글, 스탠포드 유니버시티 및 IDEO에 의한 프로젝트 "프로젝트 블록스"(Project bloks)에서 활용된다. 상기 블록들은 함께 접속되고 서로간에 및 제어 모듈과 통신하여 그들의 상호 위치 및 구성에 관한 정보를 전달한다.
탠저블 플레이, 인크(Tangible Play, Inc.)에 의한 다른 하나의 프로젝트 "오스모 코딩"(Osmo coding)은 전자 요소들이 없는 물리적 정보 운반자를 구성하는 블록들을 포함한다. 그들의 인식은 물리적 블록의 형상 및 색 분석에 기초하여, 태블릿(세트업을 고정하기 위해 특수 패드 위에 배치됨)의 카메라에 대한 사진 추가 기능에 의해 실행된다. 상기 블록들은 인간이 판독할 수 있는 그래픽 기호들을 포함하고, 그 때문에 사용자는 이후에 태블릿에 의해 실행될 수 있는 블록을 이용하여 알고리즘을 직관적으로 구축할 수 있다. 그러한 인식 방식은 미국 특허 제US9354716호(샤르마 등)에 또한 개시되어 있고, 이 방식은 물리적 블록(물리적 정보 운반자)의 위치 및 구성의 유사한 인식 방식에 기초를 두며, 상기 특허에는 컴퓨터 프로그램 생성 장치로서 또한 사용될 수 있는, 컴퓨터 디스플레이 화면에서 물리적인 사용자 인터페이스 객체들을 시각화하는 시스템에 대하여 개시되어 있다. 상기 시스템은 물리적 정보 운반자, 이미지 포착 장치, 및 이미지 포착 장치로부터의 신호를 처리하는 컴퓨터 장치를 포함한다. 상기 시스템은 하기 방법에 따라 동작한다: 물리적 정보 운반자들이 작업 공간에 배열된다; 다음에, 이미지 포착 장치를 이용하여 물리적 정보 운반자의 배열이 평면상에 기록되고 상기 이미지 포착 장치에 의해 포착된 이미지가 컴퓨터 장치에 전달되며, 상기 컴퓨터 장치에서 물리적 정보 운반자의 상호 위치, 구성, 형상 및 색에 관한 데이터가 컴퓨터 장치가 판독할 수 있는 데이터로 변환된다. 상기 물리적 정보 운반자의 배열은 물리적 정보 운반자의 형상 및 색 분석에 기초하여 인식된다.
미국 특허 제US6366300호에는 비주얼 프로그래밍 방법 및 시스템이 개시되어 있고, 여기에서 객체 선택 수단은 접속된 부하의 행동을 규정하는 행동적 그래픽 객체를 선택하기 위해 사용되고, 행동 선택 수단은 행동적 그래픽 객체의 행동 유형을 선택하기 위해 사용되며, 관련 객체 선택 수단은 행동적 그래픽 객체의 행동에 관련된 관련 그래픽 객체를 선택하기 위해 사용되고, 행동 규칙 설정 수단은 행동적 그래픽 객체의 행동 규칙을 설정하기 위해 사용된다.
중국 특허 출원 제CN102136208호에는 물질 객체 프로그래밍 방법 및 시스템이 개시되어 있다. 방법은 물질 객체 프로그래밍 디스플레이 환경의 집합을 확립하는 단계와; 사용자에 의해 배치된 일련의 물질 객체 프로그래밍 블록들을 슈팅하고 이미지 획득 유닛을 이용하여 샷 이미지를 물질 객체 프로그래밍 처리 모듈에 업로드하는 단계와; 물질 객체 프로그래밍 블록의 위치 정보 및 컴퓨터 비젼 식별 모드에 따라 물질 객체 프로그래밍 처리 모듈을 이용하여 물질 객체 블록들의 시퀀스를 대응하는 기능적 의미 시퀀스로 변환하는 단계와; 현재의 기능적 의미 시퀀스가 물질 객체 디스플레이 환경의 문법적 및 의미론적 규칙에 부합하는지 여부를 결정하고, 만일 현재의 기능적 의미 시퀀스가 물질 객체 디스플레이 환경의 문법적 및 의미론적 규칙에 부합하지 않으면 대응하는 오류 프롬프트를 피드백하는 단계와; 상기 프롬프트 정보에 따라 사용자를 이용하여 대응하는 물질 객체 프로그래밍 블록을 교체하는 단계와; 배치된 물질 객체 프로그래밍 블록의 시퀀스에 대응하는 기능적 의미 시퀀스가 물질 객체 디스플레이 환경의 문법적 및 의미론적 규칙에 부합할 때까지 상기 단계들을 반복하고 프로그래밍 작업을 종료하는 단계를 포함한다.
본 발명에 따른 컴퓨터 프로그램 생성 장치는 물리적 정보 운반자를 또한 포함하고, 그 위에 설명 텍스트를 인간이 판독할 수 있는 자연 언어 및/또는 그래픽 기호로 제시한다. 물리적 정보 운반자는 임의의 공간적으로 규정된 객체일 수 있다. 물리적 정보 운반자는 컴퓨터 아이콘의 물리적 균등물(피콘(phicon) 또는 물리적 아이콘(physical icon))로서 또한 규정될 수 있다.
컴퓨터 프로그램 생성 장치의 요소는 또한 이미지 포착 장치, 및 이미지 포착 장치로부터의 신호를 처리하는 컴퓨터 장치이고, 바람직하게, 상기 이미지 포착 장치와 상기 컴퓨터 장치는 단일 장치, 예를 들면, 태블릿 또는 스마트폰 내에 통합된다.
컴퓨터 장치에서, 각각의 물리적 정보 운반자에는 컴퓨터 프로그램의 요소가 지정된다. 그러한 요소는 특히 값의 정의, 임의 종류의 변수, 함수, 함수의 일부, 연산자, 표, 프로그래밍 라이브러리, 객체, 부류, 방법, 명령, 명령어뿐만 아니라 임의 유형의 임의 데이터일 수 있다. 물리적 정보 운반자에 대한 알고리즘의 요소의 지정은 장치의 판매(제조업자에 의한 판매) 전에, 그러나 또한 장치의 사용(사용자에 의한 사용) 중에, 장치를 이용하는 임의의 단계에서 실행될 수 있다.
컴퓨터 장치의 용어는 정보를 처리하는 임의의 장치 또는 전자 기계를 포괄한다. 이것은 특히 퍼스널 컴퓨터, 태블릿, 스마트폰, 산업용 로봇 또는 지능형 가전 기기일 수 있다.
이미지 포착 장치의 용어는 특히 컴퓨터 모니터 또는 태블릿 또는 스마트폰에 내장된 것을 비롯한 디지털 포토 카메라 또는 비디오 카메라를 포괄한다.
본 발명에 따른 장치는 물리적 정보 운반자가 높은 콘트라스트의 마커를 포함한다는 점에 특징이 있고, 상기 마커는 바람직하게 직사각형 또는 정사각형의 형상을 갖는다.
마커는 물리적 정보 운반자의 정밀한 인식을 가능하게 한다. 식별자가 물리적 정보 운반자에 지정되기 때문에, 마커는 논리적 값들이 지정된 마커의 밝은 영역과 어두운 영역을 분석함으로써 해독될 수 있다.
직사각형 마커의 사용은 이미지 포착 장치가 물리적 정보 운반자가 배열된 평면에 항상 평행하지 않다는 사실에 기인하여 원근(perspective)을 보정하기 위해 이미지 포착 장치로부터의 데이터의 처리를 또한 가능하게 한다.
이러한 원근 보정을 실행하기 위해, 마커의 윤곽을 형성하는 직사각형의 정점의 위치에 대한 정보가 사용된다. 양호한 특징으로서 정사각형 형상의 사용은 주어진 요소가 마커인지 아닌지 컴퓨터 비젼을 이용한 결정을 단순화한다.
바람직하게, 물리적 정보 운반자는 홈(recess) 또는 돌기의 형태로 주변에서 연장하는 적어도 하나의 접속 구역을 포함한다. 홈 및/또는 돌기는 운반자의 반대쪽에 있을 수 있다. 운반자는 사용자의 특정 언어에 형상이 적응될 수 있다. 예를 들면, 운반자는 텍스트가 좌측으로부터 우측으로 판독되는 언어에, 또는 텍스트가 우측으로부터 좌측으로 판독되는 언어에, 또는 상부로부터 하부로 판독되는 언어에 적응될 수 있다. 이러한 방식으로 구성된 접속 구역은 물리적 정보 운반자의 정밀한 상호 위치지정을 가능하게 한다.
바람직하게, 높은 콘트라스트 마커는 물리적 정보 운반자의 대칭축 밖에 위치된다. 이 특징은 물리적 정보 운반자의 방위 결정을 단순화한다.
본 발명에 따른 컴퓨터 프로그램 생성 방법은 본 발명에 따른 컴퓨터 프로그램 생성 장치의 요소들, 즉
- 인간이 판독할 수 있는 자연 언어 및/또는 그래픽 기호로 설명이 배치되는 물리적 정보 운반자,
- 이미지 포착 장치, 및
- 컴퓨터 프로그램의 요소가 각각의 물리적 정보 운반자에 지정된 컴퓨터 장치- 이 컴퓨터 장치는 이미지 포착 장치로부터의 이미지 신호를 처리하도록 구성된 것임 -의 협력에 기초를 둔다.
이 방법은 하기의 단계들을 포함한다:
- 물리적 정보 운반자를 평면상에 배열하는 단계;
- 이미지 포착 장치에 의해 상기 물리적 정보 운반자의 배열의 이미지를 포착하는 단계;
- 포착된 이미지를 컴퓨터 장치에 전달하는 단계;
- 식별된 마커를 선택된 동작과 연관시키는 구조에 기초하여, 물리적 정보 운반자의 질서정연한 식별자의 어레이로부터 컴퓨터 프로그램을 컴퓨터 장치에서 생성하는 단계.
상기 방법은 물리적 정보 운반자에서 높은 콘트라스트의 직사각형 마커, 바람직하게는 정사각형 마커를 (바람직하게 물리적 정보 운반자의 대칭축 밖에) 제시한다는 점, 및 컴퓨터 장치가 알고리즘을 생성하기 전에 하기의 단계들, 즉
- 마커뿐만 아니라 그 정점들의 좌표를 식별하는 단계, 및 이어서,
- 식별된 마커의 정점들의 좌표에 관한 데이터에 기초하여 원근을 보정하기 위해 상기 포착된 이미지를 변환하는 단계를 실행하도록 구성된다.
직사각형의 높은 콘트라스트 마커의 사용은 물리적 정보 운반자의 위치 및 구성의 정밀한 인식 및 컴퓨터 장치에의 전송을 가능하게 한다.
높은 콘트라스트 마커는 컴퓨터 비젼 기법으로 쉽게 검출될 수 있고, 한편 상이한 마커들 간에는 최대화 차가 있다. 이것은 본 발명에 따른 방법 및 장치가 로우 엔드 하드웨어(low-end hardware) 구성을 가진 장치를 이용하여 효율적으로 동작할 수 있다는 것을 의미한다. 이러한 해법은 평면 조명에 의해 영향을 받지 않는다(이것은 물리적 정보 운반자의 형상 및 색 인식에 기반하여 시스템에서 물리적 정보 운반자의 색 검출을 어렵게 한다).
이러한 해법은 상기 평면과 관련하여 이미지 포착 장치의 고정 배열을 또한 요구하지 않는다. 컴퓨터 장치와 이미지 포착 장치가 태블릿 또는 스마트폰과 같은 단일 장치에 통합되어 있는 소비자 장치의 경우에는 예컨대 US9354716 특허(사르마 등)에서 공지된 장치를 고정하기 위한 특수 패드 사용 필요조건을 제거한다. 이미지 포착은 다른 위치에서 실행될 수 있고 상당한 크기의 평면들을 커버할 수 있다.
본 발명에 따른 장치는 제조 및 동작 용이성과 관련해서, 특히 US2016/0112279의 특허 출원(칼라니티 등)에 개시된 것과 같은 전원을 필요로 하고 생산 비용이 더 비싼 전자 블록들을 사용하는 해법과 관련해서 비용 효율적이다. 본 발명에 따른 장치는 카드보드(또는 대안적으로, 전형적으로 어린이용 게임과 연관된 마모 및 찢어짐에 견디는 다른 물질)로 제조된 물리적 정보 운반자뿐만 아니라 온라인으로 이용 가능한 모바일 소프트웨어 애플리케이션의 집합의 형태로 상업화될 수 있다.
본 발명의 목적은 도면에서 양호한 실시형태로 도시된다.
도 1은 본 발명에 따른 장치의 블록도이다.
도 2는 평평한 카드보드 블록 또는 퍼즐 피스의 형태로 물리적 정보 운반자의 구성 세부를 보인 도이다.
도 3은 물리적 정보 운반자가 배치된 카드보드 보드 결정 작업공간의 구성 세부를 보인 도이다.
도 4는 평평한 카드보드 블록 또는 퍼즐 피스의 형태로 물리적 정보 운반자의 예들을 보인 도이다.
도 5는 본 발명에 따른 장치와 함께 이용할 수 있는 프로그래밍 학습용 컴퓨터 디스플레이 화면, 및 마커의 스캔 전에 제시되는 그래픽 인터페이스의 각종 요소들을 보인 도이다.
도 6은 본 발명에 따른 장치와 함께 이용할 수 있는 프로그래밍 학습용 컴퓨터 디스플레이 화면, 및 마커의 스캔 전에 제시되는 그래픽 인터페이스의 각종 요소들을 보인 도이다.
도 7은 본 발명에 따른 장치에 의해 생성된 컴퓨터 프로그램으로 제어될 수 있는, 물리적 정보 운반자 및 컴퓨터 게임의 디스플레이 화면의 배치 예를 보인 도이다.
도 8은 본 발명에 따른 방법을 보인 개략도이다.
도 9는 장치의 기능적 구조의 개략도이다.
본 발명에 따른 컴퓨터 프로그램 생성 장치가 도 1 내지 도 9에 양호한 실시형태로 도시되어 있다. 장치는 퍼즐 피스의 평평한 카드보드 블록의 형태를 가진 물리적 정보 운반자(2)를 포함한다.
물리적 정보 운반자(2)에는 폴란드어 또는 영어와 같은 자연어의 설명문(3), 및/또는 인간이 판독할 수 있는 그래픽 기호(4), 예를 들면 신발 자국(걸음을 기호화함), 화살표(회전을 기호화함) 또는 질문 부호(질문 또는 if 함수를 기호화함)가 있다.
각각의 운반자(2), 바람직하게 좌측 가장자리로부터 소정 거리에 있는 그 좌측에는 적어도 2개의 대조되는 색, 예를 들면 백색과 다른 대조되는 색, 예컨대, 흑색, 적색, 암적색, 자주색, 녹색, 청색 또는 버드나무 녹색으로 된 요소(7A, 7B)를 포함한 대조되는 직사각형 마커(7)가 위치된다. 마커의 다른 실시형태에서, 3개 이상의 대조 색을 이용하여 마커들을 규정할 수 있다. 마커(7)의 요소(7A, 7B)들은 바람직하게 행렬 바코드, 즉 특정 패턴을 생성하는 요소들의 2차원 어레이를 형성한다.
마커(7)는 바람직하게 대칭 축 밖에 위치되거나 운반자(2)의 중심으로부터 오프셋된다. 이것은 포착된 이미지에서 블록들의 방위 결정을 단순화한다. 마커(7)의 형상을 규정하기 위한 정사각 형태의 사용은 운반자(2)의 이미지의 소정 영역이 마커인지 아닌지의 결정을 단순화한다.
물리적 정보 운반자(2) 유형들의 예는 도 4에 도시되어 있다. 사용에는 동일 유형의 복수의 스텝 또는 값을 포함하는 알고리즘을 구성할 수 있도록 각 유형의 복수의 운반자(2)가 제공될 수 있다. 예를 들면, 물리적 정보 운반자(2)의 집합은 하기 블록들을 포함할 수 있다(괄호 안에 표시된 특수 유형의 운반자의 피스의 수와 함께):
- 알고리즘의 경계를 표시하는 블록들: 프로그램의 START 및 END;
- 명령을 표시하는 블록들: STEP(6 피스), ROTATION RIGHT(4 피스), ROTATION LEFT(4 피스), PICK UP(4 피스), PUT(3 피스), USE(4 피스), DRAW(2 피스), JUMP(3 피스), CONTINUOUSLY(3 피스);
- 변수를 규정하는 블록들: VARIABLE(3 피스);
- 수치를 규정하는 블록들: ONE(5 피스), TWO(4 피스), THREE(3 피스), FOUR(3 피스), FIVE(2 피스), SIX(2 피스), SEVEN(2 피스), EIGHT(2 피스), NINE(2 피스), ZERO(2 피스);
- 변수명을 규정하는 블록들: X(6 피스), Y(4 피스);
- 연산자를 규정하는 블록들: EQUALS(3 피스), MINUS(3 피스), PLUS(2 피스);
- 상대 위치를 규정하는 블록들: HERE(3 피스), IN FRONT(3 피스), ON THE RIGHT(2 피스), ON THE LEFT(2 피스), BEHIND(2 피스);
- 객체를 규정하는 블록들: EMPTY(3 피스), OBSTACLE(3 피스), HILL(3 피스), ENVELOPE A(3 피스), ENVELOPE B(3 피스), AN OBJECT TO PICK UP(3 피스), ACTION AREA(3 피스);
- 명령 실행자를 규정하는 블록들: CONTROL (CHARACTER A)(3 피스), CONTROL (CHARACTER B)(3 피스), CONTROL (CHARACTER C)(3 피스), CONTROL (CHARACTER D)(2 피스);
- 함수를 규정하는 블록들: DEFINE A FUNCTION(3 피스), END OF FUNCTION(3 피스), EXIT FUNCTION(3 피스), EXECUTE FUNCTION(5 피스), A(5 피스), B(5 피스), C(5 피스),
양호한 실시형태에서, 본 발명에 따른 장치는 디지털 이미지를 포착하도록 구성된 이미지 포착 장치(5), 및 상기 이미지 포착 장치(5)로부터 획득된 디지털 이미지를 처리하도록 구성된 컴퓨터 장치(6)를 포함한다. 이 장치들은 운영체제를 포함한 태블릿(11) 및 그 후방 패널 내의 카메라의 형태로 통합될 수 있다. 스마트폰, 노트북 컴퓨터 등과 같은 다른 장치들도 또한 사용될 수 있다.
시스템을 사용하기 위해, 사용자는 카메라를 구비한 임의 종류의 표준 유형의 태블릿(11)을 이용하고, 특정 물리적 정보 운반자(2)에 컴퓨터 프로그램의 요소들이 지정된 프로그래밍 환경을 포함한 추가의 소프트웨어 애플리케이션(60)을 설치할 수 있다.
컴퓨터 장치(6)에 설치되는 소프트웨어 애플리케이션(App, 앱)(60)은 하기의 모듈들을 포함할 수 있다:
- 카메라(5)에 의해 포착된 디지털 이미지를 판독하도록 구성된 이미지 포착 모듈(61);
- 특히 운반자 위의 마커들을 인식함으로써, 이미지의 운반자(2)들을 인식하고 서로에 관한 상기 운반자(2)의 배열을 결정하기 위해 상기 디지털 이미지를 처리하도록 구성된 이미지 처리 모듈(62);
- 마커를 컴퓨터 프로그램 요소와 연관시키는 데이터 컨테이너(64)에 의존하여, 추출된 마커(7)들의 배열을 컴퓨터 프로그램 구조로 변환하도록 구성된 컴퓨터 프로그램 생성기(63).
데이터 컨테이너는 식별된 마커들을 선택된 동작들과 연관시키는 구조에 기초하여 물리적 정보 운반자의 지시된 식별자의 어레이 형태를 가질 수 있다.
인터넷으로부터 사용자에 의해 다운로드될 수 있는 소프트웨어 애플리케이션은 본 발명에 따른 시스템의 나머지 요소들과 함께 컴퓨터 판독가능 매체에 제공될 수 있다.
물리적 정보 운반자(2)는 작업 공간을 규정하는 예컨대 카드보드로 이루어진 보드(12)에 위치될 수 있다. 보드(12)는 사용자에 대한 판매용으로 제공된 집합 1의 요소들 중 하나를 형성할 수 있다.
보드(12)는 그 위에 인쇄된 점들의 격자와 대조 윤곽(14)을 가질 수 있다. 상기 점들은 운반자(2)의 위치지정 및 정렬을 용이하게 한다. 또한, 상기 점 및/또는 윤곽(14)은 예를 들면 이미지의 원근 및 규모를 보정하기 위해 카메라(5)에 의해 포착된 디지털 이미지의 이미지 인식을 용이하게 한다.
사용자는 바람직하게 보드(12) 위에 블록들을 배열함으로써 가용 블록들로부터 알고리즘을 생성한다. 사용자는 상기 가용 블록에 제시되는 자연 언어 설명 텍스트(3) 및 가용 블록 위에 제시된 그래픽 기호(4) 또는 사용자 매뉴얼에서 이용 가능한 명령어에 의해 지시된다.
각각의 알고리즘은 START 블록(22)으로 시작하고 END 블록(23)으로 끝난다. START 블록(22) 후에는 하나의 축을 따라서, 바람직하게는 수직으로, 생성된 알고리즘(5)의 일부인 명령어들이 순차적으로 배열된다.
블록들 중의 일부는 그 우측에 블록들을 추가할 수 있다. 예를 들면 STEP 블록(24)의 경우에, 다수의 스텝(25)을 표시하는 블록을 추가할 수 있다.
이어서, 사용자는 태블릿(11)과 같은 컴퓨터 장치(6)에 설치된 애플리케이션(60)을 이용하여 평면상에 배열된 블록들의 이미지 포착(사진 또는 비디오) 프로세스를 실행한다. 이미지를 포착하기 위해, 사용자는 태블릿(11)을 쥐고, 그 후방 카메라를 블록들이 배열된 평면 쪽으로 지향시킨다.
애플리케이션(60)은 포착된 디지털 이미지에서 마커(7)를 인식하고 식별한다. 예를 들면, 애플리케이션은 인식된 마커(7) 위에 디스플레이된 녹색의 아이콘(15)을 인식할 수 있다. 녹색의 아이콘(15)의 디스플레이는 실제 사진 촬영 전 또는 비디오 시퀀스의 녹화 중에도 실시간으로 태블릿(11)의 디스플레이 화면에서 실행된다.
도 5는 본 발명에 따른 장치 및 마커(7)의 스캐닝 전에 제시된 그래픽 인터페이스의 요소들과 함께 사용할 수 있는 프로그래밍 학습용 컴퓨터 디스플레이 화면을 보인 것이다.
사용자는 이 실시형태에서 사진 카메라를 닮은 스캐닝 아이콘(16)을 선택함으로써 블록들의 스캐닝 및 그들의 인식을 실행한다.
도 6은 본 발명에 따른 장치 및 마커(7)의 스캐닝 후에 제시된 그래픽 인터페이스의 요소들과 함께 사용할 수 있는 프로그래밍 학습용 컴퓨터 디스플레이 화면을 보인 것이다.
모든 마커(7)가 인식되지 않은 경우에, 사용자는 재시도 아이콘(17)을 선택함으로써 사진 또는 비디오 시퀀스를 촬영하는 다른 시도를 할 수 있다.
스캐닝이 성공인 때, 애플리케이션은 판독 컴퓨터 프로그램을 실행할 수 있다. 사용자는 바람직하게 재생 아이콘(18)을 선택함으로써 컴퓨터 프로그램을 개시한다.
사용자에 의해 생성된 단순한 프로그램들은 교육적 컴퓨터 게임을 제어하기 위해 사용될 수 있고, 이때 다른 작업을 운반하기 위해 학생(사용자)은 문자가 필요한 작업을 종료하게 하는 방식으로 태블릿(11)의 디스플레이 화면에서 이동하는 문자(19)를 프로그램할 것이다.
도 7은 교육용 컴퓨터 게임의 화면을 보인 것이고, 여기에서 플레이어의 역할은 캐릭터(19)를 픽업하기 위해 화면에 보이는 별(20)들로 이동시키는 것이다. 이를 위해, 사용자는 물리적 정보 운반자(2)인 가용 블록들을 생성하고 형성할 것이며, 이것은 도 7에 제시된 배열(21)이다.
예시적인 실시형태에서, 본 발명에 따른 컴퓨터 프로그램 생성 방법은 뒤에서 규정하는 단계들을 포함한다. 도 8은 본 발명에 따른 방법을 보인 개략도이다. 전술한 평평한 카드보드 블록들의 형태인 물리적 정보 운반자(2)는 평면 위에, 예를 들면 카드보드 보드(12) 위에 사용자에 의해 배열된다.
다음에, 태블릿(11)의 후방 카메라일 수 있는 이미지 포착 장치(5)의 사용으로, 사용자는 물리적 정보 운반자(2)의 배열을 평면상에 기록한다.
이어서, 바람직하게 1280 픽셀 × 960 픽셀의 사진 또는 동일한 프레임 크기의 비디오 시퀀스의 형태로 이미지 포착 장치(5)에 의해 포착된 이미지가 태블릿(11)과 같은 컴퓨터 장치(6)에 전송된다.
다음에, 컴퓨터 장치(6)에서, 컴퓨터 프로그램을 생성하기 전에, 마커(7)와 이들의 정점이 식별된다(이미지 처리 모듈(62)을 이용해서). 마커(7)의 식별은 바람직하게 아르코(ArUco)라고 부르는 라이브러리의 사용으로, 바람직하게 버전 1.3.0으로 또는 동일한 능력을 가진 다른 유사한 소프트웨어 또는 하드웨어로 실행된다.
절차의 이 단계의 예시적인 입력 데이터는 하기의 표에서 제시된다:
식별자 | 정점 좌표(x, y)
5 | (788, 357), (836, 357), (838, 402), (789, 403)
8 | (536, 362), (583, 360), (584, 405), (536, 407)
10 | (176, 377), (223, 376), (220, 421), (173, 422)
11 | (187, 585), (236, 584), (233, 633), (184, 634)
17 | (206, 814), (257, 814), (254, 867), (202, 867)
44 | (568, 473), (618, 472), (618, 519), (568, 520)
X축은 우측을 향하고 Y축은 아래쪽을 향한다. (0, 0) 좌표점은 바람직하게 이미지의 상부 좌측 코너에 존재한다. 식별자는 높은 콘트라스트의 각각의 직사각형 마커(7)에 및 이로써 정보의 각각의 물리적 운반자(2)에 지정된다.
컴퓨터 비전 처리의 결과로서 획득되는 식별자들의 집합은 질서정연하지 않다. 추가의 처리가 가능하도록, 상기 집합은 마커(7)들이 존재하는 블록들의 순서에 따라 질서정연하게 되어야 한다.
질서정연화 단계는 2개의 부단계를 갖는다: 제1단계 중에, 블록들이 배열된 평면에 평행하게 배치된 카메라- 카메라는 블록들의 회전에 따라 회전됨 -로 촬영한 것처럼 보이도록 입력 이미지의 변환을 가능하게 하는 변환(원근 보정)이 발견되고(802); 제2단계 중에, 변환의 적용 후에, 정점들의 좌표가 그들의 판독 순서에 따라 선으로 그룹화되고 질서정연하게 된다(803).
전술한 단계들 중 첫번째는 데이터를 알고리즘으로 변환할 수 있도록 데이터를 질서정연화하는 것이다. 이를 위해, 마커(7) 등의 상호 위치지정을 결정할 필요가 있다.
이를 위해, 마커(7)들의 정점들의 데이터에 기초하여 원근 시프트를 제거하기 위해, 이미지 포착 장치(5)에 의해 포착된 이미지의 변환이 실행된다. 원근 변환을 규정하기 위해, 각각 4개의 점으로 이루어진 2개의 집합이 필요하고, 여기에서 각 집합의 3개의 점들은 동일 선상에 있지 않고 각 집합의 4개의 점들은 모두 동일 평면상에 있어야 한다.
OpenCV 프로그래밍 라이브러리에서는 이 목적을 위해 getPerspectiveTransform이 사용될 수 있다. 획득된 원근 변환은 점들의 집합을 하나의 집합으로부터 다른 하나의 집합으로 변환할 수 있게 한다. 각각의 사용되는 마커(7)는 4개의 정점을 갖고, 이것은 그러한 집합들 중 하나로서 사용될 수 있다. 각각의 마커(7)가 소정 크기의 정사각형으로 알려져 있기 때문에, 다른 하나의 집합은 그 정사각형의 정점들로서 생성될 수 있다.
이러한 2개의 집합은 원근 왜곡이 제거되도록 마커(7)의 이미지의 변환을 가능하게 하는 변환을 결정할 수 있게 한다.
획득된 변환은 이미지 포착 장치(5)의 거리뿐만 아니라 그 경사각 및 회전각과 관계없이 주어진 마커(7)에서 동일한 뷰를 획득할 수 있게 한다.
전술한 예에서, 이미지에는 2개 이상의 마커(7)가 있다. 정점 좌표들의 결정의 비정확성 때문에, 주어진 마커(7)에 대하여 결정된 변환은 나머지 마커(7)를 포함한 전체 이미지에 대하여 사용되지 않을 수 있다. 이를 위해, 개별 마커(7)의 모든 개별 변환의 조합인 변환이 획득되어야 한다.
그러므로 마커(7)들 간의 거리의 행렬이 결정된다. 이 값들은 정확할 필요가 없고, 이 값들은 바람직하게 변환들의 결합 순서를 결정하는 데만 사용되기 때문에, 오류가 평균 마커 크기보다 더 작아야 한다. 2개의 마커(7)들 간의 거리는 각각의 마커(7)에 대하여 획득된 변환을 이용하여 이미지를 변환한 후에 마커(7)들 간의 평균 거리로서 계산된다. 마커(7)들은 스패닝 트리(Spanning Tree)에서 마커들 간의 거리를 증가시킴으로써 순서 집합(order set)에 따라 더 큰 그룹으로 결합된다.
마커(7)들을 그룹으로 결합하는 동안에, 후술하는 절차에 따라 후속적인 더 정밀한 변환이 결정된다.
먼저, 검출된 마커(7)만큼의 많은 그룹들이 생성된다. 각 그룹에 의해, 트랜섬(transom)뿐만 아니라 변환을 획득하기 위해 필요한 점들의 2개의 집합이 연관된다. 제1의 집합, 즉 소스 포인트들의 집합은 원래 이미지에서 마커(7)들의 정점들의 좌표를 포함하고, 제2의 집합, 즉 목표 포인트들은 주어진 그룹에 대한 이미지를 변환한 후에 목표 좌표들을 포함한다.
최초에, 이들은 주어진 그룹에 지정된 단일 마커(7)의 4개의 정점뿐만 아니라 임의 크기의 정사각형의 4개의 정점이다. 2개의 그룹을 결합하는 동안, 대응하는 집합들을 결합할 필요가 있고 새로운 변환을 결정할 필요가 있다.
점들의 집합은 이들이 동일한 참조 프레임 내의 정점들의 좌표를 포함하기 때문에 직접 결합될 수 있다. 목표 점들이 다른 참조 프레임에서 규정되기 때문에 목표 점들의 집합을 결합할 때 문제가 발생할 수 있다. 그러므로 먼저 이러한 참조 프레임들의 상호 변위를 결정하여야 한다. 상호 변위는 후술하는 절차를 이용하여 계산된다.
양측 그룹의 마커(7)들의 원래 좌표는 그룹들 중 하나에 대하여 결정된 변환에 의해 변환된다. 이 참조 프레임에서, 상이한 그룹에 속하는 2개의 가장 가까운 마커(7)들 간의 변위가 결정된다. 이 값은 전술한 참조 프레임의 변위이다.
정밀도를 높이기 위해, 이 변위(벡터)는 제2그룹의 변환을 이용하여 다시 계산된다. 최종 결과로서, 2개의 벡터의 가중 평균이 추정되고, 가중치가 각 그룹의 크기에 의해 주어진다. 점들의 집합을 결합한 후에, 새로운 변환이 결정된다.
OpenCV 라이브러리에서, 이 목적으로 함수 findHomography가 사용된다. 모든 그룹들을 결합한 후에, 획득된 변환은 완전한 이미지의 변환에 적용될 수 있다.
변환 후의 이미지에 있어서, 행은 X축에 평행하게 설정되고, 그러므로 각각의 행에서 마커(7)들은 증가하는 X 좌표 값에 따라 그들의 판독 순서와 관련하여 질서정연화될 수 있다.
다음에, 관련 마커 식별자들의 표가 추상 구문 트리(abstract syntax tree, AST)로 변환된다(804). 이것을 기초로 하여, 컴퓨터 장치(6)에서, 물리적 정보 운반자(2)의 식별자들의 질서정연한 값들의 표로부터 컴퓨터 프로그램이 생성된다.

Claims (10)

  1. 컴퓨터 프로그램 생성 시스템으로서,
    ㆍ 설명 텍스트(3) 및 그래픽 기호(4) 중 적어도 하나를 포함한 복수의 물리적 정보 운반자(2);
    ㆍ 디지털 이미지를 포착하도록 구성된 이미지 포착 장치(5); 및
    ㆍ 상기 디지털 이미지를 처리하고, 상기 이미지의 운반자(2)를 인식하고, 서로와 관련하여 상기 운반자(2)의 배열을 결정하고, 추출된 배열을 컴퓨터 프로그램으로 변환하도록 구성되며 디스플레이 화면을 구비한 컴퓨터 장치(6)
    를 포함하고,
    ㆍ 상기 물리적 정보 운반자(2)는 상기 컴퓨터 장치(6)의 컴퓨터 프로그램의 요소와 연관된 직사각형 콘트라스팅 마커(7)를 포함하고;
    ㆍ 상기 컴퓨터 프로그램은 제1축을 따라 순차적으로 배열된 복수의 상기 물리적 정보 운반자(2)를 포함하고, 적어도 하나의 상기 물리적 정보 운반자(2)는 제2축을 따라 그 우측에서 물리적 정보 운반자(2)를 수용하도록 구성되며;
    ㆍ 상기 컴퓨터 장치(6)는 각각의 인식된 마커(7) 위에 제시되는 그래픽 아이콘(15)을 상기 포착된 디지털 이미지에 중첩시키고 결합 디지털 이미지를 출력하도록 구성된 것인, 컴퓨터 프로그램 생성 시스템.
  2. 제1항에 있어서,
    상기 컴퓨터 프로그램의 요소는, 값, 변수, 함수, 함수의 일부, 연산자, 표, 프로그래밍 라이브러리, 객체, 부류, 방법, 명령, 또는 명령어인 것인, 컴퓨터 프로그램 생성 시스템.
  3. 제1항 또는 제2항에 있어서,
    상기 직사각형 콘트라스팅 마커(7)는 행렬 바코드를 형성하는 요소(7A, 7B)를 포함한 것인, 컴퓨터 프로그램 생성 시스템.
  4. 제1항 또는 제2항에 있어서,
    상기 물리적 정보 운반자(2)는 홈(9) 또는 돌기(10)의 형태로 주변에서 연장되는 적어도 하나의 접속 구역(8)을 포함한 것인, 컴퓨터 프로그램 생성 시스템.
  5. 제1항 또는 제2항에 있어서,
    상기 컴퓨터 장치(6)와 상기 이미지 포착 장치(5)는 단일 장치(11)에 통합된 것인, 컴퓨터 프로그램 생성 시스템.
  6. 제1항에 있어서,
    상기 마커(7)는 정사각형의 형상을 갖는 것인, 컴퓨터 프로그램 생성 시스템.
  7. 제1항에 있어서,
    상기 마커(7)는 상기 물리적 정보 운반자(2)의 중심으로부터 오프셋된 것인, 컴퓨터 프로그램 생성 시스템.
  8. 설명 텍스트(3) 및 그래픽 기호(4) 중 적어도 하나를 포함한 복수의 물리적 정보 운반자(2), 이미지 포착 장치(5), 및 컴퓨터 장치(6)를 포함하고 디스플레이 화면을 구비한 시스템을 이용하여 컴퓨터 프로그램을 생성하는 컴퓨터 프로그램 생성 방법으로서,
    ㆍ 상기 이미지 포착 장치(5)에 의해 상기 물리적 정보 운반자(2)의 배열의 디지털 이미지를 포착하는 단계;
    ㆍ 상기 포착된 이미지를 상기 컴퓨터 장치(6)로 전달하는 단계;
    ㆍ 상기 컴퓨터 장치(6)에서,
    - 상기 디지털 이미지를 처리하는 단계;
    - 상기 이미지의 운반자(2)를 인식하는 단계;
    - 서로와 관련하여 상기 운반자(2)의 배열을 결정하는 단계; 및
    - 추출된 배열을 컴퓨터 프로그램으로 변환하는 단계
    를 포함하고,
    ㆍ 상기 물리적 정보 운반자(2)는 컴퓨터 장치(6)의 컴퓨터 프로그램의 요소와 연관된 직사각형 콘트라스팅 마커(7)를 포함하고;
    ㆍ 상기 컴퓨터 프로그램은 제1축을 따라 순차적으로 배열된 복수의 상기 물리적 정보 운반자(2)를 포함하고, 적어도 하나의 상기 물리적 정보 운반자(2)는 제2축을 따라 그 우측에서 물리적 정보 운반자(2)를 수용하도록 구성되며;
    ㆍ 상기 방법은,
    ㆍ 마커(7) 및 마커 정점들의 좌표를 식별함으로써 상기 디지털 이미지를 처리하는 단계;
    ㆍ 상기 식별된 마커(7)의 정점들의 좌표에 관한 데이터에 기초하여, 이미지 원근을 보정함으로써 상기 디지털 이미지를 변환하는 단계;
    ㆍ 상기 추출된 배열을 컴퓨터 프로그램으로 변환하기 전에,
    - 각각의 인식된 마커(7) 위에 제시되는 그래픽 아이콘(15)을 상기 포착된 디지털 이미지에 중첩시키는 단계,
    - 결합 디지털 이미지를 출력하는 단계,
    - 상기 추출된 배열을 컴퓨터 프로그램으로 변환하는 단계로 진행하기 위한 확인을 수신하는 단계
    를 포함한, 컴퓨터 프로그램 생성 방법.
  9. 제8항에 있어서,
    상기 마커(7)는 정사각형의 형상을 갖는 것인, 컴퓨터 프로그램 생성 방법.
  10. 제8항 또는 제9항에 있어서,
    상기 마커(7)는 상기 물리적 정보 운반자(2)의 중심으로부터 오프셋된 것인, 컴퓨터 프로그램 생성 방법.
KR1020197003567A 2016-07-06 2017-07-06 컴퓨터 프로그램 생성 장치 및 컴퓨터 프로그램 생성 방법 KR102347623B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PL417869A PL417869A1 (pl) 2016-07-06 2016-07-06 Urządzenie do generowania programów komputerowych i metoda generowania programów komputerowych
PLP.417869 2016-07-06
PCT/EP2017/066920 WO2018007515A1 (en) 2016-07-06 2017-07-06 A device for generating computer programs and a method for generating computer programs

Publications (2)

Publication Number Publication Date
KR20190029635A KR20190029635A (ko) 2019-03-20
KR102347623B1 true KR102347623B1 (ko) 2022-01-07

Family

ID=59416652

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197003567A KR102347623B1 (ko) 2016-07-06 2017-07-06 컴퓨터 프로그램 생성 장치 및 컴퓨터 프로그램 생성 방법

Country Status (11)

Country Link
US (1) US20190156698A1 (ko)
EP (1) EP3482291B1 (ko)
JP (1) JP6896204B2 (ko)
KR (1) KR102347623B1 (ko)
AU (1) AU2017294531B2 (ko)
ES (1) ES2953510T3 (ko)
HR (1) HRP20231064T1 (ko)
HU (1) HUE063451T2 (ko)
MX (1) MX2019000148A (ko)
PL (2) PL417869A1 (ko)
WO (1) WO2018007515A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10304353B1 (en) * 2016-08-15 2019-05-28 Delfin Lozano Tray-and-block apparatus for device programming
JP6545315B1 (ja) * 2018-04-16 2019-07-17 株式会社エルイーテック ソフトウェア構築ブロック
JP6633115B2 (ja) * 2018-03-27 2020-01-22 合同会社オフィス・ゼロ プログラム作成支援システム及びその方法並びにそのプログラム
US20190340952A1 (en) * 2018-05-02 2019-11-07 Infitech Co., Ltd. System for learning programming
US20190362647A1 (en) * 2018-05-24 2019-11-28 Steven Brian Robinson Magnetic Vinyl Sticker Coding Folder
KR102434534B1 (ko) * 2020-07-24 2022-08-22 주식회사 레드브릭 블록 코딩을 지원하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
KR102491390B1 (ko) * 2020-12-31 2023-01-20 홍익대학교세종캠퍼스산학협력단 코딩 블록 인식 시스템
KR102491389B1 (ko) * 2020-12-31 2023-01-20 홍익대학교세종캠퍼스산학협력단 코딩 학습용 로봇 제어 시스템
JP6993531B1 (ja) 2021-07-12 2022-01-13 ダイコク電機株式会社 プログラミング学習用教材、及びプログラミング学習用システム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19880536B4 (de) 1997-03-11 2004-08-05 Mitsubishi Denki K.K. Visuelles Programmierverfahren und dieses Verfahren anwendendes Pogrammiersystem
US6175954B1 (en) 1997-10-30 2001-01-16 Fuji Xerox Co., Ltd. Computer programming using tangible user interface where physical icons (phicons) indicate: beginning and end of statements and program constructs; statements generated with re-programmable phicons and stored
JP3786166B2 (ja) * 1998-06-30 2006-06-14 ソニー株式会社 画像処理装置、画像処理方法、および画像処理プログラム
CN102136208B (zh) 2011-03-30 2013-01-09 中国科学院软件研究所 一种实物编程方法和系统
KR101284910B1 (ko) * 2011-05-23 2013-07-12 전윤주 프로그래밍 블록 조립체, 이를 이용한 프로그램에 의해 구동되는 로봇 시스템 및 그 프로그래밍 방법
US9158389B1 (en) 2012-10-15 2015-10-13 Tangible Play, Inc. Virtualization of tangible interface objects
JP6188052B2 (ja) * 2013-02-26 2017-08-30 Kddi株式会社 情報システム及びサーバー
EP2960769A1 (en) 2014-06-26 2015-12-30 Luxembourg Institute of Science and Technology (LIST) Method for providing data input using a tangible user interface
KR101912931B1 (ko) * 2014-08-13 2018-10-29 우유원 객체 지향적 블록 기반 프로그래밍을 위한 소프트웨어 개발 방법, 장치 및 컴퓨터 판독가능 매체
US20160112279A1 (en) 2014-10-20 2016-04-21 Massachusetts Institute Of Technology Sensor-based Distributed Tangible User Interface
CN104888469B (zh) * 2015-05-25 2017-09-15 卢军 基于图像识别的智能编程积木玩具及其实现方法

Also Published As

Publication number Publication date
AU2017294531A2 (en) 2019-02-21
MX2019000148A (es) 2019-08-29
PL3482291T3 (pl) 2023-10-16
EP3482291C0 (en) 2023-06-07
JP2019525365A (ja) 2019-09-05
ES2953510T3 (es) 2023-11-14
KR20190029635A (ko) 2019-03-20
EP3482291B1 (en) 2023-06-07
WO2018007515A1 (en) 2018-01-11
PL417869A1 (pl) 2018-01-15
US20190156698A1 (en) 2019-05-23
HUE063451T2 (hu) 2024-01-28
AU2017294531B2 (en) 2022-10-13
JP6896204B2 (ja) 2021-06-30
HRP20231064T1 (hr) 2023-12-22
EP3482291A1 (en) 2019-05-15
AU2017294531A1 (en) 2019-01-31

Similar Documents

Publication Publication Date Title
KR102347623B1 (ko) 컴퓨터 프로그램 생성 장치 및 컴퓨터 프로그램 생성 방법
JP6153564B2 (ja) カメラとマーク出力とによるポインティング装置
KR100953606B1 (ko) 화상 표시 장치, 화상 표시 방법 및 명령 입력 방법
JP7071054B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP6048584B2 (ja) 試料分析システム
US9501810B2 (en) Creating a virtual environment for touchless interaction
JP2006004037A (ja) コード読取装置およびプログラム
Huy et al. See-through and spatial augmented reality-a novel framework for human-robot interaction
JP2019525365A5 (ko)
CN110619630A (zh) 一种基于机器人的移动设备可视化测试系统及测试方法
JP6915611B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP5991538B2 (ja) データ処理装置、データ処理システム及びプログラム
JP4340135B2 (ja) 画像表示方法及び画像表示装置
JP2020126414A (ja) 機械学習用教師データ作成支援方法、及び機械学習用教師データ作成支援プログラム
CN111652248B (zh) 一种柔性布料的定位方法和装置
WO2022022757A1 (en) A method for testing an embedded system of a device, a method for identifying a state of the device and a system for these methods
JP2009245366A (ja) 入力システム、指示装置および入力システムの制御プログラム
KR102452991B1 (ko) 모듈형 피지컬 블록 기반의 epl 증강현실 시뮬레이터 시스템
JP2022017914A (ja) 運用保守システム、運用保守方法および運用保守プログラム
Khare et al. QWERTY Keyboard in Virtual Domain Using Image Processing
CN114740977A (zh) 一种无接触人机交互方法和装置
JPH05128225A (ja) 色指定/抽出装置および色指定/抽出方法
CN114332726A (zh) 对象识别方法、装置、设备及存储介质
CN115686201A (zh) 基于视觉定位标识的实物桌面交互方法、系统及装置
CN109144235A (zh) 基于头手协同动作的人机交互方法与系统

Legal Events

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