Category Archives: Carrera Maker

microsoft-augmented-reality1-1050x580

Una Introducción a la tecnología de Realidad Aumentada (AR)

9 Mar , 2017,
Luis Diego Jimenez Sanchez
, ,
No Comments

El 6 de Julio del 2016 salió Pokemon GO, uno de los actuales juegos pioneros en el mundo de la realidad aumentada y un despertar al mundo del interés sobre AR.  Quizás hayan escuchado sobre realidad virtual y realidad aumentada, así que, que las diferencia?  Realidad virtual, o conocido por sus siglas en inglés como VR, es la aplicación de un entorno o ambiente digital o virtual, que detecta diferentes caracteristicas de tiempo real del usuario y reacciona de manera que este siente que es real.  Realidad aumentada, es la ampliación de imágenes reales mediante el uso de algún dispositivo, de manera que agrega imágenes virtuales a lo que el usuario está observando.

Para empezar la investigación y aprendizaje de la realidad aumentada, un área totalmente desconocida para mí, el plan era iniciar con los Google Glass debido a su fama como empresa, esto antes de darme cuenta que el proyecto había sido descontinuado desde el 2015.  A partir de aquí, lo único que quedaba era iniciar búsqueda de  los productos que hay en el mercado.  Son 5 los que más me llamaron la atención, esto según los siguientes parámetros; precio, quien los produce y a que mercado se dirige el producto y como empezar a usarlos.   Después de investigar en internet por dispositivos de la naturaleza de AR, construí una lista de los dispositivos que mejor se acomodan a mi necesidad de entender el funcionamiento y alcance de estos.  Los dispositivos son los siguientes:

VUZIX M3000 Smart Glasses:

               Producido por la empresa VUZIX, la cual se dedica a la fabricación de lentes de VR y AR, los lentes M3000 tienen fecha de lanzamiento este verano de 2017, con precio que ronda los 900$.  Este producto tiene las capacidades de un teléfono inteligente con capacidad de conectarse a redes WIFI, basada en Android y se puede considerar una mini computadora.  Los M3000 se pueden personalizar, son más dirigidas a empresas de manera que se usen para entrenamientos, registros de procedimiento y data, y otros aspectos de la industria.  A continuación un link con demo de estos Smart glasses, https://www.youtube.com/watch?v=y6SGlOLVpg8.

VUZIX M3000

Imagen 1. VIZUX M3000 Smart Glasses

Microsoft HoloLens:

               El kit de desarrollo de HoloLens se puede encontrar por unos $3000 en la página,  https://www.microsoft.com/microsoft-hololens/en-us/buy.  Producido por los gigantes en la industria, Microsoft, tiene versiones comerciales desarrolladas para casos específicas.  Un ejemplo es para Case Western Reserve University tiene un programa de Anatomía Humana con el uso de hologramas.  Otras empresas que utilizan HoloLens para mejorar aspectos en su performance son Lowes, Volkswagen y Airbus.  Para el interés de desarrollar, el kit viene con su SDK respectivo, hay versión de SDK en Unity Engine donde se pueden crear objetos, escenas y usar comandos para reconocimientos de gestos.

hololens

Imagen 2. Microsoft HoloLens

Sony SmartEye Glass:

               Sony SmartEye Glass, no se puede comprar directamente en Costa Rica ni America Central, sino que es por pedido especial en Estados Unidos y algunos otros países en Europa.  El precio en la siguiente página es de $900.  Al igual que los otros lentes de realidad aumentada, estos también son Developer Kits por lo cual se permite al usuario darle el uso según las capacidades de lo que podas desarrollar.  Sony es la empresa que las produce y una diferencia de las demás es que esta trae un control cableado a los lentes, es pequeño por lo cual no produce incomodidad en el usuario.

sony smarteye glass

Imagen 3. Sony SmartEye Glass

Lenovo Phab Pro 2:

               Este teléfono, Lenovo Phab Pro 2 vale alrededor de $499.99 si se compra directamente de la página de Lenovo.  A mi opinión, no es un kit de desarrollo ni nada por el estilo.  Está destinado más hacia el uso de apps que incluyan AR, juegos por ejemplo ya se encuentran en el mercado.  La aplicación más interesante que encontré es roOomy Reality, esta permite mostrarle al usuario como se vería una nueva pieza de mueblería en algún determinado cuarto de su hogar.  Parece arropar la idea de la realidad aumentada al facilitar una tarea de la vida real mediante el uso de imágenes digitales.

lenovo phab pro 2

Imagen 4. Lenovo Phab Pro 2 celular

Intel RealSense:

              Aunque Real Sense no es una tecnología directamente relacionada con realidad aumentada en lo referente a proyeccion de elementos visuales a la vista del usuario, si permiten un acercamiento a esta mediante la comprensión experimental de las librerías y tecnologías adyacentes tales como captura, análisis y manipulación de imágenes y video.  Real Sense es un producto de un concepto tecnológico denominado “Perceptual Computing” que tiene que ver como los dispositivos computacionales pueden percibir mensajes del usuario diferentes al teclado/mouse tales como los gestos que vas a experimentar. Augmented Reality tiene que ver más con anteponer contenido a las imágenes que se le presentan al usuario; sin embargo en efecto las tecnologías y conceptos se traslapan.

La tecnología Intel RealSense, ofrece varios dispositivos y kits de desarollo, en precios que van desde los $99 para una cámara R200 hasta los $349 para un kit de desarrollo con cámara R200 y sistema computacional UP Board.

real sense

Imagen 5. Intel RealSense camera F200

Las cámaras, cuentan con la capacidad para hacer escaneos en 3D, reconocimiento facial y puede generar imágenes basándose en distancias de cuerpos u objetos de las cámaras.  Los SDK, kits de desarrollo de software, de Intel, en mi opinión es la mejor opción para empezar a trabajar con realidad aumentada y en siguiente mis razones:

  • Precio: es el producto más accesible, siendo el de $349 el kit más costoso. A pesar de que no se pueden comparar estos productos directamente debido a que sus objetivos y alcances son muy distintos, si los puedo comparar al tratarse de un primer acercamiento a esta tecnología.
  • Aplicación del hardware:  Para efectos de aprendizaje, tales como los mios, en el cual es necesario entender el alcance de registrar data a partir de entradas por camara, me parece mejor opcion usar el RealSense debido a las librerias que trae como reconocimiento facial o de gestos.

Mi primer experimento será con Intel RealSense, probablemente algún carro o robot al que pueda darle direcciones con gestos de mis manos.

IMG_20170304_130620

Iniciemos con SimpleCV en 5 minutos en Linux MINT 18 (Ubuntu 16.04)

4 Mar , 2017,
Jose Nunez
, , , ,
No Comments

Como les mencioné en mi publicación anterior, estamos investigando un poco sobre Vision Computarizada, y en eso nos tropezamos con SimpleCV como una propuesta práctica para adentrarnos en este mundo.

Me tomó cerca de 30 minutos (quizas por culpa de mi propio déficit atencional) instalar SimpleCV, así que aquí va un resumen para echar a andar esto en 5 minutos:


PASO 1 – Instalar dependencias de Python Support

wget http://launchpadlibrarian.net/109052632/python-support_1.0.15_all.deb
sudo dpkg -i python-support_1.0.15_all.deb

(tomado de http://askubuntu.com/questions/766169/why-no-more-python-support-in-16-04)


PASO 2 – Descargar SimpleCV de SourceForge.net

  1. Página Principal en SourceForge: http://simplecv.sourceforge.net/
  2. Página oficial: http://simplecv.org/
  3. Paquete que yo descargué: Paquete SimpleCV-1.3.deb (versión 1.3-1)

PASO 3 – Instalación

  1. Puede usar el comando sudo dpkg -i ~/Downloads/SimpleCV-1.3.deb
  2. También puede instalarse mediante la interfaz gráfica, haciendo clic derecho sobre el archivo SimpleCV-1.3.deb ubicado en la carpeta de descargas (Downloads), selecciona “Open with GDebi package installer” y hacer clic en el botón “Install Package

PASO 4 – Algo antes del Hello World…

  1. En la terminal, ejecutar el comando simplecv. Esto abre una consola simplecv
  2. En la consola simplecv, ejecute los siguientes comandos uno por uno:
    cam = Camera() #Esto genera una instancia de la cámara principal en una variable llamada cam
    img = cam.getImage() #Esto captura una foto de la cámara accesible desde la variable img
    d = img.show() #Esto abre una ventana que muestra la foto de la variable img. La variable d se usa para maniuplar esa ventana.
    d.quit() #Esto cierra la ventana de visualización.
    

Listo… para más información hay tutoriales en la página oficial. También la consola simplecv tiene tutoriales que uno puede llevar digitando el comando tutorial dentro de la consola simplecv. En mi caso, los tutoriales fallaban en algunas tareas. Pero si me sirvieron para obtener una idea de por dónde empezar.

 

robot-willie

Robot de dos llantas + acelerómetro/giroscópio > Una experiencia de Aprendizaje

13 Ene , 2017,
Jean Paul Jimenez
, , , , , , , , , , ,
No Comments

robot-willieResumen

Les confieso que esta es mi primera publicación; por pura insistencia de mi editor estamos acá escribiendo. En esta primera entrada discutiremos mi experiencia en Intel en la investigación de cómo programar un robot de dos ruedas mediante diversos micro-c0ntroladores, incluyendo el S4A-EDU, Arduino UNO, Aruduino 101 y Sparkfun Thing.

Detalle

A principios de este año 2017. tuve la bendición de poder pasar unos días en Intel en una experiencia “ad-hoc” de aprendizaje de tecnología, investiación, desarrollo, auspiciada por el Centro de Innovación de Intel y por José Núñez.

En esta experiencia pudimos explorar las diferentes reacciones que que tenia el robot cuando instalábamos diferentes programas (en ARDUINO IDE) con  diferente controladores para realizar rutinas como por ejemplo: movilidad hacia adelante y atrás, movimientos con giros con duración específica y también pudimos ver funcionar el acelerometro y giroscópio del chip Intel Curie.

En el fondo nos concentramos en tratar de entender cómo hacer que se mueva el robot (descrito acá) en distintas direcciones y cómo hacer que este pueda tener un movimiento rectilineo preciso, controlado utilizando el giroscopipo disponible en el Intel Curie.

Experiencia con el Acelerómetro de Intel Curie

Comenzamos aprendiendo sobre las diferentes funciones del Intel Curie. Para esto realizamos diversos experimentos descritos en este artículo de Jose Nunez acá en CostaRicaMakers.com.

La verdad me resultó sencillo de utilizar y muy útil para aprender a hacer las lecturas de los diferentes sensores (acelerómetro y giroscópio) y la utilización de las funciones de Blue Tooth Low Energy (BLE)

Experiencia con el Robot de dos llantas y el controlador S4-EDU

La verdad es que comencé con esta experiencia con altas expectativas de lo que podría aprender y hacer. Al principio el primer problema que enfrenté fue aprender un poco de programación, creo que tengo un largo camino por recorrer en esta área.

El robot en sí permite realizar movimientos de manera muy versatil gracias a su sistema de dos llantas independientes sobre las que podemos controlar dirección individual y velocidad.

Como mencioné antes fuimos probando diversos controladores, comenzando por el original del kit del robot (el S4A-EDU) que cuenta con un circuito muy interesante denominado “Puente H” (H-Bridge) que nos permite controlar la dirección y velocidad de los motores.

Una vez que pudimos hacerlo moverse usando el controlador original (S4A-EDU) nos dimos a la tarea de reemplazar dicho controlador (parcialmente) con un ARDUINO101 que como dijimos tiene sensores de movimiento (acelerómetro y giroscopio). Para esto pudimos facilmente desconectar el puente H del S4A-EDU y conectarlo al ARDUINO 101.

Como dije antes, el principal reto que enfrentamos fue la programación. Realizamos diferentes tipos de programa usando el ambiente integrado de desarrollo (IDE) de ARDUINO.

Una vez controlado por el ARDUINO 101 para realizar los movimientos básicos, el siguiente reto era comenzar a utilizar el giroscopio para leer cuanto se desviaba hacia un lado u otro el robot al caminar en una misma dirección. Para poder extraer los datos (que son muchos) de las lecturas del giroscopio, tratamos inicialmente de subirlos por WiFi a un servidor en Internet. Pare este fin introducimos un controlador más: el SPARKFUN THING.

La programación del SPARKFUN THING es algo “truculenta” ya que requiere una interfase serial para conectar la laptop donde uno escribe el programa y subirla al micro-controlador. Intentamos con un cable tipo FTDI, pero no tuvimos suerte. En resumen no funcionó por que el cable que teníamos no cuenta con línea DTR… (eso me queda pendiente de entenderlo mejor). Al día siguiente conseguimos otra interfase denomiada “FOCA V1.2” la cual permite comunicación serial con diversas opciones, con y sin línea DTR, a diferentes voltajes (3V, 5V) etc.

Ahora bien, subir datos por via WiFi a un servidor en Internet, el tiempo minimo que toma son 3 o 4 segundos… y el giroscopio generaba datos cada 200ms o menos… o sea, no nos servía la opción del WiFi… fue entonces cuando decidimos cambiar la solución. En vez de guardar los datos en Internet nos avocamos a graficarlos en mi celular usando una conexion Bluetooth Low Energy (del ARUDINO 101). Para esto fue necesario instalar una app en mi celular denominada nRF Toolbox descrita en el artículo mencionado sobre ARDUINO 101.

En este punto logramos que el robot se moviera en una misma dirección durante dos segundos y graficar durante ese tiempo las lecturas del giroscópio cada 200ms.

Control de Velocidad

Aprendí que la velocidad del robot se puede controlar mediante un método que se llama PWM (Pulse Width Modulation) y la idea es utilizar ese principio para ajustar la velocidad de cada rueda para compensar micro-desviaciones del movimiento rectilineo que queriamos lograr. Desafortunadamente no nos dio tiempo de implementar esa parte correctiva.

Conceptos Relacionados

Quiero listar acá algiunos conceptos que me parece importante profundizar en el futuro para mi propio aprendizaje en el área de robótica, tecnología y mecatrónica:

  • Variables y Constantes
  • Funciones y Métodos
  • Pasos e Instrucciones
  • Condicionales
  • Vibración
  • Frecuencia
  • Ancho de Pulso
  • Voltaje
  • Corriente/Amperaje

Agradecimientos

Quiero agradecer a el Señor Jose Núñez por permitirme esta oportunidad de estar en Intel aprendiendo mediante estos experimentos. Sinceramente me ha servido de mucho, tanto para mis estudios como para mi futuro.

admin_expr

El último punto funcional reproducible

14 Mar , 2016,
José Núñez
, ,
No Comments

admin_exprMucho del quehacer maker está relacionado con procesos de experimentación, de aprendizaje y con la creación de nuevo conocimiento.

Durante este tipo de procesos de experimentación “ad-hoc” es fácil caer en una parálisis en la cual “giramos en círculo” con partes de experimentos que a veces son éxitosas y a veces no, sin que podamos comprender la causa de estos resultados divirgentes; especialmente cuando no tenemos una forma estructurada de administrar las incertidumbres y los aciertos resultantes de nuestros experimentos.

Recientemente vivimos esto durante nuestra experimentación para grabar sonido usando Intel Edison, donde a ratos teníamos pruebas exitosas y a ratos “las mismas pruebas” fallaban.

Este tipo de parálisis puede resultarnos costosas, no solo a nivel de tiempo y recursos, sino también en lo referente a la motivación del equipo, al verse desvanecer los éxitos del trabajo sin una razón aparente.

Es por esto que compartimos en este artículo algunas medidas que nos permiten asegurar el éxito progresivo alcanzado en diversos experimentos y avanzar con un paso más seguro, evitando parálisis de análisis.

  1. Planee sus experimentos de manera individual y documente el plan
  2. Documente los pasos a realizar en cada experimento. Mantenga una política de “Un cambio a la vez”
  3. Documente los resultados obtenidos y las desviaciones del plan realizadas durante cada experimento
  4. Una vez obtenido el éxito en cada etapa, verifique la repetibilidad del éxito en cada experimento.
  5. Haga una revisión retrospectiva del plan de experimentación luego de terminar cada experimento.
  6. Una vez alcanzado un nivel de éxito aceptable en diversos experimentos, documente y publique los pasos para alcanzar dicho éxito.
  7. Verifique la reptibilidad antes de publicar sus resultados; y lleve seguimiento de cada “punto funcional reproducible

¿Y qué significa el término “punto funcional reproducible” (PFR)?

Básicamente es el conjunto de pasos que hemos verificado que funciona para llevarnos a una conclusión.

Llevar seguimiento de cada PFR significa ponerle un nombre, una identificación que nos permita referirnos a cada PFR y que nuestros nuevos procedimientos se basen en el PFR más reciente, donde se concentra el conocimiento acumulado más reciente.

En el ejemplo, terminamos documentando los pasos de un proceso de grabación con Intel Edison que pudimos constatar como repetibles; de forma que nuestros siguientes experimentos puedan tomar este PFR como su punto de partida.

metodo_cientifico

La cultura Maker es también una cultura de Investigación

28 Feb , 2016,
José Núñez
No Comments

Cuametodo_cientificondo se trata de cultura Maker, la investigación es esencial.

Y no me refiero a la “investigación” esa de simplemente googlear algo que necesitamos aprender.

Me refiero a la adquisición de conocimiento y su respectiva mejora y creación de nuevo conocimiento; a muchas horas practicando, aprendiendo, documentando y publicando.

Algo que hemos estado aprendiendo sobre la marcha de diversos proyectos y colegas; como es el caso de nuestros colegas de UNED-LiiT (http://investiga.uned.ac.cr/)

Wikipedia: Investigación

Wikipedia: Ciclo de la Investigación Científica

Wikipedia: Protocolo de Investigación

 

IMG_20160226_120519

Los grandes científicos tienen grandes publicaciones… los grandes “makers” también

26 Feb , 2016,
José Núñez
No Comments

Los grandes científicos tienen grandes publicaciones… los grandes “makers” también.

Ejemplos:

  1. Blogs
  2. Facebook Updates
  3. Tutroriales
  4. Instructables
  5. Evaluaciones de Productos/Dispositivos
  6. Publicaciones Formales en Revistas Científicas
  7. Libros

¡Recuerdenlo!

terminal

La Carrera Maker

21 Feb , 2016,
José Núñez
, , ,
No Comments

laser3_1700x900Recientemente tenía esta convesación con uno de mis compañeros de CostaRicaMakers.com. El ilustre Gerardo Mora.

Hablábamos de la dualidad o diversidad de destrezas que se presentan en el área Maker; principalmente con personas que saben tanto de software como de hardware.

De esta conversación puedo enumerar algunas de las áreas de conocimiento y de destreza que es importante explorar:

  1. Programación y Desarrollo de Software.

  2. Sistemas Operativos


  3. Hardware y Electrónica

  4. Prototipado e Impresión 3D

  5. Física y Química


  6. Documentación de Ideas, Proyectos y Procedimientos

  7. Diseño de Experiencias (User Experience)

  8. Gestión de Proyectos

  9. Desarrollo de Productos


  10. Comunicación Técnica para Audiencias no-técnicas

  11. Emprendimiento Externo (al público en general) e Interno (dentro de una empresa o corporación)

  12. Legislación Sobre Propiedad Intelectual

 

¿Conoces de más destrezas importantes para el área Maker? Compártelas con nosotros a través de los comentarios.