Archivos de la categoría TIC

Creando un digital signage con software libre

Cada vez es más frecuente encontrar con un sistema de digital signage (letreros digitales) en las salas de espera de diferentes espacios públicos, en los que en una pantalla se va mostrando en bucle avisos, vídeos y otra información corporativa (y sí, a veces también publicidad). Aunque esta pantalla ha de disputar la atención a las pantallas de los teléfonos móviles, lo cierto es que sigue logrando captar la mirada de las personas que pasan frente a ellas, lo que los convierte en una herramienta muy interesante para promocionar información interna de una organización.

Es por ello que, en el centro educativo en el que trabajo, se decidió instalar cerca del mostrador de atención de secretaria una pantalla con información del centro. Esta ubicación, además de ser donde esperan las personas para ser atendidas, es una zona de paso del personal y alumnado del centro, con lo que la información mostrada está al alcance de toda la comunidad educativa.

Son muchas las empresas que ofrecen soluciones integrales de digital signage, y también soluciones escalables en las que se puede acceder a un sistema básico y, después, mediante un pago o suscripción, ampliar las prestaciones.

Sin embargo, estas soluciones tienen un importante inconveniente: en todas, de una forma u otra, la información a mostrar en la pantalla ha de ser almacenada en un servidor externo, lo que supone un problema desde el punto de vista de la protección de datos.

Así que, en lugar de usar esas soluciones, se ha tenido que plantear otras aproximaciones que, como veremos, en última instancia han requerido del uso software Libre para encontrar una solución adaptable y económica (gratis).

Pero empecemos por el principio: tras adquirir la SMART TV y montarla en la pared de la zona descrita anteriormente ¿Cómo implementamos el digital signage? Veamos como ha evolucionado la solución.

Primeras soluciones

La primera solución, partía de una premisa muy simple: las SMART TV actuales pueden reproducir vídeos desde un USB enchufado a los conectores traseros (cuidado, algunas teles de última generación ya no llevan reproductor de vídeo por cuestión del licencias). Por tanto, se copian los vídeos a mostrar en un USB, se conecta a la TV, se le da a reproducir en bucle y listo.

El problema es que cada vez que se ha de añadir un nuevo vídeo, hay que ir a la TV a cambiar el USB, lo que puede ser un poco incómodo, sobretodo si la TV está en alto y hay que usar una escalera. Además, es necesario convertir todos los avisos y mensajes en vídeos, por lo que hay que tener a mano un editor de vídeo para ir generando los carteles, lo que hace bastante ineficiente el sistema, sobretodo si los mensajes se actualizan con frecuencia.

Para solucionar el problema del cambio de USB, se creó un servidor DLNA con software libre (miniDLNA) en un ordenador conectado a la red del centro y se compartió el acceso a la carpeta de los contenidos. De ese modo, se podían actualizar los vídeos sin necesidad de coger la escalera. Así, la SMART TV detectaba el servidor DLNA con los vídeos y podía reproducirlos remotamente. Sin embargo, la reproducción en bucle de vídeos por DLNA que tenía este modelo de SMART TV en particular no funcionaba correctamente y había que estar reiniciándolo un par de veces al día, lo que también resultaba incómodo.

WordPress, como no

Llegados a este punto y tras descartar multitud de aplicaciones de digital signage por usar servidores externos para los contenidos, descubrí Foyer, un plugin de WordPress que convierte un blog en un sistema de digital signage.

Foyer: Solucion de digital signage libre y gratuita

Para los que no lo conozcáis, WordPress es un sistema de gestión de contenidos web de código abierto. En origen es una herramienta para crear blogs, pero su versatilidad es tal que, hoy en día, gracias a los plugins, puede utilizarse casi para cualquier tipo de aplicación web.

Así que lo único que hacía falta era una instalación de WordPress para implementar esta solución. Se hizo la instalación en un servidor de la red local y en ella instalé el plugin. Una vez terminado el proceso, tan solo hay que acceder a la URL del blog para acceder a los contenidos de la pantalla, que irán alternándose en bucle con una animación. Básicamente se está haciendo lo mismo que otras soluciones, pero usando un servidor local, sin salir de la red del centro.

Ejemplo de un digital signage creado con Foyer.

Para ver Foyer en funcionamiento en vivo y en directo, basta con acceder a este enlace.

El uso de Foyer es sencillo: una vez instalado y activado en WordPress, aparece un nuevo menú desde el que podemos gestionar tres elementos:

  • Slides: Aquí se crean las diferentes diapositivas que se pueden mostrar. Las diapositivas pueden tener texto y una imagen o vídeo de fondo (el vídeo, incluso puede ser directamente un enlace a Youtube). Además, se pueden crear diapositivas que sean imágenes o documentos PDF.
  • Channels: Aquí se crean secuencias de diapositivas. Se pueden seleccionar entre las diapositivas creadas en la anterior sección y ponen en un orden concreto. Se pueden crear tantas secuencias como se quiera y se les da un nombre.
  • Displays: Podemos crear diferentes pantallas. Cada una tendrá su configuración y una URL específica. A cada display le podemos asignar un canal diferente.
Un ejemplo de canal de diapositivas en Foyer. Las 11 diapositivas se reproducen en bucle en la pantalla.

En mi caso, me basta con un un único display y un canal con 11 diapositivas, que combinan imágenes y vídeos y se van cambiando con frecuencia.

Para terminar de poner en funcionamiento la solución, solo bastaba con hacer que la SMART TV reprodujese la URL del display de Foyer en el navegador. Pero no podía ser tan fácil.

Problemas con el navegador

El problema vino al reproducir la web que genera Foyer en la SMART TV. En primer lugar, la SMART TV no incluía navegador Web y fue necesario instalar uno. Aunque se trata de un SMART TV basado en Android, las aplicaciones a instalar están limitadas por el fabricante y para poder instalar el Firefox se tuvo que realizar una instalación manual mediante un apk.

Pero al poner la URL en el nevagador, la sorpresa fue que las diapositivas con vídeo no se reproducían: se ponía la pantalla en gris y, a los pocos segundos, saltaba a la siguiente diapositiva. Al parecer, era un problema de potencia.

El plugin lo que hace es cargar todos los contenidos de todas las diapositivas en una página de navegador y oculta todo menos la diapositiva que se muestra en cada momento. Esto hace que el navegador requiera muchos recursos para cargar todas las diapositivas en la página y, aunque solo se esté mostrando una. Esto hace que no haya suficiente memoria para reproducir los vídeos.

Cuando se reducía el número de diapositivas, la cosa mejoraba un poco. Pero, aparecía otro problema ya que por motivos de seguridad algunos navegadores bloquean la reproducción automática de vídeos. A diferencia de los navegadores de escritorio, los navegadores para SMART TV están muy limitados en lo que a posibilidades de configuración se refiere y no se podía suavizar esta restricción cambiando alguna opción. Por tanto, con el navegador de la SMART TV sólo se podían reproducir diapositivas con imágenes y texto.

Se pensó también en conectar una Raspberry Pi 4 a la SMART TV con un sistema operativo mínimo que solo mostrase el navegador a pantalla completa, pero aunque mejora las cosas, tampoco soluciona el problema completamente, como se puede leer en el foro de soporte del plugin. Según ese mensaje, con una Raspberry 4 adecuadamente configurada se puede conseguir reproducir principalmente diapositivas de imágenes y una o dos diapositivas con vídeo.

En este punto he de decir que antes de probar Foyer, hice algunas pruebas con otras soluciones (de las que no son completamente gratuitas) y el resultado con Raspberry Pi no fue mucho mejor.

Y de vuelta al ordenador

Por tanto, hacía falta reproducir la web de Foyer con un equipo más potente. Esto se solucionó con un ordenador-de-toda-la-vida (TM). Incluso puede ser el mismo que tiene el servidor (si está cerca de la SMART TV). Así que sacamos un cable HDMI de la TV hasta la ubicación del ordenador, y preparamos el equipo con un sistema operativo que consuma pocos recursos (en nuestro caso un XUBUNTU configurado con el inicio de sesión automático), en el que hemos añadido el siguiente comando para que se ejecute al arrancar el sistema:

firefox --kiosk http://ip.del.servidor/foyertv

Lo que hace ese comando es abrir el navegador Firefox a pantalla completa con la ruta indicada (en este caso, la URL donde se visualiza el Foyer).

Con esta configuración, bastará con encender el ordenador para, a los pocos minutos, tener nuestro digital signage funcionando en la SMART TV. La potencia de un ordenador antiguo (de unos 12 años de antigüedad) con una distro de GNU/Linux y un navegador web de escritorio es suficiente y permite reproducir sin problemas unas 11 diapositivas, 5 de ellas con vídeo.

Nuestro digital signage en pleno funcionamiento

Un pequeño detalle: si queremos ocultar el puntero del ratón, podemos instalar el programa uncuttler y ejecutarlo también al arranque del sistema. De ese modo, a no ser que se mueva el ratón, el cursor aparecerá oculto.

Conclusiones

A modo de resumen, paso a listar los elementos utilizados para montar una solución de digital signage funcional, versátil y gratuita:

  • Una TV (no hace falta que sea SMART TV)
  • Un ordenador conectado a la red (contiene el servidor Web con el WordPress y el plugin Foyer)
  • Otro ordenador (reproduce la URL de Foyer en modo kiosko, podría ser el mismo que antes)
  • Un cable HDMI o VGA (si no queremos tener problemas con pérdida de señal, que no sea de más de 5m)

Y con eso, podremos gestionar nuestras diapositivas accediendo al panel de administración del WordPress desde cualquier ordenador conectado a la misma red.

Las ventajas de este sistema son, además de que es gratuito y de código abierto, es que todos los contenidos se mantienen en local, por lo que no tendremos problemas con la protección de datos.

Como inconveniente, decir que visualmente no es tan llamativo como otras soluciones comerciales ni tiene plugins que permitan vincular el sistema con otros servicios que se puedan incluir en la pantalla (como hora, noticias, climatología…).

Sin embargo, no deja de ser una solución de código abierto, por lo que, con los conocimientos adecuados, todo lo que se nos ocurra, puede ser implementado.

Etiquetas braille en Tinkercad

El uso de la impresión 3D para generar elementos accesibles para las personas con discapacidad visual ha sido un tema habitual en este blog en los últimos años. Se han hecho tutoriales de herramientas, se han compartido recursos y objetos de aprendizaje, pero también, se han presentado algunas implementaciones en el aula de proyectos basados en ApS para mejorar la inclusión en el entorno escolar.

Uno de los denominadores comunes de estas implementaciones era el uso de Tinkercad como herramienta de diseño, gracias a su sencillez, versatilidad y al hecho de que es multiplataforma (se ejecuta desde el navegador) y es de acceso gratuito, lo que habilita al alumnado a poder seguir utilizándolo en otros contextos, académicos o no.

El otro es Touchsee.me, una herramienta para la generación de etiquetas braille online que resulta fundamental para dotar a los objetos generados de información táctil. De nuevo, se trata de una herramienta accesible desde el navegador en la que, simplemente seleccionando el idioma y escribiendo un texto, se genera el archivo STL listo-para-imprimir con el texto en braille.

Escribir, descargar e imprimir

Una vez descargado, la etiqueta STL se puede llevar al laminador para imprimir. Mi recomendación es hacer la impresión en vertical, ya que los puntos quedan más suaves (y, por tanto, agradables al tacto) que se se imprime tumbada.

En 9 minutos tenemos la etiqueta braille impresa

Ahora bien, el problema llega cuando intentamos integrar esa etiqueta en algún diseño más complejo. Por ejemplo, imaginemos que queremos hacer una placa que combine un texto en altorrelieve con el braille, como el de la imagen.

Cartel accesible de aula

El diseño es trivial en Tinkercad: basta con crear la superfície, añadir el texto (en sans) e importar la etiqueta generada con Touchsee.me.

Sin embargo, cuando importamos la etiqueta, nos encontramos con el siguiente resultado:

Resultado de importar una etiqueta de Touchsee.me a Tinkercad

Parece que en el proceso de importación algo no funciona; la manera en la que touchsee.me genera el STL parece no gustar a Tinkercad y el resultando es una etiqueta braille que, en el mejor de los casos, resultará confusa de leer de forma táctil. Y esto presenta un grave problema para el objetivo del proyecto en uno de los elementos más importantes.

Pero no desesperemos, como siempre hay vías alternativas. Veamos algunas:

Solución #1

Una primera aproximación a la solución del problema, seria la de imprimir la eqtiqueta por un lado y, en Tinkercad, simplemente dejarlo todo preparado para agregarla al diseño tras la impresión. Esto es, haríamos un hueco para encajar la etiqueta una vez impresas ambas piezas.

Diseño de placa con hueco para la etiqueta braille

Posteriormente, pegamos en el hueco la etiqueta:

Manualidades

Esta, aunque resuelve el problema, tiene algunos inconvenientes. Como que el diseño es más complejo, ya que la etiqueta ha de encajar perfectamente. Si nos quedamos cortos, habrá que arriesgarse a lijar la etiqueta, si nos pasamos, sobrará hueco, dificultando la lectura. Además, la etiqueta braille se puede caer o soltar con el tiempo.

Solución #2

Una segunda solución pasa por tratar de corregir los defectos en la pieza generada por Touchsee.me que provocan la mala importación en Tinkercad.

Lo que haremos será reparar la etiqueta braille con un programa de diseño 3D, llamado Meshlab. Meshlab es gratuito, de código abierto y está disponible para todas las plataformas:

https://www.meshlab.net/#download

Instalamos Meshlab, e importamos el STL con el braille.

Una etiqueta de Touchsee.me abierta con Meshlab

Comprobamos como en Meshlab el STL se ve bien, pero aún así hay que corregirlo.

Seleccionamos Filters > Cleaning and repairing > Snap Missmatched borders

Esta opción repara bordes que estén ligeramente desplazados y que pueden causar una mala importación en Tinkercad, creando nuevos vértices.

Snap Mismatched Borders

Dejamos las opciones por defecto y le damos varias veces a Apply, para que cree nuevos vértices que puedan dar a Tinkercad más información para reconstruir correctamente el STL.

Podemos guiarnos por el mensaje que aparece en el cuadro inferior derecho (Cuando veamos que el filtro ya no hace nada, que aparece 0).

El log nos dice lo que hace el filtro en cada paso

Cerramos el diálogo, y exportamos el STL.

Ahora, abrimos el STL corregido con Tinkercad, veremos como el resultado ha mejorado considerablemente:

Importación perfecta!

Este método no es 100% efectivo pero, en algunos casos como el del ejemplo, he conseguido una importación casi perfecta.

Solución #3

Finalmente, lo que podemos hacer es usar otra herramienta para generar el STL con el braille. Lo cierto es que Touchsee.me es la más completa de todas las que he encontrado, pero tiene este pequeño inconveniente de la importación a Tinkercad.

Una alternativa que es completamente compatible con Tinkercad es una herramienta llamada «Text to 3d printable Braille» y a la que podemos acceder desde el siguiente enlace:

http://v01pe.github.io/Text2Braille3d/

El funcionamiento no es tan intuitivo como el de Touchsee.me y además está en alemán. Pero, como veremos, tampoco resulta complicado hacerse con su funcionamiento:

Text to 3d printable Braille

El diseño de la aplicación tiene dos partes, la parte superior con una previsualización de la etiqueta a generar y la parte inferior, con los parámetros que se pueden modificar.

Para generar la etiqueta hay que escribir en Text lo que queremos codificar (obvio)

Las opciones que nos da son las siguientes:

  • Großbuchstaben zulassen: Permitir mayúsculas. Si lo activamos, codificará las mayúsculas (recomendado)
  • Kontraktionen: Aplica contracciones para simplicar la longitud. Yo lo desactivo.
  • Direkte Konvertierung: Conversión directa. Desactivado por defecto.

Si pulsamos en Details einstellen veremos las opciones avanzadas. Entre otras cosas, podemos modificar el tamaño de la placa (Form-Größe), la altura del punto (Punkt-Höhe), el diámetro del punto (Punkt-Durchmesser), el grosor de la placa (Platten-Stärke) y la distancia entre las filas (Rand):

Además, podemos deshabilitar la muesca de referencia (Referenz Eck), aunque no lo recomiendo ya que nos ayudará a identificar el sentido de la lectura de la etiqueta, lo que será muy práctico a la hora de posicionarla en Tinkercad.

Es eso, o tener algunas nociones para interpretar el braille.

Lo que si os recomiendo deshabilitar la generación de soportes (Stützen generieren) ya que si no se pretende imprimir en vertical la etiqueta, como es nuestro caso, no son de utilidad.

Soportes

Una vez configurado todo, hay que darle al botón que hay en la parte inferior:

Pulsar primero aquí

Eso cargará nuestro diseño en la vista previa. Una vez hayamos generado el modelo presionando el botón anterior, ya podemos darle a generar el STL para su descarga. Si no lo hacemos en ese orden, nos descargaremos el diseño precargado no el que nosotros queremos.

Cuando le demos a Generate STL el botón se convertirá en el enlace de descarga del STL

El STL descargado se puede importar al Tinkercad sin problemas:

Resultado de la importación en Tinkercad

De este modo, ya podemos usar el braille en nuestros diseños con Tinkercad.

Unir, exportar e imprimir.

Postprocesado básico tras el escaneado 3D

En anteriores entradas, he compartido procedimientos y técnicas para escanear objetos en 3D utilizando fotogrametría a partir de imágenes o vídeos. La sencillez del proceso – que incluso puede ser realizado con la cámara de un teléfono móvil – y los llamativos resultados que produce – incluso en equipos poco potentes – hacen que sea una interesante opción para introducir estas técnicas en el aula para tratar contenidos de forma inclusiva, de acuerdo al planteamiento del proyecto Erasmus+ AMUSING.

Pero, por sorprendentes que sean los resultados, si los miramos de cerca con el visor 3D, podremos apreciar pequeñas imperfecciones que ha cometido el programa de escaneado en 3D al componer el volumen a partir de las imágenes. Estas imperfecciones suelen estar disimuladas por la textura, por lo que pasan desapercibidas en un visor 3D, sin embargo, si nuestro objetivo es imprimir la pieza, estas imperfecciones o ruido 3D, puede trasladarse al objeto y, por tanto al tacto.

Por ejemplo, veamos la siguiente escultura de un rostro escaneada por fotogrametria:

Si nos acercamos al rostro:

Aparentemente, el modelo parece bastante fidedigno con el original, por lo menos en el visor. Sin embargo, si cambiamos las opciones de iluminación activando el shading, veremos que, en realidad, la textura nos está engañando. En la siguiente imagen se aprecia como, en realidad el programa de escaneado ha tenido problemas para reconstruir la parte interior del rostro, al tener menos fotografías que capturasen correctamente esa zona.

Esas imperfecciones se trasladarían al modelo impreso, alejando la experiencia táctil del modelo original.

Como ya se ha comentado en este blog, el objetivo del proyecto Erasmus+ AMUSING es crear réplicas de objetos de museos para poder ser manipuladas y así, entre otras ventajas, poder ser explicadas a las personas con discapacidad visual. Así, que es necesario eliminar en la medida de lo posible esas imperfecciones que puedan despistar sobre la verdadera forma del objeto replicado.

En esta entrada, explicaré algunas técnicas sencillas que se pueden emplear para optimizar el objeto de cara a su impresión.

Autodesk Meshmixer

El programa que se empleará para procesar el modelo es el Autdesk Meshmixer. El programa es gratuito y se puede obtener desde su web:

https://www.meshmixer.com/

Está disponible para Windows y Mac OSX, si bien, la versión de Windows puede ejecutarse bajo GNU/Linux con Wine con los drivers Vulkan.

Una vez instalado, lo ponemos en marcha y cargamos el archivo OBJ que queramos tratar.

Corrección de errores

Un primer paso necesario, incluso si no se pretende imprimir la pieza, es corregir todos los errores que se puedan haber producido al tejer la malla durante el proceso de fotogrametría. Esto es, triángulos mal cerrados, o cosas que se pueden ver en la anterior captura, zonas sueltas o la apertura del modelo por la parte en la que no hay información.

Para resolver todos estos problemas de forma sencilla, seleccionamos la opción Analysis y después en Inspector.

Esto nos marcará todos los errores detectados en rosa (zonas desconectadas ), azul (zonas no cerradas) y rojo (triángulos imposibles) y nos dará la opción de corregirlos: Auto repair all.

Al pulsar esta opción, vemos como ha desaparecido la zona suelta y se ha cerrado el modelo.

Eliminar zonas no deseadas

Una función muy importante que nos permite hacer el programa es poder descartar zonas del modelo. Esto es útil porque es habitual que los programas de fotogrametria modelen más de lo que nos interesa.

Por ejemplo, en nuestro modelo, se pueden apreciar zonas de la pared en la que se encontraba la placa con la escultura:

Una forma de deshacerse de esas partes es usando un corte por plano, que determinará qué parte se queda en el modelo y cuál se descarta.. Para ello, vamos a Edit > Pane Cut

Tenemos que posicionar el plano usando las flechas de colores, que nos permiten mover y rotar el plano. Lo que está en gris es lo que queda fuera y lo que mantiene la textura es lo que quedará tras hacer el corte.

Tras posicionar el plano para que deje fuera la pared, le damos a Accept para que haga el corte.

El resultado se cierra automáticamente, por lo que no hace falta que volvamos a lanzar el inspector.

Posicionar el modelo

Otro aspecto interesante de cara a la impresión es rotar y escalar el modelo para facilitar su posicionamiento en el programa de segmentación de la impresora 3D.

Para ello, Meshmixer nos permite poner en pantalla la base de impresión (View > Show Printer Bed) y transformar el modelo (Edit > Transform):

De nuevo, usamos las flechas para rotar y posicionar. Si queremos redimensionar de manera uniforme, hay que apretar sobre el cuadro blanco que hay en el centro y mover el ratón sin soltar.

Una vez posicionado, le damos a Accept para que se apliquen los cambios de la transformación.

Suavizar superficies

Finalmente, vamos a tratar el objeto para suavizar las imperfecciones. Para ello, seleccionamos Sculpt, opción que nos permite modificar el aspecto del modelo. Como lo único que queremos es suavizar la superfície, seleccionaremos la brocha Shrik Smooth.

Ahora, sobre el modelo, iremos repasando las zonas que queramos suavizar. En cierta manera, es como maquillar al modelo. Podemos cambiar la fuerza y tamaño de la brocha desde las opciones.

Para apreciar el efecto de lo que estamos haciendo, podemos activar para que se vea la malla (View > Show Wireframe). Veremos como, a medida que aplicamos la brocha, la malla se modifica. En este caso, lo que hace es regenerar la zona eliminando los posibles bultos.

Como se puede apreciar en el ejemplo, al aplicar la brocha estamos añadiendo nuevos triángulos, haciendo más complejo el modelo. Puedo reducir este efecto ampliando el tamaño de la brocha (o disminuyendo las dimensiones del modelo para que el tamaño de la brocha sea más grande).

Otra cosa que puedo hacer, una vez haya terminado es simplicar la malla en esa zona usando el pincel AdaptativeReduce o Reduce, que simplifica los triángulos de la zona tratada.

El resultado complementa el suavizado anterior:

Exportar el modelo

Una vez modificado el modelo, lo podemos exportar desde File > Export.

Hay que tener cuidado con el uso de esta herramienta, ya que estamos modificando el resultado del escaneado, Un exceso en el suavizado o la reducción de triángulos puede deformar el objeto escaneado, alejándolo del modelo original. Mi recomendación es ir poco a poco y no suavizar más de lo estrictamente necesario para que desaparezcan picos o irregularidades muy evidentes.

Por ello, es preferible exportar el modelo modificado con otro nombre y no sobreescribir el original, por si tenemos que volver a partir del original en un momento, sobretodo teniendo en cuenta el tiempo que requiere procesar un modelo por fotogrametría.

El resultado es el que se ve a continuación. Las irregularidades han desparecido, dejando la mejilla izquierda sin irregularidades (aunque es cierto que aún podríamos suavizarla un poco más).

Conclusiones

En la entrada hemos visto como realizar algunos ajustes básicos de postprocesado con Meshmixer de una pieza escaneada en 3D para eliminar algunos de los defectos que se puedan derivar del proceso de fotogrametria. Cabe destacar que Meshmixer tiene una gran variedad de herramientas para tratar figuras en 3D, lo que lo convierte en una herramienta indispensable para el escaneado 3D. Además, es gratuita y multiplataforma.

black and gray mining rig

Escaneado 3D sin tarjeta gráfica CUDA

En la entrada anterior he hablado de técnicas de escaneado 3D basadas en la fotogrametria. Todo ello, usando un software abierto, gratuito y multiplataforma, como es Meshroom, por tanto accesible para toda aquella persona que quiera iniciarse en este apasionante mundo.

No obstante, sí que comentaba que había una limitación en Meshroom: es necesario disponer de una tarjeta gráfica Nvidia «CUDA enabled» ya que algunas partes del proceso están implementadas mediante unidades de procesamiento gráfico CUDA y, por tanto, necesitan un hardware compatible con ellas.

Esto puede ser un impedimento, especialmente, teniendo en cuenta que, habitualmente, los ordenadores que se tienen en los centros educativos no disponen de hardware de acceleración 3D (GPU). ¿Qué hacemos en estos casos?

Personalmente, me he encontrado con esta situación y tras darle algunas vueltas (y buscar un poco por Internet), he dado con tres posibles soluciones, que paso a explicar a continuación.

Para ver las diferencias entre una y otra, voy a procesar el siguiente objeto en un ordenador sin tarjeta gráfica (un portátil con gráfica integrada):

Capitán vintage

La escena está compuesta por 82 fotografías desde diferentes ángulos.

Veamos las diferentes soluciones:

Solución #1: Evitar las partes del proceso que usan CUDA

Esta es la solución más fácil de implementar, pero también la que da peores resultados. Se trata de eliminar del proceso de Meshroom aquellos pasos en los que haga falta el uso de CUDA. Simplemente, esos pasos no se harán (y por tanto, el reconocimiento del objeto será peor).

En concreto, los únicos pasos que requieren de una tarjeta gráfica con acceleración 3D (GPU) son los relativos a la creación del mapa denso. Si no hacemos mapa denso, problema resuelto.

Para ello, basta con eliminar los nodos en el editor de grafo de flujo de Meshroom. Hay que eliminar los siguientes: PrepareDenseScene, DeepMap y DeepMapFilter.

Eliminando un nodo (paso) en Meshroom

Una vez eliminados, conectamos el output del nodo anterior (StructureFromMotion) al input del siguiente (Meshing):

Para unirlos, pinchamos en el circulito blanco de output y arrastramos hasta el de input

Con este pequeño cambio, haremos que Meshroom funcione hasta el final en cualquier ordenador sin tarjeta gráfica.

Los puntos fuertes de esta solución es que es muy fácil de hacer y no requiere de ningún software ni recurso adicional. Por contra, el resultado deja mucho que desear respecto de un procesado con mapa denso.

Resultado de procesar la escena con Meshroom eliminando esos nodos es esta:

Solución #2: Usar un software que no requiera CUDA

Si queremos obtener unos mejores resultados podemos prescindir de Meshroom que, al fín y al cabo, está diseñado para funcionar con una tarjeta gráfica 3D y probar otro software de fotogrametria que no tenga este requerimiento.

En mi caso, he hecho pruebas satisfactorias con MVE. Multi-View Environment , como Meshroom, es un programa libre, gratuito y multiplataforma que, desde la línea de comandos, permite realizar el proceso de reconstrucción de objetos desde fotografías. El paquete está compuesto por varios programas, cada uno de ellos se encarga de realizar una parte del proceso, por lo que es necesario ejecutarlos uno detrás de otro siguiendo el orden establecido.

En los siguientes enlaces, se pueden encontrar manuales para ponerlo en marcha en los diferentes sistemas operativos:

Lamentablemente, MVE no se distribuye como programa «al uso» y es necesario bajarse los ficheros fuentes y compilarlos, por lo que no es descargar y listo. En los enlaces anteriores se explica, paso a paso, como realizar esta compilación en los diferentes sistemas.

Una vez compilado, el programa se lanza desde el terminal. Hay un comando para cada paso del proceso, al que hay que pasarle la ruta que contiene los archivos que cogerá como fuente y la ruta en la que almacenará los resultados (que a su vez, será la entrada del siguiente comando).

Para simplificar el proceso, he creado un script que realiza de forma consecutiva todos los pasos, solo hay que ejecutarlo en la carpeta de MVE y pasarle la ruta de las imágenes y la ruta en la que ha de escribir el resultado:

Uso:

$ mve-pipeline.sh ruta-imagenes ruta-destino

El punto fuerte de esta solución es que obtiene unos resultados mucho más cercanos a la realidad. El principal inconveniente, la dificultad de instalación y puesta en marcha.

El resultado de procesar la escena con MVE es el siguiente:

Solución #3: Usar procesamiento en la nube

Esta solución tiene un enfoque diferente: en lugar de buscar como ejecutar Meshroom en un ordenador sin GPU, lo que vamos a hacer es ejecutar Meshroom en un ordenador con GPU desde un ordenador sin GPU.

Para ello haremos uso de la computación en la nube a través del servicio Google Colab. Este servicio, disponible a través de una cuenta personal de Google como una herramienta más, permite la ejecución remota e interactiva de comandos en un servidor en la nube (al que se le puede asignar una GPU).

Así, Google Colab nos permite usar durante 12h un ordenador (una máquna virtual) con las siguientes características:

  • GPU: Tesla K80 , con 2496 núcleos CUDA, versión 3.7, 12GB de GDDR5 VRA
  • CPU: Intel Xeon 2.3Ghz , 45MB Cache
  • RAM: ~12.6 GB
  • Disk: ~320 GB

Cada 12 horas, la máquina se elimina, siendo necesario volver a crearla y instalar todo. Si quieres más información, aquí hay un breve tutorial con ejemplos.

Para utilizarlo, basta con ir a https://colab.research.google.com e iniciar sesión con nuestra cuenta personal de Google.

Una vez dentro, seleccionamos Runtime > Change runtime type y seleccionamos GPU.

Activamos la GPU en colab

Ahora creamos dos carpetas input y output. En la carpeta input subimos las imágenes de nuestra escena.

En input se han subido todas las imágenes de la escena

Ahora instalamos Meshroom en colab. Para ello, creamos un fragmento de código y ponemos lo siguiente:

!mkdir temp
!mkdir meshroom
%cd temp!wget -N https://github.com/alicevision/meshroom/releases/download/v2019.2.0/Meshroom-2019.2.0-linux.tar.gz
!tar -xvf Meshroom-2019.2.0-linux.tar.gz -C ../meshroom

Pulsamos el botón de «play» para ejecutar la secuencia de comandos.

Así ejecutamos el fragmento

Ahora, ejecutamos Meshroom, reproduciendo el siguiente fragmento:

/content/meshroom/Meshroom-2019.2.0/meshroom_photogrammetry --input /content/input --output /content/output

El proceso será más lento, pero no tarda mucho más que la ejecución en local.

El comando en ejecución

Esperamos a que se complete el proceso. Una vez termine, en la carpeta output tendremos el resultado, que podemos descargar desde la carpeta output.

Hay que descargar los tres archivos: el png, el mtl y el obj

Si quisieramos procesar otra escena, sólo bastaria borrar las imágenes de input y la salida del output, subir las nuevas imágenes a input y volver a darle a ejecutar al fragmento de código que ejecuta meshroom (no hace falta volver a instalar Meshroom, a no ser que hayan pasado las 12h y se haya borrado la máquina virtual).

Para simplificar el proceso, comparto mi notebook con todos los pasos ya implementados y con comentarios:

Para importarlo a Google Colab, hay que ir a File > Upload Notebook

Importar Notebook

Aunque parezca un proceso complejo, lo cierto es que resulta sorprendentemente sencillo para lo que, en realidad, estamos haciendo. La interfaz de Google Colab hace que la ejecución de comandos sea muy sencilla y que, incluso, se pueda importar una plantilla con los pasos ya preparados. El punto negativo de esta solución es el hecho de que haga falta estar conectado a Internet para poder usarla.

El resultado de procesar la figura con Google Colab es el siguiente:

Conclusiones

Como podéis ver, es posible utilizar Meshroom en equipos sin tarjeta gráfica de diversas maneras. Sin embargo, las soluciones sencillas dan malos resultados y, para obtener mejores resultados hay que recurrir a soluciones más imaginativas o cambiar de programa. Lo bueno es que, una vez preparadas las soluciones, se puede reutilizar el entorno (ya sea en MVE o en Google Colab) para procesar varias escenas, con lo que el tiempo invertido se compensa con resultados que, en algunos casos, no tienen nada que envidiar de los obtenidos con una GPU.

Recursos didácticos mediante escaneado 3D

En los últimos años he estado utilizando la tecnologia 3D en el aula de diversas maneras, algunas de ellas las he comentado en este blog, pero siempre partiendo del diseño mediante la combinación de formas geométricas en 2D y 3D para crear piezas y objetos para que fuesen impresos y, por tanto, materializados en el mundo real.

Una de las aplicaciones de esta tecnología ha sido la de crear en el aula recursos táctiles que puedan dar servicio a personas con discapacidad visual, de acuerdo a los objetivos del proyecto Erasmus+ PRINT3D.

Por ejemplo, el diseño de unas células en 3D puede suponer un recursos muy práctico para enseñar las partes de una célula de forma táctil en clase de biología.

Células eucariotas y procariotas

Las posibilidades de este campo son muchas y muy variadas, pero el problema llega cuando no se trata de diseñar una abstracción, sino de recrear un objeto real. ¿Cómo representamos táctilmente, por ejemplo, la morfología de la concha de un molusco en una clase de biología?

Fuente: http://www.gastrosoler.com

En este caso, el diseño geométrico se ve muy limitado para ofrecer una solución aceptable.

Es en este punto donde hace su entrada el proyecto Erasmus+ AMUSING, completando a su predecesor PRINT3D a través de invertir el punto de vista: ahora no se trata de trasladar los objetos de la pantalla a la realidad, sino de la realidad a la pantalla.

Efectivamente, este nuevo proyecto pone el foco en el escaneado 3D; Si no podemos diseñar una concha de molusco realista combinando formas geométricas, la obtendremos directamente de la realidad y luego, la compartimos en Internet para que otras personas puedan imprimirla en 3D y utilizarla como recurso en el aula.

Imagen
Una concha escaneada y replicada a varios tamaños y calidades.

Fotogrametría: La clave de todo esto

Lo mejor de todo es que las técnicas de escaneado 3D se encuentran en un momento de madurez muy interesante, lo que las pone al alcance del aula sin necesidad de una gran inversión económica ni de la necesidad de tener unos conocimientos técnicos muy elevados.

En ese sentido, me atrevería a decir que estas técnicas tienen una curva de aprendizaje mucho mas pronunciada que la impresión 3D: se obtienen resultados sorprendentes al poco tiempo de empezar.

La tecnología clave detrás del escaneado 3D del que voy a hablar aquí es la fotogrametria. Según la Wikipedia « es el arte, ciencia y tecnología para la obtención de medidas fiables de objetos físicos y su entorno, a través de grabación, medida e interpretación de imágenes y patrones de energía electromagnética radiante y otros fenómenos”.

Lo cierto es que la fotogrametría ya lleva bastante tiempo entre nosotros y, aunque no nos demos cuenta, está presente en multitud de aplicaciones tecnológicas actuales.

La fotogrametria se usa mucho para la obtención de mapas 3D. Fuente: Wikipedia

De forma muy resumida, se trata de hacer fotos de un objeto desde diferentes ángulos para calcular las diferencias entre las imágenes y así interpretar medidas y, por tanto, la forma.

No es un proceso conceptualmente sencillo, pero afortunadamente, como veremos a continuación, el software actual permite realizarlo de una manera intuitiva sin necesidad de configurar parámetros avanzados.

El proceso con más detalle

Antes de ver el software, vamos a ver los pasos, a grandes rasgos, se realizan para obtener un modelo en 3D a partir de un objeto real.

  • Toma de imágenes: En primer lugar, hay que tomar fotos desde diferentes ángulos. Se recomienda que la iluminación sea buena y la foto esté bien enfocada. Por ello, es recomendable usar un trípode y, si puede ser, ubicar el objeto en una peana giratoria para facilitar su giro. Lo ideal es hacer barridos 360º desde varios ángulos, para capturar todos los detalles del objeto (por ejemplo, con la cámara a 10º, luego a 40º y finalmente a 80º). Es importante que las fotos se solapen unas con otras, por lo que el giro del objeto entre foto y foto, debería de ser inferior a 15º).

Hasta aquí es lo que hacemos nosotros, de lo que viene ahora ya se encarga el programa de fotogrametría cuando le pasamos las fotos.

  • Detección de puntos análogos (Feature extraction): Se analizan las fotos y, gracias a los solapamiento, se detectan los puntos homólogos, es decir, detalles del objeto que aparecen en varias fotos.
  • Comparación de puntos homólogos (Feature matching): Se comparan los puntos homólogos de las diferentes imágenes para encontrar coincidencias, es decir, el mismo punto en diferentes imágenes. Esta es la clave del proceso y de la cantidad de puntos que relacione, dependerá la calidad del modelo.
  • Triangulación (Structure from motion): A partir de los puntos homólogos y de los cambios detectados entre un punto homólogo en una imagen y el mismo punto en otra, se calcula el desplazamiento del objeto y su nube de puntos (coordenadas que definen el volumen del objeto).
  • Creación del mapa denso (Deep map): A partir de la triangulación, se interpolan nuevos puntos homólogos para acabar de completar el modelo y darle mayor detalle a la nube de puntos. Esta fase es la más laboriosa y suele requerir del uso de una tarjeta gráfica.
  • Mallado (Meshing): Una vez interpolado el mapa denso, se teje una malla en 3D, como una estructura de alambre, que recrea el volúmen detectado.
  • Texturizado (Texturing): Es el proceso final en el que se añade a la malla una capa con una imagen generada a partir de las fotografias en las que se le de el aspecto real del objeto.

Y con esto estaría todo, si el programa ha podido trabajar con las fotos proporcionadas, obtendríamos un archivo con extensión OBJ en el que encontraríamos el objeto en 3D.

Ya os adelanto que esto no siempre ocurre y, a veces el programa muestra un error porque no ha podido procesar bien las imágenes. Entonces, hay que descartar sesiones fotográficas enteras por una mala iluminación o enfoque, que hace que el software de fotogrametría no pueda sacar nada en claro del objeto.

Para evitar que eso ocurra, en el siguiente punto, recomiendo el uso de algunos utensilios relativamente fáciles de encontrar para optimizar la toma de fotografías. Pero antes, finalicemos la explicación de este proceso, pues si todo ha ido bien, una vez generado el archivo OBJ, volvemos a tomar protagonismo en un último paso:

  • Revisión del modelo: Tenemos que reparar los posibles errores que aparezcan en el modelo generado: caras sin cerrar, vértices duplicados, etc. Esto lo podemos hacer con cualquier software de edición 3D (Meshlab, Microsoft 3D builder…). La mayoría de ellos incorporan asistentes para reparar el modelo. También en este paso, tenemos que eliminar aquellas zonas del diseño que no sean relevantes y que se han generado en el modelo: partes de la peana, objetos del fondo, etc. Normalmente, basta con seleccionarlos en un programa de edición 3D y darle a la tecla suprimir.

Con esto ya estaría todo, y tendríamos nuestro modelo en 3D para imprimir (enviar el OBJ a Cura 3D) o para compartir (subirlo a un repositorio online como Sketchfab).

Recursos necesarios

Como se ha comentado, la toma de imágenes es un paso crítico que va a afectar a todo el proceso posterior.

Lo ideal es disponer de un mini estudio fotográfico, para conseguir imágenes con la mejor calidad posible. Tampoco hace falta un montaje profesional, aunque cuanto más profesional sea, mejores imágenes se obtendrán.

A continuación, os propongo una serie de elementos, relativamente fáciles de encontrar para montar ese mini estudio con el que empezar con la fotogrametría (con * lo que es imprescindible, el resto es opcional):

  • Cámara digital* No hace falta que sea una reflex, pero si que es muy recomendable que tenga una buena lente y se pueda configurar en modo manual.
  • Trípode: Para evitar vibraciones en la cámara, especialmente, si se ha puesto una velocidad de obturación baja. Nos ayudará también a establecer las diferentes alturas e inclinaciones de cámara con la que haremos el barrido 360º.
  • Plato giratorio: Esto ayuda a realizar el barrido 360º del objeto. Vamos girando el plato de 15º en 15º, y hacemos una foto en cada paso. Puede ser una peana giratoria de una televisión.
  • Caja de luz y focos: nos van a permitir obtener una iluminación uniforme y sin sombras.
  • Un cartón o tela de croma, que ayudará a eliminar detalles del fondo de la imagen y, por tanto, a agilizar el procesado de las imágenes.
  • Ordenador *, si tiene tarjeta gráfica NVidia (compatible con CUDA), mejor.

Como se puede ver, con una buena cámara y un buen ordenador ya podemos trabajar. Y, sí, también valen las cámaras del móvil.

Sobre el software

Una vez tomadas las fotografías, hay pasarlas al software de fotogrametria para que haga la magia.

Existen multitud de programas de fotogrametria, algunos gratuitos, otros de pago. Entre los primeros, cabe destacar Meshroom, que es un software libre multiplataforma bastante versátil, intuitivo y que, además, da muy buenos resultados.

En el siguiente vídeo se puede ver su funcionamiento:

Se puede descargar de forma gratuita desde su web:

Además, tambien es interesante disponer de un programa de visualización de modelos 3D, con el que veremos los resultados. En Windows se puede usar el 3D Builder que se incluye con Windows 10. En GNU/Linux se puede usar Meshlab.

Ejemplo de aplicación

Por poner un ejemplo práctico del proceso, vamos a volver sobre el ejemplo del gasterópodo que queremos usar en la clase de biología. Nos han prestado uno y lo preparamos todo para fotografiarlo.

Cámara, trípode, peana giratoria y una tela roja para homogeneizar el fondo.

Hemos obtenido 36 fotografías, haciendo barridos 360º (vuelta completa a la peana) en 3 ángulos de cámara diferentes. El resultado tiene este aspecto:

Una de las fotos

Comparto las fotos, por si alguien quiere hacer pruebas:

Dataset 36 fotos gasteropodo

Una vez hemos hecho las fotos, las arrastramos en el Meshroom:

Arrastrar y soltar

Ahora pulsamos el botón Start para que empiece el proceso. Como se puede ver, en la parte inferior hay un grafo en el que se detallan todos los pasos que hace el programa. Si os fijáis, los pasos son los mismos que he detallado más arriba.

Durante el proceso veremos como el programa va pasando por los diferentes cuadrados, cambiando de color: naranja significa en proceso, verde, paso completo. Si sale rojo es porque el paso ha fallado.

El proceso puede tardar minutos u horas. Dependerá del número y tamaño de las imágenes, de la potencia del ordenador y de la presencia o no de una tarjeta gráfica.

Si todo va bien, podremos ver la nube de puntos generada en el área de representación de la derecha.

La nube de puntos

Un detalle muy interesante de esa visualización es que también nos muestra la ubicación de la cámara que ha calculado para cada imagen. Si os fijáis, al final lo que se ha intentado con los diferentes barridos es emular una semiesfera.

Para ver el resultado del proceso, es decir, el objeto generado, hacemos clic derecho sobre el último nodo (Texturing) y seleccionamos Open folder. Esto abrirá la carpeta en la que está el archivo OBJ que ha generado Meshroom.

Esto abre el directorio donde está el archivo resultante

Si abrimos el archivo OBJ en el Meshlab, veremos como ha capturado a la perfección la forma del caparazón:

Faltaría eliminar la base negra con el mismo programa

Ahora, puedo llevar este archivo OBJ a la impresora 3D para replicarlo tantas veces como quiera:

El objeto «fotocopiado»

También puedo subir el archivo OBJ a algún repositorio de internet para compartirlo o visualizarlo de forma interactiva en diferentes medios, como este blog:

Gasterópodo Cypraecassis rufa by Carlos M on Sketchfab

En caso de no tener un ordenador con tarjeta gráfica CUDA enabled, lee esta entrada para ver como poder obtener buenos resultados con fotogrametria.

Conclusiones

La fotogrametría es un proceso maduro para la generación de modelos en 3D a partir de objetos del mundo real, habitualmente vinculada a la generación de mapas en 3D. Sin embargo, como hemos visto, puede ser fácilmente utilizada en el aula para generar objetos de aprendizaje, ya sea gracias a la obtención de un modelo 3D interactivo o bien por la posibilidad de replicar objetos.

Sin embargo, el proceso, aunque aparentemente sencillo y accesible gracias a la existencia de software libre multiplataforma, requiere de una cierta mano para la fotografía, ya que la toma de imágenes es el paso clave para obtener buenos resultados. Lo que, en realidad, es una buena excusa para introducir en el aula algunas nociones sobre la fotografía digital, lo que tampoco está de más.

Desbloqueo FRP de las tablets del plan MULAN

Una de las medidas más novedodas del plan MULAN para la docencia digital durante los primeros meses de la pandemia COVID-19, fue la adquisición de tablets con conexión a Internet para que los centros educativos pudiesen cederlas al alumnado que lo necesitase para seguir la docencia a distancia. Fue una medida muy útil y efectiva que garantizó el acceso a la educación para muchos y muchas. Aún lo sigue siendo, ya que tras el curso 2019-2020, las tablets fueron devueltas por el alumnado beneficiario y este curso se han vuelto a ceder a otro.

Aunque pedimos al alumnado que no vincule la tablet con su cuenta personal y que, en caso de hacerlo, la desvincule antes hacer el Factory reset y devolverla, este curso nos hemos encontrado con una tablet con FRP Lock.

Y la antigua persona beneficiaria:

  • No recordaba su contraseña de correo.
  • Había cambiado de teléfono recientemente y ya no tenía el número que constaba en la cuenta para la recuperación.

Vaya, la Ley de Murphy en estado puro.

Afortunadamente, buscando un poco por Internet el modelo (Huawei MediaPad T5 AGS2-L09) se pueden encontrar algunos tutoriales para conseguir, usando algunos atajos durante la puesta en marcha, desvincular la cuenta y poder hacer un hard reset.

Os enlazo al que hemos seguido para desbloquear el FRP en la tablet:

Por alguna razón, el mensajito rojo no sale a la primera. En nuestro caso, estuvimos varios días probando de todas las formas posibles. Finalmente, nos salió el mensaje a la primera con las siguiente configuracion (variaciones respecto a lo que se muestra en el vídeo):

  • Conexión a router doméstico con seguridad WPA2 personal (con el smartphone haciendo de router no nos funcionó)
  • Idioma del asistente: Español
  • Dirección del proxy: una cadena aleatoria
  • Puerto del proxy: 8080

Espero que os sirva. ¡Y no olvidéis desvincular las cuentas de Google antes de reiniciar la tablet a los valores de fabrica!

Flash y la bomba lógica

En el software, una bomba lógica o de tiempo es un código que hace que un programa deje de funcionar después de determinada fecha. Parece que Adobe ha incorporado ese código en las últimas versiones de Flash para evitar que siga utilizándose después de alcanzar el final del ciclo de vida del programa o EOL.

Sin embargo, hay situaciones en las que sigue siendo necesario el uso de Flash, por ejemplo para el caso de aplicaciones de gestión web diseñadas con Flex, una tecnología basada en Flash que se popularizó bastante a mediados de los 2000, que no se hayan actualizado a tecnologias más actuales, com o HTML5.

Pantallazo del resultado de la bomba lógica

Por tanto, para poder seguir usando cualquier cosa relacionada con Flash tras la activación de dicha bomba lógica, es necesario instalar la versión de Flash 32.0.0.371, ya que todas las versiones posteriores ya están programadas para bloquearse.

Pero no es tan fácil, porque Adobe ha eliminado todas las descargas de versiones antiguas de sus servidores,. Así que hay que buscarse la vida por canales «no oficiales» para obtener el instalador de dicha versión.

Afortunadamente, archive.org, a través de su servicio de instantáneas de páginas web Wayback Machine, nos ofrece la posibilidad de recuperar los archivos que en algún momento estuvieron disponibles para descarga en la web de Adobe.

En el este enlace se puede obtener un listado con todas las instantáneas de las versiones de descarga para todos los sistemas operativos del instalador de Flash 32.0.0.371.

Recomiendo las siguientes descargas:

Para Windows:

https://fpdownload.adobe.com/pub/flashplayer/pdc/32.0.0.371/install_flash_player.exe

Para GNU/Linux:

https://fpdownload.adobe.com/pub/flashplayer/pdc/32.0.0.371/flash_player_npapi_linux.x86_64.tar.gz

La ventaja de usar estos enlaces es que se trata de los archivos originales que en su día estuvieron disponibles para descarga oficial, de los que Wayback Machine ha hecho una copia, y no de archivos disponibles desde fuentes poco fiables y que puedan haber sido alterados.

Para descargharlos, simplemente elige la versión y te llevará a una página con el calendario de copias realizadas para ese archivo. En esa página, selecciona la última copia y ha clic sobre ella. El archivo se descargará.

La última copia del archivo seleccionado se hizo el 24 de mayo de 2020 a las 7:47

Tras descargar el archivo, hay que instalarlo para poder degradar la versión de Flash a una sin la bomba lógica. A continuación explico como hacerlo en Windows y Lliurex.

Pasos a seguir en Windows

En primer lugar hay que desinstalar la versión antigua de Flash. Podemos hacerlo desde agregar o quitar programas o usando el desinstalador de Adobe.

Desinstalador de Flash

Posteriormente, reiniciamos el equipo, para asegurarnos que todo queda correctamente eliminado.

Una vez reiniciado el equipo, instalamos el archivo descargado de Wayback Machine.

Instalador de la versión 32.0.0.347

Importante: Hay que marcar que no se ha de actualizar, para que no se actualice de nuevo a una versión con bomba lógica.

Opción importante

Pasos a seguir en GNU/Linux

En este caso, tan solo basta con sobreescribir el archivo liblashplayer.so que viene en el archivo comprimido que se descarga con el que tenemos en el sistema (normalmente, en la ruta en la que esté instalado Flash, que dependerá de la distribución).

Para el caso de Lliurex se puede hacer de la siguiente forma:

Abrimos el terminal.

Para abrir el terminal, seleccionamos la aplicación XTerm

Localizamos la ubicación del archivo libflashplayer.so en nuestro sistema con el siguiente comando:

$ locate libflashplayer.so

El comando devolverá la ruta en la que está instalado Flash. En mi caso es esta: /usr/lib/adobe-flashplugin/libflashplayer.so

Ahora vamos a la carpeta en la que se ha descargado el archivo flash_player_npapi_linux.x86_64.tar.gz (usualmente Baixades).

$ cd Baixades

Descomprimimos el archivo:

$ tar -zxvf flash_player_npapi_linux.x86_64.tar.gz

Ahora copiamos el archivo que se ha descomprimido a la carpeta en la que estaba instalado el Flash, para sobreescribirlo. (hay que poner la ruta que nos haya devuelto el comando locate). Este paso nos pedirá la contraseña de administrador:

$ sudo cp flash_player_npapi_linux.x86_64.tar.gz/libflashplayer.so /usr/lib/adobe-flashplugin/libflashplayer.so

Tras reiniciar el navegador, ya debería de estar instalada la versión de Flash que no se bloquea.

El navegador

Es posible que los navegadores convencionales vayan paulatinamente bloqueando el uso de Flash. Si se pretende seguir usando Flash tras el EOL, es recomendable instalar un navegador que garantice el soporte para este tipo de contenidos, como por ejemplo Pale Moon.

Una vez realizados los procedimientos explicados arriba, podemos comprobar la versión de Flash instalada en Pale Moon desde el menú Tools > Addons en la sección Plugins. Ha de salir lo siguiente:

Flash 32.0.0.371 instalado en Pale Moon

Conclusiones

Con esta situación, una vez se pone en relieve la importancia de servicios como Wayback Machine y la importancia de webs como archive.org en el mundo tan cambiante de Internet, donde webs o contenidos que hoy són fácilmente localizables, quizá mañana ya no lo sean. Gracias a su afán archivístico, los usuarios que necesitamos seguir usando Flash después de determinada fecha, podemos hacerlo pese a los intentos de Adobe de bloquearlo completamente.

No obstante, hay que recordar que la razón por la que Adobe hace este bloqueo es por motivos de seguridad: Flash no es un complemento seguro y por eso se está eliminando de la web. Es por eso, que todos las empresas deberían actualizar su software de gestión para dejar de ser dependiente de esta tecnología obsoleta y, digámoslo así, a partir de ahora, proscrita.

Creando los carnets del alumnado con software libre

La identificación de alumnado en un centro educativo suele ser un elemento crucial, especialmente en centros grandes en los que hay que llevar un control de entradas y salidas. A esto hay que sumarle la complejidad añadida de los centros en los que se imparten enseñanzas postobligatorias, en las que el alumnado suele ser mayor de edad y, por tanto, puede salir del centro durante la jornada lectiva.

Durante años, la técnica del carnet escrito a mano con la foto pegada y todo ello plastificado, ha sido una de las soluciones más socorrida. No obstante, la elaboración de estos carnets es bastante laboriosa, ya que se hacen artesanalmente uno por uno. Esto, en centros grandes (>1000 alumnos) suele ser una tarea bastante tediosa.

Por ello, durante el curso pasado estuve buscando algún software que pudiese automatizar el proceso de creación de carnets a partir de la información proporcionada por el software de gestión de centros. Esto limitaba bastante las opciones, ya que:

  • El software sólo exporta datos del alumnado en CSV (fichero de texto, con los datos organizados en campos separados por comas), sin fotos.
  • No existe ninguna manera de descargar todas las fotos del alumnado.

Además de todo eso, se añadía una tercera limitación, esta autoimpuesta, y es el hecho de que se quiere utilizar una impresora láser a color del centro para llevar a cabo la impresión. Así, los datos del alumnado no se ceden a terceras personas ajenas al centro para la generación de las tarjetas.

La existencia de estas restricciones, junto al hecho de que todo el software propietario que encontré en Internet, de una forma u otra, no acababa de encajar con alguna de ellas, me llevaron a idear un proceso que, con la ayuda de una curiosa herramienta de software libre, me permitiesen crear todos los carnets en pocos segundos.

Un generador de cartas de rol

La pieza clave del proceso es un software libre llamado HCCD – HTML+CSS Card Designer, cuya finalidad original es la de diseñar cartas personalizadas para juegos de rol. En realidad se trata de un combinador de datos: coge un fichero CVS con la inforamación de las diferentes cartas y una plantilla gráfica realizada en HTML y CSS, y genera todas las cartas del juego siguiendo el patrón de la plantilla.

Esquema de funcionamiento de HCCD

Más información sobre HCCD en github: https://github.com/vaemendis/hccd

La idea para usar este programa para generar carnets de alumnos es simple: utilizo HCCD para generar las tarjetas del alumnado, sustituyendo la información de poderes, fuerza y magia, simplemente por su nombre, curso y si es mayor o menor de edad. Luego, hago el diseño del carnet en HTML+CSS y le doy a generar. En unos pocos segundos, tengo todos los carnets generados en la pantalla.

Carnet de menor de edad y de mayor de edad

A partir de la información del CSV, determino si el alumno es mayor o menor de edad y juego con los colores, para diferenciar fácilmente los carnets en la puerta.

Como detalle adicional, en el carnet de menor de edad, he añadido un patrón de fondo, para dificultar su alteración para hacerlo pasar por un carnet de mayor de edad.

Funcionamiento de HCCD

Cuando descargamos HCCD encontramos una carpeta con ejemplos de uso, lo mejor es partir de ahí para empezar a trabajar:

card.csv: Este archivo CSV contiene los datos que se generarán. Previamente, he organizado la información del CSV obtenido por el software de gestión en LibreOffice Calc (software libre), poniendo los nombres que aparecen entre llaves como encabezado de columna. Una vez tengo las columnas que necesito, lo he guardado como CSV otra vez.

card.html: Archivo HTML que contiene la distribución de contenidos de un carnet. Esta distribución es la que se replicará para cada uno de los carnets una vez se ejecute HCCD. Podemos modificar el diseño entre los comentarios

<!-- YOUR CUSTOM CODE STARTS HERE -->

y

 <!-- YOUR CUSTOM CODE ENDS HERE -->

Todo lo que modifiquemos fuera de esas etiquetas, será ignorado por HCCD al generar los carnets.

Los datos que se han de extraer del CSV se ponenen entre dobles llaves. A continuación, muestro un ejemplo de un HTML preparado para hacer carnets.

<!doctype html>
<html>
   
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta>
    <link rel="stylesheet" type="text/css" href="unit.css">
</head>

<body>
    <div class="card">
        <!-- YOUR CUSTOM CODE STARTS HERE -->
      <div class="bg{{Menor}}">
      <script src="JsBarcode.all.min.js"></script>
      <header class="h{{Menor}}">ESTUDIANT {{Curs}}</header>
      <img src="img-NIA/{{NIA}}.png" alt="image" onerror="this.src='no-foto.jpg';"/>
      <div class="nombre"><span>{{Nom}}</span> {{Cognom 1}} {{Cognom 2}}</div>
      <div class="grupo">{{Grup}}</div>
      <div> <svg id="b{{NIA}}"></svg> </div> 
      <script>
                JsBarcode("#b{{NIA}}", "{{NIA}}", {
                  lineColor: "#000",
                  width: 2,
                  height: 20,
                  fontSize: 12,
                  margin: 0,
                  displayValue: true
                });

      </script>
      <div class="aviso {{Menor}}">
        NO POT EIXIR DURANT EL PERIODE LECTIU NI PATIS
      </div>
      <div class="curs{{Menor}}">
        CURS2021
      </div>
      <footer> 
        <div class="ies">NOM IES</div>
        <div class="mini">Dir IES - 46000 València</div>
        <div class="mini">96 000 00 00 - 00000000@mailies.es</div>
      </footer> 
    </div>
        <!-- YOUR CUSTOM CODE ENDS HERE -->
    </div>
</body>

</html>

card.css: Aquí es donde vamos a definir el aspecto, colores y ubicación de los elementos gráficos del carnet. Para ello, usaremos CSS, como si se tratase de una página web.

hccd.jar: Este es el programa que combina todo lo anterior. Necesita que JAVA esté instalado en el sistema para funcionar. Para ponerlo en marcha, basta con escribir los siguiente en un terminal:

java -jar hccd.jar

Eso abrirá la ventana de HCCD, a la que tan solo tendremos que arrastrar nuestro CSV. El resultado será un archivo llamado card-GENERATED.html en el que encontraremos todos los carnets creados, resultado de la combinación de los datos del CSV con la distribución del HTML y el aspecto gráfico definido en el CSS.

Un detalle muy interesante de HCCD es que está pendiente de los cambios en los tres archivos CSV, HTML y CSS. Cuando hacemos una modificación en alguno de ellos y guardamos, automáticamente vuelve a generar card-GENERATED.html aplicando las novedades.

Código de barras con el ID

Preparando el diseño, pensé que podía ser interesante incluir un código de barras con el identificador del alumno. Además de en la puerta, otro sitio en el que utiliza mucho el carnet de estudiante es en la biblioteca, para el préstamo. En las bibliotecas de centros es habitual tener un lector de código de barras para leer las etiquetas de los libros. Pues bien, con un código de barras en el carnet del alumnado se podría agilizar el proceso de préstamo, tal y como se hace en las bibliotecas públicas.

Puesto que el diseño del carnet se hace en HTML, se puede introducir cualquier componente compatible con una página web, también un código javascript. Eso es lo que he hecho para conseguir que, a partir del identificador del alumno, se genere un código de barras que puede ser muy útil para el préstamo de libros en biblioteca.

Para ello, he utilizado la libreria jsBarcode, que proporciona una función que genera un código de barras a partir de un número.

Más información en jsBarcode en github: https://github.com/lindell/JsBarcode

Obteniendo las fotos del alumnado

Llegados a este punto, nos encontramos con el problema de las fotos de los alumnos: el CSV que exporta el software de gestión de centros, no incluye la foto y HCCD necesita un archivo con la foto del/la alumno/a al que hacer referencia.

Un carnet sin foto no tiene mucho sentido, y para ello, es necesario descargar todas las fotos del alumnado a una carpeta del disco en el que se ejecuta HCCD. Pero esa no es una opción que proporcione el software de gestión, ¿recordáis?

Sin embargo, lo que sí proporciona este software es un documento en PDF con las fichas del alumnado; una ficha por página. Y sí, en la ficha está el identificador del alumno y su foto.

Así que, de nuevo, hay que recurrir al software libre. El formato PDF es complicado de procesar automáticamente, ya que es un archivo binario. Por eso, un paso previo sería convertir esas fichas a un formato textual, más manipulable, como HTML.

En concreto, la solución pasa por crear un script de GNU/Linux, que convierta el PDF a un HTML y después, vaya ficha a ficha, cogiendo el identificador, recortando la imagen y guardándola con el identificador como nombre de la imagen. Este proceso es un poco más entretenido y, aunque se haga automáticamente, puede tardar varios minutos.

Además, es requisito previo que todas las fotos del alumnado estén registradas en el software de gestión, para lo que será necesario un trabajo previo, durante la matrícula. Pero esa es otra historia.

Volvamos al script que obtene las fotos a partir de las fichas en PDF y al que he bautizado como pdf3nia. Este script hace uso de la herramienta de software libre pdf2html junto al potente comando convert de Imagemagick. Os pongo el enlace de descarga del script generado, por si os interesa:

Más información sobre pdf2html en github: https://github.com/shebinleo/pdf2html

Imprimiendo los carnets

Una vez generados todos los carnets, con su imagen y su código de barras, sólo queda imprimirlos. HCCD genera todos los carnets en una página HTML inmensa. Afortunadamente, el programa nos ofrece la opción de determinar cuántas cartas habrá en cada página, para facilitar la impresión forzando el salto de línea cuando toque (y evitando que se queden carnets cortados entre dos páginas).

Los campos rows y columns son fundamentales para una buena impresión.

Yo, por las dimensiones de mis carnets sacó unos 10 carnets por página en dos filas de cinco columnas, pero todo dependerá del tamaño y diseño de las tarjetas.

Así, la impresión se hace directamente del navegador (el HTML generado por HCCD) a la impresora a color. Para estas impresiones, se utiliza papel grueso tipo cartulina (A4, 120g).

El postproceso es el guillotinado de los carnets (están alineados, así que se pueden hacer varias páginas de golpe) y el plastificado individual (usando tarjetas de plastificado individuales tamaño NIF). Esta última parte es la más entretenida, pero bueno, ¡no todo iba a ser darle a un botón!

Conclusiones

Para implementar la solución, se han utilizado de manera combinada varias herramientas de código abierto disponibles de forma gratuita en Internet:

Herramientas utilizadas

Respecto al resultado, este sistema esta siendo utilizado durante el presente curso para generar los carnets. De la experiencia se pueden extraer algunos puntos positivos y negativos. Los puntos a favor del sistema son los siguientes:

  • Generación inmediata de grupos enteros.
  • Regeneración rápida de carnets sueltos (además, el alumnado no ha de traer de nuevo una foto).
  • Diseño más profesional y atractivo del carnet.
  • Inclusión de código de barras con el identificador de alumno/a
  • Una vez está el diseño hecho, basta con ejecutar HCCD y guardar el fichero CSV para que se generen los carnets automáticamente.
  • Software Libre, totalmente modificable para adaptarse a las necesidades de cada centro.

Pero, como todo, aún hay aspectos de este proceso que hay que pulir:

  • Necesidad de conocimientos medios/avanzados de informática para realizar el diseño inicial y combinar el uso de las herramientas implicadas en el proceso (pdf2nia, diseño CSS del carnet, etc.)
  • Las fotos no siempre están disponibles en el programa de gestión de centros y, escanearlas a veces es tan laborioso como hacer los carnets a mano.
  • No es un programa específico, sino la combinación de varios programas, lo que hace el proceso más complejo que en las soluciones propietarias cerradas.

En cualquier caso, este pequeño proyecto es una muestra más de lo que se puede hacer combinando varias herramientas de software libre de las muchas que hay disponibles en la red.

Cómo usar puntuación basada en la certeza (PBC) en Moodle

Una de las características más utilizadas en Moodle para la realización de exámenes en línea es los cuestionarios de opción múltiple. En la entrada anterior del blog he comentado algunas de las características que ofrece Moodle para este tipo de pruebas. En efecto, la realización de estas pruebas tienen la ventaja de proporcionar un feedback rápido al alumnado, facilita el análisis de los instrumentos de evaluación al profesorado (que puede analizar la validez de las preguntas) y, por esta, y otras razones, suele ser un sistema al que recurren un gran número de docentes.

No obstante, el uso de estas pruebas objetivas para la evaluación siempre conlleva un componente de incertidumbre debido a la posibilidad de responder al azar las preguntas que no se saben (y acertarlas).

Frente a esta situación, se suelen plantear estrategias como penalizar las respuestas equivocadas, para desalentar la respuesta al azar, o aumentar el número de opciones en las preguntas para disminuir la probabilidad de acierto.

Pero existe una tercera vía que no se basa en desalentar la respuesta cuando no se sabe o no se está completamente seguro (no olvidemos que equivocarse es la mejor forma de aprender), sinó en valorar también el grado de seguridad con la que el alumnado marca esa respuesta: en ese caso, la puntuación estará basada en la certeza.

Puntuación basada en la certeza (PBC)

La puntuación basada en la certeza (PBC) incluye a cada pregunta de opción múltiple del cuestionario un «medidor de certeza», mediante el que el alumnado deberá indicar el grado de seguridad que tiene en que la respuesta que ha marcado sea correcta, entre bajo (está poco seguro), medio y alto (está muy seguro).

Ejemplo de pregunta con PBC

Así, la calificación obtenida en la pregunta dependerá, no sólo de la corrección de la respuesta, sinó del grado de certeza indicado, tal y como indica la siguiente tabla:

Fuente: https://docs.moodle.org/all/es/Usando_Puntuaci%C3%B3n_Basada_en_Certeza

De ese modo, si la respuesta es correcta, se obtendrá mayor puntuación en el caso de que se tenga más certeza (3 puntos), pero si no existe mucha certeza (es decir, si se ha acertado al azar) se obtendría sólo 1 punto.

Para el caso de la respuesta incorrecta, si se ha marcado con bajo nivel de certeza ni suma ni resta, pero a medida que aumenta la certeza ante una respuesta incorrecta, se penaliza la puntuación. Así, marcar una respuesta incorrecta con una certeza absoluta restaría 6 puntos.

Según la tabla, se entiende por una certeza alta el estar seguro a más de un 80% y una baja certeza si se está menos de un 67%. Lo que hay entre medias, es el grado medio de certeza.

Así, ante una pregunta, si el alumno está seguro de la opción correcta, se deberá marcar la certeza como alta. Pero si la respuesta fuese incorrecta, ¡ se perdería el doble de puntos (-6)!.

Si se está inseguro, para evitar la pérdida de puntos, se debería marcar que el grado de certeza es bajo.

Si no se está del todo seguro ante una respuesta, se debería marcar un grado de certeza intermedio: se ganarían o perderían 2 puntos, en función de si se acierta o no.

Como se puede observar, en esta variante de la tradicional penalización por respuesta incorrecta, se tiene una serie de ventajas:

  • Obliga al alumnado a reflexionar sobre su respuesta y autoevaluarla.
  • Motiva a los estudiantes a que traten de entender los enunciados y no respondan lo primero que les pase por la cabeza.
  • Supone un desafío: si un estudiante no se arriesga a perder puntos si se equivoca, entonces es porque realmente no conoce la respuesta.
  • Ayuda a ganar confianza al alumnado.
  • Es más justo, pues una respuesta correcta pensada y certera merece más puntos que una adivinanza afortunada.

Interesante, ¿no os parece? Veamos cómo se puede activar esta manera de evaluar en Moodle.

Cómo activar la PBC en Moodle

La PBC está implementada en Moodle, aunque se recomienda realizar una serie de actuaciones administrativas previas a su uso (o verificar que se han hecho con los administradores del sitio).

Para añadir PBC a un cuestionario, es tan sencillo como ir a Editar ajustes y en la sección Comportamiento de las preguntas, seleccionar retroalimentación diferida con CBM (si se selecciona retroalimentación inmediata con CBM, el cuestionario se calificará pregunta a pregunta, y no todo junto al final)

CBM son las siglas en inglés, Certanly-Based Marking

Con eso, las preguntas sobre el grado de certeza se añadirán automáticamente a todas las preguntas del cuestionario.

Resultado de un cuestionario con PBC (cuestionario con 22 preguntas)

Como se puede ver en la captura, tras realizar el cuestionario, el valor de las preguntas varía en función al grado de certeza indicado. Por tanto, las calificaciones oscilarán entre -600 y 300, en lugar de entre 0 y 100 que sería lo habitual.

Atención a la configuración de Moodle

La modificación en la escala de calificación que provoca la PBC puede ocasionar problemas si el Moodle no está configurado adecuadamente, ya que que el calificador «trunca» una nota superior a 100 a 100. Así, a un alumno que obtenga un 150 en la prueba, se le asignará un 100 en el calificador, la misma nota que el que ha obtenido un 300 (como si hubiese sacado 10, en lugar de un 5, que es la nota que le correspondería).

Como te puedes imaginar, eso puede generar una gran cantidad de dieces en el examen. En realidad, cualquier alumno que responda un 33% de las preguntas del examen con certeza alta (y acierte) sacaría un 10 si dejase el resto del examen en blanco. Y con un poco más del 15% de las preguntas ya llegaría al 5.

Es más, debido a esta limitación, si un alumno marca siempre la opción de certeza baja, el comportamiento del examen será exactamente el mismo que si no hubiese PBC: si está correcta suma un punto, en otro caso no.

Con las notas negativas no hay problema, ya que el calificador las convierte en 0, por lo que no afectarían negativamente al promedio del curso. Bueno sí, pero no restando.

Para evitar que eso ocurra, ‘Calificaciones sin límites‘ debe estar activada en ‘ Administración del sitio -> Calificaciones -> Configuraciones generales ‘ para que las calificaciones no estén limitadas al 100%. Para ello, habría que contactar con el equipo de administración del sitio Moodle, exponerles la situación y solicitar la activación de esa casilla.

Y, ¿que pasa si, por el motivo que sea, se decide no activar esa casilla? En el siguiente apartado, propongo una solución «manual» al problema.

Por cierto, esto NO está activado en AULES.EDU, así que si utilizas esa plataforma, sigue leyendo.

Evitar la sobrecalificación de forma manual

Si la configuración general de el sitio Moodle no se puede modificar para acomodar las modificaciones en la escala de calificación de la PBC y, aún así, queremos utilizar esta modalidad de calificación sin provocar que el calificador puntúe con un 10 a todos los alumnos que hayan obtenido un 100 o más (poco más de un 3), habrá que consignar las calificaciones obtenidas de forma manual.

En primer lugar, lo que haremos será ocultar en el calificador de Moodle el cuestionario que se va a calificar con PBC. Para ello, crearemos una categoría oculta y trasladaremos el cuestionario a ella. Además, haremos que esa categoría no sea tenida en cuenta a la hora de calcular la calificación del curso. De ese modo, evitamos confundir al alumnado, que ya no verá esa nota truncada.

Para ello, vamos al Calificador > Configuración de calificaciones y creamos una categoría nueva, por ejemplo «Calificaciones ocultas».

El acceso a esta sección dependerá del tema y la versión de Moodle
El botón para añadir categoría está en la parte inferior
Dejamos rel resto de valores por defecto y le damos a Guardar Cambios

Ahora, trasladamos el cuestionario a esa categoría. Desde Configuración de calificaciones, buscamos el cuestionario y lo «movemos» a la nueva categoría.

Para mover el cuestionario a otra categoría, apretar en las flechitas

Ahora, el cuestionario estará dentro de la categoría «Calificaciones ocultas». Buscamos la categoría, le ponemos una ponderación de 0, para que no tenga en cuenta esas calificaciones en el cálculo de la calificación global y la ocultamos, dándole a Editar > Ocultar

El alumnado no verá la categoría en su libro de calificaciones

El siguiente paso es añadir un ítem de calificación manual en la categoría en la que se encontraba anteriormente el cuestionario. Para ello pulsamos el botón que hay bajo «Añadir catagoría». Yo voy a ponerle al ítem el mismo nombre que tenía el cuestionario, para hacer transparente el cambio:

Lo demás lo dejo por defecto
Ubico el ítem de calificación en el lugar que solia ocupar el cuestionario, para no levantar sospechas.

Volvemos al informe del calificador, donde aparece el nuevo ítem en su sitio. Le damos al icono del lápiz para editar las calificaciones manualmente.

Seleccionamos el icono del lápiz

Ahora se trata de poner la calificación realmente obtenida por el alumno en cada caso. Para ello, tenemos que que hacer la regla de 3, para ver cual es el valor sobre 100 de la calificación obtenida por el alumno sobre 300 con PBC. Por ejemplo, si el alumno tiene un 135 en cuestionario, lo multiplicamos por 100 y dividimos el resultado por 300. En realidad, tiene un 45, que es la nota que pondremos manualmente. Así con todos (una hoja de cálculo puede ser de gran ayuda para hacer esto).

Ponemos la nota real calculada «a mano»

Con eso, el alumnado verá en su libro de calificaciones la nota real y, lo que también es importante, esta es la calificación que se agregará con las demás para obtener la calificación global del trimestre o curso.

Vista del alumnado del libro de calificaciones modificado

Pero, atención, si el alumno entra al cuestionario, allí seguirá viendo la nota obtenida en el intento (sobre 300). Para evitar confusiones, se recomienda poner una advertencia en el enunciado del cuestionario indicando que el cuestionario se evalúa sobre 300 puntos. Así, no se llevarán ninguna sorpresa al ver que la calificación difiere de la que hay en el calificador, que es lo mismo, pero sobre 100 puntos.

PBC en AULES.EDU

Para los usuarios de AULES.EDU, el entorno de aprendizaje de la Generalitat Valenciana, la opción de puntuación basada en la certeza está disponible, pero NO está activada la opción para su integración con la hoja de calificaciones, por lo que será necesario configurar manualmente el ítem de calificación, tal y como se explica en el apartado anterior.

Conclusiones

En definitiva, la PBC pretende aproximar una calificación más justa en las pruebas de respuesta objetiva, invitando a la reflexión y autoevaluación del resultado. No hay que dejar de lado las lecturas que puede hacer el alumnado del resultado de la prueba a partir de los resultados obtenidos para cada grado de certeza: quizá sabe más de lo que cree (o al contrario).

No olvidemos que hay ciertas competencias que son difíciles de evaluar con una prueba objetiva con preguntas de «tipo test», como pueden ser la creatividad, el análisis o la capacidad de síntesis. Además de eso, en este tipo de pruebas la calidad de las preguntas también es muy importante para hacer una buena lectura de evaluación y la PBC no resuelve ese problema.

Si bien es cierto que la falta de integración «por defecto» de este tipo de puntuación con el calificador de Moodle puede generar algún problema si n o tomamos las precauciones adecuadas.

En cualquier caso, si optamos por ella, la PBC supone una herramienta útil para estimular un pensamiento más cuidadoso y un mejor aprendizaje que la simple calificación de acertado/erróneo en las cuestionarios con preguntas de opción múltiple.

ApS: Diseñando planos de metro táctiles en la FP Básica

Ya he hablado con anterioridad en este blog del Aprendizaje Servicio a.k.a. Aprendizaje basado en la Comunidad, como un enfoque pedagógico que integra el currículum con la rlealización de servicios de utilidad para la sociedad.

Con este enfoque metodológico, los alumnos, no sólo reciben su formación académica (con la consiguiente evaluación de sus aprendizajes), sinó que se implican directamente en los procesos sociales de su entorno y trabajan para dar una solución a problemáticas del mundo real a través de los contenidos, procedimientos  y actitudes del currículum. 

Durante el presente curso académico he participado con un grupo de alumnos en el proyecto Erasmus+ PRINT3D aplicando este enfoque. Nuestro objetivo era aprender a usar una tecnología novedosa, como es la impresión 3D, diseñando e imprimiendo planos de metro táctiles que pudiesen ser útiles para los alumnos invidentes del centro que usan este medio de transporte.

Con esta entrada pretendo compartir la forma en la que he participado en el proyecto, de qué manera he aplicado la metodología aprendizaje servicio (ApS), qué dificultades he (hemos) encontrado por el camino y cuál ha sido el resultado. La finalidad es, por tanto, compartir mi experiencia con la idea de inspirar y/o animar a otros a utilizar la impresión 3D en el aula para involucrar a los alumnos en la mejora de su entorno.

¿Te interesa saber cómo puedes utilizar una impresora 3D para fomentar la inclusión? En ese caso, sigue leyendo.

El proyecto Erasmus+ PRINT3D

El proyecto Erasmus+ PRINT3D surge de una premisa bastante habitual: al principio de cada curso académico, los centros educativos suelen repartir una serie de documentación al nuevo alumnado. Documentación, generalmente en papel, que incluye horarios, normas, listados de libros, profesores y unos planos de centro. Toda esta información se traduce a braille para un alumno con discapacidad visual. Toda, excepto los planos.

PRINT3D

Logo del proyecto Erasmus+ PRINT3D

Hoy en día, existen muchas maneras de pasar texto a braille (o a audio), gracias a tecnologías ya bastante maduras como el OCR. Pero no existe ninguna tecnología que pase automáticamente un plano de un edificio a un formato táctil para que pueda ser interpretado por una persona  invidente. Eso hay que hacerlo manualmente.

Pero, ¿y si fuesen los mismos alumnos del centro los que elaborasen estos planos, utilizando la tecnología de impresión 3D? Para ello, los alumnos deberían aprender a utilizar software de diseño, a manipular una impresora 3D y, no menos importante, a entender de qué manera accede una persona invidente a la información. En definitiva, aprender a utilizar una tecnología usándola para el beneficio de sus compañeros.

Este último párrafo ejemplifica perfectamente el tipo de aprendizaje que puede articularse mediante el enfoque ApS.

Aquí es donde entra el proyecto Erasmus+ PRINT3D, pues su objetivo es, precisamente, combinar el uso de la impresión 3D en las aulas para el beneficio de la comunidad de personas con discapacidad visual a través de la metodología ApS.

Gráfico con tres áreas superpuestas con los textos 3D Printing in Schools, Service Learning y Visual Impairment. En la zona en la que coinciden los tres círculos pone PRINT3D

Los ejes fundamentales del proyecto Print3D

En el proyecto participan empresas y asociaciones relacionados con la impresión 3D y/o la inclusión de personas invidentes. Los participantes proceden de diversos países de la geografía europea como Islandia, Grecia, Letonia y España. También participan centros educativos de Grecia y España, cuya función es implementar el proyecto en las aulas.

Estos centros participantes representan varios niveles educativos, que van desde primaria hasta ciclos formativos. Por tanto, la implementación del proyecto varía en función del perfil del alumnado participante. Así, aunque el objetivo es el mismo, la metodología, contenidos y temporalización puede variar de una  a otra.

En esta entrada, os voy a hablar de la implementación de uno de los centros educativos españoles que son partners del proyecto .

Perfil del alumnado

La implementación del proyecto que se comenta en esta entrada se ha llevado a cabo con un grupo de alumnos de primer curso de Formación Profesional Básica de Informática y Comunicaciones. Para quien no esté familiarizado con la FP Básica, se trata de un programa orientado a los alumnos que no han acabado la educación secundaria obligatoria, con el objetivo de evitar el abandono escolar. Los programas de FP Básica combinan, en dos cursos académicos, asignaturas por ámbitos para trabajar los contenidos de la ESO y módulos técnicos vinculados a un perfil profesional. Los alumnos, además, realizan un módulo de formación en centros de trabajo en el que pasan un periodo de 2 meses realizando prácticas en una empresa. Al final de los estudios, los alumnos reciben un título de FP Básica (nivel 1 del Marco Europeo de las Cualificaciones), que es equivalente a todos los efectos con el de la ESO.

En el caso de la FP Básica de Informática y Comunicaciones, las prácticas en empresa se dividen en dos periodos de un mes al final de cada curso académico.

Respecto el perfil del alumnado, se trata de un grupo heterogéneo con edades comprendidas entre los 15 y 17 años, provenientes de diferentes centros educativos y a los que se les ha recomendado la vía de la FP Básica debido a las pocas perspectivas de obtener el título de ESO. En el grupo hay un total de 18 alumnos.

En ese sentido, las motivaciones de los alumnos en el grupo son muy diversas: cada alumno tiene un trasfondo personal, social y cultural completamente diferente, conformando un grupo muy heterogéneo, donde lo único que tienen en común es un pasado de fracaso escolar.

Por esta complejidad grupal, suele ser un verdadero reto para el docente encontrar maneras con las que motivar de forma efectiva a todo el grupo, con lo que la convivencia en el aula, en ocasiones, puede resultar complicada, tanto para los alumnos como para los profesores.

En cualquier caso, las características del grupo lo hacen especialmente interesante para plantear un proyecto basado en el enfoque ApS, pues hacerlos partícipes de un proceso de mejora de su entorno en el que ellos van a ser los protagonistas, puede suponer un catalizador motivacional, así como algo que mejore no solo el ambiente en el aula, sino su implicación y capacidad de esfuerzo.  Se podría decir que actuaría como un revulsivo hacia los contenidos del curriculum.

Objetivos

Volviendo al planteamiento del proyecto Erasmus+ PRINT3D, tenemos alumnos con discapacidad visual en el centro que no disponen de un plano táctil para conocer los espacios del instituto. Construir esos planos ha de ser un objetivo de la implementación del proyecto. Y, en efecto, lo es, pero van a ser los alumnos de 2º de FPB los que lo implementen, por tanto no voy a hablar aquí de eso.

Pero no todo se ha de quedar en los planos del centro. Si lo pensamos, el proyecto es extensible a cualquier instalación o servicio del entorno del instituto que los alumnos con discapacidad visual utilicen a diario. Y ahí es donde entran las líneas del metro: muchos alumnos utilizan este medio de transporte a diario para venir al instituto, incluidos los que tienen discapacidad visual.

El metro de la ciudad de Valencia tiene un total de 9 líneas, contando también las las líneas de tranvía. Es más, algunas de estas líneas hacen las funciones de un tren de cercanías, llegando a localidades ubicadas en otras comarcas. Actualmente no existe ninguna versión del plano de metro táctil que ayude a las personas invidentes a guiarse a través de este medio de transporte.

Plano con las 9 líneas dle metro de valencia, cada una de un color diferente.

Plano de líneas del metro de Valencia.

Parece que nos hemos topado con una barrera de inclusión que puede ser resuelta con unas cuantas horas de diseño y unas pocas más de impesión 3D. Y así es como construir planos táctiles de las líneas de metro de Valencia se convierte en el objetivo del proyecto ApS para el grupo de 1º de FP Básica de Informática y Comunicaciones.

Pasos previos

Antes de plantear el proyecto en el aula, fue necesaria la documentación sobre como elaborar planos táctiles adaptados para invidentes. Esto era necesario tanto para el proyecto de planos de centro como para los planos de metro.

Durante el curso anterior al de la implementación en el aula, en el que ya se estaba participando en el proyecto,  se había estado haciendo pruebas  con la impresora 3D que teníamos. La referencia principal para el diseño era un manual de requisitos técnicos para la confección de planos accesibles elaborado por la ONCE.

De esas pruebas salió un plano de la planta baja del instituto en el que se invirtieron un montón de horas, tanto en diseño como en impresión. Se trabajó directamente sobre Freecad. Y fueron necesarias largas horas de  impresión hasta que salió bien (principalmente por culpa del warping).

El plano, con un tamaño similar al de un folio A3, tenía que ser impreso troceado en 4 partes y en vertical para que cupiese en la base de impresión. El proceso de impresión duraba más de 30 horas.

Foto de un plano táctil de la planta baja del centro.

Detalle del texto en bajorelieve y en braille del plano de la primera planta del centro.

Uno de los principales retos en este punto era simplificar el proceso para poder trasladar la actividad al aula con una temporalización razonable, que permitiese conseguir los objetivos del proyecto ApS y trabajar el resto de contenidos de la etapa. La solución pasaba por usar la conversión de 2D a 3D, y una herramienta de diseño más sencilla, como Tinkercad, tal y como ya expliqué en esta otra entrada.

También en ese punto empezamos a estudiar cómo se podrían hacer las líneas de metro. Ante la experiencia con el plano del centro, se optó por intentar reducir el tiempo de impresión cambiando la base del diseño por un cartón pluma, imprimiendo sólo aquello que tenía que sobresalir. Así, si la impresión fallaba, no era tras 30h de impresión, sino tras 1 o 2 horas y, al no usar diseños tan sólidos la incidencia de warping era más baja. Así que decidimos sustituir la base por cartón pluma y, gracias a eso, en pocas horas, conseguimos tener un primer prototipo del plano.

Imagen de un cartón pluma con una línea y varias etiquetas en braille impresas en 3D pegadas a él.

Detalle del primer prototipo de linea de metro

Estos primeros prototipos fueron diseñados también (y sobre todo) teniendo en cuenta las opiniones y el feedback proporcionado de las entidades expertas en inclusión de personas invidentes participantes en el proyecto. Hay que tener en cuenta que entre los participantes en el proyecto en el centro, todos del Departamento de Informática, no existía nadie que tuviese experiencia previa en el diseño de materiales táctiles para personas con discapacidad visual. Tanto el Redzi mani letón, como el KEAT griego hicieron aportaciones muy interesantes a los diseños que, posteriormente se trasladaron al proyecto en el aula.

Llegados a este punto, ya teníamos clara la idea de lo que se iba a trabajar en el aula durante el curso siguiente. Ahora faltaba decidir cómo y con qué recursos.

Fue más o menos por esta época cuando nuestra impresora 3D dejó de funcionar.

Recursos

Aunque las impresoras 3D están cada vez más presentes en todos los ámbitos, lo cierto es que todavía se requiere un cierto conocimiento de su funcionamiento para poder utilizarlas y mantenerlas. También se requiere tiempo para documentarse en Internet sobre cómo solucionar los diferentes problemas que van apareciendo. Mucho tiempo.

Cuando nos involucramos en el proyecto Erasmus+ PRINT3D, ya teníamos en el centro una BQ Hephestos 2 que habíamos montado nosotros y con la que estuvimos imprimiendo todas las pruebas iniciales. Sin embargo, antes de empezar la implementación del proyecto en el aula, la impresora dejó de funcionar. Entre final del curso anterior a la implementación y principio del mismo curso estuvimos tratando de encontrar, sin éxito, el problema.

No era la primera vez que la impresora fallaba y ya habíamos resuelto otros fallos «poco evidentes», de los que no encuentras directamente la solución en un video de Youtube. Sin embargo, esta vez, no fuimos capaces de encontrar la causa del mal funcionamiento (el extrusor se va para arriba, como si el sensor inductivo siempre detectase algo). De hecho,  a día de hoy seguimos tratando de repararla.

Por esa razón, y debido al inicio de la implementación en el aula, en la que se tendría que imprimir y mucho, decidimos adquirir dos impresoras de las que ya vienen montadas (para no retrasar más el inicio de las impresiones): la BQ Witbox 2 y la Witbox Go!.

La Witbox Go es una impresora pequeña y portable, ideal para llevar la impresión al aula. Por su tamaño, era la solución ideal para imprimir etiquetas en braille o pequeños símbolos. La Witbox 2, por otro lado, es grande y pesada como un horno doméstico. Poco portable, aunque ideal para las impresiones de más envergadura.

Ideamos un pequeño carrito de impresión que nos permitía llevar las impresoras al aula. De ese modo, los alumnos podrían manipularlas y ver su funcionamiento.

Foto de una mesa con ruedas y sobre ella las dos impresoras.

El 3D-Mobile, capaz de llevar la magia de la impresión 3D a cualquier aula en la que se la necesite

En lo que respecta al software, había que decidir con qué programas los alumnos iban a realizar los diseños, ya que tenían que aprender a usarlos previamente. Como se ha comentado anteriormente, hasta la fecha habíamos trabajado con Freecad para hacer los diferentes diseños. Freecad es una herramienta libre, gratuita y muy completa para el diseño en 2D y 3D. Sin embargo, también es una herramienta compleja y que tiene una curva de aprendizaje poco pronunciada.

Por esa razón y debido a que los diseños que se tenían que realizar para el proyecto (planos y líneas de metro en 3D) eran bastante sencillos, optamos por usar una herramienta mucho más fácil como es Tinkercad. Tinkercad es una herramienta gratuita que, además, funciona directamente desde la web, por lo que no es necesario instalar ningún programa y se pueden acceder a los proyectos literalmente desde cualquier lugar.

Llegados a este punto, sólo necesitábamos un método efectivo y sencillo para pasar texto a braille. En un principio la gente de BQ , empresa fabricante de impresoras 3D que también participa en el proyecto, nos facilitó un script en python que hacía la conversión. Sin embargo, tras probarlo un poco descubrimos que algunas cosas, como los números de varias cifras, no estaban bien codificados. Afortunadamente, en una de las reuniones del proyecto, una de las compañeras del proyecto, profesora del 3rd Junior High school of Kifissia (Grecia) nos recomendó una web con un generador de etiquetas braille en 3D, que la gente del KEAT griego (el equivalente a la ONCE en Grecia, que también es partner del proyecto) también nos había mencionado. Así es como llegamos a Touchsee.me, que se convertiría en la última pieza que nos faltaba para poner en marcha nuestra implementación.

La implementación en el aula

Llegados a este punto, se había diseñado una unidad didáctica sobre impresión 3D. La unidad  partiría con la presentación de los conceptos relacionados con la impresión 3D para, finalmente, utilizar esos aprendizajes en el proyecto de las líneas de metro.

 

Para la implementación en el grupo de un proyecto de esta envergadura, se decidió dedicar 3 sesiones de clase a la semana durante un trimestre para trabajar esta unidad didáctica. Las sesiones semanales se impartían de forma seguida, de manera que daba tiempo a diseñar y hacer pruebas de impresión durante las mismas.

La unidad didáctica arrancó con el curso. Se dedicaron las primeras sesiones a presentar los conceptos de impresión 3D. Durante las primeras clases, se presentaron los componentes de una impresora, los materiales utilizados y el modo de funcionamiento.  Posteriormente, los alumnos crearon una cuenta de Tinkercad y se propusieron actividades individuales de complejidad creciente, en la que se iban incorporando las diferentes herramientas de la aplicación. De ese modo, los alumnos se familizarizaron con los recursos a utilizar.

Cabe destacar el uso de una de las funcionalidades de Tinkercad, que es la posibilidad de crear un grupo de moderación, a través del cual, el profesor puede acceder a los diseños de los alumnos.

Durante esta fase de la unidad, los alumnos hicieron actividades individuales en las que diseñaron una pieza personalizada para un juego de mesa, o el diseño de un soporte con su nombre para identificarse en el aula.

El interés de los alumnos hacia la herramienta era muy elevado, hasta el punto que un alumno  empezó el diseño de una ficha del popular conecta-4 para así acabar pronto… y terminó diseñando todas las fichas y el soporte. ¡Espectacular!

Posteriormente, se propusieron actividades de diseño en 2D, pues puede ser de gran utilidad para trasladar planos a 3D. En este caso, se utilizó la herramienta de diseño vectorial Libre Office Draw. Los alumnos aprendieron a realizar diseños 2D mediante el calco de logotipos comerciales conocidos, mediante trazo de líneas béizer o usando operaciones con formas geométricas. Luego, esos diseños eran importados a Tinkercad para darles volumen.

Captura de pantalla con el logotipo de Twitter en 3D

Algunos consiguieron resultados realmente sorprendentes con la combinación de formas geométricas en 2D. Este logo de Twitter está hecho sólo sumando y restando circunferencias.

Cabe mencionar, de nuevo, la enorme motivación de los alumnos ante las actividades creativas. Además, los mejores diseños de las actividades se imprimían para ir haciendo pruebas con las nuevas impresoras, lo cual le daba más aliciente al trabajo realizado en el aula.

Tras estas primeras actividades, los alumnos ya tenían las nociones suficientes sobre impresión y diseño 3D para resolver un problema real. Aquí es donde se les comentó una problemática que tenía una alumna del instituto para la que, quizá, ellos podían aportar una solución.

El proyecto ApS

Cuando planteé a los alumnos la posibilidad de realizar un proyecto de aplicación de la tecnología de impresión que habíamos visto en clase para crear versiones de los planos de líneas de metro táctiles, se quedaron perplejos. Una cosa era diseñar llaveros con logotipos conocidos y otra recodificar un plano para que pudiese ser leído de forma táctil. Estoy de acuerdo con ellos en que no es una tarea trivial (y las múltiples pruebas realizadas y comentadas anteriormente en este texto dan fe de ello), pero tampoco es imposible, como más de uno definió el proyecto cuando lo presenté.

Ellos entendían perfectamente la problemática de la alumna invidente que venía todos los días en metro al instituto, pese a que no había carteles adaptados para personas con discapacidad visual. Pero verse con la responsabilidad de utilizar los conocimientos adquiridos para hacer algo que cambiase esa situación era otra cosa.

Pero para eso estás en la FP, ¿no?

Así que nos pusimos a ello. Quizás, en este momento, yo era la persona más convencida respecto al proyecto. Por suerte, a medida que el trabajo realizado fue dando frutos, la gran mayoría de alumnos se sumaron a ese optimismo.

Dada la complejidad del proyecto, se dividió en varias fases que comento a continuación.

Fase 1: Investigación

En primer lugar, era necesario que los alumnos se familiarizasen con la discapacidad visual y  sobre cómo se elaboran recursos para invidentes, pues es lo que se iba  a hacer. En esta fase, se aprovechó la formación recibida por el KEAT, dedicando una sesión a hablar sobre la discapacidad visual y sobre las acciones necesarias para adaptar lugares y mapas a personas invidentes. Se mostraron ejemplos de planos táctiles y se hizo una reflexión en gran grupo sobre las barreras que una persona invidente encontraría en el aula. Finalizamos la sesión, haciendo una simulación de guiado de personas invidentes.

Los alumnos fueron bastante receptivos a la sesión, pues era una temática con la que no estaban familiarizados,ero sobre la que tenían curiosidad.

Fase 2: Preparación

Había llegado el momento de decidir de qué manera se puede convertir un plano de metro a táctil. A partir de la información que yo había recopilado previamente en reuniones en el KEAT y con la experiencia de las pruebas realizadas en la impresora 3D, dedicamos una sesión a definir los requisitos de los objetos que teníamos que diseñar.

Los alumnos iban proponiendo cosas que se anotaban en la pizarra y se iban discutiendo. No todos los alumnos participaron activamente en esta actividad pero, en general, fue bastante enriquecedora y en ella se definieron las que serían (casi sin modificaciones posteriores) las características de los diseños a realizar.

Era importante llegar a un consenso sobre los diseños, ya que todas las líneas debían de diseñarse siguiendo los mismos patrones para que fuesen consistentes entre ellas y, por tanto, fáciles de leer para una persona invidente.

Estas fueron las decisiones tomadas:

Diseño de paradas

  • Sería una línea recta de 30cm de largo, 0,3cm de ancho y 0,2cm de alto (en el caso de líneas largas, se podía ampliar a 40cm, en el caso de líneas muy cortas, reducir a 15cm).
  • Las paradas se representarían con formas de 0,6cm de radio y 0,4cm de alto.
  • Para diferenciar las paradas de las diferentes zonas tarifarias (Zonas A, B, C y D), se diseñarían unos símbolos que contendrán la letra correspondiente a la zona de la parada en braille. Este símbolo tendrá una forma que permita saber el sentido de la la lectura.
  • Se contaría el número de paradas de la línea y se distribuirían uniformemente a lo largo del trazado. Así,  si hay más paradas, estarán mas juntas y, si hay menos, más separadas.
  • Las paradas con transbordo(s), se diferenciarían haciendo un cilindro más grande (de 0,8cm de radio) y 0,3cm de alto

Diseño de la base:

  • La línea con las paradas iría sobre una base de 35 cm de largo (en caso de líneas largas o cortas, se adaptaría la longitud a éstas), 0,1cm de alto y 1,2cm de ancho. Esta base nos permitiría pegar el resultado de impresión sobre una superfície, por ejemplo de cartón pluma.

Nombres de las paradas:

  • Irían en braille, pegados a la derecha del símbolo de la parada.
  • En el caso de transbordo, a la izquierda de la parada se indicarían en braille las líneas a las que se puede cambiar.

Identificación de los transbordos:

  • Cada grupo crearía unas etiquetas en braille con el número de su línea (tantas como enlaces hubiesen a ella) para indicar los transbordos en los paneles de los otros grupos.

Además, era necesario tener un plano de líneas general, en el que, de forma táctil, se diferenciaran las diferentes paradas. Se decidió hacerlo usando líneas que calcasen el plano general de líneas y representando las paradas de cada línea con diferentes símbolos geométricos.

Al final de está sesión, los alumnos se pusieron a trabajar en el símbolo que representaría la parada. La idea era que se presentasen varias propuestas y, entre todos, se eligiese una que sería la utilizada en todos los diseños.

Captura de pantalla con el diseño del símbolo de parada

El diseño seleccionado era una especie de púa que apuntaba el sentido de la lectura.

Tras las sesión, se publicaron en el aula virtual las especificaciones de las líneas. También se subieron el diseño de las paradas y el logotipo de metro Valencia que un alumno había diseñado. Ya teníamos todo lo que necesitábamos para empezar a trabajar.

Fotografía con un ejemplo de impresión del logotipo de metro Valencia.

Primera impresión de prueba del logotipo de Metro Valencia

Fase 3: Acción

Para la realización de los 9 planos de línea de metro, se optó por hacer grupos de 2 alumnos, de manera que cada grupo trabajaría en una línea distinta (ideal, pues como se ha comentado, hay un total de 18 alumnos). Para la configuración de los grupos se trató de buscar afinidad entre los alumnos, tanto personal como a la hora de trabajar. Por tanto, no se dejó libertad a los alumnos para elegir a su compañero/a. Se asignaron los números de línea que haría cada grupo por sorteo, pues todos querían la línea más corta.

Cada grupo se debía encargar de diseñar la línea asignada de acuerdo a los requisitos consensuados  con el Tinkercad y de generar las etiquetas en braille con los nombres de todas las paradas con Touchsee.me. También diseñarían en Tinkercad un cartel con el nombre de su línea y logo de metro Valencia.

Una vez finalizados los diseños, tendrían que prepararlos para la impresión en la Witbox 2 con Cura (programa para preparar el gcode, el archivo de impresión que reconoce la impresora). Cuando era necesario trocear el diseño porque no cabía en la superfície de impresión, se hacía con la versión educativa de Netfabb, un programa que permite trocear diseños 3D. Cada línea se imprimiría en PLA del color de la línea en los planos de metroValencia (o el más parecido).

Fotografía de los alumnos trabajando en los ordenadores

Silencio: Diseño de planos táctiles en progreso

El trabajo de diseño concluyó en un par de sesiones, pero la impresión se alargó bastante más de lo que se había previsto. Y era un paso imprescindible para poder montar los planos.

Hay que tener en cuenta que las impresoras 3D no tienen una cola de impresión. Hay que preparar cada impresión individualmente: limpiar la base, cambiar el filamento al color adecuado, preparar la base para optimizar la adherencia (pulverizar laca) y poner la impresión a trabajar. También hay que tener en cuenta que las impresiones 3D suelen llevar su tiempo.

Fotografía de alumnos pulverizando laca sobre la base de impresión

Alumnos preparando una impresión o «Me encanta el olor a laca por las mañanas»

Si tenemos en cuenta que cada grupo tenía que hacer entre 3 y 4 diseños, a saber:

  • Uno para las línea (al trocearse cabía toda en una impresión)
  • Uno o dos para las etiquetas en braille de los nombres de paradas.
  • Una para la placa con el nombre de la línea
  • Una para los transbordos

Nos salían unas 45 impresiones. A un promedio de 4h por impresión nos dabam unas 180 horas: 8 días si la impresión fuera ininterrumpida, que como he expuesto antes, no lo es. Y eso si todo va bien a la primera que, desgraciadamente, tampoco suele ser el caso.

Pues bien, con esta situación, durante la sesión de clase, un grupo ponía un diseño a imprimir a primera hora y a final de la mañana estaba terminado. Los otros grupos me enviaba sus diseños y el resto de días de la semana, cuando la impresora estaba en el departamento de informática (¿os acordáis del 3D-mobile?), se iban poniendo a imprimir en los diferentes huecos que dejaba la jornada (aquí he de agradecer la inestimable colaboración de compañeros del departamento). Y así, hasta la siguiente sesión de clase, a la que se llevaban los resultados para analizarlos.

Fotografía de la impresión de un diseño de línea.

Una prueba de impresión de la línea 8: Nótese el leve levantamiento de la parte izquierda que hacía necesaria la repetición del proceso.

Como digo, esto retrasó bastante la implementación. Por si fuese poco, tuvimos varios parones debido a pequeñas averías. Durante el proceso, tuvimos que sustituir 2 sensores inductivos y un extrusor. Por tanto, hay que sumar a las operaciones anteriores el tiempo de localización de la avería, reparación o adquisición de la pieza de repuesto para su sustitución y puesta en marcha. La parte positiva de estas contingencias es que los alumnos colaboraron en algunas de estas reparaciones, aprendiendo a sustituir piezas de una impresora.

Fotografía de un alumno manipulando el extrusor de la impresora mientras los demás miran

Un alumno sustituye un sensor inductivo defectusoso (no se encendía el led que permite calibrarlo). Los demás hacen cola para imprimir.

De esta manera, poco a poco, se fueron completando todas las impresiones.  Los alumnos en las sesiones de clase iban preparando las impresiones, recortándolas y lijándolas, para el siguiente paso (el pegado en el cartón pluma), o retocando algún diseño para volverlo a imprimir.

Fotografía de un alumno lijando una impresión

Un alumno recorta y lija etiquetas en braille de la línea 3.

Una de las cosas que detectamos en esta etapa fue que la impresión del braille queda mucho mejor si se imprime en vertical que si se hace en horizontal. Ambos se pueden leer, pero el tacto del impreso en vertical es mucho más suave y, por tanto, más agradable para la lectura.

Fotografía en la que se ven etiquetas en braille impresas en horizontal y en vertical

Braille: impresión horizontal (línea 3) vs vertical (línea 8)

Evidentemente, también se generaban tiempos muertos cuando algunos grupos estaban pendientes de alguna impresión. En esos casos, los alumnos podían trabajar en la pieza que faltaba: el plano general de líneas.

En varias ocasiones, desde el KEAT nos habían comentado la importancia de tener un plano general táctil que ayudase a contextualizar los planos individuales. Un plano que permitiese hacerse una idea generar del mapa del metro de Valencia.

Este diseño era mucho más ambicioso, pues requería un diseño mucho más complejo. Se optó por usar la técnica de conversión de 2D a 3D que ya se había empleado con anterioridad. La idea era calcar el plano de metro con una herramienta de diseño 2D (en nuestro caso el LibreOffice Draw) y luego extruir el resultado con el Tinkercad.

Pero no era tan fácil, porque cada línea debía de tener una textura diferente para que pudiese ser seguida de forma táctil sin confundirse con las otras. El tema de las texturas era más delicado y, francamente, no encontramos una manera sencilla de hacerlo en Tinkercad. Por ello decidimos utilizar diferentes símbolos geométricos para marcar el trazado de las paradas y guiar de esa manera al tacto. Estos símbolos se añadían al calco en 2D, para luego extruir el resultado conjunto.

Así, cada alumno tenía la asignación individual de ir realizando ese trabajo: calcar el plano general, poniendo diferentes símbolos geométricos donde van las paradas. De todos los trabajos entregados, uno sería el que se convertiría a 3D y se imprimiría como el plano general. Ese era el trabajo que podían adelantar en los tiempos muertos ya que, al ser un diseño de bastante envergadura, era mejor ir haciéndolo poco a poco.

Fotografía de alumnos trabajando con el LibreOffice Draw calcando el plano general.

Un alumno preparándose para calcar en LibreOffice Draw el plano general

En un principio se pensó en hacer las impresiones  de las líneas utilizando varios colores para favorecer el contraste: la base iria en el color de la línea en el plano de metro Valencia, el trazado sería de color negro y las paradas, de nuevo, en el color de la línea. Para hacer eso, hay que ir parando la impresión y cambiando el filamento a medida que se imprimen las capas. Sin embargo, cuando empezamos a imprimir, descartamos ese procedimiento, ya que implicaba alargar mucho el proceso de impresión de cada pieza. Como solución alternativa, se optó por conseguir el mismo efecto de una forma mucho más rápida: utilizando un rotulador permanente opaco, de los que se utilizan para escribir en vidrio. Nosotros utilizamos los rotuladores Edding 751.

Así, tras pegar las piezas impresas en el cartón pluma, se repasaban con rotulador las partes que se querían resaltar en otro color, de forma que sólo se tenía que dedicar un poco más de tiempo al final del proceso, sin alterar el tiempo de impresión ni retrasar más la cola de trabajos.

Fotografía de un alumno repasando una línea impresa en 3D con un rotulador

Impresión 3D multicolor de batalla

Como era de esperar, algunos grupos terminaron antes sus planos (no es lo mismo hacer una línea con 4 paradas que una de 40) y pronto celebramos la finalización de la línea 8, la línea más corta de metro Valencia.

Fotografía de la línea de metro táctil finalizada.

La primera línea finalizada: de lo «imposible» a lo tangible.

Llegados a este punto, con los primeros prototipos operativos, había llegado el momento de validar los criterios adoptados para el diseño. Por eso, recurrimos a Isabel y a Pablo, dos personas invidentes, que accedieron a venir un dia a clase a probar los diseños finalizados y darnos su opinión.

La sesión con Isabel y Pablo fue muy enriquecedora a muchos niveles. En primer lugar, porque los alumnos vieron como dos personas ciegas, que eran los destinatarios del proyecto en el que habían estado implicados ya durante varios meses, probaban el resultado de su trabajo. Y además, lo daban por bueno. Por otro lado, por las recomendaciones y comentarios que hicieron: no es lo mismo explicar lo que vas a hacer a alguien que entienda sobre la elaboración de mapas adaptados para invidentes (como habíamos estado haciendo hasta ese momento con el KEAT griego) que, directamente, darle un prototipo a un usuario potencial y que lo pruebe.

Fotografía de Isabel y Pablo probando los planos en el aula.

Isabel y Pablo, planificando su viaje en la línea 8.

Pero además de eso, la visita de Isabel y Pablo sirvió para resolver un problema con el que nos habíamos encontrado en las últimas sesiones: ordenar las etiquetas de las paradas.

Las etiquetas en braille, en el ordenador, se identificaban por el nombre del archivo.  Pero luego, se ponían todas juntas en el Cura y, aunque se pedía que anotasen en un papel la posición en que las habían puesto para imprimirlas todas juntas para luego poder identificarlas una vez impresas, el tiempo pasado entre el diseño y la recepción del objeto impreso, al parecer, era directamente proporcional a la probabilidad de que ese papel se hubiese perdido (los que hayáis dado clase en FP Básica, sabréis de qué os estoy hablando). El caso es que la mayoría de grupos estaban comparando una por una las etiquetas impresas con todos los archivos de etiquetas para ver cuál era cuál. ¿He comentado ya que hay líneas con 40 paradas? Una locura.

Captura de pantalla del Cura con algunas etiquetas en braille para imprimir.

Preparando varias etiquetas en braille en el Cura para imprimir. Pero, ¿Cuál es cuál?

Por suerte, Isabel y Pablo tuvieron tiempo el día de su visita para explicarnos cómo se lee el braille y, tras eso, bastó con imprimir una chuleta con el código braille para identificar rápidamente todas las paradas simplemente leyendo las tres primeras letras.

Como decía, también nos hicieron algunas sugerencias para mejorar los diseños, para hacerlos más legibles. Una de ellas era cambiar la forma en la que se indicaban las paradas con transbordo: originalmente lo hacíamos poniendo un cilindro de menor altura alrededor del símbolo de la parada. Ellos nos sugirieron un diseño que fuese más fácil de identificar de forma táctil, por ejemplo, un cilindro que tiene un hueco con la forma del símbolo de la parada.

Fotografía con una línea impresa.

El diseño original de las paradas con transbordo.

Así que modificamos todos las líneas que aún no estaban impresas para adoptar este cambio.

Fotografía con otra línea impresa.

El diseño de una parada con transbordo tras adoptar el cambio.

Otra de las cosas que nos transmitieron fue la importancia de respetar las distancias entre etiquetas braille para facilitar la lectura y que tratásemos de evitar los cambios de relieve muy bruscos: con 1 mm de diferencia es más que suficiente para una persona invidente para detectar un cambio de forma táctil. Más que eso, por norma general, entorpece la lectura.

Y así, tras la inyección de moral provocada por su visita, nos pusimos manos a la obra para terminar el resto de líneas. Durante esas sesiones, el aula se convirtió en un taller de elaboración de planos accesibles.

El pase de diapositivas requiere JavaScript.

 

Y finalmente, conseguimos terminar todas las líneas. Había costado, pero valía la pena: al fín y al cabo, habíamos creado la primera versión táctil de los planos del metro de Valencia.

Fotografía con casi todos los planos de metro táctiles elaborados.

Es difícil cuantificar la cantidad de esfuerzo, trabajo y paciencia que hay tras esta fotografía.

En paralelo, se había estado trabajando en el diseño del plano general a partir de la combinación de varios de los diseños realizados por los alumnos. En este caso, además de las diferentes líneas con las diferentes texturas, se habían añadido las diferentes formas tarifarias de forma escalonada, utilizando distancias mínimas entre escalones, tal y como nos habían comentado Isabel y Pablo.

Fotografía del plano general táctil elaborado junto al plano en papel.

El plano general del metro: antes y después.

Fase 4: Reflexión

Una vez terminados los planos, llegaba el momento de reflexionar sobre lo que se había aprendido y lo que se había conseguido. Sobre lo segundo, los objetivos marcados al principio del proyecto se habían conseguido, pues se habían construido todos los planos. Sin embargo, faltaba por ver si esos planos eran de utilidad para una persona invidente.

¿Y quien mejor para comprobarlo que la alumna que lo había inspirado todo?

Bea, que así se llama, estaba al corriente de la realización del proyecto porque ya le había hablado de él en varias ocasiones. De hecho, ella se había ofrecido a probarlo una vez estuviese finalizado. Y había llegado ese momento.

Así, montamos todos los planos de metro en el aula y nos preparamos para recibir a Bea. Cuando vino, le explicamos el funcionamiento de los planos de metro y ella hizo el resto: primero estuvo comprobando la ruta que seguía ella y que sabía de memoria. Posteriormente, le propusimos una ruta diferente para la que era necesario realizar un transbordo y pudo trazarla sin problema.

Fotografía de Bea leyendo un plano táctil

Bea recorriendo de forma táctil la línea

La visita de Bea fue muy positiva para el grupo en muchos sentidos, sobretodo en lo que respecta al hecho de que una compañera, otra alumna del centro, validara el funcionamiento y la utilidad del trabajo realizado. Quizás, hasta ese momento, no habían entendido la verdadera magnitud y alcance del proyecto realizado: no se trataba de un medio para obtener una calificación, sino de promover un cambio.

Después de eso, resultaba interesante saber la opinión de los alumnos sobre el trabajo realizado y se les pidió que, de forma individual, respondieran una serie de preguntas a modo de reflexión. Eran preguntas generales y abiertas, que se centraban en dos aspectos: su sensibilización hacia las personas con discapacidad visual y lo que han aprendido sobre impresión 3D tras la realización del proyecto.

Las respuestas, todas ellas muy escuetas, mostraban que a los alumnos les había motivado mucho la actividad, aunque se quejaban de la dificultades encontradas, especialmente en la fase del montaje final (las manualidades). También opinaban, mayoritariamente, que a la impresión 3D todavía le faltaba algo de madurez (curiosamente, ninguno se pronunciaba directamente sobre si consideraba que había aprendido o no a manejarse con una impresora 3D). Sobre la sensibilización hacia las personas ciegas, la mayoría de los comentarios se centraban en subrayar lo mucho que les había llamado la atención la gran cantidad de recursos con los que contaban los miembros de este colectivo, tanto físicos (gadgets) como personales.

Fase 5: Exposición

La difusión del proyecto era fundamental desde el principio y lo sigue siendo una vez acabado. Por un lado, para mantener la motivación en el alumnado y fomentar un estado de realización, de que se está trabajando en algo significativo. Por otro lado, para compartir la experiencia con otras personas, para inspirar a otros centros educativos que también tienen una impresora 3D y no saben qué hacer con ella, para animar a otros grupos de alumnos a aprender ayudando a adaptar su entorno para las personas con discapacidad visual (y esta entrada también es una buena mestra de ello).

Por esa razón, desde el primer momento, se fueron publicando en redes sociales los avances (y a veces, también los obstáculos encontrados). Estas publicaciones se difundían a través de los partners internacionales del proyecto, consiguiendo así una repercusión internacional. Por ello, las publicaciones se hacían en inglés, situación que se aprovechó para coordinar las horas de impresión 3D con la clase de inglés: al final de la sesión, dedicábamos 20 minutos a redactar los tweets sobre lo que se había hecho esa semana que, posteriormente, eran corregidos en la clase de inglés.

También se hicieron campañas para promocionar la iniciativa dentro del centro educativo: se montó un estand en la entrada con pruebas de impresión y carteles explicativos del proyecto. Además, nos coordinamos con los alumnos de Audio y vídeo de Bachillerato, que  nos hicieron un vídeo promocional sobre el proyecto que se difundió en redes sociales y que en la actualidad se reproduce, junto a otras piezas audiovisuales, en la TV que hay en el hall del instituto.

Además de todo esto, el suplement educativo Aula del diario Levante-EMV dedicó un extenso artículo a la implementación del proyecto Erasmus+ PRINT3D en los centros valencianos, en los que se mencionaba el trabajo realizado y se mostraban imágenes de los objetos creados por los alumnos.

Otra cosa que se hizo, una vez se hubieron finalizado  los planos, fue presentarlos a los responsables de la ONCE y de Ferrocarrils de la Generalitat Valenciana. Ambos se mostraron interesados en el proyecto y aportaron sus comentarios y sugerencias a los diseños.

Pero la exposición definitiva está por llegar, pues los trabajos se expondrán en la Conselleria de Educación en el marco de la jornada final del proyecto Erasmus+ PRINT3D, donde docentes, expertos en accesibilidad e impresión 3D podrán verlos y, sobretodo, tocarlos.

Reflexiones y mejoras

En este apartado, voy a hacer unas reflexiones personales sobre el proyecto y de proponer algunos aspectos de mejora de cara a futuras implementaciones.

La primera reflexión es que aún hay mucho trabajo por hacer para tener unos planos perfectos y accesibles para todo el mundo. Está claro que la manera en la que se ha realizado el proyecto ha requerido tomar muchas decisiones sobre la marcha, que no siempre han sido acertadas. Los diferentes validadores que ha tenido el proyecto en su desarrollo nos han proporcionado un feedback que, sin duda, haría replantear muchos aspectos en el diseño, impresión y montaje de los planos de metro si se volviesen a hacer desde cero. Aspectos como minimizar los relieves,utilizar diseños más sencillos para las paradas y transbordos, utilizar texto en mayúsculas en altorelieve y, en general, aplicar  las sugerencias aportadas por los expertos.

Otro aspecto que quizá habría que replantear es del del diseño separado de los componentes de las líneas: aunque se reduce el tiempo perdido en caso de fallo, es preferible un diseño que se imprima todo de un tirón, aunque tarde mucho más. Así, además, es más fácil para explotarla y distribuirla: si hay que hacer 10 copias, se ponen a imprimir y ya está (hasta se pueden enviar por correo), mientras que si es por piezas, es necesario montar una a una tras imprimir (y saber cómo hacerlo).

Lo mismo ocurre si se modifica una línea de metro, si está todo en un diseño, basta con actualizar ese diseño e imprimir y no es necesario hacer todo el montaje otra vez (recordemos que es algo de lo que más se han quejado los alumnos).

Se han comentado los retrasos ocasionados por los fallos en las impresoras. Teniendo en cuenta el uso exhaustivo que se ha hecho de ellas, es normal que fallen en algún momento y hoy por hoy, trabajar con impresión 3D no sólo se trata de diseñar, también hay que entender y saber reparar los problemas. No obstante, hay que contar con ello a la hora de programar para el aula y llevar siempre un plan B para el caso que los alumnos acaben de diseñar y o bien la impresora no funcione o esté colapsada.

Hay que tomarse las impresiones fallidas con filosofía.

Aunque la motivación del alumnado ha sido uno de los puntos fuertes del proyecto, no todos los alumnos se han implicado de igual manera. Mientras que una gran mayoría se ha esforzado por sacar adelante su parte del proyecto e, incluso, ha ayudado a otros grupos a avanzar, también ha habido algunos alumnos que han ido a mínimos. Esto ha descompensado algunos grupos, donde uno de los dos trabajaba y el otro no, provocando que algunos alumnos hayan completado prácticamente solos sus líneas de metro (con una mayor satisfacción final y  frustración adicional en el proceso). En este caso, ha sido fundamental la configuración de los grupos para garantizar la finalización de todos los planos.

Afortunadamente, esto no se ha producido de forma general y, a lo largo del proyecto se han producido muchos «momentos mágicos»: esos momentos en el que el profesor se pone al final de la clase y observa a todos, TODOS, los alumnos trabajando en silencio en sus respectivos proyectos. Esto en un grupo de FP Básica no suele ser muy habitual.

También ha sido algo problemático el elevado absentismo de determinados alumnos. Se trata de alumnos que llegaban a la clase 1 o 2 horas tarde, o faltaban algún día a toda la clase. Esto afectaba al rendimiento del grupo, a los que siempre le faltaba una parte del proyecto (la que estaba haciendo el compañero que no estaba). Utilizar un espacio compartido para almacenar los datos del grupo hubiera ayudado. Tomo nota.

Sin embargo, esto si se ha tenido en cuenta en la evaluación y, aunque el trabajo se hacía en grupo, la evaluación se hacía de forma individualizada, de acuerdo al trabajo realizado en cada sesión, siguiendo una rúbrica que media aspectos como el trabajo individual, el trabajo en equipo, la atención y el respeto por los demás.

Una de las cosa que considero que ha faltado es una mayor supervisión sobre los diseños de los alumnos, pues, tal y como nos indicó Bea, algunos nombres de paradas han llegado al plano con erratas o incorrecciones. Sin duda, es fruto de las prisas al repetir muchas veces el proceso de crear las etiquetas braille, cosa que han tenido que hacer varios grupos (porque el compañero que lo había hecho no estaba, se habían perdido los archivos, o se habían escrito en una codificación braille incorrecta). Son muchos archivos a supervisar, y aunque cada grupo debería responsabilizarse de hacer esa revisión, en ocasiones no se hacía. Quizá ha faltado una actividad de evaluación entre pares en la que los otros grupos validasen el trabajo de los demás. Pero habría que ver como se plantea para que el grupo supervisor, a su vez no sea también víctima de las prisas por acabar.

Con todo, la valoración global del proyecto ha sido muy positiva. Los alumnos, a pesar de las dificultades encontradas, han podido sacar adelante los proyectos asignados. Esto es de vital importancia, especialmente teniendo en cuenta el perfil de los alumnos, cuya baja autoestima y experiencia previa con el fracaso académico provoca un rechazo total a realizar esfuerzos. Sin embargo, en este caso, cumplir el objetivo del proyecto implicaba para ellos hacer de forma directa una aportación real (y tangible) a la sociedad, sentirse útiles, y eso, sin duda, es el mejor combustible para la autoestima.

Conclusiones

Con todo, considero que el proyecto ha sido un éxito. Los alumnos han aprendido las particularidades de la impresión 3D de la mejor manera que se puede hacer: diseñando e imprimiendo. Si as eso le sumamos que el objetivo no era aprobar una práctica, sino crear algo que tiene que estar bien hecho para que sea útil, se produce un cambio en el paradigma motivacional que maximiza el esfuerzo y el trabajo.

Además, para ello han tenido que empatizar con un colectivo con unas características determinadas, para ser capaces de adaptar sus diseños a las necesidades específicas. En ese sentido, el proyecto ha sido clave, tanto en la sensibilización del alumnado participante, como en la creación de dinámicas de inclusión para el alumnado beneficiario que, en cierta manera, también ha participado.

Pero sobre todo, y como ya se ha comentado anteriormente, creo que el proyecto ha sido muy positivo para el perfil de alumnado de la FP Básica. Gracias al proyecto, los alumnos han reforzado su autoestima. No hay nada como ayudar a los demás para sentirse útil. Pero también han madurado en su relación con su carrera académica, empezando a entrever el papel que pueden jugar como adultos en la sociedad, descubriendo lo que significa utilizar destrezas profesionales para marcar la diferencia. Les ha ayudado a acercarse al profesional que un día serán.

Sin duda, la participación en un proyecto ApS, en este caso enmarcado en el proyecto Erasmus+ PRINT3D, ha propiciado el que ha de ser el ideal de todo proceso de enseñanza-aprendizaje: que profesor y alumnos compartan objetivos, y avancen juntos en el proceso de alcanzarlos. En definitiva, el proyecto ha ubicado al proceso formativo en el contexto necesario para darle un significado. Le ha proporcionado una razón, un sentido.

Para concluir,  os dejo con un resumen de los puntos fuertes y retos principales de la experiencia:

Puntos fuertes

  • Gran motivación de los alumnos ante el uso de nuevas tecnologías.
  • Mejora de la autoestima al ofrecer un servicio a la sociedad.
  • Sensibilización del alumnado hacia un colectivo en riesgo de exclusión.
  • Participación activa en procesos de inclusión educativa.
  • No requiere grandes conocimientos técnicos y puede ser implementado por alumnos de ESO o FP Básica.
  • Se pueden establecer colaboraciones con  otras asignaturas y/o otros grupos.

Retos

  • Retrasos  debidos a la cola de impresión (las cosas no salen siempre a la primera)
  • La impresora puede dejar de funcionar y hay que invertir tiempo en repararla (y en el peor de los casos, puede ser necesario llevarla al servicio técnico, con lo que te quedas sin impresora por unas semanas)
  • Implementar mecanismos de supervisión efectivos para garantizar la calidad de los resultados
  • Necesidad de mecanismos de dinámica de grupo y organización complejos, debido al absetinsmo y las disrupciones en el aula, ya que no todos los alumnos están igual de motivados.