l a n a v e · v 1.0
documentación y proceso criaturas robóticas · 2017 pierre puentes · alejandro calderón
c o n t e n i d o s i. introducción ii.
primeros acercamientos
iii. lanave iv. proceso iv.a. leap motion iv.b. leap motion for processing iv.c. pan-tilt servo modules iv.d. módulos láser
v. prototipo semi-funcional vi. iteraciones vi.a. estructura vi.b. prototipo en contexto real vi.c. ensamblaje
vii. prototipo final viii. consideraciones finales
i n t r o d u c c i ó n El siguiente documento pretende resumir el proceso de ideación, desarrollo y prototipado de LaNave, una herramienta robótica diseñada para creadores de contenido visual (o vjs). Este proyecto se realizó para la clase Criaturas Robóticas durante el segundo semestre de 2017 en la Universidad de los Andes. Este documento contará con una serie de links a videos del proceso a través de códigos QR.
p r i m e r o s · a c e r c a m i e n t o s Nuestra directriz para este proyecto es que debíamos producir un robot que hiciera algo . Teníamos total libertad de escoger qué hacer. Por eso partimos de la idea de que queríamos lograr un robot que tuviera algo que ver con sonido y tras un poco de discusión surgió la idea de l at raducción . Queríamos lograr un robot que pudiera traducir algo a sonido, o que pudiera producir algo desde el sonido. Tras un poco de investigación de referentes y del estado del arte, llegamos a dos videos que marcaron el inicio del proyecto. El primero era un video que mostraba unos visuales creados a partir del movimiento. En este caso, el artista traducía el movimiento de un director de orquesta (que a su vez es la traducción del sonido a movimiento corporal) en imagen. De este referente rescatamos Gremmier, T. (2017) London Symphony Orchestra - Visualizing Motion and Music.
El segundo era un video de un creador visual que programó un proyector de láser para que respondiera a la música de maneras únicas. En este caso el artista utiliza un sensor Leap Motion para
poder traducir los movimientos de su mano a imagen a través de la proyección láser. salem3alia ™ (2015) Leap Motion Realtime Interactive Laser Tests.
Teniendo estos dos referentes en cuenta, y con la posibilidad de utilizar un sensor Leap Motion, nació la primera idea de L aNave .
l a n a v e LaNave es un producto para artistas visuales, VJs, y Organizadores de Eventos que busquen nuevas formas de expresión y creación de material para eventos en vivo. LaNave es una pieza robótica que une movimiento, sonido e imágen (luz) . A diferencia de: Visuales Audio reactivos generados por computador, nuestro producto permite traducir movimientos corporales a composiciones visuales audiorreactivas. Nuestra idea consistía en crear una abstracción de una mano robótica que emulara los movimientos de la mano para poder aprovecharlos a la hora de crear contenido visual para eventos. Consistiría entonces en una serie de 5 módulos controlados por un Leap Motion que le dieran una herramienta más a los artistas visuales para sus eventos. Primeros bocetos de LaNave
Decidimos empezar a buscar más a fondo todas las posibilidades de lo que se podía hacer con un Leap Motion y lo que podíamos crear teniendo en cuenta nuestra idea y nuestras habilidades.
Kaka, Y. (2014) Laser Turret control using Leap Motion and Arduino. de Youtube.
Encontramos entonces que existían múltiples maneras de lograr nuestro objetivo. Algunas usaban lenguajes que conocíamos, otras unos completamente nuevos, otras utilizaban algoritmos complejos para hacerlo, y otras utilizaban equipo al que no teníamos acceso definitivamente. Debíamos entonces hacer las pruebas necesarias para escoger el camino a seguir.
p r o c e s o
Video de proceso
leap motion
Nuestro primer reto era poder utilizar el Leap Motion que ya teníamos para nuestro robot. Esto implicaba aprender cómo se comunicaba el Leap con el computador y cómo podíamos utilizar esos datos para nuestra ventaja. Tuvimos tres acercamientos a esto: Leap Motion a Javascript - implicaba usar p5.js como plataforma sobre la que debíamos programar y nos impedía conectar una tarjeta Arduino porque el protocolo solo funcionaba para conectar el computador con el leap. Leap Motion for Processing - Encontramos una librería que conectaba nuestro leap a processing directamente y nos permitía sacar todos los datos pertinentes de este. Era justo lo que necesitábamos, pero no sabíamos cómo conectarlo a la Arduino. Leap Motion a Grasshopper - Encontramos Firefly Experiments, un plug-in de Rhino que permitía conectar este programa a Leap Motion. Funcionaba bien, aunque decidimos no usarlo por nuestra falta de experiencia con programación visual en nodos.
leap motion for processing & arduino Finalmente encontramos un ejemplo que nos servía a la perfección. Utilizaba la librería Leap Motion for Processing y enviaba las señales a Arduino para poder utilizarlas como valores en la tarjeta. El proceso entonces fue de aprender cómo se comunicaban las dos partes y cómo podíamos nosotros aprovecharlo para nuestro robot.
Aprendimos que el ejemplo leía los datos del Leap, los convertía a bytes y los mandaba a través del puerto serial a Arduino. A partir de ahí fue solo darle forma al proyecto con esa estructura.
pan-tilt servo modules Ahora debíamos encontrar cómo hacer nuestro proyecto real. Encontramos un modelo 3D en internet de un módulo para servo motores que permitía el movimiento en dos direcciones (vertical y horizontal)en simultáneo. Lo imprimimos en 3D y lo utilizamos para los experimentos siguientes. Primero pudimos mandar una sola señal a la Arduino, la de la posición en eje x del índice derecho. Logramos que la tarjeta la leyera y se la transmitiese al servo. Sin embargo necesitábamos enviar más de una sola señal para lograr nuestro objetivo. Finalmente logramos enviar un arreglo de variables a la tarjeta y así pudimos tener dos direcciones de movimiento al mismo tiempo. Además decidimos cambiar nuestro módulo de servos porque no nos estaba permitiendo un rango de movimiento tan amplio como el que buscábamos.
módulos láser Aunque ya la parte móvil del robot estaba resuelta, faltaba aún pensar en la otra parte fundamental de LaNave; la luz. Escogimos utilizar módulos láser para esto, basados en los referentes que teníamos ya. Analizamos el contexto en el que se utilizaría nuestro producto y decidimos que nuestro producto se iba a controlar por dos partes separadas: el movimiento y la luz. El movimiento iba a ser controlado por el leap motion con una mano, y la luz se iba a controlar con una consola que pudiera controlar la intensidad de la luz y si era continua o cortada (esto con la mano izquierda). Para hacer esta segunda parte más práctica, se pensó programar un controlador que se pudiera usar con el celular, sin embargo por cuestiones de tiempo no se pudo hacer. Para el prototipo, se programó una interfaz de Processing que hiciera esto.
p r o t o t i p o • s e m i f u n c i o n a l El resultado fue uno de los módulos funcionales de LaNave.
Nuestra idea es poder tener para el final de semestre al menos 4 más para simular completamente el movimiento de los dedos de la mano, además de una serie de lásers más potentes que sean más potentes, ya para eventos reales donde se necesite que se vean más.
i t e r a c i o n e s Los pasos a seguir después de lograr la funcionalidad básica de LaNave eran hacer que el producto fuera lo más pulido posible. Debíamos pensar en temas como la estructura, la experiencia de usuario, el valor estético del producto,y la realización técnica del mismo.El primero de estos que decidimos resolver fue el de la forma y el material del que haríamos nuestro robot. A continuación encontrará un videoque resume esta etapa del desarrollo de LaNave.
estructura Basándonos en nuestros bocetos de LaNave, decidimos hacer que este estuviera soportado por una caja, dentro de la que meteríamos todos los componentes relevantes. Escogimos hacer una caja en MDF de 42cm de largo por 12 de alto y 10 de profundo. El grosor de las paredes de la caja sería de 3 mm y las tapas de 5mm para darle mayor estabilidad y añadirle un peso agradable al producto. Además, diseñamos y modelamos acoples para montar los módulos láser que que tendría el robot.
prototipo en contexto real Para la siguiente etapa decidimos hacer una prueba con usuario en un contexto real. Esto con el propósito de aprender un poco más sobre nuestro producto y encontrar nuevos rumbos y objetivos.
video de prototipo
ensamblaje El siguiente paso fue armar el resto del robot. Es decir, completar todos los módulos servo-láser, montarlos sobre la caja y darle los acabados pertinentes. Durante esta etapa empezamos a entender las limitaciones de la forma y las dificultades que presentaba pensar en armar circuitos.
Durante esta etapa aprendimos que la tarjeta Arduino no estaba proveyendo el poder suficiente para encender y mantener funcionando los motores. Así que decidimos conseguir una fuente de poder externa que nos diera el poder suficiente. Compramos entonces una fuente de 5v/5a que probó ser suficiente para encender todos los componentes. Lo que le siguió a esta etapa fue el cableado y el ensamble de los circuitos, lo que probó ser un gran reto. Una vez acabamos de soldar y conectar todos los componentes, encontramos algunos problemas con el código, pues estaba enredando las señales y así, los motores no estaban funcionando adecuadamente. Después de un poco de trabajo, pudimos resolver todos lo problemas que tenía LaNave y así llegamos a un producto final.
p r o t o t i p o · f i n a l El resultado fue el primer prototipo funcional de alta resolución de LaNave.
c o n s i d e r a c i o n e s • f i n a l e s El desarrollo de LaNave probó ser un verdadero éxito para nosotros. Creemos que tenemos aquí un producto con verdadero valor y que bien podría ser comercializable eventualmente. Sin embargo, consideramos que hay mucho terreno que explorar y mucho camino por recorrer todavía. Por ejemplo, consideramos que debido a la dificultad que encontramos en establecer canales de comunicación claros entre Processing y Arduino, tal vez estás no sean las plataformas óptimas para este robot. Una vez estábamos conectando todo, encontramos que los motores se enredaban mucho con las señales que estaban recibiendo de parte de la Arduino. Podía ocurrir que una vez que se corriera el programa, todo estuviese bien, pero la siguiente vez todos los motores estuvieran recibiendo señales invertidas. Creemos que esto se debe a que Processing y Arduino no tienen la capacidad de soportar tal flujo de información entre los dos. Por otra parte, creemos que si bien esta forma de LaNave funciona, es apenas el inicio de una exploración de formas, materiales, componentes y posibilidades infinitas que tal vez resulten en un producto cada vez más apetecible para el mercado. De igual manera, creemos que hemos desarrollado un buen prototipo que podría llegar a convertirse en un gran producto para creadores audiovisuales que deseen llevar su arte a un nuevo nivel. Bogotá, Colombia 30 de Noviembre, 2017