Dibujando ondas en 3D

Onda sinusoidal en 3D

Hoy me he levantado con ganas de dibujar. Estoy trabajando en mi tesis y tengo muchas figuras pendientes de realizar. Me apetecía recrearme con el dibujo detallado de una ellas.

Se trata de una representación en 3D de una onda sinusoidal de las que uso para controlar a Hypercube. Los movimientos de este robot se realizan mediante la superposición de dos ondas, una verticual y otra horizontal. Según qué valores se den a los parámetros (amplitudes y fases) se obtienen ondas 3D diferentes. Y estas son las que determinan el movimiento del robot.

Para hacer el dibujo he utilizado las siguientes herramientas:

* Octave, para generar las gráficas de las ondas horizontales y verticales
* Qcad para pasar a DXF estas gráficas
* Blender para hacer la onda y el entorno en 3D
* Inkscape para añadir los ejes x,y,z

Todo hecho son software libre 😉

En el dibujo se muestran en negro las proyecciones de la onda 3D sobre el agua y el plano zx. Para poder ver intuitivamente qué partes de la onda están en la región z<0 y cuáles en z>0 he añadido un estanque de agua lo que además le da a este dibujo técnico un aspecto más artístico 🙂

Las fuentes de Dibujo para Blender las he puesto aquí: sin3D.blend

Obijuan

5 thoughts on “Dibujando ondas en 3D”

  1. Superior! Todo un ejemplo de trabajo bien hecho. Con eso se pueden ver las ondas con toda ‘transparencia’.

  2. Saludos.

    siguiendo la característica modular, tengo una pregunta e inquietud:

    observando la figura y recordando una de las exposiciones tuyas…

    … ¿has pensado en algún tipo de recolector de señales sensoriales en toda la “piel” que aporte por un lado información del entorno; y por otro, retroalimentación a un sistema compuesto por tus módulos “cube”?

    (a) en algunos puntos de contacto (interrogación discreta a varios sensores)

    (b) en todos los puntos (interrogación continua a la señal de un único sensor extendible por acoplamiento de módulos en todo el cuerpo)

    el recolector y red neural que estoy pensando también permitiría configurar un robot antes de su misión, cambiando la piel y su interior con distintos tipos de sensores según sea el escenario. Por poner ejemplos, en un caso sería intensidad y variaciones de luz desde todas las direcciones posibles; en otro caso, se configura para percibir grado de contaminación, o si el suelo es duro, blando, acuoso, frío, cálido, etc., o combinaciones.

    así también, como sentido del tacto, los movimientos podrían resultar más precisos y cambiar sin necesidad de control centralizado, de forma autónoma y propagando ondas de respuesta al tacto por todo el cuerpo, similar a las ondas que generan el desplazamiento.

    algunas ideas:

    * ultrasonidos en ambos extremos y un tubo de agua cerrada que atraviese el cuerpo del robot podría ser un buen candidato para percibir la propagación de ondas por tacto.

    * por otro lado, un módulo de introducir una fibra óptica y emisor y receptor en los extremos, sería un buen candidato para el recolector de señales en un ambiente ruidoso.

    * otros para detectar contaminación.

    por cierto, no estaría nada mal probar una interacción del wiimote por traducción a los 3 ejes, como si el usuario enviase movimientos ondulares desde un extremo de una cuerda “virtual” unida al robot.

  3. Me quedo con la idea de Chris de la cuerda ‘virtual’ del wiimote. Es una gran idea (al menos vistosa puede llegar a serlo). No tanto para sacar movimientos aunque quien sabe.

    Gran idea.

  4. Hola Chris! Gracias por tus aportaciones 😉
    El tema de los sensores está todavía pendiente. En lo que he estado trabajando durante estos años, vamos, los que está siendo mi tesis doctoral es el estudio de la locomoción de estos robots en 1 y 2 dimensiones. ¿Cuáles son los mecanismos básicos de coordinación para que estos robots se puedan mover? Además de estudiarlos los he implementado en robots reales para demostrar que funcionan.

    En esta parte he estado suponiendo que el robot se moverá por superficies planas perfectas y sin obstáculos. Y sólo he estudiado el régimen permanente.

    Una vía de investigación es la que comentas: leer información a través de sensores para detectar qué tipo de superficie es sobre la que se está moviendo y poder modificar los parámetros de la locomoción en función del medio. Es un tema realmente apasionante. De momento no lo estoy abordado pero lo haría primero en el simulador. Rafael Treviño y yo hemos estado trabajando en unas librerías de simulación, las RTK. Yo comenzaría primero abordando el problema desde el simulador, desarrollando los algoritmos necesarios para que los robots virtuales lean información del entorno y reaccionen. Una vez que lo tuviese claro comenzaría con el tema de cómo implementarlo en el robot real.

    Fernando Herrero, estudiante de doctorado en la UAM está estudiando los CPGs (central pattern generators) necesarios para que este tipo de robots se muevan, pero teniendo en cuenta esta información exterior. Es un tema muy prometedor y con muchas aplicaciones en robótica.

    Con respecto a lo de la “cuerda virtual”. Estoy con Rafa. ¡¡Es una buenísima idea!!. Muy friki y sobre todo muy muy divertida!!! Me imagino haciendo demostraciones en las charlas. Agitas el mando de la wii y la onda se propaga sobre el robot… jjajajajjaj Una idea genial. 😉

Comments are closed.