ES2953510T3 - Un dispositivo para generar programas de ordenador y un método para generar programas de ordenador - Google Patents

Un dispositivo para generar programas de ordenador y un método para generar programas de ordenador Download PDF

Info

Publication number
ES2953510T3
ES2953510T3 ES17745267T ES17745267T ES2953510T3 ES 2953510 T3 ES2953510 T3 ES 2953510T3 ES 17745267 T ES17745267 T ES 17745267T ES 17745267 T ES17745267 T ES 17745267T ES 2953510 T3 ES2953510 T3 ES 2953510T3
Authority
ES
Spain
Prior art keywords
physical information
image
digital image
carriers
computer program
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
ES17745267T
Other languages
English (en)
Inventor
Krzysztof Kurowski
Bogdan Ludwiczak
Radoslaw Golebiewski
Marcin Michalski
Zbigniew Karwasinski
Michal Dziedziniewicz
Lukasz Malinowski
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Becreo Tech Sp Z O O
Original Assignee
Becreo Tech Sp Z O O
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 Becreo Tech Sp Z O O filed Critical Becreo Tech Sp Z O O
Application granted granted Critical
Publication of ES2953510T3 publication Critical patent/ES2953510T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • 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)
  • Microelectronics & Electronic Packaging (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Nuclear Medicine (AREA)
  • Apparatus For Radiation Diagnosis (AREA)

Abstract

1. Un sistema para generar programas informáticos, comprendiendo el sistema: una pluralidad de soportes físicos de información (2) que comprenden en ellos un texto de descripción (3) y/o un símbolo gráfico (4); un dispositivo de captura de imágenes (5) configurado para capturar una imagen digital; un dispositivo informático (6) configurado para procesar la imagen digital y reconocer los soportes (2) en la imagen, determinar la disposición de los soportes (2) entre sí y convertir la disposición extraída en un programa informático; caracterizado porque los soportes físicos de información (2) comprenden sobre los mismos un marcador de contraste rectangular (7) asociado con un elemento de un programa informático en el dispositivo informático (6). (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Un dispositivo para generar programas de ordenador y un método para generar programas de ordenador
Campo técnico
La presente invención se relaciona con un dispositivo para generar programas de ordenador, usando una interfaz de usuario tangible (TUI) así como a un método para generar programas de ordenador. La presente invención es aplicable en particular al aprendizaje de programación por niños y jóvenes.
Antecedentes
Una interfaz de usuario (UI), entendida como una parte de un dispositivo o software responsable de la interacción con un usuario, se basa hoy en día en gran medida en operar un dispositivo señalador, cuyo cursor se muestra en una pantalla de visualización. Las interfaces gráficas de usuario (GUIs) de este tipo son dominantes en los dispositivos de consumo. Las interfaces de usuario táctiles ganan popularidad, en donde el control de un ordenador se efectúa mediante un contacto de un cuerpo de usuario (típicamente, un dedo) con una almohadilla táctil o una pantalla táctil, en las cuales se combina una función de un dispositivo de entrada y un dispositivo de salida. Sin embargo, las interfaces para programar ordenadores u otros dispositivos todavía están dominadas por la interfaz de línea de comandos (CLI), en donde los comandos se ingresan al ordenador usando un teclado, como una secuencia de líneas de texto.
Sin embargo, una forma natural de actuar, para un humano, es usar objetos físicos. La manipulación de objetos que solo se generan en una pantalla de visualización de un dispositivo, así como el ingreso de comandos de texto, no son naturales para los humanos. Por lo tanto, hay un alto potencial en las interfaces de usuario tangibles (TUIs) que se basan en la manipulación de objetos físicos (portadores físicos de información) con el fin de controlar la operación de un ordenador. Tales interfaces también se pueden usar en la programación de ordenadores.
La publicación "Tangible programming and informal science learning" de Michael S. Horn et al. describe el diseño y evaluación inicial de una exhibición tangible de programación de ordenadores para niños que se exhibe en el Museo de Ciencias de Boston. La publicación adicional "Designing tangible programming languages for classroom use" de Michael S. Horn et al. describe una nueva técnica para implementar lenguajes de programación educativos usando tecnología de interfaz tangible. También la publicación "Tangible Programming Environment Using Paper Cards as Command Objects" de Kazuki Tada divulga un entorno de programación tangible que usa tarjetas de papel como objetos de comando, que son escaneadas por una cámara que convierte las imágenes capturadas en código.
Una patente de los Estados Unidos US6175954 divulga un dispositivo para generar programas de ordenador, que comprende portadores físicos de información, un dispositivo de captura de imagen así como un dispositivo de ordenador, que procesa la señal desde el dispositivo de captura de imagen. Aborda un problema de transferencia técnica, al dispositivo de ordenador, de información en relación con la posición y configuración de los portadores físicos de información.
Una solicitud de patente PCT WO2015/197691 divulga un método para la entrada de datos que también puede encontrar su uso en la generación de programas de ordenador. En este método se han usado portadores físicos de información, un dispositivo de medición (que también puede ser un dispositivo de captura de imagen) y dispositivos de ordenador, en donde con base en datos en relación con posición y configuración de los portadores físicos de información, se generan datos de entrada para un programa de ordenador. El método descrito se basa en asignar, en un dispositivo de ordenador, una función (que puede ser una parte de un algoritmo) a los respectivos portadores físicos de información y subsecuentemente generar, en el dispositivo de ordenador, datos de entrada para un programa de ordenador con base en los datos recuperados por el dispositivo de medición.
Una función especial de las TUIs está relacionado con el jardín de infantes y la etapa escolar temprana de aprendizaje de las ciencias de la computación, donde las habilidades manuales y de percepción de los estudiantes son limitadas. En tales casos, un uso de elementos de interfaz física facilita significativamente el trabajo con los niños y permite captar su atención de manera efectiva al hacer que la entrada de datos sea similar a un devaneo o un juego.
Algunos dispositivos conocidos usan bloques físicos (portadores físicos de información) para aprender a programar ordenadores, a los cuales se han asignado, en el ordenador, elementos de un algoritmo de ordenador. Un usuario crea un algoritmo completo poniendo juntos los bloques. El algoritmo se puede ejecutar en un ordenador o en un dispositivo móvil tal como una tableta o un teléfono inteligente. Un problema técnico asociado con estos sistemas es cómo garantizar un método preciso y sin errores para transferir, al dispositivo de ordenador, información en relación con la posición mutua y configuración de los bloques físicos (los portadores físicos de información).
Una solicitud de patente de los Estados Unidos US2016/0112279 presenta unos bloques separados que están equipados con elementos electrónicos. Este concepto se utiliza en un proyecto "bloque de proyecto" de Google, la Universidad de Stanford e IDEO. Los bloques están conectados juntos y se comunican entre sí así como con un módulo de control para transferir información en relación con su posición y configuración mutuas.
Otro proyecto, "Codificación Osmo" de Tangible Play, Inc., comprende bloques que constituyen portadores físicos de información que están desprovistos de elementos electrónicos. Su reconocimiento se efectúa mediante un complemento fotográfico para una cámara de una tableta (colocado en una almohadilla especial para fijar la configuración), basado en el análisis de conformación y color de un bloque físico. Los bloques comprenden símbolos gráficos, legibles por un ser humano, gracias a los cuales un usuario puede construir intuitivamente algoritmos, con el bloque, que subsecuentemente pueden ser ejecutados por una tableta. Tal esquema de reconocimiento también se divulga en una patente de los Estados Unidos US9354716 (Sharma et al.) que se basa en un esquema análogo de reconocimiento de posición y configuración de bloques físicos (portadores físicos de información), en donde se divulga un sistema para visualizar objetos físicos, de interfaz de usuario en una pantalla de visualización de ordenador, que también puede usarse como un dispositivo para generar programas de ordenador. El sistema comprende portadores físicos de información, un dispositivo de captura de imagen así como un dispositivo de ordenador que procesa la señal desde el dispositivo de captura de imagen. El sistema opera de acuerdo con el siguiente método: los portadores físicos de información se disponen en un espacio de trabajo; a continuación, con un uso del dispositivo de captura de imagen, se registra una disposición de los portadores físicos de información en un plano y una imagen, capturada por el dispositivo de captura de imagen, se transfiere al dispositivo de ordenador donde los datos en relación con la posición mutua, configuración, conformación y color de los portadores físicos de información se convierten en datos legibles para el dispositivo de ordenador. La disposición de los portadores físicos de información se reconoce con base en el análisis de conformación y color de los portadores físicos de información.
Una patente de los Estados Unidos US6366300 divulga un método de programación visual y un sistema en donde se usa un medio de selección de objetos para seleccionar un objeto gráfico de comportamiento que define el comportamiento de una carga conectada al mismo, un medio de selección de comportamiento se usa para seleccionar el tipo de comportamiento del objeto gráfico de comportamiento, se usa un medio de selección de objetos relevantes para seleccionar objetos gráficos relevantes relacionados con el comportamiento del objeto gráfico de comportamiento y se usa un medio de establecimiento de reglas de comportamiento para establecer reglas de comportamiento del objeto gráfico de comportamiento.
Una solicitud de patente china CN102136208 divulga un método y sistema de programación de objetos materiales. El método comprende las etapas de: establecer un conjunto de entorno de visualización de programación de objetos materiales; disparar la secuencia de bloques de programación de objetos materiales que se colocan por un usuario y cargar la imagen tomada en un módulo de procesamiento de programación de objetos materiales usando una unidad de adquisición de imágenes; convertir la secuencia de los bloques de objetos materiales en una secuencia semántica funcional correspondiente usando el módulo de procesamiento de programación de objetos materiales de acuerdo con los modos de identificación por visión por ordenador y la información de posición de los bloques de programación de objetos materiales; determinar si la secuencia semántica funcional actual cumple con las reglas gramaticales y semánticas del entorno de visualización de objetos materiales o no, y si la secuencia semántica funcional actual no cumple con las reglas gramaticales y semánticas del entorno de visualización de objetos materiales, retroalimentar un aviso de error correspondiente; reemplazar los bloques de programación de objetos materiales correspondientes usando el usuario de acuerdo con la información de aviso; y repetir las etapas hasta que la secuencia semántica funcional que correspondiente a la secuencia de los bloques de programación de objetos materiales colocados cumpla con las reglas gramaticales y semánticas del entorno de visualización de objetos materiales, y finalizar una tarea de programación.
Resumen
La invención se define por el conjunto de reivindicaciones anexas.
Un dispositivo, para generar programas de ordenador, de acuerdo con la presente invención comprende también portadores físicos de información, en los cuales está presente un texto de descripción en un lenguaje natural y/o un símbolo gráfico legible por un humano. El portador físico de información puede ser cualquier objeto espacialmente definido. El portador físico de información también puede definirse como un equivalente físico de un icono de ordenador (un phicon o un icono físico).
Un elemento del dispositivo, para generar programas de ordenador, es también un dispositivo de captura de imagen así como un dispositivo de ordenador que procesa la señal desde el dispositivo de captura de imagen - preferiblemente ambos dispositivos están integrados en un único dispositivo, por ejemplo una tableta o un teléfono inteligente.
En el dispositivo de ordenador se asigna, a cada portador físico de información, un elemento de programa de ordenador. Tal elemento puede ser, en particular, una definición de un valor, una variable de cualquier tipo, una función, una parte de una función, un operador, una tabla, una biblioteca de programación, un objeto, una clase, un método, un comando, una instrucción así como cualquier tipo de cualquier dato. La asignación de un elemento de un algoritmo a un portador físico de información puede efectuarse en cualquier etapa de uso del dispositivo - antes de su venta (por un fabricante) pero también durante su uso (por un usuario).
Un término de un dispositivo de ordenador cubre cualquier dispositivo o máquina electrónica destinada al procesamiento de información. En particular puede ser un ordenador personal, una tableta, un teléfono inteligente, un robot industrial o un electrodoméstico inteligente.
El término de un dispositivo de captura de imagen cubre en particular una cámara de fotos digital o una cámara de vídeo - también las incorporadas en un monitor de ordenador o una tableta o un teléfono inteligente.
El dispositivo de acuerdo con la presente invención se caracteriza porque los portadores físicos de información comprenden en los mismos un marcador de un alto contraste, teniendo el marcador preferiblemente una conformación rectangular, preferiblemente cuadrada.
El marcador permite un reconocimiento preciso del portador físico de información. Es posible, dado que se asigna un identificador a un portador físico de información, que puede decodificarse mediante un análisis de áreas claras y oscuras del marcador, a las cuales a su vez se les han asignado valores lógicos.
El uso de un marcador rectangular también permite el procesamiento de datos, desde el dispositivo de captura de imagen, con el fin de corregir la perspectiva debido al hecho de que el dispositivo de captura de imagen no siempre es paralelo a un plano, en el cual se han dispuesto los portadores físicos de información.
Con el fin de ejecutar tal corrección de perspectiva, se usa información sobre la ubicación de vértices de un rectángulo que forma un contorno de un marcador. El uso de una conformación cuadrada, como una característica preferida, simplifica la determinación, usando visión por ordenador, si un elemento dado es un marcador o no.
Preferiblemente, los portadores físicos de información comprenden al menos una zona de conexión, que se extiende en el perímetro, en una forma de un rebaje o un saliente. El rebaje y/o saliente pueden estar en lados opuestos de los portadores. Los portadores pueden adaptarse en conformación a un lenguaje particular del usuario, por ejemplo adaptado a un lenguaje en el cual el texto se lee desde la izquierda a la derecha, o a un lenguaje en donde el texto se lee desde la derecha a la izquierda, o desde la parte superior a la parte inferior. Una zona de conexión configurada de tal manera permite un posicionamiento mutuo preciso de los portadores físicos de información.
Preferiblemente, el marcador de alto contraste se posiciona fuera de un eje de simetría del portador físico de información. Esta característica simplifica la determinación de orientación del portador físico de información.
Un método, para generar programas de ordenador, de acuerdo con la presente invención se basa en la cooperación de elementos del dispositivo, para generar programas de ordenador, de acuerdo con la presente invención, es decir:
- portadores físicos de información, en los cuales se posiciona una descripción en un lenguaje natural y / o un símbolo gráfico legible para un humano,
- un dispositivo de captura de imagen y
- un dispositivo de ordenador, en el cual se asigna, a cada portador físico de información, un elemento de programa de ordenador, en donde el dispositivo de ordenador está configurado para procesar una señal de imagen desde el dispositivo de captura de imagen.
El método comprende las siguientes etapas:
- disponer los portadores físicos de información en un plano;
- capturar una imagen de la disposición de los portadores físicos de información por el dispositivo de captura de imagen;
-transferir la imagen capturada al dispositivo de ordenador;
- crear un programa de ordenador, en el dispositivo de ordenador, a partir de un arreglo de identificadores ordenados de los portadores físicos de información, con base en una estructura que asocia marcadores identificados con acciones seleccionadas.
El método se caracteriza porque en los portadores físicos de información está presente un marcador rectangular de alto contraste, preferiblemente un marcador cuadrado (ventajosamente fuera de un eje de simetría del portador físico de información), y porque el dispositivo de ordenador está configurado para ejecutar, antes de crear el algoritmo, las siguientes etapas):
- identificación de los marcadores así como las coordenadas de sus vértices y subsecuentemente;
- transformación de la imagen capturada con el fin de corregir la perspectiva con base en datos en relación con las coordenadas de los vértices de los marcadores identificados.
El uso de marcadores rectangulares de alto contraste permite el reconocimiento preciso, y la transmisión al dispositivo de ordenador, de la posición y configuración de los portadores físicos de información.
Un marcador de alto contraste puede detectarse fácilmente, con técnicas de visión por ordenador, mientras que hay diferencias maximizadas entre diferentes marcadores. Esto significa que el método y dispositivo, de acuerdo con la presente invención, pueden operar de manera efectiva usando dispositivos con una configuración de hardware de gama baja. Tal solución no está influenciada por la iluminación de plano (haciendo difícil detectar colores de portadores físicos de información - en sistemas basados en el reconocimiento de conformación y color de portadores físicos de información).
Tal solución tampoco requiere una disposición fija del dispositivo de captura de imagen con respecto al plano. En el caso de dispositivo de consumo, en el cual el dispositivo de ordenador y el dispositivo de captura de imagen están integrados en un único dispositivo por ejemplo una tableta o un teléfono inteligente, se elimina un requisito de uso de una almohadilla especial para fijar el dispositivo como se conoce por ejemplo a partir de la patente US9354716 (Sharma et al.). La captura de imagen puede ejecutarse en diferentes posiciones y puede cubrir planos de tamaño significativo.
El dispositivo de acuerdo con la presente invención también es rentable con respecto a la fabricación y fácil de operar - en particular con respecto a las soluciones que usan bloques electrónicos, cuya producción es más costosa y que requieren una fuente de potencia tal como se divulga en una solicitud de patente de US 2016/0112279 (Kalanithi et al.). El dispositivo de acuerdo con la presente invención puede comercializarse en una forma de un conjunto de portadores físicos de información hechos de cartón (o alternativamente otros materiales que resistan el desgaste y rasgadura típicamente asociados con los juegos para niños) así como una aplicación de software móvil disponible en línea.
Breve descripción de los dibujos
El objeto de la presente invención se muestra en una realización preferida sobre un dibujo en el cual:
La figura 1 presenta un diagrama de bloques de un dispositivo de acuerdo con la presente invención;
La figura 2 presenta detalles de construcción de un portador físico de información en una forma de un bloque de cartón plano o pieza de rompecabezas;
La figura 3 presenta detalles de construcción de un tablero de cartón que determina el espacio de trabajo, sobre el cual se posicionan los portadores físicos de información;
La figura 4 presenta ejemplos de portadores físicos de información en una forma de un bloque de cartón plano o una pieza de rompecabezas;
La figura 5 presenta una pantalla de visualización de ordenador para el aprendizaje de programación, que puede usarse con un dispositivo de acuerdo con la presente invención así como elementos de una interfaz gráfica presentada antes del escaneo de los marcadores;
La figura 6 presenta una pantalla de visualización de ordenador para el aprendizaje de programación, que puede usarse con un dispositivo de acuerdo con la presente invención así como elementos de una interfaz gráfica presentada después del escaneo de los marcadores;
La figura 7 presenta un ejemplo de una disposición de los portadores físicos de información así como una pantalla de visualización de un juego de ordenador, que puede controlarse con un programa de ordenador generado con el dispositivo de acuerdo con la presente invención; y
La figura 8 presenta un diagrama esquemático que ilustra el método de acuerdo con la presente invención.
La figura 9 presenta un diagrama esquemático de una estructura funcional del dispositivo.
Descripción detallada
Un dispositivo para generar programas de ordenador, de acuerdo con la presente invención se muestra en una realización preferida en las figuras 1 - 9. El dispositivo comprende portadores físicos de información 2 que tienen una forma de bloques de cartón planos de piezas de rompecabezas.
En los portadores físicos de información 2, hay un texto 3 de descripción en un lenguaje natural, tal como polaco o inglés, y/o un símbolo 4 gráfico legible para un humano, por ejemplo la huella de suela de zapato (que simboliza una etapa), flechas (que simbolizan rotaciones) o un signo de interrogación (que simboliza una pregunta o una función si).
En cada portador 2, preferiblemente en su lado izquierdo a una distancia dada desde el borde izquierdo, se posiciona un marcador 7 rectangular de contraste, es decir, un marcador que comprende elementos 7A, 7B en al menos dos colores de contraste - por ejemplo blanco y un color de contraste diferente tal como negro, rojo, rojo oscuro, morado, verde, azul o verde sauce. En otras realizaciones de los marcadores, se pueden usar más de dos colores de contraste para definir los marcadores. Los elementos 7A, 7B del marcador 7 forman preferiblemente un código de barras matriz, es decir un arreglo bidimensional de elementos que crean patrones específicos.
El marcador 7 se posiciona preferiblemente fuera de un eje de simetría, o compensado desde el centro del portador 2. Esto simplifica la determinación de orientación de los bloques en la imagen capturada. El uso de una forma cuadrada para definir una conformación del marcador 7 simplifica la determinación de si un área dada de la imagen del portador 2 es un marcador o no.
En la figura 4 del dibujo se presentan ejemplos de tipos de portadores físicos de información 2. El uso puede estar provisto de una pluralidad de portadores 2 de cada tipo, para permitir construir un algoritmo que comprenda una pluralidad de etapas o valores del mismo tipo. Por ejemplo, un conjunto de portadores físicos de información 2 puede comprender los siguientes bloques (con el número de piezas de portadores del tipo particular indicado entre paréntesis):
- Bloques que representan límites del algoritmo: INICIO y FIN de un programa;
- Bloques que representan un comando: ETAPA (6 piezas), ROTACIÓN A LA DERECHA (4 piezas), ROTACIÓN A LA IZQUIERDA (4 piezas), RECOGER (4 piezas), PONER (3 piezas), USAR (4 piezas), DIBUJAR (2 piezas), SALTAR (3 piezas); CONTINUAMENTE (3 piezas);
- Bloques que definen una variable: VARIABLE (3 piezas);
- Bloques que definen un valor numérico: UNO (5 piezas), DOS (4 piezas), TRES (3 piezas), CUATRO (3 piezas), CINCO (2 piezas), SEIS (2 piezas), SIETE 2 piezas), OCHO (2 piezas), NUEVE (2 piezas), CERO (2 piezas); - Bloques que definen un nombre de variable: X (6 piezas), Y (4 piezas),
- Bloques que definen un operador: IGUAL (3 piezas), MENOS (3 piezas), MÅS (2 piezas),
- Bloques que definen una posición relativa: AQUÍ (3 piezas), DELANTE (3 piezas), A LA DERECHA (2 piezas), A LA IZQUIERDA (2 piezas), DETRÅS (2 piezas),
- Bloques que definen un objeto: VACÍO (3 piezas), OBSTÅCULO (3 piezas), COLINA (3 piezas), ENVOLTURA A (3 piezas), ENVOLTURA B (3 piezas), UN OBJETO PARA RECOGER (3 piezas), ÅREA DE ACCIÓN (3 piezas); - Bloques que definen un ejecutor de comandos: CONTROL (CARÅCTER A) (3 piezas), CONTROL (CARÅCTER B) (3 piezas), CONTROL (CARÅCTER C) (3 piezas), CONTROL (CARÅCTER D) (2 piezas);
- Bloques que definen una función: DEFINIR UNA FUNCIÓN (3 piezas), FIN DE FUNCIÓN (3 piezas), SALIR FUNCIÓN (3 piezas), EJECUTAR FUNCIÓN (5 piezas), A (5 piezas), B (5 piezas), C (5 piezas).
El dispositivo de acuerdo con la presente invención, en una realización preferida, comprende un dispositivo 5 de captura de imagen configurado para capturar una imagen digital así como un dispositivo 6 de ordenador, el cual está configurado para procesar la imagen digital obtenida desde el dispositivo 5 de captura de imagen. Estos dispositivos se pueden integrar en una forma de una tableta 11 que comprende un sistema operativo y una cámara en su panel posterior. También se pueden usar otros dispositivos, tales como un teléfono inteligente, un ordenador portátil, etc. Con el fin de usar el sistema, el usuario puede usar cualquier tipo estándar de tableta 11 con una cámara, e instalar en la misma una aplicación 60 de software adicional que comprende un entorno de programación, en el cual se asignan elementos a particulares portadores físicos de información 2 de un programa de ordenador
La aplicación de software (App) 60 instalada en el dispositivo 6 de ordenador puede comprender los siguientes módulos:
- un módulo 61 de captura de imagen configurado para leer la imagen digital capturada por la cámara 5;
- un módulo 62 de procesamiento de imagen configurado para procesar la imagen digital para reconocer los portadores 2 en la imagen y determinar la disposición de los portadores 2 con respecto entre sí, en particular reconociendo los marcadores en los portadores;
- un generador 63 de programas de ordenador configurado para convertir la disposición extraída de marcadores 7 en una estructura de programa de ordenador, dependiendo de un contenedor 64 de datos que asocia marcadores con elementos de programas de ordenador.
El contenedor de datos puede tener una forma de un arreglo de identificadores ordenados de los portadores físicos de información, basada en una estructura que asocia marcadores identificados con acciones seleccionadas.
La aplicación de software puede ser descargada por el usuario desde el Internet o puede ofrecerse en un medio legible por ordenador junto con los elementos restantes del sistema de acuerdo con la presente invención.
Los portadores físicos de información 2 se pueden posicionar sobre un tablero 12, hecho por ejemplo de cartón, que define un espacio de trabajo. El tablero 12 puede formar uno de los elementos del conjunto 1 que se ofrece a la venta a un usuario.
El tablero 12 puede tener una rejilla de puntos impresa en el mismo, así como un contorno 14 de contraste. Los puntos facilitan el posicionamiento y ordenamiento de los portadores 2. Adicionalmente los puntos y/o el contorno 14 facilitan el reconocimiento de imagen de la imagen digital capturada por la cámara 5, por ejemplo para corregir la perspectiva y escalar la imagen.
Un usuario crea un algoritmo a partir de bloques disponibles disponiendo los bloques, preferiblemente en el tablero 12. El usuario es dirigido por el texto 3 de descripción en lenguaje natural presente en los bloques disponibles así como los símbolos 4 gráficos presentes en los bloques disponibles o las instrucciones disponibles en un manual de usuario
Cada algoritmo inicia con un bloque 22 de INICIO y finaliza con un bloque 23 de FIN. Después del bloque 22 de INICIO, hay instrucciones dispuestas secuencialmente a lo largo de un eje, preferiblemente de manera vertical, que son parte del algoritmo 5 creado.
Algunos de los bloques pueden tener una posibilidad de agregar bloques en su lado derecho, por ejemplo para un bloque 24 de ETAPA se puede agregar un bloque que denote un número de etapas 25.
Subsecuentemente, un usuario, usando la aplicación 60 instalada en el dispositivo 6 de ordenador, tal como la tableta 11, ejecuta un proceso de captura de imagen (foto o vídeo) de bloques dispuestos en un plano. Con el fin de capturar la imagen, un usuario puede sujetar la tableta 11 y dirigir su cámara trasera hacia el plano, sobre el cual se han dispuesto los bloques.
La aplicación 60 reconoce e identifica los marcadores 7 en la imagen digital capturada. Por ejemplo, la aplicación puede reconocer un icono 15 de un color verde, que se muestra encima del marcador 7 reconocido. La visualización del icono 15 de un color verde se efectúa en una pantalla de visualización de la tableta 11 en tiempo real, incluso antes de tomar la imagen real o durante la grabación de una secuencia de vídeo.
La figura 5 presenta una pantalla de visualización de ordenador para el aprendizaje de programación, que puede usarse con un dispositivo de acuerdo con la presente invención así como elementos de una interfaz gráfica presentada antes del escaneo de los marcadores 7.
Un usuario ejecuta el escaneo de los bloques y su reconocimiento seleccionando un icono 16 de escaneo, que en esta realización se parece a una cámara fotográfica.
La figura 6 presenta una pantalla de visualización de ordenador para el aprendizaje de programación, que se puede usar con un dispositivo de acuerdo con la presente invención así como elementos de una interfaz gráfica presentada después del escaneo de los marcadores 7.
En caso de que no se hayan reconocido todos los marcadores 7, un usuario puede hacer otro intento de tomar una fotografía o una secuencia de vídeo, seleccionando un icono 17 de reintento.
Cuando el escaneo ha sido exitoso, la aplicación puede ejecutar el programa de ordenador de lectura. Un usuario preferiblemente inicia el programa de ordenador seleccionando un icono 18 de reproducción.
Se pueden usar programas simples, creados por un usuario, para controlar un juego de ordenador educativo, en el cual con el fin de llevar a cabo diferentes tareas, un estudiante (un usuario) debe programar un personaje 19 que se mueve en una pantalla de visualización de la tableta 11, de tal manera para que el personaje termine las tareas requeridas.
La figura 7 presenta una pantalla de un juego de ordenador educativo, en el cual una tarea de un jugador es mover un personaje 19 a las estrellas 20, visibles en la pantalla, con el fin de recogerlas. Para hacer esto, un usuario debe crear, a partir de los bloques disponibles que son los portadores físicos de información 2, una disposición 21 presentada en la figura 7.
El método, para generar programas de ordenador, de acuerdo con la presente invención, en una realización de ejemplo, comprende las etapas que se definen a continuación. La figura 8 presenta un diagrama esquemático que ilustra el método de acuerdo con la presente invención. Los portadores físicos de información 2, en una forma de bloques de cartón planos descritos anteriormente, se disponen por un usuario en un plano, por ejemplo en el tablero 12 de cartón.
A continuación, con un uso del dispositivo 5 de captura de imagen, que puede ser una cámara trasera de la tableta 11, un usuario registra una disposición de los portadores físicos de información 2 en un plano.
Subsecuentemente, una imagen capturada por el dispositivo 5 de captura de imagen, en una forma de una imagen de preferiblemente 1280 píxeles por 960 píxeles o una secuencia de vídeo del mismo tamaño de marco, se transfiere al dispositivo 6 de ordenador, que es la tableta 11.
A continuación, en el dispositivo 6 de ordenador, antes de crear un programa de ordenador, se identifican los marcadores 7 y sus vértices (usando el módulo 62 de procesamiento de imagen). La identificación de marcadores 7 se efectúa preferiblemente con un uso de una biblioteca llamada ArUco, preferiblemente en la versión 1.3.0 u otro software o hardware similar que tenga las mismas capacidades.
Los datos de entrada de ejemplo de esta etapa del procedimiento se presentan en la siguiente tabla:
Identificador | coordenadas de vértices (x, y)
Figure imgf000008_0001
El eje X se dirige hacia la derecha mientras que el eje Y se dirige hacia abajo. El punto de coordenadas (0, 0) está preferiblemente presente en la esquina superior izquierda de la imagen. Se asigna un identificador a los respectivos marcadores 7 rectangulares de alto contraste y de esa manera a los respectivos portadores físicos de información 2.
No se ordena un conjunto de identificadores, obtenidos como resultado de procesamiento de visión por ordenador. Con el fin de permitir un procesamiento adicional, el conjunto necesita ordenarse de acuerdo con una secuencia de bloques, en los cuales están presentes los marcadores 7.
La etapa de ordenamiento tiene dos subetapas: durante la primera etapa se encuentra una transformada (corrección de perspectiva) (802) que permite transformar la imagen de entrada de tal manera que parezca como si hubiera sido tomada con una cámara posicionada paralela al plano en el cual están dispuestos los bloques, estando la cámara girada de acuerdo con la rotación de los bloques; y durante una segunda etapa, tras la aplicación de la transformada, las coordenadas de vértices se agrupan en líneas y se ordenan de acuerdo con una secuencia de su lectura (803).
La primera de las etapas antes mencionadas es ordenamiento de los datos de tal manera que sea posible convertirlos en un algoritmo. Con este fin se requiere una determinación del posicionamiento mutuo de los marcadores 7.
Con el fin de hacer eso, se ejecuta una transformación de la imagen, capturada por el dispositivo 5 de captura de imagen, para retirar el desplazamiento de perspectiva basado en los datos de vértices de los marcadores 7. Con el fin de definir la transformada de perspectiva se necesitan dos conjuntos de cuatro puntos cada uno, en donde: ninguno de los tres puntos de cada conjunto puede ser colineal y todos los cuatro puntos de cada conjunto deben estar presentes en un único plano.
En una biblioteca de programación OpenCV se puede usar getPerspectiveTransform para ese propósito. La transformada de perspectiva obtenida permite transformar conjuntos de puntos desde uno a otro. Cada uno de los marcadores 7 usados tiene cuatro vértices, que pueden usarse como uno de tales conjuntos. Debido a que se conoce que cada marcador 7 es un cuadrado de un tamaño dado, se puede generar otro conjunto como vértices de ese cuadrado.
Estos dos conjuntos permiten determinar una transformada que permite transformar una imagen de un marcador 7 de tal manera que se retire la distorsión de perspectiva.
Las transformadas obtenidas permiten obtener la misma vista sobre un marcador 7 dado independientemente de una distancia del dispositivo 5 de captura de imagen así como de sus ángulos de inclinación y rotación.
En el ejemplo descrito, hay más de un marcador 7 en la imagen. Debido a la imprecisión en la determinación de las coordenadas de vértices, una transformada determinada para un marcador 7 dado no puede usarse para la imagen completa, incluyendo los marcadores 7 restantes. Con este fin se debe obtener una transformada que sea una combinación de todas las transformadas individuales de los marcadores 7 individuales.
Por lo tanto, se determina una matriz de distancias entre marcadores 7. No es necesario que estos valores sean precisos, debido a que solo se usarán para determinar una secuencia de unión de transformadas - preferiblemente, los errores deben ser más pequeños que el tamaño promedio de marcador. Se calcula una distancia entre dos marcadores 7 como una distancia promedio entre los marcadores 7 después de transformar la imagen usando transformadas obtenidas para cada uno de los marcadores 7. Los marcadores 7 se combinan en grupos mayores de acuerdo con un orden establecido aumentando las distancias entre ellos en un árbol de expansión.
Durante la combinación de los marcadores 7 en grupos, se determinan transformadas subsecuentes, más precisas de acuerdo con el procedimiento delineado a continuación.
Primero se crean tantos grupos como marcadores 7 se detectan. Con cada grupo se asocian dos conjuntos de puntos requeridos para obtener un travesaño, así como la transformada. El primero de los conjuntos- un conjunto de puntos de origen - comprende coordenadas de vértices de los marcadores 7 en la imagen original, mientras que el segundo conjunto - puntos de destino - comprende las coordenadas de destino después de transformar la imagen para un grupo dado.
Al principio estos son cuatro vértices de un único marcador 7 asignado a un grupo dado así como cuatro vértices de un cuadrado de un tamaño arbitrario. Durante la combinación de dos grupos es necesario que se combinen los conjuntos correspondientes y es necesario que se determine una nueva transformada.
Los conjuntos de puntos pueden combinarse directamente, debido a que comprenden coordenadas de vértices en el mismo marco de referencia. Puede surgir un problema cuando se combinan los conjuntos de puntos de destino, debido a que están definidos en diferentes marcos de referencia. Por lo tanto, primero se necesita que se determine un desplazamiento mutuo de estos marcos de referencia. Se calcula usando un procedimiento que se describe a continuación.
Las coordenadas originales de los marcadores 7 de ambos grupos se transforman con una transformada determinada para uno de los grupos. En este marco de referencia se determina un desplazamiento entre dos marcadores 7 más próximos que pertenecen a grupos diferentes. Este valor es el desplazamiento antes mencionado de los marcos de referencia.
Con el fin de aumentar la precisión este desplazamiento (vector) se calcula de nuevo usando una transformada de un segundo grupo. Como resultado final se asume un promedio ponderado de los dos vectores en donde los pesos son dados por el tamaño de cada grupo. Después de combinar los conjuntos de puntos, se determina una nueva transformada.
En la biblioteca OpenCV se usa una función findHomography para ese propósito. Después de combinar todos los grupos, la transformada obtenida se puede aplicar en la transformación de la imagen completa.
En una imagen después de la transformación, las filas se establecen paralelamente al eje X por lo tanto en filas respectivas, los marcadores 7 pueden ordenarse con respecto a su secuencia de lectura de acuerdo con un valor de coordenada X creciente.
A continuación, una tabla de identificadores de los marcadores asociados se transforma en un árbol de sintaxis abstracta (AST) (804). Sobre esta base, en el dispositivo 6 de ordenador, se crea un programa de ordenador a partir de la tabla de valores ordenados de identificadores de portadores físicos de información 2.

Claims (10)

REIVINDICACIONES
1. Un sistema para generar programas de ordenador, comprendiendo el sistema:
• una pluralidad de portadores físicos de información (2) que comprenden en los mismos un texto (3) de descripción y/o un símbolo (4) gráfico;
• un dispositivo (5) de captura de imagen configurado para capturar una imagen digital;
• un dispositivo (6) de ordenador, que comprende una pantalla de visualización, configurado para procesar la imagen digital y reconocer los portadores (2) en la imagen procesada, determinar la disposición de los portadores (2) con respecto entre sí y convertir la disposición extraída a un programa de ordenador; por lo cual
• los portadores físicos de información (2) comprenden sobre los mismos un marcador (7) de contraste rectangular asociado con un elemento de un programa de ordenador en el dispositivo (6) de ordenador y están configurados para disponerse secuencialmente, para formar la disposición que representa el programa de ordenador, a lo largo de un primer eje mientras que al menos un portador físico de información (2) está configurado para recibir un portador físico de información (2) en su lado derecho, a lo largo de un segundo eje;
• mientras que dicho dispositivo (6) de ordenador está configurado para:
° procesar la imagen digital identificando los marcadores (7) y coordenadas de sus vértices y transformar la imagen digital corrigiendo la perspectiva de imagen para retirar la distorsión de perspectiva, con base en los datos en relación con las coordenadas de vértices de los marcadores (7) identificados; y ° antes de convertir la disposición extraída en un programa de ordenador:
■ sobre dicha imagen digital capturada, presentar un icono (15) gráfico encima de cada marcador (7) reconocido;
■ emitir la imagen digital combinada;
■ permitir que el usuario haga otro intento de capturar la imagen digital en caso de que no se hayan reconocido todos los marcadores (7); y
■ proceder a convertir la disposición extraída en un programa de ordenador.
2. El sistema de acuerdo con la reivindicación 1, en donde el elemento de un programa de ordenador es un valor, una variable, una función, una parte de una función, un operador, una tabla, una biblioteca de programación, un objeto, una clase, un método, un comando o una instrucción.
3. El sistema de acuerdo con cualquiera de las reivindicaciones previas, en donde el marcador (7) de contraste rectangular comprende elementos (7A, 7B) que forman un código de barras matriz.
4. El sistema de acuerdo con cualquiera de las reivindicaciones previas, en donde los portadores físicos de información (2) comprenden al menos una zona (8) de conexión, que se extiende en el perímetro, en una forma de un rebaje (9) o un saliente (10).
5. El sistema de acuerdo con cualquiera de las reivindicaciones previas, en donde el dispositivo (6) de ordenador y el dispositivo (5) de captura de imagen están integrados en un único dispositivo (11).
6. El sistema de acuerdo con la reivindicación 1 en donde el marcador (7) tiene una conformación de un cuadrado.
7. El sistema de acuerdo con la reivindicación 1 o 4 en donde el marcador (7) está compensado desde el centro del portador físico de información (2).
8. Un método para generar programas de ordenador usando un sistema que comprende una pluralidad de portadores físicos de información (2) que comprenden sobre los mismos un texto (3) de descripción y/o un símbolo (4) gráfico, un dispositivo (5) de captura de imagen y un dispositivo (6) de ordenador, que tiene una pantalla de visualización, comprendiendo el método las etapas de:
• capturar una imagen digital de una disposición de los portadores físicos de información (2) mediante el dispositivo (5) de captura de imagen;
• transferir la imagen capturada al dispositivo (6) de ordenador
• en el dispositivo (6) de ordenador:
° procesar la imagen digital;
° reconocer los portadores (2) en la imagen procesada;
° determinar la disposición de los portadores (2) con respecto entre sí; y
° convertir la disposición extraída en un programa de ordenador;
por lo cual
• los portadores físicos de información (2) comprenden sobre los mismos un marcador (7) de contraste rectangular asociado con un elemento de un programa de ordenador en el dispositivo (6) de ordenador y están configurados para ser
• dispuestos secuencialmente, para formar la disposición que representa el programa de ordenador, a lo largo de un primer eje mientras que al menos un portador físico de información (2) está configurado para recibir un portador físico de información (2) en su lado derecho, a lo largo de un segundo eje;
• y el método comprende:
° procesar la imagen digital identificando los marcadores (7) y coordenadas de sus vértices y transformar la imagen digital corrigiendo la perspectiva de imagen para retirar la distorsión de perspectiva, con base en los datos en relación con las coordenadas de vértices de los marcadores (7) identificados; y ° antes de convertir la disposición extraída en un programa de ordenador:
■ sobre dicha imagen digital capturada, presentar un icono (15) gráfico encima de cada marcador (7) reconocido;
■ emitir la imagen digital combinada;
■ permitir que el usuario haga otro intento de capturar la imagen digital en caso de que no se hayan reconocido todos los marcadores (7);
■ proceder a convertir la disposición extraída en un programa de ordenador.
9. El método de acuerdo con la reivindicación 8, en donde el marcador (7) tiene una conformación de un cuadrado.
10. El método de acuerdo con cualquiera de las reivindicaciones 8-9, en donde el marcador (7) está compensado desde el centro del portador físico de información (2).
ES17745267T 2016-07-06 2017-07-06 Un dispositivo para generar programas de ordenador y un método para generar programas de ordenador Active ES2953510T3 (es)

Applications Claiming Priority (2)

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
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 (1)

Publication Number Publication Date
ES2953510T3 true ES2953510T3 (es) 2023-11-14

Family

ID=59416652

Family Applications (1)

Application Number Title Priority Date Filing Date
ES17745267T Active ES2953510T3 (es) 2016-07-06 2017-07-06 Un dispositivo para generar programas de ordenador y un método para generar programas de ordenador

Country Status (11)

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

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
WO1998040817A1 (fr) 1997-03-11 1998-09-17 Mitsubishi Denki Kabushiki Kaisha Methode et systeme de programmation visuelle
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
HRP20231064T1 (hr) 2023-12-22
EP3482291B1 (en) 2023-06-07
PL3482291T3 (pl) 2023-10-16
HUE063451T2 (hu) 2024-01-28
AU2017294531A2 (en) 2019-02-21
AU2017294531B2 (en) 2022-10-13
AU2017294531A1 (en) 2019-01-31
JP6896204B2 (ja) 2021-06-30
EP3482291A1 (en) 2019-05-15
WO2018007515A1 (en) 2018-01-11
MX2019000148A (es) 2019-08-29
EP3482291C0 (en) 2023-06-07
PL417869A1 (pl) 2018-01-15
JP2019525365A (ja) 2019-09-05
KR102347623B1 (ko) 2022-01-07
US20190156698A1 (en) 2019-05-23
KR20190029635A (ko) 2019-03-20

Similar Documents

Publication Publication Date Title
ES2953510T3 (es) Un dispositivo para generar programas de ordenador y un método para generar programas de ordenador
US10929980B2 (en) Fiducial marker patterns, their automatic detection in images, and applications thereof
US20150228122A1 (en) Image processing device, image processing method, and computer program product
KR20170036308A (ko) 소프트웨어 교육용 로봇 및 소프트웨어 교육 로봇 시스템
Alcañiz et al. Augmented reality technology for education
JP5812550B1 (ja) 画像表示装置、画像表示方法及びプログラム
KR20110116422A (ko) 마커와 훈련자 손 인식을 통한 증강 현실 상황 훈련 시스템
KR101997016B1 (ko) 증강현실을 이용한 격자 맵의 미션 기반 퍼즐 조립 시스템 및 방법
US20210166393A1 (en) Pixel-wise Hand Segmentation of Multi-modal Hand Activity Video Dataset
CN108369738A (zh) 来自移动自追踪设备的运动捕捉
JPWO2018025825A1 (ja) 撮像システム
Alvaro-Tordesillas et al. Artalive: an android application for augmented reality without markers, based on anamorphic images
KR20130095488A (ko) 스마트기기에서 증강현실을 이용한 3차원 모델 제공장치 및 방법
KR20170039953A (ko) 증강현실을 이용한 학습장치
US20120327118A1 (en) Display control apparatus, display control method and program
Beglov Object information based on marker recognition
Xie et al. Sketchmehow: Interactive projection guided task instruction with user sketches
JP6734698B2 (ja) 文字練習装置
Sobota et al. Mixed reality: a known unknown
KR20100013245A (ko) 광학인식펜을 이용한 엘이디 디스플레이
Tibenský et al. 3D Content Viewer Environment for Distant Learning
Cavazos-Carrizales et al. Computer Vision Interface for Symbolic Programming of Cartesian Motion to introduce Visually Impaired Children into Robotic Sciences
JP7451929B2 (ja) 表示制御装置、表示制御システム、プログラムおよび表示制御方法
US10963225B2 (en) Program creation assisting system, method for same, and program
KR102452991B1 (ko) 모듈형 피지컬 블록 기반의 epl 증강현실 시뮬레이터 시스템