CAPITULO IV 4.1.- Resultado de la Investigación

25
53 CAPITULO IV 4.1.- Resultado de la Investigación: Como resultado del desarrollo de este tipo de robot, se ha logrado un diseño de cuerpo articulado y la determinación del comportamiento de sus parámetros de locomoción libre, para simplificar el cálculo de la estabilidad estática. La realización de algunos aspectos del diseño, tenían que ser tales que no afectaron la funcionalidad del cuerpo, el espacio y las dimensiones, ya que se pretende conservar la proporcionalidad a escala. Fase I: Estudiar los movimientos de un robot quilópodo. Actividad I: Analizar la estructura ósea y los movimientos de un quilópodo. Figura 6: Quilópodo Fuente: http://animales-venenosos.blogspot.com/2010/04/escolopendra- scolopendromorpha.html

Transcript of CAPITULO IV 4.1.- Resultado de la Investigación

53

CAPITULO IV

4.1.- Resultado de la Investigación: Como resultado del desarrollo de este tipo de robot, se ha logrado un diseño

de cuerpo articulado y la determinación del comportamiento de sus parámetros de

locomoción libre, para simplificar el cálculo de la estabilidad estática. La

realización de algunos aspectos del diseño, tenían que ser tales que no afectaron

la funcionalidad del cuerpo, el espacio y las dimensiones, ya que se pretende

conservar la proporcionalidad a escala.

Fase I: Estudiar los movimientos de un robot quilópodo.

Actividad I: Analizar la estructura ósea y los movimientos de un quilópodo.

Figura 6: Quilópodo Fuente: http://animales-venenosos.blogspot.com/2010/04/escolopendra-

scolopendromorpha.html

54

Su número varía desde 30 hasta 372, es decir, desde15 a 181 pares. al nacer

(lo hacen de un huevo, el cual puede estar protegido por la hembra al enroscarse

sobre él o depositado en cámaras bajo tierra), algunas especies de ciempiés

llegan al mundo con una cantidad ya definida de patas y segmentos (epimórficas);

pero, por el contrario, otras los van adicionando a su cuerpo conforme se

desarrollan y crecen hasta alcanzar la adultez.

En el estudio de los quilópodo se encontró que son conformado por módulos

y que cada modulo contiene un par de patas pudiendo ser acoplado otros módulos

en el futuro, aumentando de esta manera la cantidad de patas.

Actividad II: Revisión y registro de diferentes materiales bibliográficos y

digitales relacionados con la construcción y control de robots con patas.

Figura 7: Robot Hexápodos Fuente: http://grvc.us.es/~jescap/spanish/proyectos.html

Con la observación de robots hexápodos en medios digitales se obtuvieron

los datos (ver tabla 9), siendo dibujado (ver anexo 1). para luego construir un

prototipo en madera (figura 10), y así realizar estudios directos para definir las

articulaciones.

55

El bosquejo en madera del quilópodo es el primer diseño de una obra del

proyecto, hecho de manera provisional, con los elementos esenciales y sin

detalles. Ver Anexo 1 y 2.

Figura 8: Prototipo en madera. Fuente: Montero (2012) Tabla 9: Datos del bosquejo en madera

Largo Total (3 módulos) 48 cm Ancho con las patas 18 cm Largo de un modulo 14 cm Ancho del cuerpo 6,6 cm Espesor del cuerpo 0,8 cm Muslo de la pata 4 cm Espinilla de la pata 6,3 cm Diámetro de las patas 0,8 cm Angulo del muslo con el modulo 45 º Angulo del espinilla y el muslo 90 º Peso total (3 módulos) 286 gm Distancia entre las patas 3 cm Distancia de la primera y última pata con el modulo 2,5 cm Separación del modulo con el suelo 1,3 cm

Fuente: Montero (2012)

56

● Fase II: Calcular la cinemática de las articulaciones a controlar del robot

quilópodo.

Actividad III: Desarrollar un prototipo de madera, y calcular las dimensiones

de cada módulo y la fuerza necesaria de cada motor. Realizar cálculos de la

altimetría del terreno donde se desplazará el robot.

Con los datos obtenidos del prototipo en madera se calculo los parámetros de

Denavit y Hartenberg (DH), los cuales son los siguientes:

Tabla 10: Parámetros DH para el Robot. Fuente: Montero (2012) Articulación a d

1 0 0 Q1 0,5 cm

2 90º 0 Q2 1 cm

El problema cinemática directa consiste en determinar la posición y

orientación final del extremo del robot a partir de las articulaciones y parámetros

geométricos del robot. Con el siguiente programa desarrollado en MATLAB se

demuestra la trayectoria de una pata. (Ver Figura 9):

>> L1=0.5;

>> L2=4;

>> th1=0:0.1:pi/2;

>> th2=th1;

>> px=L1*cos(th1)+L2*cos(th1+th2);

57

>> py=L1*sin(th1)+L2*sin(th1+th2);

>> plot(px,py)

>> grid

Figura 9: Trayectoria de la Pata. Fuente: Montero (2012). La locomoción del robot quilópodo se basa en un modelo cuádruple de

movimiento, igual como sucede con los seres vivos el quilópodo debe ser capaz

de soportar su propio peso y superar la fuerza de gravedad. Este modelo

cuádruple es básicamente, mantener cuadro patas en el suelo y darle libertad de

58

movimiento a las otras cuadro; una ventaja de este modelo es la estabilidad que

se genera para el robot.

Figura 10: Locomoción del quilópodo Fuente: Montero José Como se muestra en la figura 10 (A), la posición inicial para el prototipo será

la de mantener todas sus patas en el suelo, seguido de esto figura 10 (B) se

reafirma la posición fija para cuatro de las patas las demás avanzan; el siguiente

paso se fijar las patas que avanzaron lo que permitirá el avance de las demás.

Esta dinámica de movimiento será reiterativa hasta el momento en el que se

reinicie el programa que controla la cinemática que realiza el robot.

Las patas tienen cada una seis pociones en el plano cartesiano, siendo

posicionada por dos servo motores permitiendo el equilibrio del modulo, en la

figura 11 (A), el control esta en reposo quedando todas las patas en el aire, en la

figura 11 (B), el controlador está en la posición inicial colocando todas las patas

apoyadas en el suelo, en la figura 11 (C), en modulo esta en el siclo de

59

desplazamiento. Estos movimientos son contemplados en la simulación de

Blender ver figura 14.

Figura 11: Posicionamiento de las patas en el plano frontal. Fuente: Montero (2012) En la figura 14, teniendo una visión superior se describen las posiciones de

las patas al momento de inicio figura 14 (A), al momento que la pata se desplaza

hacia delante figura 14 (B), y al momento que la pata retrocede desplazando el

modulo hacia delante figura 14 (C).

Con la construcción de un prototipo en madera se puede visualizar las

Articulaciones, posiciones y diámetro de las patas. En la figura 15 se visualiza el

prototipo en la parte Fontal.

Construyendo una simulación en MATLAB con las siguientes comandos

obtuvimos las figura 12.

>> L1=link([0 1 0 0 0]);

60

>> L2=link([0 4 0 pi 0]); >> L3=link([0 6.3 0 -pi 0]); >> r=robot({L1 L2 L3}); >> plot(r,[0 0 0])

Figura 12: Simulación de una pata en MATLAB. Fuente: Monter (2012)

61

Para visualizar (figura 13), el movimiento de la pata en la coordenada Z se

utilizo el siguiente comando:

>> q=jtraj([-1 0 0],[1 0 0], 200); >> plot(r,[0 0 0])

A: Posición inicial.

B: Posición Final . Figura 13: Simulación del movimiento en MATLAB. Fuente Montero (2012). Actividad IV: Diseñar una simulación en un programa de animación

(blender), para concretar los movimientos del robot quilópodo.

Para representar la orientación de la pata, un punto queda totalmente definido

en el espacio cartesiano, mientras el miembro se desplaza por los distintos puntos

62

de su movimiento. Para este cálculo se utiliza la matriz de rotación en la figura 10

y se define como:

Realizando unas series de transformaciones se llega a lo siguiente:

Donde:

Dando como resultado la siguiente ecuación:

Figura 14: Posicionamiento de las patas en el plano superior.

Fuente: Montero (2012) La matriz Homogénea nos permite representar la posición y orientación de

un sistema girado y trasladado OUVW, con respecto a un sistema fijo de

referencia OXYZ, que es lo mismo que representar una rotación y una traslación

63

realizada sobre un sistema de referencia. Es una matriz T de 4 x 4 que representa

la transformación de un vector de un sistema de coordenadas a otro.

Esta matriz está compuesta por 4 submatrices:

SubMatriz de Rotación.

SubMatriz de Traslación.

SubMatriz de Perspectiva.

SubMatriz de Escalado Global.

Para el cálculo de la matriz homogénea con el programa MATLAB se realizo

con las siguientes líneas de comando:

>> Ta=[cos(45) -sin(45) 0 0; sin(45) cos(45) 0 0; 0 0 1 0; 0 0 0 1] Ta = 0.5253 -0.8509 0 0 0.8509 0.5253 0 0 0 0 1.0000 0 0 0 0 1.0000 >> Tb=[cos(45) -sin(45) 0 0; sin(45) cos(45) 0 0; 0 0 1 0; 0 0 0 1] Tb = 0.5253 -0.8509 0 0 0.8509 0.5253 0 0 0 0 1.0000 0 0 0 0 1.0000 >> T=Ta*Tb T = -0.4481 -0.8940 0 0 0.8940 -0.4481 0 0 0 0 1.0000 0 0 0 0 1.0000

64

Figura 15: Vista frontal del prototipo de madera Fuente: Montero (2012)

Figura 16: Vista lateral del prototipo de madera Fuente: Montero (2012)

Figura 17: Quilópodo simulado en Blender. Fuente: Montero (2012).

65

● Fase III: Diseñar del modelo cinemático para el robot quilópodo.

Actividad V: El modelo de aluminio se realiza con las articulaciones que

permitirán su desplazamiento.

Figura 18: Prototipo de sistema óseo. Fuente: Montero (2012). En el estudio del prototipo en madera, permitió realizar tres modelos de

cuerpo para analizar el cuerpo del robot quilópodo. Estos cuerpos fueron realizado

con tubo PVC figura 19, en búsqueda del los Movimientos articulaciones

adecuado.

66

Figura 19: Prototipo de cuerpos. Fuente: Montero (2012). En el mismo proceso de experimentación diferente tipo de locomoción como

se muestra en la figura 20.

Figura 20: Prototipo de Módulos. Fuente: Montero (2012).

67

Con las articulaciones de las patas se analizaron varios modelos figura 21.

Figura 21: Prototipo de articulaciones. Fuente: Montero (2012).

Fase IV: Programación del control de cada articulación del robot

quilópodo.

Actividad VI: Diseñar el prototipo final de aluminio.

Desarrollar las distintas líneas que componen el programa del

microcontrolador, el cual controlara los servomotores del robot quilópodo, y con el

proteus se simulara para garantizar su efectividad.

El prototipo final (ver figura 22), está constituido por un cuerpo de aluminio

segmentado en el centro en tres partes, para disminuir el peso del cuerpo, los

servomotores que conforman el muslo esta acoplado al cuerpo de aluminio, los

servomotores que conforman las espinillas están sujetas al muslo, las patas que

se realizaron de madera con un ángulo, que permitiera la similitud a las patas del

quilópodo natural. Todo el prototipo del robot quilópodo está conformado por un

peso de 345 gm.

68

Figura 22: Prototipo Final del robot quilópodo. Fuente: Montero (2012).

El resultado de de toda la experimentación se obtuvo un prototipo con un

modelo de patas como se muestra en la figura 15.

Con El programa MPLAB construir los distintos comandos que componen el

programa del microcontrolador el cual controlara al robot quilópodo, con el

proteus se simulara para garantizar su efectividad y con Ic-pro se gravo el

programa en el PIC.

Tabla 11: Programa del primer PIC. Fuente: Montero (2012)

List p=pic16f84a #include <p16f84a.inc> radix hex k equ 0x0c k2 equ 0x0d k3 equ 0x0e org 0h goto inicio org 5h #include <tiempo.asm> Inicio bsf STATUS,RP0 movlw b'01111' movwf TRISA clrf TRISB bcf STATUS,RP0 clrf PORTA

ataque movlw .3 movwf k3 movlw b'10101010' movwf PORTB call t_1 call t_0.1 call t_0.1 call t_0.03 call t_0.03 call t_0.01 call t_0.01 clrf PORTB movlw b'01010101' movwf PORTB call t_A1D clrf PORTB call t_12 call t_0.5 call t_0.03 goto escan

69

Tabla 11: Programa del primer PIC. Fuente: Montero (2012)

(Cont…) clrf PORTB escan btfsc PORTA,3 goto molesto goto escan2 escan2 btfsc PORTA,0 goto activado goto descanso activado btfsc PORTA,2 goto avanza goto preparado molesto btfsc PORTA,1 goto defensa goto ataque descanso movlw b'11111111' movwf PORTB call t_N1 movlw b'00000000' movwf PORTB call t_N0 goto escan preparado movlw .60 movwf k3 prepa movlw b'10101010' movwf PORTB call t_prepa_1 clrf PORTB call t_N0 decfsz k3,1 goto prepa goto escan defensa movlw .15 movwf k3 defen movlw b'10101010' movwf PORTB call t_defen_1 clrf PORTB movlw b'01010101' movwf PORTB call t_A1I clrf PORTB decfsz k3,1 goto defen goto escan

avanza movlw .60 movwf k3 positivo movlw b'01010101' movwf PORTB call t_A1I clrf PORTB call t_12 decfsz k3,1 goto positivo movlw .60 movwf k3 po movlw b'10101010' movwf PORTB call t_B1I clrf PORTB call t_12 call t_0.5 call t_0.1 call t_0.1 decfsz k3,1 goto po movlw .60 movwf k3 negativo movlw b'01010101' movwf PORTB call t_A1D clrf PORTB call t_12 call t_0.5 call t_0.03 decfsz k3,1 goto negativo movlw .60 movwf k3 ne movlw b'10101010' movwf PORTB call t_B1D clrf PORTB call t_12 call t_0.5 decfsz k3,1 goto ne goto escan

end

Tabla 12: Programa del segundo PIC. Fuente: Montero (2012)

List p=pic16f84a #include <p16f84a.inc> radix hex

ataque movlw .3 movwf k3 movlw b'10101010' movwf PORTB

70

Tabla 12: Programa del segundo PIC. Fuente: Montero (2012)

(Cont…) k equ 0x0c k2 equ 0x0d k3 equ 0x0e org 0h goto inicio org 5h #include <tiempo.asm> inicio bsf STATUS,RP0 movlw b'01111' movwf TRISA clrf TRISB bcf STATUS,RP0 clrf PORTA clrf PORTB escan btfsc PORTA,3 goto molesto goto escan2 escan2 btfsc PORTA,0 goto activado goto descanso activado btfsc PORTA,2 goto avanza goto preparado molesto btfsc PORTA,1 goto defenza goto ataque descanso movlw b'11111111' movwf PORTB call t_N1 movlw b'00000000' movwf PORTB call t_N0 goto escan preparado movlw .60 movwf k3 prepa movlw b'10101010' movwf PORTB call t_prepa_1 clrf PORTB call t_N0 decfsz k3,1 goto prepa goto escan defenza movlw .15

call t_1 call t_0.1 call t_0.1 call t_0.03 call t_0.03 call t_0.01 call t_0.01 clrf PORTB movlw b'01010101' movwf PORTB call t_A1D clrf PORTB call t_12 call t_0.5 call t_0.03 goto escan avanza movlw .60 movwf k3 negativo movlw b'01010101' movwf PORTB call t_A1D clrf PORTB call t_12 call t_0.5 call t_0.03 decfsz k3,1 goto negativo movlw .60 movwf k3 ne movlw b'10101010' movwf PORTB call t_B1D clrf PORTB call t_12 call t_0.5 decfsz k3,1 goto ne movlw .60 movwf k3 positivo movlw b'01010101' movwf PORTB call t_A1I clrf PORTB call t_12 decfsz k3,1 goto positivo movlw .60 movwf k3 po movlw b'10101010' movwf PORTB call t_B1I clrf PORTB

71

Tabla 12: Programa del segundo PIC. Fuente: Montero (2012)

(Cont…) movwf k3 defen movlw b'10101010' movwf PORTB call t_defen_1 clrf PORTB movlw b'01010101' movwf PORTB call t_A1I clrf PORTB decfsz k3,1 goto defen goto escan

call t_12 call t_0.5 call t_0.1 call t_0.1 decfsz k3,1 goto po end

Simulación de diseño de la lógica del PIC en ploteus.

Figura 23: Simulación de los motores de paso Fuente: Montero (2012).

72

El microcontrolador que se utilizo es el 16F84A, se emplearon dos PIC con el

propósito de que el robot realice dos movimiento en el mismo tiempo. Los

elemento que se acoplaron para obtener el circuito son: dos PIC, cinco

resistencias, dos pulsadores, tres interruptores, diez siséis servo motores. La

frecuencia utilizada por los PIC es de 4 MHz, conectado un solo cristal para los

dos Microcontroladores, La resistencia pull up solo se utiliza una para los dos PIC,

permitiendo de esta manera resetear al mismo tiempo los dos integrado.

● Fase V: Comprobar el desempeño de las articulaciones de movimiento del

robot quilópodo al transportar carga en zonas de difícil acceso.

Actividad VII: Con la simulación de terrenos el robot será evaluado su

comportamiento y desenvolvimiento al momento de trasladarse de un logar a otro.

En la simulación en 3 D se utilizo el programa BLENDER permitiendo

observar el movimiento de sus patas.

Figura 24: Prototipos simulado en Blender. Fuente: Montero (2012).

73

4.2. Diseño del Sistema de Control. El servo motor se mueve a diferentes posiciones, se compone básicamente

de un motor de corriente continua, engranaje, un sensor de posición y de

electrónica para controlar el motor. Suele estar limitado a 180 º, se controla con un

tren de pulsos que depende de la frecuencia será la posición del servo motor

(figura 26). La frecuencia es controlada por un par de PIC 16F84A, la cual

contienen un oscilador de 4 MHz para trabaja internamente el microcontrolador.

La frecuencia que estimara la posición de los servomotores que están

conectado a las patas del robot, serán controlado por cuatro interruptores que

configuran un código BCD (ver tabla 13), para determinar el control deseado

determinando el movimiento del robot quilópodo.

Figura 25: Señal de control del servomotor. Fuente: http://reactivesystems.wordpress.com/2011/10/31/servomotor/

74

Tabla 13: Lógica de entradas Fuente: Montero (2012)

El conjunto de líneas de instrucciones que permiten el desarrollo de una

frecuencia, esto se logra con la activación y desactivación de un puerto en un

tiempo determinado.

Cada pata está conformado por dos servomotores (ver figura 25), lo cual un

esta conector directamente al cuerpo (los que terminan en 0), permitiendo el

movimiento de rotación, el segundo servomotor (los que terminan en 1), se

encuentra acoplado al primer motor directamente permitiendo el movimiento de

elevación. Cado servomotor está identificado de orden alfabético acompañado por

un numero, la letra identifica la pata, mientras que el numero la posición, si es cero

muslo y si es 1 espinilla.

75

Figura 26: Posición de los servomotores. Fuente: Montero (2012).

Cada circuito impreso se elaboro individualmente, tomando en cuenta de

que solo tendrá un cristal, una resistencia de reset pull up y compartirán el mismo

código de entradas por el puerto A.

Figura 27: PCB del PIC16f84A. Fuente: Montero (2012).

76

Figura 28: PCB del PIC16f84A con el cristal y el reset. Fuente: Montero (2012).

4.3. Validación del Sistema Propuesto. Los alcances desarrollados en la investigación se lograron, obteniendo los

siguientes resultados:

El diseño de las patas con sus articulaciones se realizó en su totalidad con

mano de obra artesanal. Buscando llevar el diseño de las articulaciones al más

bojo costo, cumpliendo dinámicamente con los aspectos obtenidos en la

investigación.

La construcción del esqueleto se realizo en aluminio reciclado cumpliendo

con el peso estimado por los cálculos realizados.

El diseño y construcción de las baquelitas se realizaron mediante el programa

AEGLE, obteniendo un circuito accesible y cómodo para la instalación de los

componentes necesarios.

La simulación en los programa de blender y proteus. El programa blender fue

de mucha ayuda gracia a que permitió observar la forma dinámica del

desplazamiento del robot quilópodo.

77

El programa proteus facilito el buen funcionamiento de la lógica de control del

robot quilópodo mediante la acción de dos PIC que permiten la sincronía de los

movimiento de las articulaciones en tiempo real.

La instalación de los servomotores constituyó el buen desempeño del robot

quilópodo.

Tabla 14: Validación del Prototipo Final Leyenda 1: Muy bueno, 2: Bueno, 3: Regular, 4: Malo

Nº de Prueba

Nombre / Objetivo 1 2 3 4

1 Como se desempeña el Programa de control. x 2 Los Pic responden adecuadamente a sus entradas. x 3 Las frecuencias de control son adecuadas para lo

deseado. x 4 El tiempo de movimiento de las patas son los

apropiados. x 5 Los movimientos de las patas no se interrumpen

entre sí misma. x 6 El robot puede mantener su propio peso. x 7 Como es el desplazamiento del robot por zonas

planas x 8 Como es el desplazamiento del robot por zonas de

arena x 9 Como es el desplazamiento del robot por zonzas de

grava x 10 Como es el desplazamiento del robot por zonas de

bolones x Fuente: Montero (2012)