Haz una robo-serpiente nadadora: 19 pasos (con fotos)

Haz una robo-serpiente nadadora: 19 pasos (con fotos)

Tabla de contenido:

Anonim

Sneel es el nombre de mi robot nadador serpiente / anguila. Esta es la documentación de hardware, software y diseño mecánico de Sneel_003.

tubos flexibles de uretano, microcontroladores, radio inalámbrica Zigbee, abrazaderas de manguera, cables, servomotores, soportes de titanio, silicio, grasa marina, epoxi, bomba de estanque

Sneel es una serpiente acuática robótica nadadora, construida para explorar movimientos sinuosos y realistas en un robot acuático. Está diseñado para navegar por territorio desconocido y terreno extremo.

Sneel está inspirado en Protei, (protei.org), un proyecto internacional para el diseño de una flota de veleros de código abierto, robóticos, no tripulados. Sneel es un desarrollo de Protei_007.

Sneel_003 nadando en San Francisco, California, Spreckles Lake, Golden Gate Park:

Sneel es un robot acuático, de código abierto, biomimético, locomotor. El diseño electromecánico de Sneel imita la estructura y el movimiento de una serpiente de agua real, como una prueba para explorar el comportamiento de la natación en un robot lineal ondulado. La inspiración para Sneel se origina en una fascinación por las formas de motilidad reptilianas y las implicaciones de modelar hardware a partir de estructuras y funciones biológicas. Sneel utiliza una biblioteca de software escrita a medida para propagar una onda oscilante por una línea de servomotores que conforman el cuerpo del robot. El modelo actual es una plataforma para el desarrollo de otros drones de serpiente de bajo costo, con control de navegación semiautónomo para el seguimiento de puntos de ruta, y capacidades de detección para evitar obstáculos. Las aplicaciones mundiales para Sneel incluyen la recopilación remota de datos marinos de niveles de salinidad / toxicidad, monitoreo de nivel nuclear, exploración de tuberías o submarinas, monitoreo de pesquerías y recolección de petróleo.

Sneel versión 2 nadando como una serpiente real:

Sneel versión 2, primer baño en el parque central:

Suministros:

Paso 1: Lista de materiales

Hardware mecánico:

5x soportes servo Lynxmotion

5x Lynxmotion C-brackets

Servo bisagra moldeada por inyección 5x

Tubo colector de polvo de uretano, 5 'x 2.5"

abrazadera de manguera enrollada

Tubo de 5/16"

Abrazadera de manguera de 5/16"

2x shop vac 2.5 a 1.25 "reductor de vacío

5x servo bracketshttp: //www.seeedstudio.com/depot/bracket-for-rb421-servo-p-939.html? CPath = 0

sellador de uretano

grasa marina

sellador epoxi marino

o anillos

Fibra de carbono 3x (1/32 ", 1" x12 "tiras)

caucho de aproximadamente 1/8 "de espesor, 2" x10 "al menos, como este neopreno funciona bien

loctite (verde)

cuerda de nylon como atadura

Opcional:

Tubo interior o válvula para la presurización positiva con una bomba de bicicleta

paquetes de gel de sílice

electrónica:

10 Servomotores (recomiendo estos Hitec con engranajes de Karbonite, pero estos son un poco caros. Sea lo que sea, los engranajes de nailon saldrán rápidamente, así que les advierto que no lo hagan)

3 baterías de 6V NiMh

Arduino UNO

1 seeeduino mega

Explorador xbee

2x xbee series 1

escudo inalámbrico xbee

protector del servomotor

cable de extensión servo

Desglose xbee + 2 filas de 10 pines macho de cabecera + 2 filas de cabezales hembra xbee 2mm

suministros:

cables

pinzas de punta de aguja

recortes de ángulo

pelacables

destornillador pequeño

4-40 tornillos, tuercas de bloqueo o dentadas, y tornillos

2-56 tornillos, tuercas de bloqueo o dentadas, y tornillos

soldadura de hierro + soldadura

sierra para cortar

taladro o taladro de prensa

Broca de 3 mm

Opcional:

dremel

Paso 2: Impermeabilizar los servomotores.

Vea estas instrucciones que hice sobre los servomotores de impermeabilización.

Pero brevemente:

-Aplique sellador marino de silicona alrededor de las dos costuras en el plasma de los servos, alrededor del lugar donde se insertan los cables y donde se montan los tornillos en la parte inferior.

-Deja que los motores se sequen durante 24 horas …

-Desatornille la bocina del servo (la parte superior de plástico redonda del servomotor).

-Aplique grasa de petróleo o marina alrededor del eje dentado, y deslice una junta tórica alrededor del eje.

-Vuelve a colocar la bocina redonda. Asegúrese de que esté centrado (gírelo en una dirección y asegúrese de que gire aproximadamente 90 grados desde el centro en una dirección y 90 grados en la otra dirección).

- Vuelva a atornillar el cuerno circular de plástico.

Paso 3: Prepare el marco: Corte la fibra de carbono

-Con una sierra para metales, corte la fibra de carbono en pedazos de 4 pulgadas (cada tira de 12 "x1" se debe cortar en 3 partes). Utilicé un dremel para redondear las esquinas dentadas.

-Extienda uno de cada soporte servo a 3 pulgadas de distancia. Marque en la fibra de carbono donde se alinean los dos orificios grandes en los soportes, para que pueda perforar aquí para atornillarlos en la fibra de carbono.

-Realice los 4 orificios en cada pieza de la fibra de carbono con una broca de 3 mm, o alrededor de ese tamaño.

-Hacer esto con piezas de 7x 4 ".

Paso 4: Prepare el marco: conecte los soportes a la fibra de carbono

-Utilizando los tornillos gruesos que vienen con ambos soportes, alinee los orificios que corte con los orificios en los soportes.

- Enrosque los tornillos para fijar el carbón a los soportes. Asegúrese de atornillar con el perno en la parte posterior de los soportes como se muestra en la foto.

Paso 5: Prepare el marco: coloque los soportes en C

- Alinee la goma con la sección central del soporte en c (ver imagen) y corte 5 piezas. Serán alrededor de 1 "x 2"

- Alinee la pieza de caucho cortada con uno de los soportes en c, y dibuje un punto en la goma donde se alinean dos de los agujeros.

-Utilice un alfiler para hacer un agujero en la goma en las dos marcas de agujero.

-Inserte los 2-56 tornillos de la abrazadera negra, a través de la goma (sáquela o atorníllela), luego a través del soporte rojo.

-Hacer esto para cada par de brackets negro / rojo.

NOTA: desde la imagen, hice las cosas en un orden ligeramente diferente al descrito anteriormente: puede ver que mi servo ya está conectado al soporte del servo. Esto hizo mucho más difícil atornillar los dos tornillos aquí. Además, terminé obteniendo tornillos de 1/2 pulgada, pero al principio estaba usando tornillos de 1 pulgada y tuve que moler o cortar el exceso.

Paso 6: Prepare el marco: monte los servos en los soportes

-En el paquete con los servos, hay algunas partes. Agarra el pequeño cubo rectangular.

-Inserte esto en los cuatro orificios del servomotor. Tenga en cuenta que la goma tiene un lado plano. Este lado debe estar orientado hacia afuera.

-En 5 de los servos, adhiera la junta moldeada por inyección (a menos que tenga soportes en C con rodamientos en la parte inferior)

-Ponga el servo en el soporte como se muestra: los servos con la junta moldeada inyectada van en el soporte del servo negro.

- Tornillo en los tornillos 4x40. Coloque una tuerca de seguridad en la parte inferior y atornille el perno.

Paso 7: Prepare el marco: monte los pares de soporte en C en los soportes de servo

-Monte los servo-soportes rojos a los corchetes rojos, y el negro al negro:

ROJO:

Deslice el soporte c sobre la bocina del servo y debajo del soporte del servo, como se muestra en la foto. Utilice el tornillo y el cojinete para fijarlo en su lugar.

NEGRO:

Deslice el soporte en c sobre el servo que cubre la mayor parte de su cuerpo. Deslícelo sobre la bocina del servo y debajo del soporte del servo. Asegúrese de que el lado superior de la bocina del servo es el lado con un orificio grande y cuatro orificios pequeños. El segmento moldeado inyectado en la parte inferior debe encajar en su lugar en el orificio pequeño.

Ahora deberías tener una estructura de serpiente de longitud completa.

Paso 8: Atornille el Cuerno Servo al Soporte

-Realice los orificios hacia arriba con los soportes y la bocina servo.

-Asegúrese de que la bocina esté centrada (puede girarla en una dirección y en la otra dirección, luego llevarla a media vuelta, a la posición central, de modo que si coloca el soporte alineado con el servo, se calibrará para centrar la posición.

-Utilice un destornillador pequeño para atornillar el soporte y el cuerno del servo de plástico redondo. Me gusta juntarlos con unas pinzas para asegurarme de que los agujeros estén alineados.

Los brackets y servos deben girar libremente. Debe aplicar un poco de grasa entre los dos soportes de metal si hay fricción.

También puede aplicar loctite a algunos de los tornillos para que no salgan. Asegúrate de no hacer esto antes de estar seguro de que has terminado, porque es muy difícil deshacer el tornillo una vez que hayas aplicado loctite. También el verde La loctita es un poco menos permanente.

En este punto, tu serpiente cuerpo ¡está listo!

Paso 9: Hacer el circuito

-Preparar la tabla de arranque xbee (soldar en las 2 filas de encabezados masculinos y 2 filas de encabezados femeninos xbee de 2 mm)

-Insertar el xbee en él.

-Estoy usando un escudo de servomotor de estudios vistos, pero solo lo estoy utilizando como una placa de perfección, pero es conveniente porque todos los pines de tierra y potencia de mi servomotor ya están unidos, con un terminal de tornillo para la entrada de la batería. E ignore los cables que cuelgan de la placa. Preferiblemente había soldado los pines hembra del cabezal para otro uso de la placa, así que los quité para poder usar esto aquí. Finalmente los recorté, pero puedes verlos en las fotos.

-Así que si tiene el protector servo, suelde en el terminal de tornillo; dos filas de encabezados donde se conectan 6V y GND de la batería. Suelde en cabezales macho para que se monte en su mega seeeduino (o arduino). Estoy usando el seeeduino de nuevo porque lo tenía alrededor y porque es más pequeño, por lo que encaja mejor en el tubo de la piel (la capa exterior protectora).

Nota: un arduino mega es necesario no debido a la cantidad de salidas, sino porque el espacio de memoria flash en el arduino UNO no es lo suficientemente grande.

-hump xbee pin 1 (3.3Vin) a Arduino 3.3V pin (ver cable rojo)

-jump xbee tx (pin 2) a Arduino RX (pin1) (ver cable amarillo)

-Jump xbee ground (pin 10) a arduino gnd (ver cable negro)

-pulse desde la entrada de la batería de 6V al pin VIN de Arduino (cable verde)

-Soldado en los cables de todos los pines de salida digital (tantos servos como esté utilizando).

- Coloque los conectores del servo (rojo, negro, blanco aquí) e inserte los cables DOUT del arduino en los cables del servo (cable de señal blanco).

NOTA: si Arduino se va a alojar en el refrigerador de la serpiente, conecte las patillas bajas a altas de arduino a los servos que están más cerca de la cabeza (muy lejos). en otras palabras: el primer servo (como cuando la serpiente avanza, el servo en la CABEZA) debe ser el pin digital 2, y el servo del extremo de la cola debe ser el pin 11 digital.

- Enrosque los cables a los terminales de tornillo para conectarlos a 6V y TERRENO de sus baterías.

- Recorté el metal adicional (no debería tener que hacer esto si está comenzando desde una tabla limpia, no una con pines de cabeza hembra soldados)

Paso 10: Subir el Firmware

Escribí una biblioteca de software para generar fácilmente la locomoción de onda basada en la oscilación. Invoca a la biblioteca Servo Arduino para generar una onda sinusoidal que se propaga por la línea de servos. Permite la modularidad para cambiar la entrada sensorial, los parámetros de onda y el número de servos.

Descarga el código aquí. Cárguelo en Arduino, sin el xbee enchufado (cuando el xbee está enchufado, los pines tx y rx (pines 1 y 0) en el mega arduino se utilizan como referencia a una clase que propaga una onda sinusoidal por una línea de motores.

Durante cada ciclo de bucle:

-El programa principal, hace referencia a una clase que propaga una onda sinusoidal por una línea de motores.

- escucha un protocolo RC inalámbrico que se comunica con la serpiente a través del joystick

Paso 11: haga un transmisor de control remoto, o simplemente use Xbee y la computadora

Para esta versión de la serpiente, varias entradas de caracteres (números 1-6) afectan el comportamiento de la onda.

OPCIÓN 1: computadora xbee + (consulte este instructivo para obtener más información)

-Enchufe en xbee al explorador xbee.

-Enchufe xbee explorer en su computadora a través del cable USB.

-Descargar y abrir CoolTerm.

-Haga clic en "OPCIONES".

-Asegúrese de que la TASA DE BAUDAS esté establecida en 57600

-Asegúrese de que después de "PORT:" dice algo como "usbserial-A700xxx". Si no, seleccione "RESCAN SERIES PORTS".

-Haga clic en Aceptar.

-Haga clic en "CONECTAR"

-Asegúrese de que su xbee esté configurado a 57600 baudios:

Escriba "+++" (es posible que no vea nada escrito en el puerto serie a menos que haya marcado "LOCAL ECHO" en la pestaña TERMINAL de las OPCIONES).

Debería obtener "OK" en el monitor de serie de CoolTerm. Si no lo está, tal vez xbee no esté configurado a esa velocidad en baudios. para depurar, vuelva a OPCIONES y seleccione "velocidad en baudios 9600" e intente nuevamente.

Ahora ha entrado en el "modo de comando" de xbee.

Escriba "ATBD" y luego ENTER (y no espere demasiado o saldrá del modo de comando).

Debería obtener un número entero devuelto, correspondiente a la velocidad en baudios a la que se fija xbee. Para asegurarse de que esté configurado en 57600, escriba "ATBD 6" y luego ENTER.

Debes obtener "OK" devuelto.

Ahora escribe "ATWR".

Ahora, cuando escribe los caracteres 1-6 en el monitor de serie, cuando la serpiente está encendida, los caracteres deben afectar el movimiento.

5 y 6: afectan la velocidad de rotación de los servos.

3 y 4: afectan el período de la onda (velocidad de propagación a lo largo de la línea de servos).

1 y 2: afectan la amplitud de la onda.

Visualice en el software cómo el comportamiento de la onda se ve afectado por los diversos parámetros, o escribiendo en números enteros 1-6.

Los gráficos adjuntos muestran los valores de ángulo de salida de cada servo mapeado en el tiempo, ligeramente desfasados ​​entre sí. La diferencia es cuando hay un desplazamiento diferente (retraso en el tiempo que tarda un servo en llegar al ángulo del anterior en la línea de ondas).

Si no desea utilizar su computadora y desea tener un control remoto independiente, siéntase libre de hacer un r / c basado en arduino. Para hacer esto, conecte el xbee a un escudo xbee montado en Arduino (vea la imagen). Hacer un 6 entradas de botón. Introduje un joystick que tenía 2 botones extra. Conecte los 6 botones a los pines digitales Arduino 2-7.

Sube el siguiente código a arduino.

Y ahora afecta el comportamiento de la serpiente de la misma manera que a través de coolTerm.

Paso 12: cablearlo

Hasta ahora: Arduino está soldado, cableado y programado; y el cuerpo de la serpiente construido.

Ahora es el momento de conectar todo:

Usando los extensores de cables del servomotor, alargue todos los cables del servo para que se extiendan a lo largo del cuerpo, hasta unas pocas pulgadas más allá del último soporte del servo.

Fue útil para mí hacer un seguimiento de qué cable era del servo, de modo que cuando los conecté a la placa de perfección fue fácil conectarlos en orden consecutivamente.

Coloqué el cable alrededor de la parte posterior de la fibra de carbono y lo pegué a la fibra de carbono para que cuando finalmente coloqué el revestimiento de la aspiradora, no tirara demasiado de los cables. También puse cinta en la unión en cada conexión de cable solo por seguridad.

Paso 13: Coloque las baterías

En cada segmento de fibra de carbono, conecte las baterías con los cables 6V / GND apuntando hacia arriba (hacia la parte superior de los servos) y hacia la parte frontal de la serpiente.

Use dos cremalleras para fijar las baterías a la fibra de carbono.

Utilicé un dremmel para lijar las esquinas de las cremalleras después de cortarlas, si se sienten afiladas.

Adjunté cuatro paquetes de baterías en total. También utilicé las extensiones de cable del servo para extender la energía de la batería y la conexión a tierra a la parte frontal de la serpiente, en la cabeza, donde se encuentra Arduino. También hice un enlace en y de cada empalme de la batería para que todos se junten en la alimentación del terminal de tornillo Arduino y la entrada del servo motor a tierra.

Antes de finalizar las conexiones de la batería, asegúrese de agregar un botón de encendido / apagado: consulte el siguiente paso.

Paso 14: agregue los botones de encendido / apagado y prepare las tapas de cabeza y de cola

Estoy usando un botón para la bomba de agua (batería de 12V) y otro para el arduino / servos (batería de 6V). La bomba de agua no se puede encender a menos que la serpiente esté en el agua o la bomba se secará. Entonces enciendo la serpiente primero y luego enciendo la bomba. Vea el siguiente paso para colocar la bomba de agua.

Corte dos piezas de caucho de aproximadamente 1.75 "de diámetro, para que quepan en el interior de los reductores de vacío. Corte dos piezas de cordón de aproximadamente 2 pies de largo, para que actúen como ataduras y ayuden a colocar el cuerpo dentro de la piel.

PARA LA CABEZA (cerca del Arduino):

Coloque la goma en el reductor de vacío y corte una hendidura pequeña, lo suficientemente grande como para pasar los cables. Pase la cuerda por el reductor de vacío para que haya aproximadamente 8 pulgadas de cuerda en el interior. No es necesario que haya demasiado en el exterior porque la correa estará ubicada en la cola.

Ejecutar ambos botones a través del reductor de vacío. Pase el cable (que contiene energía y masa) desde la bomba de agua hacia abajo a través del agujero en el reductor de vacío. Entonces, en total, los siguientes cables deben pasar a través del reductor de vacío y la almohadilla de goma: alimentación y conexión a tierra desde ambos interruptores; una cuerda Potencia y tierra de la bomba.

PARA LA COLA:

Sólo ensarte la otra pieza de cuerda. Deje unas 10 pulgadas de cuerda en el interior y un poco más en el exterior. Esta cuerda actúa únicamente como una atadura. Eventualmente, puede alargarlo adjuntando otra cadena para que pueda tener una cuerda más larga.

Ahora, suelde el botón de encendido / apagado al cable rojo de 6V que se conecta al terminal de tornillo, de modo que cuando lo enciendas, el arduino se encienda y los servos reciban energía. Este botón es el botón de encendido / apagado maestro.

Paso 15: Prepare la batería de la bomba y alargue el cuerpo

-Agregue dos piezas de 4 "de fibra de carbono a cada extremo de la serpiente, de modo que la cabeza y la cola se extiendan hacia afuera unos centímetros.

- Sujete una unión de batería para que la batería se conecte directamente a la bomba del estanque, pero suelde el otro interruptor de encendido / apagado al cable rojo entre la batería y la bomba. La batería se encuentra justo al lado del Arduino.

-Acople la batería a la fibra de carbono con zipties.

Ahora debería tener algo que se mueva así cuando las baterías están enchufadas:

Paso 16: Sellar las tapas

Aplique una gran cantidad de masilla en el interior del reductor de vacío, en la costura donde se encuentra la goma, y ​​en el lado opuesto, profundamente en el orificio. Asegúrese de cubrir todos los cables.

Dejar secar unas 24 horas.

Paso 17: ponte la piel

- Agregué algunos paquetes de gel de sílice solo para asegurarme de que la humedad fuera absorbida.

-He pegado en caliente el Arduino solo para asegurarme de que ningún cable se salga.

-Si alguna de las uniones servo es rígida o el metal está frotando, agrego un poco de grasa entre las secciones de frotamiento.

-Entonces deslice sobre la piel, yendo desde el lado de Arduino hacia el otro lado de la cola.

-Cortar el tubo a la longitud, si es demasiado largo.

-Una vez que está todo el camino, uso la cuerda en ambos lados para levantar la fibra de carbono hasta el final del tubo de vacío. Hago un nudo aquí para evitar resbalones.

-Poner las tapas en la cabeza y la cola. Aplicar un poco de grasa marina puede ayudar a sellarla.

Paso 18: Poner en la bomba de agua

- corte el tubo de plástico de 5/16 "a la longitud de la serpiente. Deslícelo sobre la boquilla de SALIDA en la bomba (la boquilla más estrecha es la salida). Me gusta explotar brevemente la unión con una pistola de calor una vez que me deslizo el tubo para hacer la conexión agradable y cómoda. Asegure una abrazadera de manguera alrededor del tubo en la unión.

Opcional: conecte otra manguera de 7/16 "a la válvula de entrada

-Monte la bomba en algún lugar cerca de la parte frontal de la serpiente, en el lado inferior (el lado opuesto de los cuernos del servo). La placa de plástico que viene con la bomba se monta en la bomba, y tiene un punto con dos crestas en cada lado. Usé un ziptie para envolver en una cruz alrededor del cuerpo de la serpiente para asegurarlo.

-También monté la goPro pero esto también es opcional.

Paso 19: ¡Llévalo afuera!

Llevarlo afuera

-Aplique grasa al exterior de los botones de plástico para que no entre agua.

- Atornillé las abrazaderas de manguera en los extremos de la cabeza y la cola, pero no estoy seguro de que esto sea necesario, era solo para ser más seguro.

Encenderlo.

Ponlo en el agua. Tal vez tengas que ajustar el movimiento de las olas con tu control remoto.

Una vez en el agua, puede encender la bomba con el otro interruptor.

Míralo nadar y usa el control remoto para controlar su movimiento.