Biomimesis y movimiento
Título | Biomimesis y movimiento |
---|---|
Tipo de Proyecto | Proyecto de Titulación |
Palabras Clave | biomimesis, movimiento |
Período | 2019-2019 |
Carreras | Diseño, Diseño Industrial"Diseño Industrial" is not in the list (Arquitectura, Diseño, Magíster, Otra) of allowed values for the "Carreras Relacionadas" property. |
Alumno(s) | César Sánchez |
Profesor | Juan Carlos Jeldes |
La investigación surge a partir de la relación de las nuevas tecnologías y su aproximación a la mimesis del movimiento y su aplicaciones rizomáticas en las nuevas formas del diseño. Durante un tiempo el diseño ha integrado el movimiento como un resultado final de la unión de dos sistemas que coexisten dentro del mismo objeto, en el cual la fuente del movimiento es lejana al resultado que este sistema le otorga al objeto, por lo cual la fuente de movimiento pasa por una serie de transformaciones hasta que en el final de su cadena se manifiesta su uso real. en el contexto del Antropoceno y el surgimiento de políticas de desarrollo sostenible y eficiencia tecnológica, es necesario que la forma en la que se integra el movimiento en el diseño sea construida de manera más eficiente.
Movimiento del Pulpo
El naturalista, biólogo y matemático escocés D’Arcy Thompson (1860-1948) publicó en 1917 el libro “Sobre el crecimiento y la forma”. En él planteó que las formas de los seres vivos y de algunos fenómenos se deben a aspectos físicos de los procesos biológicos: las fuerzas que intervienen en ellos y las propiedades físicas de la materia en cuestión. Según la teoría de Thompson, las fuerzas físicas son las que forman directamente a los organismos, y los ideales de la geometría euclidiana predominan en las formas naturales, simplemente porque las “leyes naturales” favorecen la simplicidad como una óptima representación de esas fuerzas. Las formas ideales de la geometría ofrecen soluciones eficaces a problemas morfológicos el movimiento en la naturaleza está ligada a sus formas y más allá del por que de la función se investigara cómo es que la naturaleza optimiza el movimiento.
L-System
En 1968 por el biólogo y botánico teórico húngaro Aristid Lindenmayer introdujo el L system un sistema de gramática formal que modela la morfología del crecimiento de las plantas y de una variedad de organismos.
Los sistemas L paramétricos son definidos como un conjunto G = {V, S, ω, P}, donde V (el alfabeto) es un conjunto de símbolos que contiene elementos que pueden ser reemplazados (variables) S es un conjunto de símbolos que contiene elementos que se mantiene fijos (constantes) ω es una cadena de símbolos de V que definen el estado inicial del sistema (inicio o axioma) P es un conjunto de reglas o producciones que definen la forma en la que las variables pueden ser reemplazadas por combinaciones de constantes y otras variables. Una producción está formada por dos cadenas — el predecesor y el sucesor. Las reglas gramaticales de los sistemas-L se aplican iterativamente a partir de un estado inicial-
Codigo usado en Taller de Fractales
import processing.pdf.*; String default_rule = "FF[+F]F[-F]"; int default_iterations = 6; float default_angle = PI / 10; float default_angle_chaos = 0; float default_extension = 10; float default_extension_chaos = 0; int default_y_offset = 400; boolean default_draw_tips = true; String default_filename = "iterations-7.pdf"; LSystem system; class LSystem { String axiom, string; String [] rules; String rule; float [] state; float [][] state_stack; int stack_size = 0; int pos = 0; color col; float angle = default_angle; float angle_chaos = default_angle_chaos; float extension = default_extension; float extension_chaos = default_extension_chaos; LSystem () { axiom = "F"; string = "F"; state = new float[3]; state[0] = 0; state[1] = 0; state[2] = 0; col = color(0, 0, 0); rule = default_rule; state_stack = new float[4096][3]; } void iterate () { this.iterate(1); } void iterate (int count) { for (int i = 0; i < count; i++) { String string_next = ""; for (int j = 0; j < string.length(); j++) { char c = string.charAt(j); if (c == 'F') { string_next = string_next + rule; } else { string_next = string_next + c; } } string = string_next; } } void draw() { beginRecord(PDF, default_filename); translate(100, default_y_offset); rotate(1.5 * PI); strokeWeight(0.5); for (int i = 0; i < string.length(); i++) { this.drawSegment(); } endRecord(); } void drawSegment () { if (pos >= string.length()) { return; } char c = string.charAt(pos); switch (c) { case 'F': float ext_this = extension + random(-1.0 * extension * extension_chaos, extension * extension_chaos); float x_delta = ext_this * sin(state[2]); float y_delta = ext_this * cos(state[2]); stroke(col); strokeWeight(0.5); // stroke(random(255), random(255), random(255), 230); line(state[0], state[1], state[0] + x_delta, state[1] + y_delta); state[0] += x_delta; state[1] += y_delta; if (default_draw_tips) { strokeWeight(0.5); line(state[0], state[1], state[0] + 0.1, state[1] + 0.1); } break; case '-': state[2] -= (angle + random(-1 * angle * angle_chaos, angle * angle_chaos)); break; case '+': state[2] += (angle + random(-1 * angle * angle_chaos, angle * angle_chaos)); break; case '[': arraycopy(state, state_stack[stack_size++]); break; case ']': arraycopy(state_stack[--stack_size], state); break; } pos++; } } void setup () { int iterations = default_iterations; size(1300, 900); background(250); frameRate(50); smooth(); system = new LSystem(); system.iterate (iterations); system.draw(); } void _draw () { // To draw segment by segment, rename this routine to draw() // and remove system.draw() from setup(). translate(100, default_y_offset); rotate(1.5 * PI); system.draw(); for (int i = 0; i < random(10, 50); i++) { system.drawSegment(); } } import processing.pdf.*; String default_rule = "F[-F][+F] "; int default_iterations = 1; float default_angle = PI / 12; float default_angle_chaos = 0; float default_extension = 50; float default_extension_chaos = 0; int default_y_offset = 400; boolean default_draw_tips = true; String default_filename = "iterations-7.pdf"; LSystem system; class LSystem {
Movimientos Animales
Las articulaciones animales poseen un material duro y uno flexible, el duro otorgara la resistencia de la articulación y la base sobre la cual tejerán los músculos y tejidos flexibles, los músculos tienen su propia deformación programada y los huesos tienen sus propios límites. los impulsos nerviosos mandarán para contraer o relajar los músculos y generar los movimientos
Movimientos Pulpo
Científicos analizaron el movimiento de los pulpos y descubrieron que estos no siguen un patrón rítmico, sino que usan cada pata de manera independiente, extienden cada pata de un lado del cuerpo para impulsarse hacia el lado contrario, y si no siguen un patrón un rítmico, ¿como es que una pata no se pega con la otra?, pues el pulpo posee en la superficie de sus tentáculos un químico que desactiva las ventosas, cuando estas se encuentran entre si.
Soft Robots
Una nueva ola de robots basados en diseños biológicos, son capaces de realizar tareas que no están al alcance de las extremidades rígidas de los robots tradicionales, Esta robótica blanda nace para suplir las carencias de los robots rígidos o tradicionales que se mueven gracias a articulaciones y extremidades, siguiendo una serie de instrucciones muy concretas.
La robótica blanda es nueva generación de robots, que tendrán formas tan dispares como los seres vivos, dichos robots no solo están fabricados con materiales altamente deformables y flexibles, sino también poseen muchas estructuras biológicas, que funcionan gracias a un sistema de microcanales construidos aplicando la técnica de litografía blanda.
Soft robot caminante
camina y se arrastra por obstaculos, mediante las coredenadas que emite un sensor de presion ubicado al interior el cual configura su ritmo de caminar, cuando se arrasta la señal proviene del exterior
- Descripción:
actuador: cuerpo de silicona sensor: sensor propioceptivo al interior fuente de energia: presion neumatica
Actuadores | Controladores | Sensores |
---|---|---|
base de espuma | circuitos electroneumaticos | Egaln |
impresos en 3d | placas controladoras | Sensor Hibrido tela Silicona |
tubos con deformación programada | Sensor deformación Neumatica | |
laminas de papel selladas al vacio | Tactip | |
elastomeros dialectricos | Redes de Fibras Conductoras | |
Sensor Propioceptivo | ||
Takktile |
Soft Robots Esquemas Sistemáticos
Codigo:
#include “Servo.h” const int trigPin = 3; const int echoPin = 4; long duration; int distance; int safetyDistance; Servo myservo; int pos = 0; void setup() { pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); myservo.attach(10); Serial.begin(9600); } void loop() { digitalWrite(trigPin, LOW); delayMicroseconds(50); digitalWrite(trigPin, HIGH); delayMicroseconds(20); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance= duration*0.034/2; safetyDistance = distance; if (safetyDistance <=66){ myservo.write(40); delay(15); } else{ myservo.write(0); delay(15); } Serial.print(“Distance: “); Serial.println(distance); } }
Componenetes de Sistema electrónicos
Actuadores | Contraladores | Sensores | Ejemplos |
---|---|---|---|
Diodo led | Interruptor Touch | color sensor | Visión ultravioleta (Abejas) |
LCD dysplay | Joystick XY | sensor fotoeléctrico | |
DC motor | Arduino (uno, nano, mega...) | sensor de reflexión | |
Servo motor | micrófono con sensor de sonido | ||
step motor | sensor de golpe | ||
bomba de agua | sensor de rastreo | ||
selenoide | sensor de llama | ||
actuador linear | sensor detector de gas | ||
bomba de aire | sensor de distancia ultrasonido | Sonar (Murciélago) | |
sensor receptor infrarrojo | |||
camara | |||
sensor de voltaje | |||
sensor de inclinacion | |||
acelerometro tres ejes | Pelos hipersensibles (Escorpión) | ||
sensor magnético Hall | Magnetorecepción (Paloma) |