Tabla de contenido:

Jasper the Arduino Hexapod: 8 pasos (con imágenes)
Jasper the Arduino Hexapod: 8 pasos (con imágenes)

Video: Jasper the Arduino Hexapod: 8 pasos (con imágenes)

Video: Jasper the Arduino Hexapod: 8 pasos (con imágenes)
Video: ALL - workshop Raspberry Pi 2024, Mes de julio
Anonim
Jasper el hexápodo Arduino
Jasper el hexápodo Arduino
Jasper el hexápodo Arduino
Jasper el hexápodo Arduino
Jasper el hexápodo Arduino
Jasper el hexápodo Arduino
Jasper el hexápodo Arduino
Jasper el hexápodo Arduino

Fecha del proyecto: noviembre de 2018

RESUMEN (JASPER)

Seis patas, tres servos por pata, sistema de movimiento de 18 servos controlado por un Arduino Mega. Servos conectados a través de Arduino Mega sensor shield V2. Comunicación con Hexapod a través del módulo Bluetooth BT12 hablando con la aplicación de Android a medida. Sistema alimentado por 2 x 18650, 3400 mAh y 2 baterías de 2400 mA, cada una sujeta con velcro debajo del cuerpo del hexápodo. Se proporciona un interruptor de palanca de alimentación para los sistemas de control y servo, así como una luz indicadora de encendido LED verde en la cabeza del hexápodo. Los comandos se repiten en una pantalla LCD de 16x2. La alimentación de video, el anillo de luz y la evitación de obstáculos por ultrasonidos se encuentran en la cabeza.

NOTA: En aras de la cordura, recomiendo encarecidamente el uso de servos de buena calidad, comencé con servos MG995, 20 de ellos, 11 de los cuales se quemaron, perdieron la capacidad de centrarse o simplemente dejaron de funcionar.

www.youtube.com/embed/ejzGMVskKec

Paso 1: EQUIPO

EQUIPO
EQUIPO
EQUIPO
EQUIPO
EQUIPO
EQUIPO
EQUIPO
EQUIPO

1. 20 servos DS3218

2. Kit de base 1x Hexapod

3. 1x Arduino Mega R3

4. 1x Arduino Mega sensor shield v2

5. Soporte de batería 18650 de 1 x 2 bahías

6. 2 x interruptor de alimentación de dos polos

7. Luz led verde y resistencia de 220 kohm

8. 2 paquetes de baterías de 6 V 2800 mAh con fijación de velcro

9. 2 x 18650 x 3400 mAh baterías

10. 1x módulo de sonda HC-SR04

11. 1x módulo Bluetooth BT12

12. 1 x placa de desarrollo Arduino V3 NodeMcu Lua WIFI ESP8266 12E IOT

13. 1 x Escudo de cámara de módulo mini Arducam con lente OV2640 de 2 megapíxeles

14. 1 x anillo de luz LCD Pixie Neon 16

15. Pantalla LCD de 1 x 16x2 líneas con adaptador IIC adjunto.

16. Enchufe de alimentación de 1 x 5v para Arduino Mega

17. 1 conector micro USB de 5v para módulo NodeMcu.

18. 1 x módulo convertidor DC a DC Buck

19. Caja de plástico negra cuadrada de 1 x 70 mm x 120 mm x 39 mm (Cuerpo)

20. 1 caja de plástico negra de 70 mm x 50 mm x 70 mm (cabeza)

21. 4 x 40 mm de separadores de latón M3 más 4 soportes de goma

22. Varios cables de puente macho a macho, soldadura, tornillos y pernos m3 y pegamento caliente

Movimiento de piernas con lógica a medida. Movimiento de la cámara a través de dos servos independientes que dan movimiento hacia arriba, abajo, izquierda, derecha y centrado. Cámara controlada por conexión WIFI, que se muestra en la vista WebView en la aplicación de Android.

Paso 2: SERVOS

SERVOS
SERVOS
SERVOS
SERVOS
SERVOS
SERVOS

Cada uno tiene un máximo de 180 grados a

Movimiento mínimo de 0 grados.

Cada servo se identifica con una combinación de tres números, LegCFT; donde C es el cuerpo (COXA), F es el muslo (FEMUR) y T es el codo (TIBIA), por lo que 410 se referiría a la cuarta pierna y el servo de Tibia, de manera similar 411 se referiría a la cuarta pierna y el servo de Tibia. La secuencia de numeración sería del 100 al 611. Cada pata del servo debe tener un pie de goma para amortiguar el impacto y proporcionar un mejor agarre.

Pierna 1: 100, 110, 111 Delantero

Etapa 2: 200, 210, 211 leg2-leg1

Etapa 3: 300, 310, 311 leg4-leg3

Pierna 4: 400, 410, 411 pierna6-pierna5

Etapa 5: 500, 510, 511 Atrás

Etapa 6: 600, 610, 611

La posición predeterminada para todos los servos coaxiales es de 90 grados.

La posición predeterminada para los servos de fémur es 90 grados, 45 grados es la posición de reposo.

La posición predeterminada para Tibia Servos para todas las piernas es 90 grados, las piernas 1, 3 y 5 usan 175 grados como posición de descanso y las piernas 2, 4 y 6 usan 5 grados.

Cuello 1: 700 Limitado a 75 a 105 grados para movimiento hacia arriba y hacia abajo

Cuello 2: 800 Limitado a 45 a 135 grados para movimiento a izquierda y derecha

El movimiento del servo se limita a tres "escrituras" antes de que se incluya un retardo de 10 milisegundos, antes de que se emitan más comandos de "escritura". Esto ayuda a reducir la carga de las baterías.

Paso 3: COMANDOS

COMANDOS
COMANDOS
COMANDOS
COMANDOS
COMANDOS
COMANDOS

A = Detener - Colóquese en la posición predeterminada.

B = adelante - caminar_hacia adelante

C = marcha atrás - caminar_hacia atrás

D = derecha - girar_derecha

E = izquierda - giro_izquierda

F = movimiento lateral izquierdo - crab_left

G = movimiento lateral derecho - crab_right

H = Rear_crouch (piernas 1 y 2 al máximo, 3 y 4 piernas en posición neutra, piernas 5 y 6 en posición mínima)

I = Front_crouch (piernas 1 y 2 en posición mínima, 3 y 4 piernas en posición neutra, piernas 5 y 6 en posición máxima)

J = cámara a medio galope - centro (cuello 1 y cuello 2 en la posición media, posición predeterminada)

K = cámara izquierda - pan_left (cuello 1, posición media, posición mínima del servo del cuello 2)

L = cámara derecha - pan_right (cuello 1, posición media, posición máxima del servo del cuello 2)

M = cámara arriba - pan_up (posición máxima del cuello 1, posición media del servo del cuello 2)

N = cámara abajo - pan_down (posición mínima del cuello 1, posición media del servo del cuello 2)

O = Descansando (Hexapod) se sienta sobre soportes.

P = de pie: el hexápodo se pone de pie en la posición predeterminada.

Q = luces apagadas

R = Luz verde en el anillo de luz Pixie Neon.

S = Luz roja en el anillo de luz Pixie Neon.

T = Luz azul en el anillo de luz Pixie Neon.

U = Luz blanca en el anillo de luz Pixie Neon.

V = piernas delanteras ondeando.

W = sonido de la bocina.

X = Barrer la cabeza de izquierda a derecha.

Y = tocar melodía.

Paso 4: MOVIMIENTO

MOVIMIENTO
MOVIMIENTO
MOVIMIENTO
MOVIMIENTO
MOVIMIENTO
MOVIMIENTO

La posición del servo coaxial es longitudinal al eje del cuerpo, por lo que en línea recta es 0 grados y directamente detrás es 180 grados. Sin embargo, este coaxial y todos los demás servos se limitarían a 45 a 135 grados.

El movimiento de la pierna hacia adelante, hacia atrás, izquierda y derecha se iniciaría con el levantamiento de la pierna usando los servos de Fémur y Tibia, luego seguido por el movimiento del servo del cuerpo, y finalmente la bajada de la misma pierna nuevamente usando los servos de Fémur y Tibia..

Adelante y atrás

Para mover las piernas hacia adelante o hacia atrás, trabaje en pares, 1 y 2, 3 y 4, 5 y 6. Un simple movimiento hacia adelante consiste en que las piernas 1 y 2 se muevan desde su posición actual lo más adelante posible, luego las piernas 3 y 4, y finalmente 5 y 6 patas repiten la misma acción. Luego, los seis servos coaxiales se mueven desde esta posición extendida hacia adelante de regreso a su posición inicial original. El reverso de este proceso se utiliza para moverse hacia atrás. Como parte del proceso de movimiento hacia adelante, la unidad ultrasónica HC_SR04 comprobará si hay obstáculos más adelante y, si encuentra alguno, gire el hexápodo hacia la izquierda o hacia la derecha al azar.

Izquierda y derecha

Para moverse, los pares de piernas derecha e izquierda trabajan juntos pero en direcciones opuestas. Entonces, por ejemplo, para girar la pierna derecha 1 se mueve de la posición actual a la posición de 135 grados, mientras que la pierna 2 se mueve hacia adelante a la posición de 45 grados. Esto se repite para los pares de piernas 3 y 4, y 5 y 6 piernas. En ese momento, los servos coaxiales vuelven a su posición original a su nueva posición al girar el cuerpo en la dirección del movimiento, es decir, Derecha. Este proceso continúa hasta que se completa la rotación requerida hacia la izquierda. El reverso de este proceso se utiliza para girar a la izquierda, por lo que la pierna 1 se mueve desde su posición actual hacia adelante a la posición de 45 grados, mientras que la pierna 2 se mueve hacia atrás a la posición de 135 grados.

Levántate y descansa

Ambos procesos no usan el servo coaxial de ninguna de las piernas, por lo que para levantar el servo Tibia, para todas las piernas, se mueve desde su posición actual a su máximo de 45 grados, mientras que para descansar estos mismos servos de fémur se mueven a su nivel más bajo. posición, 175 o 5 grados. El mismo movimiento se aplica a los servos Tibia que se mueven a su máximo de 45 grados, para estar de pie, y su mínimo, es decir. 175 o 5 grados para descansar.

Agacharse hacia adelante y agacharse hacia atrás

Aquí, nuevamente, los procesos son imágenes especulares entre sí. Para agacharse hacia adelante, las piernas 1 y 2 están en su posición más baja, mientras que las piernas 5 y 6 están en su posición más alta. En ambos casos, las piernas 4 y 5 asumen una posición neutral que está en línea con los conjuntos de piernas 1 y 2 y 5 y 6. Para agacharse hacia atrás, las piernas 1 y 2 están en su posición más alta mientras que las piernas 5 y 6 están en su posición más baja.

Paso 5: CÁMARA PRINCIPAL / SONAR

CÁMARA PRINCIPAL / SONAR
CÁMARA PRINCIPAL / SONAR
CÁMARA PRINCIPAL / SONAR
CÁMARA PRINCIPAL / SONAR
CÁMARA PRINCIPAL / SONAR
CÁMARA PRINCIPAL / SONAR

El cabezal constará de una caja de plástico cuadrada de 38 mm x 38 mm x 38 mm con tapa extraíble. La caja / cabezal tendrá un movimiento vertical y horizontal limitado. El movimiento se logrará mediante el uso de dos servos, uno unido al cuerpo del robot y un segundo al cuerpo del primer servos y su brazo unido a la cabeza. 7.4v suministrados por dos baterías 18650 alimentarán la placa de desarrollo Arduino V3 NodeMcu Lua WIFI ESP8266 12E IOT DEVKIT, unida a un protector de cámara Arducam Mini Module con lente OV2640 de 2 megapíxeles. Esta disposición permitirá que el robot detecte obstáculos y transmita video en vivo a través del Wi-Fi integrado. La sonda que usa un HC-SR04 y la posible información de gestión de la luz fluirían de regreso al Arduino Mega.

Mi agradecimiento a Dmainmun por su artículo sobre Arducam Instructables, que fue de gran ayuda en mi comprensión inicial de cómo se podía usar la Arducam para la transmisión de video.

Batería

Se decidió utilizar dos paquetes de baterías, uno para los componentes del cabezal y la placa Arduino Mega, y un segundo paquete para suministrar energía a todos los servos. El primer paquete constaba de 2 baterías 18650 de 3400 mAh que suministraban 7,4 voltios. El segundo paquete constaba de 2 paquetes de baterías de 6 V 2800 mAh conectados en paralelo, lo que proporcionaba un suministro de 6,4 V pero una mayor capacidad de 5600 mAh unidos a la parte inferior del Hexapod mediante tiras de velcro.

Paso 6: MOVIMIENTO DE LAS PIERNAS

MOVIMIENTO DE PIERNAS
MOVIMIENTO DE PIERNAS
MOVIMIENTO DE PIERNAS
MOVIMIENTO DE PIERNAS
MOVIMIENTO DE PIERNAS
MOVIMIENTO DE PIERNAS

Los brazos pueden funcionar en pares o individualmente. Cada brazo consta de una articulación del cuerpo llamada Coaxial con un movimiento de 45 a 135 grados, una articulación del muslo llamada Fémur, con un movimiento de 45 a 135 grados, y finalmente una articulación del codo llamada Tibia, o efector final, con un movimiento de 45 a 135 grados.. Se escribió un software a medida para proporcionar el movimiento de las piernas.

Tipos de movimiento de piernas:

Para el coaxial, 45 grados está mirando hacia atrás desde la cabeza, 90 grados es la posición neutral y 135 grados está mirando hacia adelante.

Para el fémur, 45 grados es la posición más alta desde el suelo, 90 grados es la posición neutral y 135 grados es la posición más baja desde el suelo.

Para la Tibia, 45 grados es la posición más distante del cuerpo, 90 grados es la posición neutral y 135 grados es la posición más cercana al cuerpo.

Suponga que todos los servos están en la posición neutra, 90 grados.

Adelante: pierna 1 y 2, elevación del fémur a 135 grados, coaxial se mueve a 45 grados, tibia se mueve a 45 grados más distante del cuerpo, fémur baja a 45 grados. Esto se repite para los pares de patas 3 y 4, y los pares de patas 5 y 6. Los 6 servos coaxiales se mueven de 45 grados hacia atrás a 90 grados, posición neutral, los 6 servos de fémur se mueven desde 45 grados hasta 90 grados, posición neutral. Finalmente, todos los servos Tibia se mueven hacia arriba de 45 grados a 90 grados, posición neutral.

Reversa: comenzando con las piernas 5 y 6, luego 3 y 4, y finalmente las piernas 1 y 2, de lo contrario, el movimiento es el mismo para Coax, Fémur y Tibia.

Izquierda: las piernas 1, 3 y 5 se mueven hacia atrás, mientras que las piernas 2, 4 y 6 se mueven hacia adelante. Tanto el movimiento de avance como el de retroceso se ajustan al movimiento de avance y retroceso estándar. Para completar el giro de los seis servos coaxiales, mueva 45 grados, lo que hace girar el cuerpo.

Derecha: las piernas 2, 4 y 6 se mueven hacia atrás, mientras que las piernas 1, 3 y 5 se mueven hacia adelante. Tanto el movimiento de avance como el de retroceso se ajustan al movimiento de avance y retroceso estándar. El movimiento coaxial es similar al anterior pero en dirección contraria.

Descanso: Todos los servos Coaxial y Femur en posición neutra, todos los servos Tibia en la posición más baja a 45 grados, agachados de manera efectiva tanto en las patas delanteras, como en las medias y traseras.

Agáchese hacia atrás, párese al frente: las piernas 1 y 2 en la posición más alta, las piernas 3 y 4 en punto muerto y las piernas 5 y 6 en la posición más baja.

Párese atrás, agachese al frente: Piernas 1 y en la posición más baja, piernas 3 y 4 en punto muerto y piernas 5 y 6 en la posición más alta.

Cangrejo a la izquierda: Las patas 1 y 5 se levantan y se extienden hacia afuera hacia la izquierda, al mismo tiempo que las patas 2 y 6 se levantan y contraen debajo del cuerpo. Con las cuatro piernas en el suelo, todas las Tibias vuelven a su posición neutral. Finalmente las piernas 3 y 4 repiten el mismo proceso.

Cangrejo a la derecha: Las patas 2 y 6 se levantan y se extienden hacia afuera hacia la derecha, al mismo tiempo que las patas 1 y 5 se levantan y contraen debajo del cuerpo. Con las cuatro piernas en el suelo, todas las Tibias vuelven a su posición neutral. Finalmente las piernas 3 y 4 repiten el mismo proceso.

Movimiento de la cabeza izquierda: cuello 1 servo 45 grados. Ambos servos regresan a la posición neutral de 90 °.

Movimiento de la cabeza derecha: cuello 1 servo 135 grados

Movimiento de la cabeza hacia arriba: cuello 2 servo 45 grados

Movimiento de la cabeza hacia abajo: cuello 2 servo 135 grados

Movimiento de la cabeza panorámica: el cuello 2 se mueve de 45 a 135 grados

SERVOS

Después de la prueba inicial, los servos MG995 y MG996 fueron reemplazados. Los 20 servos fueron reemplazados por servos DS32228 de 20 kg que proporcionaron un centrado mucho mejor y una mayor capacidad de carga.

Es importante probar minuciosamente cada servo utilizando un programa de prueba adecuado. Modifiqué el programa de ejemplo de "barrido" simple para probar específicamente para 0, 90 y 180 posiciones, esta rutina de prueba se ejecutó durante un mínimo de 5 minutos para cada servo y luego se repitió un día después.

NOTA: Es posible que el uso de una placa Arduino Uno estándar alimentada por un cable USB no proporcione suficiente voltaje para ejecutar ciertos servos. Encontré que los 4.85v que recibió el servo del Uno causaron un comportamiento errático con los servos DS3218, el aumento de este voltaje a 5.05v solucionó este problema. Entonces, decidí ejecutar los servos a 6v. Al final descubrí que era necesario un voltaje de 6.4v ya que el 6v causaba un comportamiento errático de los servos.

Paso 7: CONSTRUCCIÓN

CONSTRUCCIÓN
CONSTRUCCIÓN
CONSTRUCCIÓN
CONSTRUCCIÓN
CONSTRUCCIÓN
CONSTRUCCIÓN

PIERNAS

Comenzó con el diseño de las piezas del kit Hexapod. Todos los cuernos servo circulares requerían la ampliación del orificio de la estera en ambos extremos del fémur y todos los orificios coaxiales. Cada cuerno de servo se adjuntó a su correspondiente coaxial y fémur con cuatro tornillos y un quinto tornillo a través del centro de la cabeza del servo. Todos los cuerpos de los servos se unieron con cuatro pernos y tuercas. El soporte servo coaxial, para cada una de las seis patas, tenía un cojinete unido a la parte inferior del soporte con un solo perno y una tuerca. Cada montaje de servo coaxial se adjuntó, utilizando cuatro pernos y tuercas, a su montaje de servo de fémur con este montaje girado 90 grados. La cabeza del servo del fémur se adjuntó a un extremo del brazo del fémur con el otro extremo del fémur unido al cabezal del servo de Tibia. Los seis servos Tibia se unieron a la parte superior de las seis patas con cuatro pernos y tuercas. Cada efector de extremo de la pierna estaba cubierto con una bota de goma suave para proporcionar un agarre adicional. Se encontró que la bocina del servo suministrada era demasiado grande para fijarla en las conexiones Coaxial, Fémur y Tibia, por lo que todos los orificios centrales se ampliaron a 9 mm. Mi agradecimiento a "Toglefritz" por su instructable Capers II con respecto a los elementos de construcción del kit Hexapod. Sin embargo, me desvié de la construcción en un área, a saber, la fijación de los cuernos del servo en ambos extremos del fémur. Decidí agrandar el orificio central del fémur para permitir que el centro de la bocina del servo pasara a través de él, lo que le dio a la bocina del servo una fuerza adicional ya que estaba más cerca del servo y estas dos articulaciones experimentaron el par máximo. Cada cuerno de servo se fijó al fémur con dos tornillos autorroscantes M2.2, los extremos de estos tornillos se retiraron y se limaron planos. Todos los pernos M3 tenían un cierre hermético aplicado.

CUERPO

El cuerpo consta de dos placas, cada una con seis orificios, cada uno de los cuales se utiliza para conectar la bocina del servo coaxial. Se colocaron dos baterías de 6 V 2800 mAh en la parte inferior de la placa inferior con velcro. Se colocaron cuatro separadores M3 que se extienden más allá de la parte inferior del soporte de la batería, cada uno con una funda de goma suave deslizada en la parte inferior, lo que proporciona una base estable sobre la que puede descansar el Hexapod. La sección superior de la placa inferior tiene el Arduino Mega y su protector de sensor conectados mediante cuatro separadores de 5 mm. En la parte superior de la placa inferior se colocaron 4 soportes M3 de 6 cm de altura, estos rodearon el Arduino Mega y proporcionaron soporte para la placa superior. La placa superior tenía una caja de 120 mm x 70 mm x 30 mm adjunta, esto albergará el primero de los servos del cuello y la pantalla LCD. Un segundo soporte de batería de 2 bahías, 2 x 18650 se adjuntó a la parte inferior de la placa superior a la parte posterior de la placa Arduino Mega mirando hacia la parte frontal del Hexapod.

La placa superior tiene seis bocinas servo cada una unida con cuatro tornillos M2.2. En la parte superior de la placa se instala una caja de 70 mm x 120 mm x 30 mm en la que se instalan un soporte de batería 18650 de 2 bahías, un interruptor de dos polos, un LED verde y una pantalla LCD IC2 de 16 x 2. Además, el primer servo de cuello también está instalado, la alimentación y el cable de datos del segundo servo de cuello pasan a través de un orificio para alimentar el segundo servo y el módulo Arduino V3 NodeMcu. Otro cable de datos pasa a través de la caja superior y alimenta el módulo ultrasónico HC-SR04, nuevamente ubicado en el cabezal. Un segundo cable de datos y alimentación también se pasa a la cabeza para alimentar el anillo de led pixie.

Los dos cables de datos servo y el cable de datos HC-SR04 se alimentan a través de la placa superior, mientras que el módulo Bluetooth se conecta a la parte inferior de la placa mediante una almohadilla de forma de neón y pegamento caliente. La gestión de cables de los 18 cables de datos de servo restantes debe estar en su lugar antes de cualquier intento de fijar la placa superior a la placa inferior utilizando 4 tornillos M3 que encajan en los 4 soportes M3 que se adjuntan a la placa inferior. Como parte del proceso de fijación de la placa superior inferior, los seis servos coaxiales también deben colocarse en su posición correcta con el rodamiento encajado en el orificio de la placa inferior y el cabezal del servo encajado en la bocina de la placa superior. Una vez instalados, la parte superior de los seis servos coaxiales se asegura con 6 tornillos M3. Debido a la posición de las bocinas de los servos para los seis servos coaxiales, los 4 soportes M3 debían reducirse en altura en 2 mm, de modo que los rodamientos del servo coaxial se asentaran correctamente en la placa inferior.

CABEZA

La cabeza consta de dos servos a 90 grados entre sí, uno alojado en la caja unida a la placa superior, y el segundo unido al primero a través de la bocina del servo usando una sección en forma de U de placa de latón. La bocina del segundo servo está unida a un soporte de latón en forma de L que a su vez está unido a una caja de 70 mm x 70 mm x 50 mm con dos pernos y tuercas. La caja forma la cabeza, dentro de la cual están instalados la cámara Ardcam, el módulo ultrasónico HC-SR04 y el módulo Arduino V3 NodeMcu y el LED de encendido. Tanto el módulo ultrasónico transmisor como el receptor, los cabezales del sensor sobresalen por la parte frontal de la caja al igual que la lente de la cámara. Rodeando la lente en el exterior de la caja hay un anillo de duendecillo Nero de 16 LCD. El LED de alimentación de NodeMcu se ve a través de un orificio en la placa posterior del cabezal, el cable de alimentación, el cable de datos del módulo ultrasónico y los cables de alimentación de datos pixie Neon ingresan a través de un orificio entre la placa posterior y la placa del cabezal.

ELECTRÓNICA

Los siguientes diagramas de Fritzing muestran la electrónica del cuerpo y la cabeza. Las líneas VCC y GRD no se muestran para los 20 servos para ayudar a la claridad del diagrama. El módulo Bluetooth, a través de la aplicación de Android, controla el movimiento del hexápodo, incluidos los servos del cuello. El módulo Arduino NodeMcu basado en WIFI controla el módulo de la cámara Arducam. Todos los servos están conectados al escudo del sensor Arduino a través de un solo bloque que contiene VCC, GRD y líneas de señal. Se utilizan cables de puente DuPont estándar de 20 cm para conectar el LCD Bluetooth BT12, HC-SR04 e IC2.

CALIBRACION DE PIERNAS

Esta es una de las áreas de preparación más difíciles antes de trabajar en el movimiento del hexápodo. La idea inicial es configurar todas las patas a lo siguiente, servos coaxiales a 90 grados, servos de fémur a 90 grados y servos Tibia a 90 con la posición física de las piernas a 105 grados para las patas 2, 4 y 6, y 75 grados. para las patas 1, 3 y 5. El Hexapod se colocó sobre una superficie nivelada que descansaba sobre los cuatro soportes debajo de la carcasa de la batería. Las piernas estaban colocadas a la misma distancia entre cada pierna y a la misma distancia del cuerpo. Todas estas posiciones estaban marcadas en la superficie nivelada. Durante la construcción de las patas se encontró el punto medio de cada servo, esta debería ser la posición de 90 grados de los servos. Esta posición predeterminada de 90 grados se usa con todos los servos.

Las caras internas de los servos coaxiales 2 y 5 son paralelas entre sí, esto se aplica a los servos 1 y 6, y 3 y 4. Todos los servos Fémur y Coaxial se fijan juntos a 90 grados entre sí durante la fase de construcción. Todos los servos de fémur tienen el brazo de fémur unido a ellos en un ángulo de 90 grados. Todos los servos de Tibia están conectados a la Tibia a 90 grados. Los servos Tibia 2, 4 y 6 están conectados al brazo del fémur a 105 grados, mientras que los servos Tibia 1, 3 y 5 están conectados al brazo del fémur a 75 grados.

Es importante tener en cuenta que durante la prueba, se debe controlar la temperatura de todos los servos, un servo caliente significa que el servo está trabajando demasiado y podría fallar, la mayoría de los servos estarán calientes al tacto.

La calibración inicial consiste en mover el hexápodo de su posición de reposo, después de encenderlo, a una posición de pie que sea estable, estable, nivelada y, lo más importante, ninguno de los servos se sobrecalienta. Para mantener una posición estable, es necesario escribir en cada servo con un retraso de menos de 20 milisegundos, se utilizaron 10 milisegundos. Todos los servos solo pueden moverse de 0 a 180 grados y de 180 grados a 0, por lo que para todos los servos de fémur 0 y 180 grados es vertical y 90 grados es horizontal.

Antes de conectar cada servo, se envió una escritura de inicialización a cada uno de los servos previamente definidos, dándole su ángulo de reposo actual, es decir. la posición actual en la que se encuentra el servo mientras descansa. Esto fue de 90 grados para todos los servos coaxiales, 55 grados para los servos de Fémur y Tibia 1, 3 y 5, y 125 grados para los servos de Fémur y Tibia 2, 4 y 6.

Es importante tener en cuenta que las baterías siempre deben estar completamente cargadas al inicio de la sesión de calibración.

El hexápodo siempre parte de una posición de reposo, con el cuerpo entero sostenido por los cuatro pies. Desde esta posición, todos los servos de fémur y tibia se ciclan desde sus posiciones iniciales hasta su posición de pie, momento en el que todos los servos están a 90 grados. Para completar la posición de pie, se emite el comando "pararse", este comando requiere que todas las piernas se levanten y se coloquen nuevamente en dos series de tres movimientos de piernas, piernas 1, 5 y 4, y 2, 6 y 3.

Paso 8: SOFTWARE

El software consta de tres partes, la primera es el código Arduino que se ejecuta en Arduino Mega, la segunda parte es el código Arduino que se ejecuta en el módulo NodeMcu en la cabeza. La comunicación se realiza a través de la unidad Bluetooth BT12 que recibe comandos de la tableta Android, es decir, una Samsung Tab 2, que ejecuta una aplicación personalizada construida por Android Studio. Es esta aplicación la que envía comandos al Hexapod. La misma aplicación también recibe transmisión de video en vivo desde el módulo NodeMcu a través de su WIFI integrado.

CÓDIGO ANDROID

El código de Android a medida, desarrollado con Android Studio, proporciona la plataforma en la que se ejecuta la aplicación de dos pantallas. La aplicación tiene dos pantallas, la pantalla principal permite al usuario emitir comandos al hexápodo y ver la transmisión de video que proviene del cabezal del hexápodo. La segunda pantalla, a la que se accede a través del botón WIFI, permite al usuario conectarse, en primer lugar, al Bluetooth hexápodo y, en segundo lugar, al punto de acceso WIFI generado por la tarjeta Arduino NodeMCU en el cabezal hexápodo. La aplicación envía comandos de una sola letra, a través de una serie de 9600 baudios, desde la tableta a través del Bluetooth incorporado al Bluetooth BT12 conectado al hexápodo.

CÓDIGO ARDUINO

El desarrollo del código comenzó con el desarrollo de un programa de prueba que fue diseñado para probar las funciones básicas del hexápodo, su cabeza y cuerpo. Dado que el cabezal y su funcionamiento están completamente separados del cuerpo, el desarrollo de software se probó en paralelo con el código de función del cuerpo. El código de operación del cabezal se basó en gran medida en un desarrollo anterior con la inclusión del movimiento del servo. El código incluía el funcionamiento de una pantalla LCD de 16x2, un módulo ultrasónico HC-SR04 y un anillo de luz de 16 LED. Se requirió un mayor desarrollo de código para proporcionar acceso WIFI a la transmisión de video en vivo desde la cabeza.

El código de función del cuerpo se desarrolló inicialmente para proporcionar la conexión inicial del servo y la posición inicial en reposo. Desde esta posición, el hexápodo estaba programado para simplemente pararse. Luego, el desarrollo continuó con movimientos adicionales del Hexapod y la combinación de las secciones de código de la cabeza y el cuerpo con las comunicaciones en serie con la aplicación de Android.

El código del servo de prueba permitió el desarrollo de movimientos de piernas y cuerpo, a saber:

1. InitLeg: permite la posición de la pierna de reposo, la posición de la pierna de pie, la posición inicial de la pierna de cangrejo para caminar hacia la izquierda o hacia la derecha, la posición inicial de la pierna para caminar hacia adelante o hacia atrás.

2. Onda: permite que las patas delanteras se ondulen, cuatro veces, antes de volver a la posición de pie.

3. TurnLeg: permite que el hexápodo gire hacia la izquierda o hacia la derecha.

4. MoveLeg: permite que el hexápodo camine hacia adelante o hacia atrás.

5. CrouchLeg: permite al hexápodo agacharse hacia adelante sobre sus patas delanteras o hacia atrás sobre sus patas traseras.

El movimiento de las piernas se basa en pares de piernas que trabajan juntas, por lo que las piernas 1 y 2, 3 y 4, 5 y 6 funcionan como pares. El movimiento consta de dos acciones básicas, un estirar y tirar hacia adelante y un empujón hacia atrás. Para caminar hacia atrás, estos dos movimientos se invierten, por ejemplo, caminar hacia adelante, las piernas 1 y 2 tiran, mientras que las piernas 5 y 6 empujan, las piernas 3 y 4 brindan estabilidad. Caminar como un cangrejo consiste simplemente en estas mismas acciones pero a 90 grados del cuerpo, en este caso las patas 3 y 4 también se mueven de la misma forma que las otras patas. Mientras camina, los pares de patas se mueven alternativamente, sin embargo, mientras que las patas de cangrejo 1 y 5 funcionan como un par, mientras que la pierna 3 trabaja en pasos alternos a las patas 1 y 5.

A continuación se describe la función de movimiento para cada una de las principales funciones de movimiento, cada una de las cuales consta de elementos de movimiento reunidos y activados en una secuencia establecida.

DESCANSO: Comenzando desde una posición de pie, todos los servos de fémur se mueven hacia arriba para bajar el cuerpo sobre los cuatro soportes. Al mismo tiempo, todos los servos Tibia se mueven hacia adentro.

DE PIE: Comenzando desde la posición de reposo, todos los servos de Tibia se mueven hacia afuera, cuando esto se completa, todos los servos de Fémur se mueven a la posición de 90 grados, finalmente todos los servos de Tibia se mueven a la posición de 90 grados al mismo tiempo.

GIRO A LA IZQUIERDA: Las piernas 1, 3 y 5 se mueven hacia atrás, alejándose de la cabeza en 45 grados, al mismo tiempo las piernas 2, 4 y 6 se mueven hacia adelante hacia la cabeza. Una vez que se hayan completado todos los servos coaxiales se mueven de su posición actual a la posición estándar de 90 grados, este movimiento sería en sentido contrario a las agujas del reloj hacia el cuerpo.

GIRO A LA DERECHA: Las piernas 1, 3 y 5 se mueven hacia la cabeza 45 grados, al mismo tiempo las piernas 2, 4 y 6 se mueven hacia atrás alejándose de la cabeza. Una vez que todos los servos coaxiales se muevan de su posición actual a la posición estándar de 90 grados, este movimiento sería en el sentido de las agujas del reloj hacia el cuerpo.

CRUCE HACIA ADELANTE: Las piernas 1 y 2 bajan usando los servos de Fémur y Tibia, mientras que las piernas 5 y 6 se levantan usando sus servos de Fémur y Tibia, las piernas 3 y 4 permanecen en la posición estándar.

CRUCE HACIA ATRÁS: Las piernas 1 y 2 se levantan usando los servos de Fémur y Tibia, mientras que las piernas 5 y 6 se bajan usando sus servos de Fémur y Tibia, las piernas 3 y 4 permanecen en la posición estándar.

ONDULAR: Esta rutina usa solo las piernas 1 y 2. Los servos coaxiales se mueven en un arco de 50 grados, mientras que el fémur y la tibia también se mueven en un arco de 50 grados. Las piernas 3 y 4 se mueven hacia adelante 20 grados hacia la cabeza, esto proporciona una plataforma más estable.

CAMINAR HACIA ADELANTE: Las piernas 1 y 6, 2 y 5, y 3 y 4 deben trabajar juntas. Entonces, mientras la pierna 1 está tirando del cuerpo, la pierna 6 debe estar empujando el cuerpo, tan pronto como se complete esta acción, las piernas 2 y 5 deben realizar la misma acción, mientras que cada uno de estos ciclos de acción está ocurriendo, las piernas 3 y 4 deben realizar su seguir adelante con la rutina.

Las funciones del módulo de la pierna de prueba inicial permitieron un diseño para cada uno de los tres movimientos de la pierna. Se requieren tres movimientos de piernas ya que las piernas opuestas simplemente realizan los movimientos inversos. Se desarrolló, probó y copió un nuevo módulo combinado de rama 1, 3 y 6 para un segundo módulo de rama invertida 2, 4 y 5 ramales. La prueba de los movimientos de las piernas del hexápodo se logró colocando el hexápodo en un bloque elevado para permitir el movimiento completo de las piernas sin tocar el suelo. Las mediciones se tomaron mientras las piernas se estaban moviendo y se encontró que todas las piernas se mueven horizontalmente una distancia de 80 mm mientras que al mismo tiempo permanecen a 10 mm del suelo en su punto más bajo durante el movimiento. Esto significa que el hexápodo simplemente se balanceará de un lado a otro durante el movimiento y que todas las piernas tendrán la misma fuerza de tracción durante el movimiento.

CAMINATA EN REVERSA:

CANGREJO QUE CAMINA A LA IZQUIERDA: El movimiento inicial comienza con las piernas 1, 2, 5 y 6, todas girando 45 grados hacia la dirección de desplazamiento. Esto coloca todos los tramos en línea con la dirección de viaje, los tramos 3 y 4 ya están en la orientación correcta. El fémur y la tibia de cada pierna comenzando en la posición predeterminada de 90 grados. Este paso consta de dos conjuntos de tres piernas que trabajan en zancadas alternas, piernas 1, 5 y 4, y piernas 3, 2 y 6. Cada conjunto de tres piernas trabaja tirando con las patas delanteras, es decir, 1 y 5 y empujando con pierna 4, este movimiento se invierte entonces la pierna 3 tira mientras las piernas 2 y 6 empujan, ninguno de los servos coaxiales hace ningún trabajo durante este movimiento. Cada juego de tres piernas levanta el otro juego de piernas estacionario a medida que se mueve el primer juego.

CANGREJO CAMINANDO A LA DERECHA:

NOTA: La cabeza girará en la dirección del cangrejo caminando hacia la izquierda o hacia la derecha. Esto permite utilizar la detección ultrasónica HC-SR04 mientras camina.

AJUSTE DE LAS PIERNAS: Para que el hexápodo esté nivelado, es necesario que todas las piernas estén a la misma altura. Colocando el hexápodo en bloques y luego usando las rutinas de soporte y descanso, fue posible medir la distancia del suelo de cada efector final. Agregué botas de goma a cada efector final para, en primer lugar, agregar agarre, pero también para permitir un pequeño ajuste a la longitud de la pierna, con el objetivo de 5 mm o menos entre todas las piernas. Configurar cada servo a 90 grados fue fácil, sin embargo, la conexión de cada servo cuerno a ambos extremos del fémur puede causar problemas, ya que diferencias muy pequeñas en los ángulos de rotación de las espinas internas de los cuernos hacen que la altura de las piernas difiera en 20 mm. Cambiar los tornillos a diferentes orificios de fijación en las bocinas de los servos corrigió esta diferencia de altura de 20 mm. Estaba decidido a solucionar este problema usando este método en lugar de tener que compensar estas diferencias de altura usando un software.

Recomendado: